/*!
Theme Name: Kattechs
Theme URI: https://www.kattechs.com
Author: Kattechs - Customized theme for Waka Villa
Author URI: https://www.kattechs
Description: Website Designed by <a href="https://web.facebook.com/cv.vannoeur" title="Freelance Developer" target="_blank">Vannoeur</a>
Version: 1.1.39
Text Domain: kattechs
Requires at least: 5.4
Tested up to: 6.0
Requires PHP: 7.2
*/

/*Bootstrap Icons*/
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css");

/* Google Fonts */
/*@import url('https://fonts.googleapis.com/css2?family=Averia+Serif+Libre:wght@400;700&display=swap');*/

@font-face {
    font-family: 'Brandon';
    src: url('./admin_inc/assets/fonts/brandon/BrandonGrotesque-Regular.woff2') format('woff2'),
    url('./admin_inc/assets/fonts/brandon/BrandonGrotesque-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    ascent-override: 100%;
}
@font-face {
    font-family: 'Brandon-Medium';
    src: url('./admin_inc/assets/fonts/brandon/BrandonGrotesque-Medium.woff2') format('woff2'),
    url('./admin_inc/assets/fonts/brandon/BrandonGrotesque-Medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    ascent-override: 100%;
}
@font-face {
    font-family: 'Brandon-Bold';
    src: url('./admin_inc/assets/fonts/brandon/BrandonGrotesque-Bold.woff2') format('woff2'),
    url('./admin_inc/assets/fonts/brandon/BrandonGrotesque-Bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    ascent-override: 100%;
}

/* Futura */
@font-face {
    font-family: 'Futura-Medium';
    src: url('./admin_inc/assets/fonts/futura/FuturaBT-Medium.woff2') format('woff2'),
    url('./admin_inc/assets/fonts/futura/FuturaBT-Medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    ascent-override: 100%;
}

/* Arial */
@font-face {
    font-family: 'Arial-Black';
    src: url('./admin_inc/assets/fonts/arial/Arial-Black.woff2') format('woff2'),
    url('./admin_inc/assets/fonts/arial/Arial-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    ascent-override: 100%;
}

/* Selection */
::selection {
    color: #262626;
    background: #E0D8BF;
    text-shadow: none;
    opacity: 1;
}

/* Variables */
:root {
    /* fonts */
    --font-nav-menu: 'Brandon', sans-serif;
    --font-nav-menu-bold: 'Brandon', sans-serif;

    --font-heading-hili: 'Arial-Black', cursive;
    --font-heading: 'Arial-Black', cursive;
    --font-heading-semibold: 'Arial-Black', cursive;
    --font-heading-bold: 'Arial-Black', cursive;

    --font-body: 'Brandon', sans-serif;
    --font-body-semibold: 'Brandon-Medium', sans-serif;
    --font-body-bold: 'Brandon-Bold', sans-serif;
    --font-button: 'Futura-Medium', cursive;

    /* font sizes */
    --fs-sm: 14px;
    --fs-normal: 17px;
    --fs-md: 18px;
    --fs-lg: 22px;
    --fs-xl: 25px;
    --fs-xxl: 32px;
    --fs-nav-menu: 16.5px;
    --fs-main-slider: 26px;

    /* colors */
    --primary-color: #b0914c; /* #9e813e */
    --secondary-color: #011C26;
    --dark-color: #0c0c0c;
    --dark-color-2: #1c1c1c;
    --white-color: #fff;
    --light-color: #d0cfcf;
    --lighter-color: #F2F5F7;

    /* transition */
    --transition: all .3s ease-in-out;
    --transition-cubic: all .3s cubic-bezier(.29,.22,.11,1);

    /* border radius */
    --border-radius-sm: 2px;
    --border-radius-rounded: 2px;

    /* box shadow */
    --box-shadow: 0 1px 3px rgb(0 0 0 / 10%);
    --box-shadow-hover: 0 1px 3px rgb(0 0 0 / 20%);
}

@media (min-width: 1024px) {
    :root {
        /* font sizes */
        --fs-sm: 14px;
        --fs-normal: 16px;
        --fs-md: 20px;
        --fs-lg: 23px;
        --fs-xl: 32px;
        --fs-xxl: 42px;
        --fs-nav-menu: 17px;
        --fs-main-slider: 48px;
    }
}

body {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: var(--font-body);
    font-size: var(--fs-normal);
    color: var(--dark-color);
    letter-spacing: 0.02rem;
}

strong, b {
    font-family: var(--font-body-bold);
    font-weight: normal;
}

iframe {
    width: 100% !important;
}

h2 {
    font-size: var(--fs-xl);
    text-transform: capitalize;
}

h1, h2, h3, h4 ,h5 ,h6 {
    font-family: var(--font-heading-semibold);
    line-height: 1.24 !important;
}

.single-content h1.elementor-heading-title, .single-content h2.elementor-heading-title, .single-content h3.elementor-heading-title, .single-content h4.elementor-heading-title, .single-content h5.elementor-heading-title, .single-content h6.elementor-heading-title {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.single-content p {
    margin-bottom: 15px !important;
}

.single-content p:last-child {
    margin-bottom: 0 !important;
}

/* Font Weight */
.fw-normal {
    font-weight: normal !important;
}

.fw-bold {
    font-family: var(--font-body-bold) !important;
    font-weight: normal !important;
}

/* Font Size */
.fs-sm {
    font-size: var(--fs-sm) !important;
}

.fs-normal {
    font-size: var(--fs-normal) !important;
}

.fs-md {
    font-size: var(--fs-md) !important;
}

.fs-lg {
    font-size: var(--fs-lg) !important;
}

.fs-xl {
    font-size: var(--fs-xl) !important;
}

.fs-xxl {
    font-size: var(--fs-xxl) !important;
}

/* Button */
.vn-btn-outline .elementor-button-link,
.vn-btn-outline.btn-dark .elementor-button-link {
    border-radius: var(--border-radius-rounded) !important;
    padding: 15px 24px !important;
    text-align: center;
    font-family: var(--font-button);
    font-size: calc(var(--fs-sm) - 2px) !important;
    text-transform: uppercase !important;
    background: var(--white-color);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
    letter-spacing: .087rem;
}

.vn-btn-outline .elementor-button-link {
    color: var(--dark-color) !important;
    border: 1px solid var(--dark-color) !important;
}

.vn-btn-outline.btn-dark .elementor-button-link {
    color: var(--secondary-color) !important;
    border: 1px solid var(--secondary-color) !important;
}

.vn-btn-outline .elementor-button-link:hover {
    color: var(--white-color) !important;
    border: 1px solid var(--primary-color) !important;
    background: var(--primary-color) !important;
}

.vn-btn-outline.btn-dark .elementor-button-link:hover {
    color: var(--white-color) !important;
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.vn-btn-block .elementor-button-link,
.vn-btn-outline.btn-dark .elementor-button-link {
    display: block;
}

.vn-btn-outline .elementor-button-link span {
    line-height: 1.5 !important;
}

.elementor-heading-title span {
    color: var(--dark-color-2);
    margin-bottom: 26px;
    display: block;
    position: relative;
}

.elementor-heading-title span::before {
    content: '';
    width: 80px;
    height: 2px;
    left: 50%;
    bottom: -19px;
    transform: translate(-50%, -50%);
    background: var(--primary-color);
    position: absolute;
}

.small-caps {
    font-variant: small-caps !important;
}

/* Main Page Title */
.main-page-title .elementor-widget:not(:last-child) {
    margin-bottom: 0 !important;
}

/* Breadcrumbs */
.breadcrumb-wrap > * {
    font-family: var(--font-body);
    font-size: var(--fs-normal);
    display: inline-block;
    padding: 4px 10px;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    position: relative;
    z-index: 1;
}

.breadcrumb-wrap > *::before {
    content: '';
    width: 100%;
    height: 100%;
    background: var(--secondary-color);
    border-radius: var(--border-radius-sm);
    border: 2px solid var(--secondary-color);
    top: 0;
    left: 0;
    position: absolute;
    opacity: .76;
    z-index: -1;
}

.breadcrumb-wrap a {
    color: var(--light-color);
}

.breadcrumb-wrap a:hover, .breadcrumb-wrap a:focus {
    color: var(--primary-color);
    text-decoration: none;
}

/* Navigation Header */
.transparent-header .site-top-header-wrap .site-header-row-container-inner {
    color: var(--light-color);
    padding: 10px 0;
    background: var(--secondary-color);
    -webkit-box-shadow: 0px 0px 8px 0px rgb(50 50 50 / 75%);
    box-shadow: 0px 0px 8px 0px rgb(50 50 50 / 75%);
}

/* #masthead .kadence-sticky-header.item-is-fixed.item-at-start > .site-header-row-container-inner */
.transparent-header .site-main-header-wrap .site-header-row-container-inner {
    background: linear-gradient(180deg, rgb(5 19 23) 0%, rgb(5 19 23 / 0%) 100%);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

/* .site-header-upper-inner-wrap.child-is-fixed .site-main-header-wrap */
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
    background: var(--secondary-color);
    opacity: 1;
    -webkit-box-shadow: 0 0 2px var(--secondary-color) !important;
    box-shadow: 0 0 2px var(--secondary-color) !important;
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.main-navigation .primary-menu-container > ul > li.menu-item > a,
.secondary-navigation .secondary-menu-container > ul > li.menu-item > a {
    font-size: var(--fs-nav-menu);
    font-family: var(--font-nav-menu);
    font-weight: normal;
    text-transform: capitalize;
    color: var(--light-color);
    letter-spacing: 0.02rem;
}

.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
.secondary-navigation .secondary-menu-container > ul > li.menu-item.current-menu-item > a {
    font-family: var(--font-nav-menu-bold) !important;
    color: var(--primary-color) !important;
}

/* Button */
#main-header .header-button.button-style-outline,
.button.button-style-outline {
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    border-radius: var(--border-radius-rounded);
    padding: 10px 25px;
    text-transform: capitalize;
    font-family: var(--font-nav-menu);
    font-size: var(--fs-nav-menu);
    letter-spacing: 0.02rem;
    background: transparent;
    transition: var(--transition);
}

#main-header .header-button.button-style-outline:hover,
.button.button-style-outline:hover {
    color: var(--white-color) !important;
    border-color: var(--primary-color) !important;
    background: var(--primary-color) !important;
}

#main-header .header-button.button-style-filled,
.button.button-style-filled {
    border: 1px solid var(--primary-color) !important;
    border-radius: 0;
    padding: 10px 25px;
    background: var(--primary-color);
    transition: var(--transition);
}

#main-header .header-button.button-style-filled:hover,
.button.button-style-filled:hover {
    color: var(--primary-color);
    border-color: var(--white-color) !important;
    background: var(--white-color);
}

/* Mobile Menu */
.mobile-navigation a {
    font-family: var(--font-nav-menu);
    font-weight: normal;
    font-size: calc(var(--fs-nav-menu) + 1px);
}

.mobile-toggle-open-container .menu-toggle-open .kadence-svg-iconset svg {
    transform: rotate(90deg);
}

.mobile-toggle-open-container .menu-toggle-open {
    padding: 6.5px !important;
}

/* Main Slider */
.main-slider .swiper-slide-inner {
    padding: 0 !important;
}

.main-slider h1, .main-slider .elementor-slide-heading {
    font-family: var(--font-heading-hili) !important;
    font-size: var(--fs-main-slider) !important;
    font-weight: normal !important;
    margin: 0 0 .4em !important;
	font-variant: small-caps !important;
}

.main-slider p, .main-slider .elementor-slide-description {
    font-size: var(--fs-md) !important;
    font-family: var(--font-body) !important;
    margin-bottom: 0 !important;
}

.main-slider .swiper-pagination-bullet {
    width: 34px !important;
    height: 5px !important;
    border-radius: 0 !important;
    background: var(--light-color) !important;
}

.main-slider .swiper-container-horizontal>.swiper-pagination-bullets {
    bottom: 31px !important;
}

@media (min-width: 1024px) {
    .main-slider .swiper-container-horizontal>.swiper-pagination-bullets {
        bottom: 72px !important;
    }
}

/* Page Banner */
span.elementor-heading-title {
    font-family: var(--font-heading-semibold);
    text-transform: capitalize;
    font-size: var(--fs-xl) !important;
    text-transform: uppercase;
    line-height: 1.5;
}

/* WAKA - Footer */
.waka-footer * {
    color: var(--light-color) !important;
    margin: 0;
}

.waka-footer h3 {
    font-family: var(--font-heading);
    font-size: var(--fs-lg) !important;
}

@media (max-width: 767px) {
    .waka-footer h3 {
        font-size: 22px !important;
        line-height: 1.5 !important;
    }
}

.waka-footer h3 span {
    display: inline-block;
    margin: 0;
}
.waka-footer h3 span::before {
    display: none !important;
}
.waka-footer h3 span.small-caps {
    font-variant: small-caps;
}

.waka-footer p {
    margin-bottom: 10px;
}

.waka-footer p:last-child {
    margin-bottom: 0;
}

.waka-footer ul li {
    margin-bottom: 10px !important;
}

.waka-copyright * {
    color: var(--light-color);
    margin: 0;
}

.waka-copyright a {
    color: var(--primary-color) !important;
}

.waka-copyright a:hover {
    color: var(--white-color);
    text-decoration: underline;
}

@media (min-width: 1024px) {
    .kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding a.brand img:not(.svg-logo-image) {
        padding: 10px 0;
    }

    h1, h2, h3, h4 ,h5 ,h6 {
        line-height: 1.25 !important;
    }
}

/* Custom Elementor By Vannoeur */
.vn-bg-img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

.waka-villa-grid {
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    border: 12px solid var(--lighter-color);
}

.waka-villa-grid__img {
    position: relative;
    overflow: hidden;
}

.waka-villa-grid__img a::before {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: transparent;
    position: absolute;
    z-index: 1;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-villa-grid__img img {
    transform: scale(1);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-villa-grid:hover .waka-villa-grid__img img {
    transform: scale(1.045);
    opacity: 0.88;
}

.waka-villa-grid__info {
    left: 0;
    bottom: 0;
    position: absolute;
    z-index: 1;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: rgb(242 245 247 / 91%);
}

.waka-villa-grid__info div {
    line-height: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 0;
    overflow: hidden;
}

@media (max-width: 400px) {
    .waka-villa-grid__info div {
        font-size: 80%;
    }
}

.waka-villa-grid__body {
    text-align: center;
    padding: 18px 18px 20px;
    background: var(--white-color);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-villa-grid:hover .waka-villa-grid__body {
    background: var(--lighter-color);
}

.waka-villa-grid__body > .title {
    font-size: var(--fs-normal);
    font-family: var(--font-heading-semibold);
    margin-bottom: 10px;
    line-height: 1.25;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.waka-villa-grid__body > .description {
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.waka-villa-grid__body > .footer a {
    display: block;
}

.li-has-space ul {
    padding-left: 2px !important;
}

.li-has-space ul li {
    line-height: 1.8;
    position: relative;
    list-style: none;
    padding-left: 18px;
}

.li-has-space ul li::before {
    content: '';
    width: 5px;
    height: 5px;
    left: 0;
    top: 10px;
    transform: rotate(45deg);
    background: var(--primary-color);
    position: absolute;
}

.elementor-skin-slideshow .elementor-thumbnails-swiper .swiper-slide {
    border-radius: 2px;
}

/* Waka Villa - Carousel */
.waka-villa-carousel .vn-btn-outline.btn-dark .elementor-button-link {
    border-radius: var(--border-radius-rounded) !important;
}

.waka-villa-carousel .owl-nav.disabled+.owl-dots {
    margin: 38px 0 0;
}

.waka-villa-carousel .owl-dots .owl-dot span {
    width: 22px;
    height: 12px;
    margin: 5px 3px;
    border-radius: 1px;
    background: var(--secondary-color) !important;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-villa-carousel .owl-dots .owl-dot.active span {
    width: 35px;
    background: var(--primary-color) !important;
}

/* Waka Villa - List View */
.waka-villa-list {
    background: var(--white-color);
    margin-bottom: 30px;
    border-radius: var(--border-radius-rounded);
    outline: 4px solid var(--white-color);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
    overflow: hidden;
}

.waka-villa-list:last-child {
    margin-bottom: 0;
}

.waka-villa-list:hover {
    -webkit-box-shadow: var(--box-shadow-hover);
    box-shadow: var(--box-shadow-hover);
}

.waka-villa-list__img {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.waka-villa-list__img img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-villa-list:hover .waka-villa-list__img img {
    transform: scale(1.012);
    filter: brightness(.88);
}

.waka-villa-list__body {
    width: 100%;
    height: 100%;
    padding: 26px;
    background: url('./admin_inc/assets/images/texture.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center center;
    background-color: var(--white-color);
}

.waka-villa-list__body .title {
    font-size: var(--fs-lg);
    font-family: var(--font-heading-semibold);
    line-height: 1.3;
    margin-bottom: 15px;
}

.waka-villa-list__body .title a {
    color: var(--dark-color) !important;
}

.waka-villa-list__body .title a:hover, .waka-villa-list__body .title a:focus {
    color: var(--primary-color) !important;
}

.waka-villa-list__body .description {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.waka-villa-list__body .facility {
    margin-top: 15px;
    margin-bottom: 20px;
}

.waka-villa-list__body .facility .facility__title {
    font-size: var(--fs-md);
    font-family: var(--font-heading);
    margin: 20px 0 10px 0;
}

.waka-villa-list__body .facility ul {
    padding-left: 2px;
}

.waka-villa-list__body .facility ul li {
    list-style: none;
    line-height: 1.78;
    position: relative;
}

@media (min-width: 992px) {
    .waka-villa-list__body .facility ul li {
        width: 49%;
        display: inline-block;
    }
}

.waka-villa-list__body .facility ul li i {
    width: 100%;
    max-width: 20px;
    font-size: 17px;
    display: inline-block;
}

.waka-villa-list__body .footer .vn-btn-outline .elementor-button-link {
    display: inline-block !important;
}

/* Waka Dining - List View */
.waka-dining-list {
    background: var(--white-color);
    margin-bottom: 30px;
    border-radius: var(--border-radius-rounded);
    outline: 3px solid var(--white-color);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
    overflow: hidden;
}

.waka-dining-list:last-child {
    margin-bottom: 0;
}

.waka-dining-list:hover {
    -webkit-box-shadow: var(--box-shadow-hover);
    box-shadow: var(--box-shadow-hover);
}

.waka-dining-list__img {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.waka-dining-list__img img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-dining-list:hover .waka-dining-list__img img {
    transform: scale(1.012);
    filter: brightness(.88);
}

.waka-dining-list__img .waka-dining-list-gallery {
    position: relative;
    overflow: hidden;
}

.waka-dining-list__img .waka-dining-list-gallery .owl-nav .disabled{
    color: var(--light-color) !important;
    opacity: 1;
}

.waka-dining-list__img .waka-dining-list-gallery .owl-nav {
    right: 0;
    bottom: -2px;
    margin: 0;
    background: var(--secondary-color);
    border-top-left-radius: var(--border-radius-sm);
    border: 2px solid var(--white-color);
    position: absolute;
    overflow: hidden;
    z-index: 1;
}

.waka-dining-list__img .waka-dining-list-gallery .owl-nav::before {
    content: '';
    width: 2px;
    height: 10px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: var(--light-color);
    position: absolute;
    z-index: 1;
}

.waka-dining-list__img .waka-dining-list-gallery .owl-nav .owl-prev,
.waka-dining-list__img .waka-dining-list-gallery .owl-nav .owl-next {
    width: 38px;
    height: 38px;
    line-height: 1;
    border-radius: 0;
    margin: 0 !important;
    background: var(--lighter-color);
    color: var(--secondary-color);
    font-size: var(--fs-normal);
    display: inline-block;
}

.waka-dining-list__body {
    width: 100%;
    height: 100%;
    padding: 30px;
    background: url('./admin_inc/assets/images/texture.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center center;
    background-color: var(--white-color);
}

.waka-dining-list__body .title {
    font-size: var(--fs-lg);
    font-family: var(--font-heading-semibold);
    line-height: 1.25;
    margin-bottom: 0;
}

.waka-dining-list__body .title a {
    color: var(--dark-color) !important;
}

.waka-dining-list__body .title a:hover, .waka-dining-list__body .title a:focus {
    color: var(--primary-color) !important;
}

.waka-dining-list__body .description {
    margin: 14px 0 24px;
    /*display: -webkit-box;*/
    /*-webkit-box-orient: vertical;*/
    /*-webkit-line-clamp: 10;*/
    overflow: hidden;
}

.waka-dining-list__body .footer .vn-btn-outline .elementor-button-link {
    display: inline-block !important;
}

/* Waka Spa - Grid View */
.waka-spa-grid {
    position: relative;
    border-radius: var(--border-radius-sm);
}

.waka-spa-grid__img {
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
}

.waka-spa-grid__img img {
    width: 100% !important;
    border-radius: var(--border-radius-sm) !important;
    height: 314px !important;
    object-fit: cover;
    overflow: hidden;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.waka-spa-grid:hover .waka-spa-grid__img img {
    transform: scale(1.012);
    filter: brightness(.88);
}

.waka-spa-grid__body {
    width: 95%;
    height: 100%;
    padding: 24px;
    margin: -56px auto 30px;
    position: relative;
    background: url('./admin_inc/assets/images/texture.png');
    background-size: contain;
    background-repeat: repeat;
    background-position: center center;
    background-color: var(--white-color);
    border-radius: var(--border-radius-sm);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
    overflow: hidden;
}

.waka-spa-grid:hover .waka-spa-grid__body {
    -webkit-box-shadow: var(--box-shadow-hover);
    box-shadow: var(--box-shadow-hover);
}

.waka-spa-grid__body .title {
    font-size: var(--fs-md);
    font-family: var(--font-heading-semibold);
    line-height: 1.25;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.waka-spa-grid__body .title a {
    color: var(--dark-color) !important;
}

.waka-spa-grid__body .title a:hover, .waka-spa-grid__body .title a:focus {
    color: var(--primary-color) !important;
}

.waka-spa-grid__body .description {
    margin: 14px 0 24px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.elementor-widget-VN_get_spa_item_list_view .post-pagination {
    margin: 22px 0;
}

/* Post Pagination */
.post-pagination ul {
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.post-pagination ul li {
    list-style: none;
}

.post-pagination ul li > * {
    display: block;
    width: 44px;
    height: 44px;
    line-height: 46px;
    text-align: center;
    margin: 5px 6px;
    font-size: var(--fs-normal);
    border-radius: var(--border-radius-sm);
    background: var(--white-color);
}

.post-pagination ul li span {
    color: var(--white-color);
    background: var(--secondary-color);
    outline: 2px solid var(--secondary-color);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
}

.post-pagination ul li span.dots {
    color: var(--secondary-color);
    background: transparent;
    outline: none;
    margin: 0;
}

.post-pagination ul li a {
    color: var(--secondary-color);
    outline: 2px solid var(--secondary-color);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
}

.post-pagination ul li a:hover, .post-pagination ul li a:focus {
    color: var(--light-color);
    background: var(--secondary-color);
    outline: 2px solid var(--secondary-color);
}

/* Promotion Offers */
.promotion {
    border: 4px solid var(--white-color);
    border-radius: var(--border-radius-rounded);
    margin-bottom: 8px;
    position: relative;
    overflow: hidden;
    -webkit-transition: all .8s cubic-bezier(.29,.22,.11,1);
    -moz-transition: all .8s cubic-bezier(.29,.22,.11,1);
    transition: all .8s cubic-bezier(.29,.22,.11,1);
}

.promotion__img {
    position: relative;
}

.promotion__img::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(0,0,0,0.1);
    -webkit-transition: all .8s cubic-bezier(.29,.22,.11,1);
    -moz-transition: all .8s cubic-bezier(.29,.22,.11,1);
    transition: all .8s cubic-bezier(.29,.22,.11,1);
}

.promotion:hover .promotion__img::after {
    background: var(--secondary-color);
    opacity: 0.8;
}

.promotion__img img {
    width: 100% !important;
    height: 292px !important;
    object-fit: cover !important;
    transform: scale(1);
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.promotion:hover .promotion__img img {
    transform: scale(1.045);
    opacity: 0.88;
}

.promotion__body {
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 18px;
    text-align: center;
    background-image: linear-gradient(rgb(0 0 0 / 0%),rgb(29 34 40 / 80%));
    position: absolute;
    z-index: 1;
}

.promotion__body .title h3 {
    font-family: var(--font-heading-semibold);
    font-size: var(--fs-sm);
    line-height: 1.25;
    margin-bottom: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.promotion__body .title {
    padding: 10px;
    display: block;
    background: var(--white-color);
    border-radius: var(--border-radius-rounded);
}

.promotion__body .title > div {
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    border-top: 2px dotted transparent;
    overflow: hidden;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.promotion:hover .promotion__body .title > div {
    max-height: 73px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px dotted var(--dark-color);
}

.promotion-carousel .owl-nav.disabled+.owl-dots {
    margin: 38px 0 0;
}

.promotion-carousel .vn-btn-outline.btn-dark .elementor-button-link {
    border-radius: var(--border-radius-rounded) !important;
}

.promotion-carousel .owl-dots .owl-dot span {
    width: 22px;
    height: 12px;
    margin: 5px 3px;
    border-radius: 1px;
    background: var(--secondary-color) !important;
    -o-transition: var(--transition);
    -ms-transition: var(--transition);
    transition: var(--transition);
}

.promotion-carousel .owl-dots .owl-dot.active span {
    width: 35px;
    background: var(--primary-color) !important;
}

@media (min-width: 1024px) {
    .vn-bg-img {
        height: 294px !important;
    }
}

.elementor-widget-VN_get_promotion_item_grid_view .promotion,
.elementor-widget-VN_get_promotion_item_grid_view .post-pagination {
    margin-bottom: 30px;
}

/* Gallery */
a.elementor-item.elementor-gallery-title {
    background: var(--white-color);
    border-radius: var(--border-radius-rounded);
    border: 1px solid var(--secondary-color);
	margin-bottom: 10px;
}

a.elementor-item.elementor-gallery-title.elementor-item-active {
    color: var(--white-color) !important;
    background: var(--secondary-color);
}

.e-gallery-item.elementor-gallery-item {
    outline: 2px solid var(--white-color);
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
    position: relative;
    overflow: hidden;
}

/* Q & A */
.elementor-accordion {
    overflow: hidden;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.elementor-accordion .elementor-accordion-item {
    border: 2px solid var(--secondary-color) !important;
    margin-bottom: 15px;
    box-shadow: var(--box-shadow);
    border-radius: 4px !important;
    overflow: hidden;
}
.elementor-accordion .elementor-accordion-title {
    font-size: var(--fs-md) !important;
    font-weight: normal !important;
}
.elementor-accordion .elementor-tab-content {
    background-color: var(--lighter-color) !important;
    border-top: 2px solid var(--secondary-color) !important;
    font-size: calc(var(--fs-normal) + 1px) !important;
}

/* Slider Nav */
.elementor-image-carousel-wrapper .elementor-swiper-button {
    width: 32px;
    height: 40px;
    font-size: 16px !important;
    text-align: center;
    line-height: 40px;
    display: block !important;
    background: rgb(21 30 38 / 31%);
    border-radius: var(--border-radius-rounded);
}
.elementor-image-carousel-wrapper .elementor-swiper-button:hover, .elementor-image-carousel-wrapper .elementor-swiper-button:focus {
    background: var(--secondary-color);
}

.elementor-swiper .elementor-swiper-button {
    width: 32px;
    height: 40px;
    font-size: 16px !important;
    text-align: center;
    line-height: 40px;
    display: block !important;
    background: rgb(21 30 38 / 31%);
    border-radius: var(--border-radius-rounded);
}
.elementor-swiper .elementor-swiper-button:hover, .elementor-swiper .elementor-swiper-button:focus {
    background: var(--secondary-color);
}
.elementor-swiper .elementor-swiper-button i, .elementor-image-carousel-wrapper .elementor-swiper-button i {
	line-height: 2.5 !important;
}

/* Single Room */
.single-room__desc {
    padding: 15px;
    background: var(--white-color);
    border-radius: var(--border-radius-rounded);
}
.single-room__desc span.elementor-heading-title {
    font-size: var(--fs-md) !important;
}

/* CookieYes */
.cky-notice .cky-title {
	font-family: var(--font-heading-semibold) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
}
.cky-consent-bar .cky-notice-des p, .cky-gpc-wrapper .cky-gpc-desc p, .cky-preference-body-wrapper .cky-preference-content-wrapper p, .cky-accordion-header-wrapper .cky-accordion-header-des p, .cky-cookie-des-table li div:last-child p {
	font-size: 15px !important;
}
.cky-notice-btn-wrapper .cky-btn, .cky-prefrence-btn-wrapper .cky-btn {
	font-size: 15px !important;
}

.cky-preference-header .cky-preference-title {
	font-family: var(--font-heading-semibold) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
}
.cky-accordion-header .cky-accordion-btn {
	font-family: var(--font-heading-semibold) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
}
.cky-consent-bar .cky-notice-des p, .cky-gpc-wrapper .cky-gpc-desc p, .cky-preference-body-wrapper .cky-preference-content-wrapper p, .cky-accordion-header-wrapper .cky-accordion-header-des p, .cky-cookie-des-table li div:last-child p {
	font-size: 15px !important;
}