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

:root {
  --harmonic-pink: #f1365c;
  --harmonic-red: #f50;
  --harmonic-blue: #00f6fa;
  --harmonic-orange: #ff8000;
}

body {
  color: #000;
  font-family: Helmet, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1 {
  text-align: center;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 8rem;
  line-height: .8125;
  position: relative;
}

a {
  color: #fff;
  text-decoration: underline;
}

.gradient {
  justify-content: center;
  align-items: center;
  height: 100vh;
  padding-left: 6rem;
  padding-right: 6rem;
  display: flex;
  overflow: hidden;
  transform: translate(0);
}

.gradient---inner {
  filter: blur(5rem);
  position: absolute;
  inset: -50%;
}

.gradient---item {
  position: absolute;
  inset: 0%;
}

.gradient---item.x-pink {
  background-image: radial-gradient(circle farthest-corner at 41% 27%, var(--harmonic-pink), #fff0 46%);
}

.gradient---item.x-red {
  background-image: radial-gradient(circle closest-side at 45% 52%, var(--harmonic-red), #fff0 45%);
}

.gradient---item.x-blue {
  background-image: radial-gradient(circle farthest-corner at 65% 66.6667%, var(--harmonic-blue), #fff0);
}

.gradient---item.x-orange {
  background-image: radial-gradient(circle closest-corner at 48% 30%, var(--harmonic-orange), #fff0 42%);
}

.credits {
  justify-content: center;
  align-items: center;
}

.btn {
  text-align: center;
  background-color: #000;
  border-radius: .25rem;
  padding: .5rem 1rem;
  font-weight: 400;
  transition: opacity .3s;
}

.btn:hover {
  opacity: .8;
}

.btn.x-custom-colors {
  background-color: var(--harmonic-orange);
  color: #000;
}

.btn.x-fixed {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
}

.credits---group {
  color: #ffffffb3;
  line-height: 1;
}

.credits---group.x-color {
  grid-row-gap: .25rem;
  flex-direction: column;
  display: flex;
}

.credits---close {
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
}

.credits---references {
  grid-row-gap: .75rem;
  color: #fff;
  background-color: #000;
  border-radius: .5rem;
  flex-direction: column;
  display: flex;
}

.credits---cta {
  grid-row-gap: .75rem;
  color: var(--harmonic-orange);
  flex-direction: column;
  line-height: 1;
  display: flex;
}

.credits---title {
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .7rem;
}

.dropdown---toggle {
  white-space: normal;
  width: 100%;
  padding: 2rem 8rem 2rem 0;
  display: block;
}

.plus---vertical {
  background-color: #fff;
  width: .125rem;
  height: 100%;
  position: absolute;
}

.dropdown---wrap {
  border-bottom: .0625rem solid #000;
  margin-right: -5rem;
}

.plus---horizontal {
  background-color: #fff;
  width: 100%;
  height: .125rem;
  position: absolute;
}

.close {
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  position: relative;
  transform: rotate(45deg);
}

.credit---color {
  grid-column-gap: .5rem;
  align-items: center;
  display: flex;
}

.credit---color-square {
  border-radius: .125rem;
  width: .75rem;
  height: .75rem;
}

.credit---color-square.x-orange {
  background-color: var(--harmonic-orange);
}

.credit---color-square.x-pink {
  background-color: var(--harmonic-pink);
}

.credit---color-square.x-red {
  background-color: var(--harmonic-red);
}

.credit---color-square.x-aqua {
  background-color: var(--harmonic-blue);
}

.credits---color-list {
  grid-row-gap: .125rem;
  color: #ffffffb3;
  flex-direction: column;
  line-height: 1;
  display: flex;
}

.credits---mask {
  border-radius: .5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 4rem #000c;
}

.credits---mask-inner {
  color: #ffffffb3;
  background-color: #000;
  border-radius: .5rem;
  width: 30rem;
  padding: 2rem 2rem 3rem;
}

.credits---info {
  grid-row-gap: 3rem;
  flex-direction: column;
  display: flex;
}

.credits---mask-outer {
  background-color: #000c;
  justify-content: center;
  align-items: center;
  display: none;
  position: fixed;
  inset: 0%;
}

.close---overlay {
  background-color: #000;
  position: absolute;
}

.close---overlay.x-bottom {
  width: 50%;
  top: -1px;
  bottom: -1px;
  left: -50%;
}

.close---overlay.x-top {
  height: 50%;
  bottom: -50%;
  left: -1px;
  right: -1px;
}

.body {
  display: flex;
}

.hide {
  display: none;
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 6rem;
  }

  .dropdown---wrap {
    margin-right: -4rem;
  }
}

@media screen and (max-width: 767px) {
  h1 {
    font-size: 4.3rem;
  }

  .dropdown---wrap {
    margin-right: -3rem;
  }

  .credit---color-square {
    background-color: var(--harmonic-orange);
    width: 1rem;
    height: 1rem;
  }
}


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