@keyframes pop-in {
    100% {
        transform: scale3d(1, 1, 1);
        opacity: 1
    }
}

@keyframes pop-out {
    0% {
        transform: scale3d(1, 1, 1);
        opacity: 1
    }

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

@keyframes slide-in {
    100% {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes slide-out {
    0% {
        transform: translate3d(0, 0, 0);
        opacity: 1
    }

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

@keyframes bounce {

    0%,
    100% {
        transform: translate3d(0, 0, 0)
    }

    50% {
        transform: translate3d(0, 5px, 0)
    }
}

@keyframes header-slide-out {
    0% {
        transform: translate3d(0, 0, 0);
        background: rgba(0, 0, 0, 0)
    }

    100% {
        transform: translate3d(0, -57px, 0)
    }
}

@keyframes header-slide-in {
    0% {
        transform: translate3d(0, -57px, 0)
    }

    100% {
        transform: translate3d(0, 0, 0)
    }
}

@keyframes bounce-up {
    0% {
        transform: rotate(0)
    }

    20% {
        transform: rotate(-10deg)
    }

    40% {
        transform: rotate(10deg)
    }

    100% {
        transform: rotate(0)
    }
}

@keyframes gift-slide-out {
    0% {
        transform: translateX(calc(-100% + 85px));
        background-color: #34383f
    }

    100% {
        transform: translateX(0);
        background-color: #e2c576
    }
}

@keyframes popup-slide {
    100% {
        left: 20px
    }
}

@keyframes popup-slide-right {
    100% {
        right: 20px
    }
}

@keyframes animatezoom {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

@keyframes fading {
    0% {
        opacity: 0
    }

    25% {
        opacity: 0
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: 1
    }
}

.pulsate {
    -webkit-animation: pulsate 3s ease-out;
    -webkit-animation-iteration-count: infinite;
    opacity: .5
}

@keyframes pulsate {
    0% {
        opacity: .5
    }

    50% {
        opacity: 1
    }

    100% {
        opacity: .5
    }
}

.anim-fly-right {
    display: inline-block;
    animation: 1.5s ease fly-right forwards
}

@keyframes fly-right {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(1000px)
    }
}

@keyframes spinner {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

iframe,
video {
    width: 100%;
    border: 0;
    padding: 0
}

.pswp.ms {
    z-index: 999999
}

.lh-0 {
    line-height: 0
}

.swiper-button-next,
.swiper-button-prev {
    top: calc(50% - 22px)
}

.accommodation-gallery-top {
    height: 400px;
    border-top: 5px solid rgba(0, 0, 0, 0)
}

.accommodation-gallery-thumbs {
    height: 90px;
    margin-top: 10px;
    padding: 5px;
    background-color: #f7f7f7
}

.accommodation-gallery-thumbs .swiper-wrapper {
    justify-content: center
}

.ai__price-chart {
    position: relative;
    overflow-x: auto
}

.ai__price-chart-tip {
    position: absolute;
    color: #fff;
    bottom: 100%;
    left: 0;
    padding: 0 0 0 10px
}

.ai__price-chart-border {
    padding: 15px;
    padding-bottom: 0;
    background-color: #f7f7f7;
    position: relative
}

.ai__price-chart-area {
    height: 150px;
    background-color: #f7f7f7;
    width: 2000px
}

.ai__price-chart--placeholder {
    position: absolute;
    top: 80px;
    color: #bdbdbd;
    text-align: center;
    width: 100%;
    left: 0
}

.ai__price-chart-area>canvas {
    position: absolute;
    left: 0;
    top: 0
}

.swiper-pagination-bullet-active {
    background: #fff
}

.banner-container {
    width: 100%;
    position: relative;
    padding: 0;
    height: 670px;
    background-color: #333;
    overflow: hidden
}

.banner-container.banner-full-height {
    height: calc(100vh - 105px)
}

.banner-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    top: calc(50% - 40px)
}

.banner-image,
.swiper-slide {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden
}

.scroll-indicator {
    display: none;
    position: absolute;
    bottom: 50px;
    color: #fff;
    z-index: 1;
    text-transform: uppercase;
    cursor: pointer;
    width: 150px;
    left: calc(50% - 75px)
}

.scroll-indicator div {
    text-align: center
}

.scroll-indicator i {
    display: block;
    animation: bounce 1s infinite
}

[cblock] {
    overflow: hidden
}

header.sticky {
    animation: header-slide-out .2s forwards
}

header {
    animation: header-slide-in .2s forwards
}

.photo-gallery a img {
    width: 100%;
    display: block;
    height: auto
}

.photo-gallery .gal-image-cover {
    opacity: 0;
    background-color: rgba(0, 0, 0, .5);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    width: 100%;
    height: 100%;
    font-size: 2.5em;
    will-change: opacity;
    transition: opacity .25s ease
}

.photo-gallery a:hover .gal-image-cover {
    opacity: 1
}

.photo-gallery-collections {
    margin: 0;
    padding: 0;
    margin-bottom: 50px
}

.photo-gallery-collections .pgc-item {
    display: inline-block
}

.photo-gallery-collections .pgc-item a {
    margin: 0 .5em .5em 0;
    font-weight: 700
}

.tab-content.tab-content-clean {
    padding: 0;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    margin: 0;
    border-radius: 0
}

figure {
    position: relative;
    margin-bottom: 30px
}

.cblock_layout_carousel {
    overflow: hidden
}

.cblock_layout_carousel .swiper-container {
    max-height: 450px
}

.cblock_layout_carousel .swiper-slide {
    max-width: 600px
}

[cblock][data-cbtype=cblock__code] {
    line-height: 0
}

.g-recaptcha {
    max-width: 100%;
    overflow: hidden
}

#g-recaptcha-response {
    display: block !important;
    position: absolute;
    margin: -78px 0 0 0 !important;
    width: 302px !important;
    height: 76px !important;
    z-index: -999999;
    opacity: 0
}

.btn .btn-content {
    will-change: transform;
    transition: .5s ease
}

.btn.submitting .btn-content {
    transform: translateX(100%)
}

.btn-loader {
    left: -100%;
    position: absolute;
    text-align: center;
    width: 100%
}

header.sticky .header__menu-container {
    padding-top: 10px;
    padding-bottom: 10px
}

.flatpickr-calendar.open {
    z-index: 99999999
}

.swiper-container-thumbs img {
    cursor: pointer;
    will-change: transform;
    transition: transform .5s ease
}

.swiper-container-thumbs img:hover {
    filter: url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
    filter: gray;
    -webkit-filter: grayscale(100%);
    transform: scale3d(.9, .9, .9)
}

a.cc-btn.cc-dismiss {
    padding: 4px 28px
}

.cc-revoke,
.cc-window {
    z-index: 99999999;
    border: 1px solid rgba(0, 0, 0, .25)
}

.ribbon {
    position: absolute;
    right: -5px;
    top: -2px;
    overflow: hidden;
    width: 180px;
    height: 55px;
    text-align: right
}

.ribbon div {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    line-height: 30px;
    display: block;
    position: absolute;
    top: 15px;
    right: -1px;
    height: 30px;
    padding: 0 10px 0 5px;
    max-width: 150px
}

.ribbon div:before {
    content: "";
    position: absolute;
    left: -30px;
    top: 0;
    z-index: -1;
    border: 15px solid;
    border-left-color: rgba(0, 0, 0, 0) !important;
    border-bottom-color: rgba(0, 0, 0, 0) !important;
    border-top-color: rgba(0, 0, 0, 0) !important
}

.ribbon div:after {
    content: "";
    position: absolute;
    right: 0;
    top: 100%;
    z-index: -1;
    border: 3px solid;
    border-right-color: rgba(0, 0, 0, 0) !important;
    border-bottom-color: rgba(0, 0, 0, 0) !important
}

.ribbon.expanding-ribbon .ribbon-content {
    transform: scaleX(0);
    transform-origin: right;
    will-change: transform;
    transition: transform .25s ease;
    max-width: 130px
}

.ribbon.expanding-ribbon .ribbon-content.ribbon-content--expanded {
    transform: scaleX(1)
}

.sidebar-booking-form .ribbon {
    top: 35px
}

.vouchers-ribbon {
    position: fixed;
    z-index: 99999;
    transition: background-color .5s ease, transform .5s ease;
    transform: translateX(calc(-100% + 85px));
    will-change: transform;
    bottom: 200px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .25)
}

.vouchers-ribbon--expanded,
.vouchers-ribbon:hover,
body.boxed .vouchers-ribbon {
    transform: translateX(0)
}

body.boxed .vouchers-ribbon {
    position: absolute;
    z-index: 9999
}

.vouchers-ribbon__content {
    padding: 15px;
    display: table
}

.vouchers-ribbon--expanded .vouchers-ribbon__icon,
.vouchers-ribbon:hover .vouchers-ribbon__icon,
body.boxed .vouchers-ribbon .vouchers-ribbon__icon {
    background-color: rgba(0, 0, 0, .1)
}

.vouchers-ribbon__icon {
    font-size: 3em;
    text-align: center;
    background: rgba(0, 0, 0, 0);
    display: table-cell;
    line-height: 56px;
    width: 56px
}

.vouchers-ribbon__icon .icon-gift {
    display: block;
    will-change: transform;
    animation: 1s bounce-up infinite;
    color: #fff
}

.vouchers-ribbon__text-wrapper {
    display: table-cell;
    padding-right: 15px;
    vertical-align: middle;
    text-align: right
}

.vouchers-ribbon__text {
    font-size: 1.4em;
    line-height: 1em;
    padding: 5px 0;
    color: #fff
}

.vouchers-ribbon__text.vouchers-ribbon__text-bg {
    padding: 5px;
    display: inline-block;
    background-color: #fff
}

.header__menu-container .vouchers-ribbon__icon {
    margin-right: 30px;
    line-height: 12px;
    font-size: 2em;
    display: none;
    color: #fff
}

.header__menu-container .vouchers-ribbon__subtext {
    font-size: 12px;
    text-transform: lowercase
}

.reviews {
    margin-bottom: 50px
}

.review-item-inline {
    background-color: #fff;
    margin: 15px;
    padding-top: 15px;
    border-bottom: 3px solid #f0f0f0
}

.review-item-inline .review-item-container {
    border: 0;
    padding: 15px
}

.review-item-inline .review-item-container .review-rating {
    position: static;
    padding: 0 0 30px 0
}

.review-item-inline .review-comments-text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-height: 20px;
    max-height: 40px
}

.review-score-pane {
    padding: 15px;
    margin-bottom: 15px;
    border: 2px solid #ececec;
    border-radius: .25rem
}

.review-score-pane span {
    display: inline-block;
    line-height: 1em;
    font-size: 14px;
    text-align: center;
    padding: 5px
}

.review-item-container {
    position: relative;
    padding: 35px 0 15px 0;
    border-bottom: 1px solid #ececec
}

.review-item-container .review-header {
    display: table;
    width: 100%;
    margin-bottom: 15px
}

.review-item-container .review-header .review-avatar {
    height: 45px;
    width: 45px;
    display: inline-block;
    border-radius: 50px;
    display: table-cell
}

.review-item-container .review-header .review-avatar>div {
    color: #fff;
    line-height: 45px;
    text-align: center;
    font-size: 22px
}

.review-item-container .review-header .review-profile {
    vertical-align: middle;
    display: table-cell;
    padding: 0 15px
}

.review-item-container .review-rating {
    position: absolute;
    font-size: 1.1em;
    top: 40px;
    right: 0
}

.review-item-container .review-rating .rating-text {
    border-right: 1px solid #ececec;
    padding-right: 8px;
    font-weight: 700
}

.review-item-container .review-answer-rating {
    font-size: 1.1em
}

.review-item-container .review-answer-rating .answer-rating-text {
    border-right: 1px solid #ececec;
    padding-right: 8px;
    font-weight: 700
}

.review-item-container p.review-comments {
    font-size: 1.1em
}

.review-item-container p.review-comments i.icon-quote {
    color: #cecece
}

.c-shadow {
    box-shadow: 0 0 3px rgba(0, 0, 0, .12), 0 0 2px rgba(0, 0, 0, .24)
}

.jump-to-top {
    background-color: rgba(0, 0, 0, .5);
    text-align: center;
    padding: 10px 7px;
    line-height: 20px;
    line-height: 20px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    cursor: pointer;
    display: none;
    color: #fff;
    font-size: 20px
}

::-webkit-input-placeholder {
    color: #cacaca
}

::-moz-placeholder {
    color: #cacaca
}

:-ms-input-placeholder {
    color: #cacaca
}

input:-moz-placeholder {
    color: #cacaca
}

.booking-form ::-webkit-input-placeholder {
    color: rgba(255, 255, 255, .5)
}

.booking-form ::-moz-placeholder {
    color: rgba(255, 255, 255, .5)
}

.booking-form :-ms-input-placeholder {
    color: rgba(255, 255, 255, .5)
}

.booking-form input:-moz-placeholder {
    color: rgba(255, 255, 255, .5)
}

.icon-flip::before {
    transform: scaleX(-1)
}

.ms-preloader {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999999
}

.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.page-content {
    background-color: #fff;
    overflow: hidden
}

.popup-wrapper {
    max-width: calc(100% - 40px);
    width: calc(100% - 40px);
    max-height: 450px;
    min-height: 270px;
    position: fixed;
    color: #fff;
    overflow: hidden;
    z-index: 999999;
    display: flex;
    align-items: center
}

.popup-img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    min-width: 200px;
    width: 200px;
    align-self: stretch
}

.popup-img.popup-img-cover {
    width: 100%
}

.popup-wrapper>.popup-img-cover>div {
    background-color: rgba(0, 0, 0, .15);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 266px;
    text-shadow: 1px 0 0 rgba(0, 0, 0, .3)
}

.popup-close {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 1.1em;
    width: 25px;
    line-height: 26px;
    text-align: center;
    height: 25px;
    background: #000;
    cursor: pointer
}

.popup-wrapper.popup-img-only {
    width: auto;
    height: auto;
    min-height: auto
}

.popup-wrapper.popup-img-only .popup-img {
    width: 100%;
    position: relative
}

.popup-wrapper.popup-img-only .popup-img img {
    width: 100%
}

.topLeft {
    top: 200px;
    left: 20px
}

.topRight {
    top: 200px;
    right: 20px
}

.bottomLeft {
    bottom: 70px;
    left: 20px
}

.bottomRight {
    bottom: 70px;
    right: 20px
}

.bottomRight.popup-slide-in {
    bottom: 70px;
    right: -580px;
    animation: popup-slide-right .5s forwards;
    animation-delay: 5s
}

.topRight.popup-slide-in {
    top: 200px;
    right: -580px;
    animation: popup-slide-right .5s forwards;
    animation-delay: 5s
}

.bottomLeft.popup-slide-in {
    left: -580px
}

.topLeft.popup-slide-in {
    left: -580px
}

.popup-text {
    padding: 18px 20px 18px 20px
}

.popup-wrapper .popup-text-container {
    padding: 20px;
    height: 266px;
    width: 350px;
    max-width: 350px
}

.popup-wrapper .popup-text-wrapper {
    padding: 35px 0;
    width: 100%;
    min-height: 270px;
    display: flex;
    align-items: center;
    justify-content: center
}

.popup-wrapper>div {
    text-align: center;
    vertical-align: middle
}

.popup-slide-in {
    animation: popup-slide .5s forwards;
    animation-delay: 5s
}

.zoomIn {
    animation: animatezoom 2s forwards;
    animation-delay: 5s;
    -webkit-animation-delay: 5s;
    transform: scale(0)
}

.fadeIn {
    animation: fading 10s forwards
}

footer [cblock] {
    margin: 0 0 30px 0
}

.sidebar-spacer {
    margin-bottom: 30px
}

.dropdown-menu.dropdown-scrollable {
    max-height: 300px;
    overflow-y: auto
}

.view-box {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 999999;
    color: #fff;
    opacity: .95
}

.language-select-scrollwrap {
    max-height: calc(100vh - 210px);
    overflow-y: auto
}

.language-select-scrollwrap .language-select-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap
}

.language-select-scrollwrap a {
    margin: 0 80px;
    padding: 20px;
    display: inline-block;
    text-align: center;
    flex: 20%
}

.language-select-scrollwrap a:hover:not(.google-translate-attribution) {
    background-color: #fff
}

.google-translate-attribution {
    display: block;
    text-align: center
}

#goog-gt-tt,
.skiptranslate {
    display: none !important
}

.goog-te-banner-frame {
    display: none !important
}

.goog-te-menu-value:hover {
    text-decoration: none !important
}

body {
    top: 0 !important
}

#google-translate__target {
    display: none !important
}

.VIpgJd-yAWNEb-VIpgJd-fmcmS-sn54Q,
body .goog-text-highlight {
    background-color: initial !important;
    box-shadow: initial !important;
    box-sizing: initial !important;
    -webkit-box-sizing: initial !important;
    -moz-box-sizing: initial !important;
    position: initial !important
}

.fl-upper::first-letter {
    text-transform: uppercase
}

.avail-tonight-badge {
    max-width: 115px;
    display: block;
    text-overflow: unset
}

.bform-heading {
    margin-bottom: 10px;
    letter-spacing: -1px;
    max-width: 235px
}

.spinner,
.spinner:after {
    border-radius: 50%;
    width: 2em;
    height: 2em
}

.spinner {
    left: calc(50% - 10px);
    top: calc(50% - 10px);
    font-size: 10px;
    position: absolute;
    text-indent: -9999em;
    border-top: .3em solid rgba(255, 255, 255, .2);
    border-right: .3em solid rgba(255, 255, 255, .2);
    border-bottom: .3em solid rgba(255, 255, 255, .2);
    border-left: .3em solid #fff;
    transform: translateZ(0);
    animation: spinner 1.1s infinite linear;
    transition: .5s ease;
    will-change: transform
}

.price-spinner {
    position: relative;
    display: inline-block;
    top: 0;
    left: 0;
    margin: 0 .2em 0 .4em;
    font-size: .4em;
    border: .3em solid rgba(231, 76, 60, .2);
    border-left: .3em solid #e74c3c
}

.load-spinner {
    position: relative;
    display: inline-block;
    top: 0;
    left: 0;
    margin: 0 5px 0 0;
    font-size: .4em;
    border: .3em solid rgba(85, 85, 85, .2);
    border-left: .3em solid #555
}

.load-spinner-lg {
    position: relative;
    display: inline-block;
    top: 0;
    left: 0;
    font-size: 1em;
    border: .3em solid rgba(85, 85, 85, .2);
    border-left: .3em solid #555
}

.input-icon-grp {
    position: relative
}

.input-icon-grp i {
    position: absolute;
    left: 4px;
    top: 11px;
    font-size: 1.3em
}

.input-icon-grp input {
    color: #fff;
    background: 0 0;
    border-radius: 0;
    border: 0;
    border-bottom: 1px dashed #fff;
    padding-left: 35px
}

.newsletter-plane {
    position: absolute;
    right: -102px;
    width: 207px;
    top: 30px
}

.newsletter__form {
    background-color: #2b2b2b;
    padding: 50px 20px
}

.dayContainer {
    display: inline-block
}

.room-size {
    display: inline-block;
    padding: 3px 5px;
    border-left: 1px solid;
    border-bottom: 1px solid;
    position: relative
}

.room-size:before {
    content: "";
    left: -4px;
    position: absolute;
    width: 0;
    height: 0;
    border-left: 4px solid rgba(0, 0, 0, 0);
    border-right: 4px solid rgba(0, 0, 0, 0);
    border-bottom: 5px solid;
    top: -1px
}

.room-size:after {
    content: "";
    right: -2px;
    position: absolute;
    width: 0;
    height: 0;
    border-top: 4px solid rgba(0, 0, 0, 0);
    border-bottom: 4px solid rgba(0, 0, 0, 0);
    border-left: 5px solid;
    bottom: -4px
}

.flatpickr-disabled {
    color: rgba(64, 72, 72, .3)
}

.gap-1 {
    gap: .25rem
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: 1rem
}

.gap-4 {
    gap: 1.5rem
}

.gap-5 {
    gap: 3rem
}

.fw-medium {
    font-weight: 500
}

.text-normal {
    font-size: 1em
}

.text-large {
    font-size: 1.25em
}

.main-menu {
    position: relative;
    z-index: 9;
    color: #fff
}

.main-menu a {
    transition: all .3s
}

.main-menu ul,
.main-menu ul li,
.main-menu ul li a {
    position: relative;
    margin-bottom: 0;
    margin: 0;
    padding: 0
}

.main-menu ul li a {
    display: block;
    line-height: 20px;
    padding: 10px;
    white-space: nowrap;
    padding-right: 25px
}

.main-menu ul li a .icon-chevron-right-mini {
    position: absolute;
    right: 5px
}

.main-menu>ul>li>a {
    color: #fff;
    padding: 5px 7.5px 5px 7.5px;
    font-size: 12px;
    text-transform: uppercase
}

.main-menu>ul>li>a:not([href]) {
    cursor: default
}

#header_menu,
.sidebar-menu__close,
.sidebar-menu__hamburger-switch {
    display: none
}

a.dropdown-toggle.icon-search {
    display: inline-block
}

@media only screen and (min-width:992px) {
    .main-menu {
        width: auto
    }

    .main-menu a {
        white-space: nowrap
    }

    .main-menu ul li {
        display: inline-block
    }

    .main-menu ul li.submenu:hover>a:after,
    .main-menu ul li.submenu:hover>a:before {
        bottom: -20px;
        opacity: 0
    }

    .main-menu ul ul {
        position: absolute;
        border-top: 2px solid #6f962c;
        display: none;
        z-index: 1;
        height: auto;
        left: 3px;
        top: 100%;
        margin: 0;
        padding: 0;
        background: #fff;
        min-width: 170px;
        box-shadow: 0 6px 12px rgba(0, 0, 0, .175)
    }

    .main-menu ul ul ul {
        position: absolute;
        border-top: 0;
        display: none;
        z-index: 1;
        height: auto;
        left: 100%;
        top: 0;
        margin: 0;
        padding: 0;
        background: #fff;
        min-width: 170px;
        box-shadow: 0 6px 12px rgba(0, 0, 0, .175)
    }

    .main-menu ul ul:before {
        bottom: 100%;
        left: 15%;
        border: solid rgba(0, 0, 0, 0);
        content: " ";
        height: 0;
        width: 0;
        position: absolute;
        pointer-events: none;
        border-bottom-color: #6f962c;
        border-width: 7px;
        margin-left: -7px
    }

    .main-menu ul ul ul:before {
        border-width: 0;
        margin-left: 0
    }

    .main-menu ul li:hover>ul {
        display: block;
        padding: 0
    }

    .main-menu ul ul li {
        display: block;
        height: auto;
        padding: 0
    }

    .main-menu ul ul li a {
        font-size: 12px;
        color: #666;
        border-bottom: 1px solid #ededed;
        display: block
    }

    .main-menu ul ul li:last-child a {
        border-bottom: none
    }

    .main-menu ul ul li:hover>a {
        background-color: #f9f9f9;
        color: #6f962c
    }
}

@media only screen and (max-width:991px) {
    #header_menu {
        text-align: center;
        padding: 25px 15px 10px 15px;
        position: relative;
        display: block
    }

    #header_menu img {
        max-height: 75px
    }

    .main-menu ul li {
        border-top: none;
        border-bottom: 1px solid rgba(0, 0, 0, .25);
        color: #fff
    }

    .main-menu ul li a {
        padding: 10px 15px
    }

    .main-menu h3 {
        font-size: 12px;
        line-height: 14px;
        margin: 0;
        padding: 0 0 15px 15px;
        color: #333;
        text-transform: uppercase
    }

    .main-menu li {
        position: relative
    }

    .main-menu ul>li {
        padding-bottom: 0
    }

    .main-menu ul>li i {
        float: right;
        text-align: center;
        font-size: 20px;
        margin-top: -10px;
        margin-right: -15px;
        padding: 10px 15px
    }

    .main-menu ul li.submenu {
        background-color: rgba(0, 0, 0, .1);
        border-bottom: 1px solid rgba(0, 0, 0, 0)
    }

    .main-menu ul li.submenu a {
        padding-left: 30px
    }

    .main-menu ul li.submenu li.submenu a {
        padding-left: 45px
    }

    .main-menu {
        overflow: auto;
        top: 0;
        left: 0;
        width: 55%;
        height: 100vh;
        position: fixed;
        z-index: 9999;
        will-change: transform;
        transform: translateX(-100%);
        transition: transform .5s ease
    }

    .main-menu.show {
        visibility: visible;
        transform: translateX(0);
        box-shadow: 0 0 3px rgba(0, 0, 0, .12), 0 0 2px rgba(0, 0, 0, .24)
    }

    .main-menu .show-submenu+ul {
        display: none;
        visibility: hidden
    }

    .main-menu a.show-submenu+ul.show_normal {
        display: block;
        visibility: visible
    }

    .sidebar-menu__hamburger-switch {
        position: relative;
        display: block;
        overflow: visible;
        margin: 0;
        padding: 0;
        width: 30px;
        min-width: 30px;
        height: 23px;
        font-size: 0;
        text-indent: -9999px;
        -webkit-appearance: none;
        -moz-appearance: none;
        box-shadow: none;
        border: none;
        cursor: pointer
    }

    .sidebar-menu__hamburger-switch:focus {
        outline: 0
    }

    .sidebar-menu__hamburger-switch span {
        display: block;
        position: absolute;
        top: 10px;
        left: 0;
        right: 0;
        height: 2px;
        background-color: #fff
    }

    .sidebar-menu__hamburger-switch span::after,
    .sidebar-menu__hamburger-switch span::before {
        position: absolute;
        display: block;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        content: ""
    }

    .sidebar-menu__hamburger-switch span::before {
        top: -10px
    }

    .sidebar-menu__hamburger-switch span::after {
        top: 10px
    }

    .sidebar-menu__hamburger-switch span {
        transition: transform .3s
    }

    .sidebar-menu__hamburger-switch.active span {
        transform: rotate(90deg)
    }
}

@media only screen and (max-width:480px) {
    .main-menu {
        width: 100%
    }

    a.sidebar-menu__close {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        text-align: center;
        margin: 15px;
        font-size: 1.25rem
    }
}

.chromeframe {
    background: #ddd;
    color: #000;
    padding: .2em;
    position: fixed;
    top: 0;
    left: 0;
    text-align: center;
    z-index: 9999;
    width: 100%
}

.chromeframe a {
    color: #ed1c24
}

body {
    background: #fff;
    font-size: 13px;
    line-height: 20px;
    color: #555;
    -webkit-font-smoothing: antialiased
}

h1,
h2,
h3,
h4,
h5,
h6 {
    -webkit-font-smoothing: antialiased;
    color: inherit
}

.main-title {
    display: none;
    text-align: center;
    font-size: 16px;
    border-left: 0;
    border-right: 0;
    padding: 10px 0;
    background: linear-gradient(to left, transparent, rgba(0, 0, 0, .25), transparent)
}

.main-title.no-subtitle {
    padding: 18px 0
}

.sub-title {
    color: #fff
}

.main-title h2 {
    letter-spacing: -1px;
    font-size: 30px;
    line-height: 29px;
    margin-bottom: 0;
    margin-top: 0;
    color: #fff
}

.main-title span:not(.notranslate) {
    display: block;
    /* width: 40px; */
    height: 20px;
    /* background-color: #ededed; */
    margin: auto;
    border-radius: 5px;
    margin-bottom: 15px;
}

.btn {
    cursor: pointer
}

.btn-outline-primary,
.btn-primary {
    font-weight: 700;
    padding: 8px 20px;
    font-size: 12px
}

.btn.btn-rounded {
    border-radius: 22px
}

.btn.btn-padded {
    padding: 12px 20px
}

.btn-outline-primary {
    color: #fff;
    border-color: #fff
}

.btn-outline-primary:hover,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active,
.show>.btn-outline-primary.dropdown-toggle {
    background: #fff;
    border-color: #fff;
    color: #333
}

a,
a:hover {
    transition: all .2s ease;
    outline: 0;
    text-decoration: none;
    color: inherit
}

p {
    margin: 0 0 20px 0
}

.nopadding {
    margin: 0 !important;
    padding: 0 !important
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #ddd
}

header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 999999;
    will-change: transform, background
}

header .logo img {
    padding: 10px;
    height: 100px
}

header.sticky .logo img {
    height: 75px
}

.header-container {
    width: 90%;
    margin: auto
}

header .logo a {
    line-height: 50px;
    font-size: 1.3em;
    color: #fff
}

.boxed .header-container {
    width: 1150px
}

.header-fade {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    opacity: .6
}

.swiper-container .swiper-button-white {
    opacity: 0;
    transition: opacity .25s ease-in-out;
    margin: 0 25px 0 25px;
    height: 20px
}

.swiper-container:hover .swiper-button-white {
    opacity: .25
}

nav {
    display: flex;
    align-items: center;
    padding: 10px;
    justify-content: flex-end
}

.header-utility-bar {
    font-size: 10px;
    padding: 10px 0;
    text-align: right;
    color: #fff;
    height: 56px;
    overflow: hidden
}

.header-utility-bar ul {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0;
    text-transform: uppercase
}

.header-utility-bar ul li {
    display: inline-block;
    border: 1px solid rgba(0, 0, 0, 0)
}

.header-utility-bar ul li a,
.header-utility-bar ul li a:hover {
    font-family: sans-serif;
    padding: 7px 6px;
    display: block;
    color: #fff
}

a#link_bt {
    float: right;
    background: rgba(255, 255, 255, .5);
    color: #444;
    margin-right: 10px;
    padding: 0 8px;
    display: inline-block
}

a#link_bt:hover {
    background: rgba(0, 0, 0, .5);
    color: #fff
}

footer {
    padding: 30px 0 10px 0;
    color: #fff;
    background-repeat: no-repeat;
    background-position: top center
}

footer h3 {
    font-size: 16px;
    font-weight: 700;
    color: #fff
}

footer ul {
    margin: 0;
    padding: 0 0 20px 0;
    list-style: none
}

.footer__socials-and-attribution {
    text-align: center;
    padding-top: 30px;
    margin-top: 30px
}

.footer__socials-and-attribution p {
    color: #fff
}

.footer__socials-and-attribution ul {
    padding-bottom: 10px;
    text-align: center
}

.footer__socials-and-attribution ul li {
    display: inline-block;
    margin: 0 5px
}

.footer__socials-and-attribution ul li a {
    font-size: 1.8em;
    width: 34px;
    height: 34px;
    line-height: 34px
}

.footer__socials-and-attribution ul li a:hover {
    color: #fff
}

.footer__socials-and-attribution ul li a.soc-fb:hover {
    background-color: #3c5a99
}

.footer__socials-and-attribution ul li a.soc-twit:hover {
    background-color: #1da1f2
}

.footer__socials-and-attribution ul li a.soc-insta:hover {
    background-color: #e1306c
}

.footer__socials-and-attribution ul li a.soc-pin:hover {
    background-color: #bd081c
}

.footer__socials-and-attribution ul li a.soc-yt:hover {
    background-color: red
}

ul#contact_details_footer {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0
}

ul#contact_details_footer li {
    margin-bottom: 10px
}

body.boxed {
    width: 1200px;
    margin: auto !important;
    box-shadow: -3px 0 5px 0 rgba(0, 0, 0, .1), 3px 0 5px 0 rgba(0, 0, 0, .1);
    background-repeat: repeat
}

.boxedcontainer {
    max-width: 1200px;
    margin: auto;
    background-color: #fff
}

.banner-slider {
    opacity: 0;
    height: 100%;
    will-change: opacity
}

.banner-slider-thumbs {
    opacity: 0;
    height: 70px;
    will-change: opacity
}

.box_home {
    padding: 25px 25px 5px 25px;
    position: relative;
    text-align: center
}

.box_home h3 {
    font-size: 20px
}

.box_home i {
    font-size: 60px;
    color: #86b535
}

.price_home {
    float: right
}

.price_home em {
    font-style: normal;
    font-weight: 400;
    color: #999;
    margin-left: 4px;
    font-size: 11px
}

.img_zoom {
    overflow: hidden;
    text-align: center;
    margin-top: 20px;
    border: 5px solid #fff;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1);
    margin-bottom: 15px
}

.img_zoom a img {
    transform: scale3d(1.2, 1.2, 1.2);
    transition: all .7s ease
}

.img_zoom a:hover img {
    transform: scale(1)
}

.accommodation-item {
    margin-bottom: 30px;
    background-color: #fff;
    padding: 3px;
    display: block;
    color: #777;
    box-shadow: inset 0 0 0 1px #e0e5e9;
    border: 5px solid #fbfbfc;
    border-radius: 5px
}

.accommodation-item .col-12 {
    max-width: 300px
}

.accommodation-item .accommodation-item-info {
    min-height: 100px
}

.accommodation-item-description {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.featured-block .img_zoom {
    margin: 0;
    border: 0;
    box-shadow: 0 0
}

.featured-block .featured-block-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 50px 15px 15px 15px;
    color: #fff;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, #000)
}

.featured-block .featured-block-text {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

@media(max-width:767px) {
    .featured-block {
        margin-bottom: 30px
    }
}

.event-description {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.event-btn {
    padding: .375rem .75rem
}

.event-item.card {
    margin-bottom: 30px;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, .1)
}

.event-icon i {
    font-size: 20px;
    margin-right: 5px
}

.event-image {
    display: block;
    width: 100%;
    text-align: center;
    background-position: center;
    background-size: cover;
    position: relative;
    overflow: hidden
}

.event-image:before {
    content: "";
    background: rgba(0, 0, 0, .7);
    display: block;
    width: 100%;
    height: 100%;
    position: absolute
}

.event-image img {
    position: relative;
    width: auto !important;
    max-width: 100%;
    margin: auto
}

.event-in-footer {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 1rem
}

.event-calendar-icon {
    width: 40px;
    height: 40px;
    text-align: center;
    border-radius: 4px;
    overflow: hidden;
    margin-right: .5rem;
    flex-shrink: 0
}

.event-calendar-icon-header {
    color: #fff;
    font-weight: 700;
    font-size: 10px;
    line-height: 14px;
    text-transform: uppercase
}

.event-calendar-icon-body {
    background-color: #fff;
    color: #333;
    font-weight: 700;
    font-size: 16px;
    line-height: 26px
}

.img_list {
    overflow: hidden;
    min-height: 100%;
    text-align: center;
    position: relative
}

.img_list div {
    height: 100%;
    position: absolute;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
    color: #cecece;
    background-color: #fbfbfc;
    padding: 50px
}

.img_list img {
    width: auto;
    height: 100%;
    position: absolute;
    left: -10%
}

.img_list a img {
    transform: scale(1.2);
    transition: all .7s ease
}

.img_list a:hover img {
    transform: scale(1)
}

.accommodation-item__desc_panel {
    padding: 25px 25px 25px 0;
    line-height: 17px
}

.accommodation-item__desc_panel h3 {
    font-size: 18px;
    line-height: 20px;
    margin-top: 0;
    margin-bottom: 10px
}

.ai__desc_panel--lowest-rate {
    font-size: 38px;
    color: #e74c3c;
    margin-top: 26px
}

.ai__desc_panel--lowest-rate div {
    line-height: 1;
    display: inline-block;
    float: right
}

.ai__desc_panel--lowest-rate a {
    line-height: 22px
}

.ai__desc_panel--lowest-rate sup {
    font-size: 22px;
    position: relative;
    top: -10px
}

.ai__desc_panel--lowest-rate .product-los {
    display: block;
    font-size: 14px;
    text-align: center;
    padding-top: 5px;
    color: #999
}

ul.add_info {
    list-style: none;
    padding: 0;
    margin: 0
}

ul.add_info li {
    display: inline-block;
    margin-right: 5px;
    border: 1px solid #ededed;
    text-align: center;
    width: 35px;
    height: 35px;
    border-radius: 3px
}

ul.add_info li span {
    color: #555;
    width: 35px;
    height: 35px;
    display: block
}

ul.add_info li i {
    display: inline-block;
    font-size: 22px;
    top: 6px;
    position: relative
}

.accommodation-features-row ul {
    list-style: none;
    padding: 0;
    margin: 25px 0 0 0;
    display: table;
    border-bottom: 1px solid #ededed;
    margin-bottom: 30px
}

.accommodation-features-row ul li {
    display: table-cell;
    width: 1%;
    vertical-align: middle;
    text-align: center;
    padding: 0 10px 20px 10px;
    white-space: nowrap
}

.accommodation-features-row ul li:last-child {
    margin-right: 0
}

.accommodation-features-row ul li i {
    font-size: 36px;
    display: block;
    margin-bottom: 10px
}

.accommodation__feature-panel h3 {
    font-size: 22px;
    margin-top: 5px
}

.accommodation__feature-panel h4 {
    line-height: 20px;
    font-size: 18px
}

.offer-disabled {
    opacity: .5;
    pointer-events: none;
    filter: grayscale(1)
}

#map {
    width: 100%;
    height: 550px
}

.bg_gray {
    background-color: #f9f9f9;
    padding: 30px 0 20px 0;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #f0f0f0
}

.sidebar-facilities ul {
    list-style: none;
    padding: 0 0 20px 0;
    margin: 0;
    line-height: 34px
}

.sidebar-facilities ul li i {
    font-size: 22px;
    float: left;
    margin: 0 10px 0 0
}

.header-decoration {
    background-repeat: repeat-x;
    background-position: bottom;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 45px
}

.img-fluid.styled {
    margin-top: 20px;
    border: 5px solid #fff;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1)
}

.img-circle.styled {
    border: 5px solid #fff;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1)
}

ul.ul-check-list {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0;
    line-height: 22px
}

ul.ul-check-list li {
    position: relative;
    padding-left: 25px
}

ul.ul-check-list li:before {
    font-style: normal;
    font-weight: 700;
    font-family: icon_set_1;
    font-size: 14px;
    content: "l";
    position: absolute;
    left: 0;
    top: 0
}

.form-group {
    position: relative
}

.input-icon {
    position: absolute;
    right: 6px;
    top: 30px;
    width: 28px;
    height: 24px;
    background-color: #fff;
    text-align: right
}

.input-icon i {
    color: #999;
    font-size: 14px;
    line-height: 24px
}

.form-control {
    font-size: 12px;
    color: #333;
    height: 34px;
    border-radius: 3px
}

.breadcrumbs {
    font-size: 11px;
    position: relative;
    padding: 10px 0 14px 0;
    background: linear-gradient(to top, #fdfdfd, #fff);
    border-bottom: 1px solid #f9f9f9
}

.breadcrumbs ul {
    margin: 0;
    padding: 0;
    color: #6a6a6a
}

.breadcrumbs ul li {
    display: inline-block;
    vertical-align: middle;
    height: 18px;
    color: #333
}

.box_style_1,
.box_style_2 {
    padding: 20px 25px 5px 25px;
    box-shadow: inset 0 0 0 1px #e0e5e9;
    border: 5px solid #fbfbfc;
    border-radius: 5px;
    margin-bottom: 30px;
    font-size: 13px;
    line-height: 20px;
    background-color: #fff
}

.box_style_2 {
    text-align: center;
    padding-bottom: 20px
}

.box_style_2 a.phone {
    font-size: 26px;
    display: block;
    margin-bottom: 20px
}

.box_style_1 h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e5e9
}

.box_style_2 i {
    font-size: 52px;
    margin-top: 10px;
    display: inline-block
}

.modal-dialog {
    margin-top: 110px
}

.pagination>li>a,
.pagination>li>span {
    color: #888
}

.pagination>li>a:focus,
.pagination>li>a:hover,
.pagination>li>span:focus,
.pagination>li>span:hover {
    color: #333 !important;
    background-color: #f9f9f9
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    background-color: #555;
    border-color: #555
}

.panel {
    border-radius: 0;
    box-shadow: none
}

.panel-title a {
    display: block;
    color: #629976
}

.panel-default>.panel-heading {
    background-color: #f9f9f9
}

.panel-heading {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.panel-group .panel {
    border-radius: 0
}

.loader {
    margin-left: 5px;
    position: absolute
}

.tab-content {
    padding: 30px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-top: none;
    margin-bottom: 25px;
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-bottom-left-radius: 3px;
    -moz-border-radius-bottomright: 3px;
    -moz-border-radius-bottomleft: 3px;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px
}

.numbers-row.list {
    margin: 15px auto 5px
}

input.qty2 {
    padding: 0;
    text-align: center;
    width: calc(100% - 64px);
    float: left
}

.booking-form input[type=submit].btn,
.booking-form input[type=text].qty2 {
    border: 0
}

.numbers-row,
input.qty2 {
    height: 40px;
    font-size: 14px
}

.range-dec,
.range-inc {
    width: 32px;
    height: 40px;
    z-index: 9;
    text-align: center;
    line-height: 40px;
    cursor: pointer;
    float: left;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.box_style_1 .form-control[disabled] {
    cursor: default;
    background-color: #fff
}

.container.afterbreadcrumbs {
    padding-top: 0
}

.booking-form {
    position: absolute;
    padding: 15px 15px 0 15px;
    z-index: 9999;
    color: #fff;
    bottom: 0;
    left: 0;
    width: 100%
}

.booking-form h3,
.booking-form input:not([type=submit]) {
    color: inherit
}

.sidebar-bg,
.sidebar-menu-bg {
    background-color: rgba(0, 0, 0, .25);
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 999999;
    display: none
}

.sidebar-booking-form {
    position: fixed;
    top: 0;
    right: 0;
    width: 400px;
    max-width: 100%;
    z-index: 999999;
    height: 100vh;
    will-change: transform;
    transform: translateX(100%);
    transition: transform .5s ease
}

.sidebar-booking-form .availability__ribbon {
    right: 0
}

.sidebar-booking-form .availability__ribbon div::after {
    display: none
}

.sbf-book-now-mobile {
    font-size: 32px;
    margin-top: -4px;
    background-color: rgba(0, 0, 0, 0);
    border: 0;
    color: #fff
}

.sidebar-booking-form.show-sbf {
    transform: translateX(0);
    box-shadow: 0 0 3px rgba(0, 0, 0, .12), 0 0 2px rgba(0, 0, 0, .24)
}

.sidebar-booking-form>.booking-form {
    background: rgba(0, 0, 0, 0);
    box-shadow: none;
    top: 0
}

.page-control__close,
.sidebar-booking-form__close,
.sidebar-menu__close {
    will-change: transform;
    transition: .1s ease
}

.page-control__close:hover,
.sidebar-booking-form__close:hover,
.sidebar-menu__close:hover {
    transform: scale3d(1.2, 1.2, 1.2)
}

input,
textarea {
    padding: 10px 15px;
    color: #333;
    border-radius: 0;
    font-size: 14px;
    line-height: 16px;
    display: block;
    width: 100%;
    background-color: rgba(255, 255, 255, .9);
    border: 1px solid #e0e5e9
}

textarea {
    padding: 15px
}

.booking-form .numbers-row,
.booking-form input:not([type=submit]) {
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid;
    border-color: #c7c7c7;
    border-color: rgba(255, 255, 255, .5)
}

.booking-form.style2 .numbers-row,
.booking-form.style2 input {
    border: 0;
    background: rgba(0, 0, 0, .6);
    border-radius: 4px
}

@media(max-width:1024px) {
    .booking-form {
        flex: 0 0 100%;
        max-width: 100%
    }
}

@media(min-width:992px) {
    .booking-form.affix {
        width: 1000px;
        top: 60px;
        position: fixed;
        background: #fff
    }
}

ul.downloadsList {
    padding-left: 0;
    list-style: none
}

@media(max-width:991px) {
    .booking-form.affix {
        position: relative;
        margin-top: 0
    }
}

.main-title .sub-title,
.main-title h2 {
    opacity: 0;
    animation: slide-out .75s forwards;
    transform: translate3d(100%, 0, 0);
    will-change: transform, opacity
}

.main-title .btn {
    opacity: 0;
    animation: pop-out .75s forwards;
    transform: scale3d(0, 0, 0);
    will-change: transform, opacity
}

.swiper-slide-active .main-title h2 {
    animation: slide-in .75s forwards
}

.swiper-slide-active .main-title .sub-title {
    animation: slide-in .75s forwards;
    animation-delay: .5s
}

.swiper-slide-active .main-title .btn.btn-primary {
    animation: pop-in .75s forwards;
    animation-delay: 1s
}

.swiper-slide-active .main-title .btn.btn-outline-primary {
    animation: pop-in .75s forwards;
    animation-delay: 1.5s
}

.cb_img-inline .cb_text-wrapper {
    display: flex;
    align-items: center;
    padding: 15px
}

.cb_img-inline .cb_img {
    width: 100%
}

.cb_img-inline [cblock_content_image] {
    display: flex;
    align-items: center
}

.cb_img-slanted .cb_text-wrapper::before {
    content: "";
    position: absolute;
    left: -60px;
    top: 0;
    display: block;
    background: #fff;
    height: 100%;
    width: 300px;
    transform: skew(8deg)
}

[cblock_content_text] {
    position: relative;
    z-index: 1;
    padding-top: 15px;
    padding-bottom: 15px
}

.cb_cover-image {
    position: absolute;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat
}

.cb_text-wrapper.cb_img-cover [cblock_content_text] {
    position: relative;
    background-color: rgba(0, 0, 0, .25);
    padding: 125px 50px;
    overflow: hidden;
    color: #fff;
    text-align: center;
    width: 100%
}

.cb_parallax-image {
    position: absolute;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed
}

.sb-location-map {
    position: relative;
    height: 300px;
    overflow: hidden
}

.sb-location-map img {
    position: absolute;
    left: -60%
}

div.alert {
    border-radius: 0;
    color: #fff;
    padding: 0
}

div.alert i {
    font-size: 1.8em;
    vertical-align: middle;
    display: table-cell;
    text-align: center;
    min-width: 50px
}

div.alert.alert-danger i {
    background-color: #ec6363
}

div.alert.alert-success i {
    background-color: #639660
}

div.alert span {
    display: table-cell;
    padding: 15px
}

.alert.alert-danger {
    background-color: #ff7d7d;
    border: 1px solid #ff8989
}

.alert.alert-success {
    background-color: #63ad5e;
    border: 1px solid #4fa749
}

.thumbs-bform__wrapper {
    background-color: #fff;
    background: linear-gradient(to top, #fdfdfd, #fff);
    border-bottom: 1px solid #f9f9f9
}

.container.content-area {
    padding: 50px 15px
}

footer ul li a {
    margin-bottom: 4px;
    display: inline-block
}

.cc-sidebar {
    position: fixed;
    overflow: auto;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5em;
    flex-direction: column;
    flex-wrap: nowrap;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999999;
    height: 100%;
    color: #fff;
    align-items: flex-start;
    width: 400px;
    max-width: 100%;
    will-change: transform;
    transition: transform 250ms ease;
    transform: translateX(-100%);
    display: flex
}

.cc-sidebar--slide-right {
    transform: translateX(0)
}

.cc-sidebar .cc-summary {
    padding: 1rem;
    padding-top: 0
}

.cc-sidebar .cc-actions {
    margin-top: 1em
}

.cc-sidebar .cc-actions .cc-button {
    margin-right: 1em
}

.cc-sidebar .cc-categories {
    margin-top: 1em
}

.cc-sidebar .cc-categories .cc-category {
    border-top: 1px solid rgba(0, 0, 0, .25);
    padding: 1rem
}

.cc-sidebar .cc-categories .cc-category p {
    margin-bottom: 0
}

.cc-bottom-bar {
    position: fixed;
    overflow: hidden;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.5em;
    flex-wrap: nowrap;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999999;
    width: 100%;
    flex-direction: row;
    color: #fff;
    align-items: center;
    min-height: 100px;
    flex-wrap: wrap;
    will-change: transform;
    transition: transform 250ms ease;
    transform: translateY(100%);
    padding: 2em 0
}

.cc-bottom-bar--slide-up {
    transform: translateY(0)
}

.cc-bottom-bar .cc-info {
    display: block;
    flex: 1 1 auto;
    max-width: 100%;
    padding: 1em 1.8em
}

.cc-bottom-bar .cc-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 1.8em 0 1.8em
}

.cc-bottom-bar .cc-actions .cc-button {
    margin-right: 1em;
    white-space: nowrap;
    margin-bottom: 1em
}

.switcheroo {
    position: relative;
    display: inline-block
}

.switcheroo input {
    opacity: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    cursor: pointer
}

.switcheroo input+div {
    height: 20px;
    width: 36px;
    position: relative;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    transition: linear .2s, box-shadow linear .1s, background-color linear .2s
}

.switcheroo input+div:after {
    content: "";
    height: 16px;
    width: 16px;
    border-radius: 100px;
    display: block;
    transition: linear .15s, background-color linear .15s;
    position: absolute;
    left: 100%;
    margin-left: -18px;
    cursor: pointer;
    top: 2px;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .1);
    background-color: #fff
}

.switcheroo input:not(:checked)+div {
    justify-content: flex-end
}

.switcheroo input:not(:checked)+div:after {
    left: 20px
}

.switcheroo--small div {
    height: 18px;
    width: 31px
}

.switcheroo--small div:after {
    height: 14px;
    width: 14px;
    margin-left: -16px
}

.switcheroo--small input:not(:checked)+div:after {
    left: 18px
}

.switcheroo--tiny div {
    height: 14px;
    width: 24px
}

.switcheroo--tiny div:after {
    height: 10px;
    width: 10px;
    margin-left: -12px
}

.switcheroo--tiny input:not(:checked)+div:after {
    left: 14px
}

.switcheroo--disabled div {
    opacity: .3
}

.switcheroo--disabled input {
    cursor: not-allowed
}

.switcheroo.switcheroo--theme input:not(:checked)+div {
    background-color: rgba(255, 255, 255, .4)
}

.switcheroo.switcheroo--theme input:not(:checked):focus+div {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, .5)
}

@media(min-width:768px)and (max-width:1200px) {
    .img_list img {
        left: -25%
    }

    body.boxed {
        width: 1000px
    }
}

@media(max-width:991px) {
    .review_strip_single.last {
        border-bottom: 1px solid #ddd;
        margin-bottom: 20px
    }

    .price_home {
        float: none;
        margin-top: 5px;
        display: block
    }

    .banner-container {
        height: 470px
    }

    header,
    header.sticky {
        animation: none
    }

    .sb-location-map img {
        left: 0
    }

    .banner-container.banner-full-height {
        height: 100vh
    }

    .header__menu-container {
        padding-top: 10px;
        padding-bottom: 10px
    }

    .vouchers-ribbon {
        display: none
    }

    .header__menu-container .vouchers-ribbon__icon {
        display: block
    }

    .booking-form__home {
        position: relative
    }
}

@media(min-width:769px)and (max-width:990px) {
    #book {
        margin-top: 40px
    }

    #banner {
        width: 400px;
        margin: auto
    }

    body.boxed {
        width: 100%
    }
}

@media only screen and (max-device-width:767.98px) {
    body.boxed {
        width: 100%
    }

    #banner {
        width: 400px;
        margin: auto
    }

    #book {
        margin-top: 40px
    }

    video {
        width: auto !important;
        height: 100% !important
    }

    .header__menu-container {
        padding-right: 15px
    }

    .accommodation-item {
        text-align: center
    }

    .accommodation-item .col-12 {
        max-width: 100%
    }

    .main-title {
        font-size: 14px
    }

    .main-title h2 {
        font-size: 24px
    }

    .main-title p {
        font-size: 16px
    }

    #single_room_feat ul {
        display: block;
        margin-bottom: 10px
    }

    #single_room_feat ul li {
        display: inline-block;
        width: auto;
        font-size: 11px
    }

    .parallax-content-2 {
        padding-bottom: 15px
    }

    .parallax-content-2 div h1 {
        font-size: 22px
    }

    .parallax-content-2 .rating {
        font-size: 12px;
        display: block
    }

    #price_single_main,
    #price_single_main.hotel {
        font-size: 11px;
        text-align: left;
        padding-top: 0
    }

    #price_single_main span {
        font-size: 20px
    }

    #price_single_main sup {
        font-size: 20px;
        top: 0
    }

    .img_list {
        width: 100%;
        margin: auto;
        margin-bottom: 20px;
        min-height: 220px
    }

    .img_list img {
        left: 0;
        width: 100%;
        top: -45%;
        height: auto
    }

    .accommodation-item__desc_panel {
        padding: 25px 10px
    }

    .ai__desc_panel--lowest-rate div {
        display: block;
        text-align: center;
        float: none;
        margin-bottom: 10px
    }

    .reveal-modal {
        width: 300px;
        margin-left: -140px;
        top: 8%
    }
}

@media(min-width:590px) {
    .popup-wrapper {
        max-width: 550px;
        width: 550px
    }
}

@media(max-width:480px) {
    .review-item-container .review-rating {
        position: static;
        padding: 0 0 30px 0
    }

    .reveal-modal {
        width: 260px;
        margin-left: -130px;
        top: 8%
    }

    #banner {
        width: 100%
    }

    ul#top_tools {
        margin: 0 25px 0 0
    }

    .sticky ul#top_tools {
        margin: 0 25px 0 0
    }

    #home_feat_1 {
        font-size: 11px
    }

    #home_feat_1 i {
        font-size: 32px
    }

    .img_list img {
        left: 0;
        width: 100%;
        top: -5%
    }

    header .logo img {
        height: 80px
    }

    .sidebar-booking-form {
        width: 100%
    }

    .popup-wrapper>div.popup-text-wrapper {
        background-color: rgba(0, 0, 0, .15)
    }

    .popup-wrapper>div.popup-img {
        height: 100%;
        display: block;
        width: 100%;
        position: absolute;
        vertical-align: bottom;
        top: 0;
        left: 0;
        z-index: -1
    }
}

@media(max-width:375px) {
    .img_list {
        min-height: 180px
    }
}