@import url('https://fonts.googleapis.com/css2?family=Philosopher:wght@400;700&family=Rufina:wght@400;700&display=swap');

:root {
  --primary-color: #89cfec;
  --secondary-color: rgb(17, 20, 29);
  --text-white: #ffffff;
  --text-black: #000000;
  --text-body: #111111;
  --primary-strong: #E6E1AA;
  --band-primary: #F4F9FF;
  --bg-footer: #000000;
  --text-accent: #FDF493;
  --gray-7: #54595F;
  --gray-5: #868686;
  --line-art: #333333;
  --fz-14: 14px;
  --fz-15: 15px;
  --fz-16: 16px;
  --fz-18: 18px;
  --fz-20: 20px;
  --fz-24: 24px;
  --fz-26: 26px;
  --fz-36: 36px;
  --fz-40: 40px;
  --fz-48: 48px;
  --fz-75: 75px;
  --rufina-font: 'Rufina', serif;
  --philosopher-font: 'Philosopher', sans-serif;
  --img-width: 760px;
  --img-height-on-mobile: 280px;
  --button-width: 48px;
  --gap-between-img-and-btn: 24px;
  --lightbox-gap-x: 24px;
  --lightbox-gap-y: 36px;
}

.processing::before {
  border-color: var(--gray-5) !important;
}

.row-divided>.col+.col:not(.large-12) {
  border: unset !important;
}

.back-to-top:hover {
  background-color: var(--text-accent) !important;
  border-color: var(--gray-5) !important;
}

.back-to-top i {
  transition: color 0.3s ease !important;
}

.back-to-top:hover i {
  color: var(--text-black);
}

.swiper-pagination {
  position: unset;
  margin-top: 40px;
}

.swiper-pagination-bullet {
  background-color: var(--bg-footer);
}

.row:after {
  display: none !important;
}

.fancybox__dialog {
  width: 100dvw !important;
}

/* Xu ly anh bi lech
.f-panzoom__viewport {
  transform: unset !important;
  height: 100% !important;
} */

.f-panzoom__viewport>img {
  object-fit: cover !important;
}

.f-button {
  width: 48px;
  height: 48px;
}

.f-button.is-next svg,
.f-button.is-prev svg {
  display: none !important;
}

.f-button.is-next::before,
.f-nav-mobile-wrapper>.f-button.is-next::before {
  background-image: url('../../img/arrow-right.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 24px;
  display: block;
  content: "";
}

.f-button.is-prev::before,
.f-nav-mobile-wrapper>.f-button.is-prev::before {
  background-image: url('../../img/arrow-left.svg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 24px;
  height: 24px;
  display: block;
  content: "";
}

.fancybox__carousel>.f-button.is-arrow:before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.gallery-box .box-text {
  display: none;
}

.f-caption {
  text-align: center;
  padding: 24px 15px;
  max-width: 670px;
}

.f-caption-main {
  font-family: var(--rufina-font);
  font-weight: 400;
  font-size: clamp(24px, 2.23vw, 32px);
  line-height: 1.1875;
  letter-spacing: 0;
  color: var(--text-white);
}

.f-caption-sub {
  font-weight: 400;
  font-size: clamp(14px, 1.12vw, 16px);
  line-height: 1.47;
  letter-spacing: 0;
  color: #FFFFFFB3;
  margin-top: 12px;
}

.f-nav-mobile-wrapper>.f-button.is-arrow.is-prev,
.f-nav-mobile-wrapper>.f-button.is-arrow.is-next {
  position: unset;
  transform: unset;
}

.f-nav-mobile-wrapper {
  display: flex;
  gap: 24px;
  min-height: 40px;
}

.f-panzoom__wrapper {
  border-radius: 16px;
  overflow: hidden;
}

/* .f-button.is-prev {
  left: max(20px, calc(50% - calc(var(--img-width) / 2) - var(--button-width) - var(--gap-between-img-and-btn))) !important;
}

.f-button.is-next {
  right: max(20px, calc(50% - calc(var(--img-width) / 2) - var(--button-width) - var(--gap-between-img-and-btn))) !important;
} */

.f-panzoom__wrapper {
  max-width: unset !important;
  max-height: unset !important;
  /* width: 760px !important;
  aspect-ratio: 760/570 !important; */
}

.section+.row:not(.row-collapse) {
  margin-top: 0 !important;
}

input {
  padding: 10px 17px !important;
  min-height: 44px;
  margin-bottom: 0 !important;
}

textarea {
  padding: 12px 17px !important;
  margin-bottom: 0 !important;
}

form {
  margin-bottom: 0 !important;
}

html {
  scroll-behaviour: smooth;
}

/*@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap');
@font-face {
  font-family: 'Cookie';
  src: url('../../font/Cookie-Regular.woff2') format('woff2'),
       url('../../font/Cookie-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}*/

ul li,
ol li {
  list-style: none;
}

body p {
  margin-bottom: 0px;
  font-size: var(--fz-16);
  font-weight: 400;
  line-height: 1.5;
  color: var(--text-white);
}

body a {
  color: var(--text-white);
}

.title-48 {
  font-size: var(--fz-48);
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-heading);
}

.title-40 {
  font-size: var(--fz-40);
  color: var(--text-white);
  line-height: 54px;
  font-weight: 500;
}

.title-36 {
  font-size: var(--fz-36);
  font-weight: 700;
  line-height: 1.5;
}

.title-24 {
  font-size: var(--fz-24);
  font-weight: 700;
  line-height: 1.5;
}

.title-20 {
  font-size: var(--fz-20);
  font-weight: 600;
  line-height: 1.5;
}

.title-18 {
  font-size: var(--fz-18);
  font-weight: 700;
  line-height: 1.5;
}

.title-16 {
  font-size: var(--fz-16);
  font-weight: 400;
  line-height: 45px;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  :root {
    --img-width: 560px;
  }

  /* .f-panzoom__wrapper {
    width: 560px !important;
    aspect-ratio: 560/420 !important;
  } */

  .f-caption-main {
    font-size: clamp(24px, 3.4vw, 28px);
    line-height: 1.22;
  }

  .f-caption-sub {
    font-size: clamp(14px, 1.8vw, 15px);
    margin-top: 8px;
  }
}

@media (max-width: 767px) {
  .section {
    padding: 48px 0px !important;
  }

  .swiper-pagination {
    margin-top: 32px;
  }

  :root {
    --button-width: 40px;
  }

  .f-panzoom__wrapper {
    /* aspect-ratio: 350/280 !important; */
    /* width: calc(100% - 30px) !important; */
    max-width: 350px !important;
    border-radius: 12px;
  }

  .f-button.is-prev {
    left: calc(50% - var(--button-width) - var(--lightbox-gap-x)/2) !important;
  }

  .f-button.is-next {
    right: calc(50% - var(--button-width) - var(--lightbox-gap-x)/2) !important;
  }

  .f-button {
    width: 40px;
    height: 40px;
  }

  .f-caption {
    padding: 0 15px;
  }

  .f-caption-main {
    line-height: 1.25;
  }

  .f-caption-sub {
    line-height: 1.43;
    margin-top: 4px;
  }

  .fancybox__slide {
    gap: 72px;
  }

  input {
    padding: 10px 12px !important;
  }

  textarea {
    padding: 12px !important;
  }
}