/**
 * Custom styles to immediately follow Tailwind’s `components` layer
 *
 * “Add more opinionated, complex classes like buttons, form controls, alerts,
 * etc; the sort of pre-built components you often see in other frameworks that
 * you might need to override with utility classes.”
 *
 * — from https://tailwindcss.com/docs/plugins#adding-components
 */

.loader-page {
  position: fixed;
  z-index: 9999;
  height: 100%;
  width: 100%;
  background-color: rgba(22, 22, 22, 0.8);
  --tw-backdrop-blur: blur(24px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}

.modal {
  position: relative;
  z-index: 9999;
  display: none;
  height: 100vh;
  width: 100vw;
  border-width: 0px;
  background-color: transparent;
}

.modal .modal-overlay {
  position: relative;
  height: 100%;
  width: 100%;
  background-color: rgb(0 0 0 / 0.4);
  --tw-backdrop-blur: blur(40px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness)
    var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale)
    var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert)
    var(--tw-backdrop-opacity) var(--tw-backdrop-saturate)
    var(--tw-backdrop-sepia);
}

.modal .modal-wrapper {
  position: absolute;
  inset: 0px;
  display: flex;
  height: 100vh;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.modal .modal-wrapper.modal-wrapper-video {
  display: flex;
}

.modal .modal-wrapper .modal-content {
  display: flex;
  width: 100%;
  max-width: 1130px;
  align-items: flex-start;
  justify-content: center;
  gap: 1.5rem;
  overflow: hidden;
  border-radius: 12px;
}

.modal .modal-wrapper .modal-content.modal-content-single-video {
  padding-top: 0px;
}

@media screen and (max-width: 991px) {
  .modal .modal-wrapper .modal-content.modal-content-single-video {
    max-height: 90vh;
    min-height: 90vh;
    max-width: 600px;
    flex-direction: column-reverse;
    align-items: flex-end;
    justify-content: flex-end;
  }
}

@media screen and (max-width: 767px) {
  .modal .modal-wrapper .modal-content.modal-content-single-video {
    max-width: 371px;
  }
}

@media screen and (max-width: 479px) {
  .modal .modal-wrapper .modal-content.modal-content-single-video {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media screen and (orientation: landscape) and (max-width: 1024px) {
  .modal .modal-wrapper .modal-content.modal-content-single-video {
    max-width: 90%;
    display: flex;
    flex-direction: row;
    justify-content: normal;
    align-items: normal;
  }
}

@media screen and (max-height: 737px) and (max-width: 420px) {
  .modal .modal-wrapper .modal-content.modal-content-single-video {
    max-width: 340px;
  }
}

@media screen and (max-height: 667px) and (max-width: 375px) {
  .modal .modal-wrapper .modal-content.modal-content-single-video {
    max-width: 300px;
  }
}

.modal .modal-wrapper .modal-content iframe {
  height: 100%;
  width: 100%;
}

.modal .modal-container {
  display: block;
}

.modal .modal-container.modal-container-video {
  display: flex;
  width: 100%;
}

.modal .modal-container.modal-container-video .content-video {
  aspect-ratio: 16/9;
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.modal .modal-container.modal-container-video .content-video iframe {
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 991px) {
  .modal .modal-container.modal-container-video .content-video {
    display: flex;
    aspect-ratio: 9/16;
    height: 100%;
  }
}

@media screen and (orientation: landscape) and (max-width: 1024px) {
  .modal .modal-container.modal-container-video .content-video {
    aspect-ratio: 9/16;
  }
}

.modal .circle-primary-button {
  display: inline-block;
  cursor: pointer;
  fill: #141213cc;
}

.modal .circle-primary-button rect:hover {
  fill: #3a3a39;
}

.modal .fade-in {
  opacity: 0;
  transform: translateY(-20px);
  animation: fadeInMove 0.5s ease-in-out forwards;
}

.modal .fade-out {
  opacity: 1;
  transform: translateY(0);
  animation: fadeOutMove 0.5s ease-in-out forwards;
}

.primary-button {
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-wrap: nowrap;
  border-radius: 51px;
  border-width: 2px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(250 250 250 / var(--tw-border-opacity));
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 44px;
  padding-right: 44px;
  font-family: Outfit, sans-serif;
  font-size: 24px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 28px;
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity));
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.primary-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}

.primary-button.disabled {
  opacity: 0.5;
}

.secondary-button {
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  text-wrap: nowrap;
  border-radius: 51px;
  border-width: 2px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(250 250 250 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 250 / var(--tw-bg-opacity));
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 44px;
  padding-right: 44px;
  font-family: Outfit, sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
  transition-property: all;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.secondary-button:hover {
  --tw-border-opacity: 1;
  border-color: rgb(22 22 22 / var(--tw-border-opacity));
  --tw-bg-opacity: 1;
  background-color: rgb(22 22 22 / var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity));
}

.secondary-button.disabled {
  opacity: 0.5;
}

.error__404 {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 1024px) {
  .error__404 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.error__404 {
  display: flex;
  height: 100dvh;
  width: 100%;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  --tw-bg-opacity: 1;
  background-color: rgb(22 22 22 / var(--tw-bg-opacity));
}

@media (min-width: 1024px) {
  .error__404 {
    flex-direction: row;
    justify-content: space-between;
  }
}

.error__404 .do__texts__container {
  position: absolute;
  bottom: 0px;
  display: flex;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container {
    position: relative;
  }
}

.error__404 .do__texts__container .desktop-big-things {
  display: none;
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container .desktop-big-things {
    display: block;
  }
}

.error__404 .do__texts__container .mobile-big-things {
  display: block;
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container .mobile-big-things {
    display: none;
  }
}

.error__404 .do__texts__container .mobile-big-things h2 {
  width: -moz-fit-content;
  width: fit-content;
  text-wrap: nowrap;
  font-family: Outfit, sans-serif;
  font-size: 86px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 92px;
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container .mobile-big-things h2 {
    font-size: 160px;
    line-height: 166px;
    letter-spacing: 0px;
  }
}

@media (min-width: 1536px) {
  .error__404 .do__texts__container .mobile-big-things h2 {
    font-size: 237px;
  }
}

.error__404 .do__texts__container .mobile-big-things .right {
  --tw-translate-y: 30px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity));
}

.error__404 .do__texts__container .mobile-big-things .left {
  width: -moz-fit-content;
  width: fit-content;
  --tw-translate-x: -71%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  align-self: flex-start;
}

@media (min-width: 768px) {
  .error__404 .do__texts__container .mobile-big-things .left {
    display: flex;
    width: 100%;
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y))
      rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
      scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    justify-content: flex-end;
  }
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container .mobile-big-things .left {
    width: 100%;
  }
}

.error__404 .do__texts__container .mobile-big-things .left svg {
  height: auto;
  width: 100%;
}

.error__404 .do__texts__container .mobile-big-things .left .mobile-title {
  display: block;
  width: 170%;
}

@media (min-width: 768px) {
  .error__404 .do__texts__container .mobile-big-things .left .mobile-title {
    width: 82%;
  }
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container .mobile-big-things .left .mobile-title {
    display: none;
  }
}

.error__404 .do__texts__container .mobile-big-things .left .desktop-title {
  display: none;
}

@media (min-width: 1024px) {
  .error__404 .do__texts__container .mobile-big-things .left .desktop-title {
    display: block;
  }
}

@media (min-width: 1536px) {
  .error__404 .do__texts__container .mobile-big-things .left .desktop-title {
    margin-top: 1.25rem;
    height: 200px;
    --tw-scale-x: 1.5 !important;
    --tw-scale-y: 1.5 !important;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y))
      rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
      scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
  }
}

.error__404 .error__container {
  margin-bottom: 78px;
  display: flex;
  max-width: 90%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: Outfit, sans-serif;
  --tw-text-opacity: 1;
  color: rgb(250 250 250 / var(--tw-text-opacity));
}

@media (min-width: 768px) {
  .error__404 .error__container {
    max-width: 60%;
  }
}

@media (min-width: 1024px) {
  .error__404 .error__container {
    margin-bottom: 0px;
    max-width: 100%;
  }
}

.error__404 .error__container h2 {
  font-size: 60px;
  font-weight: 600;
  line-height: 62px;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  .error__404 .error__container h2 {
    font-size: 72px;
    line-height: 82px;
  }
}

@media (min-width: 1024px) {
  .error__404 .error__container h2 {
    font-size: 115px;
    line-height: 146px;
  }
}

.error__404 .error__container h1 {
  margin-bottom: 16px;
  font-size: 92px;
  font-weight: 600;
  line-height: 104px;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  .error__404 .error__container h1 {
    font-size: 170px;
    line-height: 182px;
  }
}

@media (min-width: 1024px) {
  .error__404 .error__container h1 {
    font-size: 237px;
    line-height: 237px;
  }
}

.error__404 .error__container h3 {
  margin-bottom: 12px;
  width: 100%;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 22px;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  .error__404 .error__container h3 {
    text-align: center;
  }
}

@media (min-width: 1024px) {
  .error__404 .error__container h3 {
    align-self: flex-start;
    font-size: 26px;
    line-height: 33px;
  }
}

.error__404 .error__container p {
  margin-bottom: 21px;
  font-size: 16px;
  font-weight: 300;
  line-height: 22px;
}

@media (min-width: 768px) {
  .error__404 .error__container p {
    text-align: center;
  }
}

@media (min-width: 1024px) {
  .error__404 .error__container p {
    margin-bottom: 40px;
  }
}

.error__404 .error__container .button-container-error a {
  height: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 23px;
  padding-right: 23px;
  font-size: 12.66px;
  line-height: 14.8px;
}

@media (min-width: 1024px) {
  .error__404 .error__container .button-container-error a {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 44px;
    padding-right: 44px;
    font-size: 24px;
    line-height: 28px;
  }
}

.error404 #masthead {
  display: none;
}
