/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o GLOBAL FOUNDATIONS o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */
:root {
      --fancy-font: "Mr De Haviland", cursive;
      --statement-font: "IM Fell English", serif;
      --regular-font: "Krub", sans-serif;
      --white: #c9cdcf;
      --black: #031011;
      --accent-light: #A2AD59;
      --accent-dark: #7F8943;
      --lightest: #809598;
      --light: #536B70;
      --medium: #2B5358;
      --dark: #023A40;
      --darkest: #062123;
}

/* Reset box-sizing */
*,
*::before,
*::after {
      box-sizing: border-box;
}

body {
      color: var(--white);
      background-color: var(--black);
      display: grid;
      font-family: var(--regular-font);
      font-size: 1.15rem;
      grid-template-columns: 1fr min(90rem, 90%) 1fr;
      line-height: 1.5;
      margin: 0;
}

body>* {
      grid-column: 2;
}

body>header {
      grid-column: 1 / -1;
      padding: 0;
      text-align: center;
}

body>footer {
      border-top: 2px solid var(--dark);
      color: var(--lightest);
      font-size: 0.9rem;
      grid-column: 1 / -1;
      margin-top: 3rem;
      text-align: center;
}

h1 {
      font-family: var(--statement-font);
      font-size: 3rem;
}

h2 {
      font-family: var(--fancy-font);
      font-size: 3rem;
      margin-left: .5rem;
}

h3 {
      font-family: var(--statement-font);
      font-size: 2.6rem;
}

h4 {
      font-family: var(--fancy-font);
      font-size: 2.6rem;
      margin-left: .5rem;
}

h5 {
      font-family: var(--statement-font);
      font-size: 2rem;
}

h6 {
      font-family: var(--fancy-font);
      font-size: 2rem;
      margin-left: .5rem;
}

p {
      font-family: var(--regular-font);
}

/* Prevent long strings from overflowing container */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
      font-weight: normal;
      margin-block: 1rem;
      overflow-wrap: break-word;
}

/* Fix line height when title wraps */
h1,
h2,
h3,
h4 {
      line-height: 1.1;
}

ul {
      list-style: none;
}

.miniheader {
      font-weight: bold;
      text-decoration: underline;
}

.accent-font {
      color: var(--accent-light);
}

.centered {
      text-align: center;
}

.text-wall {
      display: flex;
      justify-content: left;
      align-items: center;
      padding: 15px;
      margin: 20px;
      background-color: rgba(201, 205, 207, 0.3);
      backdrop-filter: blur(8px);
      border-radius: 1rem;
      font-size: 1rem;
      font-weight: 500;
      color: var(--black);
}

a,
a:visited {
      color: var(--accent-light);
      text-decoration: none;
}

a:hover {
      color: var(--accent-dark);
      text-decoration: none;
}

.picture-bg {
      background-image: url('../images/cabinet-dim.jpg');
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      font-size: 4rem;
      font-weight: normal;
      margin-bottom: 50px;
      margin-inline: auto;
      padding-block: 10px;
      text-align: center;
      width: 90%;

      @media (width < 800px) {
            font-size: 2rem;
      }
}

.gradient-animated {
      animation: gradient 4s ease infinite;
      background-image: linear-gradient(135deg, var(--medium), var(--dark));
      background-size: 400% 400%;
      height: 100%;
      width: 100%;
}

@keyframes gradient {
      0% {
            background-position: 51% 0%;
      }

      50% {
            background-position: 50% 100%;
      }

      100% {
            background-position: 51% 0%;
      }
}

.gradient-static {
      background-image: linear-gradient(to left, rgb(2, 58, 64), rgb(6, 33, 35), rgb(3, 16, 17));

}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o NAVIGATION BAR o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */
.header {
      background-color: var(--darkest);
      box-shadow: 1px 1px 5px 0px var(--dark);
      position: sticky;
      top: 0;
      width: 100%;
}

.nav {
      background-color: var(--darkest);
      height: 100%;
      overflow: hidden;
      position: fixed;
      width: 100%;
}

.menu a {
      color: var(--white);
      display: block;
      padding: 30px;
}

.menu a:hover {
      background-color: var(--dark);
}

.nav {
      max-height: 0;
      transition: max-height .5s ease-out;
}

/* Menu icon */
.hamb {
      cursor: pointer;
      float: right;
      padding: 40px 20px;
}

.hamb-line {
      background-color: var(--accent-light);
      display: block;
      height: 2px;
      position: relative;
      width: 24px;
}

.hamb-line::before,
.hamb-line::after {
      background-color: var(--accent-light);
      content: '';
      display: block;
      height: 100%;
      position: absolute;
      transition: all .2s ease-out;
      width: 100%;
}

.hamb-line::before {
      top: 5px;
}

.hamb-line::after {
      top: -5px;
}

.side-menu {
      /* hides checkbox */
      display: none;
}

.side-menu:checked~nav {
      max-height: 100%;
}

.side-menu:checked~.hamb .hamb-line {
      background: transparent;
}

.side-menu:checked~.hamb .hamb-line::before {
      transform: rotate(-45deg);
      top: 0;
}

.side-menu:checked~.hamb .hamb-line::after {
      transform: rotate(45deg);
      top: 0;
}

body:has(.side-menu:checked) {
      overflow: hidden;
}

.sub-nav-content {
      background-color: var(--dark);
      display: none;
      padding: 20px 0;
      width: 100%;
      z-index: 1;
}

.sub-nav-content a {
      color: var(--white);
      margin: 10px 0;
      padding: 0;
      text-align: center;
      text-decoration: none;
}

.sub-nav:hover .sub-nav-content {
      display: block;
}

@media (min-width: 768px) {
      .nav {
            background-color: transparent;
            float: right;
            max-height: none;
            position: relative;
            top: 0;
            width: fit-content;
      }

      .menu li {
            float: left;
      }

      .menu a:hover {
            background-color: transparent;
            color: var(--gray);

      }

      .hamb {
            display: none;
      }

      /* Sub nav */
      .sub-nav-content {
            background-color: var(--dark);
            display: none;
            padding: 20px 0;
      }

      .sub-nav-content a {
            color: var(--white);
      }
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o STUFF? o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

/* custom scroll bar */
::-webkit-scrollbar {
      width: 8px;
}

::-webkit-scrollbar-track {
      background: var(--black);
}

::-webkit-scrollbar-thumb {
      background: var(--dark);
}

::-webkit-scrollbar-corner {
      background: var(--black);
}

#menu-btn:checked~.nav-links {
      left: 0%;
}

#menu-btn:checked~.btn.menu-btn {
      display: none;
}

#close-btn:checked~.btn.menu-btn {
      display: block;
}


/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o BOT CARDS o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

.card-section {
      margin: 0 auto;
      max-width: 1200px;
      width: 90%;

      .row {
            display: grid;
            gap: 10px;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            justify-items: center;
      }
}

.card {
      height: 380px;
      margin: 10px 0;
      max-width: 300px;
      perspective: 1200px;
      position: relative;
      transition: ease all 1.3s;
      width: 100%;

      &:hover {
            .cover {
                  transform: rotateX(0deg) rotateY(-180deg);

                  &:before {
                        transform: translateZ(30px);
                  }

                  &:after {
                        background-color: var(--darkest);
                  }

                  h1 {
                        transform: translateZ(60px);
                  }

                  .the-subtitle {
                        transform: translateZ(100px);
                  }

                  a,
                  p,
                  h5 {
                        transform: translateZ(-60px) rotateY(-180deg);
                  }
            }
      }
}

.cover {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      height: 100%;
      position: absolute;
      transform-origin: center;
      transform-style: preserve-3d;
      transition: ease all 1.3s;
      width: 100%;

      &:before {
            border: 5px solid rgba(201, 205, 207, 0.7);
            bottom: 4%;
            box-shadow: 0 0 12px rgba(0, 0, 0, 0.3);
            content: '';
            left: 4%;
            position: absolute;
            right: 4%;
            top: 4%;
            transform: translateZ(0px);
            transform-style: preserve-3d;
            transition: ease all 1.3s;
            z-index: 2;
      }

      &:after {
            background: rgba(0, 0, 0, 0.3);
            bottom: 0;
            content: '';
            left: 0;
            position: absolute;
            right: 0;
            transition: ease all 1.3s;
            top: 0;
            z-index: 2;
      }

      h1 {
            bottom: 10px;
            color: var(--white);
            font-size: 2em;
            font-weight: 600;
            left: 30px;
            margin-bottom: 25px;
            position: absolute;
            text-shadow: 0 0 5px #1e1f1f, 0 0 10px #1e1f1f, 0 0 15px #1e1f1f, 0 0 20px #1e1f1f, 0 0 30px #1e1f1f, 0 0 40px #1e1f1f, 0 0 55px #1e1f1f, 0 0 75px #1e1f1f;
            transform: translateZ(0px);
            transform-style: preserve-3d;
            transition: ease all 1.3s;
            z-index: 3;
      }

      .the-subtitle {
            bottom: 10px;
            color: var(--darkest);
            font-family: var(--fancy-font);
            font-weight: 200;
            font-size: 2.2rem;
            position: absolute;
            right: 30px;
            text-shadow: 0 0 15px #C9CDCF, 0 0 10px #C9CDCF, 0 0 15px #C9CDCF, 0 0 20px #C9CDCF, 0 0 30px #C9CDCF;
            transform: translateZ(0px);
            transform-style: preserve-3d;
            transition: ease all 1.3s;
            z-index: 4;
      }
}

.card-back {
      align-items: center;
      background: var(--dark);
      display: flex;
      flex-direction: column;
      gap: 15px;
      height: 100%;
      justify-content: center;
      padding-inline: 15px;
      position: absolute;
      width: 100%;
      transform: translateZ(-1px);
      transform-style: preserve-3d;
      transition: ease all 1.3s;

      p {
            background: transparent;
            border: 2px solid var(--lightest);
            color: white;
            font-size: 1rem;
            margin: 0px;
            outline: none;
            padding: 10px;
            text-decoration: none;
            transform: translateZ(-1px) rotateY(-180deg);
            transform-style: preserve-3d;
            transition: ease transform 1.3s, ease background 0.5s;
      }

      a {
            background: var(--medium);
            border: 1px solid var(--lightest);
            color: var(--white);
            font-family: var(--statement-font);
            font-size: 1.rem;
            font-weight: 200;
            outline: none;
            padding: 5px 10px;
            text-decoration: none;
            transform: translateZ(-1px) rotateY(-180deg);
            transform-style: preserve-3d;
            transition: ease transform 1.3s, ease background 0.5s;

            &:hover {
                  background-color: var(--light);
                  color: var(--white);
            }
      }
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o CHARACTER IMAGS o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

.athana {
      background-image: url('../images/athana.jpg');
}

.faris {
      background-image: url('../images/faris-small.jpg');
}

.kael {
      background-image: url('../images/kael.jpg');
}

.nylos {
      background-image: url('../images/nylos.jpg');
}

.solos {
      background-image: url('../images/solos.jpg');
}

.soren {
      background-image: url('../images/Soren-small.jpg');
}

.thana {
      background-image: url('../images/thana.jpg');
}

.theron {
      background-image: url('../images/theron-small.jpg');
}

.usul {
      background-image: url('../images/Usul-small.jpg');
}










.ouranos-bg {
      background-image: url('../images/ouranos-birdseye.jpg');
      background-attachment: fixed;
      background-repeat: no-repeat;
      background-size: cover;
      border-radius: 10px;
      padding: 5px;
      width: 100%;
}

.last-day-bg {
      background-image: url('../images/bg-kheiron-last-day.jpg');
      background-attachment: fixed;
      background-repeat: no-repeat;
      background-size: contain;
      padding: 5px;
      width: 100%;
}

.kheiron-bg {
      background-image: url('../images/bg-kheiron-prime.jpg');
      background-attachment: fixed;
      background-repeat: no-repeat;
      background-size: cover;
      padding: 5px;
      width: 100%;
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o EPISODE LAYOUT o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

.center {
      color: var(--lightest);
      text-align: center;
}

.container {
      margin: 0 auto;
      max-width: 1300px;
      width: 95%;
}

.episode {
      border: none;
      display: grid;
      grid-template-columns: 1fr 3fr;
      position: relative;
}

.episode__number {
      color: var(--lightest);
      font-family: var(--fancy-font);
      font-size: 3.3rem;
      height: calc(10vw + 20px);
      padding: 10px 0;
      text-align: center;
      top: 0;
      transition: all 0.2s ease-in;
}

.episode__content {
      border-top: 2px solid var(--dark);
      display: grid;
      font-family: var(--statement-font);
      grid-gap: 10px;
      grid-template-columns: 1fr 4fr;
      padding: 15px 0;
}

.episode__content .title {
      color: var(--lightest);
      font-size: 1.5rem;
}

.episode__content .story {
      line-height: 26px;
}

@media (max-width: 600px) {
      .episode__content {
            grid-template-columns: 1fr;
      }
}

@media (max-width: 576px) {
      .episode__content .story {
            font-size: 15px;
      }
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o STEPS LAYOUT o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

.workflow-grid {
      display: grid;
      grid-auto-columns: minmax(auto, 1200px);
      grid-gap: 15px;
      grid-template-rows: repeat(auto-fill, minmax(250px, 1fr));
      justify-content: center;
}

.workflow-step {
      background-color: var(--lightest);
}

.workflow-photo {
      width: 100%;
}

.workflow-title {
      background-color: var(--medium);
      box-shadow: rgba(30, 31, 31, 0.4) 0px 2px 4px, rgba(30, 31, 31, 0.3) 0px 7px 13px -3px, rgba(30, 31, 31, 0.2) 0px -3px 0px inset;

      h5 {
            color: var(--white);
            padding: 10px;
      }
}

.workflow-desc {
      padding: 0px 20px 5px 20px;

      p {
            color: var(--black);
      }
}

.workflow-desc-left {
      padding: 10px 20px 5px 20px;

      p {
            color: var(--black);
      }
}

.workflow-desc-left img {
      box-shadow: rgba(30, 31, 31, 0.5) 0px 10px 50px;
      float: right;
      margin: 10px 0px 20px 20px;
      padding-inline: 0px;
      width: 40%;

}

.workflow-desc-right {
      padding: 10px 20px 5px 20px;

      p {
            color: #282a2a;
      }
}

.workflow-desc-right img {
      box-shadow: rgba(30, 31, 31, 0.5) 0px 10px 50px;
      float: left;
      margin: 10px 20px 20px 0px;
      padding-inline: 0px;
      width: 40%;
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o TABS o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

tab-container {
      border: solid var(--darkest);
      border-radius: .5em;
      display: grid;
      /* When changing number of tabs, need to update the number of columns here as well */
      grid-template-columns: repeat(3, 1fr);
      grid-template-rows: auto 1fr;
}

input {
      display: none;
}

input:checked+label {
      background-color: var(--black);
      color: var(--lightest);
      font-weight: bold;
      transition: all .5s;
}

label {
      background-color: var(--darkest);
      border-right: solid 2px var(--black-sub);
      color: var(--lightest);
      cursor: pointer;
      font-family: var(--statement-font);
      font-size: 1.6rem;
      padding: 5px;
      text-align: center;
      transition: all .5s;
}

label:last-of-type {
      border: none;
}

label:hover {
      background-color: var(--light);
      color: var(--black-sub);
}

tab-content {
      display: grid;
      grid-column: 1 / -1;
      padding: 1rem;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      padding-block: 10px;
}

/* Be sure to add more here if there are more tabs added */
input#tabToggle01:checked~tab-content:not(:nth-of-type(1)),
input#tabToggle02:checked~tab-content:not(:nth-of-type(2)),
input#tabToggle03:checked~tab-content:not(:nth-of-type(3)),
input#tabToggle04:checked~tab-content:not(:nth-of-type(4)) {
      display: none;
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o CHARACTER PROFILES o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

.character-grid {
      display: grid;
      gap: 20px;
      grid-template-columns: 1fr 1fr 300px;
      grid-template-rows: 380px 1fr;
      margin: auto;
      width: 90%;
}

.char-pic {
      background-position: center center;
      background-repeat: no-repeat;
      background-size: cover;
      grid-area: 1 / 3 / 2 / 4;
}

.char-history {
      background-color: var(--light);
      border-bottom: 2px solid var(--medium);
      color: var(--black);
      grid-area: 1 / 1 / 2 / 3;
      overflow: scroll;
      padding: 10px 10px 10px 15px;

      p {
            font-size: 1rem;
            margin: .5rem;
      }
}

.char-bots {
      background-color: var(--darkest);
      grid-area: 2 / 2 / 3 / 4;
      padding: 10px 10px 10px 15px;

      a,
      a:visited {
            color: var(--lightest);
            text-decoration: none;
      }

      a:hover {
            color: var(--white);
            text-decoration: none;
      }

      p {
            font-size: 1rem;
            margin: .5rem;
      }
}

.char-deets {
      background-color: var(--medium);
      grid-area: 2 / 1 / 3 / 2;
      padding: 10px 10px 10px 15px;

      p {
            font-size: 1rem;
            margin: 0;
      }
}

/* o0O0o-o0O0o-o0O0o-o0O0o-o0O0o ACCORDION o0O0o-o0O0o-o0O0o-o0O0o-o0O0o */

.accordion {
      max-width: 500px;
      margin: 20px auto;
      border: 1px solid var(--lightest);
      border-radius: 8px;
      overflow: hidden;
}

details {
      border-bottom: 1px solid var(--lightest);
}

details:last-of-type {
      border-bottom: none;
}

summary {
      padding: 12px 16px;
      cursor: pointer;
      font-weight: 600;
      background-color: var(--medium);
      list-style: none;
}

summary:hover {
      background-color: var(--dark);
}

details[open] summary {
      background-color: var(--light);
}

details p {
      padding: 12px 16px;
      margin: 0;

      color: #809598;
      background-image: linear-gradient(270deg, #809598, #C9CDCF 33%, #809598 67%, #C9CDCF 100%);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      display: inline-block;
      font-size: 1rem;
      line-height: 1.5;
}

details h5 {
      background-color: transparent;
      margin: 0;
      font-size: 1.4rem;
      line-height: 1.5;
}