:root {
  --accent: #CC8869;
  --text: #333;
  --regular-text: 16px;
  --lineheight: 1.65;
  --userfont: roboto-st, sans-serif;
  --systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --padding: 120px;
  --transition: cubic-bezier(.4, 0, 0, 1);
  --index-size: calc(1vh + 1vw);
}

/* gutter 20px (10px + 10px). Comment this code for default gutter start at 1.5rem (24px) wide. 
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { --bs-gutter-x: .625rem; }
.row, .row > * { --bs-gutter-x: 1.25rem; }
*/
@font-face {
  src: url("../fonts/roboto-regular-webfont.woff2") format("woff2");
  font-family: "roboto-st";
  font-weight: 400;
  font-style: normal;
}
@font-face {
  src: url("../fonts/roboto-italic-webfont.woff2") format("woff2");
  font-family: "roboto-st";
  font-weight: 400;
  font-style: italic;
}
@font-face {
  src: url("../fonts/roboto-bold-webfont.woff2") format("woff2");
  font-family: "roboto-st";
  font-weight: 700;
  font-style: normal;
}
@font-face {
  src: url("../fonts/roboto-bolditalic-webfont.woff2") format("woff2");
  font-family: "roboto-st";
  font-weight: 700;
  font-style: italic;
}
@font-face {
  src: url("../fonts/assassin.woff2") format("woff2");
  font-family: "assassin-st";
  font-weight: 700;
  font-style: italic;
}
::-webkit-input-placeholder {
  color: #666;
}
::-moz-placeholder {
  color: #666;
}
:-ms-input-placeholder {
  color: #666;
}
::-ms-input-placeholder {
  color: #666;
}
::placeholder {
  color: #666;
}

::-moz-selection {
  background-color: var(--accent);
  color: #fff;
}

::selection {
  background-color: var(--accent);
  color: #fff;
}

input, textarea {
  outline: none;
}

input:focus:required:invalid, textarea:focus:required:invalid {
  border-color: red;
}

input:required:valid, textarea:required:valid {
  border-color: green;
}

* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, article {
  height: 100%;
}

.showcase {
  background-color: #000;
  height: 100%;
  position: relative;
  color: #fff;
  overflow: hidden;
}
.showcase__content-wrapper {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: var(--padding) 0;
}
.showcase__content-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/glow.png) no-repeat center center;
  background-size: cover;
  -webkit-animation: k-glow 1.8s ease infinite;
          animation: k-glow 1.8s ease infinite;
}
.showcase__header {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 40px;
  z-index: 3;
  font-family: assassin-st, sans-serif;
  font-size: 32px;
  color: rgb(202, 202, 202);
}
.showcase__header span {
  color: var(--accent);
}
.showcase::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  -webkit-box-shadow: inset 0 0 500px #000;
          box-shadow: inset 0 0 500px #000;
}
.showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/light.png) no-repeat center calc(var(--index-size) * -5);
  background-size: cover;
  -webkit-animation: k-light 3s ease infinite;
          animation: k-light 3s ease infinite;
}

@-webkit-keyframes k-light {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 0.3;
  }
}

@keyframes k-light {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.4;
  }
  100% {
    opacity: 0.3;
  }
}
@-webkit-keyframes k-glow {
  0% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 0.6;
  }
}
@keyframes k-glow {
  0% {
    opacity: 0.6;
  }
  50% {
    opacity: 0.8;
  }
  100% {
    opacity: 0.6;
  }
}
video {
  width: 100%;
  height: 100%;
  inset: 0;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.4;
}

.showcase-carousel .swiper-wrapper {
  -webkit-transition: var(--transition);
  -o-transition: var(--transition);
  transition: var(--transition);
}

.showcase-carousel__wrapper {
  will-change: transition, transition-duration, transform;
}
.showcase-carousel__item {
  position: relative;
  height: calc(100vh - var(--padding) * 2);
  text-align: center;
  opacity: 0.2;
  -webkit-transform: scale(0.6);
      -ms-transform: scale(0.6);
          transform: scale(0.6);
  -webkit-transition: opacity 1.2s var(--transition), -webkit-transform 1.2s var(--transition);
  transition: opacity 1.2s var(--transition), -webkit-transform 1.2s var(--transition);
  -o-transition: opacity 1.2s var(--transition), transform 1.2s var(--transition);
  transition: opacity 1.2s var(--transition), transform 1.2s var(--transition);
  transition: opacity 1.2s var(--transition), transform 1.2s var(--transition), -webkit-transform 1.2s var(--transition);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  will-change: transform, transition;
}
.showcase-carousel__item p {
  position: absolute;
  bottom: -85px;
  width: 100%;
  font-family: assassin-st, sans-serif;
  font-size: 32px;
  color: rgb(163, 163, 163);
  text-shadow: rgb(49, 65, 78) 0 0 10px;
}
.showcase-carousel__item::after {
  content: "";
  width: 40vh;
  height: 8vh;
  border-radius: 100%;
  bottom: -3%;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #000;
  -webkit-filter: blur(45px);
          filter: blur(45px);
  z-index: -1;
}
.showcase-carousel__item.swiper-slide-active {
  opacity: 0.8;
  -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
}
.showcase-carousel__image-wrapper > * {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-perspective: 150px;
          perspective: 150px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.showcase-carousel__image {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: contain !important;
}
.showcase-navigation {
  overflow: hidden;
  position: absolute;
  inset: 0;
}
.showcase-navigation > * {
  position: absolute;
  height: 100%;
  width: 10%;
  outline: none;
  cursor: pointer;
  z-index: 4;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.showcase-navigation > *::before {
  content: "?";
  font-family: assassin-st;
  opacity: 0.3;
  -webkit-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
  position: absolute;
  -webkit-transform: rotate(-90deg) translate(-50%);
      -ms-transform: rotate(-90deg) translate(-50%);
          transform: rotate(-90deg) translate(-50%);
  left: 50%;
  top: 50%;
  font-size: 60px;
}
.showcase-navigation > *:last-child::before {
  -webkit-transform: rotate(90deg) translate(-50%, 38%);
      -ms-transform: rotate(90deg) translate(-50%, 38%);
          transform: rotate(90deg) translate(-50%, 38%);
  right: 50%;
}
.showcase-navigation > *:hover::before {
  opacity: 1;
}
.showcase-navigation__prev {
  left: 0;
}
.showcase-navigation__next {
  right: 0;
}
.showcase-navigation > *.swiper-button-disabled::before {
  opacity: 0;
}

@media (max-width: 1400px) {
  .showcase__content {
    max-width: 1200px;
    margin: 0 auto;
  }
  .showcase-carousel__item {
    -webkit-transform: scale(0.4);
        -ms-transform: scale(0.4);
            transform: scale(0.4);
  }
  .showcase-carousel__item.swiper-slide-active {
    -webkit-transform: scale(0.6);
        -ms-transform: scale(0.6);
            transform: scale(0.6);
  }
}