@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Crimson+Pro:wght@400;500;600&display=swap');
@import url("./teaching.css");
@import url("research.css");
@import url("./headerCompact.css");
@import url("./homepage.css");
h1, h2, h3 {
    font-family: 'Inter', sans-serif;
}

body {
    font-family: 'Crimson Pro', serif;
}

/*****************************************************************/
/* --- Projects section and sub-section: just the title look --- */
h2 {
    font-size: 1.4rem;
    margin-top: 3rem;
    margin-bottom: 1rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}
h2.section-title {
    font-size: 1.7rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.6rem;
}

/*h2.subsection-title {*/
/*    font-size: 1rem;*/
/*    font-weight: 600;*/
/*    margin-top: 1rem;*/
/*    margin-bottom: 0rem;*/
/*    !*border-bottom: 1px solid #e5e7eb;*!*/
/*    padding-bottom: 0.4rem;*/
/*    color: #025196;*/
/*}*/

h2.section-title + p {
    margin-top: 0.3rem;   /* or 0 if you want them very close */
    margin-bottom: 0.3rem;
}

h3.subsection-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 0rem;
    /*border-bottom: 1px solid #e5e7eb;*/
    padding-bottom: 0.4rem;
    color: #025196;
}
p, li {
    font-size: 1.3rem;
    line-height: 1.65;
    color: #222;
}
/*p, li { font-size: 1.3rem; line-height: 1.65; }*/
body {
    font-size: 20px;
    line-height: 1.65;
}
/*****************************************************************/
/* Lists */
ul {
    margin-top: 0.4rem;
    margin-bottom: 0.8rem;
}

ul li {
    margin-bottom: 0.2rem; /* decrease spacing between lines */
    line-height: 1.3;      /* slightly tighter line height */
}

ul { padding-left: 1.2em; }
/*ul li { margin-bottom: 0.4rem; }*/
ul li::marker { color: #00509e; }
/*****************************************************************/

.container-md {
    max-width: 1300px;  /* default is often 720–800 */
}
/* Make the blue footer stick to the bottom of short pages */
html, body {
    height: 100%;               /* allows flex container to fill viewport */
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;          /* ensures body is at least full screen */
}

/* Main content area should grow to push footer down */
body > .container-md,
body > .container-fluid,
body > .page-content,
body > main {
    flex: 1 0 auto;
}

/* Footer stays at bottom naturally */
footer {
    flex-shrink: 0;
}
.container-md {
    max-width: 1400px;
}

/* Make the top blue navbar thinner */
.navbar,
.navbar-default,
.navbar-fixed-top {
    padding-top: 0.3rem !important;   /* decrease from default ~1rem */
    padding-bottom: 0.3rem !important;
    min-height: 48px !important;      /* ensure clickable area remains usable */
}

/* Optional: adjust link spacing inside the navbar */
.navbar-nav > li > a {
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
    font-size: 0.95rem;               /* slightly smaller font for compact look */
}

/* Remove unwanted white gap below navbar */
.navbar,
.navbar-default,
.navbar-fixed-top {
    margin-bottom: 0 !important;    /* gets rid of white bar below */
    border-bottom: none !important; /* prevents any thin border */
    box-shadow: none !important;    /* removes subtle theme shadows if any */
}

/* Ensure hero image sits flush with the navbar */
/*.intro-header,*/
/*.page-header {*/
/*    margin-top: 0 !important;*/
/*    padding-top: 0 !important;*/
/*}*/
/* Keep navbar flush with content (no white line) */
.navbar-custom { margin-bottom: 0 !important; border-bottom: none !important; }

/* ✅ Home/hero pages only: remove the top gap */
/*.header-section.has-img .intro-header.big-img {*/
/*    margin-top: 3.5rem !important;*/
/*    padding-top: 4rem !important;*/
/*}*/

/* ✅ All other pages: restore the usual spacing below the navbar */
.header-section .intro-header:not(.big-img),
.header-section .no-img,
.page-header:not(.big-img) {
    margin-top: 6rem !important;   /* or 5rem if you prefer the larger default */
    /* padding-top can stay as-is */
}


/* Remove white gap only where there’s a big hero */
.navbar-custom { margin-bottom: 0; border-bottom: none; }
.header-section.has-img .intro-header.big-img { margin-top: 0; }   /* no !important */

/* Non-hero pages keep normal offset below navbar */
.header-section .intro-header:not(.big-img),
.header-section .no-img { margin-top: 3.1875rem; }


/*.cv-download {*/
/*    display: inline-block;*/
/*    padding: 0.6rem 1.2rem;*/
/*    border: 2px solid #025196;*/
/*    color: #025196;*/
/*    text-decoration: none;*/
/*    border-radius: 4px;*/
/*    font-weight: 600;*/
/*    font-size: 1rem;*/
/*    transition: all 0.3s ease;*/
/*    margin: 1rem 0;*/
/*}*/

/*.cv-download:hover {*/
/*    background-color: #025196;*/
/*    color: white !important;*/
/*    text-decoration: none;*/
/*}*/

.cv-download {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    border: 2px solid #025196;
    color: #025196;
    text-decoration: none;
    border-radius: 4px;
    font-weight: 600;
    font-size: 1.3rem;  /* increased from 1rem */
    transition: all 0.3s ease;
    margin: 1rem 0;
}

.cv-download:hover {
    background-color: #025196;
    color: white !important;
    text-decoration: none;
}


html {
    font-size: clamp(0.55rem, 1vw + 0.6rem, 1.05rem);
}