.tw {
  text-align: center;
  background-color: #2C2C2C;
  padding-bottom: 100px;
}
.tw .btn {
  width: 180px;
}
.tw img {
  -webkit-user-select: none;
          user-select: none;
}
.tw-top {
  position: relative;
  line-height: 0;
}
.tw-top video {
  width: 100%;
  filter: brightness(0.35);
  transition: 0.5s ease-out;
}
.tw-top-textwrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  text-align: center;
  transition: 0.5s ease-in-out;
}
.tw-top-textwrap__play {
  cursor: pointer;
}
.tw-top-textwrap__h1 {
  font-size: 45px;
  line-height: 52px;
  color: #CAA061;
}
.tw-map {
  position: relative;
  display: inline-block;
  margin-bottom: 100px;
}
.tw-map__img {
  position: relative;
  z-index: 1;
  max-width: 100%;
}
.tw-map-circle {
  position: absolute;
  height: 50px;
  width: 50px;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.tw-map-circle:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform-origin: center;
  z-index: 12;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.6);
  transition: 0.3s ease-out;
}
.tw-map-circle.active {
  z-index: 999;
}
.tw-map-circle.active .tw-map-circle-box {
  visibility: visible;
  opacity: 1;
}
.tw-map-circle.active::after {
  transform: translate(-50%, -50%) scale(0.9);
}
.tw-map-circle:hover:after {
  transform: translate(-50%, -50%) scale(0.9);
}
.tw-map-circle#circle-tree {
  top: 52%;
  left: 17.5%;
}
.tw-map-circle#circle-ring {
  top: 37%;
  left: 41.5%;
}
.tw-map-circle#circle-strings {
  bottom: 38%;
  left: 47%;
}
@media screen and (max-width: 1000px) {
  .tw-map-circle#circle-strings {
    bottom: 36%;
  }
}
.tw-map-circle#circle-curtain {
  bottom: 16%;
  left: 42.5%;
}
@media screen and (max-width: 1000px) {
  .tw-map-circle#circle-curtain {
    bottom: 13%;
  }
}
.tw-map-circle#circle-multi {
  bottom: 33%;
  right: 5%;
}
@media screen and (max-width: 1000px) {
  .tw-map-circle#circle-multi {
    bottom: 30%;
  }
}
.tw-map-circle:last-of-type .tw-map-circle-box {
  right: unset;
  left: -50px;
  transform: translateX(-100%);
}
.tw-map-circle-box {
  visibility: hidden;
  display: flex;
  position: absolute;
  top: 0;
  right: -50px;
  transform: translateX(100%);
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 15px;
  border-radius: 25px;
  background-color: #fff;
  transition: 0.3s ease-out;
  opacity: 0;
}
.tw-map-circle-box__picture img {
  width: 70px;
}
.tw-map-circle-box-textwrap {
  display: flex;
  flex-direction: column;
  text-align: left;
  gap: 5px;
}
.tw-map-circle-box-textwrap__h2 {
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 0;
}
.tw__h2 {
  color: #CAA061;
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 20px;
  text-align: center;
  padding-inline: 1rem;
  margin-top: 50px;
}
.tw__text {
  color: #fff;
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 35px;
  text-align: center;
  padding-inline: 1rem;
}
.tw-items {
  display: flex;
  flex-direction: column;
  gap: 100px;
  padding-inline: 1rem;
  margin-bottom: 120px;
}
.tw-items-wrap {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 150px;
  margin-top: 50px;
}
.tw-items-wrap:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.tw-items-wrap__picture img {
  width: clamp(250px, 100%, 100%);
  transition: all 0.2s ease-in;
}
.tw-items-wrap-textwrap {
  max-width: 350px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.tw-items-wrap-textwrap__name {
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 20px;
  color: #CAA061;
}
.tw-items-wrap-textwrap__claim {
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 30px;
  color: #fff;
}
.tw-items-wrap-textwrap__text {
  font-size: 18px;
  line-height: 25px;
  margin-bottom: 25px;
  color: #fff;
}
.tw-items-middle {
  flex: 1 1 100%;
  flex-direction: column;
  padding-inline: 1rem;
}
.tw-items-middle__h2 {
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 20px;
  color: #CAA061;
}
.tw-items-middle__text {
  color: #fff;
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 20px;
}
.tw-items-middle-brands {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}
.tw-items-wrap-textwrap__picture {
  margin-bottom: 20px;
}
.tw-bottom {
  max-width: 1425px;
  margin-inline: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #F5F5F7 0% 0% no-repeat padding-box;
  border-radius: 25px;
  gap: 150px;
  padding: 25px;
}
.tw-bottom__picture img {
  width: clamp(250px, 100%, 100%);
}
.tw-bottom-textwrap {
  max-width: 440px;
  display: flex;
  flex-direction: column;
  text-align: left;
  align-items: flex-start;
}
.tw-bottom-textwrap__h2 {
  font-size: 30px;
  line-height: 36px;
  margin-bottom: 15px;
}
.tw-bottom-textwrap__text {
  font-size: 18px;
  line-height: 24px;
  margin-bottom: 25px;
}
@media screen and (max-width: 1300px) {
  .tw-bottom {
    margin-inline: 1rem;
  }
}
@media screen and (max-width: 1000px) {
  .tw br {
    display: none;
  }
  .tw-map {
    margin-bottom: 50px;
  }
  .tw-items {
    gap: 25px;
  }
  .tw-items-wrap {
    gap: 50px;
  }
  .tw-bottom {
    gap: 50px;
  }
  .tw-top-textwrap {
    gap: 10px;
  }
}
@media screen and (max-width: 800px) {
  .tw-top {
    overflow-x: hidden;
  }
  .tw-top-textwrap {
    gap: 50px;
  }
  .tw-top-textwrap__h1 {
    font-size: 35px;
    line-height: 42px;
  }
  .tw-top__video {
    height: 80dvh;
    width: unset !important;
    transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
}
@media screen and (max-width: 700px) {
  .tw-map-circle#circle-tree {
    top: 55%;
    left: 55.5%;
  }
  .tw-map-circle#circle-ring {
    top: 38%;
    left: 124.5%;
  }
  .tw-map-circle#circle-strings {
    bottom: 38%;
    left: 143%;
  }
  .tw-map-circle#circle-curtain {
    bottom: 16%;
    left: 127.5%;
  }
  .tw-map-circle#circle-multi {
    bottom: 30%;
    right: -165%;
  }
  .tw-map-circle-box {
    top: -75px !important;
    left: 50% !important;
    right: unset !important;
    transform: translate(-50%, -50%) !important;
  }
  .tw-map {
    overflow-x: auto;
  }
  .tw-map__img {
    width: 300%;
    max-width: unset;
  }
  .tw-items-wrap {
    flex-direction: column-reverse;
    gap: 10px;
  }
  .tw-items-wrap:nth-of-type(2n) {
    flex-direction: column-reverse;
  }
  .tw-items-wrap__picture img {
    max-width: 400px;
  }
  .tw-items-wrap-textwrap {
    max-width: 100%;
    text-align: center;
    align-items: center;
  }
  .tw-items {
    gap: 0;
    margin-bottom: 50px;
  }
  .tw-bottom {
    flex-direction: column-reverse;
  }
  .tw-bottom-textwrap {
    align-items: center;
    text-align: center;
  }
  .tw-bottom__picture img {
    max-width: 400px;
  }
}
@media screen and (max-width: 600px) {
  .tw__h2 {
    font-size: 26px;
    line-height: 32px;
  }
  .tw-items-wrap-textwrap__claim,
  .tw-bottom-textwrap__h2 {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 15px;
  }
  .tw__text,
  .tw-items-wrap-textwrap__text,
  .tw-bottom-textwrap__text {
    font-size: 16px;
    line-height: 22px;
  }
  .tw-top-textwrap {
    gap: 10px;
  }
}
@media (hover: none) {
  /* Hide scrollbar for Chrome, Safari and Opera */
  .tw-map::-webkit-scrollbar {
    display: none;
  }
  /* Hide scrollbar for IE, Edge and Firefox */
  .tw-map {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
  }
  .tw-icon-wrap {
    display: block !important;
    position: relative;
  }
  .tw-icon {
    position: absolute;
    bottom: 125px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 999;
    animation: left 2s linear;
    animation-delay: 1s;
    animation-iteration-count: 5;
  }
}
.tw-icon-wrap {
  display: none;
}
.tw-arrow-down {
  width: 75px;
  padding: 1rem;
}
.tw-arrow-down-wrap {
  animation: wiggle 2s infinite ease-in-out;
}
@keyframes wiggle {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(15px);
  }
}
@keyframes left {
  0%,
  100% {
    transform: translate(-50%, 0);
  }
  33% {
    transform: translate(-75%, 0);
  }
  33% {
    transform: translate(-25%, 0);
  }
}
.aos-init img {
  filter: brightness(0.2);
}
.aos-animate img {
  filter: brightness(1);
}