@font-face {
  font-family: 'sourcesanspro';
  src: url('/fonts/sourcesanspro.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'sourcesanspro';
  src: url('/fonts/sourcesanspro-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'sourcesanspro';
  src: url('/fonts/sourcesanspro-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'sourcesanspro';
  src: url('/fonts/sourcesanspro-bold-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}


* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  line-height: 1.55;
  font-family: "sourcesanspro", "Trebuchet MS", Arial;
  scroll-behavior: smooth;
  box-sizing: border-box;
}

h1,
h2,
h3 {
  text-wrap: balance;
  font-weight: normal;
}

a,
summary {
  cursor: pointer;
}

main {
flex-grow: 1;
}
/* COMPOSITION */
.c-screen-height {
  min-height: 100vh;
  min-height: 100svh;
}
.c-full-width {
  width: 100%;
}

.c-standard-width {
    padding: 0 min(10vw, 30px);
    max-width: 788px;
}

.c-margin-center {
  margin-inline: auto;
}

.c-max-content {
  padding: 0 5vw;
}

.c-flex {
  display: flex;
  &.wrap {
    flex-wrap: wrap;
  }
  &.column {
    flex-direction: column;
  }
  &.spaceb {
    justify-content: space-between;
  }
  &.just-center {
    justify-content: center;
  }
  &.center {
    align-items: center;
  }
  &.end {
    align-items: end;
  }
}


/* UTILITIES */

.round-image {
  border-radius: 50%;
  width: 100%;
  height: auto;
}

/* Text Sizes */
p, ul, ol , a, span, details, label, input, textarea {
    font-size: clamp(1rem, 1rem + 1vw, 1.5rem);

  color: var(--red);
}

.u-font-small {
  font-size: clamp(1.5rem, 1rem + 2vw, 1.8rem);
}

h2, h3, .u-font-big {
  font-size: clamp(1.8rem, 1rem + 4vw, 2.2rem);
  color: var(--red);
}

/* h1, .font-huge {
  font-size: clamp(2rem, 2rem + 4vw, 6.2rem);
} */

/* Colours & font size*/
:root {
  --bold: 700;
  --primary: oklch(0.9813 0.0223 104.07);
  --secondary: oklch(0.1339 0.0661 330.91);
  --red: oklch(0.6383 0.2911 24.85);
  --orange: oklch(0.7015 0.2127 49.3611);
  @media (prefers-color-scheme: dark) {
    --primary: oklch(0.1339 0.0661 330.91);
    --secondary: oklch(0.9813 0.0223 104.07);
    --red: oklch(0.6383 0.2911 24.85);
    --orange: oklch(0.7015 0.2127 49.3611);
  }
}
body.light-theme {
  --primary: oklch(0.9813 0.0223 104.07);
  --secondary: oklch(0.1339 0.0661 330.91);
  --red: oklch(0.6383 0.2911 24.85);
  --orange: oklch(0.7015 0.2127 49.3611);
}

body.dark-theme {
  --primary: oklch(0.1339 0.0661 330.91);
  --secondary: oklch(0.9813 0.0223 104.07);
  --red: oklch(0.6383 0.2911 24.85);
  --orange: oklch(0.7015 0.2127 49.3611);
}

body {
  background: var(--primary);
}

.inprogress {
  color: var(--red);
  margin: auto;
}

.text-orange {
  color: var(--orange);
}

/* GH logo fill */
.dot {
  fill: var(--orange);
}
.line {
  fill: var(--secondary);
}
.pageheader {
  margin-top: clamp(16px, 2%, 30px);
  justify-content: center;
}

.mode-toggle {
  border: 3px solid var(--red);
  background: transparent;
  height: 1.5em;
  width: 1.5em;
  border-radius: 50%;
  position: absolute;
  top: 1.51rem;
  right: 1.5rem;
  cursor: pointer;
}

/* Nav code from here https://codepen.io/alvarotrigo/pen/MWEJEWG */
.top-nav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 1em;
}

.menu {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu > a {
  margin: 0 clamp(2rem, 3vw, 6rem);
  overflow: hidden;
  text-decoration: none;
}

.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#menu-toggle {
  display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: var(--red);
  position: absolute;
  height: 3px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.menu-button::before {
  content: "";
  margin-top: -8px;
}

.menu-button::after {
  content: "";
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(45deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: transparent;
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0;
  transform: rotate(-45deg);
}

@media (max-width: 50rem) {
  .divider-container {
    display: none;
  }
  .pageheader {
    justify-content: start;
  }
  .menu-button-container {
    display: flex;
    padding-bottom: 20px;
  }
  .menu {
    position: absolute;
    top: 0;
    margin-top: 50px;
    left: 0;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  #menu-toggle ~ .menu a {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    transition: height 400ms ease;
  }
  #menu-toggle:checked ~ body {
    overflow: hidden;
  }
  #menu-toggle:checked ~ .menu {
    background-color: var(--primary);
    height: 100%;
    z-index: 1;
  }

  #menu-toggle:checked ~ .menu a {
    height: 5em;
    padding: 0.5em;
    transition: height 400ms ease;
  }
  .menu > a {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0.5em 0;
    width: 100%;
    background-color: var(--primary);
  }
}

footer {
  margin: 70px 0 0;
  .juan {
    display: flex;
    flex-direction: column;
    align-items: center;
    span {
      color: var(--orange);
      margin-bottom: -10px;
    }
  }
  .footerbottom {
    margin: 1em 1em;
    span {
      /* line-height: 0; */
      color: var(--secondary);
      font-size: 16px;
      /* margin: 1em 1em 1em 0.2em; */
    }
    /* div {
        margin-top: -0.2em;
    } */
    .footnote {
                /* margin-bottom: -5px; */

      a {
        font-size: 16px;
      }
    }
    .gh {
      /* border: solid 2px var(--secondary); */
      display: flex;
      text-align: end;
      align-items: end;
      text-decoration: none;
      span {
        /* margin-bottom: -5px; */
      }
      svg {
        height: 80px;
        width: auto;
        margin-left: -12px;
        /* margin-top: 1em; */
        margin-bottom: 5px;
      }
    }
  }
}
@media (min-width: 50rem) {
    footer {
        .juan {
            margin-bottom: -100px;
        }
    }
}


.gallery {
  /* gap: 5rem; */
  .button-container {
    gap: 1em;
    margin-bottom: 2em;
    font-size: larger;
    font-weight: var(--bold);
    .gallery-btn {
      /* font-weight: var(--bold); */
      background: none;
      cursor: pointer;
      color: var(--red);
      &.active {
        color: var(--orange);
      }
    }
  }
  .gallery-content {
    .photos-grid {
    }
    .videos-grid {
      .video-container {
        border: 3px red solid;
        position: relative;
        overflow: hidden;
        width: 100%;
        padding-top: 56.25%;
        iframe {
          z-index: 0;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          right: 0;
          width: 100%;
          height: 100%;
        }
      }
    }
    svg {
      margin: 30px 0 50px;
    width: max(300px, 70%);
    }
    .gallery-grid {
      display: none;
    }
    .gallery-grid.active {
      display: block;
    }
  }
}

.hero {
  max-width: 1400px;
  svg:first-child {
    width: 70%;
    margin: 4% 0 6%;
  }
  svg:last-child {
    width: 100%;
    margin-top: -64.3%;
    margin-bottom: 10%;
  }
  img {
    width: 54%;
  }
}

@media (max-width: 700px) {
  .hero {

    svg:first-child {
      width: 90%;
      margin: 2% 0 6%
    }
  }
}

.bio {
  p {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  img {
    margin-top: 2em;
    margin-bottom: 2em;
    width: 100%;
  }
  p:first-child {
    margin-top: 0;
  }
  p:last-child {
    margin-bottom: 0;
  }
  svg {
    width: max(300px, 70%);
  }
  .double-image {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    div {
      flex: 0 0 auto;
      /* margin-inline: auto;
        max-width:fit-content; */
      img {
        height: 350px;
        /* height: min(100%, 350px); */
        /* aspect-ratio: initial; */
        /* object-fit: contain; */
        /* align-self: stretch; */
      }
    }
  }
}

@media (max-width: 600px) {
  .bio {
    .double-image {
      flex-direction: column;
      align-items: center;
      div {
        img {
          height: auto;
        }
      }
    }
  }
}

.releases {
  margin-left: auto;
  margin-right: auto;
  h1 {
    /* color: var(--orange); */
    text-align: center;
    margin-bottom: 2em;
    text-decoration: underline double 3px;
    text-underline-position: under;
  }
  svg {
    width: max(300px, 70%);
    margin-bottom: 30px;
  }
  .release {
    display: flex;
    align-items: start;
    gap: 30px;
    margin: 2rem 0;
    img {
      width: min(100%, 260px);
      height: fit-content;
      flex-shrink: 1;
    }
    .description {
      flex: 1;
      /* width: clamp(100%, 320px, fit-content); */
      min-width: 300px;
      width: min(100%, fit-content);
      /* width: fit-content; */
      h3 {
        line-height: 1;
        margin-bottom: 0.5em;
      }
      a {
        color: var(--orange);
      }
    }
  }
}

.tour {
  h2 {
    text-align: center;
  }
  svg {
    margin: 30px 0;
    width: max(300px, 70%);
  }
  .tourdate {
    a {
      color: var(--orange);
    }
    border-top: red 3px solid;
    margin-top: 2rem;
    padding-top: 1rem;
  }
}
