/* You can poke around this CSS if you want to customize your formatting / styling further */
/* You can even import custom fonts! */

/* Computer Modern font via local fallback — third-party font removed */
/* @import url('https://www.resume.lol/fonts/cm/fonts.css'); */

/* Page settings for print */
@page {
    size: A4;
    margin: 0.2in 0.1in;
}

/* TPM resume font & sizing (scoped to .resume-page) */
.resume-page {
    font-family: "Computer Modern Serif", serif;
    font-size: 9.5pt;
    font-weight: 500;
}

/* Page break visualization for screen */
@media screen {
    #resume-content {
        background: var(--surface-app, #e0e0e0);
        padding: 20px;
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: center;
    }

    .resume-page {
        width: 8.27in;
        min-height: 11.69in;
        padding: 0.4in 0.3in;
        margin: 0;
        background: white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        box-sizing: border-box;
        position: relative;
        flex-shrink: 0;
    }

    .page-number {
        position: absolute;
        bottom: 0.3in;
        right: 0.5in;
        font-size: 9pt;
        color: #666;
    }
}

.resume-page p {
    text-align: justify;
}

.resume-page .spacer {
    margin: 0px auto;
}

/* styling content (scoped) */
.resume-page h1,
.resume-page h2,
.resume-page h3,
.resume-page h4,
.resume-page p,
.resume-page a,
.resume-page li {
    color: black;
}

.resume-page h2 {
    padding: 0;
    margin-bottom: 3pt;
    margin-top: 4pt;
    font-size: 12pt;
}

.resume-page h3,
.resume-page h4 {
    margin: 0;
    margin-left: 0.15in;
    font-size: 10pt;
}

.resume-page h1 {
    color: black;
    text-align: center;
    font-size: 20pt;
    margin: 0;
    padding: 0;
    margin-top: -0.1in;
}

/* Center-align contact info (first paragraph after h1) */
.resume-page h1 + p {
    text-align: center !important;
}

/* Print styles */
@media print {
    body {
        max-width: 100%;
        font-family: "Computer Modern Serif", serif;
        font-size: 9.5pt;
    }

    #resume-content {
        background: white !important;
    }

    .resume-page {
        width: 100%;
        min-height: auto;
        max-height: none;
        padding: 0;
        box-shadow: none;
    }

    .page-number {
        display: none;
    }

    h1 {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

.resume-page h2 {
    border-bottom: 1px solid #000000;
    text-transform: uppercase;
    font-size: 11pt;
    font-weight: normal;
}

.resume-page h2::first-letter {
    font-size: 12pt;
}

.resume-page h3 {
    display: flex;
    font-size: 10pt;
    padding: 0;
    justify-content: space-between;

}

.resume-page .indent {
    margin-left: 0.15in;
}

.resume-page .tech-stack {
    font-style: normal;
    font-weight: normal;
}

.resume-page h4 {
    display: flex;
    font-size: 9pt;
    font-weight: normal;
    font-style: italic;
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    justify-content: space-between;
    page-break-after: avoid;
}

.resume-page p {
    margin: 0;
    padding: 0;
    font-size: 9.5pt;
}

.resume-page a {
    color: black;
    text-underline-offset: 4px;
}

.resume-page ul {
    margin: 0;
    margin-left: 0.15in;
    padding-left: 14px;
    padding-right: 15px;
    font-size: 9.5pt;
    page-break-before: avoid;
}

.resume-page ul>li {
    margin: 0;
    margin-bottom: 2pt;
}


/* header info content */
.resume-page .headerInfo>ul {
    display: flex;
    text-align: center;
    justify-content: center;
    margin: 0px auto 0pt !important;
    margin-top: -1pt;
    padding: 0;
    font-size: 9pt;
}

.resume-page .headerInfo>ul>li {
    display: inline;
    white-space: pre;
    list-style-type: none;
}

.resume-page .headerInfo>ul>li:not(:last-child) {
    margin-right: 8px;
}

.resume-page .headerInfo>ul>li:not(:last-child):after {
    content: "|";
    margin-left: 8px;
}