body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

code {
    font-family: source-code-pro, Menlo, Monaco, Consolas, Courier New, monospace
}

body,
html {
    height: 100%
}

.hotel-booking {
    padding: 0 29px;
    max-width: 1160px;
    margin: 0 auto;
    min-height: 90px
}

.app-modal__container {
    width: 100%;
    height: 100%;
    overflow: scroll;
    margin: 0 auto;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100001;
    background-color: rgba(1, 15, 42, .9);
    color: #000
}

.app-modal__container .app-form__wrapper {
    background-color: #fff;
    width: 640px;
    margin: 5% auto;
    position: relative
}

.app-modal__container .app-form__wrapper .app-form {
    width: 80%
}

.app-modal__container .app-form__wrapper .heading {
    padding: 20px 0
}

.app-modal__container .app-form__wrapper .heading .app-heading-line-text {
    margin: 0 1em
}

.app-modal__container .app-form__wrapper .app-form__container {
    padding-top: 0;
    margin-top: 20px;
    padding-bottom: 10px
}

.app-modal__container .app-form__wrapper .app-form__container .app-form__group_actions {
    margin: 20px 0
}

.app-modal__container .app-form__wrapper .app-content-page {
    padding: 0 20px
}

.app-modal__container .app-form__wrapper .close {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 2em;
    font-weight: 100;
    color: #b07f2e;
    cursor: pointer
}

@media only screen and (max-width:640px) {
    .app-modal__container .app-form__wrapper {
        width: 100%
    }

    .app-modal__container .app-form__wrapper .app-form {
        width: auto;
        padding: 0 25px
    }
}

.app-header {
    background: rgba(1, 15, 42, .75) no-repeat 50%;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    min-height: 80vh
}

.app-header .app-header-top {
    width: 100%;
    flex: 0 0 auto;
    background: rgba(1, 15, 42, .75);
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    min-height: 100px
}

.app-header .app-header-logo {
    line-height: 0
}

.app-header .app-logo {
    height: 100px;
    margin: 0 15px 0 65px;
    pointer-events: none;
    flex: 0 0 auto
}

.app-header .app-header-title {
    flex: 8 1 auto;
    margin: 19px 0 19px 10%;
    text-shadow: 0 -1px 2px #030000
}

.app-header .app-header-title h1 {
    text-transform: uppercase;
    letter-spacing: .3em;
    font-weight: 300;
    font-size: 1.2em;
    margin: 0 0 .8em
}

.app-header .app-header-title-text {
    font-weight: 300;
    letter-spacing: -.05em;
    line-height: 1.4em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.app-header .app-header-line-text {
    white-space: nowrap
}

.app-header .app-header-line-left,
.app-header .app-header-line-right {
    width: 15%;
    border-bottom: 1px solid #b07f2e;
    margin: 0 .6em
}

.app-header .app-header__toggle {
    flex: 0 0 36px;
    height: 36px;
    width: 36px;
    flex-direction: column;
    justify-content: space-around;
    cursor: pointer;
    display: none;
    margin: 0
}

.app-header .app-header__toggle .app-header__toggle-stick {
    background-color: #b07f2e;
    height: 5px;
    border-radius: 5px;
    width: 100%
}

.app-header .app-header__toggle_open .app-header__toggle-stick {
    background-color: #b07f2e;
    opacity: .5
}

.app-header .app-header-right {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-self: stretch;
    margin: 12px 50px 12px 0;
    text-align: right;
    flex: 1 0 10%
}

.app-header .app-header-lang {
    flex: 1 1 auto;
    text-transform: uppercase;
    font-size: .7em;
    font-weight: 500;
    letter-spacing: .2em;
    white-space: nowrap;
    position: relative;
    padding-top: 11px
}

.app-header .app-header__lang {
    cursor: pointer
}

.app-header .app-header__lang img {
    height: 13px;
    margin-bottom: -3px
}

.app-header .app-header__lang_open {
    opacity: .65
}

.app-header .app-header-lang a {
    text-decoration: none;
    color: inherit
}

.app-header .app-header-lang select {
    display: inline-block;
    font-size: 1em
}

.app-header .app-header__lang_open {
    opacity: .85
}

.app-header .app-header-login {
    flex: 1 1 auto;
    padding-top: 11px;
    position: relative
}

.app-header .app-header-login a {
    line-height: 2em
}

.app-header .app-header-login a,
.app-header .login {
    display: block;
    text-decoration: none;
    color: inherit;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: .2em;
    white-space: nowrap
}

.app-header .app-header-menu {
    flex: 1 1 auto;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    align-content: stretch;
    padding: 1.5em 0
}

.app-header .app-header-menu-items {
    list-style: none;
    text-align: left;
    margin: 0;
    padding: 0
}

.app-header .app-header-menu-items li {
    font-size: 12px;
    line-height: 27px;
    padding: 0 1em 0 50px;
    margin-bottom: 1px;
    text-transform: uppercase
}

.app-header .app-header-menu-items li:hover {
    outline-color: #010f2a;
    background-color: rgba(14, 93, 178, .5)
}

.app-header .app-header-menu-items li a {
    text-decoration: none;
    color: inherit
}

.app-header .app-header-menu-container {
    background-color: rgba(1, 15, 42, .75);
    padding: 38px 0;
    width: 297px;
    position: relative
}

.app-header .app-header-menu-container h1 {
    text-transform: uppercase;
    font-size: 1.7em;
    font-weight: 300;
    line-height: 1.4em;
    text-align: left;
    margin: 0 0 .6em;
    letter-spacing: .1em
}

.app-header .app-header-map-container {
    width: 560px;
    height: 400px;
    overflow: hidden
}

.app-header .app-header-scores-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 0 1 auto;
    flex-wrap: wrap;
    margin: 0 50px
}

.app-header .app-header-score-container {
    background: rgba(1, 15, 42, .75);
    padding: 0;
    margin: 1em auto
}

.app-header .app-header-booking-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid #b07f2e;
    font-size: 14px
}

.app-header .app-header-booking-container img {
    width: 14.625em
}

.app-header .app-header-booking-block {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    background: #fff;
    padding: .625em;
    width: 13.375em
}

.app-header .app-header-booking-logo {
    background: #003580;
    width: 14.625em;
    padding: .3125em 0 0
}

.app-header .app-header-booking-logo img {
    height: 1.5625em
}

.app-header .app-header-booking-score__badge {
    background: #003580;
    color: #fff;
    display: flex;
    align-items: center;
    font-size: 1em;
    font-weight: 500;
    justify-content: center;
    vertical-align: baseline;
    border-radius: .375em .375em .375em 0;
    height: 2em;
    width: 2em
}

.app-header .app-header-booking-score__content {
    margin-left: 0;
    margin-right: .5em;
    text-align: right
}

.app-header .app-header-booking-score__title {
    color: #003580;
    font-size: 1em;
    font-weight: 500;
    line-height: 1
}

.app-header .app-header-booking-score__text {
    color: #707070;
    font-size: .75em;
    font-weight: 500;
    line-height: 1;
    margin-top: .25em
}

.app-header .app-header-tripadvisor-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid #b07f2e;
    font-size: 14px;
    height: 5.4375em;
    overflow: hidden
}

.app-header .app-header-tripadvisor-container img {
    width: 14.625em
}

.app-header .app-header-tripadvisor-logo {
    background: #00a680;
    width: 14.625em;
    padding: 0
}

.app-header .app-header-form {
    flex: 0 0 auto;
    width: 100%;
    background: rgba(1, 15, 42, .85)
}

.app-header .app-header-form form {
    margin: 1em
}

.app-header .app-header-lang-wrap {
    z-index: 1;
    border-radius: 3px;
    overflow: hidden;
    background-color: #2a467d;
    position: absolute;
    padding: 8px;
    margin-top: 3px;
    text-align: right;
    right: 0
}

.app-header .app-header-language {
    cursor: pointer;
    line-height: 2em
}

.app-header .app-header-language img {
    height: 12px;
    margin-bottom: -3px
}

.app-header .app-header-auth {
    position: absolute;
    right: 50px;
    background: #ecebeb;
    padding: 17px 22px;
    box-shadow: 1px 3px 8px #ccc;
    color: #021843;
    z-index: 1
}

.app-header .top {
    bottom: 27px
}

.app-header .top,
.app-header__back {
    position: fixed;
    font-size: 48px;
    font-weight: 100;
    color: #b07f2e;
    cursor: pointer;
    z-index: 100
}

.app-header__back {
    display: none;
    top: 5px;
    left: 10px
}

.app-header__callback {
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: .2em;
    font-size: .7em;
    line-height: 1.2em;
    text-shadow: #232635 1px 1px 1px;
    white-space: nowrap
}

@media only screen and (max-width:640px) {
    .app-header .app-logo {
        display: none
    }

    .app-header .app-header-title {
        width: 640px;
        margin: 18px 0 6px
    }

    .app-header .app-header-right {
        margin: 6px 24px;
            flex-direction: row;
        }


    .app-header .app-header-right .app-header-lang,
    .app-header .app-header-right .app-header-login {
        padding: 0;
        margin: 6px 0
    }

    .app-header .app-header-right .app-header-login {
        max-width: 235px
    }

    .app-header .app-header-menu {
        padding: 0;
        flex-direction: column;
        align-items: stretch
    }

    .app-header .app-header-menu-container {
        width: 100%;
        padding: 0 0 15px
    }

    .app-header .app-header-login-wrapper {
        align-items: center
    }

    .app-header .app-header-login-container {
        flex-direction: row;
        flex-wrap: wrap
    }

    .app-header .app-header-scores-container {
        flex-direction: row;
        margin: 0;
        flex-grow: 1;
        align-items: flex-end
    }

    .app-header .app-header-scores-container .app-header-booking-container,
    .app-header .app-header-scores-container .app-header-tripadvisor-container {
        font-size: 10px
    }

    .app-header .app-header-score-container {
        margin: 5px auto
    }

    .app-header .app-header__toggle {
        display: flex
    }

    .app-header__back {
        display: block
    }
}

.app-footer {
    flex: 0 0 auto;
    flex-wrap: wrap;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    background: #010f2a;
    color: #b07f2e;
    text-align: left;
    padding: 0 35px
}

.app-footer__phone {
    font-size: 22px;
    font-weight: 100;
    line-height: 31px
}

.app-footer__email,
.app-footer__phone {
    text-decoration: none;
    color: #b07f2e;
    display: block;
    white-space: nowrap
}

.app-footer__email {
    font-size: 12px;
    font-weight: 300;
    line-height: 17px
}

.app-footer__social {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

.app-footer__social a,
.app-footer__social span {
    display: block;
    font-size: 30px;
    margin: 10px 10px 10px 0;
    color: #b07f2e
}

.app-footer-menu {
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start
}

.app-footer-menu h3 {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase
}

.app-footer-menu-items {
    list-style: none;
    text-align: left;
    margin: 0;
    padding: 0
}

.app-footer-menu-items li {
    font-size: 10px;
    line-height: 23px;
    color: #b07f2e
}

.app-footer-menu-items li a {
    text-decoration: none;
    font-size: 11px;
    line-height: 23px;
    color: #b07f2e;
    text-transform: uppercase;
    letter-spacing: .1px;
    border-bottom: 1px solid transparent;
    margin-left: 5px
}

.app-footer-menu-items li a:hover {
    border-color: #b07f2e
}

.app-footer-menu-container {
    margin: 25px;
    padding: 20px
}

.app-footer__address {
    flex: 1 0 100%;
    padding-bottom: 100px;
    margin-top: 20px;
    text-align: center;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 15px
}

@media only screen and (max-width:1040px) {
    footer {
        display: block !important
    }

    footer .app-footer-menu-container {
        margin: 0 auto;
        width: 50%
    }
}

.app-promo__container {
    position: fixed;
    bottom: 63px;
    right: 3%;
    max-width: 350px;
    max-height: 80%;
    z-index: 1000;
    cursor: pointer;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .498039)
}

.app-promo__container .app-promo__img {
    margin-top: 24px
}

.app-promo__container .app-promo__img img {
    width: 100%
}

.app-promo__container .app-promo__body {
    padding: 15px;
    background-color: #fff;
    border: 1px solid #b07f2e
}

.app-promo__container .app-promo__body .app-promo__content {
    padding: 0 10px
}

.app-promo__container .app-promo__body .app-promo__content p {
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    text-align: left;
    line-height: 1.8em
}

.app-promo__container .app-promo__block-actions {
    margin-top: 17px;
    padding-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: space-evenly
}

.app-promo__container .app-promo__close {
    position: absolute;
    top: 2px;
    right: 15px;
    font-size: 2em;
    font-weight: 100;
    color: #b07f2e;
    cursor: pointer
}

.app-form__container,
.app-login {
    background-color: #fff
}

.app-form__container {
    padding: 30px 0;
    font-size: 14px;
    line-height: 20px
}

.app-form {
    width: 50%;
    margin: auto
}

@media only screen and (max-width:1040px) {
    .app-form {
        width: 60%
    }
}

@media only screen and (max-width:768px) {
    .app-form {
        width: 80%
    }
}

@media only screen and (max-width:640px) {
    .app-form {
        width: 95%
    }
}

.app-form__group {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 6px
}

.app-form__group,
.app-form__group_actions {
    justify-content: center
}

.app-form__group_actions button {
    margin: 0
}

.app-form__label {
    flex: 0 0 30%;
    text-align: left;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: .1px;
    line-height: 23px;
    padding-right: 5px
}

.app-form__input {
    flex: 0 0 70%
}

.app-form__input .react-datepicker-wrapper,
.app-form__input .react-datepicker-wrapper .react-datepicker__input-container {
    width: 100%
}

.app-form__input input[type=date],
.app-form__input input[type=email],
.app-form__input input[type=password],
.app-form__input input[type=tel],
.app-form__input input[type=text],
.app-form__input select {
    border: 1px solid #ccc;
    box-shadow: none;
    border-radius: 0;
    width: 100%;
    display: block;
    box-sizing: border-box;
    height: 31px !important;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.4em
}

.app-form__input input[type=checkbox] {
    margin: 6px 12px
}

.app-form__input textarea {
    width: 100%;
    box-sizing: border-box;
    font-size: 14px;
    padding: 6px 12px;
    border: 1px solid #ccc;
    box-shadow: none;
    border-radius: 0
}

.app-form__input .app-form__error {
    display: block;
    color: #f66;
    text-align: left
}

.app-register {
    background-color: #fff
}

.app-register .app-form__container {
    padding-top: 0
}

.react-autosuggest__suggestions-container {
    position: absolute;
    background: #ecebeb;
    padding: 12px 22px;
    box-shadow: 1px 3px 8px #ccc;
    color: #021843;
    z-index: 1;
    display: none
}

.react-autosuggest__suggestions-container--open {
    display: block
}

.react-autosuggest__suggestions-container ul {
    list-style: none;
    text-align: left;
    margin: 0;
    padding: 0;
    line-height: 21px
}

.react-autosuggest__suggestions-container ul li {
    cursor: pointer
}

.app-account {
    min-height: 300px;
    padding: 15px;
    background-color: #fff
}

.home-block-wrapper {
    margin: 15px 20px;
    background-color: #fff
}

.home-block-wrapper .text-heading {
    font-size: 18px;
    color: #010f2a;
    text-transform: uppercase;
    letter-spacing: 5px;
    margin-bottom: 24px;
    text-align: left
}

.home-block-wrapper .slider-block p,
.home-block-wrapper .special-cards p {
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    text-align: left;
    line-height: 1.8;
    padding-right: 25px
}

.home-block-wrapper .home-content-block {
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    background: hsla(0, 0%, 100%, .9)
}

.home-block-wrapper .home-content-block .home-map-container {
    flex: 1 0 50%;
    min-height: 400px;
    max-width: 50%
}

.home-block-wrapper .home-content-block .home-map-container iframe {
    border: none
}

.home-block-wrapper .home-block-text {
    margin: 0 100px 13px 70px;
    flex: 1 1 50%
}

.home-block-wrapper .home-block-text p {
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    text-align: left;
    line-height: 1.8em
}

.home-block-wrapper .home-block-text p a {
    color: #010f2a
}

@media only screen and (max-width:1125px) {
    .home-block-wrapper .home-content-block {
        align-items: stretch;
        justify-content: center;
        flex-direction: column
    }

    .home-block-wrapper .home-content-block .home-map-container {
        height: 400px;
        max-width: 100%
    }
}

@media only screen and (max-width:640px) {
    .home-block-wrapper .home-block-text {
        margin: 0 10px;
        text-align: center
    }

    .home-block-wrapper .home-block-text p {
        text-align: center
    }
}

.special-cards-wrapper {
    background-color: #f3f3f3;
    overflow: hidden
}

.special-cards-wrapper .heading {
    padding-bottom: 0;
    margin-bottom: 30px
}

.special-cards-wrapper .special-cards .card {
    width: 85%;
    background-color: #fff;
    margin: 15px auto 30px;
    text-align: left;
    display: flex;
    align-items: flex-start
}

.special-cards-wrapper .special-cards .card .card-img {
    line-height: 0
}

.special-cards-wrapper .special-cards .card .details-text,
.special-cards-wrapper .special-cards .card span {
    width: 100%;
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    line-height: 1.8
}

.special-cards-wrapper .special-cards .card .title {
    font-size: 22px;
    font-style: italic;
    color: #010f2a;
    margin: 10px 0 5px;
    /* width: 95% */
}

.special-cards-wrapper .special-cards .card .title a {
    text-decoration: none;
    color: #010f2a
}

.special-cards-wrapper .special-cards .card .info-wrapper {
    width: 55%;
    flex-grow: 1
}

.special-cards-wrapper .special-cards .card .info-wrapper .card-content {
    padding: 5px 20px
}

.special-cards-wrapper .special-cards .card .info-wrapper .card-content .card-text {
    display: flex;
    flex-direction: row;
    align-items: baseline
}

.special-cards-wrapper .special-cards .card .info-wrapper .card-content .text-valid {
    font-size: 11px;
    font-weight: 300
}

.special-cards-wrapper .special-cards .card .info-wrapper span {
    white-space: nowrap
}

.special-cards-wrapper .special-cards .card .info-wrapper span .info {
    white-space: normal
}

.special-cards-wrapper .special-cards .card .value {
    width: 25%
}

.special-cards-wrapper .special-cards .card .value div {
    font-size: 14px;
    font-style: italic;
    padding: 6px;
    width: 50%;
    vertical-align: middle;
    display: inline-block;
    line-height: 1
}

.special-cards-wrapper .special-cards .card .value span {
    font-style: italic;
    font-family: KingsCaslon, Arial, sans-serif;
    display: inline-block;
    width: 50%;
    vertical-align: middle;
    line-height: 1;
    text-align: center;
    color: #010f2a;
    font-size: 25px
}

.special-cards-wrapper .special-cards .card:last-child {
    margin-bottom: 0
}

@media only screen and (max-width:768px) {
    .special-cards-wrapper .special-cards .card {
        display: block;
        padding: 10px 10px 0
    }

    .special-cards-wrapper .special-cards .card .value span {
        font-size: 18px
    }

    .special-cards-wrapper .special-cards .card .card-img {
        /* max-height: 168px; */
        overflow: hidden;
        display: flex;
        align-items: center
    }

    .special-cards-wrapper .special-cards .card img {
        width: 100%
    }

    .special-cards-wrapper .special-cards .card .info-wrapper {
        width: 90%
    }
}

@media only screen and (max-width:1070px) {
    .special-cards-wrapper .special-cards .card .value span {
        font-size: 18px
    }
}

@media only screen and (max-width:1040px) {
    .special-cards .card .value {
        width: 65% !important;
        text-align: center
    }
}

.slider-block p,
.special-cards p {
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    text-align: left;
    line-height: 1.8;
    padding-right: 25px
}

.app-content .slider-block {
    margin-top: -10px
}

.app-content-slider__block-actions {
    margin-top: 17px;
    padding-bottom: 10px;
    display: flex;
    flex-wrap: wrap
}

.app-content-slider__block-actions_right {
    text-align: right;
    flex-direction: row-reverse
}

.app-content-slider__block-actions_distribute {
    text-align: center;
    justify-content: space-evenly
}

.ideas .heading,
.photo-galery .heading {
    margin-top: 0
}

.photo-galery {
    background-color: #f3f3f3
}

.photo-galery .v-slick-slider {
    overflow: hidden;
    max-height: 540px;
    display: flex;
    align-items: center;
    line-height: 0
}

.photo-galery .v-slick-slider .app-slider__left,
.photo-galery .v-slick-slider .app-slider__right {
    opacity: 1
}

.ideas .v-slick-slider {
    position: static;
    margin: 0 auto;
    width: 85%
}

@media only screen and (max-width:460px) {
    .photo-galery .v-slick-slider {
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content
    }

    .app-content-slider__block-actions {
        flex-direction: column;
        text-align: center
    }
}

.ideas {
    background-color: #f3f3f3
}

.ideas .special-cards .card {
    background-color: #fff;
    margin: 0 auto;
    text-align: left;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

.ideas .special-cards .card .card-img {
    width: 40%;
    min-width: 405px;
    flex-grow: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    max-height: 300px
}

.ideas .special-cards .card .card-img img {
    width: 100%
}

.ideas .special-cards .card p {
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    text-align: left;
    line-height: 1.8;
    padding-right: 25px
}

.ideas .special-cards .card .title {
    font-size: 22px;
    font-style: italic;
    color: #010f2a;
    margin-top: 10px;
    width: 95%
}

.ideas .special-cards .card .info-wrapper {
    width: 55%;
    flex-grow: 1
}

.ideas .special-cards .card .info-wrapper .card-content {
    padding: 5px 20px
}

.ideas .special-cards .card .value {
    width: 15%;
    margin-top: 2%
}

@media only screen and (max-width:460px) {
    .ideas .special-cards .card {
        display: block
    }

    .ideas .special-cards .card .card-img {
        max-height: 150px
    }

    .ideas .special-cards .card .info-wrapper,
    .ideas .special-cards .card img {
        width: 100%
    }
}

.heading .app-heading-title-text {
    font-weight: 300;
    letter-spacing: -.05em;
    line-height: 1.4em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: .7em;
    font-size: 1.2em;
    font-style: italic
}

.heading .app-heading-line-text {
    margin: 0 2em
}

.heading .app-heading-line-text a {
    color: inherit;
    text-decoration: none
}

.heading .app-heading-line-left,
.heading .app-heading-line-right {
    width: 10%;
    border-bottom: 1px solid #b07f2e;
    margin: 0
}

.names-slider {
    margin: 0 -20px 20px;
    display: flex;
    justify-content: center
}

.names-slider .v-slick-list {
    min-width: 540px
}

.names-slider .v-slick-list .v-slick-track {
    display: flex;
    align-items: center
}

.names-slider .names-slide {
    cursor: pointer;
    outline: none !important
}

.names-slider .names-slide span {
    width: 80%;
    display: block;
    margin: 0 auto;
    text-align: center;
    line-height: 24px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 4px;
    text-transform: uppercase
}

.names-slider .v-slick-slide-group {
    min-width: 180px
}

.active.center .names-slider .names-slide span {
    border-bottom: 1px solid #b07f2e
}

.app-slider {
    position: relative;
    margin: 0
}

.app-slider__left,
.app-slider__right {
    position: absolute;
    top: 50%;
    font-size: 3em;
    font-weight: 100;
    color: rgba(25, 25, 25, .4);
    margin: -.5em 0 0;
    padding: 0;
    cursor: pointer;
    z-index: 1;
    opacity: 0
}

@media only screen and (max-width:640px) {

    .app-slider__left,
    .app-slider__right {
        opacity: 1
    }
}

.app-slider__left {
    left: 12px
}

.app-slider__right {
    right: 12px
}

.app-slider:hover .app-slider__left,
.app-slider:hover .app-slider__right {
    opacity: 1;
    -webkit-transition: opacity .5s;
    transition: opacity .5s
}

.app-slider .v-slick-slider .v-slick-list,
.app-slider .v-slick-slider .v-slick-track {
    width: 100%
}

.app-content-slider__block {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
    background: #fff;
    overflow: hidden
}

.app-content-slider__block-text-wrapper {
    flex: 1 0 50%
}

.app-content-slider__block-text {
    text-align: left;
    margin: 60px 70px 30px
}

.app-content-slider__block-text h3 {
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 400;
    font-size: 1.2em
}

.app-content-slider__block-text h3 a {
    text-decoration: none;
    color: inherit
}

.app-content-slider__block-img {
    flex: 1 0 50%;
    width: 50%;
    display: flex;
    align-items: center;
    overflow: hidden
}

.app-content-slider__block-img img {
    width: 100%
}

.app-content-slider .v-slick-slider {
    overflow: hidden
}

@media only screen and (max-width:1040px) {
    .app-content-slider__block {
        flex-wrap: wrap
    }

    .app-content-slider__block-img {
        width: 100%;
        flex-basis: 100%;
        max-height: 200px
    }

    .app-content-slider__block-text {
        text-align: left;
        margin: 15px 35px 2px
    }
}

.map__container {
    height: 100%
}

.map__container_static {
    max-height: 450px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 100%
}

.map__container_static img {
    width: 200%
}

.hotel-location {
    background-color: #fff !important
}

.hotel-location-map-container {
    margin: 0;
    padding: 15px 20px 0;
    overflow: hidden
}

.hotel-location-map-container iframe {
    width: 100%;
    border: none
}

.hotel-location .container {
    background-color: #fff;
    padding: 0 40px
}

.hotel-location .container .editor-content {
    padding: 20px 20px 0;
    text-align: left;
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a
}

.hotel-location .container .editor-content h2 {
    font-size: 21px;
    margin: 19px 0;
    letter-spacing: 3px;
    text-align: left;
    font-weight: 600
}

.hotel-location .container .editor-content p {
    letter-spacing: .1px;
    font-size: 13px;
    line-height: 1.8;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px
}

.hotel-location .about-section {
    background: #fff;
    padding: 0 40px;
    margin-bottom: 30px
}

.hotel-location .about-section .container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    text-align: left
}

.hotel-location .about-section .contact-detail .address {
    text-align: left
}

.hotel-location .about-section .contact-detail table {
    font-size: 13px
}

.hotel-location .about-section .contact-detail table td {
    padding-right: 6px;
    vertical-align: top
}

.hotel-location .about-section .contact-detail table td:first-child {
    white-space: nowrap;
    padding-right: 11px
}

.hotel-location .about-section .contact-detail table td a {
    text-decoration: none;
    color: inherit
}

.hotel-location .about-section .contact-block {
    padding: 0 20px;
    text-align: left
}

.hotel-location .about-section .contact-block p {
    line-height: 1.8;
    margin: 0 0 10px;
    font-size: 13px
}

.hotel-location .about-section .title {
    font-size: 21px;
    margin: 19px 0;
    letter-spacing: 3px;
    text-align: left;
    font-weight: 600
}

@media only screen and (max-width:640px) {
    .hotel-location .about-section {
        padding: 0 10px
    }
}

.hotel-location table {
    text-align: left
}

.rooms .sub-child-title {
    font-size: 10px;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: 5px;
    color: #010f2a;
    text-transform: uppercase;
    margin-top: 18px
}

.rooms .categories-wrapper {
    padding: 15px 20px;
    background-color: #fff
}

.rooms .categories-wrapper .app-slider__left,
.rooms .categories-wrapper .app-slider__right {
    top: 150px
}

.rooms .categories-wrapper .special-cards .card {
    background-color: #fff;
    margin: 0 auto;
    text-align: left;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap
}

.rooms .categories-wrapper .special-cards .card .card-img {
    width: 40%;
    flex-grow: 1;
    min-width: 300px;
    overflow: hidden;
    display: flex;
    align-items: center
}

@media only screen and (max-width:768px) {
    .rooms .categories-wrapper .special-cards .card .card-img {
        max-height: 200px
    }
}

.rooms .categories-wrapper .special-cards .card .card-img img {
    width: 100%
}

.rooms .categories-wrapper .special-cards .card p {
    letter-spacing: .1px;
    font-size: 13px;
    color: #010f2a;
    word-wrap: break-word;
    margin-bottom: 13px;
    margin-top: 10px;
    text-align: left;
    line-height: 1.8;
    padding-right: 25px
}

.rooms .categories-wrapper .special-cards .card .title {
    font-size: 22px;
    font-style: italic;
    color: #010f2a;
    margin-top: 10px;
    width: 95%
}

.rooms .categories-wrapper .special-cards .card .info-wrapper {
    width: 55%;
    padding-left: 20px;
    flex-grow: 1
}

.rooms .categories-wrapper .special-cards .card .value {
    width: 15%;
    margin-top: 2%
}

.rooms .card-details {
    color: #010f2a;
    padding: 0 15%;
    text-align: left;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: .1px;
    line-height: 23px;
    word-wrap: break-word
}

.rooms .card-details,
.rooms .card-details ul {
    display: flex;
    flex-wrap: wrap
}

.rooms .card-details ul li {
    flex: 1 0 42%;
    padding: 0 12px;
    min-width: 150px;
    font-size: 12px;
    line-height: 16px
}

.rooms .card-details div {
    flex: 1 1 33%;
    min-width: 250px
}

.rooms .card-details h3 {
    text-align: center;
    width: 100%
}

.rooms .gallery {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 101;
    background-color: rgba(1, 15, 42, .9);
    display: flex;
    flex-direction: column;
    justify-content: center
}

.rooms .gallery .app-content-slider img {
    width: 60% !important;
    padding: 80px
}

.rooms .gallery .app-content-slider__left,
.rooms .gallery .app-content-slider__right {
    color: #b07f2e
}

.rooms .gallery .close {
    position: absolute;
    top: 5px;
    right: 10px;
    font-size: 3em;
    font-weight: 100;
    color: #b07f2e;
    cursor: pointer
}

@media only screen and (max-width:768px) {
    .rooms .card-details {
        padding: 0
    }
}

.rooms .app-content-page__value span {
    font-size: 1.4em;
    color: #b07f2e
}

.rooms .app-content-page {
    padding-bottom: 0
}

.rooms .app-content-page .heading {
    padding: 0
}

.special-offers {
    padding-bottom: 30px
}

.special-offers .card-content .card-text>div:first-child {
    flex-grow: 1
}

.special-offers .card-content .value {
    display: flex;
    flex-direction: column;
    align-content: end;
    align-items: flex-end
}

.app-content-page {
    color: #010f2a;
    margin: 0;
    padding: 15px 20px;
    background: #fff
}

.app-content-page__wrapper .special-cards-wrapper {
    padding-bottom: 30px
}

.app-content-page__container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap-reverse;
    overflow: hidden
}

.app-content-page__image {
    flex: 1 0 50%;
    min-width: 512px
}

.app-content-page__image img {
    width: 100%
}

.app-content-page__text {
    flex: 1 0 50%;
    padding: 0;
    overflow-x: hidden
}

.app-content-page__description {
    padding: 0 70px;
    text-align: justify;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: .1px;
    line-height: 23px;
    word-wrap: break-word
}

.app-content-page__description p {
    margin-top: 0
}

.app-content-page__block-actions {
    margin-top: 17px;
    padding-bottom: 10px;
    display: flex;
    flex-wrap: wrap
}

.app-content-page__block-actions_right {
    text-align: right;
    flex-direction: row-reverse
}

@media only screen and (max-width:640px) {
    .app-content-page__description {
        padding: 0 5px
    }

    .app-content-page__text {
        padding-top: 10px
    }

    .app-content-page__image {
        /* height: 150px; */
        overflow: hidden
    }

    .app-content-page__image img {
        margin-top: -50px
    }
}

.photo-gallery .categories-wrapper {
    padding: 0;
    background-color: #fff
}

.photo-gallery .categories-wrapper .names-slider {
    padding-top: 20px
}

.photo-gallery .categories-wrapper .photo-gallery__thumbs {
    bottom: 0;
    display: flex !important;
    justify-content: center;
    background: rgba(1, 15, 42, .75)
}

.photo-gallery .categories-wrapper .photo-gallery__thumbs li {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    overflow: hidden
}

.photo-gallery .categories-wrapper .photo-gallery__thumbs li img {
    width: 100%;
    opacity: .4
}

.photo-gallery .categories-wrapper .photo-gallery__thumbs li.slick-active img {
    opacity: 1
}

#root {
    overflow-x: hidden
}

.app {
    text-align: center
}

.app-link {
    color: #61dafb
}

.cursor {
    cursor: pointer
}

.app-bread-crumbs {
    flex: 0 0 auto;
    background: rgba(236, 235, 235, .6);
    color: #000;
    border-bottom: 1px solid #ecedeb
}

.app-bread-crumbs ul {
    margin: 0 0 0 100px;
    padding: .8em 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-items: flex-start
}

.app-bread-crumbs ul li {
    margin-left: .5em;
    font-size: .6em;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #b07f2e;
    opacity: .8
}

.app-bread-crumbs ul li:last-child {
    color: inherit
}

.app-bread-crumbs ul li a {
    text-decoration: none;
    color: inherit
}

.app-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-items: flex-start;
    background: #f3f3f3
}

.app-content-block-wrapper {
    flex: 0 0 100%;
    margin: 0 20px
}

.app-content-block {
    margin: 0 1.2em;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    background: hsla(0, 0%, 100%, .9);
    text-align: left
}

.app-content-block>h3 {
    padding-left: 1.2em;
    width: 200px
}

.app-content-block>p {
    padding-left: 1.2em;
    width: 400px
}

.app-content-block-text {
    width: 300px;
    padding: 0 1.2em
}

.app-block-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    flex: 1 1 auto
}

.app-block-column {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1 1 auto
}

.route-page {
    min-height: 300px;
    background-color: #f3f3f3
}

.heading {
    padding: 30px 0
}

.heading .sub-title .line {
    position: absolute;
    left: 0;
    top: 49%;
    width: 100%;
    height: 1px;
    background: #b5a191
}

.heading .sub-title {
    font-style: italic;
    margin-top: 8px;
    position: relative;
    display: inline-block;
    min-width: 413px;
    max-width: 100%;
    line-height: 1.44;
    color: #010f2a;
    background: inherit
}

.heading .sub-child-title {
    font-size: 10px;
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: 5px;
    color: #010f2a;
    text-transform: uppercase;
    margin-top: 18px
}

.heading .sub-child-title a {
    color: inherit;
    text-decoration: none
}

.heading .sub-title span {
    white-space: nowrap;
    text-transform: none;
    font-style: italic;
    letter-spacing: normal;
    position: relative;
    z-index: 9;
    background: inherit;
    padding: 0 30px;
    font-family: KingsCaslon, Arial, sans-serif;
    display: block
}

.heading h2 {
    font-size: 20px;
    letter-spacing: 5px;
    line-height: 1.44;
    color: #010f2a;
    outline-color: #010f2a;
    margin: 0;
    font-weight: 300;
    text-transform: uppercase
}

.heading h2 a {
    text-decoration: none;
    color: inherit
}

.read-more {
    font-size: 11px;
    text-transform: uppercase;
    text-decoration: none;
    outline: none !important;
    border-radius: 0;
    background: transparent;
    border: 2px solid #b5a191;
    color: #021843;
    font-weight: 700 !important;
    padding: 6px 30px;
    line-height: 1.4em;
    cursor: pointer;
    display: inline-block;
    margin: 0 0 10px
}

.read-more,
.read-more:hover {
    -webkit-transition: all .3s;
    transition: all .3s
}

.action,
.read-more:hover {
    background-color: #b5a191;
    color: #fff
}

.action {
    font-size: 11px;
    text-transform: uppercase;
    text-decoration: none;
    outline: none !important;
    border-radius: 0;
    border: 2px solid #b5a191;
    font-weight: 700 !important;
    padding: 6px 30px;
    line-height: 1.4em;
    cursor: pointer;
    display: inline-block;
    margin: 0 0 10px
}

.action,
.action:hover {
    -webkit-transition: all .3s;
    transition: all .3s
}

.action:hover {
    background-color: transparent;
    color: #021843
}

@media only screen and (max-width:640px) {
    .app-bread-crumbs ul {
        margin-left: 20px;
    }
.app-block-column {
    flex-direction: row;
}
}

.name-slider {
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    overflow: hidden;
}

@media only screen and (max-width:580px) {
    .name-slider .v-slick-list {
        min-width: 540px;
        margin-left: max(calc(50% - 270px), -90px) !important;
    }
}