@import url(https://fonts.googleapis.com/css2?family=Jost:wght@400;600;800&amp;display=swap);

:root {
    --brand: #be2129;
    --brand-dark: #be2129;
    --white: #fff;
    --black: #141414;
    --text-muted: #666;
    --surface: #f5f3ec;
    --border: #ddd;
    --white-rgb: 255 255 255;
    --black-rgb: 0 0 0;

    /* Minimal compatibility aliases (brand family only) */
    --color-brand-900: var(--black);
    --color-brand-800: var(--brand-dark);
    --color-brand-700: var(--brand-dark);
    --color-brand-600-rgb: var(--brand);
    --color-brand-500-rgb: var(--brand);
    --color-brand-400-rgb: var(--brand);
    --color-brand-700-rgb: var(--brand);
}

input[type=checkbox],
input[type=radio] {
    width: 18px;
    height: 18px;
    margin-right: 4px;
    transform: translateY(3px);
    background: var(--surface);
    appearance: none
}

input[type=text],
select {
    width: 420px;
    padding: 0 30px
}

select,
select:focus {
    background-size: 5px 5px, 5px 5px, 1px 40px;
    background-repeat: no-repeat
}

a,
a:hover,
body {
    color: var(--black)
}

.custom-button:hover,
.navbar .site-menu ul li a:hover,
.newsletter-box small a:hover,
.slider a:hover,
a:hover {
    text-decoration: none
}

.event-headline h3,
.room-type h3 {
    text-indent: -4px;
    font-family: "Argesta Display"
}

.contact-box h6,
.event-headline h3,
.hamburger-navigation .info-box span,
.hamburger-navigation .nav-menu li a,
.member-box .content h5,
.news-box .content h3,
.package-box h4,
.page-header .container h1,
.recent-news .content h2,
.recent-testimonial p,
.room-box .content h3,
.room-info-box h6,
.room-type h3,
.rooms-slider .swiper-slide .room-detail h3,
.section-title h2,
.side-content h2,
.side-hotel-box h2,
.slider .slider-fraction,
.slider h1,
.testimonial-box h4 {
    font-family: "Argesta Display"
}

@font-face {
    font-family: "Argesta Display";
    src: url("../fonts/ArgestaDisplay-Regulard41d.eot?#iefix") format("embedded-opentype"), url("../fonts/ArgestaDisplay-Regular.woff2") format("woff2"), url("../fonts/ArgestaDisplay-Regular.woff") format("woff"), url("../fonts/ArgestaDisplay-Regular.ttf") format("truetype"), url("../fonts/ArgestaDisplay-Regular.svg#ArgestaDisplay-Regular") format("svg");
    font-weight: 400;
    font-style: normal
}

*,
.pagination .page-item .page-link:focus {
    outline: 0 !important
}

body {
    margin: 0;
    padding: 0;
    font-family: Jost, sans-serif;
    font-size: 18px;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    position: relative
}

iframe,
img {
    max-width: 100%
}

.datepicker-panel ul:nth-child(2),
.news-box .content .author b,
.news-box .content strong,
strong {
    font-weight: 600
}

a {
    transition: .3s ease-in-out
}

input[type=text] {
    max-width: 100%;
    height: 60px;
    border: 1px solid var(--border)
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search] {
    width: 420px;
    max-width: 100%;
    height: 80px;
    padding: 0 30px;
    border: 1px solid var(--border)
}

input[type=radio] {
    display: inline-block;
    border-radius: 50%
}

select,
textarea {
    border: 1px solid var(--border);
    max-width: 100%
}

button[type=submit],
input[type=submit] {
    font-size: 14px;
    border: none;
    padding: 0 50px;
    display: inline-block;
    color: var(--white);
    font-weight: 600
}

input[type=radio]:checked {
    border: 6px solid var(--black)
}

input[type=checkbox] {
    display: inline-block
}

input[type=checkbox]:checked {
    border: 4px solid var(--surface);
    background: var(--black)
}

textarea {
    width: 520px;
    height: 140px;
    padding: 30px
}

select {
    height: 80px;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, var(--border), var(--border));
    background-position: calc(100% - 30px) 34px, calc(100% - 25px) 34px, calc(100% - 3.5em) 20px
}

select:focus {
    background-image: linear-gradient(45deg, gray 50%, transparent 50%), linear-gradient(135deg, transparent 50%, gray 50%), linear-gradient(to right, var(--border), var(--border));
    background-position: calc(100% - 25px) 34px, calc(100% - 30px) 34px, calc(100% - 3.5em) 20px;
    border-color: gray;
    outline: 0
}

input[type=submit] {
    height: 60px;
    background: rgb(var(--black-rgb))
}

button[type=submit] {
    height: 80px;
    background: var(--color-brand-700);
}

button[type=submit] i {
    display: inline-block;
    margin-right: 8px;
    font-size: 18px;
    transform: translateY(2px)
}

.no-spacing {
    margin: 0 !important;
    padding: 0 !important
}

.no-top-spacing {
    margin-top: 0 !important;
    padding-top: 0 !important
}

.no-bottom-spacing {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important
}

.spacing-50 {
    height: 50px;
    display: flex
}

.spacing-100 {
    width: 100%;
    height: 100px;
    display: flex
}

@media (min-width:1170px) {
    .container {
        max-width: 1100px
    }
}

@media (min-width:1280px) {
    .container {
        max-width: 1260px
    }
}

.overflow {
    overflow: hidden
}

.cursor {
    position: fixed;
    top: -40px;
    left: -40px;
    pointer-events: none;
    z-index: 9999;
    mix-blend-mode: difference
}

.cursor::before {
    content: "";
    width: 80px;
    height: 80px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #fff;
    transition: .15s;
    transform: scale(.15)
}

.cursor.light::before {
    transform: scale(1);
    background: 0 0
}

.cursor.drag {
    mix-blend-mode: unset
}

.cursor.drag::before {
    transform: scale(1);
    background: var(--color-brand-700);
    border-color: transparent;
    content: "";
    font-family: LineIcons;
    font-size: 20px;
    color: #fff
}

.carousel-events-box .content small,
.carousel-events-box figure img,
.contact-form,
.image,
.meeting-event-box .content small,
.member-box figure img,
.newsletter-box small,
.range-slider,
.room-info-box p,
.sidebar .widget form {
    width: 100%;
    display: block
}

.range-slider__range {
    appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 0;
    background: #f2f2f2;
    outline: 0;
    padding: 0;
    margin: 0
}

.range-slider__range::-webkit-slider-thumb {
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--color-brand-700);
    cursor: pointer;
    transition: background .15s ease-in-out
}

.range-slider__range:focus::-webkit-slider-thumb {
    box-shadow: #fff 0 0 0 3px, var(--color-brand-700) 0 0 0 6px
}

.accordion {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    padding: 0
}

.accordion .card {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    background: 0 0;
    border-radius: 0;
    margin-bottom: 10px;
    border: none
}

.accordion .card .card-header {
    width: 100%;
    display: block;
    background: 0 0;
    margin: 0;
    padding: 0;
    border: none
}

.accordion .card .card-header a {
    width: 100%;
    float: left;
    padding: 20px 25px;
    color: #141414;
    font-weight: 600;
    border: 1px solid #cbcbcb
}

.accordion .card .card-header a:hover,
.news-box .content h3 a:hover {
    color: var(--color-brand-700);
    text-decoration: none
}

.accordion .card .card-body {
    width: 100%;
    line-height: 26px;
    opacity: .7
}

.accordion .card [aria-expanded=true] {
    background: var(--color-brand-700);
    color: #fff !important;
    border-color: var(--color-brand-700) !important
}

.datepicker-dropdown {
    width: 280px;
    border: none;
    padding: 10px;
    box-shadow: rgba(0, 0, 0, .1) 0 0 30px;
    font-size: 16px
}

.datepicker-panel ul:first-child {
    width: 280px;
    display: flex
}

.datepicker-panel ul:first-child li {
    flex: 1 1 auto;
    box-shadow: none
}

.datepicker-panel ul:nth-child(2) li {
    background: #f5f3ec
}

.datepicker-panel>ul>li {
    padding: 5px 0;
    width: 40px;
    height: auto;
    box-shadow: #eee 1px 0 0 0, #eee 0 1px 0 0, #eee 1px 1px 0 0, #eee 1px 0 0 0 inset, #eee 0 1px 0 0 inset
}

.datepicker-panel>ul>li.picked,
.datepicker-panel>ul>li.picked:hover,
.side-image .video-button:hover,
.video-box .play-btn:hover {
    background: var(--color-brand-700);
    color: #fff
}

.datepicker-panel>ul>li.highlighted {
    background-color: var(--color-brand-700)
}

.datepicker-panel>ul>li:hover {
    background-color: #f5f3ec
}

.datepicker-bottom-left::after,
.datepicker-bottom-left::before,
.datepicker-bottom-right::after,
.datepicker-bottom-right::before,
.datepicker-top-left::after,
.datepicker-top-left::before,
.datepicker-top-right::after,
.datepicker-top-right::before {
    display: none;
    border: none
}

.menu {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    padding: 0;
    outline: 0
}

.line {
    fill: none;
    stroke: rgb(255, 255, 255);
    stroke-width: 3;
    transition: stroke-dasharray .6s cubic-bezier(.4, 0, .2, 1), stroke-dashoffset .6s cubic-bezier(.4, 0, .2, 1)
}

.line1,
.line3 {
    stroke-dasharray: 60, 207;
    stroke-width: 3
}

.line2 {
    stroke-dasharray: 60, 60;
    stroke-width: 3
}

.opened .line1,
.opened .line3 {
    stroke-dasharray: 90, 207;
    stroke-dashoffset: -134;
    stroke-width: 3
}

.opened .line2 {
    stroke-dasharray: 1, 60;
    stroke-dashoffset: -30;
    stroke-width: 3
}

.reveal-effect,
.side-image.right-align {
    float: left;
    position: relative
}

.reveal-effect.animated::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #141414;
    position: absolute;
    left: 0;
    top: 0;
    animation: 1s cubic-bezier(.785, .135, .15, .86) forwards reveal;
    z-index: 1
}

.reveal-effect.animated>* {
    animation: 1s linear forwards reveal-inner
}

@-webkit-keyframes reveal {
    0% {
        left: 0;
        width: 0
    }

    50% {
        left: 0;
        width: 100%
    }

    51% {
        left: auto;
        right: 0
    }

    100% {
        left: auto;
        right: 0;
        width: 0
    }
}

@-webkit-keyframes reveal-inner {

    0%,
    50% {
        visibility: hidden;
        opacity: 0
    }

    100%,
    51% {
        visibility: visible;
        opacity: 1
    }
}

.custom-button {
    height: 80px;
    line-height: 80px;
    display: inline-block;
    background: var(--color-brand-700);
    padding: 0 50px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    position: relative
}

.custom-button.light,
.side-content.light .custom-button {
    border: 1px solid #fff;
    background: 0 0
}

.custom-button:hover {
    color: #fff
}

.custom-button::before,
.slider a::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 0;
    transition: width, background .25s
}

.custom-button::after,
.slider a::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 0;
    background: #141414;
    transition: width .25s;
    opacity: .1
}

.custom-button:hover::before,
.slider a:hover::before {
    width: 100%;
    background: #141414;
    opacity: .1;
    transition: width .25s
}

.custom-button:hover::after,
.slider a:hover::after {
    width: 100%;
    background: 0 0;
    transition: none
}

.preloader {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    background: var(--color-brand-700);
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 9;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
    transition-delay: 1s;
    overflow: hidden
}

.preloader::before {
    display: none
}

.preloader .loadbar {
    width: 0%;
    height: 100%;
    max-height: 6px;
    background: #141414;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    overflow: hidden
}

.preloader figure {
    width: 200px;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: .3s fade;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
    position: relative;
    z-index: 2
}

.hamburger-navigation,
.page-transition {
    flex-wrap: wrap;
    width: 100%;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
    display: flex;
    left: 0;
    position: fixed
}

.preloader figure span {
    width: 100%;
    position: absolute;
    left: 0;
    top: 80%;
    transform: translateY(-50%);
    color: #fff;
    text-align: center;
    font-size: 14px
}

.preloader figure img {
    height: 100px;
    display: inline-block
}

@keyframes fade {
    0% {
        transform: translateY(-50px);
        opacity: 0
    }

    100% {
        transform: translateY(0);
        opacity: 1
    }
}

.page-transition {
    height: 0;
    align-items: center;
    justify-content: center;
    background: var(--color-brand-700);
    top: 0;
    z-index: 9
}

.page-transition .layer {
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: #141414;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
    transition-delay: 1s
}

.hamburger-navigation-active .hamburger-navigation,
.hamburger-navigation-active .hamburger-navigation .layer,
.page-transition.active,
.page-transition.active .layer {
    height: 100vh
}

body .navbar {
    transform: translateY(-100%);
    transition-delay: 1.3s;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1)
}

body .page-header,
body .slider .main-slider {
    transform: scale(1.4);
    transition-delay: 1.15s;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1)
}

.page-loaded .preloader {
    height: 0
}

.page-loaded .preloader .loadbar {
    max-height: 100%;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1)
}

.page-loaded .preloader figure {
    transform: translateY(50px);
    opacity: 0
}

.page-loaded .navbar {
    transform: translateY(0)
}

.page-loaded .page-header,
.page-loaded .slider .main-slider,
.rooms-slider .swiper-slide.swiper-slide-active {
    transform: scale(1)
}

.hamburger-navigation {
    height: 0;
    align-items: center;
    justify-content: center;
    text-align: center;
    top: 0;
    z-index: 5;
    background: var(--color-brand-700)
}

.page-header,
.slider {
    background-size: cover !important
}

.hamburger-navigation .layer {
    width: 100%;
    height: 0;
    background: #141414;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1);
    transition-delay: 1s
}

.slider,
.slider .main-slider {
    height: 100vh;
    overflow: hidden
}

.hamburger-navigation .container {
    position: relative;
    z-index: 1;
    visibility: hidden
}

.hamburger-navigation .info-box {
    width: 50vw;
    display: flex;
    flex-wrap: wrap;
    margin: 50px auto 0;
    border-top: 1px solid rgba(255, 255, 255, .2);
    padding-top: 50px;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: .3s ease-in-out
}

.hamburger-navigation .info-box span {
    width: 100%;
    display: block;
    font-size: 22px;
    margin-bottom: 20px
}

.hamburger-navigation .info-box .nav-social,
.rooms-filter .specifications ul,
.sidebar .widget .categories {
    width: 100%;
    display: block;
    margin: 0;
    padding: 0
}

.hamburger-navigation .info-box .nav-social li {
    display: inline-block;
    margin: 0 10px;
    padding: 0;
    list-style: none
}

.hamburger-navigation .info-box .nav-social li a {
    color: #fff;
    font-size: 14px
}

.hamburger-navigation .nav-menu {
    width: 100%;
    display: inline-block;
    margin: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transition: .3s ease-in-out;
    z-index: 1000
}

.navbar .navbar-text,
.navbar .site-menu {
    margin: 0 auto;
    transition: .3s ease-in-out
}

.hamburger-navigation .nav-menu.mobile-menu,
.mobile_contact,
.news-box.single .content .category::before {
    display: none
}

.hamburger-navigation .nav-menu li {
    width: 100%;
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center
}

.event-headline address span,
.footer .bottom-bar span,
.meeting-event-box .content h5 a,
.navbar .hamburger-menu,
.navbar .logo,
.navbar .logo a,
.navbar .navbar-text,
.navbar .site-menu,
.navbar .site-menu ul li,
.pagination .page-item,
.special-offer-box .content h5 a {
    display: inline-block
}

.hamburger-navigation .nav-menu li a {
    display: inline-block;
    color: #fff;
    font-size: 3vw
}

.hamburger-navigation .nav-menu li a:hover {
    color: var(--color-brand-700);
}

.hamburger-navigation-active .scroll-content {
    transform: translate3d(0, 0, 0) !important
}

.hamburger-navigation-active .hamburger-navigation .container {
    visibility: visible
}

.hamburger-navigation-active .hamburger-navigation .info-box,
.hamburger-navigation-active .hamburger-navigation .nav-menu,
.member-box:hover figure ul {
    opacity: 1;
    visibility: visible
}

.hamburger-navigation-active .navbar .logo,
.hamburger-navigation-active .navbar .navbar-text,
.hamburger-navigation-active .navbar .site-menu {
    opacity: 0
}

.navbar {
    width: 100%;
    display: block;
    flex-wrap: wrap;
    margin: 0;
    padding: 30px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 7
}

.navbar .logo {
    transition: .3s ease-in-out
}

.navbar .logo a img {
    width: 250px
}

.hero-logo-mark {
    width: 100%;
    max-width: 450px;
    border-radius: 14px;
    filter: contrast(1.08) brightness(1.05);
    animation: heroLogoPop .9s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes heroLogoPop {
    0% {
        opacity: 0;
        transform: translateY(12px) scale(.92);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.navbar .navbar-text {
    color: #fff
}

.navbar .site-menu ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0
}

.navbar .site-menu ul li {
    margin: 0 15px;
    padding: 0;
    list-style: none
}

.navbar .site-menu ul li a {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 15px;
    color: #fff
}

.footer p a:hover,
.member-box .content a,
.newsletter-box small a {
    text-decoration: underline
}

.navbar .hamburger-menu {
    margin-left: auto
}

.slider {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    color: #fff;
    text-align: center;
    background-image: url("../images/img_placeholder.jpg");
    background-position: center center;
    background-repeat: initial;
    background-attachment: initial;
    background-origin: initial;
    background-clip: initial;
    background-color: initial;
    z-index: 2
}

.slider h6 {
    width: 100%;
    display: block;
    letter-spacing: 5px
}

.slider h1 {
    font-weight: 400;
    font-size: 6vw;
    margin-bottom: 30px
}

.slider p {
    padding: 0 20%;
    opacity: .7;
    letter-spacing: 1px
}

.slider a {
    color: #fff;
    font-size: 1rem;
    border: 1px solid #fefefe;
    border-radius: 10rem;
    padding: 1rem;
    letter-spacing: 4px;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    top: 45px;
    position: relative
}

.slider .main-slider {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    position: relative
}

.slider .main-slider .swiper-slide {
    height: 100%;
    display: flex;
    overflow: hidden
}

.slider .slider-next::before,
.slider .slider-prev::before {
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
    top: 30px;
    transition: .3s ease-in-out;
    opacity: .5;
    content: ""
}

.slider .main-slider .swiper-slide .container {
    position: relative;
    z-index: 1
}

.slider .main-slider .swiper-slide .slide-inner {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center center;
    padding-top: 100px;
    background-size: cover !important
}

.slider .main-slider .swiper-slide .slide-inner::after {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    opacity: .3
}

.slider::before {
    content: "";
    width: 30%;
    height: 4px;
    background: rgba(255, 255, 255, .51);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2
}

.slider .slider-fraction {
    width: 20%;
    height: 80px;
    line-height: 80px;
    background: #fff;
    position: absolute;
    left: auto;
    right: 0;
    bottom: 0;
    z-index: 1;
    color: #141414;
    font-size: 22px
}

.slider .slider-next,
.slider .slider-prev {
    width: 80px;
    height: 80px;
    z-index: 2;
    cursor: pointer;
    position: absolute;
    background: #141414;
    bottom: 0
}

.slider .slider-prev {
    right: calc(20% + 82px)
}

.carousel-events-box .swiper-next:hover::before,
.carousel-events-box .swiper-prev:hover::before,
.room-gallery-thumbs .swiper-slide:hover img,
.rooms-slider .swiper-slide.swiper-slide-active .room-detail,
.slider .slider-next:hover::before,
.slider .slider-prev:hover::before {
    opacity: 1
}

.slider .slider-prev::before {
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    position: absolute;
    left: 35px
}

.slider .slider-next {
    right: 20%
}

.slider .slider-next::before {
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
    position: absolute;
    right: 35px
}

.page-header {
    width: 100%;
    height: 420px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative
}

.content-section,
.section-title {
    flex-wrap: wrap;
    position: relative
}

.page-header::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, color-mix(in srgb, var(--brand-dark) 72%, black) 0%, var(--brand) 65%, color-mix(in srgb, var(--brand) 30%, transparent) 100%);
    position: absolute;
    left: 0;
    top: 0
}

.page-header .container {
    position: relative;
    z-index: 1;
    color: #fff
}

.scroll-down,
.scroll-down::after {
    width: 1px;
    z-index: 100;
    position: absolute
}

.page-header .container h1 {
    width: 100%;
    display: block;
    font-size: 5vw;
    text-align: center;
    text-indent: -5px
}

.page-header .container p {
    width: 100%;
    display: block;
    margin: 0;
    letter-spacing: 10px;
    font-size: 22px
}

.scroll-down {
    height: 80px;
    background: #fff;
    left: calc(50% - .5px);
    bottom: 0
}

.scroll-down::after {
    content: "";
    height: 0;
    animation: 1s infinite scrolldown;
    background: var(--color-brand-700);
    top: 0;
    left: 0
}

#main,
.section-title.light h6::before {
    background: #fff
}

@keyframes scrolldown {
    0% {
        top: 0;
        height: 0
    }

    50% {
        top: 0;
        height: 100%
    }

    51% {
        top: auto;
        bottom: 0;
        height: 100%
    }

    100% {
        top: auto;
        bottom: 0;
        height: 0
    }
}

.content-section {
    width: 100%;
    display: flex;
    padding: 100px 0
}

.content-section.bottom-spacing {
    margin-bottom: 100px !important
}

.content-section.top-spacing {
    margin-top: 100px !important
}

#main {
    position: fixed;
    inset: 0px
}

.section-title {
    width: 100%;
    display: flex;
    margin-bottom: 60px;
    z-index: 10
}

.section-title.text-center {
    text-align: center
}

.section-title.text-center h6::before {
    left: calc(50% - 2vw);
    top: calc(100% + 10px)
}

.footer p a,
.section-title.light,
.side-content.light {
    color: #fff
}

.member-box:hover figure img,
.section-title.light h6 {
    opacity: .6
}

.newsletter-box h6,
.section-title h6 {
    width: 100%;
    display: block;
    font-size: 15px;
    font-weight: 800;
    opacity: .3;
    letter-spacing: 2px;
    position: relative
}

.section-title h6::before {
    content: "";
    width: 4vw;
    max-width: 100%;
    height: 1px;
    display: inline-block;
    background: #141414;
    position: absolute;
    left: calc(-4vw - 20px);
    top: calc(50% - .5px)
}

.section-title h2 {
    width: 100%;
    display: block;
    margin-top: 3rem;
    font-size: 60px
}

.hotel-search {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 50px 0
}

.hotel-search h6 {
    width: 100%;
    display: block;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
    font-size: 22px
}

.hotel-search form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.hotel-search form .form-group {
    display: inline-block;
    margin: 0 15px;
    position: relative
}

.hotel-search form .form-group i {
    position: absolute;
    right: 25px;
    bottom: 42px;
    transform: translateY(50%);
    color: grey
}

.hotel-search form .form-group input[type=number] {
    width: 100px
}

.hotel-search form .form-group input {
    width: auto
}

.hotel-search form .form-group select {
    width: 300px
}

.hotel-search form .form-group label {
    width: 100%;
    display: block;
    font-size: 14px
}

.content-tab .tab-item ul,
.rooms-list,
.side-content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0
}

.side-content.text-left {
    padding-right: 0
}

.side-content.text-left p {
    padding-right: 10%
}

.side-content.text-center {
    text-align: center;
    padding: 0 10%
}

.side-content.text-center .custom-button {
    margin-left: auto;
    margin-right: auto
}

.side-content h6 {
    width: 100%;
    display: block;
    font-weight: 800;
    opacity: .3;
    letter-spacing: 2px
}

.side-content h2 {
    width: 100%;
    display: block;
    margin: 0;
    font-size: 50px
}

.side-content p {
    width: 100%;
    display: block;
    margin-top: 5px;
    opacity: .7
}

.member-box figure ul li:last-child,
.news-box:last-child,
.room-info-box p:last-child,
.side-content p:last-child {
    margin-bottom: 0
}

.side-content .custom-button {
    margin-top: 40px
}

.side-image {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 10px;
    padding: 0;
    position: relative
}

.side-image.overlap-bottom {
    transform: translateY(100px)
}

.side-gallery,
.side-image.overlap-top {
    transform: translateY(-100px)
}

.side-image.right-full {
    width: 50vw;
    float: left
}

.side-image.left-full {
    width: 50vw;
    float: right
}

.side-image.left-full-space {
    width: 44vw;
    float: right;
    margin-right: 6vw
}

.side-image.left-align {
    float: right;
    position: relative
}

.side-image.left-align::after {
    content: "";
    width: calc(50vw - 100px);
    height: 100%;
    background: rgb(255 229 230);
    position: absolute;
    right: 21px;
    top: 57px;
    z-index: -43
}

.side-image.right-align::after {
    content: "";
    width: calc(50vw - 100px);
    height: 100%;
    background: #f5f3ec;
    position: absolute;
    left: 100px;
    top: 100px;
    z-index: -1
}

.carousel-events-box .swiper-next::before,
.carousel-events-box .swiper-prev::before {
    width: 15px;
    height: 15px;
    transform: rotate(45deg);
    top: 23px;
    opacity: .5;
    content: "";
    transition: .3s ease-in-out
}

.side-image .video-button {
    width: 140px;
    height: 140px;
    line-height: 140px;
    background: #fff;
    position: absolute;
    left: calc(50% - 70px);
    top: calc(50% - 70px);
    color: var(--color-brand-700);
    font-size: 30px;
    text-align: center;
    border-radius: 50%;
    transition: .3s ease-in-out
}

.side-image img {
    width: 100%;
    box-shadow: 0 0 50px 0 rgb(0 0 0 / 35%)
}

.video .homepage-video-embed {
    width: 100%;
    display: block;
    border: 0;
    aspect-ratio: 16 / 9;
}

.video .homepage-video-embed+.homepage-video-embed {
    margin-top: 16px;
}

.side-gallery {
    width: calc(50vw + 15%);
    float: right;
    margin-bottom: 0;
    position: relative
}

.side-gallery div:first-child {
    width: calc(66.6667% - 10px)
}

.side-gallery div:nth-child(2) {
    margin-bottom: 10px
}

.side-gallery div {
    width: calc(33.3333% - 10px);
    float: left;
    margin-right: 10px
}

.content-tab,
.member-box,
.room-box,
.side-hotel-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap
}

.side-hotel-box.right {
    padding-left: 100px
}

.side-hotel-box .review {
    width: 100%;
    display: block;
    margin-bottom: 15px;
    font-size: 13px
}

.side-hotel-box .review i {
    display: inline-block;
    margin-right: 3px;
    color: #00aa6c
}

.side-hotel-box .review span {
    display: inline-block;
    opacity: .4;
    margin-left: 8px
}

.side-hotel-box h2 {
    width: 100%;
    display: block;
    font-size: 44px;
    margin-bottom: 25px
}

.recent-news figure,
.side-hotel-box p {
    width: 100%;
    display: block;
    margin-bottom: 30px
}

.side-hotel-box .info-box {
    width: 100%;
    display: flex;
    border: 1px solid #cbcbcb;
    padding: 20px;
    margin-bottom: 20px
}

.side-hotel-box .info-box span {
    display: inline-block;
    border-left: 6px solid var(--color-brand-700);
    padding-left: 20px
}

.side-hotel-box .info-box b {
    height: 54px;
    line-height: 1.3;
    margin-left: auto;
    font-size: 40px
}

.side-hotel-box .info-box b small {
    display: inline-block;
    margin-right: 6px;
    font-size: 14px;
    opacity: .5
}

.side-hotel-box .custom-button {
    margin-right: 30px
}

.side-hotel-box .availability {
    line-height: 80px;
    display: inline-block
}

.carousel-events-box .content h5 a:hover,
.meeting-event-box .content h5 a:hover,
.side-hotel-box .availability i,
.sidebar .widget .categories li a:hover,
.special-offer-box .content h5 a:hover {
    color: var(--color-brand-700)
}

.carousel-image-box {
    width: calc(50vw + 50%);
    display: flex;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden;
    padding-bottom: 30px
}

.carousel-image-box figure {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    position: relative;
    overflow: hidden
}

.carousel-image-box figure img {
    width: 100%;
    float: left
}

.carousel-image-box figure figcaption {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    padding: 40px;
    color: #fff
}

.carousel-image-box figure figcaption h5 {
    width: 100%;
    display: block;
    font-size: 32px;
    font-weight: 800
}

.carousel-image-box figure figcaption p,
.contact-box address,
.meeting-event-box figure,
.room-box figure,
.special-offer-box figure {
    width: 100%;
    display: block;
    margin: 0
}

.swiper-scrollbar {
    width: 100%;
    height: 4px;
    display: inline-block;
    opacity: 1 !important
}

.events-tab,
.events-tab .tab-nav {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.events-tab {
    color: #fff
}

.events-tab .tab-nav {
    margin-bottom: 40px;
    padding: 0
}

.events-tab .tab-nav li {
    display: inline-block;
    margin-right: 20px;
    padding: 0 5px;
    list-style: none;
    border-bottom: 4px solid transparent
}

.events-tab .tab-nav li.active {
    border-color: var(--color-brand-700)
}

.carousel-events-box .content h5 a,
.events-tab .tab-nav li a,
.footer .bottom-bar .footer-social li a {
    display: inline-block;
    color: #fff
}

.events-tab .tab-item {
    width: 100%;
    float: left;
    display: none;
    position: relative;
    overflow: hidden
}

.content-tab .tab-item.active-item,
.events-tab .tab-item.active-item {
    display: block
}

.content-tab .tab-nav {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #eee
}

.content-tab .tab-nav li {
    height: 70px;
    line-height: 70px;
    display: inline-block;
    margin-right: 20px;
    padding: 0 25px;
    list-style: none;
    border: 1px solid #eee;
    margin-bottom: -1px
}

.content-tab .tab-nav li.active {
    border-bottom: 1px solid #fff
}

.content-tab .tab-nav li.active a {
    color: var(--color-brand-700);
    opacity: 1
}

.content-tab .tab-nav li a {
    display: inline-block;
    font-weight: 600;
    opacity: .5
}

.content-tab .tab-item {
    width: 100%;
    float: left;
    display: none;
    position: relative;
    overflow: hidden;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
    border-left: 1px solid #eee;
    border-image: initial;
    border-top: none;
    padding: 50px
}

.carousel-events-box .swiper-next,
.carousel-events-box .swiper-prev {
    width: 60px;
    height: 60px;
    top: 33%;
    z-index: 2;
    background: #141414;
    cursor: pointer
}

.content-tab .tab-item ul li {
    width: 33.3333%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 7px 0
}

.content-tab .tab-item ul li:last-child,
.room-info-box ul li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none
}

.content-tab .tab-item ul li figure,
.room-info-box ul li figure {
    width: 50px;
    float: left;
    margin-bottom: 0
}

.content-tab .tab-item ul li figure img,
.room-info-box ul li figure img {
    height: 22px;
    float: left
}

.content-tab .tab-item ul li b {
    font-weight: 400;
    float: left
}

.carousel-events-box {
    width: 100%;
    float: left;
    position: relative;
    overflow: hidden
}

.carousel-events-box .swiper-prev {
    position: absolute;
    left: 0
}

.carousel-events-box .swiper-prev::before {
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
    position: absolute;
    left: 25px
}

.carousel-events-box .swiper-next {
    position: absolute;
    right: 0
}

.carousel-events-box .swiper-next::before {
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
    position: absolute;
    right: 25px
}

.carousel-events-box figure {
    width: 100%;
    display: block;
    margin-bottom: 25px
}

.carousel-events-box figure::before {
    background: var(--color-brand-700) !important
}

.carousel-events-box .content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    color: #fff;
    text-align: center
}

.carousel-events-box .content h5,
.meeting-event-box .content h5,
.special-offer-box .content h5 {
    width: 100%;
    display: block;
    font-size: 28px;
    font-family: "Argesta Display"
}

.carousel-events-box .content span {
    display: inline-block;
    margin: 4px auto;
    color: #f5f3ec;
    opacity: .6
}

.rooms-slider {
    width: 100%;
    height: 80vh;
    max-height: 700px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    overflow: hidden
}

.rooms-slider::before {
    content: "";
    width: 100%;
    height: 240px;
    background: #141414;
    position: absolute;
    left: 0;
    top: 0
}

.rooms-slider .swiper-slide {
    max-width: 75%;
    transform: scale(.9);
    transition: .3s ease-in-out;
    background-size: cover !important;
    background-position: center center !important
}

.rooms-slider .swiper-slide .room-detail {
    width: 40%;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    z-index: 1;
    padding: 50px;
    position: absolute;
    left: 50px;
    bottom: 50px;
    transition: .3s ease-in-out;
    opacity: 0
}

.room-box .content .price-line,
.room-type .price-line,
.rooms-slider .swiper-slide .room-detail .price-line {
    width: 100%;
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--color-brand-700);
    letter-spacing: 1px
}

.room-box .content .price-line span,
.room-type .price-line span,
.rooms-slider .swiper-slide .room-detail .price-line span {
    color: #141414;
    opacity: .7
}

.room-box .content h3,
.rooms-slider .swiper-slide .room-detail h3 {
    width: 100%;
    display: block;
    font-size: 36px;
    margin-bottom: 20px
}

.rooms-slider .swiper-slide .room-detail .reviews {
    width: 100%;
    color: #888;
    font-size: 15px
}

.room-box .content .bottom-specs .reviews span,
.rooms-slider .swiper-slide .room-detail .reviews span {
    padding: 5px 8px;
    background: var(--color-brand-700);
    color: #fff;
    font-weight: 800;
    margin-left: 5px
}

.col-md-6:nth-child(2) .recent-news {
    padding-right: 30px
}

.col-md-6:nth-child(3) .recent-news {
    padding-left: 30px
}

.recent-news {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px
}

.contact-form input[type=text],
.contact-form textarea,
.form_group textarea,
.meeting-event-box figure img,
.recent-news figure img,
.room-box figure img,
.rooms-filter .price-range .range-slider,
.special-offer-box figure img {
    width: 100%
}

.news-box .content,
.recent-news .content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding-left: 80px
}

.recent-news .content ul {
    display: inline-block;
    margin: 0 15px 0 0;
    padding: 0;
    position: relative
}

.member-box figure,
.package-box h4,
.package-box p,
.recent-news .content h2,
.testimonial-box h4 {
    width: 100%;
    display: block
}

.news-box .content .category::before,
.recent-news .content ul::before {
    content: "";
    width: 60px;
    height: 1px;
    background: var(--color-brand-700);
    position: absolute;
    left: -80px;
    top: calc(50% - .5px)
}

.recent-news .content ul li {
    display: inline-block;
    margin-right: 10px;
    padding: 0;
    list-style: none
}

.recent-news .content ul li:last-child {
    margin-right: 0
}

.recent-news .content ul li a {
    display: inline-block;
    color: var(--color-brand-700);
    font-size: 14px;
    font-weight: 600
}

.recent-news .content span {
    font-size: 13px;
    font-weight: 600;
    opacity: .5;
    line-height: 27px
}

.recent-news .content span::before {
    content: "";
    width: 5px;
    height: 5px;
    background: #141414;
    display: inline-block;
    border-radius: 50%;
    margin-right: 15px
}

.recent-news .content h2 {
    font-size: 36px;
    margin-top: 20px;
    margin-bottom: 0
}

.testimonial-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 50px;
    background: var(--color-brand-700);
    color: #fff;
    text-align: center;
    position: relative;
    z-index: 1
}

.package-box,
.video-box {
    display: flex;
    flex-wrap: wrap
}

.testimonial-box.bottom {
    margin-bottom: -100px
}

.event-headline .rating,
.testimonial-box small {
    width: 100%;
    display: block;
    margin-bottom: 10px
}

.testimonial-box small i {
    display: inline-block;
    margin: 0 3px
}

.testimonial-box h4 {
    margin-bottom: 15px
}

.testimonial-box p {
    width: 100%;
    margin-bottom: 40px;
    font-size: 19px
}

.testimonial-box .custom-button {
    margin: 0 auto
}

.package-box {
    width: 100%;
    padding: 60px;
    color: #fff
}

.package-box h4 {
    font-size: 36px;
    margin-bottom: 15px
}

.package-box p {
    margin-bottom: 35px
}

.package-box a {
    display: inline-block;
    color: #fff;
    font-weight: 600;
    border-bottom: 3px solid #eee;
    font-size: 15px
}

.member-box figure {
    margin-bottom: 0;
    position: relative;
    background: #141414
}

.member-box .content small,
.member-box figure ul li,
.recent-testimonial span {
    margin-bottom: 5px;
    display: block;
    width: 100%
}

.member-box figure * {
    transition: .3s ease-in-out
}

.member-box figure ul {
    width: 44px;
    display: inline-block;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 30px;
    bottom: 60px;
    opacity: 0;
    visibility: hidden
}

.member-box figure ul li {
    padding: 0;
    list-style: none
}

.member-box figure ul li a {
    width: 44px;
    height: 44px;
    line-height: 44px;
    display: inline-block;
    text-align: center;
    background: var(--color-brand-700);
    color: #fff
}

.member-box .content {
    width: calc(100% - 30px);
    display: inline-block;
    background: #fff;
    margin-top: -30px;
    padding: 30px;
    position: relative
}

.member-box .content h5 {
    width: 100%;
    display: block;
    font-size: 28px;
    margin-bottom: 25px;
    opacity: .7
}

.member-box .content a {
    display: inline-block;
    color: var(--color-brand-700);
    font-weight: 600;
    font-size: 15px
}

.video-box {
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 100px 0
}

.video-box .play-btn {
    width: 140px;
    height: 140px;
    line-height: 140px;
    display: inline-block;
    background: #fff;
    color: var(--color-brand-700);
    font-size: 30px;
    text-align: center;
    border-radius: 50%;
    transition: .3s ease-in-out;
    margin-bottom: 100px
}

.recent-testimonial,
.room-info-box {
    border: 1px solid #eee;
    padding: 50px
}

.video-box h2 {
    width: 100%;
    display: block;
    margin: 0;
    font-size: 32px;
    font-weight: 800;
    color: #fff
}

.event-headline,
.meeting-event-box,
.room-type,
.rooms-filter {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px
}

.rooms-filter h6 {
    display: inline-block;
    font-weight: 600
}

.rooms-filter .price-range {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    padding-right: 30px
}

.rooms-filter .price-range .range-slider__value {
    float: right;
    margin-top: -56px;
    font-weight: 800;
    color: var(--color-brand-700)
}

.rooms-filter .price-range .range-slider__value::before {
    content: "$"
}

.rooms-filter .specifications {
    width: 50%;
    display: inline-block;
    margin: 0;
    padding: 0 0 0 30px
}

.meeting-event-box .content,
.room-box .content {
    width: calc(100% - 50px);
    margin-top: -50px;
    position: relative;
    z-index: 1
}

.rooms-filter .specifications li {
    display: inline-block;
    margin-right: 20px;
    padding: 0;
    list-style: none
}

.rooms-list li {
    width: 50%;
    display: inline-block;
    margin: 50px 0 0;
    padding: 0 30px 0 0;
    list-style: none
}

.rooms-list li:first-child,
.rooms-list li:nth-child(2) {
    margin-top: 0
}

.rooms-list li:nth-child(2n) {
    padding-right: 0;
    padding-left: 30px
}

.room-box .content {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    margin-left: 50px;
    padding: 50px 0 50px 50px
}

.room-box .content .bottom-specs {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-top: 1px solid #eee;
    padding-top: 20px;
    margin-top: 20px
}

.recent-testimonial,
.room-gallery-top {
    width: 100%;
    display: flex;
    flex-wrap: wrap
}

.room-box .content .bottom-specs .icons {
    width: 50%;
    display: inline-block
}

.room-box .content .bottom-specs .icons img {
    height: 25px;
    margin-right: 5px
}

.room-box .content .bottom-specs .reviews {
    width: 50%;
    text-align: right;
    color: #888;
    font-size: 15px
}

.room-type h3 {
    width: 100%;
    display: block;
    font-size: 80px;
    margin-bottom: 20px
}

.room-type small {
    width: 100%;
    display: block;
    opacity: .5;
    font-size: 16px
}

.recent-testimonial {
    margin-bottom: 50px
}

.recent-testimonial span b {
    display: inline-block;
    font-weight: 600;
    margin-right: 10px
}

.recent-testimonial span i {
    color: var(--color-brand-700);
    display: inline-block;
    margin: 0 2px;
    font-size: 14px
}

.recent-testimonial small {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    opacity: .5
}

.recent-testimonial p {
    width: 100%;
    display: block;
    margin: 0;
    font-size: 19px
}

.room-gallery-top {
    position: relative;
    overflow: hidden;
    margin-bottom: 10px
}

.room-gallery-thumbs,
.room-info-box {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.room-gallery-top .swiper-slide {
    max-width: 40%
}

.room-gallery-thumbs {
    position: relative;
    overflow: hidden;
    margin-bottom: 50px
}

.room-gallery-thumbs .swiper-slide {
    background: #141414
}

.room-gallery-thumbs .swiper-slide img {
    opacity: .5;
    transition: .3s ease-in-out
}

.room-info-box {
    margin: 30px 0
}

.room-info-box h6 {
    width: 100%;
    display: block;
    font-size: 26px;
    margin-bottom: 15px;
    color: var(--color-brand-700)
}

.room-info-box ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 0;
    padding: 0
}

.room-info-box ul li {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 5px 0;
    padding: 5px 0 15px;
    border-bottom: 1px solid #eee
}

.room-info-box ul li b {
    width: 30%;
    font-weight: 600;
    float: left
}

.room-info-box ul li span {
    width: 65%;
    float: left
}

.meeting-event-box .content {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    padding: 30px 0 0
}

.meeting-event-box .content span {
    width: 100%;
    display: block;
    margin-bottom: 10px;
    opacity: .4
}

.special-offer-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0
}

.special-offer-box .content {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    position: relative;
    z-index: 1;
    padding: 20px 0 0
}

.special-offer-box .content span {
    width: 100%;
    display: block;
    margin-bottom: 0;
    opacity: .4;
    font-weight: 600;
    font-size: 13px
}

.special-offer-box .content p {
    width: 100%;
    display: block;
    opacity: .7;
    margin-bottom: 0;
    margin-top: 10px;
    font-size: 12px
}

.special-offer-box .content small {
    display: inline-block;
    background: var(--color-brand-700);
    padding: 4px 8px;
    color: #fff;
    font-weight: 600;
    font-size: 11px
}

.event-headline .rating i {
    color: var(--color-brand-700);
    display: inline-block;
    margin-right: 4px;
    font-size: 15px
}

.event-headline h3 {
    width: 100%;
    display: block;
    font-size: 50px;
    margin-bottom: 20px
}

.event-headline address,
.pagination {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0
}

.contact-box,
.google-maps {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.event-headline address span:first-child {
    margin-right: 10%
}

.event-headline address span i {
    display: inline-block;
    color: var(--color-brand-700);
    margin-right: 10px
}

.contact-box {
    background: var(--color-brand-700);
    color: #fff;
    padding: 50px;
    margin: 15px 0
}

.contact-box h6 {
    width: 100%;
    display: block;
    margin-bottom: 15px;
    font-size: 22px
}

.news-box figure,
.news-box.single .content .author {
    margin-bottom: 30px
}

.contact-box address strong {
    width: 100%;
    display: block;
    margin-top: 5px
}

.google-maps {
    height: 560px;
    position: relative;
    background: var(--color-brand-700)
}

.google-maps iframe {
    width: 100%;
    height: 100%;
    display: block;
    mix-blend-mode: overlay;
    filter: grayscale(1)
}

.google-maps i {
    width: 80px;
    height: 80px;
    line-height: 80px;
    background: #fff;
    text-align: center;
    position: absolute;
    left: calc(50% - 40px);
    top: calc(50% - 40px);
    font-size: 40px;
    color: var(--color-brand-700);
    border-radius: 50%
}

.google-maps::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0
}

.news-box {
    width: 100%;
    display: block;
    position: relative;
    margin-bottom: 100px
}

.news-box.single .content {
    padding-left: 0
}

.news-box:hover .content h3 a {
    background-size: 100% 100%
}

.news-box figure {
    width: 100%;
    display: block;
    position: relative;
    overflow: hidden;
    background: var(--color-brand-700)
}

.news-box figure img {
    width: 100%;
    max-width: inherit
}

.news-box .content .category {
    display: inline-block;
    color: var(--color-brand-700);
    font-size: 14px;
    font-weight: 600;
    position: relative
}

.news-box .content .date {
    display: inline-block;
    font-size: 14px;
    opacity: .5;
    font-weight: 600;
    margin-left: 15px
}

.news-box .content .date::before {
    content: "";
    width: 5px;
    height: 5px;
    background: #141414;
    display: inline-block;
    border-radius: 50%;
    margin-right: 15px;
    transform: translateY(-2px)
}

.news-box .content h3 {
    width: 100%;
    display: block;
    margin-bottom: 30px;
    font-size: 38px;
    line-height: 1.4;
    font-weight: 400
}

.news-box .content h3 a {
    display: block;
    color: #141414;
    transition: .3s ease-in-out
}

.news-box .content .author {
    width: 100%;
    display: block;
    margin-bottom: 0;
    font-size: 13px
}

.news-box .content .author img {
    height: 60px;
    display: inline-block;
    border-radius: 50%;
    margin-right: 15px
}

.news-box .content h6 {
    font-size: 24px;
    line-height: 1.7;
    margin: 30px 0
}

.footer .widget-title,
.news-box .content blockquote,
.sidebar .widget .widget-title {
    font-size: 22px;
    font-family: "Argesta Display"
}

.news-box .content figure {
    margin: 30px 0
}

.news-box .content blockquote {
    width: 100%;
    display: block;
    padding: 40px;
    background: #f5f3ec;
    color: var(--color-brand-700);
    margin: 30px 0
}

.news-box .content ul {
    padding-left: 20px
}

.news-box .content ul li {
    margin: 4px 0
}

.sidebar {
    width: 100%;
    display: block;
    padding-left: 30px
}

.sidebar .widget {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    border-width: 1px 4px 4px 1px;
    border-style: solid;
    border-color: #f5f3ec;
    border-image: initial;
    padding: 35px;
    margin-bottom: 35px;
    position: relative
}

.sidebar .widget * {
    position: relative
}

.sidebar .widget .widget-title {
    width: 100%;
    display: block;
    position: relative;
    z-index: 1;
    font-weight: 400;
    color: var(--color-brand-700);
    margin-bottom: 30px;
    padding-bottom: 30px
}

.sidebar .widget .widget-title::after {
    content: "";
    width: 50px;
    height: 4px;
    background: var(--color-brand-700);
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1
}

.sidebar .widget .widget-title::before {
    content: "";
    width: 100%;
    height: 4px;
    background: #f5f3ec;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    mix-blend-mode: difference
}

.sidebar .widget form input[type=submit] {
    margin-top: 10px;
    background: #141414;
    color: #fff
}

.sidebar .widget .categories li {
    width: 100%;
    display: block;
    margin: 4px 0;
    padding: 0;
    list-style: none
}

.sidebar .widget .categories li a {
    color: #141414;
    font-size: 19px
}

.sidebar .widget .widget-gallery {
    width: calc(100% + 4px);
    float: left;
    margin: 0 -2px;
    padding: 0
}

.sidebar .widget .widget-gallery li {
    width: 50%;
    float: left;
    margin: 0;
    padding: 2px;
    list-style: none
}

.pagination .page-item .page-link {
    height: 60px;
    line-height: 60px;
    padding: 0 40px;
    font-size: 12px;
    font-weight: 600;
    color: #141414;
    border-radius: 0 !important;
    outline: 0 !important
}

.newsletter-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    padding: 0 20%
}

.newsletter-box h6::before {
    content: "";
    width: 4vw;
    max-width: 100%;
    height: 1px;
    display: inline-block;
    background: #141414;
    position: absolute;
    left: calc(50% - 2vw);
    top: calc(100% + 10px)
}

.newsletter-box h2 {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    font-family: "Argesta Display";
    font-size: 60px
}

.newsletter-box form {
    width: 100%;
    height: 80px;
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #cbcbcb;
    padding: 10px;
    margin-bottom: 15px
}

.newsletter-box form input[type=email] {
    flex: 1 1 0%;
    height: 60px;
    border: none;
    padding: 0 10px
}

.footer,
.footer-bar {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

.newsletter-box form input[type=submit] {
    height: 60px;
    border: none
}

.newsletter-box small a {
    display: inline-block
}

.footer-bar {
    align-items: center;
    color: #fff;
    padding: 40px 0
}

.footer-callout--brand {
    position: relative;
    overflow: hidden
}

.footer-callout--brand::before {
    display: none
}

.footer-callout--brand .container {
    position: relative;
    z-index: 1
}

.footer-bar i {
    font-size: 30px;
    display: inline-block;
    margin-right: 10px
}

.footer-bar h6 {
    display: inline-block;
    margin: 0 10px 0 0;
    font-size: 24px;
    color: #fff
}

.footer-bar strong {
    font-size: 15px;
    color: #fff;
    border-bottom: 2px solid
}

.footer-bar figure {
    margin-left: auto;
    margin-bottom: 0
}

.footer-bar figure img {
    height: 40px
}

.footer {
    background: #141414;
    padding-top: 100px;
    color: #fff
}

.footer .widget-title {
    width: 100%;
    display: block;
    margin-bottom: 25px
}

.footer p {
    width: 100%;
    display: block;
    font-size: 15px;
    letter-spacing: 1px
}

.footer .bottom-bar {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 50px 0;
    font-size: 14px;
    position: relative;
    margin-top: 50px
}

.footer .bottom-bar::before {
    content: "";
    width: calc(100% + 100px);
    height: 1px;
    background: #fff;
    position: absolute;
    top: 0;
    left: -50px;
    opacity: .2
}

.footer .bottom-bar .footer-social {
    display: inline-block;
    margin: 0;
    padding: 0
}

.footer .bottom-bar .footer-social li {
    display: inline-block;
    margin-left: 10px;
    padding: 0;
    list-style: none
}

@media only screen and (max-width:1199px),
only screen and (max-device-width:1199px) {
    .hotel-search form .form-group {
        margin: 15px
    }

    .side-image .video-button,
    .video-box .play-btn {
        width: 120px;
        height: 120px;
        line-height: 120px;
        left: calc(50% - 60px);
        top: calc(50% - 60px)
    }

    .side-gallery,
    .side-image.overlap-bottom,
    .side-image.overlap-top {
        transform: translateY(0)
    }

    .news-box .content .category::before,
    .recent-news .content ul::before,
    .section-title h6::before,
    .side-hotel-box .review,
    .side-hotel-box h2 br,
    .side-image.left-align::after,
    .side-image.right-align::after {
        display: none
    }

    .col-md-6:nth-child(2) .recent-news,
    .side-content.text-left p {
        padding-right: 0
    }

    .side-content .custom-button {
        margin-top: 20px
    }

    .newsletter-box h2,
    .section-title h2 {
        font-size: 48px
    }

    .side-content h2,
    .side-hotel-box h2 {
        font-size: 38px
    }

    .carousel-image-box,
    .contact-form input[type=text] {
        width: 100%
    }

    .side-hotel-box.right {
        padding-left: 50px
    }

    .side-content.text-left {
        padding-right: 10%
    }

    .rooms-slider .swiper-slide .room-detail {
        width: 60%
    }

    .col-md-6:nth-child(3) .recent-news,
    .news-box .content,
    .recent-news .content,
    .sidebar {
        padding-left: 0
    }

    .meeting-event-box .content {
        width: 100%;
        margin-top: 0;
        padding-top: 25px
    }

    .room-box .content,
    .special-offer-box .content {
        margin-top: 25px;
        padding: 0;
        width: 100%
    }

    .meeting-event-box .content h5,
    .special-offer-box .content h5 {
        font-size: 23px
    }

    .event-headline h3 {
        font-size: 44px
    }

    .room-box .content {
        margin-left: 0
    }

    .rooms-list li {
        padding-right: 15px
    }

    .rooms-list li:nth-child(2n) {
        padding-left: 15px
    }

    .room-type h3 {
        font-size: 60px
    }

    .contact-box,
    .room-info-box {
        padding: 30px
    }

    .room-info-box ul li span {
        width: auto
    }

    .custom-button {
        height: 70px;
        line-height: 70px
    }

    .footer .bottom-bar::before {
        width: 100%;
        left: 0
    }

    .content-section.bottom-spacing {
        margin-bottom: 0 !important
    }

    .content-section.top-spacing {
        margin-top: 0 !important
    }
}

@media only screen and (max-width:991px),
only screen and (max-device-width:991px) {

    .side-gallery,
    .side-image.left-full-space {
        float: left;
        margin-left: 50%;
        transform: translateX(-50%)
    }

    .cursor,
    .event-headline h3 br,
    .navbar .site-menu,
    .side-content h2 br,
    .video-box h2 br {
        display: none
    }

    .hamburger-navigation .nav-menu.mobile-menu {
        display: inline-block
    }

    .side-gallery div:first-child,
    .side-image.right-full {
        width: 100%
    }

    .side-content.text-center,
    .side-content.text-left,
    .side-hotel-box.right {
        padding: 100px 0
    }

    .president-section {
        padding-top: 0;
    }

    .president-photo-wrap {
        margin: 0 auto 20px;
        max-width: 360px;
    }

    .president-photo-wrap img {
        min-height: 320px;
    }

    .side-gallery {
        width: 100vw
    }

    .side-gallery div:nth-child(2),
    .side-gallery div:nth-child(3) {
        width: 50%;
        margin: 0
    }

    .rooms-slider {
        width: calc(100% - 30px);
        margin: 0 15px
    }

    .rooms-slider .swiper-slide {
        max-width: 100%
    }

    .rooms-list li:last-child,
    .testimonial-box.bottom {
        margin-bottom: 0
    }

    .recent-news .content h2 {
        font-size: 27px;
        margin-top: 10px
    }

    .member-box {
        margin: 15px 0
    }

    .member-box .content {
        width: 100%;
        margin-top: 0
    }

    .side-image.left-full-space {
        width: 100vw;
        margin-right: 0
    }

    .event-headline h3 {
        font-size: 36px
    }

    .content-tab .tab-item,
    .recent-testimonial {
        padding: 30px
    }

    .content-tab .tab-item ul li {
        width: 50%
    }

    .content-tab .tab-item .col-lg-4.col-md-6 {
        margin-bottom: 30px
    }

    .video-box {
        margin: 0
    }

    .video-box .play-btn {
        margin-bottom: 50px
    }

    .rooms-filter .price-range {
        width: 100%;
        margin-bottom: 10px
    }

    .rooms-filter .specifications,
    .rooms-list li:nth-child(2n) {
        width: 100%;
        padding-left: 0
    }

    .rooms-list li {
        width: 100%;
        padding-right: 0;
        margin-bottom: 60px
    }

    .sidebar {
        margin-top: 50px
    }

    .newsletter-box {
        padding: 0
    }

    .footer-bar h6 {
        font-size: 20px
    }

    .footer-bar figure img {
        height: 34px
    }

    .footer .widget-title {
        margin-top: 30px
    }

    .footer .row div:first-child .widget-title {
        margin-top: 0
    }
}

@media only screen and (max-width:767px),
only screen and (max-device-width:767px) {

    .page-header .container p,
    .slider h6 {
        letter-spacing: 0
    }

    .hamburger-navigation-active .hamburger-navigation .container {
        padding-top: 50px
    }

    .hamburger-navigation .info-box {
        width: 100%;
        margin-top: 20px;
        padding-top: 20px
    }

    .hamburger-navigation .nav-menu li {
        margin: 3px 0
    }

    .hamburger-navigation .nav-menu li a {
        font-size: 6vw
    }

    .page-header .container h1 {
        font-size: 10vw;
        padding-top: 6rem;
        text-align: center
    }

    .navbar .navbar-text,
    .room-gallery-top,
    .section-title h2 br,
    .slider .slider-next,
    .slider .slider-prev {
        display: none
    }

    .slider h6 {
        font-size: 13px
    }

    .slider h1 {
        font-size: 12vw
    }

    .slider a {
        height: 70px;
        line-height: 70px
    }

    .slider .slider-fraction {
        width: 30%
    }

    .content-tab .tab-item ul li,
    .hotel-search form .form-group,
    .newsletter-box form input[type=submit],
    .room-box .content .bottom-specs .icons {
        width: 100%
    }

    .newsletter-box h2,
    .package-box h4,
    .room-type h3,
    .section-title h2,
    .side-hotel-box h2 {
        font-size: 34px
    }

    .package-box,
    .sidebar .widget {
        padding: 30px
    }

    .events-tab .tab-nav li,
    .newsletter-box form input[type=email] {
        margin-bottom: 10px
    }

    .rooms-slider .swiper-slide .room-detail {
        width: calc(100% - 30px);
        left: 15px;
        bottom: 15px;
        padding: 15px
    }

    .room-box .content .bottom-specs .reviews {
        width: 100%;
        text-align: left;
        margin-top: 20px
    }

    .room-info-box ul li b {
        width: 80%
    }

    .content-tab .tab-nav li {
        padding: 0 15px;
        margin-right: 0;
        margin-left: -1px
    }

    .content-tab .tab-nav li:first-child {
        margin-left: 0
    }

    .news-box {
        margin-bottom: 50px
    }

    .news-box .content h3 {
        font-size: 30px;
        line-height: 1.2;
        margin-top: 10px
    }

    .newsletter-box form {
        height: auto
    }

    .footer-bar strong {
        width: 100%;
        display: block;
        margin: 10px 0
    }

    .footer-bar figure {
        width: 100%;
        margin: 10px 0 0
    }

    .footer .bottom-bar .footer-social {
        width: 100%;
        display: block;
        margin-top: 10px
    }

    .footer .bottom-bar .footer-social li {
        margin-left: 0;
        margin-right: 10px
    }
}

.hero video,
.whyus::after {
    position: absolute;
    left: 0;
    height: 100%
}

.video_darkness {
    position: absolute;
    top: 0;
    left: 0;
    width: 101%;
    height: 101%;
    z-index: 1;
    border-collapse: inherit;
    background: -webkit-gradient(linear, 0 100%, 0 0, from(var(--color-brand-700)), to(rgb(var(--color-brand-700-rgb) / 30%)))
}

.hero video {
    top: 0;
    width: 100%;
    object-fit: cover;
    z-index: -999
}

.navbar .site-menu ul li a i {
    padding-right: 13px
}

.right_menusWraps {
    display: flex;
    align-items: center
}

.hero_text {
    position: absolute;
    z-index: 100;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%
}

.hero_text h2 {
    font-size: 4vw;
    font-family: "Argesta Display";
    margin-bottom: 30px
}

.slider--brand {
    overflow: hidden;
    background: linear-gradient(110deg,
            var(--brand-dark) 0%,
            color-mix(in srgb, var(--brand-dark) 78%, var(--brand)) 35%,
            var(--brand) 65%,
            color-mix(in srgb, var(--brand-dark) 52%, var(--brand)) 100%);
}

.slider--brand .main-slider {
    position: relative;
}

.slider--brand .video_darkness {
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(110deg,
            color-mix(in srgb, var(--brand-dark) 48%, transparent) 0%,
            color-mix(in srgb, var(--brand-dark) 34%, transparent) 44%,
            color-mix(in srgb, var(--brand) 24%, transparent) 100%);
}

.slider--brand .hero-visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(circle at 72% 56%, color-mix(in srgb, var(--brand) 58%, transparent) 0%, transparent 36%),
        radial-gradient(circle at 88% 66%, color-mix(in srgb, var(--brand) 62%, transparent) 0%, transparent 41%),
        radial-gradient(circle at 56% 36%, color-mix(in srgb, var(--brand-dark) 36%, transparent) 0%, transparent 34%),
        linear-gradient(120deg, var(--brand-dark) 0%, color-mix(in srgb, var(--brand-dark) 72%, var(--brand)) 35%, var(--brand) 100%);
}

.slider--brand .hero-visual::before {
    display: none;
}

.hero_text--brand {
    top: 56%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    text-align: left;
}

.hero_text--brand .hero_text_inner {
    max-width: 560px;
}

.hero_text--brand h2 {
    margin-bottom: 8px;
    font-size: clamp(42px, 6.4vw, 88px);
    line-height: 1;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    letter-spacing: .2px;
    text-transform: none;
}


.hero_text--brand p {
    margin-top: 18px;
    padding: 0;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .35px;
    font-size: 18px;
    color: var(--white);
}

.hero_text--brand a {
    top: 0;
    margin-top: 22px;
    padding: 13px 30px;
    border-width: 2px;
    border-color: rgb(var(--white-rgb) / .95);
    background: var(--white);
    color: #1b1415;
    letter-spacing: 1.8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.hero_text--brand a:hover {
    background: var(--color-brand-700);
    border-color: var(--color-brand-700);
    color: var(--white);
}

.side-content h6 {
    font-family: "Argesta Display";
    font-size: 40px;
    opacity: 1
}

.president-section {
    padding-top: 20px;
}

.president-photo-wrap {
    margin: 10px 24px 10px 10px;
    max-width: 430px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 50px rgb(20 20 20 / 18%);
    position: relative;
}

.president-photo-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    min-height: 460px;
}

.president-content h6 {
    color: var(--color-brand-700);
    opacity: 1;
}

.president-content h2 {
    margin: 8px 0 16px;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.12;
}

.president-content p {
    max-width: 760px;
    color: #4f4a4a;
    opacity: 1;
    line-height: 1.85;
}

.whyus {
    background-image: url(../images/extar.jpg);
    background-position: center center;
    background-size: cover
}

.whyus::after {
    content: "";
    top: 0;
    width: 100%;
    mix-blend-mode: multiply;
    background: #1c0808;
    opacity: .85
}

[data-balloon]:after,
[data-balloon]:before {
    opacity: 0;
    pointer-events: none;
    transition: .18s ease-out .18s;
    z-index: 10
}

.whyContent {
    position: relative;
    z-index: 10;
    color: #fff
}

.whyContent h6 {
    color: #fff;
    padding-bottom: 31px;
    font-size: 25px
}

.whyContent ul li {
    color: #fff;
    font-size: 17px;
    letter-spacing: 1px;
    margin-bottom: 25px
}

.newleeter {
    background: #141414;
    overflow: hidden
}

.widthadjust {
    width: 40vw !important
}

.planet {
    position: absolute;
    right: -460px;
    top: 0;
    width: 70%
}

.footer_cols {
    margin: 0;
    padding: 0
}

.footer_cols li {
    list-style-type: none;
    margin-bottom: 15px
}

.footer_cols li a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 16px;
    letter-spacing: 1px
}

.footer_cols li a i {
    color: #fff;
    padding-right: 22px
}

.form_flight {
    padding: 6rem 0
}

.form_flight h4 {
    text-align: center;
    font-size: 3vw;
    font-family: "Argesta Display";
    padding-bottom: 3rem
}

.form_flight .container {
    max-width: 1000px
}

.form_group {
    margin-bottom: 28px
}

.form_group input {
    width: 100%;
    height: 48px;
    position: relative
}

.form_submit button {
    background: #000 !important;
    font-size: 17px !important;
    height: 50px !important
}

.form_group i {
    position: absolute;
    right: 40px;
    top: 12px
}

.about_us .image img {
    width: 85%;
    height: 600px;
    object-fit: cover;
    object-position: center
}

@media (max-width:768px) {
    .mobile_contact ul {
        width: 100%;
        padding: 0;
        display: flex;
        margin-top: 25px
    }

    .mobile_contact ul li {
        list-style-type: none;
        width: 100%;
        grid-template-columns: 1fr 1fr 1fr;
        border: 1px solid #fff
    }

    .mobile_contact ul li a {
        padding: 10px;
        text-align: center;
        display: block;
        width: 100%;
        color: #fff;
        font-size: 14px;
        white-space: nowrap
    }

    .mobile_contact {
        display: block !important;
        width: 100%
    }

    .about_us .image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        object-position: center
    }

    .widthadjust {
        width: 100% !important;
        margin-bottom: 40px
    }

    .slider p {
        padding: 0 3%
    }

    .slider--brand .video_darkness {
        background: linear-gradient(145deg, rgba(0, 0, 0, .78) 0%, rgba(80, 8, 24, .54) 55%, rgba(190, 33, 41, .4) 100%);
    }

    .hero_text--brand {
        top: 56%;
    }

    .hero_text--brand h2 {
        font-size: 56px;
    }

    .hero_text--brand h3 {
        font-size: 34px;
    }

    .hero_text--brand p {
        font-size: 14px;
        line-height: 1.65;
    }

    .hero_text--brand a {
        padding: 11px 24px;
        font-size: 11px;
    }

    .form_flight h4 {
        text-align: center;
        font-size: 30px
    }

    .page-header {
        width: 100%;
        height: 500px
    }
}

.icona_fixedCall {
    position: fixed;
    right: 22px;
    bottom: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--color-brand-700);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
    z-index: 9999;
    direction: ltr !important
}

.icona_fixedCall a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%
}

.icona_fixedCall a img {
    width: 28px;
    height: 28px;
    filter: brightness(0) invert(1)
}

.gallery_grid {
    -moz-box-shadow: 0 5px 19px -7px rgba(0, 0, 0, .15);
    -webkit-box-shadow: 0 12px 19px -7px rgba(0, 0, 0, .15);
    box-shadow: 0 11px 19px -7px rgba(0, 0, 0, .28);
    position: relative;
    margin-bottom: 40px;
    border-radius: 10px;
}

.gallery_grid a img {
    min-height: 250px;
    border-radius: 10px;
    height: 280px;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
    width: 100%;
    position: relative;
    opacity: 1
}

.smartphoto {
    position: fixed;
    z-index: 100000
}

.whatsapp-container {
    position: fixed;
    bottom: 30px;
    right: 20px;
    direction: ltr !important;
    z-index: 2147482999;
    justify-content: flex-end
}

button[data-balloon] {
    overflow: visible
}

[data-balloon] {
    position: relative;
    cursor: pointer
}

[data-balloon]:after {
    font-family: sans-serif !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-shadow: none !important;
    font-size: 12px !important;
    background: rgba(17, 17, 17, .9);
    border-radius: 4px;
    color: #fff;
    content: attr(data-balloon);
    padding: .5em 1em;
    position: absolute;
    white-space: nowrap
}

[data-balloon]:before {
    background: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(0)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') 0 0/100% auto no-repeat;
    width: 18px;
    height: 6px;
    content: '';
    position: absolute
}

[data-balloon]:hover:after,
[data-balloon]:hover:before,
[data-balloon][data-balloon-visible]:after,
[data-balloon][data-balloon-visible]:before {
    opacity: 1;
    pointer-events: auto
}

[data-balloon].font-awesome:after {
    font-family: FontAwesome
}

[data-balloon][data-balloon-break]:after {
    white-space: pre
}

[data-balloon][data-balloon-blunt]:after,
[data-balloon][data-balloon-blunt]:before {
    transition: none
}

[data-balloon][data-balloon-pos=left]:after {
    margin-right: 11px;
    right: 100%;
    top: 50%;
    transform: translate(10px, -50%)
}

[data-balloon][data-balloon-pos=left]:before {
    background: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba(17,17,17,0.9)%22%20transform%3D%22rotate(-90 18 18)%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E') 0 0/100% auto no-repeat;
    width: 6px;
    height: 18px;
    margin-right: 5px;
    right: 100%;
    top: 50%;
    transform: translate(10px, -50%)
}

[data-balloon][data-balloon-pos=left]:hover:after,
[data-balloon][data-balloon-pos=left]:hover:before,
[data-balloon][data-balloon-pos=left][data-balloon-visible]:after,
[data-balloon][data-balloon-pos=left][data-balloon-visible]:before {
    transform: translate(0, -50%)
}



.ree-media-crd {
    background: #f7f7f7;
    border-radius: 14px;
    overflow: hidden;
    border: 5px solid #f7f7f7;
    margin: 10px 0px;
}

.ree-media-crd:hover {
    -webkit-box-shadow: 0 10px 15px 0 rgb(82 0 57 / 10%);
    box-shadow: 0 10px 15px 0 rgb(82 0 57 / 10%)
}

.rpl-img {
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.rpl-contt {
    padding: 0 20px 20px;
}

html .mb20 {
    margin-bottom: 20px;
}

html .mt30 {
    margin-top: 30px;
}

.blog-quick-inf {
    font-weight: 300;
    font-size: 17px;
}

.text-dark {
    color: #343a40 !important;
}

.owl-prev {
    position: absolute;
    top: 25vh;
    left: 0px;
    background: white !important;
    width: 1.5rem;
    border-radius: 50%;
}

.owl-next {
    position: absolute;
    top: 25vh;
    right: 0px;
    background: white !important;
    width: 1.5rem;
    border-radius: 50%;
}

.blog-quick-inf span {
    font-size: small;
}

.merchcontentt {

    padding: 10px 0px;

    text-align: center;
}

.merchcontentt h4,
.headingmerch {
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 0.35em 0;
}

.merch-enquiry-link {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.4em 1em;
    margin-top: 0.5em;
    color: #fff;
    background: var(--color-brand-700);
    border: none;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    transition: background 0.2s, color 0.2s;
}

.merch-enquiry-link:hover {
    background: var(--color-brand-800);
    color: #fff;
    text-decoration: none;
}

/* Merchandise side panel - works with site scroll */
.merch-page-section.content-section {
    display: block;
    padding: 60px 0 100px;
}

.merch-page-section .container {
    width: 100%;
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.merch-page-section .merch-layout {
    display: flex;
    flex-wrap: nowrap;
    margin-left: -15px;
    margin-right: -15px;
}

.merch-page-section .merch-sidepanel {
    flex: 0 0 auto;
    width: 25%;
    min-width: 220px;
    max-width: 280px;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 0;
}

.merch-page-section .merch-main-wrap {
    flex: 1 1 auto;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
}

.merch-page-section .merch-main {
    margin-bottom: 0;
}

.merch-sidepanel {
    margin-bottom: 2rem;
}

.merch-sidepanel-inner {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 1.25rem 1rem;
    border: 1px solid #eee;
}

.merch-page-section .merch-sidepanel-inner {
    position: sticky;
    top: 100px;
}

@media (max-width: 991px) {
    .merch-page-section .merch-sidepanel {
        width: 33.333333%;
        max-width: none;
    }
}

@media (max-width: 767px) {
    .merch-page-section .merch-layout {
        flex-wrap: wrap;
    }

    .merch-page-section .merch-sidepanel {
        width: 100%;
        min-width: 0;
        max-width: none;
        margin-bottom: 1.5rem;
    }

    .merch-page-section .merch-sidepanel-inner {
        position: static;
    }
}

.merch-sidepanel-title {
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #333;
    margin: 0 0 1rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #ddd;
}

.merch-sidepanel-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.merch-cat-link {
    display: block;
    padding: 0.5rem 0.75rem;
    color: #555;
    text-decoration: none;
    font-size: 0.95rem;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
}

.merch-cat-link:hover {
    background: #eee;
    color: #333;
}

.merch-cat-link.active {
    background: var(--color-brand-700);
    color: #fff;
}

.merch-main {
    margin-bottom: 2rem;
}

/* Merchandise category section title */
.merch-section-title {
    font-size: 1.35rem;
    margin: 2rem 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #ddd;
}

.merch-section-title:first-child {
    margin-top: 0;
}

.merch-page-section .merch-product-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 1.5rem;
}

.merch-page-section .merch-product-row .col-lg-4,
.merch-page-section .merch-product-row .col-md-6 {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 1.5rem;
}

/* Off-screen category blocks: browser can skip work until near viewport */
.merch-category-block {
    content-visibility: auto;
    contain-intrinsic-size: auto 400px;
    display: block;
}

.merch-product-row {
    margin-bottom: 0.5rem;
}

/* Merchandise image wrap: fixed size so all product cards match */
.merch-image-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 280px;
    overflow: hidden;
    background: #f5f5f5;
}

.merch-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Skeleton placeholder while image loads */
.merch-img-skeleton {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg,
            #eee 0%,
            #f5f5f5 45%,
            #e8e8e8 50%,
            #f5f5f5 55%,
            #eee 100%);
    background-size: 200% 100%;
    animation: merch-skeleton-shimmer 1.2s ease-in-out infinite;
    pointer-events: none;
}

.merch-img-skeleton.merch-skeleton-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

@keyframes merch-skeleton-shimmer {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

/* Fade-in when image has loaded */
.merch-image-wrap img.merch-img {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.merch-image-wrap img.merch-img-loaded {
    opacity: 1;
}

.merch-tag {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.merch-tag-new {
    background: var(--color-brand-700);
    color: #fff;
}

/* Merchandise product image carousel - same height as .merch-image-wrap */
.merch-carousel {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 280px;
    background: #f5f5f5;
}

.merch-carousel .carousel-inner,
.merch-carousel .carousel-item {
    height: 100%;
}

.merch-carousel .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.merch-carousel .carousel-control-prev,
.merch-carousel .carousel-control-next {
    width: 36px;
    height: 36px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.8;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    padding: 0;
}

.merch-carousel .carousel-control-prev {
    left: 6px;
}

.merch-carousel .carousel-control-next {
    right: 6px;
}

.merch-carousel .carousel-control-prev-icon,
.merch-carousel .carousel-control-next-icon {
    width: 14px;
    height: 14px;
    background-size: 14px 14px;
}

.merch-carousel .carousel-control-prev:hover,
.merch-carousel .carousel-control-next:hover {
    opacity: 1;
}

.merch-carousel .carousel-indicators {
    margin-bottom: 6px;
}

.merch-carousel .carousel-indicators li {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

/* Merchandise enquiry modal – fonts and sizes */
#enqmodel .modal-title {
    font-size: 1.15rem;
    font-weight: 600;
}

.merch-enquiry-form label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 0.35rem;
}

.merch-enquiry-form .form-control,
.merch-enquiry-form select.form-control,
.merch-enquiry-form input.form-control,
.merch-enquiry-form textarea.form-control {
    font-size: 0.9rem;
    padding: 0.5rem 0.75rem;
    height: auto;
    min-height: 40px;
    border-radius: 4px;
    border: 1px solid #ced4da;
}

.merch-enquiry-form textarea.form-control {
    min-height: 90px;
    resize: vertical;
}

.merch-enquiry-form .merch-enquiry-submit {
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.5rem 1.5rem;
    color: #fff;
    background: var(--color-brand-700);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}

.merch-enquiry-form .merch-enquiry-submit:hover {
    background: var(--color-brand-800);
    color: #fff;
}

.merch-enquiry-form .merch-enquiry-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.merch-form-alert {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 4px;
    font-size: 0.9rem;
}

.merch-form-alert.alert-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.merch-form-alert.alert-danger {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.merch-field-error {
    display: block;
    font-size: 0.8rem;
    color: #dc3545;
    margin-top: 0.25rem;
}

#myModal {
    z-index: 1050 !important;
}

.swal-overlay {
    z-index: 20000;
}

@media only screen and (max-width:991px),
only screen and (max-device-width:991px) {
    .hero-logo-mark {
        max-width: 220px;
    }
}

@media only screen and (max-width:767px),
only screen and (max-device-width:767px) {

    .hero_text--brand,
    .hero_text--brand .hero_text_inner {
        text-align: center;
    }

    .hero_text--brand .hero_text_inner {
        margin: 0 auto;
    }

    .hero-logo-mark {
        max-width: 170px;
    }
}

.services-grid-section {
    background: #fff;
}

.service-feature {
    position: relative;
    margin: 24px 0 !important;
    padding: 88px 0 !important;
    border-radius: 18px;
    overflow: hidden;
}

.service-feature .container {
    max-width: 1180px;
}

.service-feature .row.no-gutters {
    margin-right: -14px;
    margin-left: -14px;
    row-gap: 24px;
}

.service-feature .row.no-gutters>[class*=col-] {
    padding-right: 14px;
    padding-left: 14px;
}

.service-feature .service-copy {
    background: rgb(var(--white-rgb) / .84);
    border: 1px solid rgb(188 39 54 / 14%);
    border-radius: 16px;
    box-shadow: 0 20px 40px rgb(17 15 15 / 10%);
    backdrop-filter: blur(2px);
}

.service-feature .side-content.service-copy {
    padding: 36px 34px;
}

.service-feature .side-hotel-box.service-copy {
    padding: 34px 34px;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgb(17 15 15 / 10%);
}

.service-feature .service-copy h2,
.service-feature .service-copy h6 {
    margin-bottom: 16px;
    opacity: 1;
}

.service-feature .service-copy h2 {
    font-size: clamp(30px, 3.2vw, 42px);
    line-height: 1.15;
}

.service-feature .service-copy h6 {
    font-size: clamp(28px, 3.4vw, 38px);
    color: #181214;
}

.service-feature .service-copy p,
.service-feature .service-copy ul li {
    color: #3f393b;
    line-height: 1.7;
}

.service-feature .service-copy ul {
    margin: 0;
    padding-left: 20px;
}

.service-feature .service-copy ul li {
    margin-bottom: 6px;
}

.service-feature .service-copy ul li:last-child {
    margin-bottom: 0;
}

.service-feature .service-visual {
    margin: 0 auto;
    max-width: 540px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgb(17 15 15 / 20%);
    transform: none;
}

.service-feature .service-visual img {
    width: 100%;
    height: clamp(300px, 32vw, 410px);
    object-fit: cover;
    box-shadow: none;
}

@media only screen and (max-width:991px),
only screen and (max-device-width:991px) {
    .service-feature {
        margin: 18px 0 !important;
        padding: 72px 0 !important;
    }

    .service-feature .side-content.service-copy,
    .service-feature .side-hotel-box.service-copy {
        padding: 28px 24px;
    }

    .service-feature .service-visual {
        margin: 0 auto 22px;
        max-width: 100%;
    }
}

.services-grid-slider {
    width: 100%;
    overflow: hidden;
    padding-bottom: 42px;
}

.services-grid-slider .swiper-slide {
    height: auto;
}

.service-grid-card {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    border: 1px solid #eee;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 25px rgb(0 0 0 / 8%);
}

.service-grid-card figure {
    margin: 0;
    width: 100%;
    height: 230px;
    overflow: hidden;
}

.service-grid-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-grid-card h5 {
    margin: 0;
    padding: 14px 16px;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
    text-align: center;
}

.services-grid-pagination.swiper-pagination-bullets {
    bottom: 0;
}

.services-grid-empty {
    margin: 0;
    text-align: center;
    opacity: .75;
}

@media only screen and (max-width:767px),
only screen and (max-device-width:767px) {
    .service-feature {
        margin: 14px 0 !important;
        padding: 64px 0 !important;
    }

    .service-feature .side-content.service-copy,
    .service-feature .side-hotel-box.service-copy {
        padding: 24px 20px;
    }

    .service-feature .service-visual {
        max-width: 100%;
    }

    .service-feature .service-visual img {
        height: 270px;
    }

    .service-grid-card figure {
        height: 210px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-logo-mark {
        animation: none;
    }
}