@import "./fonts.css";

:root {
  --gradient-top-down: linear-gradient(0deg, rgb(0% 0% 0% / 0) 0%, rgb(0% 0% 0% / 0.009607359798384785) 6.25%, rgb(0% 0% 0% / 0.03806023374435663) 12.5%, rgb(0% 0% 0% / 0.08426519384872738) 18.75%, rgb(0% 0% 0% / 0.1464466094067262) 25%, rgb(0% 0% 0% / 0.22221488349019886) 31.25%, rgb(0% 0% 0% / 0.3086582838174551) 37.5%, rgb(0% 0% 0% / 0.40245483899193585) 43.75%, rgb(0% 0% 0% / 0.49999999999999994) 50%, rgb(0% 0% 0% / 0.5975451610080641) 56.25%, rgb(0% 0% 0% / 0.6913417161825448) 62.5%, rgb(0% 0% 0% / 0.777785116509801) 68.75%, rgb(0% 0% 0% / 0.8535533905932737) 75%, rgb(0% 0% 0% / 0.9157348061512727) 81.25%, rgb(0% 0% 0% / 0.9619397662556434) 87.5%, rgb(0% 0% 0% / 0.9903926402016152) 93.75%, rgb(0% 0% 0%) 100% );
  --gradient-bottom-up: linear-gradient(0deg, rgb(0% 0% 0%) 0%, rgb(0% 0% 0% / 0.7724761962890625) 6.25%, rgb(0% 0% 0% / 0.586181640625) 12.5%, rgb(0% 0% 0% / 0.4358062744140625) 18.75%, rgb(0% 0% 0% / 0.31640625) 25%, rgb(0% 0% 0% / 0.2234039306640625) 31.25%, rgb(0% 0% 0% / 0.152587890625) 37.5%, rgb(0% 0% 0% / 0.1001129150390625) 43.75%, rgb(0% 0% 0% / 0.0625) 50%, rgb(0% 0% 0% / 0.0366363525390625) 56.25%, rgb(0% 0% 0% / 0.019775390625) 62.5%, rgb(0% 0% 0% / 0.0095367431640625) 68.75%, rgb(0% 0% 0% / 0.00390625) 75%, rgb(0% 0% 0% / 0.0012359619140625) 81.25%, rgb(0% 0% 0% / 0.000244140625) 87.5%, rgb(0% 0% 0% / 0.0000152587890625) 93.75%, rgb(0% 0% 0% / 0) 100% );
  --gradient-skew-left-right: linear-gradient(119deg, rgb(0% 0% 0%) 0%, rgb(0% 0% 0% / 0.9998779296875) 6.25%, rgb(0% 0% 0% / 0.998046875) 12.5%, rgb(0% 0% 0% / 0.9901123046875) 18.75%, rgb(0% 0% 0% / 0.96875) 25%, rgb(0% 0% 0% / 0.9237060546875) 31.25%, rgb(0% 0% 0% / 0.841796875) 37.5%, rgb(0% 0% 0% / 0.7069091796875) 43.75%, rgb(0% 0% 0% / 0.5) 50%, rgb(0% 0% 0% / 0.2930908203125) 56.25%, rgb(0% 0% 0% / 0.158203125) 62.5%, rgb(0% 0% 0% / 0.0762939453125) 68.75%, rgb(0% 0% 0% / 0.03125) 75%, rgb(0% 0% 0% / 0.0098876953125) 81.25%, rgb(0% 0% 0% / 0.001953125) 87.5%, rgb(0% 0% 0% / 0.0001220703125) 93.75%, rgb(0% 0% 0% / 0) 100% );
  --gradient-skew-right-left: linear-gradient(209deg, rgb(0% 0% 0%) 0%, rgb(0% 0% 0% / 0.9998779296875) 6.25%, rgb(0% 0% 0% / 0.998046875) 12.5%, rgb(0% 0% 0% / 0.9901123046875) 18.75%, rgb(0% 0% 0% / 0.96875) 25%, rgb(0% 0% 0% / 0.9237060546875) 31.25%, rgb(0% 0% 0% / 0.841796875) 37.5%, rgb(0% 0% 0% / 0.7069091796875) 43.75%, rgb(0% 0% 0% / 0.5) 50%, rgb(0% 0% 0% / 0.2930908203125) 56.25%, rgb(0% 0% 0% / 0.158203125) 62.5%, rgb(0% 0% 0% / 0.0762939453125) 68.75%, rgb(0% 0% 0% / 0.03125) 75%, rgb(0% 0% 0% / 0.0098876953125) 81.25%, rgb(0% 0% 0% / 0.001953125) 87.5%, rgb(0% 0% 0% / 0.0001220703125) 93.75%, rgb(0% 0% 0% / 0) 100% );
}

body {
  margin: 0;
  font-family: "Quaaykop", serif;
  font-size: max(2vw, 2.5vh);
  font-weight: 600;
  height: 100%;
  background-color: black;
}

main {
  overflow: hidden;
}

p::selection, h1::selection, h2::selection, h3::selection {
  background: red;
  color: black;
}

#landing-buttons {
  flex-wrap: wrap;
  row-gap: 1rem;
}

a {
  text-decoration: none;
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 0;
  display: flex;
  justify-content: end;
  color: red;
  z-index: 100;
  padding-top: 1rem;
  padding-bottom: .66rem;
  transition: .2s;
}

#header-fade {
  position: fixed;
  top: 0;
  width: 100%;
  height: 10rem;
  z-index: -1;
  background: linear-gradient(0deg, rgb(0% 0% 0% / 0) 0%, rgb(0% 0% 0% / 0.0001220703125) 6.25%, rgb(0% 0% 0% / 0.001953125) 12.5%, rgb(0% 0% 0% / 0.0098876953125) 18.75%, rgb(0% 0% 0% / 0.03125) 25%, rgb(0% 0% 0% / 0.0762939453125) 31.25%, rgb(0% 0% 0% / 0.158203125) 37.5%, rgb(0% 0% 0% / 0.2930908203125) 43.75%, rgb(0% 0% 0% / 0.5) 50%, rgb(0% 0% 0% / 0.7069091796875) 56.25%, rgb(0% 0% 0% / 0.841796875) 62.5%, rgb(0% 0% 0% / 0.9237060546875) 68.75%, rgb(0% 0% 0% / 0.96875) 75%, rgb(0% 0% 0% / 0.9901123046875) 81.25%, rgb(0% 0% 0% / 0.998046875) 87.5%, rgb(0% 0% 0% / 0.9998779296875) 93.75%, rgb(0% 0% 0%) 100% );
  pointer-events: none;
}

.button-img {
  fill: black;
  stroke: white;
  stroke-width: 3px;
  transition: .4s;
}

header .button {
  text-transform: uppercase;
}

.button { color: white; }
.button-img { stroke: white; fill: black; }
.button:hover { color: black; }
.button:hover .button-img { stroke: black; fill: red; }

header .button { color: red; }
header .button-img { stroke: red; }
header .button:hover { color: white; }
header .button:hover .button-img { stroke: white; fill: red; }

#highlight { color: white; }
#highlight .button-img { stroke: red; fill: black; }
#highlight:hover { color: red; }
#highlight:hover .button-img { stroke: white; fill: white; }

#title-mini {
  position: fixed;
  top: .5rem;
  left: 1rem;
  width: 120px;
  user-select: none;
  opacity: 0;
  transition: .3s;
  cursor: none;
  pointer-events: none;
}

#title-mini.below-fold {
  opacity: 1;
  cursor: pointer;
  pointer-events: auto;
}

header.is-expanded #title-mini {
  opacity: 1;
}

#title-landing {
  width: max(30vw, 30vh);
  user-select: none;
  background: radial-gradient(rgb(0% 0% 0% / 0.9) 0%, rgb(0% 0% 0% / 0.8997802734375) 3.13%, rgb(0% 0% 0% / 0.8982421875000001) 6.25%, rgb(0% 0% 0% / 0.8940673828125) 8.38%, rgb(0% 0% 0% / 0.8859375) 12.5%, rgb(0% 0% 0% / 0.8725341796875) 15.63%, rgb(0% 0% 0% / 0.8525390625) 18.75%, rgb(0% 0% 0% / 0.8246337890625001) 21.88%, rgb(0% 0% 0% / 0.7875) 25%, rgb(0% 0% 0% / 0.7398193359375) 28.13%, rgb(0% 0% 0% / 0.6802734375) 31.25%, rgb(0% 0% 0% / 0.6075439453125) 34.38%, rgb(0% 0% 0% / 0.5203125) 37.5%, rgb(0% 0% 0% / 0.41726074218750003) 40.63%, rgb(0% 0% 0% / 0.29707031250000004) 43.75%, rgb(0% 0% 0% / 0.15842285156250002) 46.88%, rgb(0% 0% 0% / 0) 50% );
  padding: 10rem;
  padding-top: 6rem;
  margin: -10rem;
  margin-top: -6rem;
}

footer {
  background-color: black;
  color: lightgray;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  border-top: solid red 10px;
  padding-top: 1rem;
  padding-bottom: 3rem;
}

footer span {
  align-content: center;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: max(1vw, 2vh);
}

footer a {
  text-transform: uppercase;
  transition: .2s;
}

footer a:hover {
  color: white;
}

footer .socials {
  display: flex;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
}

#menu {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1rem;
  margin-right: 2rem;
}

#menu .button {
  margin-left: -1.5rem;
}

a {
  align-content: center;
  color: inherit;
}

header #menu .social svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

header #menu .social span {
  display: none;
}

section {
  width: 100%;
  border-top: solid red 5px;
  background: black;
  color: white;
}

section .section-body {
  margin-left: 10vw;
  margin-right: 10vw;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

section.concept .section-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 0;
}

section.concept .section-body div {
  padding: 3rem;
  padding-left: 10vw;
}

section.concept .section-body img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  order: 1;
}
section.concept:nth-child(even) .section-body div {
  padding: 3rem;
  padding-right: 10vw;
}

section.concept:nth-child(even) .section-body img {
  order: 0;
}

section.gallery .section-body {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2.5vw;
  margin-left: 5vw;
  margin-right: 5vw;
}

section.gallery .section-body img {
  width: 100%;
}

section.aspects .section-body {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 2rem;
  row-gap: 4rem;
}

section.aspects .section-body .aspect img {
  width: 100%;
}

img::selection {
  background-color: red;
}

@media (max-width: 1100px) {
  #menu-toggle {
    display: block !important;
  }

  header:not(.is-expanded) #menu {
    display: none !important;
  }

  footer {
    grid-template-columns: 1fr;
    gap: .5rem;
  }

  footer, footer span, footer #studio {
    margin: auto;
  }

  section.gallery .section-body {
    grid-template-columns: 1fr 1fr;
  }

  section.concept .section-body {
    grid-template-columns: 1fr;
  }

  section.concept .section-body img {
    order: 0;
  }

  section.concept .section-body div {
    padding-left: 10vw !important;
    padding-right: 10vw !important;
  }

  section.concept .section-body div h2 {
    margin-top: 0;
  }

  section.aspects .section-body {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 800px) {
  section.aspects .section-body {
    flex-wrap: wrap;
  }
}

h2 {
  padding: 0;
  margin-top: 3rem;
  margin-bottom: 2rem;
  font-size: max(6vw, 6vh);
  line-height: 90%;
}

#landing {
  text-align: center;
  margin-bottom: 10vh;
  margin-left: 3rem;
  margin-right: 3rem;
}

h1 {
  margin-top: max(10vw, 20vh);
}

#terms, #privacy {
  margin-top: 10rem;
}

#terms section, #privacy section {
  border: none;
}

#landing a {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: visible;
  position: relative;
  text-align: center;
  text-decoration: none;
}

.button {
  align-items: center;
  display: flex;
  justify-content: center;
  overflow: visible;
  position: relative;
  text-align: center;
  width: 300px;
  height: 40px;
  transition: .4s;
  color: white;
}

.button:hover {
  transform: translateY(3px);
  transition: .2s;
}

.button span:not(.button-img) {
  z-index: 11;
  font-size: 16pt;
}

.button-img svg {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
}

span {
  user-select: none;
}

#landing div {
  display: flex;
  justify-content: center;
}

header div {
  display: flex;
  justify-content: center;
}

a {
  transition: .4s;
}

.social:hover {
  color: white;
  transform: scale(1.25);
}

video {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -999;
  height: 100%;
  width: unset;
  margin-left: 50vw;
  transform: translate(-50%);
}

@media (min-aspect-ratio: 16/9) {
  video {
    height: unset;
    width: 100%;
  }
}

@media (orientation: portrait) {
  section .button {
     margin: auto;
  }
}

b {
  color: red;
  text-shadow: 0 0 1rem black;
}

b::selection {
  background: red;
  color: white;
  text-shadow: none;
}

#menu-toggle {
  display: none;
  appearance: none;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  height: 30px;
  width: 30px;
  position: fixed;
  right: 1rem;
}

#menu-toggle::before, #menu-toggle::after {
  position: absolute;
  right: 3px;
  content: "";
  height: 1px;
  width: 24px;
  background-color: white;
  transition: .4s;
}

#menu-toggle::before {
  bottom: 10px;
}

#menu-toggle::after {
  top: 10px;
}

header.is-expanded #menu-toggle {
  display: block;
}

header.is-expanded #menu-toggle::before {
  transform: rotate(45deg);
  bottom: 14px !important;
}

header.is-expanded #menu-toggle::after {
  transform: rotate(-45deg);
  top: 15px !important;
}

header.is-expanded {
  height: 100%;
  background: black;
}

header.is-expanded #menu {
  display: grid;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  height: 100%;
  justify-content: center;
  align-content: center;
  max-width: 80%;
  margin: 10%;
  width: 100%;
}

header.is-expanded #menu .social {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
}

header.is-expanded #menu .social span {
  display: revert !important;
  padding-left: .5rem;
  font-size: 16pt;
}

header.is-expanded #header-fade {
  pointer-events: revert;
}

header.is-expanded #menu .button {
  margin-left: 0;
}

#studio {
  margin-left: auto;
  height: 3rem;
  width: 5rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Mailing list style (and overrides) */

#mailing-list {
  background-color: red;
}

#mailing-list h2 {
  font-size: max(4vw, 4vh);
  text-align: center;
  color: black;
  user-select: none;
  margin-top: 0;
}

#mailing-list form {
  margin: auto;
}

#mailing-list form div {
  padding: 0;
}

.formkit-field {
  margin-bottom: 0;
}

.formkit-input {
  font-family: "Quaaykop";
  font-size: max(1vw, 1.5vh) !important;
  border: 3px solid black !important;
  border-radius: 0 !important;
}

.formkit-submit {
  font-family: "Quaaykop";
  font-size: max(1.5vw, 2vh) !important;
  color: white !important;
  background-color: black !important;
  transition: .2s;
}

.formkit-submit:hover {
  color: red !important;
  background-color: white !important;
}

.formkit-powered-by-convertkit-container {
  display: none !important;
}