/* =====================================================
   CV Stylesheet — Ellis Franklin
   Matches site theme: teal #38605d, purple #a148d1, Nunito
   ===================================================== */

/* --- Fonts --- */
@import url('https://fonts.googleapis.com/css2?family=Fira+Mono&family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

/* --- Colours ---*/

$theme-white: #ffffff;
$theme-teal: #38605d;
$theme-pink: #a148d1;
$theme-lighter-teal: lighten($theme-teal, 20%);
$theme-lighter-pink: lighten($theme-pink, 20%);



/* =====================================================
   SHARED (screen + print)
   ===================================================== */

.cvdate-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.cvdate {
  float: right !important;
  font-style: italic !important;
  color: $theme-teal !important;
  opacity: 0.75 !important;
}

.print-only {
  display: none;
}

.smallbreak {
  display: block;
  margin-top: 3em;
}

div.callout-note.callout {
  border-left: solid #95bfb0 .3rem;
  border-right: solid 1px #c2d5ce;
  border-top: solid 1px #c2d5ce;
  border-bottom: solid 1px #c2d5ce;
}

div.callout-note .callout-icon::before {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%235b9680' d='M512 32C512 140.1 435.4 230.3 333.6 251.4 325.7 193.3 299.6 141 261.1 100.5 301.2 40 369.9 0 448 0l32 0c17.7 0 32 14.3 32 32zM0 96C0 78.3 14.3 64 32 64l32 0c123.7 0 224 100.3 224 224l0 192c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-160C100.3 320 0 219.7 0 96z'/></svg>") !important;
}

div.callout-note.callout-style-default .callout-title {
  background-color: transparent !important;
}

/* =====================================================
   SCREEN STYLES
   ===================================================== */

/* Hide print-only contact block on screen */
@media screen {
  
  .quarto-container, #quarto-content .container-xl {
    max-width: 100% !important;
  }
  
  .quarto-alternate-formats > ul:nth-child(2) > li:nth-child(2) > a:nth-child(1) {
    display: none !important;
  }
  
  body {
    font-family: "Nunito", sans-serif;
  }

  
  /* Section headings — uppercase + teal underline accent */
  h2 {
    font-weight: 800;
    font-size: 1.4em;
    text-transform: uppercase;
    color: $theme-teal;
    border-bottom: 2px solid $theme-teal;
    padding-bottom: 0.2em;
    margin-top: 1.8em;
  }

  h3 {
    font-weight: 700;
    text-transform: uppercase;
    color: $theme-teal;
    font-size: 1em;
    letter-spacing: 0.03em;
    margin-top: 1.2em;
    display: flex;
    align-items: center;
    gap: 0.5em;
    &::after {
      content: "";
      flex: 1;
      max-width: 20%;
      height: 1px;
      background-color: #C7D2D1;
    }
  }
  
  h4 {
    font-weight: 600;
    color: $theme-teal;
    font-size: 1em;
  }

  /* Links match site accent */
  a {
    color: $theme-pink;
    text-decoration: none;
    font-weight: 500;
  }

  a:hover {
    color: $theme-teal;
    text-decoration: underline;
  }

  /* CV date badge-like styling */
  .cvdate {
    font-size: 0.85em;
    font-weight: 300;
  }

  /* Slightly tighter list spacing for dense CV content */
  ul li {
    margin-bottom: 0.2em;
    font-size: 0.95em;
  }

  p {
    font-size: 0.97em;
    line-height: 1.6;
  }

  /* Horizontal rule between major sections (optional) */
  hr {
    border: none;
    border-top: 1px solid #38605d33;
    margin: 2em 0;
  }

  /* Download PDF link block */
  .quarto-alternate-formats {
    margin-top: 1em;
    margin-bottom: 1.5em;
  }

  
}

/* =====================================================
   PRINT STYLES
   ===================================================== */

@media print {

  @page {
    size: a4 portrait;
    margin: 20mm 18mm 20mm 18mm;
    counter-increment: page;
    @bottom-center {
      content: counter(page);
      font-family: 'Lato', sans-serif;
      font-size: 9pt;
      color: #666;
    }
  }

  /* Show/hide toggling */
  .no-print {
    display: none;
  }

  .print-only {
    display: block;
  }

  /* Contact block (email shown only in print) */
  .contact-block {
    margin-top: 0;
    text-align: center;
    font-size: 10pt;
    color: $theme-teal;
  }

  /* Base typography */
  html {
    font-family: 'Lato', sans-serif;
    font-size: 10pt;
    color: #1a1a1a;
  }

  /* Header: hide Quarto's auto-generated H1 title,
     show author name prominently instead */
  header {
    margin-block-end: 1em;
  }

  header h1.title {
    display: none;
  }

  header .author {
    font-size: 20pt;
    font-weight: 900;
    color: #1a1a1a;
    text-align: center;
    margin-bottom: 0;
    text-transform: capitalize;
  }

  header .date {
    display: none;
  }

  /* Section headings */
  h2 {
    font-weight: 900;
    text-transform: uppercase;
    color: $theme-teal;
    border-bottom: 1.5pt solid $theme-teal;
    padding-bottom: 2pt;
    margin-top: 14pt;
    margin-bottom: 6pt;
    font-size: 11pt;
    letter-spacing: 0.05em;
  }

  h3 {
    font-weight: 700;
    text-transform: uppercase;
    color: #1a1a1a;
    font-size: 10pt;
    margin-top: 8pt;
    margin-bottom: 2pt;
  }

  /* Body text */
  p {
    font-size: 9.5pt;
    line-height: 1.4;
    margin-top: 2pt;
    margin-bottom: 4pt;
  }

  ul {
    margin-top: 2pt;
    margin-bottom: 4pt;
    padding-left: 1.4em;
  }

  ul li {
    font-size: 9pt;
    line-height: 1.35;
    margin-bottom: 1.5pt;
  }

  /* Links: colored but no underline for clean print */
  a {
    text-decoration: none;
    font-weight: 600;
    color: $theme-pink;
  }

  /* Suppress Quarto UI chrome in print */
  #quarto-margin-sidebar,
  #quarto-sidebar,
  .quarto-alternate-formats,
  nav,
  .navbar,
  .nav-footer {
    display: none !important;
  }

  /* Page break helper — use as inline style or class */
  .page-break {
    page-break-before: always;
  }
}