/* Poppins and Playfair Display */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap&family=Playfair+Display:ital,wght@0,400..900;1,400..900");

html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #fff;
  background: #02151c;
  margin: 0;
  padding: 0;
  position: relative;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
}

.cc-btn,
form input[type="submit"] {
  padding: 0.94vw 3.8vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.52vw;
  font-family: "Poppins", sans-serif;
  font-size: 1.3vw;
  font-weight: 500;
  text-align: center;
  border-radius: 4.17vw;
  color: #000000;
  background-image: linear-gradient(45deg, #b58a3c, #e7d780, #b58a3c, #e7d780);
  background-size: 330% 100%;
  background-position: 0 0;
  transition: background 1.6s cubic-bezier(0.55, 0.1, 0.47, 0.94) !important;
  transition: background 3.6s cubic-bezier(0.97, 0.01, 0.24, 0.99) !important;
  transition: filter 0.3s, transform 0.3s;
  animation: textura 3.4s ease 0s infinite;
  position: relative;
}

@keyframes textura {
  from {
    background-position: 0% 0%;
  }
  to {
    background-position: 100% 0%;
  }
}

.cc-btn img {
  width: 1.35vw;
}

.cc-btn::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  border-radius: 4.17vw;
  box-shadow: 0vw 0.89vw 2.81vw 0vw rgb(210 169 39 / 80%);
  transition: opacity 0.3s;
}

.cc-btn:hover::before {
  opacity: 1;
}

.cc-btn:hover,
form input[type="submit"]:hover {
  /* filter: brightness(115%);
  transform: translateY(-0.52vw); */
}

.line {
  position: relative;
}

.line::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1rem;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, #c7a64b57, #c7a64b, #c7a64b57);
}

.s01 {
  position: relative;
  padding: 6.55vw 0 5.36vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}

.s01-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.s01-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s01 h1 {
  width: 22vw;
}

.s01 h2 {
  width: 34vw;
  padding: 0.6vw 0 0.8vw;
  font-size: 2.2vw;
  line-height: 1.3;
  text-align: center;
}

.s01 p {
  width: 38vw;
  padding: 0 0 2vw;
  font-size: 1.2vw;
  font-weight: 300;
  line-height: 1.4;
  text-align: center;
}

.s02 {
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}

.s02.black {
  background-color: #000a0d;
}

.s02-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.s02-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.s02-intro {
  width: 100%;
  min-height: 25.95vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.s02-info {
  width: 62.5vw;
  padding: 4.4vw 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.s02 h3 {
  padding: 0.6vw 2.02vw;
  font-size: 1.07vw;
  font-weight: 400;
  border: 0.1rem solid #fff;
  border-radius: 1.4vw;
}

.s02 h2 {
  padding: 1.61vw 0 1.43vw;
  font-family: "Playfair Display", serif;
  font-size: 3.41vw;
  font-weight: 700;
  line-height: 1.1;
  background: linear-gradient(
    90deg,
    #7f5924 -22.35%,
    #ac8035 -2.35%,
    #d9b057 19.41%,
    #e8d881 42.35%,
    #d1b563 58.23%,
    #c29345 71.18%,
    #d2b360 83.53%,
    #eadd81 98.24%
  );
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.s02 p.p01 {
  width: 30vw;
  font-size: 1.55vw;
  font-weight: 300;
  line-height: 1.4;
}

/* .s02-row {
  padding: 2.02vw 0 0;
  display: flex;
  gap: 1.67vw;
} */

.s02 .splide {
  width: 62.5vw;
  margin: 2.02vw 0 5.83vw;
  position: relative;
  display: flex;
}

.s02 .splide__track {
  width: 100%;
}

/* .s02 .splide::before,
.s02 .splide::after {
  position: absolute;
  content: "";
  width: 5.95vw;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, #02151c, rgb(2 21 28 / 70%), transparent);
  z-index: 2;
} */

/* .s02 .splide::after {
  left: initial;
  right: 0;
  background-image: linear-gradient(
    270deg,
    #02151c,
    rgb(2 21 28 / 70%),
    transparent
  );
} */

.s02.black .splide::before {
  /* background-image: linear-gradient(90deg, #000A0D, rgb(0 10 13 / 70%), transparent); */
}

.s02.black .splide::after {
  background-image: linear-gradient(
    270deg,
    #000a0d,
    rgb(0 10 13 / 70%),
    transparent
  );
}

.s02 .splide__arrows {
  z-index: 6;
}

.s02 .splide__arrow--prev,
.s02 .splide__arrow--next {
  top: 40%;
}

.s02-item {
  width: 16.43vw;
  position: relative;
}

.s02-item img {
  border-radius: 0.24vw;
}

.s02-item h4 {
  padding: 1vw 0 0.36vw;
  font-family: "Playfair Display", serif;
  font-size: 1.4vw;
  font-weight: 900;
  line-height: 1;
}

/* -------- */
/* -------- */
/* -------- */

.video-container {
  width: 70vw;
  margin: 0 auto;
  border-radius: 1.53vw;
  overflow: hidden;
}

.video-main {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.video-main iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background-color: #000;
}

.cc-lightbox {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-110vw);
  transition: transform 0.3s ease-in-out;
  padding: 2em;
  position: fixed;
  top: 0;
  left: 0;
  color: white;
  background: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  z-index: 994;
}

.cc-lightbox-show {
  transform: translate(0);
}

.cc-lightbox-player {
  /* width: 70vw;
  height: calc(70vw * 0.56);
  max-height: 90vh; */
  position: relative;
}

.cc-lightbox-close {
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
  display: flex;
  width: 4rem;
  height: 4rem;
  background: #5d5d5d;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20;
}

.cc-lightbox-close::before,
.cc-lightbox-close::after {
  content: "";
  position: absolute;
  width: 0.4rem;
  height: 70%;
  top: 50%;
  transition: 0.3s all;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
  background-color: #ddc74e;
}

.cc-lightbox-close::after {
  transform: translateY(-50%) rotate(-45deg);
}

.cc-lightbox-close:hover::after {
  color: #f6157c;
}

.cc-lightbox iframe {
  width: 100%;
  height: 100%;
}

.cc-video-popup {
  cursor: pointer;
}

.cc-video-popup img {
  width: 14.88vw;
  height: 8.33vw;
  object-fit: cover;
}

.cc-video-popup:hover .s10-img img:last-of-type {
  transform: scale(1.1);
  transition: all 0.3s;
}

.cc-video-popup:hover .s10-img::before {
  opacity: 1;
}

.hide-desktop {
  display: none;
}

@media screen and (max-width: 600px) {
  .cc-btn {
    width: 76vw;
    padding: 3.5vw 2.5vw;
    font-size: 4.6vw;
    border-radius: 8vw;
  }
  .cc-btn::before {
    border-radius: 8vw;
  }
  .cc-btn img {
    width: 4.6vw;
  }
  h3 {
    padding: 0 0 8vw;
    font-size: 4.6vw;
  }
  .s01 {
    padding: 12vw 0;
  }
  .s01 h1 {
    width: 46vw;
  }
  .s01 h2 {
    width: 90vw;
    padding: 2vw 0;
    font-size: 6vw;
  }
  .s01 p {
    width: 90vw;
    padding: 0 0 4vw;
    font-size: 4vw;
  }
  .s02-info {
    width: 85.42vw;
    padding: 54.17vw 0 0;
  }
  .s02 h3 {
    padding: 1.25vw 4.58vw;
    font-size: 2.5vw;
    border-radius: 4vw;
  }
  .s02 h2 {
    padding: 3.33vw 0;
    font-size: 7.08vw;
  }
  .s02 p.p01 {
    width: 64%;
    font-size: 3.33vw;
  }
  .s02 .splide {
    width: 85.42vw;
    margin: 5.83vw 0 6vw;
  }
  .s02-item {
    width: 35.83vw;
  }
  .s02-item h4 {
    padding: 2vw 0 1vw;
    font-size: 4.17vw;
  }
  .cc-video-popup img {
    width: 35.83vw;
    height: 20.2vw;
    object-fit: cover;
  }
  .video-container {
    width: 87.5vw;
  }
  .hide-desktop {
    display: flex;
  }
  .hide-mobile {
    display: none;
  }
}
