@import "vendors/bootstrap.min.css";
@import "vendors/swiper.min.css";
@import "vendors/nouislider.min.css";
@import "vendors/flatpickr.css";
@import "vendors/photoswipe.css";
@import "vendors/animate.css";
@import "vendors/credit-card.css";
@import "../img/icons/style.css";
@font-face {
    font-family: "Recoleta";
    src: url(fonts/recoleta-regular.eot);
    src: url(fonts/recoleta-regular.eot?#iefix) format("embedded-opentype"),
	     url(fonts/recoleta-regular.woff2) format("woff2"),
		 url(fonts/recoleta-regular.woff) format("woff"),
		 url(fonts/recoleta-regular.ttf) format("truetype"),
         url(fonts/recoleta-regular.svg) format("svg");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Recoleta";
    src: url(fonts/recoleta-medium.eot);
    src: url(fonts/recoleta-medium.eot?#iefix) format("embedded-opentype"),
		 url(fonts/recoleta-medium.woff2) format("woff2"),
		 url(fonts/recoleta-medium.woff) format("woff"),
		 url(fonts/recoleta-medium.ttf) format("truetype"),
         url(fonts/recoleta-medium.svg) format("svg");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "Recoleta";
    src: url(fonts/recoleta-semibold.eot);
    src: url(fonts/recoleta-semibold.eot?#iefix) format("embedded-opentype"),
		 url(fonts/recoleta-semibold.woff2) format("woff2"),
		 url(fonts/recoleta-semibold.woff) format("woff"),
		 url(fonts/recoleta-semibold.ttf) format("truetype"),
         url(fonts/recoleta-semibold.svg) format("svg");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "URW Geometric";
    src: url(fonts/urw-geometric.eot);
    src: url(fonts/urw-geometric.eot?#iefix) format("embedded-opentype"),
		 url(fonts/urw-geometric.woff2) format("woff2"),
		 url(fonts/urw-geometric.woff) format("woff"),
		 url(fonts/urw-geometric.ttf) format("truetype"),
	     url(fonts/urw-geometric.svg) format("svg");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "URW Geometric";
    src: url(fonts/urw-geometric-semi-bold.eot);
    src: url(fonts/urw-geometric-semi-bold.eot?#iefix) format("embedded-opentype"),
		 url(fonts/urw-geometric-semi-bold.woff2) format("woff2"),
		 url(fonts/urw-geometric-semi-bold.woff) format("woff"),
         url(fonts/urw-geometric-semi-bold.ttf) format("truetype"),
		 url(fonts/urw-geometric-semi-bold.svg) format("svg");
    font-weight: 600;
    font-style: normal;
}
*,
::before,
::after {
    background-repeat: no-repeat;
    box-sizing: border-box;
}
html {
    -webkit-overflow-scrolling: touch;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-overflow-x: hidden;
    overflow-x: hidden;
}
body,
html {
    -webkit-text-size-adjust: 100%;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    body,
    html {
        height: 100%;
    }
}
body {
    background-color: #fff;
    color: #3c3c3c;
    font-family: "URW Geometric", sans-serif;
    font-size: 17px;
    font-weight: 400;
    font-variant-numeric: lining-nums;
    font-feature-settings: lnum;
    -moz-font-feature-settings: lnum=1;
    -ms-font-feature-settings: lnum;
    -webkit-font-feature-settings: lnum;
    -o-font-feature-settings: lnum;
    line-height: 1.75;
    min-height: 100vh;
    -ms-overflow-style: scrollbar;
    -webkit-font-smoothing: antialiased;
}
@media only screen and (max-width: 576px) {
    body {
        font-size: 0.9375rem;
    }
}
html.is-scroll-disabled body {
    height: 100vh;
    overflow: hidden;
}
@media only screen and (min-width: 992px) {
    html.is-scroll-disabled body {
        overflow: auto !important;
    }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    html.is-scroll-disabled {
        overflow: hidden;
    }
}
.no-scroll {
    overflow: hidden;
    -ms-overflow-style: none;
}
.no-scroll-ios {
    position: fixed;
    width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Recoleta", serif;
    font-weight: 500;
    line-height: 1.15;
    margin-bottom: 3rem;
}
@media only screen and (max-width: 1200px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        margin-bottom: 3rem;
    }
}
figure {
    margin: 0;
}
.title {
    transition: all 0.1s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
.title--display-1 {
    font-size: 5rem;
    margin-bottom: 2.4rem;
}
@media only screen and (max-width: 992px) {
    .title--display-1 {
        font-size: 4rem;
        margin-bottom: 1.8rem;
    }
}
@media only screen and (max-width: 768px) {
    .title--display-1 {
        font-size: 4rem;
        margin-bottom: 1.8rem;
    }
}
@media only screen and (max-width: 576px) {
    .title--display-1 {
        font-size: 3rem;
        margin-bottom: 1.8rem;
    }
}
.title--h1 {
    font-size: 4rem;
    margin-bottom: 3rem;
}
@media only screen and (max-width: 992px) {
    .title--h1 {
        font-size: 3rem;
        margin-bottom: 2.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .title--h1 {
        font-size: 3rem;
        margin-bottom: 2.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .title--h1 {
        font-size: 2.5rem;
        margin-bottom: 2.5rem;
    }
}
.title--h2 {
    font-size: 3rem;
    margin-bottom: 1.8rem;
}
@media only screen and (max-width: 992px) {
    .title--h2 {
        font-size: 2.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .title--h2 {
        font-size: 2.1rem;
        margin-bottom: 1.4rem;
    }
}
@media only screen and (max-width: 576px) {
    .title--h2 {
        font-size: 1.7rem;
        margin-bottom: 1rem;
    }
}
.title--h3 {
    font-size: 2rem;
    margin-bottom: 1.8rem;
}
@media only screen and (max-width: 992px) {
    .title--h3 {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .title--h3 {
        font-size: 1.7rem;
        margin-bottom: 1.3rem;
    }
}
@media only screen and (max-width: 576px) {
    .title--h3 {
        font-size: 1.3rem;
        margin-bottom: 1.2rem;
    }
}
.title--h4 {
    font-size: 1.75rem;
    line-height: 1;
    margin-bottom: 1.5rem;
}
@media only screen and (max-width: 992px) {
    .title--h4 {
        font-size: 1.25rem;
    }
}
@media only screen and (max-width: 768px) {
    .title--h4 {
        font-size: 1.125rem;
        margin-bottom: 1rem;
    }
}
@media only screen and (max-width: 576px) {
    .title--h4 {
        font-size: 1.15rem;
        margin-bottom: 0.8rem;
    }
}
.title--h5 {
    font-size: 1.3rem;
    margin-bottom: 1rem;
}
.title--h6 {
    font-size: 1.125rem;
    margin-bottom: 1rem;
}
.title--overhead {
    color: #ebc283;
    font-family: "URW Geometric", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    letter-spacing: 0.125rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}
@media only screen and (max-width: 1200px) {
    .title--overhead {
        font-size: 0.875rem;
        letter-spacing: 0.125rem;
        margin-bottom: 0.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .title--overhead {
        font-size: 0.875rem;
        letter-spacing: 0.125rem;
    }
}
.title--overhead-small {
    color: #626262;
    font-family: "URW Geometric", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    display: block;
    letter-spacing: 0.1rem;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}
@media only screen and (max-width: 576px) {
    .title--overhead-small {
        font-size: 0.75rem;
        letter-spacing: 0.05rem;
    }
}
.title-description {
    font-family: "Recoleta", serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
    .title-description {
        margin-bottom: 3rem;
    }
}
@media only screen and (max-width: 576px) {
    .title-description {
        font-size: 1.25rem;
        line-height: 1.3;
        margin-bottom: 0.8rem;
    }
}
.block-quote {
    font-family: "Recoleta", serif;
    font-size: 1.5rem;
    font-weight: 400;
    margin: 2.5rem 0;
    padding-left: 2rem;
    position: relative;
    line-height: 1.75;
}
.block-quote::before {
    background-color: #ebc283;
    content: "";
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
}
@media only screen and (max-width: 576px) {
    .block-quote {
        font-size: 1.125rem;
        margin: 1.2rem 0;
        padding-left: 1.2rem;
    }
}
.block-quote cite {
    font-family: "URW Geometric", sans-serif;
    font-size: 1rem;
    font-style: normal;
    color: #626262;
    display: block;
    margin-top: 1.5rem;
    padding-left: 2.5rem;
    position: relative;
}
.block-quote cite::before {
    content: "";
    background-color: #626262;
    height: 1px;
    margin-bottom: auto;
    margin-top: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1.5rem;
}
@media only screen and (max-width: 576px) {
    .block-quote cite {
        font-size: 0.875rem;
        margin-top: 0;
        padding-left: 1.6rem;
    }
    .block-quote cite::before {
        width: 1rem;
    }
}
a {
    color: #ebc283;
    text-decoration: none;
    -webkit-text-decoration-skip: objects;
    transition: all 0.3s cubic-bezier(0.72, 0.16, 0.345, 0.875);
}
a:hover,
a:focus {
    color: inherit;
    outline: none;
    text-decoration: none;
}
.link-underline {
    color: #626262;
    text-decoration: underline;
}
.link-underline:hover {
    text-decoration: none;
}
@media only screen and (max-width: 768px) {
    .list-feature {
        margin-bottom: 0;
    }
}
.list-feature__item {
    margin-top: 0.4rem;
    margin-bottom: 1.2rem;
}
@media only screen and (max-width: 576px) {
    .list-feature__item {
        border: 1px solid rgba(169, 172, 181, 0.2);
        border-radius: 3px;
        padding: 0.5rem;
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 576px) {
    .list-feature .icon {
        margin-right: 0.5rem;
    }
}
.paragraph {
    color: #626262;
    margin-top: -0.4rem;
}
.paragraph--large {
    font-size: 1.125rem;
    font-weight: 500;
}
@media only screen and (max-width: 576px) {
    .paragraph--large {
        font-size: 1rem;
    }
}
.text-two-column {
    column-count: 2;
    column-gap: 6vw;
    column-fill: balance;
    text-align: justify;
}
@media only screen and (max-width: 992px) {
    .text-two-column {
        column-count: 1;
        column-gap: 0;
        text-align: left;
    }
}
.text-accent {
    color: #ebc283;
}
@media (min-width: 576px) {
    .text-sm-justify {
        text-align: justify !important;
    }
}
@media (min-width: 768px) {
    .text-md-justify {
        text-align: justify !important;
    }
}
@media (min-width: 992px) {
    .text-lg-justify {
        text-align: justify !important;
    }
}
@media (min-width: 1200px) {
    .text-xl-justify {
        text-align: justify !important;
    }
}
img {
    max-width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
iframe {
    background-color: #3c3c3c;
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}
.cover {
    object-fit: cover;
    object-position: center;
    font-family: "object-fit: cover; object-position: center;";
    height: 100%;
    width: 100%;
}
::-moz-selection {
    background: transparent;
    color: #ebc283;
}
::selection {
    background: transparent;
    color: #ebc283;
}
.icon {
    margin-right: 1rem;
    object-fit: cover;
    object-position: center;
    font-family: "object-fit: cover; object-position: center;";
}
.icon--24 {
    height: 1.5rem;
    width: 1.5rem;
}
.inputText,
.textarea,
.custom-select {
    background-color: #fff;
    border: 1px solid rgba(60, 60, 60, 0.125);
    border-radius: 3px;
    box-shadow: none;
    color: #3c3c3c;
    line-height: 1;
    height: 48px;
    padding: 0 1.125rem;
    position: relative;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
@media only screen and (max-width: 576px) {
    .inputText,
    .textarea,
    .custom-select {
        font-size: 1rem;
        height: 44px;
        padding: 0.1rem 1rem 0;
    }
}
.inputText:focus,
.textarea:focus,
.custom-select:focus {
    border: 1px solid #ebc283;
    outline: none;
}
.inputText__icon {
    padding: 0 1.125rem 0 3rem;
}
@media only screen and (max-width: 576px) {
    .inputText__icon {
        padding: 0.1rem 1rem 0 2.7rem;
    }
}
.inputFeature {
    background-color: transparent;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1;
    padding: 0;
}
.inputFeature:focus {
    outline: none;
}
@media only screen and (max-width: 992px) {
    .inputFeature {
        background-color: #fff;
        border: 1px solid rgba(60, 60, 60, 0.125);
        border-radius: 3px;
        color: #3c3c3c;
        display: flex;
        font-size: 1rem;
        font-weight: 400;
        line-height: 1;
        height: 48px;
        padding: 0 1.125rem;
        position: relative;
        width: 100%;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
}
@media only screen and (max-width: 576px) {
    .inputFeature {
        font-size: 0.9375rem;
        height: 44px;
        padding: 1px 1rem 0;
    }
}
label,
.label {
    color: #626262;
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0.4rem;
}
@media only screen and (max-width: 576px) {
    label,
    .label {
        font-size: 0.875rem;
        margin-bottom: 0.3rem;
    }
}
.labelFeature {
    color: #3c3c3c;
    display: block;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.125rem;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}
@media only screen and (max-width: 992px) {
    .labelFeature {
        font-size: 0.875rem;
        font-weight: 500;
        letter-spacing: 0;
        text-transform: none;
    }
}
@media only screen and (max-width: 576px) {
    .labelFeature {
        font-size: 0.875rem;
        margin-bottom: 0.3rem;
    }
}
.textarea {
    display: block;
    line-height: 1.4;
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
    resize: none;
}
.custom-select {
    background-image: url(../img/icons/caret-down.svg);
    background-position: center right 1.125rem;
    background-size: 0.875rem;
}
.custom-select:focus {
    background-image: url(../img/icons/caret-up.svg);
}
.custom-select::-ms-expand {
    display: none;
}
.custom-control-input:checked ~ .custom-control-label::before,
.custom-control-input.is-invalid:checked ~ .custom-control-label::before {
    border-color: #ebc283;
    background-color: #ebc283;
}
.custom-control-input:focus ~ .custom-control-label::before,
.custom-control-input.is-invalid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(201, 169, 106, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before,
.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #ebc283;
}
.custom-control-label::before {
    border: 1px solid rgba(60, 60, 60, 0.125);
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}
.js-quantity {
    position: relative;
}
.js-quantity-input {
    padding-left: 2.6rem;
    padding-right: 2.6rem;
    text-align: center;
}
.qty-minus,
.qty-plus {
    background-color: rgba(114, 128, 157, 0.1);
    border-radius: 4px;
    color: #626262;
    cursor: pointer;
    display: block;
    font-size: 14px;
    line-height: 1.5rem;
    height: 1.5rem;
    margin: auto 0.75rem;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1.5rem;
    text-align: center;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
    z-index: 1;
}
.qty-minus:hover,
.qty-plus:hover {
    background-color: rgba(98, 98, 98);
    color: #fff;
}
.qty-plus {
    left: auto;
    right: 0;
}
.form-group {
    margin-bottom: 1.2rem;
    position: relative;
}
@media only screen and (max-width: 576px) {
    .form-group {
        margin-bottom: 0.8rem;
    }
}
.input-icon {
    color: #626262;
    font-size: 1.125rem;
    margin: auto 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.125rem;
    height: 1.125rem;
    width: 1.125rem;
    z-index: 1;
}
@media only screen and (max-width: 576px) {
    .input-icon {
        font-size: 1rem;
        left: 1rem;
    }
}
.input-arrow {
    background-image: url(../img/icons/caret-down.svg);
    background-position: center right 1.125rem;
    background-size: 0.875rem;
}
@media only screen and (max-width: 576px) {
    .input-arrow {
        background-position: center right 1rem;
        background-size: 0.75rem;
    }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .input-arrow {
        background-position: center right;
        background-size: 60%;
    }
}
@media only screen and (-ms-high-contrast: active) and (max-width: 992px), only screen and (-ms-high-contrast: none) and (max-width: 992px) {
    .input-arrow {
        background-size: 56px;
    }
}
.form-dual {
    background-color: #fff;
    border: 1px solid rgba(60, 60, 60, 0.125);
    box-shadow: 0 4px 10px rgba(201, 169, 106, 0);
    border-radius: 3px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    height: 48px;
    transition: all 0.3s ease-in-out;
}
.form-dual:hover {
    border: 1px solid #ebc283;
    box-shadow: 0 4px 10px rgba(201, 169, 106, 0.12);
}
@media only screen and (max-width: 576px) {
    .form-dual {
        height: 44px;
    }
}
.form-dual__left,
.form-dual__right {
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    flex: 0 0 50%;
    position: relative;
    width: 50%;
}
.form-dual__left {
    border-right: 1px solid rgba(60, 60, 60, 0.125);
}
.form-dual .label {
    margin-bottom: 0;
    padding-left: 1.125rem;
}
@media only screen and (max-width: 576px) {
    .form-dual .label {
        padding-right: 1rem;
    }
}
.form-dual input {
    background-color: transparent;
    border: 0;
    box-shadow: none;
}
.form-dual input:focus {
    border: 0;
    box-shadow: none;
}
.form-dual #price-from {
    padding-left: 1rem;
    padding-right: 0.5rem;
    white-space: nowrap;
}
.form-dual #price-to {
    padding-left: 0.5rem;
    padding-right: 1.4rem;
    white-space: nowrap;
}
@media only screen and (max-width: 576px) {
    .form-dual--mobile {
        -ms-flex-direction: column;
        flex-direction: column;
        height: auto;
    }
    .form-dual--mobile .form-dual__left,
    .form-dual--mobile .form-dual__right {
        flex: 0 0 100%;
        width: 100%;
    }
    .form-dual--mobile .form-dual__left {
        border-right: 0;
        border-bottom: 1px solid rgba(60, 60, 60, 0.125);
    }
}
.input-prefix {
    position: relative;
}
.input-prefix:before {
    content: attr(data-prefix);
    color: rgba(98, 98, 98);
    line-height: 1.2;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1rem;
    z-index: 1;
}
.input-prefix .inputText {
    padding-left: 1.8rem;
}
.validation-danger,
.validation-success {
    background-color: rgba(201, 169, 106, 0.1);
    padding: 0.5rem 1rem;
    transition: all 0.3s ease-in-out;
}
#validator-contact {
    border-radius: 4px;
    text-align: center;
}
.help-block {
    position: absolute;
    font-size: 0.75rem;
    line-height: 1.4;
    padding-top: 0.8rem;
}
.with-errors .list-unstyled {
    color: #ebc283;
    margin-bottom: 0;
}
.has-error input,
.has-error textarea,
.has-error input:focus,
.has-error textarea:focus {
    border-color: #ff542b;
}
#validator-contact {
    font-size: 0.89rem;
}
@media only screen and (max-width: 768px) {
    #validator-contact {
        padding-top: 1rem;
    }
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0;
    -webkit-text-fill-color: #fff !important;
}
input::-webkit-input-placeholder {
    color: rgba(98, 98, 98);
}
:-moz-placeholder {
    color: rgba(98, 98, 98) !important;
    opacity: 1;
}
::-moz-placeholder {
    color: rgba(98, 98, 98) !important;
    opacity: 1;
}
input:-ms-input-placeholder {
    color: rgba(98, 98, 98);
}
input::-ms-input-placeholder {
    color: rgba(98, 98, 98);
}
input::placeholder {
    color: rgba(98, 98, 98);
}
input::-ms-clear {
    display: none;
}
input:required:invalid {
    outline: none;
}
.btn {
    background-color: #ebc283;
    border: 0;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    font-size: 1.125rem;
    font-weight: 600;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    justify-content: center;
    line-height: 0;
    height: 3.5rem;
    white-space: nowrap;
    overflow: hidden;
    padding: 0.35rem 2.125rem 0 2rem;
    position: relative;
    text-align: center;
    z-index: 1;
}
.btn:hover {
    background-color: #fff2e2;
    color: #ebc283;
}
.btn:focus {
    color: #ebc283;
    box-shadow: none;
}
@media only screen and (max-width: 576px) {
    .btn {
        font-size: 0.9375rem;
        height: 2.75rem;
        padding: 0 1rem;
    }
}
.btn.disabled {
    opacity: 1;
}
.btn .btn-icon-left,
.btn .btn-icon-right {
    font-size: 1.125rem;
}
.btn .btn-icon-left {
    margin-top: -0.3rem;
    padding-right: 0.75rem;
}
.btn .btn-icon-right {
    margin-top: -0.3rem;
    padding-left: 0.75rem;
}
.btn__circle {
    padding: 0;
    height: 3rem;
    width: 3rem;
}
.btn__large {
    height: 3.8rem;
    padding: 0 2.5rem;
}
@media only screen and (max-width: 992px) {
    .btn__large {
        height: 3.6rem;
    }
}
@media only screen and (max-width: 768px) {
    .btn__large {
        height: 3.4rem;
    }
}
@media only screen and (max-width: 576px) {
    .btn__large {
        height: 2.75rem;
        padding: 0 1.5rem;
    }
}
.btn__large .btn-icon-left,
.btn__large .btn-icon-right {
    font-size: 1.3rem;
}
.btn__large .btn-icon-left {
    padding-right: 0.6rem;
}
.btn__large .btn-icon-right {
    padding-left: 0.6rem;
}
.btn__medium {
    height: 3rem;
    padding: 0 2rem;
}
@media only screen and (max-width: 576px) {
    .btn__medium {
        height: 2.75rem;
    }
}
.btn__small {
    font-size: 0.875rem;
    font-weight: 500;
    height: 2.5rem;
    padding: 0 1rem;
}
@media only screen and (max-width: 576px) {
    .btn__small {
        height: 2.375rem;
    }
}
.btn__second {
    background-color: transparent;
    border: 1px solid rgba(169, 172, 181, 0.2);
    box-shadow: none;
    color: #626262;
}
.btn__second::before {
    display: none;
}
.btn__second:hover {
    border: 1px solid rgba(169, 172, 181, 0.6);
    color: #626262;
}
.btn__second:focus {
    color: #626262;
}
.btn--white {
    background-color: #fff;
    box-shadow: none;
    color: #ebc283;
}
.btn--white::before {
    background: rgba(201, 169, 106, 0.1);
}
.btn--white:hover {
    color: #ebc283;
}
.btn-play {
    background-color: #fff;
    background-image: url(../img/icons/icon-play.svg);
    background-size: 22%;
    background-position: center;
    border-radius: 50%;
    box-shadow: none;
    display: block;
    height: 4rem;
    position: relative;
    transition: all 0.5s ease-in-out;
    width: 4rem;
}
.btn-play::before {
    content: "";
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    height: 148%;
    margin: auto;
    position: absolute;
    top: 0;
    right: -50%;
    bottom: 0;
    left: -50%;
    width: 148%;
}
.btn-play:hover,
.header__btn-play:hover .btn-play {
    box-shadow: 0 0 0 0.5rem #fff;
}
@media only screen and (max-width: 576px) {
    .btn-play {
        height: calc(4rem / 1.4);
        width: calc(4rem / 1.4);
    }
}
.btn-play__popup::after {
    content: "";
    background-color: #fff;
    border-radius: 50%;
    height: 2rem;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 2rem;
    z-index: -1;
}
.btn-play__popup.is-active {
    transform: scale(60);
}
.btn-play__popup.is-active::after {
    z-index: 1;
}
.btn-booking {
    background-color: #ebc283;
    border: 0;
	border-top-right-radius: 3px;
    color: #fff;
    cursor: pointer;
    font-size: 1.125rem;
    font-weight: 600;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-align: flex-start;
    align-items: flex-start;
    justify-content: center;
    flex: 0 0 auto;
    height: 100%;
    line-height: inherit;
    white-space: nowrap;
    overflow: hidden;
    padding: 1.5rem 3rem 1rem;
    position: relative;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    z-index: 1;
}
.btn-booking:hover {
    background-color: #fff2e2;
    color: #ebc283;
}
.btn-booking:focus {
    outline: none;
}
@media only screen and (max-width: 992px) {
    .btn-booking {
        border-radius: 3px;
        font-size: 1rem;
        -ms-flex-align: center;
        align-items: center;
        height: 3.5rem;
        padding: 0 2rem;
    }
}
@media only screen and (max-width: 576px) {
    .btn-booking {
        font-size: 1.125rem;
        height: 3.5rem;
        padding-top: 0.35rem;
    }
}
@media only screen and (-ms-high-contrast: active) and (max-width: 992px), only screen and (-ms-high-contrast: none) and (max-width: 992px) {
    .btn-booking {
        width: 100%;
    }
}
.btn-booking span {
    font-size: 0.75rem;
    font-weight: 400;
    margin-bottom: 0.3rem;
    position: relative;
}
.btn-booking span::before {
    content: "";
    background-color: #fff;
    height: 1px;
    margin-top: auto;
    margin-bottom: auto;
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    width: 20px;
}
@media only screen and (max-width: 992px) {
    .btn-booking span {
        display: none;
    }
}
.btn-link {
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    color: #ebc283;
    font-size: 1.125rem;
    font-weight: 600;
    padding-right: 4.5rem;
    position: relative;
    transition: all 0.3s ease-in-out;
}
.btn-link::before {
    content: "";
    background-color: #ebc283;
    height: 1px;
    margin: auto 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3rem;
    transition: all 0.3s ease-in-out;
}
.btn-link:hover {
    color: #ebc283;
    text-decoration: none;
    padding-right: 3.5rem;
}
.btn-link:hover::before {
    width: 2rem;
}
.btn-link:focus {
    color: #ebc283;
    text-decoration: none;
}
@media only screen and (max-width: 576px) {
    .btn-link {
        font-size: 0.875rem;
        padding-right: 4rem;
    }
}
.btn-floating {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    box-shadow: 0 64px 64px rgba(44, 63, 88, 0.05), 0 0 32px rgba(44, 63, 88, 0.05), 0 16px 16px rgba(44, 63, 88, 0.03), 0 8px 8px rgba(44, 63, 88, 0.03), 0 4px 4px rgba(44, 63, 88, 0.03), 0 2px 2px rgba(44, 63, 88, 0.04);
    border-radius: 50%;
    font-size: 1.6rem;
    color: #ebc283;
    cursor: pointer;
    height: 4rem;
    width: 4rem;
    position: fixed;
    right: 3.5rem;
    bottom: 3.5rem;
    transition: all 0.3s ease-in-out;
    z-index: 1;
}
.btn-floating:hover {
    color: #fff;
    box-shadow: 0 64px 64px rgba(44, 63, 88, 0.05), 0 0 32px rgba(44, 63, 88, 0.05), 0 16px 16px rgba(44, 63, 88, 0.03), 0 8px 8px rgba(44, 63, 88, 0.03), 0 4px 4px rgba(44, 63, 88, 0.03), 0 2px 2px rgba(44, 63, 88, 0.04),
        inset 0 0 0 60px #ebc283;
}
@media only screen and (max-width: 1200px) {
    .btn-floating {
        right: 2.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .btn-floating {
        height: calc(4rem / 1.14);
        width: calc(4rem / 1.14);
        right: 2rem;
        bottom: 8.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .btn-floating {
        display: none !important;
    }
}
.btn-floating i {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.btn-floating.is-bottom {
    bottom: 8rem;
}
.dropdown-menu {
    background-color: #fff;
    box-shadow: 0 48px 64px rgba(44, 63, 88, 0.1);
    border-radius: 3px;
    border: 0;
    min-width: 20rem;
    padding: 1.5rem;
}
@media only screen and (max-width: 576px) {
    .dropdown-menu {
        padding: 1rem;
        min-width: 100%;
    }
}
.dropdown-menu .col__left {
    padding-right: 12px;
}
@media only screen and (max-width: 576px) {
    .dropdown-menu .col__left {
        padding-right: 7.5px;
    }
}
.dropdown-menu .col__right {
    padding-left: 12px;
}
@media only screen and (max-width: 576px) {
    .dropdown-menu .col__right {
        padding-left: 7.5px;
    }
}
.dropdown-menu .row-footer {
    margin-top: 1.2rem;
}
@media only screen and (max-width: 576px) {
    .dropdown-menu .row-footer {
        margin-top: 0.5rem;
    }
}
.dropdown-menu .form-group {
    margin-right: 0 !important;
}
@media only screen and (max-width: 576px) {
    .dropdown-menu .form-group {
        margin-bottom: 0.6rem !important;
    }
}
.preloader {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-align: center;
    z-index: 1100;
    opacity: 1;
}
.preloader__wrap {
    width: 100%;
    max-width: 140px;
}
.preloader__progress {
    background: #f8f8f8;
    height: 2px;
    position: relative;
    margin-top: 1.2rem;
    overflow: hidden;
    width: 100%;
}
.preloader__progress span {
    background: #ebc283;
    position: absolute;
    top: 0;
    left: -100%;
    height: 100%;
    width: 100%;
    animation: line-anim 1.5s ease-in-out infinite;
}
@keyframes line-anim {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}
.logo-link {
    display: block;
}
.logotype {
    height: 56px;
}
@media only screen and (max-width: 768px) {
    .logotype {
        height: 56px;
    }
}
@media only screen and (max-width: 576px) {
    .logotype {
        height: 56px;
    }
}
.navbar {
    border-bottom: 1px solid rgba(169, 172, 181, 0.2);
    padding: 1.5rem 3.5rem;
}
@media only screen and (max-width: 1200px) {
    .navbar {
        padding: 1.5rem 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .navbar {
        height: 5rem;
        padding: 0 1.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .navbar {
        padding: 0 15px;
    }
}
.navbar__menu {
    line-height: 0;
}
.navbar-overlay {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3;
}
.navbar .nav {
    font-weight: 600;
}
@media only screen and (max-width: 992px) {
    .navbar .nav {
        display: none;
        background: #fff;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: center;
        align-items: center;
        justify-content: center;
        font-weight: 500;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9;
    }
}
@media only screen and (min-width: 993px) {
    .navbar .nav {
        display: flex !important;
    }
}
.navbar .nav__item {
    font-size: 1.125rem;
    margin-right: 3rem;
    padding-top: 0.35rem;
    position: relative;
}
.navbar .nav__item:nth-last-child(2) {
    margin-right: 0;
}
.navbar .nav__item:last-child {
    display: none;
    margin-right: 0;
}
@media only screen and (max-width: 992px) {
    .navbar .nav__item:last-child {
        display: block;
    }
}
@media only screen and (max-width: 1200px) {
    .navbar .nav__item {
        margin-right: 2rem;
    }
}
@media only screen and (max-width: 992px) {
    .navbar .nav__item {
        margin: 1rem 0;
    }
}
@media only screen and (max-width: 576px) {
    .navbar .nav__item {
        margin: 0.7rem 0;
    }
}
@media only screen and (min-width: 992px) {
    .navbar .nav__item {
        opacity: 1 !important;
        transform: none !important;
    }
}
.navbar .nav__item.is-current .nav__link {
    color: #ebc283;
}
.navbar .nav__item.is-current::before {
    content: "";
    background-color: #ebc283;
    height: 1.5px;
    position: absolute;
    bottom: -0.6rem;
    left: 0;
    width: 100%;
}
@media only screen and (max-width: 992px) {
    .navbar .nav__item.is-current::before {
        display: none;
    }
}
.navbar .nav__link {
    color: #3c3c3c;
    display: block;
    line-height: 1.1;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
    text-decoration: none;
}
@media only screen and (max-width: 992px) {
    .navbar .nav__link {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 576px) {
    .navbar .nav__link {
        font-size: 1.4rem;
    }
}
.navbar .nav__link:hover span {
    transform: translateY(-100%);
}
@media only screen and (max-width: 992px) {
    .navbar .nav__link:hover span {
        color: #ebc283;
        transform: translateY(0);
    }
}
.navbar .nav__link span {
    display: inline-block;
    position: relative;
    transition: transform 0.2s ease-in-out;
}
.navbar .nav__link span::before {
    display: inline-block;
    width: 100%;
    height: 100%;
    content: attr(data-hover);
    position: absolute;
    left: 0;
    top: 100%;
    transform: translate3d(0, 0, 0);
}
@media only screen and (max-width: 992px) {
    .navbar__btn {
        display: none;
    }
}
.navbar-white {
    border: 0;
    padding: 1.5rem 3.5rem;
}
@media only screen and (max-width: 1200px) {
    .navbar-white {
        padding: 1rem 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .navbar-white {
        padding: 0 1.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .navbar-white {
        padding: 0 15px;
    }
}
.navbar-white .nav__item.is-current::before {
    background-color: #fff;
}
.navbar-white .nav__item.is-current .nav__link {
    color: #fff;
}
@media only screen and (max-width: 992px) {
    .navbar-white .nav__item.is-current .nav__link {
        color: #3c3c3c;
    }
}
.navbar-white .nav__link {
    color: #fff;
}
@media only screen and (max-width: 992px) {
    .navbar-white .nav__link {
        color: #3c3c3c;
    }
}
.navbar-white .hamburger span {
    background-color: #fff;
}
.is-sticky {
    box-shadow: 0 24px 64px rgba(44, 63, 88, 0.06);
    border: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 7;
}
.is-sticky.show {
    opacity: 1;
    transform: translateY(0);
}
.is-sticky.hide {
    opacity: 0;
    transform: translateY(-100%);
}
.hamburger {
    cursor: pointer;
    background-color: transparent;
    border: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    padding: 0;
    position: relative;
    height: 24px;
    width: 24px;
    z-index: 10;
}
.hamburger:focus {
    outline: none;
}
@media only screen and (min-width: 993px) {
    .hamburger {
        display: none;
    }
}
.hamburger span {
    background-color: #3c3c3c;
    height: 2px;
    width: 100%;
    position: absolute;
    top: 0;
    transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1) 0;
}
.hamburger span:nth-of-type(1) {
    top: 6px;
}
.hamburger span:nth-of-type(2) {
    top: 16px;
}
.hamburger.is-active span:nth-of-type(1) {
    transform: translateY(5px) rotate(-45deg);
}
.hamburger.is-active span:nth-of-type(2) {
    transform: translateY(-5px) rotate(45deg);
}
.open-nav .hamburger span {
    background-color: #3c3c3c;
}
.sub-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(169, 172, 181, 0.2);
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    width: 100%;
    transition: all 0.3s ease-in-out;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .sub-header {
        justify-content: flex-start;
    }
}
.sub-header .form-group {
    margin-bottom: 0;
}
.sub-header #price {
    width: 120px;
}
.sub-header #priceRange {
    margin-bottom: 1.5rem;
}
@media only screen and (max-width: 576px) {
    .sub-header #priceRange {
        margin-top: 0.6rem;
    }
}
.sub-header #dropdownPriceAction {
    min-width: 224px;
}
.sub-header #person-adult,
.sub-header #person-kids {
    min-width: 110px;
}
@media only screen and (max-width: 576px) {
    .filters-room {
        display: none;
    }
}
.bottom-nav {
    background-color: #fff;
    box-shadow: 0 0 64px rgba(44, 63, 88, 0.1);
    border-radius: 18px 18px 0 0;
    height: calc(100% - 2.5rem);
    margin-top: 2.5rem;
    position: fixed;
    bottom: 0;
    z-index: 11;
    transform: translateY(calc(100% - 30px));
    transition: transform 0.3s ease-in-out;
    -webkit-overflow-scrolling: touch;
}
@media only screen and (min-width: 576px) {
    .bottom-nav {
        display: none;
    }
}
.bottom-nav__control {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    height: 1.5rem;
    padding: 1.2rem 0;
    position: relative;
}
.bottom-nav__control::before,
.bottom-nav__control::after {
    content: "";
    background-color: #dfdfdf;
    border-radius: 4px;
    height: 3px;
    position: absolute;
    width: 1.5rem;
    transition: transform 0.4s ease-in-out;
}
.bottom-nav__control::before {
    transform: rotate(20deg) translateX(-47%);
}
.bottom-nav__control::after {
    transform: rotate(-20deg) translateX(47%);
}
.bottom-nav.open {
    transform: translateY(0);
}
.bottom-nav.open .bottom-nav__control::before {
    transform: rotate(0) translateX(-47%);
}
.bottom-nav.open .bottom-nav__control::after {
    transform: rotate(0) translateX(47%);
}
.bottom-nav .container {
    height: 100%;
    overflow: auto;
    padding-bottom: 2.5rem;
}
.footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(169, 172, 181, 0.2);
    margin-top: 6.8rem;
    padding: 1.6rem 3.5rem;
}
@media only screen and (max-width: 992px) {
    .footer {
        padding: 1.6rem 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .footer {
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 1.2rem;
    }
}
@media only screen and (max-width: 576px) {
    .footer {
        margin-top: 2rem;
        padding: 1rem 15px;
        justify-content: center;
    }
}
.footer__left {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    flex-grow: 1;
}
@media only screen and (max-width: 992px) {
    .footer .logotype {
        width: 142px;
    }
}
@media only screen and (max-width: 768px) {
    .footer .logotype {
        width: 120px;
    }
}
.footer__info {
    font-size: 1rem;
    color: #626262;
    list-style: none;
    display: inline-flex;
    margin: 0;
    padding: 0.3rem 0 0;
}
@media only screen and (max-width: 992px) {
    .footer__info {
        font-size: 0.9375rem;
    }
}
@media only screen and (max-width: 576px) {
    .footer__info {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        font-size: 0.875rem;
        text-align: center;
    }
}
.footer__info li {
    margin-right: 2.5rem;
}
.footer__info li:last-child {
    margin-right: 0;
}
@media only screen and (max-width: 992px) {
    .footer__info li {
        margin-right: 2rem;
    }
}
@media only screen and (max-width: 576px) {
    .footer__info li {
        margin-bottom: 0.2rem;
        margin-right: 0;
    }
}
.footer__info a {
    color: #626262;
}
.footer__info a:hover {
    color: #ebc283;
}
.footer .copyright {
    padding-left: 6rem;
    position: relative;
}
.footer .copyright::before {
    content: "";
    background-color: #3c3c3c;
    height: 1px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.5rem;
    width: 3rem;
}
@media only screen and (max-width: 992px) {
    .footer .copyright {
        padding-left: 3rem;
    }
    .footer .copyright::before {
        left: 0.5rem;
        width: 1.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .footer .copyright {
        display: none;
    }
}
.footer__social {
    list-style: none;
    margin-bottom: 0;
    line-height: 0;
    padding: 0;
}
.footer__social li {
    display: inline-block;
    margin-left: 1.5rem;
}
.footer__social li:first-child {
    margin-left: 0;
}
@media only screen and (max-width: 576px) {
    .footer__social li {
        margin-left: 1rem;
    }
}
.footer .social-link {
    font-size: 1.25rem;
    color: #3c3c3c;
    display: block;
    line-height: 0;
}
.footer .social-link:hover {
    color: #ebc283;
}
@media only screen and (max-width: 992px) {
    .footer .social-link {
        font-size: 1.125rem;
    }
}
@media only screen and (max-width: 768px) {
    .footer .social-link {
        margin-top: 1rem;
    }
}
@media only screen and (max-width: 576px) {
    .footer .social-link {
        margin-top: 0.8rem;
    }
}
@media only screen and (max-width: 576px) {
    .footer.fixed-bottom {
        position: relative;
    }
}
.intro {
    background-color: #f8f8f8;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
    height: 100vh;
    position: relative;
}
.intro__bg-wrap {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    width: 100%;
}
.intro__bg {
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
}
.intro__container {
    height: calc(100% - 8rem);
    position: relative;
    z-index: 2;
}
@media only screen and (max-width: 992px) {
    .intro__container {
        height: calc(100% - 12rem);
    }
}
@media only screen and (max-width: 768px) {
    .intro__container {
        height: 100%;
    }
}
.intro__btn-play {
    background-color: transparent;
    border: 0;
    color: #fff;
    font-size: 1.125rem;
    font-weight: 600;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
}
.intro__btn-play:focus {
    outline: none;
}
@media only screen and (max-width: 576px) {
    .intro__btn-play {
        font-size: 1rem;
    }
}
.intro__btn-play .btn-play {
    margin-left: 1.5rem;
}
@media only screen and (max-width: 576px) {
    .intro__btn-play .btn-play {
        margin-left: 1rem;
    }
}
.bottom-panel {
    color: #3c3c3c;
    height: 8rem;
    margin-top: -8rem;
    position: relative;
    width: 100%;
    z-index: 1;
}
@media only screen and (max-width: 992px) {
    .bottom-panel {
        background-color: #fff;
        border-radius: 16px 16px 0 0;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel {
        border-radius: 18px;
        margin-top: -18px;
    }
}
.bottom-panel__wrap {
    background-color: #fff;
    -ms-flex-align: center;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
	border-top-right-radius: 4px;
}
.bottom-panel__wrap::before {
    content: "";
    background-color: #fff;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    z-index: 0;
}
@media only screen and (max-width: 992px) {
    .bottom-panel__wrap::before {
        display: none;
    }
}
@media only screen and (max-width: 992px) {
    .bottom-panel__wrap {
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: normal;
        align-items: normal;
        justify-content: center;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel__wrap {
        padding-top: 2.8rem;
        padding-bottom: 0;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel__wrap {
        background-color: transparent;
        padding-top: 25px;
        padding-right: 30px;
        padding-left: 30px;
    }
}
@media only screen and (min-width: 576px) {
    .bottom-panel__wrap {
        max-width: 510px;
    }
}
@media only screen and (min-width: 768px) {
    .bottom-panel__wrap {
        max-width: 690px;
    }
}
@media only screen and (min-width: 992px) {
    .bottom-panel__wrap {
        max-width: 930px;
    }
}
@media only screen and (min-width: 1200px) {
    .bottom-panel__wrap {
        max-width: 1110px;
    }
}
@media only screen and (min-width: 1500px) {
    .bottom-panel__wrap {
        max-width: 1210px;
    }
}
.bottom-panel__wrap .form-group {
    margin-bottom: 0;
}
@media only screen and (max-width: 992px) {
    .bottom-panel__wrap .form-group {
        margin-bottom: 1.3rem;
    }
}
@media only screen and (max-width: 992px) {
    .bottom-panel__wrap .form-group {
        margin-bottom: 1rem;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel__wrap .form-group {
        margin-bottom: 0.6rem;
    }
}
.bottom-panel__wrap .inputFeature {
    width: 10.6rem;
}
@media only screen and (max-width: 992px) {
    .bottom-panel__wrap .inputFeature {
        width: 100%;
    }
}
.bottom-panel__form-wrap p {
    margin-bottom: 0;
    padding-top: 0.6rem;
}
@media only screen and (min-width: 768px) {
    .bottom-panel__form-wrap {
        -ms-flex-align: center;
        align-items: center;
    }
}
@media only screen and (min-width: 992px) {
    .bottom-panel__form-wrap {
        flex-grow: 1;
        margin-right: 0;
    }
}
@media only screen and (-ms-high-contrast: active) and (max-width: 992px), only screen and (-ms-high-contrast: none) and (max-width: 992px) {
    .bottom-panel__form-wrap {
        width: calc(100% + 30px);
    }
}
@media only screen and (max-width: 992px) {
    .bottom-panel .col-date-to {
        padding-right: 12px;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel .col-date-to {
        padding-right: 15px;
    }
}
@media only screen and (max-width: 992px) {
    .bottom-panel .col-date-from {
        padding-left: 12px;
        padding-right: 9px;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel .col-date-from {
        padding-right: 15px;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel .col-date-from {
        padding-left: 15px;
    }
}
@media only screen and (max-width: 992px) {
    .bottom-panel .btn-booking {
        margin-right: 0;
        margin-top: 0.2rem;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel .btn-booking {
        margin-top: 0.6rem;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel .btn-booking {
        margin-top: 1.5rem;
    }
}
.bottom-panel #dropdownPersons {
    min-width: 20rem;
}
@media only screen and (max-width: 992px) {
    .bottom-panel #dropdownPersons {
        margin-right: 15px;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel #dropdownPersons {
        width: calc(100% - 30px);
        margin-left: 15px;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel #dropdownPersons {
        min-width: auto;
    }
}
.bottom-panel #person-total {
    width: 11rem;
}
@media only screen and (max-width: 992px) {
    .bottom-panel #person-total {
        width: 100%;
    }
}
.bottom-panel .slash::before {
    right: 22%;
}
@media only screen and (max-width: 1500px) {
    .bottom-panel .slash::before {
        right: 18%;
    }
}
@media only screen and (max-width: 1200px) {
    .bottom-panel .slash::before {
        display: none;
    }
}
.bottom-panel-title {
    font-size: 1.125rem;
    font-weight: 600;
}
@media only screen and (max-width: 576px) {
    .bottom-panel-title {
        font-size: 1rem;
    }
}
.bottom-panel-info {
    color: #626262;
}
@media only screen and (max-width: 576px) {
    .bottom-panel-info {
        font-size: 0.875remrem;
    }
}
.bottom-panel--floating {
    background-color: transparent;
}
@media only screen and (max-width: 992px) {
    .bottom-panel--floating {
        height: 12rem;
        margin-top: -12rem;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel--floating {
        height: auto;
        margin-top: -10rem;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel--floating {
        background-color: #fff;
        box-shadow: 0 32px 64px 0 rgba(44, 63, 88, 0.05);
        margin-top: -18px;
        padding-bottom: 1rem;
    }
}
.bottom-panel--floating .bottom-panel__wrap {
    border-radius: 8px;
    box-shadow: 0 0 80px rgba(169, 172, 181, 0.3);
    padding-left: 3rem;
}
@media only screen and (max-width: 1200px) {
    .bottom-panel--floating .bottom-panel__wrap {
        padding-left: 2.5rem;
    }
}
@media only screen and (max-width: 992px) {
    .bottom-panel--floating .bottom-panel__wrap {
        padding-left: 1.875rem;
        padding-right: 1.875rem;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panel--floating .bottom-panel__wrap {
        padding-top: 1.7rem;
        padding-bottom: 1.875rem;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panel--floating .bottom-panel__wrap {
        box-shadow: none;
        padding: 15px 15px 0;
    }
}
.bottom-panel--floating .bottom-panel__wrap::before {
    display: none;
}
.bottom-panel--floating .btn-booking {
    border-radius: 0 8px 8px 32px;
}
@media only screen and (max-width: 992px) {
    .bottom-panel--floating .btn-booking {
        border-radius: 5rem;
    }
}
@media only screen and (max-width: 992px) {
    .booking-panel {
        background-color: #fff;
        height: 12rem;
        margin-top: -12rem;
    }
}
@media only screen and (max-width: 768px) {
    .booking-panel {
        height: auto;
        margin-top: 0;
    }
}
@media only screen and (max-width: 576px) {
    .booking-panel {
        border-radius: 3px;
        margin-top: -2rem;
        padding-bottom: 2.25rem;
    }
}
@media only screen and (max-width: 576px) {
    .bottom-panelRoom {
        box-shadow: none;
        height: auto;
        padding-top: 1.2rem;
        padding-bottom: 1.2rem;
    }
}
@media only screen and (max-width: 768px) {
    .bottom-panelRoom .bottom-panel__wrap {
        padding-top: 0;
    }
}
@media only screen and (max-width: 576px) {
    .room-details {
        margin-left: 0;
        margin-right: 0;
    }
}
.room-details__item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    padding-top: 1rem;
}
@media only screen and (max-width: 576px) {
    .room-details__item {
        font-size: 0.75rem;
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
    }
    .room-details__item span {
        display: none;
    }
}
.room-details__item [class^="icon-"] {
    font-size: 1.5rem;
    margin-right: 1rem;
    margin-top: -0.25rem;
}
@media only screen and (max-width: 576px) {
    .room-details__item [class^="icon-"] {
        font-size: 1rem;
        margin-right: 0.625rem;
    }
}
@media only screen and (max-width: 1200px) {
    .room-details__item.slash::before {
        display: block;
    }
}
@media only screen and (max-width: 768px) {
    .room-details__item.slash::before {
        display: none;
    }
}
.lightbox-backdrop {
    background: rgba(255, 255, 255, 0);
    display: none;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    z-index: 100;
}
.lightbox-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
}
.video-foreground {
    position: relative;
    height: 80%;
    width: 70%;
}
@media only screen and (max-width: 1500px) {
    .video-foreground {
        height: 80%;
        width: 90%;
    }
}
@media only screen and (max-width: 992px) {
    .video-foreground {
        height: 70%;
        width: 90%;
    }
}
@media only screen and (max-width: 576px) {
    .video-foreground {
        height: 40%;
        margin-left: 15px;
        margin-right: 15px;
        width: 100%;
    }
}
.video-foreground iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.close-popup {
    border: 1px solid #f8f8f8;
    border-radius: 50%;
    color: #626262;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 2.3rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    text-align: center;
    height: 2.5rem;
    width: 2.5rem;
    transition: all 0.3s ease-in-out;
}
.close-popup:hover {
    background-color: #f8f8f8;
    box-shadow: 0 0 0 5px rgba(246, 246, 246, 0.8);
}
@media only screen and (max-width: 576px) {
    .close-popup {
        font-size: 0.8rem;
        line-height: 1.4rem;
        height: 1.6rem;
        width: 1.6rem;
    }
}
.coverSlider {
    background-size: cover;
    background-position: center center;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.intro-slider {
    background-color: #f8f8f8;
    color: #fff;
    height: 100vh;
    position: relative;
    z-index: 0;
    -webkit-overflow-scrolling: touch;
}
.intro-slider .scaleCover {
    width: 100%;
    height: 100vh;
    transform: scale(1.1);
    transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.intro-slider .swiper-slide-active .scaleCover,
.intro-slider .swiper-slide-duplicate-active .scaleCover {
    transform: scale(1);
}
.intro-slider__caption {
    color: #fff;
    padding-left: 15px;
    padding-right: 15px;
    width: 100%;
    z-index: 2;
}
.intro-slider__caption .title {
    font-size: 9rem;
    margin-bottom: 0;
    line-height: 1.06;
}
@media only screen and (max-width: 1500px) {
    .intro-slider__caption .title {
        font-size: 7.85vw;
    }
}
@media only screen and (max-width: 992px) {
    .intro-slider__caption .title {
        font-size: 4rem;
    }
}
@media only screen and (max-width: 768px) {
    .intro-slider__caption .title {
        font-size: 3.8rem;
    }
}
@media only screen and (max-width: 576px) {
    .intro-slider__caption .title {
        font-size: 2.5rem;
    }
}
.intro-slider__caption .description {
    font-size: 1.125rem;
    margin: 0.8rem auto 0;
    width: 50%;
}
@media only screen and (max-width: 992px) {
    .intro-slider__caption .description {
        font-size: 1rem;
        width: 70%;
    }
}
@media only screen and (max-width: 768px) {
    .intro-slider__caption .description {
        width: 100%;
    }
}
.intro-slider__image {
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
@media only screen and (max-width: 992px) {
    .intro-slider__image {
        width: 100%;
        order: 1;
    }
}
.intro-slider__image.overlay {
    position: absolute;
}
.intro-slider__image.overlay::before {
    z-index: 2;
}
.intro-slider__image .swiper-slide {
    overflow: hidden;
}
.intro-slider .slider-navigation {
    display: -ms-flexbox;
    display: flex;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 10rem;
    left: 0;
    z-index: 2;
}
@media only screen and (max-width: 992px) {
    .intro-slider .slider-navigation {
        display: none;
    }
}
.intro-slider .slider-prev,
.intro-slider .slider-next {
    color: #fff;
    cursor: pointer;
    border: 0;
    background-color: transparent;
    font-size: 1.75rem;
    transition: all 0.4s ease-in-out;
}
.intro-slider .slider-prev:hover,
.intro-slider .slider-next:hover {
    color: rgba(255, 255, 255, 0.6);
}
.intro-slider .slider-prev:focus,
.intro-slider .slider-next:focus {
    outline: none;
}
.intro-slider .slider-prev {
    margin-left: -8px;
}
.intro-slider .slider-next {
    margin-left: 1.5rem;
}
.swiper-container .swiper-slide .down-up span {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
    transition: all 0.4s ease-out;
}
.swiper-container .swiper-slide .js-text-wave div span {
    transform: translate3d(0, 100%, 0);
}
.swiper-container .swiper-slide .scaleCover {
    width: 100%;
    height: 100%;
    transform: scale(1.05);
    transition: transform 1s cubic-bezier(0.5, 0, 0, 1);
}
.swiper-container .swiper-slide-active .down-up span,
.swiper-container .swiper-slide-duplicate-active .down-up span {
    opacity: 1;
    transform: translate3d(0, 0%, 0);
    transition-delay: 0.5s !important;
}
.swiper-container .swiper-slide-active .js-text-wave div span,
.swiper-container .swiper-slide-duplicate-active .js-text-wave div span {
    transform: translate3d(0, 0, 0);
}
.swiper-container .swiper-slide-active .scaleCover,
.swiper-container .swiper-slide-duplicate-active .scaleCover {
    transform: scale(1);
}
.swiper-container .swiper-slide-duplicate .js-text-wave div span,
.swiper-container .swiper-slide-duplicate .down-up span {
    transform: translate3d(0, 100%, 0);
}
.swiper-container-fade .swiper-slide {
    opacity: 1 !important;
}
.main {
    min-height: calc(100vh - 300px);
    padding-top: 0.1px;
}
.flex-container {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: -15px;
    margin-right: -15px;
}
.flex-container-z {
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.container-center {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    height: 100vh;
    overflow: hidden;
    text-align: center;
}
@media (min-width: 1500px) {
    .container {
        max-width: 1240px;
    }
}
.section {
    margin-top: 10.5rem;
}
@media only screen and (max-width: 992px) {
    .section {
        margin-top: 7.375rem;
    }
}
@media only screen and (max-width: 576px) {
    .section {
        margin-top: 5.25rem;
    }
}
.section-first {
    margin-top: 6rem;
}
@media only screen and (max-width: 576px) {
    .section-first {
        margin-top: 2rem;
    }
}
.section-gray {
    background-color: #f8f8f8;
    padding: 5rem 0;
    position: relative;
}
@media only screen and (max-width: 576px) {
    .section-gray {
        padding: 2.5rem 0;
    }
}
.section-gray--cutoutTop::before,
.section-gray--cutoutBottom::before {
    content: "";
    background-color: #fff;
    height: 6.25rem;
    position: absolute;
    right: 0;
    width: 8vw;
}
@media only screen and (max-width: 576px) {
    .section-gray--cutoutTop::before,
    .section-gray--cutoutBottom::before {
        display: none;
    }
}
.section-gray--cutoutTop::before {
    top: 0;
}
.section-gray--cutoutBottom::before {
    bottom: 0;
}
.section-rounding {
    position: relative;
}
.section-rounding::before {
    content: "";
    background-image: url(../img/ui/section-edge.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    display: block;
    padding-bottom: 8%;
    position: absolute;
    bottom: -2px;
    width: 100%;
    z-index: 10;
}
@media only screen and (max-width: 576px) {
    .section-rounding::before {
        display: none;
    }
}
@media only screen and (max-width: 576px) {
    .mr-s-2 {
        margin-bottom: 0.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .height-md-auto {
        height: auto;
    }
}
@media only screen and (max-width: 576px) {
    .col__left {
        padding-right: 7.5px;
    }
}
@media only screen and (max-width: 576px) {
    .col__right {
        padding-left: 7.5px;
    }
}
.col-fullwidth {
    display: -ms-flexbox;
    display: flex;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
}
@media only screen and (max-width: 576px) {
    .col-fullwidth {
        margin-left: 0;
        margin-right: 0;
    }
}
.gutter-sizer {
    width: 8%;
}
@media only screen and (max-width: 1200px) {
    .gutter-sizer {
        width: 4%;
    }
}
.b-shadow {
    position: relative;
}
.b-shadow::before {
    content: "";
    box-shadow: 0 24px 64px rgba(169, 172, 181, 0.15), 0 0 8px rgba(169, 172, 181, 0.15);
    height: 5%;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 80%;
}
.overlay {
    position: relative;
}
.overlay::before,
.overlay::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
.overlay::before {
    background-color: rgba(60, 60, 60, 0.25);
}
.overlay::after {
    background: linear-gradient(180deg, rgba(60, 60, 60, 0.25) 0%, rgba(60, 60, 60, 0) 5%);
}
.overlay-popup {
    background-color: rgba(60, 60, 60, 0.25);
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 10;
}
.overlay-visible .overlay-popup {
    display: block;
}
@media only screen and (min-width: 769px) {
    .filter {
        display: inline-flex;
        flex-wrap: wrap;
        list-style: none;
        margin-top: 1rem;
        margin-bottom: 0;
        padding: 0;
    }
    .filter__item {
        padding-right: 2rem;
    }
    .filter__item:last-child {
        padding-right: 0;
    }
    .filter__item.active a {
        color: #ebc283;
    }
    .filter__link {
        color: #3c3c3c;
        font-weight: 500;
        padding: 0 4px;
        text-decoration: none;
        display: block;
        overflow: hidden;
        position: relative;
    }
    .filter__link:hover {
        text-decoration: none;
    }
}
@media only screen and (min-width: 992px) {
    .filter {
        margin-top: 1.5rem;
        margin-bottom: 1rem;
    }
}
.select .placeholder {
    display: none;
}
@media only screen and (max-width: 768px) {
    .select {
        background-color: #f8f8f8;
        border-radius: 3px;
        color: #626262;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        justify-content: space-between;
        margin-top: 1rem;
        line-height: 1;
        height: 48px;
        padding: 0 1.125rem;
        position: relative;
        user-select: none;
        width: 100%;
        -webkit-touch-callout: none;
        z-index: 2;
    }
    .select .placeholder {
        cursor: pointer;
        display: block;
        padding: 0.5rem 0;
        position: relative;
        width: 100%;
        z-index: 1;
    }
    .select .placeholder:after {
        position: absolute;
        right: 2px;
        top: 50%;
        transform: translateY(-50%);
        font-family: "icomoon";
        content: "\e92e";
        z-index: 10;
    }
    .select.is-open .placeholder:after {
        content: "\e931";
    }
    .select.is-open ul {
        display: block;
    }
    .select ul {
        background-color: #fff;
        box-shadow: 0 10px 60px rgba(114, 128, 157, 0.25);
        border-radius: 3px;
        display: none;
        max-height: 600px;
        overflow: hidden;
        overflow-y: auto;
        padding: 0.6rem 0;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        z-index: 100;
    }
    .select ul li {
        display: block;
        text-align: left;
        padding: 0.8rem 1.125rem;
        color: #3c3c3c;
        cursor: pointer;
    }
    .select ul li:hover {
        background-color: #f8f8f8;
    }
    .select ul li:hover a {
        color: #3c3c3c;
    }
    .select ul li a {
        color: #3c3c3c;
        text-decoration: none;
    }
}
@media only screen and (max-width: 576px) {
    .select {
        margin-top: 0.5rem;
    }
}
.about-image-wrap {
    margin-top: 2.5rem;
    position: relative;
}
.about-image-wrap::before {
    content: "";
    background: linear-gradient(180deg, rgba(60, 60, 60, 0) 0%, rgba(60, 60, 60, 0.5) 100%);
    height: 100%;
    opacity: 0.5;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
}
@media only screen and (max-width: 768px) {
    .about-image-wrap {
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 992px) {
    .about-image-wrap {
        margin-top: 1.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .about-image-wrap {
        margin-top: 1rem;
    }
}
.about-link {
    background-color: #fff;
    color: #3c3c3c;
    font-weight: 600;
    font-size: 1.125rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding: 2.65rem 2.5rem 2rem;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 3;
}
@media only screen and (max-width: 768px) {
    .about-link {
        font-size: 1rem;
        padding: 1.5rem 2rem;
    }
}
@media only screen and (max-width: 576px) {
    .about-link {
        font-size: 0.875rem;
        padding: 1rem 1.5rem;
    }
}
.about-link:hover {
    color: #ebc283;
}
.offset-top {
    margin-top: 5.4%;``
}
@media only screen and (max-width: 992px) {
    .offset-top {
        margin-top: 0;
    }
}
.gallery-three {
    justify-content: center;
    overflow: hidden;
}
.gallery-three__left {
    width: 25%;
    margin-bottom: 0;
}
.gallery-three__right {
    width: 25%;
    margin-bottom: 0;
}
.gallery-three__center {
    width: 100%;
    flex: 0 0 100%;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 0;
}
@media (min-width: 576px) {
    .gallery-three__center {
        max-width: 540px;
        padding-left: 15px;
        padding-right: 15px;
        margin-left: 4%;
        margin-right: 4%;
    }
}
@media (min-width: 768px) {
    .gallery-three__center {
        max-width: 720px;
    }
}
@media (min-width: 992px) {
    .gallery-three__center {
        max-width: 960px;
    }
}
@media (min-width: 1200px) {
    .gallery-three__center {
        max-width: 1140px;
    }
}
@media (min-width: 1500px) {
    .gallery-three__center {
        max-width: 1240px;
    }
}
.header-btn-more {
    margin-bottom: 3.5rem;
}
@media only screen and (max-width: 992px) {
    .header-btn-more {
        margin-bottom: 2.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .header-btn-more {
        margin-bottom: 1rem;
    }
}
.ach-box {
    margin-bottom: 3rem;
}
@media only screen and (max-width: 576px) {
    .ach-box {
        box-shadow: 0 6px 20px 0 rgba(44, 63, 88, 0.05);
        border-radius: 3px;
        padding: 1rem;
        margin-top: 15px;
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 576px) {
    .ach-box .title--overhead {
        margin-bottom: 0.1rem;
    }
}
.item-count {
    font-family: "Recoleta", serif;
    font-size: 6rem;
    font-weight: 600;
    line-height: 0.85;
}
@media only screen and (max-width: 1200px) {
    .item-count {
        font-size: 4.8rem;
    }
}
@media only screen and (max-width: 992px) {
    .item-count {
        font-size: 3.8rem;
    }
}
@media only screen and (max-width: 576px) {
    .item-count {
        font-size: 2.5rem;
    }
}
.section-testimonials {
    margin-top: 9rem;
    padding: 10.5rem 0;
}
@media only screen and (max-width: 576px) {
    .section-testimonials {
        padding: 3.5rem 0;
    }
}
.js-testimonials {
    margin-bottom: 5rem;
}
@media only screen and (max-width: 576px) {
    .js-testimonials {
        margin-bottom: 3rem;
    }
}
.testimonials-item {
    background-color: #fff;
    border-radius: 3px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: space-between;
    height: auto;
    padding: 2.5rem 2.5rem 2.25rem;
}
@media only screen and (max-width: 576px) {
    .testimonials-item {
        padding: 1rem;
    }
}
.testimonials-item__caption {
    margin-bottom: 2rem;
}
@media only screen and (max-width: 992px) {
    .testimonials-item__caption {
    }
}
@media only screen and (max-width: 576px) {
    .testimonials-item__caption {
    }
}
.testimonials-item--v2 {
    border: 1px solid rgba(169, 172, 181, 0.2);
    box-shadow: none;
    margin-bottom: 1.5rem;
    padding: 1.6rem 2rem;
}
@media only screen and (max-width: 576px) {
    .testimonials-item--v2 {
        margin-bottom: 15px;
        padding: 1.2rem 15px;
    }
}
.testimonials-item--v2 .testimonials-item__caption {
    font-family: "URW Geometric", sans-serif;
    font-size: 1rem;
}
.testimonials-item--v2 .author-wrap {
    margin-top: 0.2rem;
}
@media only screen and (max-width: 576px) {
    .testimonials-item--v2 .author-wrap {
        margin-top: 0;
    }
}
.author-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin-top: -0.5rem;
}
@media only screen and (max-width: 992px) {
    .author-wrap {
        margin-top: 0;
    }
}
.author-picture {
    border-radius: 50%;
    height: 3.5rem;
    margin-right: 1.25rem;
    overflow: hidden;
    width: 3.5rem;
}
@media only screen and (max-width: 576px) {
    .author-picture {
    }
}
.author-name {
    font-weight: 600;
    padding-top: 0.25rem;
}
.author-country {
    color: #626262;
    font-size: 0.925rem;
    margin-top: -0.25rem;
}
@media only screen and (max-width: 576px) {
    .author-country {
        line-height: 1;
    }
}
.swiper-container-horizontal .swiper-pagination-bullets {
    line-height: 1;
    margin-top: 3.625rem;
    position: relative;
    bottom: 0;
}
@media only screen and (max-width: 576px) {
    .swiper-container-horizontal .swiper-pagination-bullets {
        margin-top: 1.625rem;
    }
}
.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 8px !important;
    background: #626262;
    border-radius: 50%;
    opacity: 0.3;
    outline: none;
    transition: opacity 0.3s, background 0.3s, width 0.1s;
    transition-delay: 0.3s, 0.3s, 0;
}
@media only screen and (max-width: 576px) {
    .swiper-pagination-bullet {
        margin: 0 6px !important;
    }
}
.swiper-pagination-bullet-active {
    background: #ebc283;
    opacity: 1;
    transition-delay: 0;
}
.cta-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    background-color: #304f85;
    border-radius: 3px;
    color: #fff;
    padding: 5rem;
    margin-left: 0;
    margin-right: 0;
}
@media only screen and (max-width: 1500px) {
    .cta-box {
        padding: 3.8rem;
    }
}
@media only screen and (max-width: 1200px) {
    .cta-box {
        padding: 3.5rem;
    }
}
@media only screen and (max-width: 992px) {
    .cta-box {
        padding: 2.5rem 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .cta-box {
        padding: 2rem 1.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .cta-box {
        padding: 1.1rem 0 1rem;
        margin-bottom: 1rem;
    }
}
.cta-box .paragraph {
    color: #fff;
    margin-bottom: 0;
}
@media only screen and (max-width: 992px) {
    .cta-box .btn {
        margin-top: 2rem;
    }
}
@media only screen and (max-width: 768px) {
    .cta-box .btn {
        margin-top: 1.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .cta-box .btn {
        margin-top: 1rem;
        width: 100%;
    }
}
.cta-negative {
    margin-top: -9.25rem;
    position: relative;
    z-index: 1;
}
@media only screen and (max-width: 576px) {
    .cta-negative {
        margin-top: -5.5rem;
    }
}
.cta-simply {
    justify-content: center;
    padding-bottom: 2rem;
    text-align: center;
}
@media only screen and (max-width: 992px) {
    .cta-simply {
        padding-bottom: 0;
    }
}
@media only screen and (max-width: 576px) {
    .cta-simply {
        padding-bottom: 1.5rem;
    }
}
.cta-simply .btn {
    margin-top: 1rem;
}
@media only screen and (max-width: 576px) {
    .cta-simply .btn {
        margin-top: 0;
    }
}
.swiper-control-center {
    margin-left: auto;
    margin-right: auto;
    height: 100%;
    position: absolute;
    right: 0;
    left: -1px;
    z-index: 1;
}
@media only screen and (min-width: 576px) {
    .swiper-control-center {
        max-width: 510px;
    }
}
@media only screen and (min-width: 768px) {
    .swiper-control-center {
        max-width: 690px;
    }
}
@media only screen and (min-width: 992px) {
    .swiper-control-center {
        max-width: 930px;
    }
}
@media only screen and (min-width: 1200px) {
    .swiper-control-center {
        max-width: 1110px;
    }
}
@media only screen and (min-width: 1500px) {
    .swiper-control-center {
        max-width: 1210px;
    }
}
.swiper-control--bottom {
    background-color: #fff;
    height: 8.75rem;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 4.375rem;
    z-index: 1;
}
@media only screen and (max-width: 768px) {
    .swiper-control--bottom {
        height: 6rem;
        width: 3rem;
    }
}
.swiper-control .slash::before {
    height: 30px;
    left: 0;
    right: 0;
    transform: rotate(60deg);
}
@media only screen and (max-width: 768px) {
    .swiper-control .slash::before {
        height: 20px;
    }
}
.swiper-control:hover .slash::before {
    display: none;
}
.swiper-button-square {
    background-image: none;
    color: #3c3c3c;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    height: 4.375rem;
    margin: 0;
    overflow: hidden;
    position: relative;
    top: 0;
    left: 0;
    transition: background 0.3s cubic-bezier(0.2, 1, 0.8, 1);
    width: 4.375rem;
}
@media only screen and (max-width: 768px) {
    .swiper-button-square {
        height: 3rem;
        width: 3rem;
    }
}
.swiper-button-square:hover {
    background-color: #f8f8f8;
}
.swiper-button-square:focus {
    outline: none;
}
.swiper-button-square::after {
    display: none;
}
.itemRoom {
    background-color: #fff;
    color: #fff;
    margin-bottom: 1.875rem;
    position: relative;
}
@media only screen and (max-width: 576px) {
    .itemRoom {
        margin-bottom: 15px;
    }
}
.itemRoom__img-wrap {
    border-radius: 3px;
    height: 370px;
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.itemRoom__img-wrap::before {
    content: "";
    background: linear-gradient(180deg, rgba(60, 60, 60, 0) 0%, rgba(60, 60, 60, 0.5) 100%);
    height: 100%;
    opacity: 0.5;
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
}
@media only screen and (max-width: 1500px) {
    .itemRoom__img-wrap {
        height: 350px;
    }
}
@media only screen and (max-width: 1200px) {
    .itemRoom__img-wrap {
        height: 290px;
    }
}
@media only screen and (max-width: 992px) {
    .itemRoom__img-wrap {
        height: 330px;
    }
}
@media only screen and (max-width: 768px) {
    .itemRoom__img-wrap {
        height: 370px;
    }
}
@media only screen and (max-width: 576px) {
    .itemRoom__img-wrap {
        height: 300px;
    }
}
.itemRoom__portrait .itemRoom__img-wrap {
    height: 520px;
}
@media only screen and (max-width: 576px) {
    .itemRoom__portrait .itemRoom__img-wrap {
        height: 360px;
    }
}
.itemRoom.swiper-slide {
    margin-bottom: 0;
}
.itemRoom .cover {
    transform: scale(1);
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.8, 1);
    z-index: -10;
}
.itemRoom:hover .cover {
    transform: scale(1.05);
}
.itemRoom__link {
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}
.itemRoom__details {
    padding: 2.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
}
@media only screen and (max-width: 576px) {
    .itemRoom__details {
        padding: 1rem;
    }
}
.itemRoom .title {
    margin-bottom: 1rem;
}
@media only screen and (max-width: 1200px) {
    .itemRoom .title {
        font-size: 2rem;
    }
}
@media only screen and (max-width: 576px) {
    .itemRoom .title {
        font-size: 1.5rem;
        margin-bottom: 0.75rem;
    }
}
.itemRoom .badge {
    margin: 1.5rem 1.5rem 0 0;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
}
@media only screen and (max-width: 576px) {
    .itemRoom .badge {
        margin: 1rem 1rem 0 0;
    }
}
.itemRoom__price {
    font-size: 1rem;
    line-height: 1;
}
.itemRoom__price span {
    font-size: 1.25rem;
    font-weight: 600;
    opacity: 1;
}
@media only screen and (max-width: 1200px) {
    .itemRoom__price {
        font-size: 0.875rem;
    }
    .itemRoom__price span {
        font-size: 1.3rem;
    }
}
.itemRoom__main {
    margin-bottom: 5rem;
}
@media only screen and (max-width: 1200px) {
    .itemRoom__main {
        margin-bottom: 3rem;
    }
}
@media only screen and (max-width: 576px) {
    .itemRoom__main {
        margin-bottom: 1.5rem;
    }
}
.itemRoom__main .itemRoom__img-wrap {
    height: 640px;
}
@media only screen and (max-width: 1200px) {
    .itemRoom__main .itemRoom__img-wrap {
        height: 540px;
    }
}
@media only screen and (max-width: 992px) {
    .itemRoom__main .itemRoom__img-wrap {
        height: 440px;
    }
}
.itemRoom__main .itemRoom__details {
}
@media only screen and (max-width: 576px) {
    .itemRoom__main .itemRoom__details {
    }
}
.itemRoom__main .itemRoom__price {
    font-size: 1rem;
}
.itemRoom__main .itemRoom__price span {
    font-size: 1.125rem;
}
@media only screen and (max-width: 576px) {
    .itemRoom__main .itemRoom__price {
        font-size: 1.5rem;
    }
    .itemRoom__main .itemRoom__price span {
        font-size: 0.875rem;
    }
}
.itemRoom__extended .itemRoom__img-wrap {
    border-radius: 3px 6px 0 0;
}
.itemRoom__details-extended {
    box-shadow: 0 24px 60px rgba(44, 63, 88, 0);
    border-radius: 0 0 6px 6px;
    color: #626262;
    font-size: 0.9375rem;
    line-height: 1;
    padding: 1.5rem;
    transition: box-shadow 0.3s ease-in-out;
}
@media only screen and (max-width: 576px) {
    .itemRoom__details-extended {
        font-size: 0.875rem;
        box-shadow: none;
        padding: 1.2rem 0 1rem;
    }
}
.itemRoom__details-extended .item-extended {
    display: inline-flex;
    align-items: flex-end;
}
.itemRoom__details-extended .item-extended:first-child {
    margin-bottom: 1.2rem;
    width: 100%;
}
@media only screen and (max-width: 576px) {
    .itemRoom__details-extended .item-extended {
        align-items: center;
    }
    .itemRoom__details-extended .item-extended:first-child {
        margin-bottom: 1rem;
    }
}
.itemRoom__details-extended [class^="icon-"],
.itemRoom__details-extended [class*=" icon-"] {
    font-size: 1.125rem;
    margin-right: 0.6rem;
}
.itemRoom:hover .itemRoom__details-extended {
    box-shadow: 0 24px 60px rgba(44, 63, 88, 0.07);
}
@media only screen and (max-width: 576px) {
    .itemRoom__extended.swiper-slide .itemRoom__details-extended {
        padding: 1.2rem 1rem 1rem;
    }
}
.slider-room {
    position: relative;
    height: 480px;
    margin-bottom: 3.5rem;
    width: 100%;
}
@media only screen and (max-width: 1200px) {
    .slider-room {
        height: 540px;
    }
}
@media only screen and (max-width: 992px) {
    .slider-room {
        height: 480px;
    }
}
@media only screen and (max-width: 768px) {
    .slider-room {
        margin-top: 2rem !important;
        height: 420px;
    }
}
@media only screen and (max-width: 576px) {
    .slider-room {
        margin-top: 2rem !important;
        margin-bottom: 2.5rem;
        height: 300px;
    }
}
.slider-room .swiper-slide {
    height: 100%;
    overflow: hidden;
    position: relative;
}
.sidebar-booking {
    margin-top: -8rem;
    position: relative;
    z-index: 1;
    transition: all 0.3s cubic-bezier(0.2, 1, 0.8, 1);
}
@media only screen and (max-width: 1200px) {
    .sidebar-booking {
        margin-top: 3rem;
    }
}
@media only screen and (max-width: 992px) {
    .sidebar-booking {
        margin-top: 0;
    }
}
@media only screen and (max-width: 576px) {
    .sidebar-booking {
        margin-bottom: 0.6rem;
    }
}
.sidebar-booking.is_stuck {
    margin-top: 2rem;
}
.sidebar-booking.is_stuck .sidebar-booking__priceWrap {
    border-radius: 3px 3px 0 0;
}
.sidebar-booking__priceWrap {
    background-color: #304f85;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    height: 8rem;
    padding-left: 2rem;
    padding-right: 2rem;
    border-top-right-radius: 3px;
}
@media only screen and (max-width: 1200px) {
    .sidebar-booking__priceWrap {
        background-color: #fff;
        border: 1px solid rgba(169, 172, 181, 0.2);
        border-radius: 3px 6px 0 0;
        color: #3c3c3c;
        height: 7rem;
    }
}
@media only screen and (max-width: 576px) {
    .sidebar-booking__priceWrap {
        height: auto;
        padding: 8px 15px;
    }
}
.sidebar-booking .priceWrap-title {
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.125rem;
    padding-top: 1.125rem;
    text-transform: uppercase;
}
@media only screen and (max-width: 576px) {
    .sidebar-booking .priceWrap-title {
        padding-top: 0.6rem;
    }
}
.sidebar-booking .priceWrap-price {
    font-size: 2rem;
    font-weight: 600;
}
.sidebar-booking .priceWrap-price span {
    font-size: 1rem;
    font-weight: 400;
}
@media only screen and (max-width: 576px) {
    .sidebar-booking .priceWrap-price {
        font-size: 1.5rem;
    }
    .sidebar-booking .priceWrap-price span {
        font-size: 0.875rem;
    }
}
.sidebar-booking__wrap {
    background-color: #fff;
    border: 1px solid #eee;
    border-top: 0;
    padding: 2rem 2em 1.625rem;
    border-radius: 0 0 3px 3px;
}
@media only screen and (max-width: 576px) {
    .sidebar-booking__wrap {
        padding: 15px;
    }
}
.sidebar-booking__wrap .row {
    margin-left: -12px;
    margin-right: -12px;
}
.sidebar-booking__wrap .col-12 {
    padding-left: 12px;
    padding-right: 12px;
}
.sidebar-booking__note {
    display: block;
    font-size: 0.875rem;
    padding-top: 1.1rem;
    text-align: center;
    width: 100%;
}
@media only screen and (max-width: 576px) {
    .sidebar-booking__note {
        font-size: 0.75rem;
        padding-top: 1rem;
    }
}
.map-bottom {
    background-color: #f8f8f8;
    height: 480px;
    margin-top: 4rem;
    width: 100%;
}
@media only screen and (max-width: 992px) {
    .map-bottom {
        margin-top: 3rem;
    }
}
@media only screen and (max-width: 576px) {
    .map-bottom {
        border-radius: 3px;
        height: 300px;
        margin: 15px;
        width: calc(100% - 30px);
        -webkit-mask-image: -webkit-radial-gradient(white, black);
    }
}
.map-sidebar {
    background-color: #f8f8f8;
    border-radius: 3px;
    height: 480px;
    margin-top: 2rem;
    width: 100%;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}
@media only screen and (max-width: 1200px) {
    .map-sidebar {
        height: 360px;
    }
}
@media only screen and (max-width: 576px) {
    .map-sidebar {
        height: 260px;
        margin-top: 15px;
        margin-bottom: 0.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .slider-about {
        margin-left: 15px;
        margin-right: 15px;
    }
}
.slider-about .swiper-slide {
    margin-top: 1.5rem;
    height: 420px;
}
@media only screen and (min-width: 576px) {
    .slider-about .swiper-slide {
        margin-top: 1.5rem;
        max-width: 510px;
    }
}
@media only screen and (min-width: 768px) {
    .slider-about .swiper-slide {
        margin-top: 1.8rem;
        height: 500px;
        max-width: 690px;
    }
}
@media only screen and (min-width: 992px) {
    .slider-about .swiper-slide {
        height: 620px;
        max-width: 930px;
    }
}
@media only screen and (min-width: 1200px) {
    .slider-about .swiper-slide {
        margin-top: 3rem;
        height: 680px;
        max-width: 1110px;
    }
}
@media only screen and (min-width: 1500px) {
    .slider-about .swiper-slide {
        height: 680px;
        max-width: 1210px;
    }
}
.item-approach {
    border-top: 1px solid rgba(169, 172, 181, 0.2);
    padding-top: 4rem;
    padding-bottom: 4rem;
    position: relative;
}
.item-approach::before {
    background-color: #fff;
    content: attr(data-approach);
    color: #626262;
    margin-top: -0.9rem;
    padding-left: 15px;
    padding-right: 1.5rem;
    position: absolute;
    top: 0;
    left: 0;
}
.item-approach::after {
    background-color: #626262;
    content: "";
    height: 1px;
    margin-top: -1px;
    padding-left: 15px;
    position: absolute;
    top: 0;
    left: 3rem;
    width: 4rem;
    z-index: -1;
}
@media only screen and (max-width: 1200px) {
    .item-approach {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}
@media only screen and (max-width: 576px) {
    .item-approach {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}
.item-approach__last {
    padding-bottom: 0;
}
.item-approach .paragraph:last-child {
    margin-bottom: 0;
}
.itemPerson {
    margin-bottom: 1.875rem;
    position: relative;
}
@media only screen and (max-width: 576px) {
    .itemPerson {
        margin-bottom: 1.5rem;
    }
}
.itemPerson__img-wrap {
    border-radius: 3px;
    height: 400px;
    margin-bottom: 0;
    overflow: hidden;
    position: relative;
}
@media only screen and (max-width: 1500px) {
    .itemPerson__img-wrap {
        height: 350px;
    }
}
@media only screen and (max-width: 1200px) {
    .itemPerson__img-wrap {
        height: 290px;
    }
}
@media only screen and (max-width: 992px) {
    .itemPerson__img-wrap {
        height: 330px;
    }
}
@media only screen and (max-width: 768px) {
    .itemPerson__img-wrap {
        height: 460px;
    }
}
@media only screen and (max-width: 576px) {
    .itemPerson__img-wrap {
        height: 360px;
    }
}
.itemPerson .cover {
    transform: scale(1);
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.8, 1);
}
.itemPerson:hover .cover {
    transform: scale(1.05);
}
.itemPerson__details {
    padding: 1.5rem 1.5rem 0;
}
@media only screen and (max-width: 1200px) {
    .itemPerson__details {
        padding: 1.5rem 0 0;
    }
}
@media only screen and (max-width: 576px) {
    .itemPerson__details {
        padding: 1rem 1rem 0;
    }
}
.itemPerson .title {
    margin-bottom: 0.6rem;
}
@media only screen and (max-width: 1200px) {
    .itemPerson .title:first-child {
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 1200px) {
    .itemPerson .title:last-child {
        font-size: 0.75rem;
        letter-spacing: 0.05rem;
    }
}
.itemNews {
    flex: 0 0 46%;
    margin-bottom: 1.875rem;
    position: relative;
    width: 46%;
}
@media only screen and (max-width: 1200px) {
    .itemNews {
        flex: 0 0 48%;
        width: 48%;
    }
}
@media only screen and (max-width: 992px) {
    .itemNews {
        flex: 0 0 100%;
        width: 100%;
    }
}
@media only screen and (max-width: 576px) {
    .itemNews {
        margin-bottom: 1rem;
    }
}
.itemNews__img-wrap {
    height: 360px;
    overflow: hidden;
    margin-bottom: 0;
    position: relative;
}
@media only screen and (max-width: 1200px) {
    .itemNews__img-wrap {
        height: 320px;
    }
}
@media only screen and (max-width: 992px) {
    .itemNews__img-wrap {
        height: 420px;
    }
}
@media only screen and (max-width: 768px) {
    .itemNews__img-wrap {
        height: 360px;
    }
}
@media only screen and (max-width: 576px) {
    .itemNews__img-wrap {
        border-radius: 3px;
        height: 300px;
        -webkit-mask-image: -webkit-radial-gradient(white, black);
    }
}
.itemNews .cover {
    transform: scale(1);
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.8, 1);
}
.itemNews:hover .cover {
    transform: scale(1.05);
}
.itemNews__details {
    padding: 1.5rem 1.5rem 0;
}
@media only screen and (max-width: 1200px) {
    .itemNews__details {
        padding: 1.5rem 1.2rem 0;
    }
}
@media only screen and (max-width: 576px) {
    .itemNews__details {
        padding: 1rem 0 0;
    }
}
.itemNews__link {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    text-decoration: none;
    z-index: 1;
}
.itemNews__date {
    background-color: #fff;
    color: #3c3c3c;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03rem;
    padding: 1.5rem 2.5rem 1.2rem 1.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 1;
}
.itemNews__date span {
    color: #626262;
}
@media only screen and (max-width: 1200px) {
    .itemNews__date {
        padding: 1.2rem 2rem 1rem 1.2rem;
    }
}
@media only screen and (max-width: 576px) {
    .itemNews__date {
        border-top-right-radius: 6px;
        font-size: 0.625rem;
        padding: 1rem 1rem 0.5rem 0;
    }
}
.post-header {
    margin-bottom: 2.5rem;
    position: relative;
    text-align: center;
}
.post-header::before {
    content: "";
    background-color: #3c3c3c;
    height: 1px;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 4rem;
}
@media only screen and (max-width: 576px) {
    .post-header {
        margin-bottom: 1.7rem;
    }
}
.post-main-image {
    height: 660px;
    margin-bottom: 3.5rem;
}
@media only screen and (max-width: 1200px) {
    .post-main-image {
        height: 600px;
    }
}
@media only screen and (max-width: 992px) {
    .post-main-image {
        height: 480px;
        margin-bottom: 2.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .post-main-image {
        height: 380px;
        margin-bottom: 2.5rem;
    }
}
@media only screen and (max-width: 576px) {
    .post-main-image {
        height: 300px;
        margin-bottom: 1.7rem;
    }
    .post-main-image img {
        border-radius: 3px;
    }
}
.post-footer {
    margin-top: 2rem;
    margin-bottom: 3rem;
    padding-bottom: 3rem;
    position: relative;
    text-align: center;
}
.post-footer::before {
    content: "";
    background-color: #626262;
    height: 1px;
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 4rem;
}
@media only screen and (max-width: 576px) {
    .post-footer {
        margin-top: 0.8rem;
        margin-bottom: 2rem;
        padding-bottom: 1.3rem;
    }
}
.share-post {
    position: relative;
    text-align: center;
}
.share-post a {
    color: #3c3c3c;
    display: inline-flex;
    margin: 0 1.5rem;
    text-decoration: none;
}
.share-post a:hover {
    color: #ebc283;
}
@media only screen and (max-width: 576px) {
    .share-post a {
        margin: 0 1rem;
    }
}
.share-post a span {
    font-size: 0.86rem;
    font-weight: 500;
    line-height: 1.3;
    padding-left: 0.8rem;
}
@media only screen and (max-width: 576px) {
    .share-post a span {
        display: none;
    }
}
.col-contact {
    margin-top: 1.5rem;
}
@media only screen and (max-width: 768px) {
    .col-contact {
        margin-top: 1rem;
    }
}
@media only screen and (max-width: 576px) {
    .col-contact {
        margin-top: 0.5rem;
    }
}
.reservation-page {
    display: -ms-flexbox;
    display: flex;
    min-height: 100vh;
    height: 100%;
}
.reservation-page__wrap {
    max-width: 540px;
    margin: auto;
}
.reservation-page__left {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    padding: 6vh 4rem;
    width: 42%;
}
@media only screen and (max-width: 1500px) {
    .reservation-page__left {
        width: 48%;
    }
}
@media only screen and (max-width: 1200px) {
    .reservation-page__left {
        width: 56%;
    }
}
@media only screen and (max-width: 992px) {
    .reservation-page__left {
        margin: 4vw;
        width: 100%;
    }
}
@media only screen and (max-width: 576px) {
    .reservation-page__left {
        margin: 0;
        padding: 28px 15px 15px;
    }
}
.reservation-page__right {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    flex: 0 0 58%;
    width: 58%;
}
@media only screen and (max-width: 1500px) {
    .reservation-page__right {
        flex: 0 0 52%;
        width: 52%;
    }
}
@media only screen and (max-width: 1200px) {
    .reservation-page__right {
        flex: 0 0 44%;
        width: 44%;
    }
}
@media only screen and (max-width: 992px) {
    .reservation-page__right {
        flex: auto;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: -1;
    }
}
@media only screen and (max-width: 576px) {
    .reservation-page__right {
        display: none;
    }
}
.reservation-card-confirm {
    border: 1px solid rgba(169, 172, 181, 0.2);
    border-radius: 3px;
    padding: 1.5rem;
    margin-bottom: 1rem;
    text-align: center;
}
@media only screen and (max-width: 576px) {
    .reservation-card-confirm {
        padding: 1rem;
        margin-bottom: 0.5rem;
    }
}
.reservation-card-confirm .line {
    background-color: #ebc283;
    margin: 1rem 1.6rem;
    height: 1px;
    width: 8%;
}
@media only screen and (max-width: 576px) {
    .reservation-card-confirm .line {
        margin: 0.7rem 1rem;
    }
}
.date-reserv__label {
    margin-bottom: 0.2rem;
}
.date-reserv__date {
    font-size: 1.125rem;
    font-weight: 600;
}
@media only screen and (max-width: 576px) {
    .date-reserv__date {
        font-size: 0.875rem;
    }
}
.total-reserv {
    border-top: 1px solid rgba(169, 172, 181, 0.2);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 1.4rem;
    padding-top: 1.5rem;
}
@media only screen and (max-width: 576px) {
    .total-reserv {
        font-size: 1.125rem;
        margin-top: 1rem;
        padding-top: 1rem;
    }
}
.mask-object {
    margin-bottom: 2rem;
    width: 30vw;
    transition: all 0.8s cubic-bezier(0.2, 1, 0.8, 1);
}
@media only screen and (max-width: 992px) {
    .mask-object {
        width: 50vw;
    }
}
@media only screen and (max-width: 576px) {
    .mask-object {
        margin-bottom: 1rem;
        width: 60vw;
    }
}
.bg-mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
}
.bg-mask__image {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    object-fit: cover;
    width: 100%;
    z-index: -1;
}
.badge {
    background-color: #304f85;
    border-radius: 3px;
    font-size: 0.875rem;
    font-weight: 600;
    padding: 0.875rem 1.125rem 0.6rem;
}
@media only screen and (max-width: 576px) {
    .badge {
        font-size: 0.75rem;
        font-weight: 500;
        padding: 0.4rem 0.8rem;
    }
}
.back-decor {
    color: #f8f8f8;
    font-size: 12vw;
    font-weight: 600;
    letter-spacing: -0.05rem;
    position: absolute;
}
.scroll-to {
    color: #fff;
    font-family: "URW Geometric", sans-serif;
    font-size: 0.75rem;
    padding-bottom: 50px;
    position: absolute;
    bottom: 8rem;
    right: 3.5rem;
    writing-mode: vertical-rl;
    z-index: 2;
}
@media only screen and (max-width: 1200px) {
    .scroll-to {
        right: 2rem;
    }
}
@media only screen and (max-width: 992px) {
    .scroll-to {
        bottom: 13.5rem;
    }
}
@media only screen and (max-width: 768px) {
    .scroll-to {
        bottom: 2rem;
    }
}
@media only screen and (max-width: 576px) {
    .scroll-to {
        padding-bottom: 40px;
        right: 15px;
        bottom: 80px;
    }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .scroll-to {
        writing-mode: bt-rl;
    }
}
.scroll-to__line {
    display: block;
    height: 30px;
    margin: auto;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    overflow: hidden;
    width: 1px;
}
.scroll-to__line::before {
    content: "";
    background-color: #fff;
    height: 100%;
    position: absolute;
    bottom: -100%;
    width: 100%;
    animation: scroll-to 1s ease-in-out infinite;
}
@media only screen and (max-width: 576px) {
    .scroll-to__line {
        height: 20px;
    }
}
@keyframes scroll-to {
    0% {
        bottom: -100%;
    }
    100% {
        bottom: 100%;
    }
}
.js-lines {
    overflow: hidden;
}
.js-lines div {
    overflow: hidden;
}
.js-lines .tl-line {
    padding-bottom: 0.25rem;
}
.js-text-wave {
    opacity: 0;
}
.js-text-wave.complete {
    opacity: 1;
}
.js-text-wave div {
    display: inline-block;
    overflow: hidden;
}
.js-text-wave div span {
    display: inline-block;
    transform: translate3d(0, 100%, 0);
    transition: transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.js-text-wave.complete div span {
    transform: translate3d(0, 0, 0);
}
.down-up {
    display: block;
    margin-top: -5px;
    overflow: hidden;
    position: relative;
}
.down-up span {
    display: block;
    transform: translate3d(0, 100%, 0);
    transition: opacity, transform 0.75s cubic-bezier(0.8, 0, 0.2, 1);
}
.down-up.animated span {
    opacity: 1;
    transform: translate3d(0px, 0%, 0px);
}
.js-parallax {
    position: relative;
    z-index: 0;
}
.js-parallax-img {
    position: relative;
    z-index: 0;
}
.js-parallax-img .jarallax-img {
    position: absolute;
    object-fit: cover;
    font-family: "object-fit: cover;";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.slash {
    position: relative;
}
.slash::before {
    content: "";
    background-color: rgba(169, 172, 181, 0.3);
    height: 50px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    transform: rotate(30deg);
    transform-origin: center;
    z-index: 1;
}
.progressBar {
    margin-bottom: 1.5rem;
}
@media only screen and (max-width: 576px) {
    .progressBar {
        margin-bottom: 1rem;
    }
}
.progressBar__wrap {
    background-color: #f8f8f8;
    border-radius: 2px;
    height: 4px;
    overflow: hidden;
}
.progressBar__current {
    background-color: #ebc283;
    border-radius: 2px;
    height: 100%;
    transition: width 0.75s cubic-bezier(0.8, 0, 0.2, 1);
    width: 0;
}
.progressBar__label {
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    padding-bottom: 0.5rem;
}
@media only screen and (max-width: 576px) {
    .progressBar__label {
        font-size: 0.875rem;
        padding-bottom: 0.3rem;
    }
}
.progressBar__label span {
    font-weight: 600;
}
.page-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    color: #626262;
    background-color: transparent;
    border-radius: 50% !important;
    border: 0;
    font-size: 1rem;
    line-height: 1;
    padding: 0;
    margin: 0 0.3rem;
    height: 2.5rem;
    width: 2.5rem;
}
.page-link:hover {
    background-color: inherit;
    color: #3c3c3c;
}
.page-link:focus {
    box-shadow: none;
    outline: none;
}
@media only screen and (max-width: 576px) {
    .page-link {
        font-size: 0.875rem;
        margin: 0 0.2rem;
        height: 1.5rem;
        width: 1.5rem;
    }
}
.page-link.current {
    color: #ebc283;
}
.page-link__control {
    border: 1px solid rgba(114, 128, 157, 0.2);
    color: rgba(114, 128, 157, 0.5);
    margin: 0;
}
.page-link__control:hover {
    color: #3c3c3c;
    border: 1px solid rgba(114, 128, 157, 0);
    border-radius: 30px;
    box-shadow: 0 0 64px rgba(44, 63, 88, 0.05), 0 0 32px rgba(44, 63, 88, 0.05), 0 16px 16px rgba(44, 63, 88, 0.03), 0 8px 8px rgba(44, 63, 88, 0.03), 0 4px 4px rgba(44, 63, 88, 0.03), 0 2px 2px rgba(44, 63, 88, 0.04);
}
.scroll-line {
    background: #ebc283;
    height: 3px;
    position: fixed;
    top: 0;
    width: 0;
    z-index: 1;
}
#marker {
    background-image: url(../img/ui/icon-location.svg);
    background-size: cover;
    width: 64px;
    height: 64px;
    cursor: pointer;
}
@media only screen and (max-width: 576px) {
    #marker {
        width: 40px;
        height: 40px;
    }
}
