/* ==========================================================================
   mobile.css — phone layout (≤ 767px) for dextertheisen site
   Loaded after each page's own stylesheet. Every rule lives inside a
   max-width media query, so laptop / desktop rendering is untouched.
   ========================================================================== */

@media (max-width: 767px) {

  /* ---------- base ------------------------------------------------------ */
  /* clip, never scroll: `overflow-x: hidden` on body would turn body into
     the scroll container and break window.scrollY / fixed-header math */
  html {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    background-color: #000; /* canvas (overscroll / below footer) stays black */
  }

  body {
    overflow-x: clip;
    max-width: 100%;
    height: auto;
    min-height: 100%;
    background-color: #fff; /* content area of the project pages */
  }

  /* pages whose content area is black */
  body._home_container,
  body._memories_container {
    background-color: #000;
  }

  img {
    max-width: 100%;
  }

  /* ---------- fixed header --------------------------------------------- */
  .home-e-46, .research-e-33, .about-e-23, .math-e-51, .coding-e-33,
  .soccer-e-37, .music-e-33, .humanities-e-32, .community-e-31, .memories-e-46 {
    padding: 0;
    height: 60px;
    min-height: 60px;
    bottom: auto;
    width: 100%;
    justify-content: center;
    align-items: stretch;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
  }

  .home-e-47, .research-e-34, .about-e-24, .math-e-52, .coding-e-34,
  .soccer-e-38, .music-e-34, .humanities-e-33, .community-e-32, .memories-e-47 {
    height: 60px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 10px 0 20px;
    justify-content: space-between;
    align-items: center;
  }

  /* wordmark on the left of the bar (desktop has none; the page title
     carries the name there) */
  .home-e-47::before, .research-e-34::before, .about-e-24::before,
  .math-e-52::before, .coding-e-34::before, .soccer-e-38::before,
  .music-e-34::before, .humanities-e-33::before, .community-e-32::before,
  .memories-e-47::before {
    content: "DEXTER THEISEN";
    font-family: "Kumbh Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
  }

  /* hamburger button (the exported icon was a remote image that no longer
     resolves, so draw it inline) */
  .site-nav + div {
    display: block;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    border-radius: 6px;
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M3 6.5h18M3 12h18M3 17.5h18'/%3E%3C/svg%3E");
    background-size: 24px 24px;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
  }

  /* ---------- full-screen menu (shown when the hamburger sets
     display:flex inline) --------------------------------------------- */
  div.site-nav {
    display: none; /* the hamburger script toggles an inline display:flex */
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 88px 24px 40px;
    background-color: #000;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    row-gap: 2px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1600;
  }

  div.site-nav::before {
    content: "DEXTER THEISEN";
    position: absolute;
    top: 23px;
    left: 20px;
    font-family: "Kumbh Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #fff;
  }

  /* the exported "logo" block doubles as the close control */
  div.site-nav > div {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  div.site-nav > div::before {
    content: "\2715";
    font-family: "Kumbh Sans", sans-serif;
    font-size: 22px;
    line-height: 1;
    color: #fff;
  }

  div.site-nav > div > span,
  div.site-nav > div img {
    display: none;
  }

  div.site-nav > span {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 11px 10px;
    font-family: "Kumbh Sans", sans-serif;
    font-size: 21px;
    font-weight: 300;
    line-height: 28px;
    color: #fff;
  }

  div.site-nav > span:hover {
    background-color: transparent;
  }

  div.site-nav > span > a.link {
    width: auto;
    height: auto;
  }

  div.site-nav > span > a.link::after {
    bottom: -3px;
  }

  /* ---------- hero ----------------------------------------------------- */
  .home-e-3, .research-e-26, .about-e-1, .math-e-18, .coding-e-26,
  .soccer-e-26, .music-e-26, .humanities-e-24, .community-e-2, .memories-e-3 {
    padding: 112px 20px 56px;
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }

  .home-e-1, .research-e-27, .about-e-2, .math-e-19, .coding-e-27,
  .soccer-e-27, .music-e-27, .humanities-e-25, .community-e-3, .memories-e-1 {
    width: auto;
    max-width: 100%;
    padding: 0 0 14px;
    font-size: clamp(30px, 9.6vw, 44px);
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-align: center;
  }

  /* the exported hero title starts with an empty <p><br></p> spacer */
  .home-e-1 > p:first-child:not(:only-child),
  .research-e-27 > p:first-child:not(:only-child),
  .about-e-2 > p:first-child:not(:only-child),
  .math-e-19 > p:first-child:not(:only-child),
  .coding-e-27 > p:first-child:not(:only-child),
  .soccer-e-27 > p:first-child:not(:only-child),
  .music-e-27 > p:first-child:not(:only-child),
  .humanities-e-25 > p:first-child:not(:only-child),
  .community-e-3 > p:first-child:not(:only-child),
  .memories-e-1 > p:first-child:not(:only-child) {
    display: none;
  }

  .home-e-2, .research-e-28, .about-e-3, .math-e-20, .coding-e-28,
  .soccer-e-28, .music-e-28, .humanities-e-26, .community-e-4, .memories-e-2 {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 18px 0 0;
    font-size: 17px;
    line-height: 26px;
    text-align: center;
  }

  /* about page has an empty hero subtitle */
  .about-e-3 {
    display: none;
  }

  /* ---------- content section (sub pages) ------------------------------ */
  .research-e-1, .about-e-4, .math-e-1, .coding-e-1, .soccer-e-1,
  .music-e-1, .humanities-e-1, .community-e-1 {
    padding: 40px 0 4px;
  }

  /* each project row: image on top, text below */
  .research-e-10, .research-e-18, .research-e-9,
  .math-e-10, .math-e-32, .math-e-2, .math-e-41, .math-e-21,
  .coding-e-10, .coding-e-18, .coding-e-9,
  .soccer-e-10, .soccer-e-18, .soccer-e-9, .soccer-e-29,
  .music-e-10, .music-e-9, .music-e-18,
  .humanities-e-17, .humanities-e-10, .humanities-e-9,
  .community-e-14, .community-e-5, .community-e-22,
  .about-e-5 {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0 0 48px;
    padding: 0 20px;
    column-gap: 0;
    row-gap: 18px;
  }

  .math-e-41 > a {
    flex-direction: column;
    column-gap: 0;
    row-gap: 18px;
  }

  /* image column */
  .research-e-11, .research-e-19, .research-e-3,
  .math-e-11, .math-e-33, .math-e-3, .math-e-42, .math-e-22,
  .coding-e-11, .coding-e-19, .coding-e-3,
  .soccer-e-11, .soccer-e-19, .soccer-e-3, .soccer-e-30,
  .music-e-11, .music-e-3, .music-e-19,
  .humanities-e-18, .humanities-e-11, .humanities-e-3,
  .community-e-15, .community-e-6, .community-e-23,
  .about-e-6 {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  .box-shadow {
    padding-top: 0;
    padding-bottom: 0;
  }

  .research-e-12, .research-e-20, .research-e-2,
  .math-e-12, .math-e-34, .math-e-4, .math-e-43, .math-e-23,
  .coding-e-12, .coding-e-20, .coding-e-2,
  .soccer-e-12, .soccer-e-20, .soccer-e-2, .soccer-e-31,
  .music-e-12, .music-e-2, .music-e-20,
  .humanities-e-19, .humanities-e-12, .humanities-e-2,
  .community-e-16, .community-e-7, .community-e-24 {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 230px;
    margin: 0;
  }

  .research-e-12 a, .research-e-20 a, .research-e-2 a,
  .math-e-12 a, .math-e-34 a, .math-e-4 a, .math-e-43 a, .math-e-23 a,
  .coding-e-12 a, .coding-e-20 a, .coding-e-2 a,
  .soccer-e-12 a, .soccer-e-20 a, .soccer-e-2 a, .soccer-e-31 a,
  .music-e-12 a, .music-e-2 a, .music-e-20 a,
  .humanities-e-19 a, .humanities-e-12 a, .humanities-e-2 a,
  .community-e-16 a, .community-e-7 a, .community-e-24 a {
    display: block;
    width: 100%;
    height: 100%;
  }

  .soccer-e-12,
  .music-e-12 {
    object-fit: cover;
  }

  /* about: headshot */
  .about-e-7 {
    display: block;
    width: 100%;
    max-width: 320px;
    height: auto;
    margin: 0 auto;
    padding: 0;
  }

  .about-e-7 img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* text column */
  .research-e-13, .research-e-21, .research-e-8,
  .math-e-13, .math-e-35, .math-e-5, .math-e-44, .math-e-24,
  .coding-e-13, .coding-e-21, .coding-e-8,
  .soccer-e-13, .soccer-e-21, .soccer-e-8, .soccer-e-32,
  .music-e-13, .music-e-8, .music-e-21,
  .humanities-e-20, .humanities-e-13, .humanities-e-8,
  .community-e-17, .community-e-8, .community-e-25,
  .about-e-8 {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    gap: 0;
  }

  .research-e-14, .research-e-22, .research-e-7,
  .math-e-14, .math-e-36, .math-e-6, .math-e-45, .math-e-25,
  .coding-e-14, .coding-e-22, .coding-e-7,
  .soccer-e-14, .soccer-e-22, .soccer-e-7, .soccer-e-33,
  .music-e-14, .music-e-7, .music-e-22,
  .humanities-e-21, .humanities-e-14, .humanities-e-7,
  .community-e-18, .community-e-9, .community-e-26 {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .about-e-8 {
    row-gap: 28px;
  }

  .about-e-9, .about-e-19, .about-e-12, .about-e-15 {
    width: 100%;
    row-gap: 10px;
  }

  /* headings */
  .research-e-15, .research-e-23, .research-e-4,
  .math-e-15, .math-e-37, .math-e-7, .math-e-46, .math-e-26,
  .coding-e-15, .coding-e-23, .coding-e-4,
  .soccer-e-15, .soccer-e-23, .soccer-e-4, .soccer-e-34,
  .music-e-15, .music-e-4, .music-e-23,
  .humanities-e-22, .humanities-e-15, .humanities-e-4,
  .community-e-19, .community-e-10, .community-e-27,
  .about-e-10, .about-e-20, .about-e-13, .about-e-16 {
    width: 100%;
    max-width: 100%;
    margin: 0;
    font-size: 22px;
    line-height: 29px;
    text-align: left;
  }

  .research-e-15 h3, .research-e-23 h3, .research-e-4 p,
  .math-e-15 h3, .math-e-37 p, .math-e-7 h3, .math-e-46 p, .math-e-26 p,
  .coding-e-15 h3, .coding-e-23 h3, .coding-e-4 p,
  .soccer-e-15 h3, .soccer-e-23 h3, .soccer-e-4 p, .soccer-e-34 p,
  .music-e-15 h3, .music-e-4 p, .music-e-23 h3,
  .humanities-e-22 h3, .humanities-e-15 h3, .humanities-e-4 p,
  .community-e-19 p, .community-e-10 p, .community-e-27 p,
  .about-e-10 h3, .about-e-20 h3, .about-e-13 h3, .about-e-16 h3 {
    font-size: 22px;
    line-height: 29px;
    text-align: left;
  }

  /* body copy */
  .research-e-13 .cd-paragraph-clean, .research-e-21 .cd-paragraph-clean, .research-e-8 .cd-paragraph-clean,
  .math-e-13 .cd-paragraph-clean, .math-e-35 .cd-paragraph-clean, .math-e-5 .cd-paragraph-clean,
  .math-e-44 .cd-paragraph-clean, .math-e-24 .cd-paragraph-clean,
  .coding-e-13 .cd-paragraph-clean, .coding-e-21 .cd-paragraph-clean, .coding-e-8 .cd-paragraph-clean,
  .coding-e-21 .zcd-paragraph-clean,
  .soccer-e-13 .cd-paragraph-clean, .soccer-e-21 .cd-paragraph-clean, .soccer-e-8 .cd-paragraph-clean,
  .soccer-e-32 .cd-paragraph-clean,
  .music-e-13 .cd-paragraph-clean, .music-e-8 .cd-paragraph-clean, .music-e-21 .cd-paragraph-clean,
  .humanities-e-20 .cd-paragraph-clean, .humanities-e-13 .cd-paragraph-clean, .humanities-e-8 .cd-paragraph-clean,
  .community-e-17 .cd-paragraph-clean, .community-e-8 .cd-paragraph-clean, .community-e-25 .cd-paragraph-clean,
  .about-e-11, .about-e-21, .about-e-14, .about-e-17 {
    width: 100%;
    max-width: 100%;
    margin: 12px 0 0;
    font-size: 15px;
    line-height: 24px;
    text-align: left;
  }

  .research-e-13 .cd-paragraph-clean p, .research-e-21 .cd-paragraph-clean p, .research-e-8 .cd-paragraph-clean p,
  .math-e-13 .cd-paragraph-clean p, .math-e-35 .cd-paragraph-clean p, .math-e-5 .cd-paragraph-clean p,
  .math-e-44 .cd-paragraph-clean p, .math-e-24 .cd-paragraph-clean p,
  .coding-e-13 .cd-paragraph-clean p, .coding-e-21 .cd-paragraph-clean p, .coding-e-8 .cd-paragraph-clean p,
  .coding-e-21 .zcd-paragraph-clean p,
  .soccer-e-13 .cd-paragraph-clean p, .soccer-e-21 .cd-paragraph-clean p, .soccer-e-8 .cd-paragraph-clean p,
  .soccer-e-32 .cd-paragraph-clean p,
  .music-e-13 .cd-paragraph-clean p, .music-e-8 .cd-paragraph-clean p, .music-e-21 .cd-paragraph-clean p,
  .humanities-e-20 .cd-paragraph-clean p, .humanities-e-13 .cd-paragraph-clean p, .humanities-e-8 .cd-paragraph-clean p,
  .community-e-17 .cd-paragraph-clean p, .community-e-8 .cd-paragraph-clean p, .community-e-25 .cd-paragraph-clean p,
  .about-e-11 p, .about-e-21 p, .about-e-14 p, .about-e-17 p {
    font-size: 15px;
    line-height: 24px;
    text-align: left;
  }

  .about-e-11, .about-e-21, .about-e-14, .about-e-17 {
    margin-top: 0;
  }

  /* "Read the paper ➔" links */
  .research-e-17, .research-e-25, .research-e-6,
  .math-e-39, .math-e-9, .math-e-48, .math-e-28,
  .coding-e-17, .coding-e-25, .coding-e-6,
  .soccer-e-17, .soccer-e-25, .soccer-e-6,
  .music-e-17, .music-e-6, .music-e-25,
  .humanities-e-30, .humanities-e-6,
  .community-e-12 {
    width: 100%;
    max-width: 100%;
    margin: 14px 0 0;
    padding: 0;
    font-size: 15px;
    line-height: 24px;
    text-align: left;
  }

  .research-e-17 p, .research-e-25 p, .research-e-6 p,
  .math-e-39 p, .math-e-9 p, .math-e-48 p, .math-e-28 p,
  .coding-e-17 p, .coding-e-25 p, .coding-e-6 p,
  .soccer-e-17 p, .soccer-e-25 p, .soccer-e-6 p,
  .music-e-17 p, .music-e-6 p, .music-e-25 p,
  .humanities-e-30 p, .humanities-e-6 p,
  .community-e-12 p {
    font-size: 15px;
    line-height: 24px;
    text-align: left;
  }

  .research-e-17 a + a,
  .music-e-6 a + a {
    margin-top: 6px;
  }

  /* music: link + inline audio player */
  .music-e-6,
  .music-e-25 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .music-e-6 audio,
  .music-e-25 audio,
  audio {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 40px;
  }

  .music-e-20 {
    width: 100%;
  }

  /* ---------- home page tiles ------------------------------------------ */
  .home-e-10,
  .home-e-9 {
    padding: 0;
    width: 100%;
    max-width: 100%;
  }

  .home-e-8, .home-e-24, .home-e-11 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 20px;
    column-gap: 0;
    row-gap: 36px;
  }

  .home-e-8 {
    padding-top: 36px;
  }

  .home-e-11 {
    padding-bottom: 44px;
  }

  .home-e-7, .home-e-12, .home-e-20, .home-e-25, .home-e-29, .home-e-33,
  .home-e-16, .home-e-37, .home-e-41 {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    align-items: center;
  }

  .home-e-7::after, .home-e-12::after, .home-e-20::after, .home-e-25::after,
  .home-e-29::after, .home-e-33::after, .home-e-16::after, .home-e-37::after,
  .home-e-41::after {
    display: none;
  }

  .home-e-7 > a, .home-e-12 > a, .home-e-20 > a,
  .home-e-25 > a, .home-e-29 > a, .home-e-33 > a,
  .home-e-16 > a, .home-e-37 > a, .home-e-41 > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .home-e-7 > a > img, .home-e-12 > a > img, .home-e-20 > a > img,
  .home-e-26, .home-e-30, .home-e-34, .home-e-17, .home-e-38, .home-e-42 {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 220px;
    margin: 0;
  }

  .home-e-5, .home-e-14, .home-e-22, .home-e-27, .home-e-31, .home-e-35,
  .home-e-18, .home-e-39, .home-e-43 {
    width: 100%;
    padding: 18px 0 8px;
    font-size: 22px;
    line-height: 30px;
    text-align: center;
  }

  .home-e-6, .home-e-15, .home-e-23, .home-e-28, .home-e-32, .home-e-36,
  .home-e-19, .home-e-40, .home-e-44 {
    width: 100%;
    max-width: 100%;
    padding: 0;
    font-size: 15px;
    line-height: 23px;
    text-align: center;
  }

  /* ---------- memories page tiles -------------------------------------- */
  .memories-e-10,
  .memories-e-9 {
    padding: 0;
    width: 100%;
    max-width: 100%;
  }

  .memories-e-8, .memories-e-24, .memories-e-11 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 20px;
    column-gap: 0;
    row-gap: 36px;
  }

  .memories-e-8 {
    padding-top: 36px;
  }

  .memories-e-11 {
    padding-bottom: 44px;
  }

  .memories-e-7, .memories-e-12, .memories-e-20, .memories-e-25, .memories-e-29,
  .memories-e-33, .memories-e-16, .memories-e-37, .memories-e-41 {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    align-items: center;
  }

  .memories-e-7::after, .memories-e-12::after, .memories-e-20::after,
  .memories-e-25::after, .memories-e-29::after, .memories-e-33::after,
  .memories-e-16::after, .memories-e-37::after, .memories-e-41::after {
    display: none;
  }

  .memories-e-7 > a, .memories-e-12 > a, .memories-e-20 > a, .memories-e-25 > a,
  .memories-e-29 > a, .memories-e-33 > a, .memories-e-16 > a, .memories-e-37 > a,
  .memories-e-41 > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .memories-e-4, .memories-e-13, .memories-e-21, .memories-e-26, .memories-e-30,
  .memories-e-34, .memories-e-17, .memories-e-38, .memories-e-42 {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 220px;
    margin: 0;
  }

  .memories-e-5, .memories-e-14, .memories-e-22, .memories-e-27, .memories-e-31,
  .memories-e-35, .memories-e-18, .memories-e-39, .memories-e-43 {
    width: 100%;
    padding: 18px 0 8px;
    font-size: 22px;
    line-height: 30px;
    text-align: center;
  }

  .memories-e-6, .memories-e-15, .memories-e-23, .memories-e-28, .memories-e-32,
  .memories-e-36, .memories-e-19, .memories-e-40, .memories-e-44 {
    width: 100%;
    max-width: 100%;
    padding: 0;
    font-size: 15px;
    line-height: 23px;
    text-align: center;
  }

  /* ---------- footer --------------------------------------------------- */
  .home-e-62, .research-e-49, .about-e-39, .math-e-67, .coding-e-49,
  .soccer-e-53, .music-e-49, .humanities-e-48, .community-e-47, .memories-e-62 {
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 28px 20px 32px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 14px;
  }

  .home-e-63, .research-e-50, .about-e-40, .math-e-68, .coding-e-50,
  .soccer-e-54, .music-e-50, .humanities-e-49, .community-e-48, .memories-e-63 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
  }

  .home-e-64, .research-e-51, .about-e-41, .math-e-69, .coding-e-51,
  .soccer-e-55, .music-e-51, .humanities-e-50, .community-e-49, .memories-e-64 {
    width: auto;
    margin: 0;
    justify-content: center;
    column-gap: 28px;
  }

  .font.link-hover-colour {
    width: auto;
    column-gap: 0;
    font-size: 15px;
  }

  /* ---------- 404 ------------------------------------------------------ */
  .page-404-e-1 {
    min-height: 70vh;
    padding: 48px 20px;
    justify-content: center;
  }

  .page-404-e-3 {
    font-size: 32px;
    line-height: 40px;
    max-width: 100%;
  }
}
