@font-face {
    font-family: 'Source Serif 4';
    src: url('fonts/source-serif-4-latin.woff2') format('woff2');
    font-weight: 600 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('fonts/source-sans-3-latin.woff2') format('woff2');
    font-weight: 400 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Sans 3';
    src: url('fonts/source-sans-3-italic-latin.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

*,
:after,
:before {
    box-sizing: border-box
}

:root {
    --primary-black: #181512;
    --brand-blue: #9b4d24;
    --accent-orange: #9b4d24;
    --secondary-gray: #625a52;
    --surface: #ffffff;
    --surface-soft: #efe9df;
    --rule: #d6d1c9;
}

html {
    line-sizing: normal
}

[hidden] {
    display: none
}

h1 {
    font-size: 2rem
}

h2 {
    font-size: 1.5rem
}

h3 {
    font-size: 1.17rem
}

h4 {
    font-size: 1rem
}

h5 {
    font-size: .83rem
}

h6 {
    font-size: .67rem
}

h1 {
    margin: .67em 0
}

pre {
    white-space: pre-wrap
}

hr {
    border-style: solid;
    border-width: 1px 0 0;
    color: inherit;
    height: 0;
    overflow: visible
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
    display: block;
    max-width: 100%;
    vertical-align: middle
}

audio:not([controls]) {
    display: none
}

picture {
    display: contents
}

source {
    display: none
}

canvas,
img,
svg,
video {
    height: auto
}

audio {
    width: 100%
}

img {
    border-style: none
}

svg {
    overflow: hidden
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
    display: block
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

.skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    padding: 0.5rem 1rem;
    background: var(--accent-orange);
    color: #fff;
    font-weight: 600;
    z-index: 100
}

.skip-link:focus {
    top: 0
}

body {
    font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    color: var(--primary-black);
    background: var(--surface);
    padding: 0
}

a,
a:visited {
    color: var(--brand-blue);
}

a:focus-visible,
button:focus-visible {
    outline: 2px solid var(--accent-orange);
    outline-offset: 2px
}

h1 {
    margin-bottom: 0;
    padding-bottom: 0;
    font-family: 'Source Serif 4', Georgia, serif;
    font-weight: 700;
    font-size: 2.3rem;
    line-height: 1.05
}

h2 {
    margin-bottom: 0;
    margin-top: 0;
    color: var(--brand-blue);
    font-family: 'Source Serif 4', Georgia, serif;
    font-weight: 600;
    font-size: 1.55rem;
    line-height: 1.2
}

h3 {
    font-size: 1.16rem;
    font-weight: 700;
    margin: .75rem 0 0
}

h4 {
    font-size: 1.05rem;
    font-style: italic;
    font-weight: 400;
    margin: 0
}

ul {
    margin-top: 0;
    padding-left: 1rem
}

li {
    padding-top: 4px
}

li::marker {
    color: var(--brand-blue)
}

li:first-of-type {
    padding-top: 0
}

p {
    margin: 0 0 .5rem 0
}

.content {
    max-width: 720px;
    margin: 0 auto;
    padding: 1.25rem 1rem 3rem
}

.date {
    display: inline
}

.date,
.nowrap {
    white-space: nowrap
}

#download-pdf-btn {
    margin-bottom: 1rem;
    padding: 0.55rem 0.95rem;
    font-size: 0.9rem;
    background-color: var(--accent-orange);
    color: #fff;
    border: 1px solid var(--accent-orange);
    border-radius: 4px;
    cursor: pointer;
    font-weight: 700
}

.dl-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-start
}

/* normalize the <button> and the <a> so they share font + height */
#download-pdf-btn,
#download-md-btn {
    font-family: inherit;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box
}

#download-md-btn {
    margin-bottom: 1rem;
    padding: 0.55rem 0.95rem;
    font-size: 0.9rem;
    background-color: #fff;
    color: var(--accent-orange);
    border: 1px solid var(--accent-orange);
    border-radius: 4px;
    cursor: pointer;
    font-weight: 700;
    text-decoration: none
}

#download-md-btn:hover,
#download-md-btn:focus { background-color: var(--surface-soft) }

.page-break-before {
    page-break-before: always;
    break-before: page
}

.content a {
    text-decoration: none
}

.content a:hover,
.content a:focus {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.12em
}

.contact-info {
    margin-right: 0;
    color: var(--secondary-gray)
}

.summary {
    font-size: 0.95rem;
    color: var(--secondary-gray);
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    line-height: 1.5
}

.sticky-mobile-header {
    display: none
}

header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding-bottom: 1rem
}

section.skills,
section.work,
section.projects,
section.education {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--rule)
}

.skill-groups {
    display: block
}

.skill-group {
    margin-bottom: 0.85rem
}

.skill-group h3 {
    font-family: 'Source Sans 3', Arial, sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--secondary-gray);
    margin: 0
}

.skill-group ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.skill-group li {
    display: inline;
    padding: 0
}

.skill-group li+li::before {
    content: " \00b7  ";
    color: var(--brand-blue)
}

.skill-group a {
    color: inherit
}

.skill-group a:hover,
.skill-group a:focus {
    color: var(--brand-blue)
}

.contact-icon {
    display: inline-block;
    min-width: 1.1rem;
    color: var(--secondary-gray);
    font-size: 0.92em
}

.work p,
.education p {
    color: var(--secondary-gray)
}

@page {
    size: letter;
    margin: 0.28in 0.5in;
}

@media print {
    html {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact
    }

    body {
        font-size: 14px;
        line-height: 1.2
    }

    header {
        padding-bottom: 0.3rem
    }

    section.skills,
    section.work,
    section.projects,
    section.education {
        margin-top: 0.3rem;
        padding-top: 0.12rem
    }

    a {
        text-decoration: none !important
    }

    .skill-group {
        break-inside: avoid;
        margin-bottom: 0.2rem
    }

    .skill-group h3 {
        font-size: 0.66rem
    }

    h1,
    h2 {
        margin-top: 0
    }

    h1 {
        font-size: 2rem
    }

    h2 {
        margin-bottom: 0;
        font-size: 1.18rem
    }

    h3 {
        margin: 0;
        font-size: 1rem
    }

    ul {
        margin-bottom: .08rem
    }

    li {
        padding-top: 0
    }

    .content {
        max-width: none;
        padding: 0
    }

    .summary,
    p,
    li {
        font-size: 0.84rem;
        line-height: 1.17
    }

    .work li,
    .projects li {
        padding-top: 1px;
        break-inside: avoid
    }

    code {
        font-size: .9em
    }

    .contact-info {
        font-size: 0.9rem
    }

    #download-pdf-btn,
    #download-md-btn,
    .sticky-mobile-header {
        display: none !important
    }

    .work h3,
    .work h3 + p {
        break-inside: avoid;
        break-after: avoid
    }

    .work h3:first-of-type + p + ul {
        break-inside: avoid
    }

    div.print_spacer {
        height: 7rem;
    }
}

@media screen and (max-width:640px) {
    body {
        padding-top: 3.6rem
    }

    .sticky-mobile-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 50;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0.75rem;
        padding: 0.75rem 1rem;
        background: rgba(255, 255, 255, 0.96);
        border-bottom: 1px solid var(--rule)
    }

    .sticky-download-btn {
        padding: 0.6rem 0.9rem;
        background: var(--accent-orange);
        border: none;
        border-radius: 4px;
        color: #fff;
        font-size: 0.95rem;
        font-weight: 700
    }

    header {
        flex-direction: column;
        align-items: stretch
    }

    #download-pdf-btn {
        display: none
    }

    .content {
        padding-top: 1rem
    }

    li {
        padding-top: 2px
    }
}

:is([id*='google_ads_iframe'], [id*='taboola-'], .taboolaHeight, .taboola-placeholder, #credential_picker_container, #credentials-picker-container, #credential_picker_iframe, [id*='google-one-tap-iframe'], #google-one-tap-popup-container, .google-one-tap-modal-div, #amp_floatingAdDiv, #ez-content-blocker-container, #notify-adblock) {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
}
