@charset "UTF-8";


.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
}

@-webkit-keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%,
  50%,
  100% {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  50% {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }
}

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg);
  }

  40% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  60% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
    transform: rotate(5deg);
  }

  80% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }

  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }
}

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    -ms-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    -ms-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    -ms-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg);
  }

  100% {
    -webkit-transform: scale(1) rotate(0);
    -ms-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }

  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    -ms-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg);
  }

  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    -ms-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg);
  }

  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    -ms-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg);
  }

  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    -ms-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg);
  }

  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    -ms-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg);
  }

  100% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    transform: scale(0.3);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }

  70% {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
  }

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
  }

  80% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    transform: translateX(30px);
  }

  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
    -ms-transform: translateX(30px);
    transform: translateX(30px);
  }

  80% {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
    -ms-transform: translateX(-30px);
    transform: translateX(-30px);
  }

  80% {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  80% {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3);
  }
}

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  25% {
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
  }

  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    -ms-transform: scale(0.3);
    transform: scale(0.3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    -ms-transform: translateY(2000px);
    transform: translateY(2000px);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
  }

  0%,
  40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg)
      scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg)
      scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg)
      scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
  }

  80%,
  100% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
  }
}

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
  }

  0%,
  40% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg)
      scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
  }

  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg)
      scale(1);
    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg)
      scale(0.95);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
  }

  80%,
  100% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  100% {
    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  -ms-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    -ms-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    -ms-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(0);
    -ms-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    -ms-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg);
  }

  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    -ms-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg);
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0);
    -ms-transform: perspective(400px) rotateX(0);
    transform: perspective(400px) rotateX(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    -ms-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -ms-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    -ms-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -ms-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    -ms-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    -ms-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(0%) skewX(0);
    -ms-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0);
    -ms-transform: translateX(0%) skewX(0);
    transform: translateX(0%) skewX(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    -ms-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateIn {
  0% {
    -webkit-transform: rotate(-200deg);
    -ms-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
  }

  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  0% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  0% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
  }

  100% {
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
  }

  100% {
    -webkit-transform: rotate(200deg);
    -ms-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: left bottom;
    -ms-transform-origin: left bottom;
    transform-origin: left bottom;
  }

  100% {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    opacity: 1;
  }

  0%,
  100% {
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  100% {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }

  100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }

  100% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

@keyframes slideOutLeft {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    -ms-transform: translateX(-2000px);
    transform: translateX(-2000px);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

@keyframes slideOutRight {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    -ms-transform: translateX(2000px);
    transform: translateX(2000px);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

@keyframes slideOutUp {
  0% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    -ms-transform: translateY(-2000px);
    transform: translateY(-2000px);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }

  0%,
  20%,
  60% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate(80deg);
    transform: rotate(80deg);
  }

  40% {
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
  }

  40%,
  80% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
  }

  0%,
  20%,
  60% {
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate(80deg);
    -ms-transform: rotate(80deg);
    transform: rotate(80deg);
  }

  40% {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
  }

  40%,
  80% {
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    -ms-transform: rotate(60deg) translateY(0);
    transform: rotate(60deg) translateY(0);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(700px);
    -ms-transform: translateY(700px);
    transform: translateY(700px);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }
}

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    -ms-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    -ms-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0) rotate(0);
    -ms-transform: translateX(0) rotate(0);
    transform: translateX(0) rotate(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    -ms-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

/* --------------------------------------- custom ------------------------------------ */

@keyframes infiniteScroll {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes infiniteScrollRight {
  0% {
    transform: translateX(-100%);
  }

  100% {
    transform: translateX(0%);
  }
}

@-webkit-keyframes tf-ani-flash {
  50%,
  from,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes tf-ani-flash {
  50%,
  from,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes rotate-360 {
  from {
    transform: rotate(0deg) scale(1);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes tf-ani-flash {
  50%,
  from,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes link-icon {
  0% {
    transform: translateX(0);
    opacity: 1;
  }

  49% {
    transform: translateX(20px);
    opacity: 0;
  }

  50% {
    transform: translateX(-20px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@-webkit-keyframes tf-ani-tada {
  from,
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
}

@keyframes tf-ani-tada {
  from,
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
}

.tf-ani-tada {
  -webkit-animation: tf-ani-tada 2s infinite;
  animation: tf-ani-tada 2s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  50% {
    transform: scale(1.05);
    opacity: 0.9;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes fadeInRightBottom {
  0% {
    opacity: 0;
    transform: translate(20px, 20px);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.fadeInRightBottom {
  animation-name: fadeInRightBottom;
}

@keyframes fadeInLeftBottom {
  0% {
    opacity: 0;
    transform: translate(-20px, 20px);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.fadeInLeftBottom {
  animation-name: fadeInLeftBottom;
}

@-webkit-keyframes fadeZoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes fadeZoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.fadeZoom {
  -webkit-animation-name: fadeZoom;
  animation-name: fadeZoom;
}

@keyframes fadeZoomOut {
  0% {
    /* opacity: 0; */
    -webkit-transform: scale(var(--scale-origin, 1.1));
    -ms-transform: scale(var(--scale-origin, 1.1));
    transform: scale(var(--scale-origin, 1.1));
  }

  100% {
    /* opacity: 1; */
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
}

.fadeZoomOut {
  -webkit-animation-name: fadeZoomOut;
  animation-name: fadeZoomOut;
}

.fadeZoomOut-2 {
  --scale-origin: 1.2;
  -webkit-animation-name: fadeZoomOut;
  animation-name: fadeZoomOut;
}

@keyframes a{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@keyframes b{0%{opacity:1;transform:scale(1)}15%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(.5)}}@keyframes c{0%{transform:translate(-50%,-50%) rotate(0)}50%{transform:translate(-50%,-50%) rotate(-180deg)}to{transform:translate(-50%,-50%) rotate(-1turn)}}@keyframes d{0%{transform:scale(1)}10%{transform:scale(1.2) translateX(6px)}25%{transform:scale(1.3) translateX(8px)}40%{transform:scale(1.2) translateX(6px)}50%{transform:scale(1)}60%{transform:scale(.8) translateX(6px)}75%{transform:scale(.7) translateX(8px)}90%{transform:scale(.8) translateX(6px)}to{transform:scale(1)}}@keyframes e{0%{transform:scale(1)}10%{transform:scale(1.2) translateX(-6px)}25%{transform:scale(1.3) translateX(-8px)}40%{transform:scale(1.2) translateX(-6px)}50%{transform:scale(1)}60%{transform:scale(.8) translateX(-6px)}75%{transform:scale(.7) translateX(-8px)}90%{transform:scale(.8) translateX(-6px)}to{transform:scale(1)}}.drift-zoom-pane{background:rgba(0,0,0,.5);transform:translateZ(0);-webkit-transform:translateZ(0)}.drift-zoom-pane.drift-opening{animation:a .18s ease-out;-webkit-animation:a .18s ease-out}.drift-zoom-pane.drift-closing{animation:b .21s ease-in;-webkit-animation:b .21s ease-in}.drift-zoom-pane.drift-inline{border-radius:75px;box-shadow:0 6px 18px rgba(0,0,0,.3);height:150px;position:absolute;width:150px}.drift-loading .drift-zoom-pane-loader{animation:c 1.8s linear infinite;-webkit-animation:c 1.8s linear infinite;display:block;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);width:66px}.drift-zoom-pane-loader:after,.drift-zoom-pane-loader:before{background:hsla(0,0%,100%,.9);border-radius:20px;content:"";display:block;height:20px;margin-top:-10px;position:absolute;top:50%;width:20px}.drift-zoom-pane-loader:before{animation:d 1.8s linear infinite;-webkit-animation:d 1.8s linear infinite;left:0}.drift-zoom-pane-loader:after{animation:e 1.8s linear infinite;-webkit-animation:e 1.8s linear infinite;animation-delay:-.9s;-webkit-animation-delay:-.9s;right:0}.drift-bounding-box{background-color:rgba(0,0,0,.4)}
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */

.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  

  --pswp-root-z-index: 100000;
  
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;

  --pswp-error-text-color: var(--pswp-icon-color);
}


/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/

.pswp {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: var(--pswp-root-z-index);
	display: none;
	touch-action: none;
	outline: 0;
	opacity: 0.003;
	contain: layout style size;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
	display: block;
}

.pswp,
.pswp__bg {
	transform: translateZ(0);
	will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
	background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
	overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
	width: auto;
	height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
	cursor: move;
	cursor: -webkit-grab;
	cursor: -moz-grab;
	cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
	cursor: zoom-out;
}


/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.pswp__item {
	/* z-index for fade transition */
	z-index: 1;
	overflow: hidden;
}

.pswp__hidden {
	display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}
.pswp__content > * {
  pointer-events: auto;
}


/*

  PhotoSwipe UI

*/

/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}
.pswp__error-msg {
	margin: auto;
	font-size: 1em;
	line-height: 1;
	color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
	opacity: 0.005;
	will-change: opacity;
	transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
	z-index: 10; /* always overlap slide content */
	pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
	opacity: 1;
	pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	padding: 0;
	margin: 0;
	overflow: hidden;
	cursor: pointer;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 0.85;
	-webkit-appearance: none;
	-webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
}

.pswp__icn {
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
	outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
	background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 60px;
	display: flex;
  flex-direction: row;
  justify-content: flex-end;
	z-index: 10;

	/* allow events to pass through top bar itself */
	pointer-events: none !important;
}
.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}


/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}


/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}
.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}


/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: 0.8;
}
.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden;
}
.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
}
.mfp-container:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}
.mfp-align-top .mfp-container:before {
    display: none;
}
.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto;
}
.mfp-ajax-cur {
    cursor: progress;
}
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out;
}
.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content {
    cursor: auto;
}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.mfp-loading.mfp-figure {
    display: none;
}
.mfp-hide {
    display: none !important;
}
.mfp-preloader {
    color: #ccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044;
}
.mfp-preloader a {
    color: #ccc;
}
.mfp-preloader a:hover {
    color: #fff;
}
.mfp-s-ready .mfp-preloader {
    display: none;
}
.mfp-s-error .mfp-content {
    display: none;
}
button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: 0;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation;
}
button::-moz-focus-inner {
    padding: 0;
    border: 0;
}
.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #fff;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover,
.mfp-close:focus {
    opacity: 1;
}
.mfp-close:active {
    top: 1px;
}
.mfp-close-btn-in .mfp-close {
    color: #333;
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #fff;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%;
}
.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap;
}
.mfp-arrow {
    position: absolute;
    opacity: 0.65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
    margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1;
}
.mfp-arrow:before,
.mfp-arrow:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
}
.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px;
}
.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7;
}
.mfp-arrow-left {
    left: 0;
}
.mfp-arrow-left:after {
    border-right: 17px solid #fff;
    margin-left: 31px;
}
.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f;
}
.mfp-arrow-right {
    right: 0;
}
.mfp-arrow-right:after {
    border-left: 17px solid #fff;
    margin-left: 39px;
}
.mfp-arrow-right:before {
    border-left: 27px solid #3f3f3f;
}
.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
    top: -40px;
}
.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000;
}
img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto;
}
.mfp-figure {
    line-height: 0;
}
.mfp-figure:after {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444;
}
.mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px;
}
.mfp-figure figure {
    margin: 0;
}
.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto;
}
.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #f3f3f3;
    word-wrap: break-word;
    padding-right: 36px;
}
.mfp-image-holder .mfp-content {
    max-width: 100%;
}
.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer;
}
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0;
    }
    .mfp-img-mobile img.mfp-img {
        padding: 0;
    }
    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0;
    }
    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px;
    }
    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box;
    }
    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0;
    }
    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px;
    }
    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0;
    }
}
@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.75);
        transform: scale(0.75);
    }
    .mfp-arrow-left {
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0;
    }
    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%;
    }
    .mfp-container {
        padding-left: 6px;
        padding-right: 6px;
    }
}

@media (min-width: 1200px) {
  .tf-pd-info.tf-product-info-wrap,
  .tf-section[data-tf-type="product.info"] .tf-product-info-wrap,
  .tf-main-product__info .tf-product-info-wrap {
    max-width: none;
    width: 100%;
    margin-left: 0;
  }
}

html[data-device="desktop"] .tf-pd-info.tf-product-info-wrap,
html[data-device="desktop"] .tf-section[data-tf-type="product.info"] .tf-product-info-wrap,
html[data-device="desktop"] .tf-main-product__info .tf-product-info-wrap,
body[data-device="desktop"] .tf-pd-info.tf-product-info-wrap,
body[data-device="desktop"] .tf-section[data-tf-type="product.info"] .tf-product-info-wrap,
body[data-device="desktop"] .tf-main-product__info .tf-product-info-wrap {
  max-width: none;
  width: 100%;
  margin-left: 0;
}

.tf-pd-buybox {
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
}

.tf-pd-buybox__price {
  padding: 16px 14px 4px;
}

.tf-pd-buybox__price .price-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
}

.tf-pd-buybox__price .price-on-sale {
  font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
  font-weight: 500;
  color: var(--black, #14110e);
  line-height: 1.25;
  word-break: break-word;
}

.tf-pd-buybox .tf-product-total-quantity {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 14px 14px;
  min-width: 0;
}

.tf-pd-buybox .tf-product-total-quantity > .tf-designer-total,
.tf-pd-buybox .tf-product-total-quantity > .tf-preorder,
.tf-pd-buybox .tf-product-total-quantity > .tf-snotify {
  width: 100%;
}

.tf-pd-buybox .group-action {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.tf-pd-buybox .wg-quantity {
  flex: 0 0 auto;
  width: auto;
  min-width: 96px;
  max-width: 120px;
  height: 44px;
  padding: 4px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
}

.tf-pd-buybox .wg-quantity .quantity-product {
  width: 2.4em;
  min-width: 0;
  font-size: 0.92rem;
}

.tf-pd-buybox .btn-action-price,
.tf-pd-buybox__atc {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 1 1 140px;
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 14px !important;
  margin: 0;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

.tf-pd-buybox__atc .bi {
  font-size: 1rem;
  flex: 0 0 auto;
}

.tf-pd-buybox__atc span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.tf-pd-buybox__stock {
  margin: 0;
  padding: 0;
  font-size: 0.78rem;
  color: #6b7280;
  line-height: 1.3;
}

.tf-pd-info--info_2 {
  container: pd-info / inline-size;
  min-width: 0;
  --pd-accent: #007bc4;
  --pd-heading: #1c1c1a;
  --pd-line: #e5e9ed;
  --pd-surface: #f6f8fa;
}

.tf-pd-info--info_2 .tf-pd-info__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-product-info-list.tf-pd-info__grid > :nth-child(n) {
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.tf-pd-info--info_2 .tf-pd-info__heading {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.tf-pd-info--info_2 .tf-pd-info__heading .product-infor-name {
  font-family: inherit;
  font-size: clamp(1.35rem, 3.6cqi, 1.9rem);
  font-weight: 600 !important;
  line-height: 1.35;
  letter-spacing: -0.025em;
  color: var(--pd-heading);
  overflow-wrap: anywhere;
}

.tf-pd-info--info_2 .tf-pd-info__details {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 4px 0;
}

.tf-pd-info--info_2 .tf-pd-info__details > * {
  min-width: 0;
  margin-block: 0;
}

.tf-pd-info--info_2 .product-infor-brand__name {
  font-size: 1rem;
  font-weight: 700;
}

.tf-pd-info--info_2 [data-tf-product-sku],
.tf-pd-info--info_2 .tf-pd-info__categories {
  font-size: 14px;
  line-height: 1.6;
  color: #383838;
  overflow-wrap: anywhere;
}

.tf-pd-info--info_2 .tf-pd-buybox {
  border: 1px solid var(--pd-line);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgb(28 36 48 / 4%);
  background: #fff;
  overflow: hidden;
}

.tf-pd-buybox__header {
  padding: var(--tf-pd-buybox-header-padding-y, 12px) 20px;
  background: var(--tf-pd-buybox-header-background, #edf6fb);
  color: #161616;
  text-align: var(--tf-pd-buybox-header-align, center);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

.tf-pd-buybox__header a {
  color: inherit;
  text-decoration: none;
}

.tf-pd-buybox__header a:hover {
  text-decoration: underline;
}

.tf-pd-info--info_2 .tf-pd-buybox__price {
  padding: 24px;
  text-align: left;
}

.tf-pd-info--info_2 .tf-pd-buybox__price .price-wrap {
  justify-content: flex-start;
  gap: 6px 10px;
}

.tf-pd-info--info_2 .tf-pd-buybox__price .price-on-sale {
  font-size: clamp(1.85rem, 4.8cqi, 2.25rem) !important;
  font-weight: 800 !important;
  color: var(--pd-heading) !important;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.tf-pd-info--info_2 .tf-pd-buybox .tf-product-total-quantity {
  padding: 12px 16px;
  gap: 12px;
  border-top: 1px solid var(--pd-line);
  background: var(--pd-surface);
}

.tf-pd-info--info_2 .tf-pd-buybox .group-action {
  gap: 8px;
}

.tf-pd-info--info_2 .tf-pd-buybox .wg-quantity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 92px;
  min-width: 0;
  height: 42px;
  padding: 0 3px;
  border: 1px solid var(--pd-line);
  border-radius: 8px;
  box-shadow: none;
}

.tf-pd-info--info_2 .tf-pd-buybox .btn-quantity {
  flex: 0 0 28px;
  width: 28px;
  height: 40px;
  padding: 0;
  border-radius: 6px;
  color: #62676b;
  transition: background-color 160ms ease, color 160ms ease;
}

.tf-pd-info--info_2 .tf-pd-buybox .btn-quantity:hover {
  background: var(--pd-surface);
  color: var(--pd-heading);
}

.tf-pd-info--info_2 .tf-pd-buybox .quantity-product {
  width: 28px;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
}

.tf-pd-info--info_2 .tf-pd-buybox__atc {
  flex: 1 1 140px;
  height: 42px;
  padding-inline: 12px !important;
  border-radius: 8px !important;
  text-transform: none;
  border-color: var(--pd-accent) !important;
  background: var(--pd-accent) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  transition: background-color 160ms ease;
}

.tf-pd-info--info_2 .tf-pd-buybox__atc::before {
  background: #0067b0;
}

.tf-pd-info--info_2 .tf-pd-buybox__atc:hover {
  background: #0067b0 !important;
}

.tf-pd-info--info_2 .tf-pd-buybox__atc .bi {
  font-size: 16px;
}

.tf-pd-buybox a:focus-visible,
.tf-pd-buybox button:focus-visible,
.tf-pd-buybox input:focus-visible {
  outline: 2px solid var(--pd-accent, #0079ce);
  outline-offset: -3px;
}

@container pd-info (min-width: 620px) {
  .tf-pd-info--info_2 .tf-pd-info__grid {
    grid-template-columns: minmax(0, 1fr) 320px;
    column-gap: 24px;
  }

  .tf-pd-info--info_2 .tf-pd-info__heading {
    grid-column: 1 / -1;
  }

  .tf-pd-info--info_2 .tf-pd-info__details {
    grid-column: 1;
    grid-row: 2;
  }

  .tf-pd-info--info_2 .tf-pd-info__buy {
    grid-column: 2;
    grid-row: 2 / span 2;
  }

  .tf-pd-info--info_2 .tf-pd-info__grid > :where(:not(.tf-pd-info__heading):not(.tf-pd-info__details):not(.tf-pd-info__buy)) {
    grid-column: 1 / -1;
  }

  .tf-pd-info--info_2 .tf-pd-info__grid:has(> .tf-pd-info__buy) > .tf-pd-info__extras {
    grid-column: 1;
    grid-row: 3;
    gap: 6px 16px;
    padding-block: 0 8px;
  }

  .tf-pd-info--info_2 .tf-pd-info__grid > .tf-pd-info__icons--wide {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .tf-pd-info--info_2 .tf-pd-info__grid:has(> .tf-pd-info__icons--wide) > .tf-pd-info__details {
    grid-row: 3;
  }

  .tf-pd-info--info_2 .tf-pd-info__grid:has(> .tf-pd-info__icons--wide) > .tf-pd-info__buy {
    grid-row: 3 / span 2;
  }

  .tf-pd-info--info_2 .tf-pd-info__grid:has(> .tf-pd-info__icons--wide) > .tf-pd-info__extras {
    grid-row: 4;
  }
}

@media (min-width: 1200px) {
  .tf-main-product--info-buybox .tf-main-product__media,
  .tf-main-product:has(.tf-pd-info--info_2) .tf-main-product__media {
    flex: 0 0 42%;
    width: 42%;
    max-width: 42%;
  }

  .tf-main-product--info-buybox .tf-main-product__info,
  .tf-main-product:has(.tf-pd-info--info_2) .tf-main-product__info {
    flex: 0 0 58%;
    width: 58%;
    max-width: 58%;
  }
}

@media (max-width: 380px) {
  .tf-pd-info--info_2 .tf-pd-buybox .tf-product-total-quantity {
    padding: 12px 16px;
  }

  .tf-pd-info--info_2 .tf-pd-buybox .group-action {
    gap: 10px;
  }
}

.tf-pd-info__icons {
  width: 100%;
  min-width: 0;
}

.tf-pd-info__icons .product-icons.is-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 20px 0 0;
  max-width: 100%;
  overflow: visible;
}

.tf-pd-info__icons .product-icons.is-detail .product-icon {
  flex: 0 0 auto;
  white-space: nowrap;
  min-height: 42px;
  padding: 5px 4px;
  border-radius: 6px;
  background: transparent;
}

.tf-pd-info__icons .product-icons.is-detail .product-icon img {
  width: 32px;
  height: 32px;
}

.tf-pd-info__icons .product-icons.is-detail .pi-value {
  font-size: 15px;
}

.tf-pd-info--info_2 .tf-pd-info__heading {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--pd-line);
}

.tf-pd-info--info_2 .tf-pd-info__brand-rating {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 16px;
}

.tf-pd-info--info_2 .tf-pd-info__brand-rating > .product-infor-brand {
  flex: 1 1 auto;
  min-width: 0;
}

.tf-pd-info--info_2 .tf-pd-info__brand-rating .meta_rate {
  flex: 0 0 auto;
  margin-left: auto;
  white-space: nowrap;
}

.tf-pd-info--info_2 .meta_rate .star-wrap,
.tf-pd-info--info_2 .meta_rate .star-wrap i {
  color: #ffac1c;
}

.tf-pd-info--info_2 .tf-pd-info__identity {
  order: -2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.tf-pd-info--info_2 .tf-pd-info__identity .product-infor-brand {
  margin: 0;
}

.tf-product-info-wrap.tf-pd-info--info_2 .product-infor-brand__logo {
  height: auto;
  max-width: min(120px, 100%);
}

.tf-pd-info--info_2 .tf-pd-info__icons {
  order: -1;
  padding-block: 6px 8px;
  border: 0;
}

.tf-pd-info--info_2 .tf-pd-info__icons .product-icons.is-detail {
  margin: 0;
}

.tf-pd-info--info_2 .tf-pd-info__icons .product-icons.is-detail .product-icon {
  padding: 6px 7px;
  border: 1px solid #e7e9ec;
  background: #f2f3f5;
  color: #1c2430;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-product-variant .variant-picker-values .size-btn:not(.select-item) {
  border-radius: 6px;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-product-variant .variant-picker-values .size-btn:not(.select-item).active {
  background: var(--pd-accent);
  border-color: var(--pd-accent);
  color: #fff;
}

.tf-pd-info--info_2 .product-infor-desc-row {
  flex-wrap: wrap;
  gap: 12px;
}

.tf-pd-info--info_2 .product-infor-desc {
  font-size: 14px;
  line-height: 1.7;
  color: #62676b;
}

.tf-pd-info--info_2 .tf-pd-buybox {
  gap: 0;
}

.tf-pd-info--info_2 .tf-pd-info__extras {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 24px;
}

.tf-pd-info--info_2 .tf-pd-info__extras .product-extra-icon {
  min-height: 36px;
  font-size: 13px;
  gap: 8px;
}

.tf-pd-info--info_2 .tf-product-delivery-return {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 24px;
  padding: 16px;
  border: 1px solid var(--pd-line);
  border-radius: 10px;
  background: var(--pd-surface);
}

.tf-pd-info--info_2 .tf-product-delivery-return .product-delivery {
  flex: 1 1 220px;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 13px;
  line-height: 1.6;
}

.tf-pd-info--info_2 .tf-product-delivery-return .product-delivery i {
  color: var(--pd-accent);
  font-size: 20px;
}

.tf-pd-info--info_2 .tf-pd-info__heading .product-infor-title {
  margin: 0;
}

.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs {
  order: -2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px 0;
  margin: 0;
  padding: 6px 0;
  list-style: none;
}

.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #6b6b6b;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs li + li::before {
  content: "·";
  margin: 0 12px;
  color: #c4c4c4;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
}

.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs li i {
  font-size: 14px;
  line-height: 1;
}

.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="best_seller"] { color: #e85d04; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="new"] { color: #d4a017; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="online_only"] { color: #0284c7; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="discount"],
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="deal"] { color: #dc2626; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="free_shipping"],
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="same_day"] { color: #0d9488; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="express"] { color: #ca8a04; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="limited_stock"] { color: #ea580c; }
.tf-pd-info--info_2 .tf-pd-info__details .product-infor-attrs__label[data-code="preorder"] { color: #7c3aed; }

.tf-pd-info--info_2 .tf-pd-info__heading .product-infor-name {
  text-wrap: pretty;
}

.tf-pd-info--info_2 .tf-pd-info__identity {
  gap: 6px;
}

.tf-pd-info--info_2 .tf-pd-info__icons .product-icons.is-detail {
  gap: 6px;
}

.tf-pd-info--info_2 .tf-pd-info__icons .product-icons.is-detail .product-icon img {
  width: 28px;
  height: 28px;
}

.tf-pd-info--info_2 .tf-pd-info__icons .product-icons.is-detail .pi-value {
  font-size: 13px;
}

.tf-pd-info--info_2 .tf-pd-buybox__header {
  font-size: 14px;
  padding: var(--tf-pd-buybox-header-padding-y, 8px) 16px;
}

.tf-pd-info--info_2 .tf-pd-buybox__price {
  padding: 12px 16px;
}

.tf-pd-info--info_2 .tf-pd-buybox__price .price-wrap {
  justify-content: center;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-pd-buybox .group-action .tf-pd-buybox__atc {
  gap: 6px;
  font-size: 13px !important;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-pd-buybox__variants {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 12px 16px;
  border-bottom: 1px solid var(--pd-line);
  min-width: 0;
}

.tf-pd-info--info_2 .tf-pd-buybox__variants .variant-picker-item {
  min-width: 0;
  margin: 0;
}

.tf-pd-info--info_2 .tf-pd-buybox__variants .variant-picker-label {
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 1.5;
  color: #62676b;
  overflow-wrap: anywhere;
}

.tf-pd-info--info_2 .tf-pd-buybox__variants .variant-picker-label-value {
  color: var(--pd-heading);
  font-weight: 500;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-pd-buybox__variants .variant-picker-values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-pd-buybox__variants .size-btn:not(.select-item) {
  min-width: 40px;
  min-height: 40px;
  height: auto;
  max-width: 100%;
  padding: 8px 12px;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: anywhere;
}

.tf-pd-info--info_2 .tf-pd-buybox__variants .variant-picker-select {
  width: 100%;
}

.tf-pd-info--info_2 .tf-pd-info__categories a {
  color: inherit;
}

.tf-pd-info--info_2 .tf-pd-info__categories a:hover,
.tf-pd-info--info_2 .tf-pd-info__categories a:focus-visible {
  color: var(--pd-accent);
  text-decoration: underline;
}

.tf-pd-info--info_2 .tf-pd-info__extras {
  padding-block: 8px;
  border: 0;
  border-bottom: 1px solid var(--pd-line);
}

.tf-product-info-wrap.tf-pd-info--info_2 .tf-product-trust-seal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.tf-pd-info--info_2 .tf-product-trust-seal .text-seal {
  margin: 0;
  font-size: 12px;
  color: #71777d;
}

.tf-pd-info--info_2 .tf-product-trust-seal .list-card {
  margin: 0;
  gap: 6px;
}

.tf-pd-info__categories {
  --pd-heading: #1c1c1a;
  --pd-accent: var(--primary, #007bc4);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid #edf0f2;
}

.tf-pd-info__categories-label {
  font-size: 12px;
  color: #62676b;
}

.tf-pd-info__category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tf-pd-info__category-list li {
  min-width: 0;
  max-width: 100%;
}

.tf-pd-info__category-list a {
  display: block;
  padding: 7px 12px;
  border: 1px solid #e7e9ec;
  border-radius: 6px;
  color: var(--pd-heading);
  font-size: 12px;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.tf-pd-info__category-list a:hover,
.tf-pd-info__category-list a:focus-visible {
  border-color: var(--pd-accent);
  color: var(--pd-accent);
}

.tf-pd-info--info_2 p.tf-pd-info__categories {
  display: block;
  padding-top: 0;
  border-top: 0;
  gap: 0;
}

.tf-product-buy-more .tf-pd-complementary__title {
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 20px;
}
.tf-product-buy-more.tf-pd-complementary {
  margin-top: 8px;
}
@media(min-width:992px){
.tf-section__slot:has(.tf-product-media-wrap){overflow:visible !important;}
.tf-section--slot-embedded:has(.tf-product-media-wrap){position:sticky !important;top:24px;align-self:flex-start;height:max-content;}
.tf-main-product__media:has(.tf-product-media-wrap){position:sticky;top:24px;align-self:flex-start;height:max-content;}
.tf-product-media-wrap.sticky-top{position:static !important;top:auto !important;}
}
:is(html,body)[data-device="desktop"] .tf-section__slot:has(.tf-product-media-wrap){overflow:visible !important;}
:is(html,body)[data-device="desktop"] .tf-section--slot-embedded:has(.tf-product-media-wrap){position:sticky !important;top:24px;align-self:flex-start;height:max-content;}
:is(html,body)[data-device="desktop"] .tf-main-product__media:has(.tf-product-media-wrap){position:sticky;top:24px;align-self:flex-start;height:max-content;}
:is(html,body)[data-device="desktop"] .tf-product-media-wrap.sticky-top{position:static !important;top:auto !important;}
[data-tf-product-gallery][data-tf-aspect="square"] .tf-product-media-main .swiper-slide .item{aspect-ratio:1/1;display:block;overflow:hidden;}
[data-tf-product-gallery][data-tf-aspect="portrait"] .tf-product-media-main .swiper-slide .item{aspect-ratio:4/5;display:block;overflow:hidden;}
[data-tf-product-gallery][data-tf-aspect="square"] .tf-product-media-main .swiper-slide .item>img,
[data-tf-product-gallery][data-tf-aspect="portrait"] .tf-product-media-main .swiper-slide .item>img{width:100%;height:100%;object-fit:cover;display:block;}
[data-tf-product-gallery][data-tf-lightbox="0"] .tf-product-media-main .swiper-slide .item{cursor:default;}
.tf-product-media-main .swiper-slide .item{position:relative;max-height:min(82vh,760px);overflow:hidden;}
[data-tf-product-gallery][data-tf-aspect="original"] .tf-product-media-main .swiper-slide .item{display:flex;align-items:center;justify-content:center;}
[data-tf-product-gallery][data-tf-aspect="original"] .tf-product-media-main .swiper-slide .item>img{max-height:min(82vh,760px);width:auto;max-width:100%;height:auto;object-fit:contain;margin:0 auto;}
@media (max-width:991.98px){
.tf-product-media-main .swiper-slide .item{max-height:70vh;}
[data-tf-product-gallery][data-tf-aspect="original"] .tf-product-media-main .swiper-slide .item>img{max-height:70vh;}
}
.tf-wm{position:absolute;inset:0;pointer-events:none;z-index:4;display:flex;padding:16px;box-sizing:border-box;}
.tf-wm--top-left{align-items:flex-start;justify-content:flex-start;}
.tf-wm--top-right{align-items:flex-start;justify-content:flex-end;}
.tf-wm--center{align-items:center;justify-content:center;}
.tf-wm--bottom-left{align-items:flex-end;justify-content:flex-start;}
.tf-wm--bottom-right{align-items:flex-end;justify-content:flex-end;}
.tf-wm>img{width:var(--tf-wm-scale,22%);height:auto;max-width:70%;opacity:var(--tf-wm-op,.3);object-fit:contain;}
.tf-wm__txt{opacity:var(--tf-wm-op,.3);color:#fff;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 4px rgba(0,0,0,.45);font-size:calc(10px + var(--tf-wm-scale-num,22) * 0.7px);line-height:1.1;max-width:90%;text-align:center;word-break:break-word;}
.tf-wm--tile{padding:0;background-repeat:repeat;background-position:center;background-size:var(--tf-wm-tile,160px) auto;opacity:var(--tf-wm-op,.3);}
@media (max-width:767.98px){
.tf-wm{padding:10px;}
.tf-wm__txt{font-size:calc(9px + var(--tf-wm-scale-num,22) * 0.5px);}
}

/* === Izgara karisik (fw_grid stacked) duzeltmeleri === */
/* Oran ayari (original/square/portrait) grid moduna karismasin: grid kendi oranini ve cover kirpmasini kullanir */
[data-tf-product-gallery][data-tf-aspect] .product-grid-img .tf-product-media-main .swiper-slide .item{display:block;max-height:none;}
[data-tf-product-gallery][data-tf-aspect] .product-grid-img .tf-product-media-main .swiper-slide .item>img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;margin:0;}
/* One cikan (tam genislik) gorsel dengeli manzara oraninda dursun, asiri uzamasin */
[data-tf-product-gallery] .product-grid-img.grid-img_stacked .tf-product-media-main .swiper-wrapper .swiper-slide:nth-child(3n + 1) .item{aspect-ratio:3/2;}
/* Editor (data-device) kapsami */
:is(html,body)[data-device="desktop"] [data-tf-product-gallery][data-tf-aspect] .product-grid-img .tf-product-media-main .swiper-slide .item,
:is(html,body)[data-device="tablet"] [data-tf-product-gallery][data-tf-aspect] .product-grid-img .tf-product-media-main .swiper-slide .item{display:block;max-height:none;}
:is(html,body)[data-device="desktop"] [data-tf-product-gallery][data-tf-aspect] .product-grid-img .tf-product-media-main .swiper-slide .item>img,
:is(html,body)[data-device="tablet"] [data-tf-product-gallery][data-tf-aspect] .product-grid-img .tf-product-media-main .swiper-slide .item>img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;margin:0;}
:is(html,body)[data-device="desktop"] [data-tf-product-gallery] .product-grid-img.grid-img_stacked .tf-product-media-main .swiper-wrapper .swiper-slide:nth-child(3n + 1) .item,
:is(html,body)[data-device="tablet"] [data-tf-product-gallery] .product-grid-img.grid-img_stacked .tf-product-media-main .swiper-wrapper .swiper-slide:nth-child(3n + 1) .item{aspect-ratio:3/2;}

/* === Sag urun bilgileri sutunu TEK PARCA sticky (masaustu) === */
/* Galerinin bulundugu satirda, galeri OLMAYAN slotu (urun bilgileri + alt sekmeler) bir butun olarak sabitler. */
/* Sol taraf uzun oldugunda (izgara/cok gorsel) sag sutun sabit kalir; sag taraf uzun oldugunda normal akar ve sol galeri kendi sticky'sini korur. */
@media (min-width:992px){
  .tf-section__row:has([data-tf-product-gallery]) > .tf-section__slot:not(:has([data-tf-product-gallery])){
    align-self:flex-start !important;
    position:sticky !important;
    top:24px !important;
    height:max-content !important;
  }
  /* ic info-wrap ayri sticky olmasin ki sutun stickysi ile cakismasin */
  .tf-section__row:has([data-tf-product-gallery]) .tf-product-info-wrap{position:relative !important;top:auto !important;}
}

/* === Forsid Vision — "Hemen Dene" yuvarlak buton (Sepete Ekle yaninda) === */
.forsid-vision-atc-row{display:flex;align-items:stretch;gap:10px;flex:1 1 auto;min-width:0;width:100%;}
.forsid-vision-atc-row > .btn-action-price,
.forsid-vision-atc-row > .tf-btn{flex:1 1 auto;min-width:0;width:auto;}

.forsid-vision-btn{
    --fv-accent:#7c3aed;
    --fv-accent-2:#4f46e5;
    flex:0 0 auto;width:52px;height:52px;margin-right:13px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--fv-accent),var(--fv-accent-2));
    color:#fff;font-size:21px;position:relative;text-decoration:none;
    box-shadow:0 4px 14px rgba(124,58,237,.38);
    animation:fvPulse 2.4s ease-out infinite;
    transition:transform .18s ease,box-shadow .18s ease;
}
.forsid-vision-btn:hover,.forsid-vision-btn:focus-visible{
    transform:translateY(-2px) scale(1.06);color:#fff;
    box-shadow:0 8px 22px rgba(124,58,237,.5);
    animation-play-state:paused;
}
.forsid-vision-btn i{line-height:1;position:relative;z-index:1;}

@keyframes fvPulse{
    0%{box-shadow:0 4px 14px rgba(124,58,237,.38),0 0 0 0 rgba(124,58,237,.55);}
    70%{box-shadow:0 4px 14px rgba(124,58,237,.38),0 0 0 10px rgba(124,58,237,0);}
    100%{box-shadow:0 4px 14px rgba(124,58,237,.38),0 0 0 0 rgba(124,58,237,0);}
}

.forsid-vision-btn[data-fv-tip]::after{
    content:attr(data-fv-tip);position:absolute;bottom:calc(100% + 10px);right:0;left:auto;
    transform:translateY(6px) scale(.96);transform-origin:bottom right;
    background:#18181b;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.2px;
    line-height:1;white-space:nowrap;padding:8px 12px;border-radius:9px;max-width:60vw;
    box-shadow:0 6px 18px rgba(0,0,0,.22);
    opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:6;
}
.forsid-vision-btn[data-fv-tip]::before{
    content:"";position:absolute;bottom:calc(100% + 5px);right:20px;left:auto;
    border:6px solid transparent;border-top-color:#18181b;opacity:0;transition:opacity .18s ease;z-index:6;
}
.forsid-vision-btn:hover[data-fv-tip]::after,.forsid-vision-btn:focus-visible[data-fv-tip]::after{opacity:1;transform:translateY(0) scale(1);}
.forsid-vision-btn:hover[data-fv-tip]::before,.forsid-vision-btn:focus-visible[data-fv-tip]::before{opacity:1;}

@media (max-width:767.98px){.forsid-vision-btn{width:48px;height:48px;font-size:19px;}}
@media (prefers-reduced-motion:reduce){.forsid-vision-btn{animation:none;}}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-action,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-action .tf-tab-title,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-action [data-tf-field="title"],
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tf-btn-tab,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tf-btn-tab [data-tf-field="title"],
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tf-btn-tab,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tf-btn-tab [data-tf-field="title"] {
    color: var(--tf-title-color) !important;
    font-size: var(--tf-title-font-size) !important;
    font-weight: var(--tf-title-font-weight) !important;
    font-family: var(--tf-title-font-family) !important;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content .tf-pd__desc,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content .tf-pd-features,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content .cl-text-5,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content .product-desc_benefit,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content .product-desc_benefit .title,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-content .product-desc_benefit .desc,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane .tf-pd__desc,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane .tf-pd-features,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane .cl-text-5,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane [data-tf-field="content"],
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane .product-desc_benefit,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane .product-desc_benefit .title,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs .tab-pane .product-desc_benefit .desc,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane .tf-pd__desc,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane .cl-text-5,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane [data-tf-field="content"],
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane .product-desc_benefit,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane .product-desc_benefit .title,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-desc-open .tab-pane .product-desc_benefit .desc {
    color: var(--tf-answer-color) !important;
    font-size: var(--tf-answer-font-size) !important;
    font-weight: var(--tf-answer-font-weight) !important;
    font-family: var(--tf-answer-font-family) !important;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-pd__desc,
.tf-section[data-tf-type="product.detail_tabs"] [data-tf-field="content"] {
    line-height: 1.6 !important;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-pd__desc :where(p, li, blockquote, div),
.tf-section[data-tf-type="product.detail_tabs"] [data-tf-field="content"] :where(p, li, blockquote, div) {
    line-height: inherit !important;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-pd__desc :where(h1, h2, h3, h4, h5, h6),
.tf-section[data-tf-type="product.detail_tabs"] [data-tf-field="content"] :where(h1, h2, h3, h4, h5, h6) {
    line-height: 1.2 !important;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_image-list .image-item img,
.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review_image .image-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review_image .image-item {
    width: 148px;
    height: 148px;
    border-radius: 8px;
    overflow: hidden;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-item:has(.collapse.show) .accordion-content {
    padding-bottom: 20px;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-accordion .accordion-item:has(.collapse.show) .product-desc_review .list-comment .box-comment:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .list-tab-btn-1 {
    margin-bottom: 32px;
}

@media (min-width: 1440px) {
    .tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .list-tab-btn-1 {
        margin-bottom: 40px;
    }
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane > .tf-pd__desc,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane > p.cl-text-5 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.7;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features th,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features td {
    padding: 14px 0;
    vertical-align: top;
    border-bottom: 1px solid var(--line-5, #e8e8e8);
    background: transparent;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features tr:last-child th,
.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features tr:last-child td {
    border-bottom: 0;
    padding-bottom: 0;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features th {
    width: 36%;
    padding-right: 24px;
    font-weight: 500;
    text-align: left;
}

.tf-section[data-tf-type="product.detail_tabs"] .tf-product-tabs:not(.tf-product-desc-open) > .tab-content .tab-pane .tf-pd-features td {
    color: var(--text-2, #6b7280);
    font-weight: 400;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review > *:not(:last-child) {
    margin-bottom: 28px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review-rating {
    gap: 32px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_average {
    gap: 4px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_average .rate__number {
    align-items: center;
    gap: 12px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_average .rate__number .h2 {
    font-family: var(--font-instrument-serif, "Instrument Serif", serif);
    font-size: 42px;
    line-height: 1;
    letter-spacing: -0.03em;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_average .star-wrap {
    gap: 3px;
    padding-bottom: 0;
    color: #f5c518;
    font-size: 16px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate__text {
    margin: 6px 0 0;
    color: #737373;
    font-size: 14px;
    line-height: 1.45;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_progress-list {
    gap: 7px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item {
    gap: 10px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item .number-star {
    min-width: 67px;
    justify-content: flex-start;
    gap: 2px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item .number-star .bi {
    color: #f5c518;
    font-size: 11px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item .number-star .bi-star {
    color: #dddcd7;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item .number-percent {
    color: #525252;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item .progress {
    height: 5px;
    background: #e8e6e1;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rate_progress-item .progress-bar {
    background: #2a2927;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review > .br-line {
    opacity: 0.65;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
    row-gap: 16px;
    padding: 24px 0;
    border: 0;
    border-bottom: 1px solid var(--line-5, #e8e8e8);
    background: transparent;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment:hover {
    border-bottom-color: #d4d1ca;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment:not(:last-child) {
    margin-bottom: 0;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment:first-child {
    padding-top: 0;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-left {
    grid-column: 1;
    grid-row: 1;
    width: auto;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-center {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-right {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    text-align: right;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-author {
    margin-bottom: 0;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-author .more {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 10px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-author .author-name {
    margin-bottom: 0;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review-purchase-verified {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #52705e;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review-purchase-verified .bi {
    color: #5d8069;
    font-size: 13px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-review {
    gap: 12px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-review > .star-wrap {
    gap: 3px !important;
    color: #f5c518;
    font-size: 15px !important;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-review .review_text {
    gap: 8px;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-review .review_text .text-1 {
    margin-bottom: 0;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.4;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-review .review_text .text-2 {
    line-height: 1.7;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .comment-action .review_date {
    margin-bottom: 0;
    font-size: 12px !important;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review_image .image-item {
    width: 92px;
    height: 92px;
    border: 1px solid var(--line-5, #e8e8e8);
    border-radius: 10px;
}

@media (max-width: 767px) {
    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment {
        column-gap: 16px;
        row-gap: 14px;
        padding: 20px 0;
    }
}

@media (max-width: 575px) {
    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review > *:not(:last-child) {
        margin-bottom: 22px;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .review-rating {
        gap: 22px;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_average {
        width: 100%;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .rating_average .rate__number .h2 {
        font-size: 40px;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .list-comment .box-comment {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-left,
    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-right {
        width: auto;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-center {
        grid-column: 1 / -1;
        width: 100%;
    }

    .tf-section[data-tf-type="product.detail_tabs"] .product-desc_review .box-comment .col-right {
        text-align: right;
    }
}

.tf-pd-inst { font-family: var(--tf-answer-font-family, inherit); }
.tf-pd-inst__chips {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 0 0 6px; padding-bottom: 16px;
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.tf-pd-inst__chip {
    display: inline-flex; align-items: center; justify-content: center;
    height: 44px; min-width: 88px; padding: 0 16px;
    background: #fff; border: 1px solid rgba(0,0,0,.12);
    border-radius: 10px; cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.tf-pd-inst__chip:hover { border-color: rgba(0,0,0,.3); }
.tf-pd-inst__chip.is-active {
    border-color: var(--tf-title-color, var(--tf-color-text, #111));
    box-shadow: inset 0 0 0 1px var(--tf-title-color, var(--tf-color-text, #111));
}
.tf-pd-inst__chip-logo {
    height: 20px !important; max-height: 20px !important;
    width: auto !important; max-width: 78px !important;
    object-fit: contain !important; display: block;
}
.tf-pd-inst__chip span {
    font-size: .82rem; font-weight: 600;
    color: var(--tf-title-color, var(--tf-color-text, #1a1a18));
    font-family: var(--tf-title-font-family, inherit);
}

.tf-pd-inst__table { width: 100%; border-collapse: collapse; display: none; }
.tf-pd-inst__table.is-active { display: table; }
.tf-pd-inst__table td {
    padding: 13px 4px;
    border-bottom: 1px solid rgba(0,0,0,.06);
    font-family: var(--tf-answer-font-family, inherit);
    vertical-align: baseline;
}
.tf-pd-inst__table tr:last-child td { border-bottom: none; }
.tf-pd-inst__c {
    font-size: .9rem;
    color: var(--tf-answer-color, rgba(0,0,0,.7));
}
.tf-pd-inst__m {
    text-align: right; white-space: nowrap;
    font-size: 1rem; font-weight: 700;
    color: var(--tf-title-color, var(--tf-color-text, #111));
    font-family: var(--tf-title-font-family, inherit);
}
.tf-pd-inst__m small { font-size: .68rem; font-weight: 500; opacity: .55; margin-left: 2px; }
.tf-pd-inst__t {
    text-align: right; white-space: nowrap;
    width: 1%; padding-left: 28px;
    font-size: .8rem; color: rgba(0,0,0,.45);
}
.tf-pd-inst__note {
    margin: 16px 0 0; font-size: .78rem;
    color: var(--tf-answer-color, rgba(0,0,0,.5)); opacity: .8;
}

@media (max-width: 575.98px) {
    .tf-pd-inst__chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .tf-pd-inst__chips::-webkit-scrollbar { display: none; }
    .tf-pd-inst__chip { flex: 0 0 auto; }
    .tf-pd-inst__t { display: none; }
}

.tf-ig {
    --tf-ig-card-w: 220px;
    --tf-ig-card-h: 300px;
    --tf-ig-radius: 22px;
    --tf-ig-gap: 16px;
    --tf-ig-overlay: 42;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.tf-ig__card {
    flex: 0 0 auto;
    width: var(--tf-ig-card-w);
    height: var(--tf-ig-card-h);
    overflow: hidden;
    position: relative;
    border: var(--tf-ig-card-border-width, 1px) solid var(--tf-ig-card-border-color, rgba(255, 255, 255, 0.22));
    border-radius: var(--tf-ig-card-radius, var(--tf-ig-radius));
    box-sizing: border-box;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    background: #1a1a1a;
}

.tf-ig__link {
    display: block;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    position: relative;
    z-index: 1;
    cursor: pointer;
}

.tf-ig__img,
.tf-ig__ph {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tf-ig__ph {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ece7e0;
    color: #8a8178;
    font-size: 13px;
}

.tf-ig__icon {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font-size: 28px;
    color: #fff;
    background: rgba(0, 0, 0, 0.28);
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.tf-ig__card:hover .tf-ig__icon {
    opacity: 1;
}

.infiniteSlide-gallery {
    overflow: hidden;
    max-width: 100%;
}

.infiniteSlide-gallery .infiniteSlide,
.infiniteSlide-gallery .infiniteSlide-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.infiniteSlide-gallery .infiniteSlide > .infiniteSlide-item {
    flex: none;
    display: block;
}

.infiniteSlide-gallery .gallery-v01 {
    border: var(--tf-ig-card-border-width, 0) solid var(--tf-ig-card-border-color, transparent);
    border-radius: var(--tf-ig-card-radius, 8px);
    box-sizing: border-box;
}

.tf-ig--marquee {
    padding: 8px 0;
}

.tf-ig__marquee {
    display: flex;
    width: max-content;
    gap: var(--tf-ig-gap);
    animation: tf-ig-marquee 42s linear infinite;
}

.tf-ig--marquee:hover .tf-ig__marquee {
    animation-play-state: paused;
}

@keyframes tf-ig-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.tf-ig--cinematic {
    min-height: 560px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 48px 0 56px;
    background-color: var(--tf-ig-backdrop, transparent);
}

.tf-ig--cinematic-photo {
    background: #111;
}

.tf-ig__backdrop {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
}

.tf-ig__backdrop--empty {
    background: #1c1c1c;
}

.tf-ig__veil {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, calc(var(--tf-ig-overlay, 42) / 100));
    pointer-events: none;
}

.tf-ig__cinematic-copy {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
    margin-bottom: 28px;
    padding: 0 20px;
}

.tf-ig__eyebrow {
    margin: 0;
    font-size: 12px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    opacity: 0.8;
}

.tf-ig__handle {
    margin: 8px 0 0;
    font-family: var(--font-1, "Instrument Serif", Georgia, serif);
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.1;
}

.tf-ig--cinematic .tf-ig__rail {
    position: relative;
    z-index: 2;
}

.tf-ig__rail {
    display: flex;
    gap: var(--tf-ig-gap);
    overflow-x: auto;
    scrollbar-width: none;
    cursor: grab;
    padding: 8px max(16px, calc(50vw - 640px));
}

.tf-ig__rail::-webkit-scrollbar {
    display: none;
}

.tf-ig__rail.is-dragging,
.tf-ig__stage.is-dragging {
    cursor: grabbing;
}

.tf-ig--cinematic .tf-ig__card {
    --tf-ig-card-w: 200px;
    --tf-ig-card-h: 280px;
}

.tf-ig--coverflow {
    min-height: 480px;
    background: transparent;
    perspective: 1200px;

    overflow: visible;
}

.tf-ig--coverflow:not([data-ig-ready]) .tf-ig__card {
    opacity: 1;
    transform: translate(-50%, -50%);
}

.tf-ig--coverflow:not([data-ig-ready]) .tf-ig__card:nth-child(n+2) {
    opacity: 0.4;
}

.tf-ig--cylinder:not([data-ig-ready]) .tf-ig__card,
.tf-ig--wheel:not([data-ig-ready]) .tf-ig__card {
    opacity: 1;
}

.tf-ig__stage {
    position: relative;
    height: 480px;
    transform-style: preserve-3d;
    touch-action: pan-y;
    overflow: hidden;
}

.tf-ig--coverflow .tf-ig__card {
    position: absolute;
    top: 50%;
    left: 50%;
    --tf-ig-card-w: clamp(260px, 22vw, 340px);
    --tf-ig-card-h: clamp(350px, 30vw, 460px);
    transform-style: preserve-3d;
    backface-visibility: hidden;
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.45s ease, filter 0.45s ease;
}

.tf-ig--cylinder {
    min-height: 380px;
    background: transparent;
    perspective: 1800px;
    display: grid;
    place-items: center;
    overflow: visible;
}

.tf-ig__ring {
    position: relative;
    width: 100%;
    max-width: 1280px;
    height: 280px;
    transform-style: preserve-3d;
    touch-action: pan-y;
    cursor: grab;
}

.tf-ig__ring.is-dragging {
    cursor: grabbing;
}

.tf-ig--cylinder .tf-ig__card {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: calc(var(--tf-ig-card-h) / -2) 0 0 calc(var(--tf-ig-card-w) / -2);
    --tf-ig-card-w: 280px;
    --tf-ig-card-h: 168px;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

.tf-ig--grid {
    padding: 8px 16px 24px;
}

.tf-ig__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin: 0 auto;
}

.tf-ig--grid .tf-ig__card {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    --tf-ig-radius: 14px;
}

.tf-ig--grid .tf-ig__img,
.tf-ig--grid .tf-ig__ph {
    aspect-ratio: 3 / 4;
}

.tf-ig--wheel {
    --tf-ig-wheel-r: 460px;
    min-height: 460px;
    background: transparent;
    overflow: hidden;
}

.tf-ig__wheel-floor {
    position: absolute;
    left: 50%;
    top: calc(74% + var(--tf-ig-wheel-r));
    width: calc(var(--tf-ig-wheel-r) * 2);
    height: calc(var(--tf-ig-wheel-r) * 2);
    margin: calc(var(--tf-ig-wheel-r) * -1) 0 0 calc(var(--tf-ig-wheel-r) * -1);
    border-radius: 50%;
    background: color-mix(in srgb, var(--tf-background, #f2f2f2) 78%, #888);
    box-shadow: inset 0 20px 48px rgba(0, 0, 0, 0.05);
    pointer-events: none;
}

.tf-ig__wheel {
    position: relative;
    z-index: 1;
    height: 460px;
    touch-action: pan-y;
    cursor: grab;
}

.tf-ig__wheel.is-dragging {
    cursor: grabbing;
}

.tf-ig--wheel .tf-ig__card {
    position: absolute;
    left: 50%;
    bottom: 26%;
    margin-left: calc(var(--tf-ig-card-w) / -2);
    --tf-ig-card-w: 148px;
    --tf-ig-card-h: 210px;
    --tf-ig-radius: 18px;
    border: 0;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.18);
    will-change: transform;
}

@media (max-width: 1199px) {
    .tf-ig--coverflow .tf-ig__card {
        --tf-ig-card-w: 260px;
        --tf-ig-card-h: 360px;
    }

    .tf-ig__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .tf-ig {
        --tf-ig-card-w: 168px;
        --tf-ig-card-h: 230px;
    }

    .tf-ig--cinematic {
        min-height: 440px;
        padding: 32px 0 40px;
    }

    .tf-ig--coverflow,
    .tf-ig__stage {
        min-height: 380px;
        height: 380px;
    }

    .tf-ig--coverflow .tf-ig__card {
        --tf-ig-card-w: 200px;
        --tf-ig-card-h: 280px;
    }

    .tf-ig--cylinder,
    .tf-ig__ring {
        min-height: 260px;
        height: 220px;
    }

    .tf-ig--cylinder .tf-ig__card {
        --tf-ig-card-w: 200px;
        --tf-ig-card-h: 120px;
    }

    .tf-ig--wheel,
    .tf-ig__wheel {
        min-height: 380px;
        height: 380px;
        --tf-ig-wheel-r: 320px;
    }

    .tf-ig--wheel .tf-ig__card {
        --tf-ig-card-w: 132px;
        --tf-ig-card-h: 186px;
        bottom: 22%;
    }

    .tf-ig__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .tf-ig__marquee,
    .tf-ig--coverflow .tf-ig__card {
        animation: none;
        transition: none;
    }
}

.tf-quote-modal {
    z-index: 1080;
}

.tf-quote-modal .qf-dialog {
    max-width: 520px;
    margin: 1.75rem auto;
}

.tf-quote-modal .qf-content {
    border: none;
    border-radius: 16px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .12);
}

.tf-quote-modal .qf-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px;
    border-bottom: 1px solid color-mix(in srgb, var(--tf-color-text, #1a1a18) 12%, transparent);
}

.tf-quote-modal .qf-header-left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.tf-quote-modal .qf-product-thumb {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
}

.tf-quote-modal .qf-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    line-height: 1.3;
}

.tf-quote-modal .qf-product-name {
    font-size: 13px;
    color: var(--tf-color-textMuted, #888);
    margin: 2px 0 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
}

.tf-quote-modal .qf-close {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--tf-color-textMuted, #888);
    padding: 4px 8px;
    border-radius: 8px;
    flex-shrink: 0;
}

.tf-quote-modal .qf-body {
    padding: 20px 24px;
    overflow-y: auto;
    max-height: 85vh;
}

.tf-quote-modal .qf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.tf-quote-modal .qf-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.tf-quote-modal .qf-field--wide {
    grid-column: 1 / -1;
}

.tf-quote-modal .qf-input {
    width: 100%;
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    border: 1px solid color-mix(in srgb, var(--tf-color-text, #1a1a18) 14%, transparent);
    border-radius: 10px;
    background: #fafaf8;
    outline: none;
}

.tf-quote-modal .qf-input:focus {
    border-color: var(--tf-color-primary, #111);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--tf-color-primary, #111) 12%, transparent);
}

.tf-quote-modal .qf-input.has-error {
    border-color: #e53e3e;
    background: #fef5f5;
}

.tf-quote-modal .qf-textarea {
    resize: vertical;
    min-height: 72px;
}

.tf-quote-modal .qf-error {
    display: block;
    font-size: 12px;
    color: #e53e3e;
}

.tf-quote-modal .qf-error:empty {
    display: none;
}

.tf-quote-modal .qf-submit {
    margin-top: 16px;
}

.tf-quote-modal .qf-submit:disabled {
    opacity: .6;
    cursor: not-allowed;
}

.tf-quote-modal .qf-success {
    text-align: center;
    padding: 32px 16px;
}

.tf-quote-modal .qf-success-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #ecfdf5;
    display: grid;
    place-items: center;
    margin: 0 auto 16px;
    color: #16a34a;
    font-size: 24px;
}

.tf-quote-modal .qf-success-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 6px;
}

.tf-quote-modal .qf-success-sub {
    font-size: 13px;
    color: var(--tf-color-textMuted, #888);
    margin: 0;
}

.tf-product-offer-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.tf-product-offer-wrap .tf-btn-whatsapp,
.tf-btn.tf-btn-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #25d366 !important;
    border-color: #25d366 !important;
    color: #fff !important;
}

.tf-product-offer-wrap .tf-btn-whatsapp:hover,
.tf-btn.tf-btn-whatsapp:hover {
    background: #1ebe57 !important;
    border-color: #1ebe57 !important;
    color: #fff !important;
}

.tf-product-offer-wrap .tf-btn-whatsapp .bi-whatsapp {
    font-size: 1.15em;
    line-height: 1;
}

@media (max-width: 575.98px) {
    .tf-quote-modal .qf-dialog {
        max-width: 100%;
        margin: .5rem;
    }

    .tf-quote-modal .qf-grid {
        grid-template-columns: 1fr;
    }

    .tf-quote-modal .qf-header,
    .tf-quote-modal .qf-body {
        padding: 18px;
    }

    .tf-quote-modal .qf-product-name {
        max-width: 180px;
    }
}
