/* /legacy/assets/css/style.css */
:root {
    --page-width: 1156px;
    --black-color: #000000;
    --white-color: #ffffff;
    --red-color: #E31E24;
    --dark-red: #C61B20;
    --light-gray: #f1f1f1;
    --light-gray-color: #C4C4C4;
    --logo-light-gray: #B2B3B3;
    --border-light-gray:#EEEEEE;
    --gray-color: #FAFAFA;
    --dark-gray: #4F4F4F;
    --dark-gray-btn: #313131;
    --green-color: #339530;
    --dark-green: #287E25;
    --whatsapp-green: #21C063;
}

* {
    box-sizing: border-box;
}

@font-face {
    font-family: 'Geometria';
    src: url('/legacy/assets/css/fonts/Geometria-Regular.woff2') format('woff2');
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: 'Poppins';
    font-size: 18px;
    font-weight: 400;
    box-sizing: border-box;
    overflow-x: hidden;
}

* {
    box-sizing: border-box;
}

:focus-visible {
    outline: none;
}

br {
    display: block;
    height: 10px;
    content: "";
}

div {
    box-sizing: border-box;
}

img {
    max-width: 100%;
}

h1, h2, h3 {
    font-weight: 500;
    line-height: 1.15;
}

h1 {
    font-size: 40px;
}

h2 {
    font-size: 30px;
}

h1.red {
    color: var(--red-color);
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 40px;
    line-height: 1.15;
    max-width: 100%;
}

h2.red {
    color: var(--red-color);
}

h2.gray {
    color: #e0e0e0;
}

h2.big-font {
    font-size: 50px;
    margin-bottom: 35px;
}

h2.huge-font {
    font-size: 120px;
    margin: 0;
    line-height: 0.9;
}

h3 {
    font-size: 20px;
}

p {
    font-size: 14px;
}

p.bolder {
    font-weight: 500;
}

p strong {
    font-weight: 600;
}

p.small {
    font-size: 14px;
}

p.red {
    color: var(--red-color);
}

p > a, label > a, .single-hotel .description > a {
    text-decoration: none;
    color: var(--red-color);
}

p.box-title {
    font-size: 18px;
    font-weight: 500;
}

ul li {
    font-size: 14px;
}

a.btn, button {
    font-size: 14px;
    display: block;
    color: var(--white-color) !important;
    text-align: center;
    border-radius: 5px;
    text-decoration: none;
    padding: 18px 29px;
    margin: 0 auto 0 0;
    height: 50px;
    line-height: 1;
}

button {
    border: none;
    font-family: 'Poppins';
}

a.btn.red-btn, button.red-btn, a.btn.transparent-btn.active {
    background: var(--red-color);
}

a.btn.red-btn:hover, button.red-btn:hover, a.btn.transparent-btn.active {
    background: var(--dark-red);
}

a.btn.black-btn {
    background: var(--dark-gray);
}

a.btn.black-btn:hover {
    background: var(--dark-gray-btn);
}

a.btn.blue-btn {
    background: #46B8DA;
    text-transform: none;
    padding: 13px 23px;
}

a.btn.green-btn, button.green-btn {
    background: var(--green-color);
    text-transform: none;
    padding: 18px 26px;
    font-size: 14px;
}

a.btn.green-btn-transparent {
    color: var(--green-color) !important;
    border: 1px solid var(--green-color);
    background: transparent;
}

a.btn.green-btn:hover, button.green-btn:hover {
    background: var(--dark-green);
}

a.btn.green-btn-transparent:hover {
    color: var(--white-color) !important;
    background: var(--green-color);
}

a.btn.transparent-btn, button.transparent-btn {
    color: var(--red-color) !important;
    border: 1px solid var(--red-color);
    background: transparent;
}

a.btn.transparent-btn:hover, button.transparent-btn:hover {
    color: var(--white-color) !important;
    background: var(--red-color);
}

a.btn.white-btn, .btn.white-btn, .white-btn {
    color: var(--red-color)!important;
    border: 2px solid var(--red-color);
    border-radius: 30px;
    font-size: 16px;
    font-weight: 500;
    padding: 5px 20px;
    height: 40px;
}

a.btn.white-btn {
    padding: 10px 20px;
}

a.btn.white-btn:hover, button.white-btn:hover {
    color: var(--white-color)!important;
    background-color: var(--red-color);
}

.btn:hover {
    cursor: pointer;
}

.align-center > * {
    text-align: center;
}

.header {
    border-bottom: 1px solid var(--light-gray);
    padding: 20px 0;
    position: relative;
}

.header-container {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-container .site-logo a {
    display: block;
    line-height: 1;
}

.header-container .site-logo img {
    max-width: 165px;
    padding-left: 10px;
}

.menu ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu ul li {
    line-height: 1;
    padding: 10px 16px;
    border-radius: 4px;
    position: relative;
}

.menu ul li:hover {
    background: var(--red-color);
}

.menu ul li a {
    text-decoration: none;
    color: var(--black-color);
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 8px;
}

.menu ul li:hover > a {
    color: var(--white-color);
}

.menu ul li:hover > a svg path {
    stroke: var(--white-color);
}

.menu ul li ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #FFFFFF;
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    z-index: 50;
}

.menu ul li:hover > ul.sub-menu {
    display: block;
}

.menu ul li ul.sub-menu li {
    padding: 14px 30px;
    border-radius: 0;
}

.menu ul li ul.sub-menu li a {
    white-space: nowrap;
    justify-content: flex-start;
}

.header-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 50px;
    line-height: 1;
}

.header-box img {
    display: block;
}

.user-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.user-info .user-img {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px;
    border-radius: 50%;
}

.user-info .user-img:hover {
    background: var(--red-color);
    cursor: pointer;
}

.user-info .user-img svg {
    width: 18px;
    height: 18px;
}

.user-info .user-img:hover svg path {
    stroke: var(--white-color);
}

.user-info .user-name {
    padding: 10px;
}

.user-info .user-name:hover {
    background: var(--red-color);
}

.user-info .user-name a {
    display: block;
    color: var(--red-color);
    font-size: 14px;
    text-decoration: none;
}

.user-info .user-name:hover a {
    color: var(--white-color);
}

.mob-menu {
    display: none;
}

.breadcrumbs {
    border-bottom: 1px solid var(--light-gray);
    padding: 12px calc((100vw - var(--page-width)) / 2);
    color: #B2B3B3;
    font-size: 12px;
    line-height: 2;
}

.breadcrumb-content {
    display: flex;
    align-items: center;
}

.breadcrumbs > div > * {
    display: inline;
}

.breadcrumbs a {
    color: var(--red-color);
    text-decoration: none;
}

.breadcrumbs .separator {
    margin: 0 10px;
}

.footer {
    border-top: 1px solid #F1F1F1;;
}

.footer-container {
    width: var(--page-width);
    margin: 0 auto;
    padding: 100px 0 100px;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.footer-container .footer-section:first-child {
    max-width: 183px;
    flex-basis: 16%;
    display: flex;
    flex-direction: column;
}

.footer-container .footer-section:nth-child(2) {
    max-width: 255px;
    flex-basis: 21%;
}

.footer-container .footer-section:nth-child(3) {
    max-width: 172px;
    flex-basis: 15%;
}

.footer-container .footer-section:nth-child(4) {
    max-width: 460px;
    flex-basis: 40%;
}

.footer-container .footer-section:nth-child(2) p a, .footer-container .footer-section:nth-child(4) p span {
    color: var(--red-color);
    white-space: nowrap;
}

.footer-section.mobile {
    display: none;
}

.footer-container .footer-section p, .footer-container .footer-section > div > a {
    margin: 0;
    font-size: 14px;
    line-height: 2.25;
}

.footer-container .footer-section p strong {
    margin-bottom: 10px;
}

.footer-container .footer-section div {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    column-gap: 10px;
}

.footer-container .footer-section:first-child div {
    column-gap: 0;
    justify-content: space-between;
}

.footer-container .footer-section div.list {
    flex-direction: column;
}

.footer-container .footer-section .row {
    margin: 0;
}

.footer-container .footer-section div img {
    margin-top: 5px;
    max-height: 16px;
}

.footer-container .footer-section div p {
    margin-bottom: 0;
}

.footer-container .footer-section:first-child div img {
    max-height: 25px;
    max-width: 25px;
}

.footer-container .footer-section:first-child p, .footer-container .footer-section.mobile p {
    opacity: 0.5;
    line-height: 1.25;
    margin-bottom: 7px;
}

.footer-container .footer-section:first-child a, .footer-container .footer-section.mobile a, .footer-container .footer-section div a {
    color: var(--black-color);
    text-decoration: none;
}

.footer-container .footer-section div > a {
    display: block;
}

.footer-container .footer-section:first-child a:hover, .footer-container .footer-section.mobile a:hover, .footer-container .footer-section a:hover {
    text-decoration: underline;
}

.footer-container .footer-section:last-child p strong {
    padding-left: 25px;
}

.footer-container .footer-section br {
    height: 0;
}

.vacancy-footer.footer-container .footer-section:nth-child(2) {
    max-width: 200px;
    flex-basis: auto;
}

.vacancy-footer.footer-container .footer-section:nth-child(3) {
    max-width: 350px;
    flex-basis: auto;
}

.vacancy-footer.footer-container .footer-section:nth-child(4) {
    max-width: 250px;
    flex-basis: auto;
}

.vacancy-footer.footer-container .footer-section:nth-child(2) img {
    max-height: 18px;
}

.vacancy-footer.footer-container .footer-section:last-child p strong {
    padding-left: 0;
}

.page-container {
    width: var(--page-width);
    margin: 60px auto 100px;
}

.title-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-align: center;
    margin-bottom: 30px;
}

.title-section.small-margin {
    margin-top: 78px;
}

.title-section h1 {
    letter-spacing: 0.02em;
    margin-bottom: 10px;
    margin-top: 0;
}

.title-section h2.subtitle {
    font-size: 28px;
    padding: 0 60px;
    margin: 0;
}

p.subtitle {
    font-size: 18px;
    font-weight: 300;
    padding: 0 30px;
    margin: 0;
}

.subtitle--centered {
    font-size: 18px;
    text-align: center;
    margin: 0 100px 10px 100px;
}

.title-section a.btn.red-btn, .section a.btn.red-btn {
    display: inline-block;
    max-width: 400px;
    width: auto;
    height: auto;
    font-weight: 500;
    margin: 0 auto;
    font-size: 16px;
}

.title-section img {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    border-radius: 5px;
}

.title-section .search-hotel {
    margin-top: 50px;
}

#cookie-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--dark-gray-btn);
    color: var(--white-color);
    padding: 10px;
    text-align: center;
    z-index: 9999;
}

#cookie-bar h3 {
    font-size: 18px;
    margin: 15px;
}

#cookie-bar p {
    margin: 0;
}

#cookie-bar p a {
    color: var(--white-color);
    text-decoration: underline;
}

#cookie-bar p br {
    height: unset;
}

.cookie-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 14px;
    flex-wrap: wrap;
    width: 100%;
}

@media (max-width: 600px) {
    .cookie-buttons {
        flex-direction: column-reverse;
        align-items: center;
    }

    .cookie-buttons button {
        width: 100%;
        min-width: unset;
    }
}

.cookie-buttons button {
    padding: 10px 28px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    min-width: 190px;
    margin: 0;
    display: inline-block;
}

#accept-cookies {
    background: var(--red-color);
    color: var(--white-color);
}

#accept-cookies:hover {
    background: var(--dark-red);
}

#reject-cookies {
    background: #f0f0f0;
    color: #333333 !important;
}

#reject-cookies:hover {
    background: #e0e0e0;
}

.no-margin * {
    margin: 0;
}

.admin-table-list {
    margin: 0;
    padding-left: 20px;
    width: 250px;
    font-size: 12px;
    max-height: 170px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.images-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    margin-bottom: 40px;
}

.images-row img {
    width: calc(25% - 8px);
    border-radius: 8px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    flex-grow: 1;
}

.hotels-home {
    display: flex;
    justify-content: space-between;
}

.hotels-home > div {
    flex-basis: calc(50% - 15px);
}

.hotels-home .hotels-cards ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.hotels-home .hotels-cards ul li {
    width: calc(50% - 15px);
    height: calc(((var(--page-width) / 2) - 15px) / 2 - 15px);
    position: relative;
}

.hotels-home .hotels-cards ul li .card-bg {
    position: absolute;
    z-index: 10;
}

.hotels-home .hotels-cards ul li img {
    width: 100%;
    height: calc(((var(--page-width) / 2) - 15px) / 2 - 15px);
    object-fit: cover;
    object-position: center;
}

.hotels-home .hotels-cards ul li .card-description {
    position: absolute;
    bottom: 0;
    z-index: 15;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    padding: 17px 5px 17px 14px;
}

.hotels-home .hotels-cards ul li .card-description p {
    margin: 0 0 5px 0;
    color: var(--white-color);
    font-weight: 300;
}

.hotels-home .hotels-cards ul li .card-description p.title {
    font-size: 20px;
    font-weight: 500;
}

.hotels-extra-info > div {
    background: var(--gray-color);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    padding: 30px;
    margin-bottom: 30px;
    min-height: 210px;
}

.hotels-extra-info > div h3 {
    margin: 0;
    color: var(--red-color);
}

.title-section .search-options {
    padding-top: 11px;
    display: flex;
    column-gap: 5px;
}

.title-section .search-options > div.field, .account-search .search-options > div.field {
    border: 1px solid #e9e9e9;
    border-radius: 4px;
    padding: 7px 24px;
    display: flex;
    align-items: center;
    column-gap: 10px;
    font-size: 14px;
}

.account-search .search-options > div.field {
    background: var(--white-color);
    max-height: 50px;
    margin-bottom: 0;
}

.title-section .search-options div.hotel-location, .account-search .search-options div.hotel-location {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.title-section .search-options div.hotel-location:hover, .account-search .search-options div.hotel-location:hover {
    cursor: pointer;
}

.title-section .search-options > div:first-child {
    flex-basis: calc((var(--page-width) - 131px) * 0.29);
}

.title-section .search-options > div.calendar {
    flex-basis: calc((var(--page-width) - 131px) * 0.41);
}

.title-section .search-options > div.zimmer-select {
    flex-basis: calc((var(--page-width) - 131px) * 0.3);
}

.title-section .search-options > div.zimmer-select:hover, .account-search .search-options > div.zimmer-select:hover {
    cursor: pointer;
}

.title-section .search-options > div.full, .account-search .search-options > div.full {
    flex-basis: 100%;
    max-width: 366px;
}

.title-section .search-options .hotel-location-dropdown, .field .hotel-location-dropdown {
    position: relative;
    padding-bottom: 10px;
}

.title-section .search-options .hotel-location-dropdown ul, .field .hotel-location-dropdown ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
}

.title-section .search-options .hotel-location-dropdown ul.show, .field .hotel-location-dropdown ul.show {
    display: block;
    position: absolute;
    top: 45px;
    left: -50px;
    background: var(--white-color);
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    min-width: calc((var(--page-width) - 131px) * 0.29);
    z-index: 50;
}

.field .hotel-location-dropdown ul.show {
    min-width: 100%;
    left: 0;
}

.account-search .search-options .field .hotel-location-dropdown ul.show {
    min-width: calc((var(--page-width) - 386px) * 0.4);
    left: -50px;
}

.title-section .search-options .hotel-location-dropdown ul.show li, .field .hotel-location-dropdown ul.show li {
    padding: 12px 0 12px 26px;
    font-size: 14px;
    text-align: left;
}

.title-section .search-options .hotel-location-dropdown ul.show li:hover, .field .hotel-location-dropdown ul.show li:hover {
    background: var(--red-color);
    color: var(--white-color);
    cursor: pointer;
}

.title-section .search-options input.search-date, .account-search .search-options input.search-date {
    font-family: 'Poppins';
    font-size: 14px;
    background: transparent;
    border: none;
    color: var(--black-color);
    width: 100%;
}

.title-section .search-options input.search-date::placeholder, .account-search .search-options input.search-date::placeholder {
    color: var(--black-color);
}

.title-section .search-options input.search-date:hover, .account-search .search-options input.search-date.hover {
    cursor: pointer;
}

.daterangepicker {
    font-family: 'Poppins' !important;
}

.daterangepicker td.disabled, .daterangepicker option.disabled {
    text-decoration: none !important;
}

.daterangepicker .calendar-table td.today {
    color: #DF0000 !important;
}

.daterangepicker td.active.start-date, .daterangepicker td.active.start-date:hover, .daterangepicker td.active.end-date, .daterangepicker td.active.end-date:hover {
    background-color: var(--red-color) !important;
    color: var(--white-color) !important;
}

.daterangepicker td.today.start-date.end-date {
    border-radius: 5px !important;
}

.daterangepicker td.start-date, .daterangepicker td.today.start-date {
    border-radius: 5px 0 0 5px !important;
}

.daterangepicker td.end-date {
    border-radius: 0 5px 5px 0 !important;
}

.daterangepicker td.in-range {
    background-color: #EAEAEA !important;
}

.daterangepicker:before, .daterangepicker:after {
    display: none !important;
}

.daterangepicker .drp-buttons button.btn {
    display: inline-block;
    color: var(--white-color);
    background: var(--red-color);
    padding: 18px 29px;
}

.title-section .search-options .zimmer-select, .section-with-filter .filter .field.zimmer-select, .book-room .search-filter .field.zimmer-select, .book-activity .search-filter .field.zimmer-select, .single-hotel .search-filter .field.zimmer-select, .account-search .search-options .zimmer-select {
    position: relative;
}

.title-section .search-options .zimmer-result, .section-with-filter .filter .field .zimmer-result, .book-room .search-filter .zimmer-result, .book-activity .search-filter .zimmer-result, .single-hotel .search-filter .zimmer-result, .account-search .search-options .zimmer-result {
    display: flex;
    column-gap: 40px;
}

.title-section .search-options .zimmer-result p, .section-with-filter .filter .field .zimmer-result p, .book-room .search-filter .zimmer-result p, .book-activity .search-filter .zimmer-result p, .single-hotel .search-filter .zimmer-result p, .account-search .search-options .zimmer-result p {
    margin: 0;
    font-size: 14px;
}

.title-section .search-options .zimmer-option, .section-with-filter .filter .field .zimmer-option, .book-room .search-filter .field .zimmer-option, .book-activity .search-filter .field .zimmer-option, .single-hotel .search-filter .field .zimmer-option, .account-search .search-options .zimmer-option {
    position: absolute;
    display: none;
    top: 58px;
    left: 0;
    border: 1px solid #EEEEEE;
    border-radius: 4px;
}

.title-section .search-options .zimmer-option.show, .section-with-filter .filter .field .zimmer-option.show, .book-room .search-filter .field .zimmer-option.show, .book-activity .search-filter .field .zimmer-option.show, .single-hotel .search-filter .field .zimmer-option.show, .account-search .search-options .zimmer-option.show {
    display: block;
    background: var(--white-color);
    min-width: 284px;
    padding: 15px 30px;
}

.title-section .search-options .zimmer-option > div, .section-with-filter .filter .field .zimmer-option > div, .book-room .search-filter .field .zimmer-option > div, .book-activity .search-filter .field .zimmer-option > div, .single-hotel .search-filter .field .zimmer-option > div, .account-search .search-options .zimmer-option > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 15px 0;
}

.title-section .search-options .zimmer-option > div p, .section-with-filter .filter .field .zimmer-option > div p, .book-room .search-filter .field .zimmer-option > div p, .book-activity .search-filter .field .zimmer-option > div p, .single-hotel .search-filter .field .zimmer-option > div p, .account-search .search-options .zimmer-option > div p {
    margin: 0;
    font-size: 14px;
}

.title-section .search-options .zimmer-option > div svg, .section-with-filter .filter .field .zimmer-option > div svg, .book-room .search-filter .field .zimmer-option > div svg, .book-activity .search-filter .field .zimmer-option > div svg, .single-hotel .search-filter .field .zimmer-option > div svg, .account-search .search-options .zimmer-option > div svg {
    width: 8px;
}

.title-section .search-options .zimmer-option .zimmer-number, .title-section .search-options .zimmer-option .personen-number, .section-with-filter .filter .field .zimmer-option .zimmer-number, .section-with-filter .filter .field .zimmer-option .personen-number, .book-room .search-filter .field .zimmer-option .zimmer-number, .book-room .search-filter .field .zimmer-option .personen-number, .book-activity .search-filter .field .zimmer-option .zimmer-number, .book-activity .search-filter .field .zimmer-option .personen-number, .single-hotel .search-filter .field .zimmer-option .zimmer-number, .single-hotel .search-filter .field .zimmer-option .personen-number, .account-search .search-options .zimmer-option .zimmer-number, .account-search .search-options .zimmer-option .personen-number {
    border: none;
    background: transparent;
    font-family: 'Poppins';
    font-size: 14px;
    width: 25px;
    text-align: center;
}

.title-section .search-options .zimmer-option > div > div, .section-with-filter .filter .field .zimmer-option > div > div, .book-room .search-filter .field .zimmer-option > div > div, .book-activity .search-filter .field .zimmer-option > div > div, .single-hotel .search-filter .field .zimmer-option > div > div, .account-search .search-options .zimmer-option > div > div {
    display: flex;
    align-items: center;
    column-gap: 8px;
}

.title-section .search-options .zimmer-option span, .section-with-filter .filter .field .zimmer-option span, .book-room .search-filter .field .zimmer-option span, .book-activity .search-filter .field .zimmer-option span, .single-hotel .search-filter .field .zimmer-option span, .account-search .search-options .zimmer-option span {
    background: #FAFAFA;
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 38px;
    width: 38px;
}

.title-section .search-options .zimmer-option span:hover, .section-with-filter .filter .field .zimmer-option span:hover, .book-room .search-filter .field .zimmer-option span:hover, .book-activity .search-filter .field .zimmer-option span:hover, .single-hotel .search-filter .field .zimmer-option span:hover, .account-search .search-options .zimmer-option span:hover {
    background: var(--red-color);
    border-color: var(--red-color);
    cursor: pointer;
}

.title-section .search-options .zimmer-option span:hover path, .section-with-filter .filter .field .zimmer-option span:hover path, .book-room .search-filter .field .zimmer-option span:hover path, .book-activity .search-filter .field .zimmer-option span:hover path, .single-hotel .search-filter .field .zimmer-option span:hover path, .account-search .search-options .zimmer-option span:hover path {
    stroke: var(--white-color);
}

.title-section .search-options a, .section-with-filter .filter a, .book-room .search-filter a, .book-activity .search-filter a, .single-hotel .search-filter a, .account-search a, .account-search .search-options a {
    background: var(--red-color);
    border-radius: 5px;
    color: var(--white-color);
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 130px;
    min-height: 50px;
    column-gap: 5px;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
}

.title-section .search-options a {
    width: 116px;
}

.section__description {
    font-size: 16px;
    margin: 0;
}

.hotel-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

div.divider {
    height: 1px;
    width: 100vw;
    margin-left: calc((var(--page-width) - 100vw) / 2);
    border-bottom: 1px solid var(--light-gray);
    margin-top: 90px;
}

.hotels-extra-info .h-info {
    font-size: 18px;
}

.hotels-extra-info .h-info .stars, ul.best-activities-list li .stars, .hotel-list .hotel-card .hotel-description .stars, .book-room .stars, .hotel-info .stars, .hotels-regions .card-description .hotels-list .hotel-card > div .stars, .mobile-container .stars, .hotel-reviews .likes, .single-hotel .hotel-container .review-list .review-card .review-info .stars, .saved-list .stars, .address-section .ratting .stars {
    display: flex;
    align-items: center;
    margin: 12px 0 0;
    position: relative;
    font-size: 20px;
    column-gap: 10px;
}

ul.best-activities-list li .stars, .hotel-info .stars, .hotels-regions .card-description .hotels-list .hotel-card > div .stars, .mobile-container .stars, .address-section .ratting .stars {
    margin-top: 0;
    margin-bottom: 11px;
    font-size: 14px;
    color: var(--light-gray-color);
}

.hotels-extra-info .h-info .red-stars, ul.best-activities-list li .red-stars, .hotel-list .hotel-card .hotel-description .red-stars, .book-room .red-stars, .hotel-info .red-stars, .hotels-regions .card-description .hotels-list .hotel-card > div .red-stars, .mobile-container .red-stars, .hotel-reviews .likes .red-likes, .single-hotel .hotel-container .review-list .review-card .review-info .red-stars, .saved-list .red-stars, .address-section .ratting .red-stars {
    position: absolute;
    left: 0;
    height: 20px;
    overflow: hidden;
    display: flex;
    column-gap: 5px;
}

.hotels-extra-info .h-info .gray-stars, ul.best-activities-list li .gray-stars, .hotel-list .hotel-card .hotel-description .gray-stars, .book-room .gray-stars, .hotel-info .gray-stars, .hotels-regions .card-description .hotels-list .hotel-card > div .gray-stars, .mobile-container .gray-stars, .hotel-reviews .likes .gray-likes, .single-hotel .hotel-container .review-list .review-card .review-info .gray-stars, .saved-list .gray-stars, .address-section .ratting .gray-stars {
    width: 110px;
    height: 20px;
    overflow: hidden;
    display: flex;
    column-gap: 5px;
}

ul.best-activities-list li .gray-stars {
    width: 110px;
    column-gap: 5px;
    height: 20px;
}

ul.best-activities-list li .red-stars {
    column-gap: 5px;
}

.hotels-extra-info .h-info .red-stars svg, ul.best-activities-list li .red-stars svg, .hotel-list .hotel-card .hotel-description .red-stars svg, .book-room .red-stars svg, .hotel-info .red-stars svg, .hotels-regions .card-description .hotels-list .hotel-card > div .red-stars svg, .mobile-container .red-stars svg, .single-hotel .hotel-container .review-list .review-card .review-info .red-stars svg, .saved-list .red-stars svg, .red-stars svg {
    min-width: 18px;
}

ul.best-activities-list li .red-stars svg, ul.best-activities-list li .gray-stars svg {
    min-width: 18px;
}

.hotels-extra-info .h-info p.small {
    margin-top: 0;
    line-height: 1.7;
}

.hotels-extra-info .h-info h3 {
    margin-bottom: 24px;
}

div.full-width {
    width: 100vw;
    margin-left: calc((var(--page-width) - 100vw) / 2);
}

div.full-width > .section-container {
    width: var(--page-width);
    margin: 0 auto;
}

.text-field {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.input-text {
   width: 100%;
   border: 1px solid #e31e24;
   font-family: 'Poppins', serif;
   border-radius: 4px;
   font-size: 14px;
   padding: 14px 12px;
   display: block;
}

input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    height: 16px;
    width: 16px;
    background: url('data:image/svg+xml;utf8,<svg fill="black" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><line x1="4" y1="4" x2="16" y2="16" stroke="black" stroke-width="2"/><line x1="16" y1="4" x2="4" y2="16" stroke="black" stroke-width="2"/></svg>') no-repeat center center;
    background-size: 16px 16px;
    cursor: pointer;
}

.activity-period-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 10px;
}
.activity-period-row input[type="datetime-local"] {
    flex: 1;
}
.remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    flex: 0 0 auto;
}

.remove-btn:hover {
    background: var(--red-color);
}

.remove-btn .close-btn {
    width: 14px;
    height: 14px;
    filter: brightness(0) invert(1);
}

#advantages-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
}

.advantage-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.advantage-item input[type="text"] {
    flex: 1;
}

.review .stars .rating-info, .rating {
    display: flex;
    flex-direction: row;
}

.review-stars .review .hotel-address, .review-stars .review .hotel-description-section, .review-stars .review .hotel-recommends, .hotel-info .hotel-reviews .hotel-review .address-section .ratting .hotel-headline, .hotel-reviews .review .title {
    display: none;
}

.hotels-info-cards, .activities-info-cards.events {
    display: flex;
    align-items: stretch;
    column-gap: 20px;
}

.hotels-info-cards > div, .activities-info-cards.events > div {
    width: calc((var(--page-width) - 60px) / 4);
    border: 1px solid #EEEEEE;
    border-radius: 4px;
}

.activities-info-cards.events .activity-info-card .activity-info .booking-offer, .events-container .activity-info-card {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.events .activities-info-box.events, .activities .activities-info-box.events {
    padding-bottom: 20px;
}

.activities-info-cards.events .activity-info-card .activity-info .booking-offer p {
    margin-bottom: 0;
}

.section-container, .reviews {
    margin-bottom: 50px;
}

.hotel-card__info.single-hotel .hotel-card .hotel-container {
    max-height: 630px;
}

.hotel-container.hotel-page .hotel-info .review .hotel-description-section p {
    overflow: hidden;
}

.activities-info-cards.events .activity-info-card, .events-container .activity-info-card {
    height: auto;
}

.hotels-info-cards img {
    width: calc((var(--page-width) - 66px) / 4);
    height: calc((var(--page-width) - 66px) / 4.5);
    object-fit: cover;
    object-position: center;
}

.hotels-info-cards p {
    padding: 0px 30px 18px;
    font-size: 14px;
    margin: 0;
    color: var(--black-color);
}

.hotels-info-cards p.title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    padding-top: 30px;
    color: var(--red-color);
}

.hello .hotels-info-cards {
    justify-content: center;
    column-gap: 30px;
}

.hello .hotels-info-cards img {
    height: auto;
}

.count-section > div {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 30px;
    text-align: center;
    font-size: 14px;
    border: 1px solid #F1F1F1;
    padding: 90px 60px;
    flex-wrap: wrap;
    row-gap: 60px;
}

.count-section .count-col > div {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    column-gap: 13px;
    margin-bottom: 28px;
    width: 220px;
}

.count-section .count-col > div p {
    font-size: 60px;
    line-height: 1.25;
    font-family: 'Geometria';
    margin: 0;
    min-width: 40px;
}

.count-section .count-col > div img {
    max-height: 70px;
}

.count-section .count-col:last-child > div {
    margin-top: -5px;
}

.count-section .count-col:last-child > div p {
    margin-top: 5px;
}

.count-section .count-col:first-child > div p {
    margin-top: 4px;
}

.count-section br {
    height: 0;
}

.best-activities {
    margin: 100px 0;
}

.hotels-info h2 a, .activities-info h2 a {
    text-decoration: none;
    color: var(--black-color);
}

.services {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.services-card {
    flex: 1;
}

.services-card a {
    color: var(--black-color);
}

.services-card .services-card__image {
    overflow: hidden;
    border-radius: 4px;
    aspect-ratio: 4 / 3;
}

.services-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

ul.best-activities-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    column-gap: 20px;
    gap: 20px;
    flex-wrap: wrap;
}

ul.best-activities-list li {
    border: 1px solid #EEEEEE;
    border-radius: 4px;
}

ul.best-activities-list li:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

ul.best-activities-list li a {
    text-decoration: none;
    color: var(--black-color);
}

ul.best-activities-list li img.activity-img {
    width: calc((var(--page-width) - 60px) / 4);
    height: calc((var(--page-width) - 66px) / 4.5);
    object-fit: cover;
    object-position: center;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

ul.best-activities-list li a > div {
    height: calc(100% - (var(--page-width) - 66px) / 4.5 - 10px);
    padding: 17px 29px 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    row-gap: 10px;
}

ul.best-activities-list li p.title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 0;
    margin-top: 0;
}

ul.best-activities-list li p.description {
    margin-bottom: 24px;
}

ul.best-activities-list li .facilities {
    display: flex;
    column-gap: 23px;
    margin-bottom: 20px;
}

ul.best-activities-list li .programm, .section-with-filter .activities-list .activity-card .activity-description .programm {
    font-weight: 300;
    line-height: 1.33;
    padding-right: 35px;
    border-left: 1px solid #BDBDBD;
}

ul.best-activities-list li .booking-offer {
    font-size: 13px;
    margin: 0 0 15px 0;
}

ul.best-activities-list li .booking-term, .section-with-filter .activities-list .activity-card .activity-description .booking-term {
    display: flex;
    align-items: center;
    column-gap: 10px;
    margin-bottom: 55px;
}

ul.best-activities-list li .booking-term {
    margin-bottom: 3px;
    font-size: 13px;
}

ul.best-activities-list li .booking-term img, .section-with-filter .activities-list .activity-card .activity-description .booking-term img {
    height: 22px;
    width: auto;
}

ul.best-activities-list li a.btn {
    margin-bottom: 20px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul.best-activities-list li p.price {
    font-size: 14px;
    color: var(--light-gray-color);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    line-height: 1;
    column-gap: 10px;
    margin-top: 0;
}

ul.best-activities-list li p.price span {
    font-size: 24px;
    font-weight: 500;
    color: var(--red-color);
}

ul.card-list {
    padding: 0;
    list-style: none;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin: 0 0 50px;
}

ul.card-list li {
    flex-basis: calc((var(--page-width) - 60px) / 4);
}

ul.card-list li a {
    color: var(--black-color);
}

ul.card-list li p.card-list__title {
    font-size: 15px;
    font-weight: 500;
    margin: 20px 0;
    text-align: center;
}

ul.card-list li div.card-list__icon {
    height: calc((var(--page-width) - 60px) / 4 / 0.93);
    overflow: hidden;
    border-radius: 4px;
}

ul.card-list li img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .2s;
}

ul.card-list.card-list--columns-2 li,
ul.card-list.card-list--columns-3 li {
    padding: 20px;
    border: 1px solid var(--border-light-gray);
    border-radius: 4px;
}

ul.card-list.card-list--columns-2 li {
    flex-basis: calc((var(--page-width) - 20px) / 2);
}

ul.card-list.card-list--columns-3 li {
    flex-basis: calc((var(--page-width) - 40px) / 3);
}

ul.card-list.card-list--columns-2 li div.card-list__icon {
    height: calc(((var(--page-width) - 20px) / 2) * 0.5);
}

ul.card-list.card-list--columns-3 li div.card-list__icon {
    height: calc((var(--page-width) - 220px) / 3 );
}

ul.card-list div.card-list__description {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
}

ul.card-list div.card-list__description p {
    margin-top: 0;
    text-align: start !important;
}

ul.card-list .card-list__action-text {
    font-weight: 500;
    font-size: 16px;
    color: var(--red-color);
    line-height: 1;
    margin-bottom: 0;
}

.section.about-text p {
    font-size: 15px;
}

.info-list {
    margin-bottom: 50px;
}

.info-list__item {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    gap: 20px;
}

.info-list__icon {
    flex: 0 0 100px;
}

.info-list__content h3 {
    font-size: 18px;
    margin: 0 0 10px;
}

.info-list__content p {
    font-size: 15px;
    margin: 0;
}

.info-list p, .info-list li {
    font-size: 15px;
}

.info-list__item ul.card-list {
    margin: 0;
}

.info-list.info-list__hotels .info-list__item {
    flex-direction: column;
    align-items: flex-start;
}

.info-list__hotels .info-list__content h3 {
   text-align: center;
}

.subscribe-section {
    padding: 70px 20px;
}

.subscribe-section h2 {
    margin-bottom: 24px;
    text-align: center;
}

.subscribe-section > div {
    display: flex;
    column-gap: 50px;
}

.subscribe-section img {
    max-width: 340px;
}

.subscribe-section .subscribe-form {
    max-width: 304px;
}

.subscribe-section .subscribe-form > button {
    max-width: 304px;
    width: 100%;
}

.subscribe-section .subscribe-info p {
    font-size: 14px;
    margin: 0 0 26px 0;
}

.subscribe-section .subscribe-info p.red {
    margin-bottom: 15px;
}

.subscribe-form div {
    margin-bottom: 20px;
}

.subscribe-form a {
    font-size: 14px;
    max-width: 240px;
    text-transform: none;
    padding: 18px 0;
}

.map {
    margin-bottom: 100px;
}

#map {
    height: 650px;
}

:root {
    --gm-button-background-color: #E31E24;
}

.gmnoprint > div {
    background-color: transparent !important;
}

.gm-control-active {
    background-color: var(--gm-button-background-color) !important;
    margin-bottom: 10px !important;
    width: 30px !important;
    height: 30px !important;
}

.gm-control-active img {
    filter: brightness(0) invert(1) !important;
    width: 13px !important;
}

.gm-style .gm-style-iw-tc {
    display: none !important;
}

.gm-style .gm-style-iw-c {
    top: 55px !important;
    left: 107px !important;
    width: 154px !important;
    background: #FFFFFF !important;
    border: 1px solid #EAEAEA !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    padding: 10px !important;
}

.gm-style .gm-style-iw-c > button {
    display: none !important;
}

.gm-style .gm-style-iw-d {
    overflow: auto !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    font-family: 'Poppins' !important;
}

.gm-style-iw div * {
    overflow: hidden !important;
    line-height: 1.2 !important;
}

.section-with-filter {
    display: flex;
    column-gap: 30px;
}

.section-with-filter .filter .search-filter, .book-room .search-filter, .book-activity .search-filter, .single-hotel .search-filter {
    width: 255px;
    border-bottom: 1px solid #BDBDBD;
    margin-bottom: 30px;
    padding-top: 20px;
}

.single-hotel .search-filter {
    background: none;
}

.single-hotel .search-filter {
    width: 100%;
}

.section-with-filter .filter .search-filter > p {
    padding-left: 20px;
    margin-top: 0;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 13px;
}

.section-with-filter .filter {
    height: 100%;
    border: 1px solid #BDBDBD;
    padding-bottom: 20px;
}

.section-with-filter .filter > .search-filter {
    padding: 25px 20px 20px 20px;
}

.section-with-filter .filter .open-filter {
    display: none;
}

.section-with-filter .filter > .filter-option > div {
    padding: 0 20px;
}

.section-with-filter .hotel-list {
    width: calc(100% - 285px);
}

.section-with-filter .filter p.field-label, .book-room .date-field p.field-label, .book-activity .date-field p.field-label {
    font-size: 14px;
    margin: 14px 0 9px;
}

.section-with-filter .filter .hotel-location .selected-option, .book-room .search-filter .hotel-location .selected-option, .book-activity .search-filter .hotel-location .selected-option {
    min-height: 50px;
    display: flex;
    align-items: center;
    background: var(--white-color);
    padding: 9px 13px;
    font-size: 14px;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
}

.section-with-filter .filter .field, .book-room .search-filter .field {
    padding-bottom: 23px;
    padding-left: 5px;
}

.section-with-filter .filter .field.small-margin {
    margin-bottom: 18px;
}

.section-with-filter .filter .field .hotel-location-dropdown ul.show, .book-room .search-filter .field .hotel-location-dropdown ul.show, .book-activity .search-filter .field .hotel-location-dropdown ul.show {
    width: 100%;
}

.section-with-filter .filter .field .hotel-location-dropdown ul.show li, .book-room .search-filter .field .hotel-location-dropdown ul.show li, .book-activity .search-filter .field .hotel-location-dropdown ul.show li {
    padding-left: 13px;
}

.section-with-filter .filter .field .date-container, .section-with-filter .filter .field.zimmer-select, .book-room .search-filter .field .date-container, .book-room .search-filter .field.zimmer-select, .book-activity .date-field .field .date-container, .book-room .date-field .field .date-container, .book-activity .search-filter .field.zimmer-select, .single-hotel .search-filter .field .date-container, .single-hotel .search-filter .field.zimmer-select {
    max-height: 50px;
    display: flex;
    align-items: center;
    background: var(--white-color);
    padding: 14px 13px;
    column-gap: 10px;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
}

.section-with-filter .filter .field .date-container {
    position: relative;
    padding-left: 0;
}

.section-with-filter .filter .field.zimmer-select {
    padding-left: 19px;
}

.section-with-filter .filter .field .date-container img, .section-with-filter .filter .field.zimmer-select img, .book-room .search-filter .field .date-container img, .book-room .search-filter .field.zimmer-select img, .book-activity .search-filter .field.zimmer-select img, .single-hotel .search-filter .field.zimmer-select img {
    width: 16px;
}

.section-with-filter .filter .field .date-container img {
    position: absolute;
    left: 21px;
    top: calc(50% - 9px);
}

.section-with-filter .filter .field .date-container input, .book-room .date-field .field .date-container input, .book-activity .date-field .field .date-container input, .single-hotel .search-filter .field .date-container input {
    border: none;
    font-family: 'Poppins';
    font-size: 14px;
    background: transparent;
    color: var(--black-color);
    padding: 0;
}

.section-with-filter .filter .field .date-container input {
    padding-left: 47px;
}

.section-with-filter .filter .field .zimmer-result, .book-room .search-filter .field .zimmer-result, .book-activity .search-filter .field .zimmer-result, .single-hotel .search-filter .field .zimmer-result {
    column-gap: 10px;
}

.section-with-filter .filter .field.zimmer-select, .book-room .search-filter .field.zimmer-select, .book-activity .search-filter .field.zimmer-select, .single-hotel .search-filter .field.zimmer-select {
    position: relative;
    margin-top: 20px;
}

.section-with-filter .filter .field .zimmer-result p, .book-room .search-filter .field .zimmer-result p, .book-activity .search-filter .field .zimmer-result p, .single-hotel .search-filter .field .zimmer-result p {
    font-size: 14px;
}

.section-with-filter .filter .field .zimmer-option, .book-room .search-filter .field .zimmer-option, .book-activity .search-filter .field .zimmer-option, .single-hotel .search-filter .field .zimmer-option {
    left: 0;
    top: 55px;
}

.section-with-filter .filter > .field, .holidays .section-with-filter .filter > div > .field {
    margin-top: 0;
    margin-bottom: 0;
    padding: 5px 20px;
}

.section-with-filter .filter .option-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 5px 0;
}

.section-with-filter .filter .option-wrapper input {
    width: 20px;
    height: 20px;
    margin-right: 14px;
    margin-left: 0;
}

.section-with-filter .filter .option-wrapper label, .section-with-filter .filter .option-wrapper span {
    font-size: 14px;
    font-weight: 300;
}

.section-with-filter .filter .option-wrapper > div {
    display: flex;
    align-items: center;
}

.section-with-filter .hotel-list > div > a.btn {
    width: 258px;
    font-size: 18px;
}

.hotel-list .hotels-amount {
    margin-top: 0;
    font-size: 18px;
    font-weight: 500;
}

.hotel-list .hotel-card {
    display: flex;
    column-gap: 37px;
    padding: 22px 15px 16px 16px;
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    margin-bottom: 15px;
    transition: transform .2s;
}

.hotel-list .hotel-card:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
}

.hotel-list .hotel-card .hotel-image {
    flex-basis: 35%;
    max-width: 286px;
    position: relative;
}

.hotels-regions .hotel-image {
    position: relative;
}

.hotel-list .hotel-card .hotel-image > img, .hotels-regions .hotel-card .hotel-image > img {
    width: 100%;
    max-height: 215px;
    object-fit: cover;
}

.activities .hotel-list .hotel-card .hotel-image > img {
    max-height: 100%;
}

.hotel-list .hotel-card .hotel-image .facilities {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 15px;
}

.hotel-list .hotel-card .hotel-image .facilities img {
    height: 20px;
    width: auto;
    border-radius: 4px;
}

.hotel-list .hotel-card .hotel-image .brekfast-label, .hotels-regions .hotel-image .brekfast-label {
    position: absolute;
    top: 22px;
    padding: 7px 16px;
    background: var(--red-color);
    color: var(--white-color);
    font-size: 14px;
}

.hotel-list .hotel-card .hotel-image .wishlist, .single-hotel .hotel-card .wishlist {
    position: absolute;
    top: 21px;
    right: 21px;
    z-index: 100;
}

.hotel-list .hotel-card .hotel-image .wishlist svg, .single-hotel .hotel-card .wishlist svg {
    max-width: 21px;
    max-height: 20px;
}

.hotel-list .hotel-card .hotel-image .wishlist.in-list svg, .single-hotel .hotel-card .wishlist.in-list svg {
    fill: var(--red-color);
}

.hotel-list .hotel-card .hotel-image .wishlist:hover svg path, .single-hotel .hotel-card .wishlist:hover svg path {
    stroke: var(--red-color);
}

.hotel-list .hotel-card .hotel-image .wishlist.in-list svg path, .single-hotel .hotel-card .wishlist.in-list svg path {
    stroke: var(--red-color);
}

.hotel-list .hotel-card .hotel-description {
    flex-basis: calc(65% - 35px);
    max-width: 500px;
}

.hotel-list .hotel-card .hotel-description .hotel-info {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 20px;
}

.hotel-list .hotel-card .hotel-description p.title {
    text-align: start;
    margin-top: -5px;
    margin-bottom: 5px;
    line-height: 1.4;
}

.hotel-list .hotel-card .hotel-description p.title a, .page-container.account .account-page .saved-list .saved-card .saved-card-info p.title, .page-container.account .account-page .user-reviews-list .reviews-card p.title, .page-container.account .account-page .booking-list .booking-card p.title {
    font-size: 20px;
    font-weight: 500;
    margin-top: -5px;
    margin-bottom: 5px;
    line-height: 1.4;
}

.hotel-list .hotel-card .hotel-description p.title a, .activity-title-section p.activity-title a, .address-section .ratting div a  {
    text-decoration: none;
    color: var(--black-color);
}

.field .img-preview {
    position: relative;
    max-width: 300px;
    max-height: 250px;
}

.field .img-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.field .img-preview a {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.7);
    top: 10px;
    right: 10px;
    padding: 5px;
    width: 30px;
    height: 30px;
}

.hotel-images {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
}

.field.hotel-images .img-preview {
    max-height: 210px;
}

.page-container .single-hotel h1, .page-container .single-hotel h2 {
    text-align: center;
}

.single-hotel .hotel-card .hotel-container .section {
    flex: 2;
}

.single-hotel .hotel-card .hotel-container .section.room-gallery-section {
    display: flex;
    flex-direction: column;
}

.single-hotel .hotel-container .hotel-info {
    flex: 1;
}

.single-hotel .hotel-card .hotel-container .section h2 {
    margin-bottom: 0;
}

.single-hotel .hotel-card .hotel-container.hotel-page .hotel-info {
    max-height: 100%;
}

.single-hotel .hotel-card .hotel-container.hotel-page .hotel-info .review {
    height: 100%;
}

.single-hotel .hotel-card .hotel-container.hotel-page .hotel-info .review .hotel-description-section {
    height: 100%;
    overflow: hidden;
    line-height: 1.5;
}

.gallery-container {
    height: 100%;
}

.offer-page .gallery-container {
    height: auto;
}

.gallery-container .gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    cursor: pointer;
    overflow: hidden;
    height: 100%;
}

.single-hotel .hotel-card .hotel-container.hotel-page, .gallery-container .gallery  {
    max-height: 550px;
}

.single-hotel .hotel-card .hotel-container.hotel-page  {
    margin-bottom: 20px;
}

.single_job_listing .gallery-container .gallery  {
    max-height: 650px;
}

.gallery-container .gallery .gallery-item {
    position: relative;
    flex: 1 1 calc(33.333% - 10px);
}

.gallery-container .gallery .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-container .gallery.gallery--full .gallery-item:nth-child(-n+2) {
    flex: 1 1 calc(50% - 10px);
    max-height: 330px;
}

.gallery-container .gallery .overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    color: var(--white-color);
    font-size: 24px;
}

.gallery-container .popup::-webkit-scrollbar {
    display: none;
}

.gallery-container .popup .modal-content {
    margin: 5% auto;
    padding: 10px;
    width: 80%;
    max-width: 1200px;
    background-color: white;
    border-radius: 10px;
}

.gallery-container .popup .modal-content .modal-header  {
    position: relative;
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--light-gray);
    text-align: center;
}

.gallery-container .popup .modal-content .modal-header .close {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    padding: 5px;
}

.gallery-container .popup .modal-content .modal-header .modal-back {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.gallery-container .popup .modal-content .modal-header .arrow {
    width: 28px;
    height: 28px;
    margin-right: 5px;
}

.gallery-container .popup .modal-content .modal-body {
    margin-top: 15px;
}

.gallery-container .popup .modal-content .modal-thumbnails {
    display: flex;
    flex-wrap: wrap;
}

.gallery-container .popup .modal-content .modal-thumbnails .modal-item {
    display: flex;
    flex: 1 1 21%;
    max-width: calc(25% - 10px);
    max-height: 250px;
    margin: 5px;
    cursor: pointer;
}

.gallery-container .popup .modal-content .modal-thumbnails .modal-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gallery-container .popup .modal-content .modal-header .modal-back p {
    margin: 0;
}

.single-hotel .hotel-card .hotel-content {
    display: flex;
    gap: 20px;
    margin-bottom: 50px;
}

.single-hotel .hotel-card .hotel-content .hotel-info {
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: 20px;
}

.single-hotel .hotel-card .hotel-content .section, .single-hotel .hotel-card .hotel-content .hotel-info {
    flex: 1;
}

.single-hotel .hotel-content .hotel-info > div {
    border: 1px solid #BDBDBD;
    padding: 29px 20px 29px 20px;
    border-radius: 4px;
}

.features {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.features .features__item {
    display: flex;
    text-align: center;
    align-items: center;
    border: 1px solid var(--light-gray);
    border-radius: 10px;
    padding: 15px;
    flex: 1 1 24%;
    max-width: 24%;
}

.features .features__item p {
    text-align: left;
    color: var(--dark-gray-btn);
    margin: 0;
}

.features .features__item .features__image {
    width: 25px;
    height: 25px;
    margin-right: 15px;
}

.features .features__item .features__image img {
    width: 100%;
    height: 100%;
    margin-right: 15px;
}

.single-hotel .hotel-card .hotel-info .hotel-reviews .activity-info-card {
    margin-bottom: 10px;
}

.descriptions-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.description-card {
    display: flex;
    flex-direction: column;
    flex: 1 1 45%;
    max-width: calc(50% - 20px);
    gap: 10px;
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    padding: 20px;
}

.description-card .picture-section {
    height: 350px;
}

.description-card .picture-section img {
    object-fit: cover;
}

.description-card p {
    margin-bottom: 0;
}

.hotel-card__info .hotel-card__button-wrapper {
    text-align: center;
}

.hotel-card__info a.btn {
    display: inline-block;
    margin: 20px 0 30px 0;
    font-size: 16px;
}

.rooms-list .room-card .room-info .title, .hotel-content .hotel-info > div p:nth-child(1) {
     margin: 0;
     font-weight: 500;
     font-size: 20px;
     color: var(--red-color);
     line-height: 1;
     opacity: 0.9;
 }

.red {
    color: var(--red-color) !important;
}

.title {
    text-align: center;
}

.newsletter-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

.hotel-card .company_logo-block {
    text-align: center;
}

.hotel-card .company_logo-block .company_logo  {
    width: 400px;
}

.hotel-review .name-block {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.hotel-review .name-item {
    margin: 5px 0;
}

.hotel-review .name-item p {
    margin: 0;
}

.hotel-review .hotel-headline {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
}

.hotel-review .review-body {
    margin-top: 0;
}

.hotel-list .hotel-card .hotel-description .stars, .page-container.account .account-page .saved-list .saved-card .saved-card-info .stars, .address-section .ratting .stars {
    font-size: 14px;
    margin-bottom: 10px;
    margin-top: 0;
    color: #959595;
    line-height: 1;
    align-items: flex-end;
}

.hotel-list .hotel-card .hotel-description .info-col-2 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.hotel-list .hotel-card .hotel-description .info-col-2 p, .page-container.account .account-page .saved-list .saved-card .saved-card-info p {
    margin-bottom: 0;
    margin-top: 0;
    line-height: 1.25;
}

.hotel-list .hotel-card .hotel-description .info-col-2 p.percent-recomendation, .page-container.account .account-page .saved-list .saved-card .saved-card-info p.percent-recomendation {
    background: var(--green-color);
    color: var(--white-color);
    padding: 8px 12px;
    border-radius: 4px;
    margin-bottom: 25px;
}

.hotel-list .hotel-card .hotel-description .verbal-rating, .page-container.account .account-page .saved-list .saved-card .saved-card-info .verbal-rating {
    font-weight: 500;
}

.hotel-list .hotel-card .hotel-description .amount-recomendation a, .page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation {
    white-space: nowrap;
    color: #A9A9A9;
}

.hotels-regions .card-description .hotel-address, .book-present .hotel-address, .book-room .hotel-address, .single-hotel .hotel-address {
    display: flex;
    align-items: center;
    column-gap: 7px;
}

.hotel-list .hotel-card .hotel-description .price-from, .hotel-list .hotel-card .hotel-description .free-rooms .price-from {
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
}

.hotel-list .hotel-card .hotel-description .free-rooms .price-from.mobile {
    display: none;
}

.hotel-list .hotel-card .hotel-description .price-from .no-price {
    font-size: 20px;
}

.hotel-list .hotel-card .hotel-description p.extra-options {
    margin: 0;
    color: var(--green-color);
}

.hotel-list .hotel-card .hotel-description .free-rooms {
    margin-bottom: 19px;
}

.hotel-list .hotel-card .hotel-description .free-rooms > div {
    display: flex;
    justify-content: space-between;
}

.hotel-list .hotel-card .hotel-description .free-rooms > div p {
    font-size: 14px;
    margin: 0;
}

.hotel-list .hotel-card .hotel-description .free-rooms .room-type {
    display: flex;
    column-gap: 8px;
}

.hotel-list .hotel-card .hotel-description p.room-amount {
    color: var(--red-color);
    font-weight: 500;
    margin-bottom: 0;
}

.hotel-list .hotel-card .hotel-description .book-room {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hotel-list .hotel-card .hotel-description .book-room.hide {
    display: none;
}

.hotel-list .hotel-card .hotel-description .book-room a.btn {
    /* padding: 16px 30px; */
    font-size: 14px;
}

.hotel-list .hotel-card .hotel-description .no-free-rooms {
    background: #FFEBEB;
    border-radius: 5px;
    padding: 14px 24px;
    color: var(--red-color);
    margin-top: 20px;
}

.hotel-list .hotel-card .hotel-description .no-free-rooms p {
    margin: 0;
}

.dates-slider {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dates-slider .swiper.avaliable-dates {
    flex-basis: calc(100% - 70px);
    margin: 0;
}

.dates-slider .swiper.avaliable-dates .swiper-slide {
    background: #E3FFE6;
    border-radius: 5px;
    padding: 17px 17px 3px 17px;
    color: var(--green-color);
    text-align: center;
}

.dates-slider .swiper.avaliable-dates .swiper-slide p {
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.64;
}

.dates-slider .swiper.avaliable-dates .swiper-slide br {
    height: 0;
}

.dates-slider .swiper-button-next, .dates-slider .swiper-button-prev {
    width: 15px !important;
    height: 19px !important;
    display: block;
    position: relative;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: 0 !important;
}

.dates-slider .swiper-button-prev:after, .dates-slider .swiper-button-next:after {
    display: block;
    width: 12px !important;
    height: 19px !important;
}

.dates-slider .swiper-button-prev:after {
    background-image: url(/legacy/assets/css/img/prev_dark.svg);
}

.dates-slider .swiper-button-next:after {
    background-image: url(/legacy/assets/css/img/next_dark.svg);
}

.more-activities {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 65px;
}

.more-activities p {
    font-size: 30px;
    font-weight: 500;
}

.section-with-filter .hotel-list > div.more-activities a.btn {
    margin: 0 auto;
    width: 350px;
    padding: 11px 40px;
    font-size: 18px;
    text-transform: none;
}

.hotels-regions h2 {
    text-align: center;
    margin-bottom: 35px;
}

.hotels-regions ul.cards-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.hotels-regions ul.cards-list li {
    flex-basis: 100%;
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    padding: 0 20px 40px 0;
    display: flex;
    align-items: flex-start;
    column-gap: 40px;
}

.hotels-regions ul.cards-list li:hover {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
}

.hotels-regions ul.cards-list li a {
    text-decoration: none;
    color: var(--black-color);
}

.hotels-regions .hotel-image {
    flex-basis: 274px;
}

.hotels-regions .hotel-image img {
    width: 100%;
    height: 295px;
    object-fit: cover;
    border-radius: 4px;
}

.hotels-regions .card-description {
    flex-basis: calc(100% - 304px);
}

.hotels-regions .card-description .region {
    display: flex;
    align-items: flex-end;
    column-gap: 13px;
    margin-top: 35px;
}

.hotels-regions .card-description p {
    margin: 0;
}

.hotels-regions .card-description .region .title {
    font-size: 18px;
    font-weight: 500;
}

.hotels-regions .card-description .region .hotels-amount {
    font-size: 14px;
    font-weight: 500;
    color: var(--red-color);
    line-height: 1.65;
}

.hotels-regions .card-description .description {
    margin-top: 17px;
    margin-bottom: 34px;
    display: flex;
    column-gap: 74px;
}

.hotels-regions .card-description .description > p {
    max-width: 495px;
}

.hotels-regions .card-description .description > a, .hotels-regions li a.mobile {
    width: 196px;
    min-width: 196px;
    color: var(--black-color) !important;
    font-weight: 500;
}

.hotels-regions .card-description .description > a:hover, .hotels-regions li a.mobile:hover {
    color: var(--white-color) !important;
}

.hotels-regions .card-description .hotels-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 8px;
}

.hotels-regions .card-description .hotels-list .hotel-card {
    max-width: 300px;
}

.hotels-regions .card-description .hotels-list .hotel-card > div {
    display: flex;
    column-gap: 15px;
}

.hotels-regions .card-description .hotels-list .hotel-card > div img {
    width: 66px;
    height: 50px;
    border-radius: 4px;
    object-fit: cover;
}

.hotels-regions .card-description .hotels-list .hotel-card > div > div {
    flex-basis: calc(100% - 81px);
}

.hotels-regions .card-description .hotels-list .hotel-card > div .title {
    font-size: 14px;
    font-weight: 500;
}

.hotels-regions .card-description .hotels-list .hotel-card > div .stars, .activities-info-card > div .stars {
    column-gap: 7px;
    margin-bottom: 0;
}

.hotels-regions .card-description .hotels-list .hotel-card .hotel-address {
    margin-top: 10px;
    font-size: 12px;
    column-gap: 9px;
    align-items: flex-start;
}

.hotels-regions .card-description .hotels-list .hotel-card .hotel-address svg {
    margin-top: 4px;
}

.hotels-regions .card-description .hotels-list .hotel-card .hotel-address p {
    font-size: 12px;
}

.hotels-regions li a.mobile {
    display: none;
}

.regions .map-section .title {
    display: none;
}

.book-present .activity-title {
    display: flex;
    justify-content: space-between;
}

.book-present .activity-title h2, .book-room .activity-title h2, .single-hotel h2 .red, .book-activity h2 {
    color: var(--red-color);
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 50px;
    line-height: 1.15;
    max-width: 700px;
}

.book-present .activity-title h2, .book-activity h2, .single-hotel h2 {
    max-width: 100%;
}

.book-present .activity-title .brekfast-label, .single-hotel .brekfast-label {
    padding: 9px 17px;
    background: var(--red-color);
    color: var(--white-color);
    font-size: 14px;
    height: 34px;
    line-height: 1;
}

.book-present .hotel-address, .book-room .hotel-address {
    margin-bottom: 5px;
}

.single-hotel .hotel-address {
    margin-bottom: 15px;
}

.book-present .hotel-address p, .book-room .hotel-address p, .single-hotel .hotel-address p {
    margin: 0;
    font-size: 10px;
    font-weight: 300;
    color: #4F4F4F;
}

.book-present .description, .book-room .description, .single-hotel .description, .book-activity .description {
    line-height: 1.5;
    font-size: 14px;
    margin-bottom: 30px;
}

.book-activity .description br {
    height: 0;
}

.book-present .description br {
    height: 0;
}

.book-present .description a, .book-room .description a, .book-activity .description a {
    color: var(--red-color);
    text-decoration: none;
    font-weight: 500;
}

.book-present .programm-container, .book-activity .hotel-container {
    display: flex;
    column-gap: 30px;
}

.book-activity .hotel-container {
    margin-bottom: 50px;
}

.book-present .programm-container > div, .book-activity .hotel-container > div {
    flex-basis: 50%;
    width: calc(var(--page-width) / 2 - 30px);
    position: relative;
}

.swiper-button-next, .swiper-button-prev {
    right: 20px !important;
    width: 40px !important;
    height: 60px !important;
    color: var(--white-color) !important;
}

.swiper-button-prev {
    left: 20px !important;
    right: auto !important;
}

.swiper-pagination-bullet {
    background: transparent !important;
    opacity: 1 !important;
    border: 1px solid #FFFFFF;
    width: 6px !important;
    height: 6px !important;
    margin: 2px 4px !important;
}

.swiper-pagination-bullet-active {
    background: var(--white-color) !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 4px !important;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    content: '' !important;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after, .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    height: 38px;
    width: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
    background-image: url(/legacy/assets/css/img/next.svg);
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
    background-image: url(/legacy/assets/css/img/prev.svg);
}

.slider-grid--medium, .slider-grid--medium .swiper.slider-grid {
    max-width: 550px;
    overflow: hidden;
}

.activities-slider.slider-grid--large, .activities-slider.slider-grid--large .swiper.slider-grid {
    max-width: 100%;
}

.activities-slider.slider-grid--large .activity-info-card {
    min-width: auto;
    width: 100%;
    text-align: start;
}

.activities-slider.slider-grid--large .slider-grid .swiper-slide {
    display: flex;
    height: auto !important;
    align-items: stretch;
}

.book-present .programm-container .programm-list, .book-activity .programm-list {
    font-weight: 300;
    line-height: 1.44;
    font-size: 14px;
}

.book-present .programm-container .programm-list p, .book-activity .programm-list p {
    font-size: 20px;
    font-weight: 400;
    margin: 0 0 7px;
}

.book-present .section {
    margin-top: 33px;
}

.book-present .section:last-child {
    margin-bottom: 60px;
}

.book-present .section div.section-title {
    font-size: 20px;
    margin: 0;
}

.book-present .section .choice, .book-present .section .price {
    display: flex;
    justify-content: space-between;
    padding: 25px 30px;
}

.book-present .section .choice p, .book-present .section .price p, .book-present .section .extra-total p {
    margin: 0;
}

.book-present .section .choice, .book-present .section > div, .book-room .section > div, .book-activity .section > div, .single-hotel .section .contact-info {
    background: #F1F1F1;
}

.book-present .section div.price {
    background: #FAFAFA;
}

.book-present .section .price p {
    font-size: 30px;
}

.book-present .section > div, .book-room .section > div, .book-activity .section > div {
    padding: 25px 30px;
}

.book-present .section .extra-list, .book-present .section div.section-title, .section > div.col-2, .book-room .section.col-2 > div, .book-activity .section.col-2 > div {
    background: transparent;
    padding: 0;
}

.book-present .section .extra-list .extra-card, .book-room .extra-list .extra-card, .book-activity .extra-list .extra-card {
    background: #F7F7F7;
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    padding: 23px 30px 30px;
    margin-bottom: 10px;
}

.book-present .section .extra-list .extra-card p.title, .book-room .extra-list .extra-card p.title, .book-activity .extra-list .extra-card p.title {
    font-size: 16px;
    margin: 0 0 16px 0;
}

.book-present .section .extra-list .extra-card > div, .book-room .extra-list .extra-card > div, .book-activity .extra-list .extra-card > div {
    display: flex;
    align-items: stretch;
    column-gap: 20px;
}

.book-present .section .extra-list .extra-card > div > img, .book-room .extra-list .extra-card > div > img, .book-activity .extra-list .extra-card > div > img {
    flex-basis: 140px;
    width: 140px;
    min-width: 140px;
    height: 103px;
    object-fit: cover;
    object-position: center;
}

.book-present .section .extra-list .extra-card > div .description, .book-room .extra-list .extra-card > div .description, .book-activity .extra-list .extra-card > div .description {
    max-width: 715px;
    flex-basis: 75%;
    margin: 0;
    font-size: 16px;
    padding: 0;
    font-weight: 400;
}

.book-present .section .extra-list .extra-card > div > div.choose-amount, .book-room .extra-list .extra-card > div > div, .book-activity .extra-list .extra-card > div > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 20px;
}

.book-present .section .extra-list .extra-card > div > div > .amount, .book-room .extra-list .extra-card > div > div > .amount, .book-activity .extra-list .extra-card > div > div > .amount {
    height: 44px;
    width: 54px;
    position: relative;
    background: var(--white-color);
    border: 1px solid #E7E7E7;
    border-radius: 4px;
    margin: auto 0 auto 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.book-present .section .extra-list .extra-card > div > div > .amount p, .book-room .extra-list .extra-card > div > div > .amount p, .book-activity .extra-list .extra-card > div > div > .amount p {
    font-size: 16px;
}

.book-present .section .extra-list .extra-card > div > div > .amount > p, .book-room .extra-list .extra-card > div > div > .amount > p, .book-activity .extra-list .extra-card > div > div > .amount > p {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 26px);
}

.book-present .section .extra-list .extra-card > div > div .amount .option-dropdown, .book-room .extra-list .extra-card > div > div .amount .option-dropdown, .book-activity .extra-list .extra-card > div > div .amount .option-dropdown {
    display: none;
    position: absolute;
    top: 44px;
    left: 0;
    background: var(--white-color);
    border: 1px solid #E7E7E7;
    border-radius: 4px;
    z-index: 50;
    width: 54px;
}

.book-present .section .extra-list .extra-card > div > div .amount .option-dropdown p, .book-room .extra-list .extra-card > div > div .amount .option-dropdown p, .book-activity .extra-list .extra-card > div > div .amount .option-dropdown p {
    padding: 5px 11px;
    margin: 0;
}

.book-present .section .extra-list .extra-card > div > div .amount .option-dropdown p:hover, .book-room .extra-list .extra-card > div > div .amount .option-dropdown p:hover, .book-activity .extra-list .extra-card > div > div .amount .option-dropdown p:hover {
    background: var(--red-color);
    color: var(--white-color);
    cursor: pointer;
}

.book-present .section .extra-list .extra-card > div > div .amount .option-dropdown.show, .book-room .extra-list .extra-card > div > div .amount .option-dropdown.show, .book-activity .extra-list .extra-card > div > div .amount .option-dropdown.show {
    display: block;
}

.book-present .section .extra-list .extra-card > div > div p.extra-price, .book-room .extra-list .extra-card > div > div p.extra-price, .book-activity .extra-list .extra-card > div > div p.extra-price {
    font-size: 30px;
    white-space: nowrap;
    margin: auto 0;
}

.book-present .section .extra-total > div {
    display: flex;
    justify-content: space-between;
    margin-bottom: 12px;
}

.book-present .section .extra-total > div:last-child {
    margin-bottom: 0;
    margin-top: 18px;
}

.book-present .section .extra-total > div:last-child p {
    font-size: 30px;
}

.book-present .section .hotel-requests .fields-sections > div, .book-room .section .hotel-requests .fields-sections > div, .book-activity .section .hotel-requests .fields-sections > div {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

.book-present .section .hotel-requests .fields-sections > div > div, .book-room .section .hotel-requests .fields-sections > div > div, .book-activity .section .hotel-requests .fields-sections > div > div {
    flex-basis: 310px;
    display: flex;
    align-items: center;
    column-gap: 20px;
}

.book-present .section .hotel-requests .fields-sections label, .book-room .section .hotel-requests .fields-sections label, .book-activity .section .hotel-requests .fields-sections label {
    font-size: 16px;
}

.book-present .section .hotel-requests .fields-sections input[type="checkbox"], .book-room .section .hotel-requests .fields-sections input[type="checkbox"], .newsletter-form input[type="checkbox"], .comment-form input[type="checkbox"], .book-activity .section .hotel-requests .fields-sections input[type="checkbox"] {
    margin: 0;
    width: 20px;
    height: 20px;
}

[type="checkbox"]:not(:checked), [type="checkbox"]:checked {
    display: none;
}

[type="checkbox"]:not(:checked) + label, [type="checkbox"]:checked + label {
    position: relative;
    display: flex;
    align-items: center;
    column-gap: 13px;
}

[type="checkbox"]:not(:checked) + label:before {
    content: "";
    min-width: 20px;
    height: 20px;
    font-weight: bold !important;
    border: 1px solid #e31e24;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

[type="checkbox"]:checked + label:before {
    content: "";
    color: var(--white-color);
    font-size: 16px;
    line-height: 15px;
    text-align: center;
    min-width: 20px;
    height: 20px;
    border: 1px solid var(--red-color);
    border-radius: 4px;
    background-color: var(--red-color);
    background-image: url('/legacy/assets/img/tick.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px auto;
    box-sizing: border-box;
}

.book-present .section .hotel-requests .requests-note > p, .book-room .section .hotel-requests .fields-sections .requests-note > p, .book-activity .section .hotel-requests .fields-sections .requests-note > p {
    font-size: 16px;
}

.book-present .section .hotel-requests .requests-note textarea, .book-present .section .coupon .field textarea, .book-room .section .hotel-requests .requests-note textarea, .feedback textarea, .comment-form textarea, .book-activity .section .hotel-requests .requests-note textarea, .hotel-reviews .review-form textarea, .page-container .order-form textarea, .user-reviews-form .review-form textarea, .hotel-container .review .field > textarea {
    width: 100%;
    height: 100px;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
    padding: 15px 20px;
    font-family: 'Poppins';
    font-size: 16px;
}

.book-present .section .hotel-requests .requests-note textarea::placeholder, .book-room .section .hotel-requests .requests-note textarea::placeholder, .comment-form textarea::placeholder, .book-activity .section .hotel-requests .requests-note textarea::placeholder, .hotel-reviews .review-form textarea::placeholder, .user-reviews-form .review-form textarea::placeholder {
    font-weight: 300;
    color: var(--black-color);
}

.book-present .section .section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.book-present .section .section-title p:last-child {
    font-size: 16px;
    margin-top: 0;
}

.book-present .section .section-title p span.red {
    color: var(--red-color);
}

.book-room .section > div.billing {
    padding-bottom: 7px;
}

.book-present .section .billing > p, .book-room .section .billing > p, .book-activity .section .billing > p {
    margin: 5px 0 25px;
    font-size: 20px;
    font-weight: 500;
}

.book-present .section .billing > div, .book-present .section .billing div.col-2, .book-room .section .billing > div, .book-room .section .billing div.col-2, .register-form div.col-2, .comment-form div.col-2, .form div.col-2, .book-activity .section .billing > div, .book-activity .section .billing div.col-2, .hotel-reviews .review-form div.col-2, .reviews .contacts div.col-2, .page-container.account div.col-2 {
    display: flex;
    column-gap: 20px;
}

.book-present .section .billing > div > div, .book-present .section .billing div.col-2 > div, .book-room .section .billing > div > div, .book-room .section .billing div.col-2 > div, .register-form div.col-2 > div, .register-form div.col-2, .comment-form div.col-2 > div, .form div.col-2 > div, .book-activity .section .billing > div > div, .book-activity .section .billing div.col-2 > div, .hotel-reviews .review-form div.col-2 > div, .reviews .contacts div.col-2 > div, .page-container.account div.col-2 > div {
    flex-basis: calc(50% - 10px);
}

.book-present .section .billing .field, .book-room .section .billing .field, .comment-form .field, .form .field, .book-activity .section .billing .field, .hotel-reviews .review-form .field, .reviews .contacts .contact-form .field, .page-container.account .field, .page-container.account .options {
    margin-bottom: 20px;
}

.book-present .section .billing .field label, .book-present .section .coupon .field label, .book-room .section .billing .field label, .register-form .field label, .newsletter-form .field label, .comment-form .field label, .form .field label, .book-activity .section .billing .field label, .hotel-reviews .review-form .field label, .reviews .contacts .contact-form .field label, .page-container.account .field label {
    display: block;
    font-size: 14px;
    color: var(--black-color);
    margin-bottom: 10px;
    text-align: left;
}

.page-container.account .field label.required::after {
    content: " *";
    color: var(--red-color);
}

.book-present .section .billing .field input[type="text"], .book-present .section .billing .field select, .book-present .section .coupon .field input[type="text"], .book-room .section .billing .field input[type="text"], .book-room .section .billing .field select, .subscribe-form input, .register-form .field input[type="text"], .newsletter-form .field input, .comment-form .field input, .form .field input[type="text"], .book-activity .section .billing .field input[type="text"], .book-activity .section .billing .field select, .hotel-reviews .review-form .field input, .reviews .contacts .contact-form .field input[type="text"], .page-container .order-form select, .page-container.account .field input, .page-container.account .field select, .hotel-container .review .field input{
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e31e24;
    border-radius: 4px;
    font-family: 'Poppins';
    font-size: 14px;
    padding: 14px 12px;
    display: block;
}

.field .password {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
    font-size: 14px;
    padding: 14px 12px;
    height: 50px;
}

.field .password input {
    border: none !important;
    width: 100%;
}

.field .password img {
    display: block;
}

.field .help-text {
    display: block;
    text-align: right;
    font-size: 0.85rem;
    color: #6c757d;
    margin-top: 3px;
}

.book-room .section .billing .field select, .book-present .section .billing .field select, .book-activity .section .billing .field select, .page-container .order-form select {
    padding-right: 20px;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(/legacy/assets/css/img/select-down.svg);
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) center;
}

.book-present .section .billing .field input[type="text"]::placeholder, .book-present .section .coupon .field input[type="text"]::placeholder, .book-room .section .billing .field input[type="text"]::placeholder, .subscribe-form input::placeholder, .register-form .field input[type="text"]::placeholder, .comment-form .field input[type="text"]::placeholder, .form .field input[type="text"]::placeholder, .book-activity .section .billing .field input[type="text"]::placeholder, .hotel-reviews .review-form .field input[type="text"]::placeholder, .reviews .contacts .contact-form .field input[type="text"]::placeholder, .page-container.account .field input[type="text"]::placeholder {
    color: var(--black-color);
}

input[type="text"]:focus {
    border: 1px solid var(--red-color);
}

.book-present .section .coupon {
    display: flex;
    column-gap: 30px;
}

.book-present .section .coupon .field:last-child {
    flex-basis: 70%;
}

.book-present .section .coupon .field:first-child {
    flex-basis: 30%;
}

.book-present .section .coupon .field textarea {
    max-width: 618px;
    height: 180px;
}

.book-room .section > div.payment, .book-present .section > div.payment, .book-activity .section > div.payment {
    padding: 30px;
}

.book-present .section .payment > div, .book-room .section .payment > div, .book-activity .section .payment > div {
    margin-bottom: 15px;
    font-size: 14px;
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.book-present .section .payment .payment-options, .book-room .section .payment .payment-options, .book-activity .section .payment .payment-options {
    display: flex;
    max-width: 100%;
    column-gap: 40px;
    margin: 4px 0 30px;
}

.book-present .section .payment .payment-options > div, .book-present .section .payment .payment-options > div label, .book-room .section .payment .payment-options > div, .book-room .section .payment .payment-options > div label, .book-activity .section .payment .payment-options > div, .book-activity .section .payment .payment-options > div label {
    display: flex;
    align-items: center;
    column-gap: 9px;
}

.book-present .section .payment .payment-options input[type="radio"], .book-room .section .payment .payment-options input[type="radio"], .section-with-filter .activity-list .feedback .feedback-subject input[type="radio"], .book-activity .section .payment .payment-options input[type="radio"] {
    accent-color: #808080;
}

.book-present .section .payment p, .book-present .section .payment label, .book-room .section .payment p, .book-room .section .payment label, .section-with-filter .activity-list .feedback .feedback-subject label, .book-activity .section .payment p, .book-activity .section .payment label {
    font-size: 16px;
}

.book-present .section .payment .payment-options > div p, .book-room .section .payment .payment-options > div p, .book-activity .section .payment .payment-options > div p {
    margin: 0;
}

.book-present .section .payment button.btn, .book-room .section .payment button.btn, .book-activity .section .payment button.btn {
    font-size: 14px;
    text-transform: none;
    padding: 18px 25px;
    max-width: 268px;
    margin-top: 30px;
}

.book-room .description, .single-hotel .description {
    font-weight: 500;
    padding-left: 18px;
}

.single-hotel .description {
    margin-bottom: 50px;
}

.book-room .description br {
    height: 0;
}

.book-room .hotel-container, .single-hotel .hotel-container, .single-activity .activity-container {
    display: flex;
    column-gap: 20px;
    margin-bottom: 50px;
}

.single_job_listing .hotel-container {
    justify-content: center;
}

.single-hotel .single_job_listing .hotel-container .hotel-info p {
    font-size: 15px;
}

.single-hotel .contacts .contact-form .col-2 .hotel-option {
    display: none;
}

.book-room .hotel-container > .swiper {
    flex-basis: 66%;
    height: calc(var(--page-width) * 0.66 / 1.25);
}

.book-room .hotel-container > .hotel-info, .single-activity .activity-container > .activity-info {
    flex-basis: 32%;
}

.book-room .hotel-container > .swiper img {
    width: 100%;
    height: calc(var(--page-width) * 0.66 / 1.25);
    object-fit: cover;
    object-position: center;
}

.book-room .hotel-container .hotel-info > div, .single-hotel .hotel-container .hotel-info > div, .single-hotel .mobile-container > div {
    border: 1px solid #BDBDBD;
    padding: 29px 20px 29px 20px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.book-room .hotel-container .hotel-info > div.review, .single-hotel .hotel-container .hotel-info > div.review, .single-hotel .mobile-container > div.review, .single-hotel .hotel-card .hotel-info > div.review {
    padding: 20px 15px 20px 15px;
}

.single-hotel .rooms .hotel-info .review {
    margin-bottom: 0;
}

.book-room .hotel-container .hotel-info p, .single-hotel .hotel-container .hotel-info p {
    font-size: 16px;
    margin-top: 10px;
}

.book-room .hotel-container .hotel-info .review p.hotel-recommends, .single-hotel .hotel-container .hotel-info .review p.hotel-recommends, .single-hotel .mobile-container .review p.hotel-recommends {
    font-size: 12px;
    font-weight: 500;
    margin: 0 0 5px;
    color: red;
    padding-left: 20px;
    border-bottom: 1px solid #BDBDBD;
}

.single-hotel .hotel-container .hotel-info .review p.hotel-recommends {
    border-bottom: none;
}

.single-hotel .hotel-container .hotel-info .review .stars {
    align-items: normal;
    margin-bottom: 5px;
}

.single-hotel .hotel-container .hotel-info .review .stars .rating-info {
    width: 100%;
    justify-content: end;
    white-space: nowrap;
}

.single-hotel .hotel-container .hotel-info .review .stars .rating-info a {
    font-size: 17px;
    color: var(--light-gray-color);
}

.book-room .stars {
    font-size: 14px;
}

.book-room .hotel-container .hotel-info .review p.small, .single-hotel .hotel-container .hotel-info .review p.small {
    margin: 7px 0 0;
}

.book-room .hotel-container .hotel-info .advantages > p, .single-hotel .hotel-container .hotel-info .advantages > p {
    font-size: 18px;
    font-weight: 500;
}

.book-room .hotel-container .hotel-info .advantages p, .single-hotel .hotel-container .hotel-info .advantages p, .single-hotel .hotel-container .hotel-info .newsletter-block h3, .single-hotel .hotel-container .hotel-info .newsletter-block, .single-hotel .hotel-container .hotel-info .vacancy-address p  {
    margin-top: 0;
}

.book-room .hotel-container .hotel-info .advantage, .advantages .advantage {
    display: flex;
    align-items: center;
    column-gap: 15px;
    margin-bottom: 15px;
}

.book-room .hotel-container .hotel-info .advantage:last-child, .single-hotel .hotel-container .hotel-info .advantage:last-child, .single-hotel .hotel-container .hotel-info .vacancy-address .hotel-address {
    margin-bottom: 0;
}

.book-room .hotel-container .hotel-info .advantage img, .single-hotel .hotel-container .hotel-info .advantage img {
    padding: 5px 0;
    border: 1px solid #E0E0E0;
    border-radius: 5px;
    width: 50px;
    height: 34px;
}

.book-room .hotel-container .hotel-info .advantage p, .single-hotel .hotel-container .hotel-info .advantage p {
    margin: 0;
}

.book-room .section, .book-present .section, .book-activity .section {
    margin-bottom: 50px;
}

.book-room .section > p, .book-activity .section > p {
    font-size: 20px;
    font-weight: 500;
}

.book-room .section p.section-title, .book-present .section p.section-title, .book-present .section .section-title p:first-child, .book-activity .section p.section-title, .single-hotel .section p.section-title, .room .section p.section-title {
    margin: 0 0 19px;
    font-weight: 500;
    font-size: 20px;
    color: var(--red-color);
}

.single-hotel .section p.section-title.black {
    color: var(--black-color);
}

.section.col-2, .section .col-2 {
    display: flex;
    column-gap: 30px;
}

.book-room .section.col-2 > .small-col, .book-activity .section.col-2 > .small-col {
    flex-basis: 255px;
}

.book-room .section.col-2 > .big-col, .book-activity .section.col-2 > .big-col {
    flex-basis: calc(100% - 285px);
}

.section .col-2 > div, .book-activity .section.col-2 > div, .book-room .section.col-2 > div {
    flex-basis: 50%;
}

.book-activity .date-field, .book-room .date-field {
    display: flex;
    column-gap: 20px;
}

.book-activity .date-field > div, .book-room .date-field > div {
    flex-basis: calc(50% - 10px);
}

.book-room .search-filter, .book-activity .search-filter, .single-hotel .search-filter {
    height: auto;
    /* margin-bottom: 50px; */
}

.book-room .date-field .field, .book-activity .date-field .field, .single-hotel .search-filter .field {
    margin-bottom: 20px;
}

.book-room .search-filter a, .book-activity .search-filter a, .single-hotel .search-filter a {
    width: 100%;
    max-width: 100%;
}

.book-room table.room-choice, .book-activity table.room-choice {
    border-collapse: collapse;
    width: 100%;
}

.book-room .room-choice.mobile, .book-activity .room-choice.mobile {
    display: none;
}

.book-room table.room-choice thead tr, .book-room table.room-choice tbody tr:nth-child(even), .book-activity table.room-choice thead tr, .book-activity table.room-choice tbody tr:nth-child(even) {
    background: #F1F1F1;
}

.book-room table.room-choice tbody tr:nth-child(odd), .book-activity table.room-choice tbody tr:nth-child(odd) {
    background: #FAFAFA;
}

.book-room table.room-choice tbody tr:hover, .book-room table.room-choice tbody tr.active, .book-activity table.room-choice tbody tr:hover, .book-activity table.room-choice tbody tr.active {
    background: var(--red-color);
    color: var(--white-color);
    cursor: pointer;
}

.book-room table.room-choice th, .book-room table.room-choice td, .book-activity table.room-choice th, .book-activity table.room-choice td {
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    padding: 12px 23px;
    height: 50px;
}

.book-room table.room-choice th, .book-activity table.room-choice th {
    font-weight: 500;
}

.book-room table.room-choice td, .book-activity table.room-choice td {
    font-weight: 400;
}

.book-room table.room-choice tr td:first-child, .book-room table.room-choice tr th:first-child, .book-activity table.room-choice tr td:first-child, .book-activity table.room-choice tr th:first-child {
    text-align: left;
}

.book-room table.room-choice tbody tr:hover td .room-amount, .book-room .room-choice .room-amount, .book-activity table.room-choice tbody tr:hover td .room-amount, .book-activity .room-choice .room-amount {
    color: var(--black-color);
    border-radius: 4px;
}

.book-room table.room-choice td .room-amount, .book-room .room-choice.mobile .room-amount, .book-activity table.room-choice td .room-amount, .book-activity .room-choice.mobile .room-amount {
    position: relative;
    background: var(--white-color);
    margin: 0 auto;
    padding: 0;
    width: 44px;
    height: 29px;
    border-radius: 4px;
}

.book-room .room-choice.mobile .room-amount, .book-activity .room-choice.mobile .room-amount {
    margin: 0;
}

.book-room table.room-choice td .room-amount .active-choice, .book-room .room-choice.mobile .room-amount .active-choice, .book-activity table.room-choice td .room-amount .active-choice, .book-activity .room-choice.mobile .room-amount .active-choice {
    background: var(--white-color);
    padding: 0 8px;
    margin: 0;
    width: 44px;
    height: 29px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 4px;
    border: 1px solid #EBEBEB;
}

.book-room table.room-choice tr:hover td .room-amount .active-choice, .book-activity table.room-choice tr:hover td .room-amount .active-choice {
    border-color: transparent;
    border-radius: 4px;
}

.book-room table.room-choice td .room-amount .option-dropdown, .book-room .room-choice.mobile .room-amount .option-dropdown, .book-activity table.room-choice td .room-amount .option-dropdown, .book-activity .room-choice.mobile .room-amount .option-dropdown {
    display: none;
    position: absolute;
    top: 29px;
    left: 0;
    width: 141px;
    background: var(--white-color);
    border: 1px solid #EBEBEB;
    border-radius: 4px;
    z-index: 50;
}

.book-room table.room-choice td .room-amount .option-dropdown.show, .book-room .room-choice.mobile .room-amount .option-dropdown.show, .book-activity table.room-choice td .room-amount .option-dropdown.show, .book-activity .room-choice.mobile .room-amount .option-dropdown.show {
    display: block;
}

.book-room table.room-choice td .room-amount .option-dropdown .option, .book-room .room-choice.mobile .room-amount .option-dropdown .option, .book-activity table.room-choice td .room-amount .option-dropdown .option, .book-activity .room-choice.mobile .room-amount .option-dropdown .option {
    display: flex;
    column-gap: 5px;
    padding: 5px 10px;
}

.book-room table.room-choice td .room-amount .option-dropdown .option:hover, .book-room .room-choice.mobile .room-amount .option-dropdown .option:hover, .book-activity table.room-choice td .room-amount .option-dropdown .option:hover, .book-activity .room-choice.mobile .room-amount .option-dropdown .option:hover {
    background: var(--red-color);
    color: var(--white-color);
}

.book-room table.room-choice td .room-amount .option-dropdown .option p, .book-room .room-choice.mobile .room-amount .option-dropdown .option p, .book-activity table.room-choice td .room-amount .option-dropdown .option p, .book-activity .room-choice.mobile .room-amount .option-dropdown .option p {
    margin: 0;
}

.book-room table.room-choice td .room-amount .option-dropdown .option p:first-child, .book-activity table.room-choice td .room-amount .option-dropdown .option p:first-child {
    width: 20px;
}

.swiper.room-slider {
    max-width: calc(var(--page-width) / 2 - 15px);
    height: calc((var(--page-width) / 2 - 13px) / 1.52);
}

.swiper.room-slider img {
    width: 100%;
    height: calc((var(--page-width) / 2 - 13px) / 1.52);
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

.book-room .room-description, .book-activity .room-description {
    font-size: 14px;
    line-height: 1.6;
}

.book-room p.btn.extra, .book-activity p.btn.extra {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    text-transform: none;
    text-align: center;
    font-size: 14px;
    padding: 12px 30px;
    max-width: 506px;
    background: var(--red-color);
    color: var(--white-color);
    border-radius: 4px;
}

.book-room .section > div.extra-list-box, .book-activity .section > div.extra-list-box {
    display: none;
    padding: 0;
    background: transparent;
    margin-top: 45px;
}

.book-room .section > div.extra-list-box.show, .book-activity .section > div.extra-list-box.show {
    display: block;
}

.book-room .section > div.extra-list-box > p, .book-activity .section > div.extra-list-box > p {
    font-weight: 500;
    font-size: 20px;
}

.book-room .extra-total, .book-room .coupon-box, .book-activity .extra-total, .book-activity .coupon-box {
    background: #F1F1F1;
    padding: 30px 25px 30px 45px;
}

.book-room .extra-total table, .book-activity .extra-total table {
    margin-bottom: 40px;
}

.book-room .extra-total td, .book-activity .extra-total td {
    margin: 0;
    font-size: 16px;
}

.book-room .extra-total td, .book-activity .extra-total td {
    white-space: nowrap;
    padding: 20px 6px 0 6px;
    line-height: 1;
}

.book-room .extra-total td:first-child, .book-activity .extra-total td:first-child {
    padding-left: 0;
}

.book-room .extra-total td:first-child, .book-activity .extra-total td:first-child {
    padding-right: 0;
}

.book-room .extra-total td.separator, .book-activity .extra-total td.separator {
    width: 100%;
    border-bottom: 1px solid #E6E6E6;
}

.book-room .extra-total tr:last-child td, .book-activity .extra-total tr:last-child td {
    margin: 0;
    color: var(--red-color);
    text-transform: uppercase;
}

.book-room .coupon-box, .book-activity .coupon-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
    width: calc(var(--page-width) / 2 - 15px);
}

.book-room .coupon-box > *, .book-activity .coupon-box > * {
    max-width: 332px;
    width: 100%;
    margin: 0 auto;
}

.book-room .coupon-box p, .book-activity .coupon-box p {
    font-size: 20px;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 12px;
}

.book-room .coupon-box div, .book-activity .coupon-box div {
    display: flex;
    column-gap: 10px;
}

.book-room .coupon-box input[type="text"], .book-activity .coupon-box input[type="text"] {
    width: calc(50% - 5px);
    box-sizing: border-box;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
    font-family: 'Poppins';
    font-size: 16px;
    padding: 12px;
    display: block;
    text-align: center;
    letter-spacing: 6px;
}

.book-room .coupon-box input[type="text"]::placeholder, .book-activity .coupon-box input[type="text"]::placeholder {
    color: #7A7A7A;
}

.book-room .coupon-box button, .book-activity .coupon-box button {
    text-transform: none;
    font-size: 14px;
    padding: 17px 19px;
    width: calc(50% - 5px);
    background: var(--red-color);
    color: var(--white-color);
    border-radius: 4px;
    border: none;
}

.book-room .section > div.price-rate, .book-activity .section > div.price-rate {
    display: flex;
    column-gap: 20px;
    background: transparent;
    min-height: 196px;
    padding: 0;
}

.book-room .price-rate > div, .book-activity .price-rate > div {
    flex-basis: 50%;
    padding: 20px;
    background: #f1f1f1;
    padding: 20px;
}

.book-room .price-rate div div, .book-activity .price-rate div div {
    border: 1px solid transparent;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px 20px 20px 60px;
    height: 100%;
}

.book-room .price-rate div div.checked, .book-activity .price-rate div div.checked {
    border-color: var(--red-color);
}

.book-room .price-rate > div input[type="radio"], .book-activity .price-rate > div input[type="radio"], .hotel-reviews .review-form .like-options input[type="radio"], .account-page .review-form .like-options input[type="radio"] {
    display: none;
}

.book-room .price-rate > div p, .book-activity .price-rate > div p {
    font-size: 20px;
    margin: 0 0 5px;
}

.book-room .price-rate > div p.small, .book-activity .price-rate > div p.small {
    font-size: 14px;
    color: #777777;
    margin: 0;
}

.price-range {
    margin-top: 19px;
}

.book-room .section > div.hotel-requests, .book-present .section > div.hotel-requests, .book-activity .section > div.hotel-requests {
    padding: 30px;
}

.book-room .section > div.hotel-requests .fields-sections, .book-present .section > div.hotel-requests .fields-sections, .book-activity .section > div.hotel-requests .fields-sections {
    display: grid;
    grid-template-columns: repeat(3, auto);
}

.book-room .section .hotel-requests .fields-sections > div, .book-present .section > div.hotel-requests .fields-sections > div, .book-activity .section .hotel-requests .fields-sections > div {
    column-gap: 10px;
    flex-wrap: nowrap;
    align-items: center;
}

.book-room .section .hotel-requests .requests-note p, .book-activity .section .hotel-requests .requests-note p {
    margin-top: 5px;
    margin-bottom: 8px;
}

.holidays h2 {
    margin-bottom: 10px;
}

.holidays > p {
    margin-top: 0;
    margin-bottom: 50px;
}

.holidays .section-with-filter {
    column-gap: 20px;
    margin-top: 30px;
}

.holidays .section-with-filter .filter, .btn-offers {
    width: 274px;
    border-radius: 4px;
}

.holidays .section-with-filter .filter .open-filter {
    display: flex;
    border-bottom: 1px solid #BDBDBD;
}

.holidays .section-with-filter .filter .open-filter img {
    display: none;
}

.section-with-filter .filter .open-filter p {
    padding: 0 20px 0;
    font-size: 18px;
    margin-bottom: 13px;
}

.holidays .section-with-filter .filter > div > .field {
    margin-bottom: 10px;
}

.price-input {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
}

.section-with-filter .filter .price-input .field {
    margin-bottom: 0;
}

.price-input p {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
}

.slider {
    height: 4px;
    position: relative;
    background: #bbbbbb;
}

.slider .progress {
    height: 100%;
    left: 0%;
    right: 0%;
    position: absolute;
    background: var(--red-color);
}

.range-input {
    position: relative;
}

.range-input input {
    position: absolute;
    width: 100%;
    height: 5px;
    top: -5px;
    margin: 0;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type="range"]::-webkit-slider-thumb {
    height: 14px;
    width: 14px;
    border-radius: 50%;
    background: var(--red-color);
    pointer-events: auto;
    -webkit-appearance: none;
}

input[type="range"]::-moz-range-thumb {
    height: 14px;
    width: 14px;
    border: none;
    border-radius: 50%;
    background: var(--red-color);
    pointer-events: auto;
    -moz-appearance: none;
}

.section-with-filter .filter p.field-label.bigger {
    font-size: 14px;
}

.section-with-filter .filter p.filter-sections-label {
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 10px 0;
    column-gap: 15px;
}

.section-with-filter .filter p.filter-sections-label.red {
    color: var(--red-color);
    margin: 25px 0 10px;
}

.holidays .section-with-filter .filter p.field-label {
    margin-bottom: 19px;
}

.holidays .section-with-filter .filter .field .option-wrapper {
    margin-bottom: 15px;
    margin-top: 0;
}

.holidays .section-with-filter .filter .field .option-wrapper:last-child {
    margin-bottom: 0;
}

.section-with-filter .activity-list {
    flex-basis: calc(100% - 294px);
}

.section-with-filter .activities-list .activity-card {
    border: 1px solid #BDBDBD;
    margin-bottom: 20px;
    padding: 30px 11px 30px 20px;
    display: flex;
    column-gap: 30px;
}

.section-with-filter .activities-list .activity-card .activity-image {
    flex-basis: 190px;
}

.section-with-filter .activities-list .activity-card .activity-description .hotel-info {
    flex-basis: 199px;
}

.section-with-filter .activities-list .activity-card .activity-image img, .section-with-filter .activities-list .activity-card .activity-description .hotel-info img {
    width: 190px;
    height: 142px;
    object-fit: cover;
    object-position: center;
    margin-bottom: 15px;
}

.section-with-filter .activities-list .activity-card .activity-description .hotel-info img {
    margin-bottom: 0;
}

.section-with-filter .activities-list .activity-card .activity-description {
    flex-basis: calc(100% - 229px);
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    justify-content: center;
}

.section-with-filter .activities-list .activity-card .activity-description .activity-info {
    flex-basis: calc(100% - 229px);
}

.section-with-filter .activities-list .activity-card .activity-description p.title {
    margin: 0 0 12px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3;
    text-align: left;
}

.section-with-filter .activities-list .activity-card .activity-description p.title a {
    color: var(--black-color);
    text-decoration: none;
}

.section-with-filter .activities-list .activity-card .activity-description p.booking-offer {
    font-size: 12px;
    margin: 5px 0 5px 0;
    font-weight: 300;
    color: #4F4F4F;
}

.section-with-filter .activities-list .activity-card .activity-description .booking-term, .page-container.account .account-page .saved-list .saved-card .saved-card-info .booking-term {
    margin-bottom: 17px;
    font-size: 14px;
    line-height: 1;
    align-items: flex-end;
    font-weight: 300;
    color: #4F4F4F;
}

.section-with-filter .activities-list .activity-card .activity-description .booking-term img, .page-container.account .account-page .saved-list .saved-card .saved-card-info .booking-term img {
    height: 16px;
}

.section-with-filter .activities-list .activity-card .activity-description .programm {
    font-size: 14px;
    line-height: 1.5;
    padding-right: 0;
}

.section-with-filter .activities-list .activity-card .activity-description .programm br {
    height: 0;
}

.section-with-filter .activities-list .activity-card .hotel-info p.hotel-title {
    font-weight: 500;
    font-size: 14px;
    color: var(--red-color);
    opacity: 0.9;
    margin: 0 0 12px;
    line-height: 1.2;
}

.section-with-filter .activities-list .activity-card .hotel-info .stars {
    margin-top: 8px;
}

.section-with-filter .activities-list .activity-card .hotel-info .stars p {
    margin: 0;
}

.section-with-filter .activities-list .activity-card .btns {
    margin-top: 23px;
    display: flex;
    column-gap: 10px;
}

.section-with-filter .activities-list .activity-card .btns a {
    font-size: 18px;
    text-transform: none;
    padding: 11px 0;
    min-width: 234px;
    min-height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.section-with-filter .activity-list .items {
    margin-top: 20px;
    display: flex;
    column-gap: 15px;
}

.section-with-filter .activity-list .items p {
    margin: 0;
    font-size: 16px;
    font-weight: 300;
}

ul.pagination {
    margin: 23px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    column-gap: 6px;
}

ul.pagination li {
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    border-radius: 50%;
}

ul.pagination li.active, ul.pagination li:hover {
    color: var(--white-color);
    background: var(--red-color);
}

ul.pagination li.disabled {
    display: none;
}

ul.pagination li a {
    text-decoration: none;
    color: var(--black-color);
}

ul.pagination li.active a, ul.pagination li:hover a, ul.pagination li:hover a path {
    color: var(--white-color);
}

.section-with-filter .activity-list .feedback {
    margin-top: 50px;
}

.section-with-filter .activity-list .feedback > p {
    font-size: 16px;
    font-weight: 300;
    margin-bottom: 18px;
}

.section-with-filter .activity-list .feedback .feedback-subject {
    max-width: 460px;
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 5px;
    margin-top: 15px;
}

.section-with-filter .activity-list .feedback .feedback-subject > div {
    display: flex;
    align-items: center;
    column-gap: 9px;
}

.section-with-filter .activity-list .feedback .feedback-subject input[type="radio"] {
    margin: 0;
    width: 20px;
    height: 20px;
}

.section-with-filter .activity-list .feedback .feedback-subject label p {
    font-size: 14px;
    margin: 0;
}

.feedback-note {
    margin-bottom: 20px;
    margin-bottom: 9px;
}

.feedback textarea {
    max-width: 570px;
    height: 100px;
}

.feedback-note p {
    font-size: 14px;
    margin-top: 20px;
}

.section-with-filter .activity-list .feedback a {
    padding: 11px 20px;
    text-transform: none;
    width: 240px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.single-hotel .mobile-container {
    display: none;
}

.single-hotel .hotel-container {
    position: relative;
}

.single-hotel .hotel-container .brekfast-label, .book-activity .hotel-container .brekfast-label {
    position: absolute;
    top: 55px;
    left: 0;
    padding: 9px 17px;
    background: var(--red-color);
    color: var(--white-color);
    font-size: 14px;
    z-index: 50;
}

.single-hotel .hotel-container .hotel-card {
    flex-basis: calc(var(--page-width) - 392px);
    position: relative;
}

.gallery-container .swiper.hotel-slider .swiper-slide {
    text-align: center;
}

.single-hotel .hotel-container .hotel-card .swiper.hotel-slider, .single-hotel .hotel-container .hotel-card .swiper.hotel-slider img, .gallery-container .swiper.hotel-slider {
    width: calc(var(--page-width) - 392px);
    height: calc((var(--page-width) - 392px) / 1.34);
}

.gallery-container .swiper.hotel-slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-hotel .hotel-container .swiper.swiper-thumbs, .book-activity .hotel-container .swiper.swiper-thumbs, .gallery-container .swiper.swiper-thumbs {
    margin-top: 15px;
}

.single-hotel .hotel-container .swiper.swiper-thumbs img, .book-activity .hotel-container .swiper.swiper-thumbs img, .gallery-container .swiper.swiper-thumbs img {
    width: 100%;
    height: 72px;
    object-fit: cover;
    object-position: center;
}

.single-hotel .hotel-container .swiper.swiper-thumbs .swiper-slide, .book-activity .hotel-container .swiper.swiper-thumbs .swiper-slide, .gallery-container .swiper.swiper-thumbs .swiper-slide {
    border: 3px solid transparent;
    max-width: 95px;
    opacity: .4
}

.single-hotel .hotel-container .swiper.swiper-thumbs .swiper-slide-thumb-active, .book-activity .hotel-container .swiper.swiper-thumbs .swiper-slide-thumb-active, .gallery-container .swiper.swiper-thumbs .swiper-slide-thumb-active {
    border: 3px solid var(--red-color);
    height: 78px;
    opacity: 1;
}

.single-hotel .hotel-container .hotel-title {
    font-size: 20px;
    font-weight: 500;
    margin-top: 40px;
}

.single-hotel .description {
    padding-left: 0;
}

.single-hotel .section p.section-title {
    margin-top: 25px;
    text-align: center;
}

.single-hotel .section#hotelinformationen p.section-title {
    margin-top: 0;
    padding-top: 50px;
}

.single-hotel .section .contact-info {
    padding: 25px 20px;
}

.single-hotel .section .contact-info > div {
    display: flex;
    column-gap: 20px;
    padding: 30px 0;
    border-bottom: 1px solid #EBEBEB;
}

.single-hotel .section .contact-info > div:first-child {
    padding-top: 0;
}

.single-hotel .section .contact-info > div:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.single-hotel .section .contact-info p {
    margin: 0;
    font-size: 16px;
}

.single-hotel .section .contact-info a {
    color: var(--red-color);
    text-decoration: none;
}

.single-hotel .section .contact-info > div > p:first-child {
    flex-basis: 180px;
    width: 180px;
}

.single-hotel .section .contact-info > div > p:last-child, .single-hotel .section .contact-info > div > div:last-child {
    flex-basis: calc(100% - 200px);
}

.single-hotel .section .contact-info .contacts > div {
    display: flex;
    align-items: flex-start;
    column-gap: 9px;
    margin-bottom: 5px;
}

.single-hotel .section .contact-info .contacts > div img {
    margin-top: 3px;
}

.single-hotel .section .contact-info .contacts > div a {
    display: block;
}

.single-hotel .section .contact-info .payments {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    max-width: 325px;
}

.single-hotel .section .contact-info .payments img {
    width: 70px;
    height: 48px;
    object-fit: cover;
    border-radius: 4px;
}

.single-hotel .section iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}

.single-hotel .hotel-container .hotel-info > div.hotel-buttons, .single-hotel .hotel-container .hotel-info > div.wishlist, .single-hotel .mobile-container > div.hotel-buttons {
    background: transparent;
    padding: 0;
    border: none;
}

.single-hotel .hotel-container .hotel-info > div.hotel-buttons a, .single-hotel .mobile-container > div.hotel-buttons a {
    margin-bottom: 10px;
    text-transform: none;
    font-size: 14px;
    display: flex;
    align-items: center;
}

.single-hotel .hotel-container .hotel-info > div.hotel-buttons a:hover, .single-hotel .mobile-container > div.hotel-buttons a:hover {
    background: var(--red-color);
}

.single-hotel .hotel-container .hotel-info > div.wishlist {
    display: flex;
    column-gap: 20px;
}

.single-hotel .hotel-container .hotel-info > div.best-price p {
    font-size: 14px;
}

.single-hotel .hotel-container .hotel-info > div.best-price p.red {
    color: var(--red-color);
    font-size: 18px;
    margin-top: 0;
    margin-bottom: 10px;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews p {
    margin: 0;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews p.small {
    font-size: 12px;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews .guests-review {
    padding: 30px 0;
    border-bottom: 1px solid #E2E2E2;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews .guests-review:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews .guests-review > div {
    display: flex;
    column-gap: 14px;
    align-items: center;
    margin-bottom: 11px;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews .guests-review > div > p {
    flex-basis: calc(100% - 180px);
    font-size: 18px;
    line-height: 1;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews .guests-review > div .stars, .single-hotel .hotel-container {
    margin-bottom: 0;
}

.single-hotel .hotel-container .hotel-info > div.guests-reviews .guests-review > p {
    font-size: 14px;
    color: var(--red-color);
}

.single-hotel .hotel-container .hotel-info .hotel-info, .single-hotel .hotel-container .hotel-info .newsletter p {
    font-size: 14px;
}

.register-container {
    margin: 180px auto;
    max-width: 766px;
}

.register-container h2 {
    font-size: 50px;
    margin-bottom: 36px;
}

.register-form div.col-2 > div {
    flex-basis: 50%;
}

.register-form p {
    margin: 8px 0 15px;
}

.register-form .checkbox, .comment-form .checkbox {
    font-size: 14px;
    display: flex;
    align-items: center;
    margin-bottom: 30px;
    column-gap: 10px;
}

.register-form .checkbox input[type="checkbox"], .newsletter-form .checkbox input[type="checkbox"], .form .checkbox input[type="checkbox"], .book-room .section .payment input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    border: 1px solid #E9E9E9;
}

.register-form .checkbox label a {
    color: var(--red-color);
    text-decoration: none;
}

.register-form button.btn {
    max-width: 180px;
    width: 180px;
    padding: 15px 0;
}

.checkbox label p {
    margin: 0;
}

.page-container > .col-2 {
    display: flex;
    align-items: flex-start;
    column-gap: 25px;
}

.col-2 > .career-info {
    flex-basis: 70%;
}

.career-info h3, .all-hotels h3 {
    margin-top: 47px;
    margin-bottom: 15px;
    font-size: 30px;
    line-height: 1;
}

.career-info h3:first-child {
    margin-top: 0;
}

.career-info p {
    margin: 15px 0 20px;
}

.career-info > a {
    text-decoration: none;
    color: var(--red-color);
    font-size: 14px;
}

.career-info > a:hover {
    text-decoration: underline;
}

.career-info br.none {
    height: 0;
}

.col-2 > .newsletter {
    max-width: 372px;
    padding: 30px 27px 43px 43px;
    background: #F7F7F7;
    border-radius: 4px;
}

.newsletter p {
    margin: 0 0 13px;
    line-height: 1.6;
}

.newsletter p span {
    color: var(--red-color);
}

.newsletter .field {
    margin-bottom: 15px;
}

.newsletter .checkbox {
    color: var(--red-color);
    display: flex;
    align-items: flex-start;
    column-gap: 10px;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 15px;
}

.newsletter .checkbox label {
    align-items: flex-start;
}

.newsletter .checkbox label p {
    line-height: 1.4;
}

.newsletter button.btn, .newsletter-form .field input {
    max-width: 289px;
}

.all-hotels .hotels-list {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 34px;
}

.all-hotels .hotels-list .hotel-card {
    flex-basis: calc((100% - 60px) / 4);
}

.all-hotels .hotels-list .hotel-card img {
    width: 100%;
    height: calc((var(--page-width) - 60px) / 4 / 1.5);
    object-fit: cover;
}

.all-hotels .hotels-list .hotel-card p {
    margin: 0;
}

.all-hotels .hotels-list .hotel-card p.title {
    font-size: 18px;
    font-weight: 500;
    color: var(--red-color);
}

.col-2 > .blog-container, .question-form > .blog-container {
    flex-basis: 70%;
}

.col-2 > .blog-container > p {
    margin-top: 0;
    margin-bottom: 30px;
}

.posts-list .post {
    position: relative;
    border: 1px solid var(--border-light-gray);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 32px;
    transition: box-shadow .2s;
}

.posts-list .post .stretched-link::after {
    content: "";
    position: absolute;
    inset: 0;
}

.posts-list .post:hover {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.posts-list .post .post-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--gray-color);
}

.posts-list .post > .post-thumb > img.post-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.posts-list .post .post-body {
    padding: 24px;
}

.posts-list .post h3.post-title {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
    color: #111111;
    opacity: 0.9;
    margin: 0 0 16px;
}

.posts-list .post .post-info, .post .post-container .post-info {
    display: flex;
    flex-wrap: wrap;
    column-gap: 24px;
    row-gap: 8px;
    border-bottom: 1px dashed #DEDEDE;
    padding-bottom: 16px;
}

.posts-list .post .post-info > div, .post .post-container .post-info > div {
    display: flex;
    align-items: center;
}

.posts-list .post .post-info > div.tags, .post .post-container .post-info > div.tags {
    align-items: flex-start;
}

.posts-list .post .post-info > div > img, .post .post-container .post-info > div > img {
    margin-right: 14px;
    height: 16px;
}

.posts-list .post .post-info > div.tags > img, .post .post-container .post-info > div.tags > img {
    height: 18px;
    margin-top: 2px;
}

.posts-list .post .post-info > div p, .post .post-container .post-info > div p {
    margin: 0;
}

.posts-list .post .tags .tags-list, .post .post-container .post-info .tags .tags-list {
    display: flex;
    flex-wrap: wrap;
}

.posts-list .post .tags a, .post .post-container .post-info .tags a {
    display: block;
    text-decoration: none;
    color: var(--black-color);
    font-size: 14px;
}

.posts-list .post .tags, .post .post-container .post-info .tags {
    font-size: 14px;
}

.posts-list .post .excerpt {
    margin: 16px 0;
    line-height: 1.6;
}

.posts-list .post a.btn {
    max-width: 158px;
    margin-top: 8px;
}

.page-container.post > h2 {
    max-width: 70%;
}

.post .post-container {
    flex-basis: 70%;
    line-height: 1.6;
    font-size: 14px;
}

.post .post-container .post-info {
    margin-bottom: 30px;
}

.post .post-container > a {
    color: var(--red-color);
    text-decoration: none;
}

.post .post-container.post-image img {
    width: 100%;
    height: auto;
}

.post.region-post .post-container.post-image img {
    max-height: 480px;
    object-fit: cover;
}

.post .post-container .gallery {
    margin: 30px 0;
    display: flex;
    column-gap: 30px;
}

.post .post-container .gallery > img {
    width: calc((100% - 90px) / 4);
    height: calc((var(--page-width) * 0.7 - 140px) / 4);
    object-fit: cover;
    object-position: center;
}

.post .comments-container {
    margin-top: 50px;
}

.post .comments-container .comments-count {
    font-size: 18px;
}

.post .comments-container .comment-content {
    display: flex;
    column-gap: 16px;
    align-items: flex-start;
    border-bottom: 1px dashed #DEDEDE;
}

.post .comments-container .comment-content img.mobile {
    display: none;
}

.post .comments-container .comment-content .user-name {
    color: var(--red-color);
    margin: 0;
}

.post .comments-container .comment-content .comment-text {
    margin-top: 5px;
    margin-bottom: 34px;
}

.post .comments-container .comment-info {
    margin-left: 60px;
    display: flex;
    column-gap: 20px;
}

.post .comments-container .comment-info > p {
    margin-top: 10px;
    margin-bottom: 0;
}

.post .comments-container .comment-info .reply {
    display: flex;
    align-items: center;
    column-gap: 10px;
    color: var(--red-color);
}

.post .comments-container .reply-list {
    margin-left: 50px;
    margin-top: 27px;
}

.post .comments-container .add-comment p {
    margin: 5px 0;
}

.post .comments-container .add-comment p.box-title {
    margin-top: 0;
    font-size: 18px;
    font-weight: 500;
}

.post .comments-container .add-comment .comment-form {
    margin-top: 20px;
}

.comment-form textarea {
    height: 160px;
}

.comment-form button.btn {
    max-width: 275px;
}

.newsletterbestaetigung {
    margin-top: 15px;
}

.newsletterbestaetigung > * {
    max-width: 700px;
}

.newsletterbestaetigung > div {
    display: flex;
    align-items: center;
    column-gap: 35px;
    margin-bottom: 40px;
}

.newsletterbestaetigung > div h2 {
    margin: 0;
}

.newsletterbestaetigung > div p {
    font-size: 18px;
    font-weight: 500;
    margin: 8px 0 0;
}

.newsletterbestaetigung > p {
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 32px;
}

.newsletterbestaetigung > p span.red {
    color: var(--red-color);
}

.newsletterbestaetigung .divider {
    margin: 32px 0;
}

.newsletterbestaetigung br {
    height: 0;
}

.restaurant .title-section, .events .title-section {
    margin: 75px auto 44px;
    max-width: 730px;
}

.events .title-section {
    max-width: 980px;
}

.restaurant .title-section h2, .events .title-section h2 {
    margin: 0;
}

.restaurant .title-section p, .events .title-section p {
    margin: 5px 0 24px;
}

.restaurant .title-section p:last-child, .events .title-section p:last-child {
    margin-bottom: 0;
}

.events .cards-container {
    margin-bottom: 45px;
}

.cards-container .cards-row {
    margin-bottom: 20px;
    display: flex;
    align-items: stretch;
    min-height: 368px;
}

.cards-container .cards-row .img-card {
    flex-basis: calc(50% - 20px);
}

.events .cards-container .cards-row .img-card {
    flex-basis: 50%;
}

.cards-container .cards-row .img-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
}

.cards-container .cards-row .text-card {
    flex-basis: calc(50% + 20px);
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    padding-left: 90px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cards-container .cards-row:nth-child(even) .text-card {
    border-right-width: 0px;
}

.cards-container .cards-row:nth-child(odd) .text-card {
    border-left-width: 0px;
}

.cards-container .cards-row .text-card > * {
    max-width: 392px;
}

.restaurant .reservation {
    max-width: 730px;
    margin: 40px auto 0;
}

.restaurant .reservation > p {
    margin-bottom: 25px;
}

.restaurant .reservation > p:first-child {
    margin-bottom: 0;
}

.restaurant .reservation .reservation-form {
    max-width: 568px;
    margin: 37px auto;
}

.restaurant .reservation .reservation-form .checkbox {
    color: var(--red-color);
    margin-bottom: 30px;
}

.restaurant .reservation .reservation-form button.btn {
    max-width: 275px;
}

.ebook h2 {
    max-width: 840px;
}

.ebook p.box-title {
    margin-top: 20px;
    padding-left: 7px;
    margin-bottom: 10px;
}

.ebook .col-2 {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
    padding-left: 7px;
}

.ebook .col-2 > div {
    flex-basis: 50%;
    max-width: 430px;
}

.form.subscribe-form .field {
    margin-bottom: 14px;
}

.ebook .subscribe-form input {
    padding-left: 24px;
}

.ebook .col-2 > img {
    max-width: 500px;
}

.ebook .checkbox {
    color: var(--red-color);
    font-size: 14px;
}

.ebook button.btn {
    margin-top: 20px;
}

.faq__category-title {
    margin-top: 40px;
}

.faq__questions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.faq__item {
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    padding: 20px;
}

.faq__question {
    margin-top: 0;
}

.faq__answer {
    font-size: 14px;
}

.events > div.align-center {
    max-width: 785px;
    margin: 0 auto;
}

.single-hotel .hotel-container > .rooms-list {
    flex-basis: calc(var(--page-width) - 392px);
}

.rooms-list .room-card {
    display: flex;
    column-gap: 20px;
    background: #F7F7F7;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 23px 20px 20px 26px;
}

.rooms-list .room-card > img {
    flex-basis: 150px;
    width: 150px;
    height: 150px;
    object-fit: cover;
}

.rooms-list .room-card .room-info {
    flex-basis: calc(100% - 170px);
    max-width: 483px;
}

.rooms-list .room-card .room-info .title {
    margin: 0;
    font-weight: 500;
    font-size: 20px;
    color: var(--red-color);
    line-height: 1;
    opacity: 0.9;
}

.rooms-list .room-card .room-info .description {
    font-weight: 400;
    margin-bottom: 25px;
    margin-top: 10px;
}

.rooms-list .room-card .room-info .icons-block {
    display: flex;
    column-gap: 20px;
    margin-bottom: 23px;
}

.rooms-list .room-card .room-info .icons-block > div {
    text-align: center;
    font-size: 14px;
    line-height: 1;
}

.rooms-list .room-card .room-info .icons-block > div > div {
    background: #EEEEEE;
    border-radius: 4px;
    width: 44px;
    height: 36px;
    padding: 8px 0;
    margin-bottom: 6px;
}

.rooms-list .room-card .room-info .icons-block > div > div img {
    display: block;
    margin: 0 auto;
    height: 20px;
    width: auto;
}

.rooms-list .room-card .room-info .btns {
    display: flex;
    column-gap: 10px;
}

.rooms-list .room-card .room-info .btns a.btn {
    margin-right: 0;
    min-width: 160px;
    padding: 18px 35px;
}

.single-hotel .hotel-container .review-form, .single-hotel .hotel-container .review-list .review-card, .account-page .user-reviews-form .review-form {
    padding: 30px;
    background: #F1F1F1;
}

.single-hotel .hotel-container .review-form .form-title, .account-page .user-reviews-form .review-form .form-title {
    font-weight: 500;
    font-size: 18px;
    margin: 5px 0 9px;
}

.single-hotel.hotel-reviews .hotel-container > .reviews {
    flex: 2;
}

.account-page .user-reviews-form .hotel-container > .reviews {
    flex-basis: calc(100% - 170px);
}

.hotel-reviews .review-form div.col-2 > div.bigger-col, .account-page .review-form div.col-2 > div.bigger-col {
    flex-basis: calc(100% - 260px);
}

.hotel-reviews .review-form div.col-2 > div.rating-box, .account-page .review-form div.col-2 > div.rating-box {
    flex-basis: 240px;
}

.hotel-reviews .review-form label, .account-page .review-form label {
    font-size: 14px;
}

.hotel-reviews .review-form .like-options, .account-page .review-form .like-options {
    display: flex;
    column-gap: 17px;
    margin-top: 18px;
}

.account-page .review-form .like-options .active .like path, .hotel-reviews .review-form .like-options .active .like path {
    stroke: #0DA074;
    opacity: 1 !important;
}

.account-page .review-form .like-options .active .dislike path, .hotel-reviews .review-form .like-options .active .dislike path {
    stroke: var(--red-color);
    opacity: 1 !important;
}

.hotel-reviews .likes .red-likes, .hotel-reviews .likes .gray-likes, .account-page .review-form .likes .red-likes, .account-page .review-form .likes .gray-likes {
    column-gap: 10px;
}

.hotel-reviews .likes .red-likes, .account-page .review-form .likes .red-likes {
    position: relative;
    height: 18px;
}

.hotel-reviews .likes .red-likes svg.red path, .account-page .review-form .likes .red-likes svg.red path {
    fill: var(--red-color);
    opacity: 1 !important;
}

.hotel-reviews .likes .gray-likes, .account-page .review-form .likes .gray-likes {
    width: 130px;
    opacity: 0.4;
}

.hotel-reviews .rating-box > div, .account-page .rating-box > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.hotel-reviews .rating-box > div > p, .hotel-reviews .likes, .account-page .rating-box > div > p, .account-page .review-form .likes {
    margin: 0;
}

.hotel-reviews .review-form button.btn, .account-page .review-form button.btn {
    margin-top: 25px;
    max-width: 260px;
}

/* .single-hotel .hotel-container .review-list{
    margin-top: 20px;
} */

.single-hotel .hotel-container .review-list .review-card {
    margin-bottom: 20px;
    display: flex;
    column-gap: 20px;
    justify-content: space-between;
}

.single-hotel .hotel-container .review-list .review-card .user-info {
    /* flex-basis: 125px; */
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.single-hotel .hotel-container .review-list .review-card .review-info {
    flex-basis: calc(100% - 145px);
}

.single-hotel .hotel-container .review-list .review-card .user-info > img {
    width: 80px;
    height: auto;
    margin-bottom: 16px;
}

.single-hotel .hotel-container .review-list .review-card .user-info p {
    margin: 0;
    text-align: center;
    font-size: 12px;
}

.single-hotel .hotel-container .review-list .review-card .user-info p br {
    height: 0;
}

.single-hotel .hotel-container .review-list .review-card .user-info p.name {
    font-size: 16px;
    margin-bottom: 4px;
}

.single-hotel .hotel-container .review-list .review-card .user-info p.reply {
    color: var(--red-color);
}

.single-hotel .hotel-container .review-list .review-card .review-info > p.title {
    font-size: 18px;
    font-weight: 500;
    color: var(--red-color);
    margin: 0 0 8px 0;
}

.single-hotel .hotel-container .review-list .review-card .review-info .stars {
    margin-top: 0;
}

.single-hotel .hotel-container .review-list .review-card .review-info > p.review-text {
    margin: 25px 0 30px 0;
}

.single-hotel .hotel-container .review-list .review-card .review-info .rating-box {
    width: 240px;
    margin-bottom: 30px;
}

.single-hotel .hotel-container .review-list .review-card .review-info .rating-box > div {
    margin-bottom: 12px;
}

.single-hotel .hotel-container .review-list .review-card .review-info p.more {
    margin: 0 0 11px 0;
    color: var(--red-color);
    display: flex;
    align-items: center;
    column-gap: 8px;
}

.single-hotel .hotel-container .review-list .review-card .review-info p.more svg {
    margin-top: 1px;
}

.single-hotel .hotel-container .review-list .review-card .review-info .helpfull-review {
    display: flex;
    align-items: center;
    column-gap: 14px;
}

.single-hotel .hotel-container .review-list .review-card .review-info .helpfull-review img {
    width: 42px;
    height: auto;
}

.single-hotel .hotel-container .review-list .review-card .review-info .helpfull-review p {
    margin: 0;
}

.single-hotel .hotel-container .reviews .contacts {
    margin-top: 97px;
}

.single-hotel .hotel-container .reviews .contacts h3 {
    font-size: 30px;
    font-weight: 500;
    max-width: 568px;
    margin: 0 auto 25px;
}

.reviews .contacts .contact-form .field {
    margin-bottom: 14px;
}

.reviews .contacts .contact-form button.btn {
    margin-top: 30px;
    width: 100%;
}

.contacts .contact-form .field label {
    display: block;
    font-size: 14px;
    color: var(--black-color);
    margin-bottom: 10px;
    text-align: left;
}

.contacts {
    padding: 0 20px;
}

.contacts h3 {
    font-weight: 500;
    text-align: center;
}

.vacancy-contact-section .contacts div.col-2 {
    margin: 0;
}

.contacts div.col-2 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 260px;
}

.single_job_listing .page-subtitle {
    margin-top: 7px;
}

.single_job_listing .contacts {
    margin-top: 50px;
}

.single_job_listing .contacts div.col-2 {
    margin: 0px 150px;
}

.contacts .contact-form .field {
    margin-bottom: 14px;
}

.contacts div.col-2 > div {
    flex-basis: 100%;
}

.contacts .col-2.form-row > div {
    flex-basis: 50%;
}

.contacts .col-2.form-row {
    flex-wrap: nowrap;
    gap: 10px;
}

.contacts .contact-form {
    margin-top: 10px;
}

.contact-form .field input, .contact-form .field textarea, .contact-form .field select, .field select, .review-search .search-input, .field textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #e31e24;
    border-radius: 4px;
    font-family: 'Poppins', serif;
    font-size: 14px;
    padding: 14px 12px;
    display: block;
}

.contact-form .field select, .page-container.account .field select, .field select {
    background: white;
}

.contacts .contact-form button.btn {
    margin-top: 30px;
    width: 100%;
}

.contacts .disabled-hotel .field input {
    background-color: transparent;
    color: var(--black-color);
}

.events-container {
    display: grid;
    grid-template-columns: 274px 2fr 274px;
    gap: 10px;
    grid-template-rows: auto;
    padding-bottom: 10px;
}

.events-container .contacts .col-2, .events-container .contacts .col-2.form-row {
    margin: 0;
}

.events-container .contacts {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
}

.events-container .contacts .col-2:last-of-type .field:last-child {
    margin-bottom: 0;
}

.events-container .activity-info-card:nth-child(-n+2) {
    grid-column: 1 / 2;
    grid-row: span 1;
}

.events-container .activity-info-card:nth-child(3) {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}

.events-container .activity-info-card:nth-child(4) {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
}

.page-container .choosed-date {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.page-container .choosed-date .your-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 15px;
}

.page-container .choosed-date .date-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 174px;
    width: 176px;
    border: 2px solid #34CF31;
    border-radius: 5px;
    row-gap: 14px;
    padding: 10px;
}

.page-container .choosed-date .date-card p {
    margin: 0;
}

.page-container .choosed-date .date-card p {
    font-size: 16px;
}

.page-container .choosed-date .date-card p.location {
    font-size: 20px;
}

.page-container .choosed-date .your-date > img {
    width: 20px;
    height: auto;
}

.page-container .choosed-date .your-date > p {
    font-size: 16px;
}

.page-container .choosed-date .your-date > p, .page-container .choosed-date .more-options p {
    margin: 0;
}

.page-container .choosed-date .more-options {
    display: flex;
    align-items: center;
    column-gap: 28px;
}

.page-container .choosed-date .more-options p {
    max-width: 136px;
    text-align: center;
    font-size: 18px;
}

.page-container .choosed-date .options-list {
    display: flex;
    column-gap: 20px;
}

.page-container .choosed-date .options-list .date-card {
    background: #E3FFE6;
    border-color: #E3FFE6;
}

.page-container.order > img {
    display: block;
    margin: 27px auto 60px;
}

.page-container.order .title h2 {
    font-weight: 500;
    font-size: 50px;
    color: var(--red-color);
    text-align: center;
    margin-bottom: 12px;
}

.page-container.order .title p {
    font-size: 16px;
    text-align: center;
    margin: 0;
}

.page-container .order-form {
    max-width: 568px;
    margin: 36px auto 0;
}

.page-container .order-form .section-title {
    margin: 50px 0 22px;
    font-weight: 500;
    font-size: 20px;
}

.page-container .order-form .section-title br {
    height: 0;
}

.page-container .order-form .section {
    padding: 25px 38px;
    background: #F7F7F7;
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    font-size: 16px;
}

.page-container .order-form .section table td {
    padding: 7px 0 7px 40px;
}

.page-container .order-form .section table tr td:first-child {
    padding-left: 0;
}

.page-container .order-form .section table tr.red td {
    color: var(--red-color);
}

.page-container .order-form .fields-sections {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.page-container .order-form .fields-sections > div {
    flex-basis: calc((100% - 15px) / 2);
    display: flex;
    align-items: center;
    column-gap: 9px;
}

.page-container .order-form .fields-sections label {
    font-size: 16px;
}

.page-container .order-form select {
    margin-bottom: 50px;
}

.page-container.account {
    display: flex;
    align-items: self-start;
    column-gap: 36px;
}

.page-container.account .account-menu {
    flex-basis: 274px;
    min-width: 274px;
    background: #F7F7F7;
    border-radius: 4px;
    padding: 45px 0;
}

.page-container.account .account-menu > img {
    display: block;
    margin: 0 auto 10px;
}

.page-container.account .account-menu > p {
    margin: 0;
    text-align: center;
    font-size: 12px;
}

.page-container.account .account-menu > p.user-name {
    font-size: 18px;
    color: var(--red-color);
}

.page-container.account .account-menu ul {
    margin-top: 35px;
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.page-container.account .account-menu ul li {
    padding: 17px 20px 17px 50px;
}

.page-container.account .account-menu ul li.active, .page-container.account .account-menu ul li:hover {
    background-color: var(--red-color);
}

.page-container.account .account-menu ul li a {
    color: var(--black-color);
    text-decoration: none;
    display: flex;
    align-items: center;
    column-gap: 15px;
}

.page-container.account .account-menu ul li.active a, .page-container.account .account-menu ul li:hover a {
    color: var(--white-color);
}

.page-container.account .account-menu ul li.active path, .page-container.account .account-menu ul li:hover path {
    stroke: var(--white-color);
}

.page-container.account .account-page {
    flex-basis: 100%;
}

.page-container.account .account-page .page-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.page-container.account .account-page .page-title h2 {
    color: var(--red-color);
    margin: 0;
    font-size: 50px;
    line-height: 1.15;
}

.page-container.account .account-page .page-title button {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--black-color) !important;
    width: 200px;
    padding: 18px 23px 18px 35px;
    font-weight: 500;
}

.page-container.account .account-page .page-title button:hover {
    background: var(--dark-red);
    color: var(--white-color) !important;
}

.page-container.account .account-page .page-title button:hover path {
    stroke: var(--white-color);
}

.page-container.account .account-page .page-title .account-search {
    display: none;
}

.page-container.account .account-page .page-title .account-search.open {
    display: block;
    position: absolute;
    top: calc(100% + 20px);
    left: 0;
    border: 1px solid #E9E9E9;
    border-radius: 4px;
    padding: 40px 38px;
    width: 100%;
    background: var(--white-color);
    z-index: 50;
}

.page-container.account .account-page .page-title .account-search .search-hotel > p {
    font-size: 20px;
    font-weight: 500;
    color: var(--red-color);
    margin: 0 0 12px 0;
}

.page-container.account .account-page .page-title .account-search .search-hotel .search-options {
    display: flex;
    flex-wrap: wrap;
    background: #E9E9E9;
    border-radius: 4px;
    padding: 10px 9px;
    column-gap: 6px;
    row-gap: 10px;
}

.page-container.account .account-page .page-title .account-search .search-hotel .search-options .hotel-location {
    flex-basis: calc(40% - 5px);
}

.page-container.account .account-page .page-title .account-search .search-hotel .search-options .calendar {
    flex-basis: calc(60% - 5px);
}

.page-container.account .account-page .page-title .account-search .search-hotel .search-options .zimmer-select {
    flex-basis: calc(100% - 139px);
}

.page-container.account .account-page .page-title .account-search .search-hotel .search-options button {
    width: 133px;
    margin-bottom: 0;
    color: #ffffff !important;
    justify-content: center;
    padding: 0;
}

.page-container.account .account-page .section-title {
    padding: 15px 13px 9px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 50px;
    margin-bottom: 32px;
}

.page-container.account .account-page .section-title p {
    margin: 0 0 6px 0;
}

.page-container.account .account-page .section-title p.title {
    margin: 0 0 6px 0;
    font-size: 16px;
    font-weight: 500;
}

.page-container.account .account-page .photo-field {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    column-gap: 20px;
    margin-top: 40px;
    margin-bottom: 35px;
}

.page-container.account .account-page .photo-field img {
    width: 55px;
    height: 55px;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
}

.page-container.account .account-page .photo-field .file-btn {
    padding: 15px 28px;
    border: 1px solid #DCDCDC;
    border-radius: 5px;
    max-height: 50px;
    width: 146px;
}

.page-container.account .account-page .photo-field .file-btn label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--red-color);
}

.page-container.account .account-page button.red-btn {
    margin-bottom: 40px;
}

.account-search .search-options .zimmer-option.show {
    width: 284px;
}

.page-container.account .account-search .search-options .field input[type="text"].search-date {
    border: none;
}

.page-container.account .account-search .search-options .field input[type="text"].personen-number, .page-container.account .account-search .search-options .field input[type="text"].zimmer-number {
    border: none;
    background: transparent;
    font-family: 'Poppins';
    font-size: 14px;
    width: 25px;
    text-align: center;
    padding: 0;
}

.page-container.account .account-page .saved-list, .page-container.account .account-page .user-reviews-list, .page-container.account .account-page .booking-list {
    margin-top: 35px;
}

.page-container.account .account-page .saved-list .saved-card {
    margin-bottom: 40px;
}

.page-container.account .account-page .saved-list .saved-card .saved-type {
    display: flex;
    column-gap: 11px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.page-container.account .account-page .saved-list .saved-card .saved-type > div {
    display: flex;
    column-gap: 11px;
    align-items: center;
}

.page-container.account .account-page .saved-list .saved-card .saved-type p {
    margin: 0;
}

.page-container.account .account-page .saved-list .saved-card .saved-type p.saved-date {
    color: var(--red-color);
    font-size: 12px;
    margin-top: 1px;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info, .page-container.account .account-page .user-reviews-list .reviews-card-info, .page-container.account .account-page .booking-list .booking-card-info {
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    padding: 23px 16px 16px 16px;
    display: flex;
    column-gap: 37px;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info > img, .page-container.account .account-page .user-reviews-list .reviews-card-info > img, .page-container.account .account-page .booking-list .booking-card-info > img {
    flex-basis: 36%;
    max-width: 286px;
    height: 214px;
    object-fit: cover;
    object-position: center;
}

.page-container.account .account-page .booking-list .booking-card-info > img {
    flex-basis: 25%;
    max-width: 164px;
    height: 123px;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description, .page-container.account .account-page .user-reviews-list .reviews-card-info .reviews-card-description, .page-container.account .account-page .booking-list .booking-card-info .booking-card-description {
    flex-basis: calc(64% - 30px);
    max-width: calc(100% - 323px);
    display: flex;
    column-gap: 40px;
}

.page-container.account .account-page .booking-list .booking-card-info .booking-card-description {
    flex-basis: calc(75% - 30px);
    max-width: calc(100% - 204px);
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description > div.hotel {
    width: 100%;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description > div.hotel > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 6px;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation-box p.percent-recomendation {
    display: none;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info p.percent-recomendation {
    margin-bottom: 0;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info p.title {
    margin-top: 0;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation {
    max-width: 165px;
    text-align: right;
    white-space: normal;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation {
    height: 20px;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info a.btn, .page-container.account .account-page .user-reviews-list .reviews-card .reviews-card-info a.btn {
    max-width: 222px;
    margin-right: 0;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description > a.btn {
    display: none;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-info {
    flex-basis: 49%;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-hotel {
    flex-basis: calc(51% - 40px);
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-info p.title {
    margin-bottom: 12px;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-hotel img {
    width: 126px;
    height: 95px;
    object-fit: cover;
    object-position: center;
}

.page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-hotel p {
    font-weight: 500;
    color: var(--red-color);
    max-width: 185px;
}

.page-container.account .account-page .user-reviews-list .reviews-card, .page-container.account .account-page .booking-list .booking-card {
    margin-bottom: 20px;
}

.page-container.account .account-page .user-reviews-list .reviews-card-info .reviews-card-description, .page-container.account .account-page .booking-list .booking-card-info .booking-card-description {
    display: block;
}

.page-container.account .account-page .user-reviews-list .reviews-card p.date, .page-container.account .account-page .user-reviews-form > p.review-date, .page-container.account .account-page .booking-list .booking-card p.date {
    margin: 0 0 25px 0;
    color: var(--red-color);
    font-size: 12px;
}

.page-container.account .account-page .booking-list .booking-card p.date {
    margin-bottom: 0;
}

.page-container.account .account-page .user-reviews-form > p.hotel-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 18px;
}

.page-container.account .account-page .booking-list .booking-card p.price {
    text-align: right;
    font-weight: 500;
    font-size: 30px;
    margin: 5px 0 0;
}

.page-container.account .account-page .booking-list .booking-card-info {
    position: relative;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu {
    position: absolute;
    top: 11px;
    right: 20px;
    background: transparent;
    border-radius: 4px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu:hover {
    cursor: pointer;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu.show {
    background: #F7F7F7;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu > img {
    width: 4px;
    height: auto;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu ul {
    position: absolute;
    right: 0;
    top: 51px;
    display: none;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu ul.show {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 213px;
    background: #FFFFFF;
    border: 1px solid #F1F1F1;
    border-radius: 4px;
    z-index: 10;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu ul.show li {
    padding: 15px 20px;
    font-size: 14px;
}

.page-container.account .account-page .booking-list .booking-card-info .extra-menu ul.show li:hover {
    cursor: pointer;
    background: #F1F1F1;
}

.swiper-thumbs .swiper-slide:hover {
    cursor: pointer;
}

.room .swiper-thumbs .swiper-slide {
    border: 2px solid transparent;
}

.room .swiper-thumbs .swiper-slide.swiper-slide-thumb-active {
    border: 2px solid var(--red-color);
}

.room .swiper-thumbs img {
    height: 84px;
    object-fit: cover;
    display: block;
}

.single-room-slider img {
    width: 100%;
    height: calc(var(--page-width) / 1.51);
}

.single-room-slider .swiper-button-next, .single-room-slider .swiper-button-prev {
    height: 40px !important;
    width: 40px !important;
    border-radius: 50%;
    background: rgba(227, 30, 36, 0.2);
}

.single-room-slider .swiper-button-next:after, .single-room-slider .swiper-rtl .swiper-button-prev:after, .single-room-slider .swiper-button-prev:after, .single-room-slider .swiper-rtl .swiper-button-next:after {
    font-size: 16px !important;
    height: 16px;
    text-align: center;
}

.single-room-slider .swiper-button-next:after, .single-room-slider .swiper-rtl .swiper-button-prev:after {
    content: 'next' !important;
}

.single-room-slider .swiper-button-prev:after, .single-room-slider .swiper-rtl .swiper-button-next:after {
    content: 'prev' !important;
}

.room .rooms-btn {
    margin: 20px 0 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.room .rooms-btn > a.btn, .room .rooms-btn > a.active:hover {
    display: block;
    flex-basis: calc((var(--page-width) - 30px) / 4);
    max-width: calc((var(--page-width) - 30px) / 4);
    width: calc((var(--page-width) - 30px) / 4);
    margin: 0;
    color: var(--black-color) !important;
    background: transparent;
    font-weight: 500;
}

.room .rooms-btn > a.active, .room .rooms-btn > a:hover {
    color: var(--white-color) !important;
    background: var(--dark-red);
}

.room .section {
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 40px 43px;
}

.room .section p {
    font-size: 16px;
    max-width: 930px;
}

.room .section a.btn.transparent-btn {
    max-width: 293px;
    color: var(--black-color) !important;
    font-weight: 500;
}

.room .section a.btn.transparent-btn:hover {
    color: var(--white-color) !important;
}

.room table {
    width: 100%;
}

.room table tr td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding: 32px 30px 32px 0;
    font-size: 16px;
    vertical-align: top;
}

.room table tr:last-child td {
    border-bottom: none;
}

.room table tr td:first-child {
    font-weight: 600;
}

.room table td p {
    margin: 0;
}

.room table .col-2 {
    column-gap: 20px;
}

.room table td ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.room table td ul li {
    margin-bottom: 10px;
}

.room table td ul li:last-child {
    margin-bottom: 0;
}

.login .register-form div.col-2, .forgot-password .register-form div.field {
    margin-bottom: 20px;
}

.login .register-form .forgot-password a {
    color: var(--black-color);
    font-size: 14px;
}

.login .register-form .checkbox {
    margin-bottom: 0;
}

.login .register-form .btns, .forgot-password .register-form .btns {
    display: flex;
    column-gap: 10px;
}

.login .register-form button.btn, .forgot-password .register-form button.btn {
    margin-right: 0;
}

.login .register-form .btn, .forgot-password .register-form .btn {
    max-width: 180px;
    width: 180px;
}

.login .register-form a.btn, .forgot-password .register-form a.btn {
    color: var(--black-color) !important;
}

.login .register-form a.btn:hover, .forgot-password .register-form a.btn:hover {
    color: var(--white-color) !important;
}

.register-container.forgot-password {
    max-width: 502px;
}

.register-container.forgot-password .register-form {
    max-width: 372px;
    margin: 0 auto;
}

.register-container .success-message {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 30px auto 0;
}

.register-container.forgot-password .success-message {
    min-height: 135px;
    max-width: 372px;
}

.register-container .success-message svg {
    display: none;
}

.register-container .success-message svg:hover {
    cursor: pointer;
}

.register-container .success-message.show {
    background: #E3FFE6;
    border-radius: 5px;
    padding: 14px 20px;
    margin-bottom: 12px;
}

.register-container.forgot-password .success-message.show {
    padding: 32px 50px;
}

.register-container .success-message.show svg {
    display: block;
}

.register-container .success-message p {
    margin: 0;
}

.register-container .success-message.show.error {
    background: #F9F0F2;
    border-radius: 5px;
    min-height: 0;
    color: var(--red-color);
}

.calendar-container .calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    background: var(--red-color);
    color: var(--white-color);
}

.calendar-container .calendar-header span, .calendar-container .calendar-header span svg {
    display: block;
    max-height: 18px;
}

.calendar-container .calendar-header span:hover {
    cursor: pointer;
}

.calendar-container .calendar-header p {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
}

.calendar-container .calendar {
    padding: 0 0 20px 0;
}

.calendar-container .calendar ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    text-align: center;
    padding: 0;
    margin: 0;
}

.calendar-container .calendar .days {
    margin-bottom: 20px;
}

.calendar-container .calendar li {
    color: var(--black-color);
    width: calc(100% / 7);
    font-size: 14px;
}

.calendar-container .calendar .weeks li {
    font-weight: 500;
    cursor: default;
    margin: 0px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.calendar-container .calendar .days li {
    z-index: 1;
    cursor: pointer;
    position: relative;
    margin: 0px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.calendar-container .days li.inactive {
    background: #F1F1F1;
}

.calendar-container .days li.active {
    color: var(--white-color);
    background: var(--red-color);
    border-radius: 5px;
}

.calendar-container .days li.active.range {
    border-radius: 0;
}

.calendar-container .days li.active.range.start {
    border-radius: 5px 0 0 5px;
}

.calendar-container .days li.active.range.end {
    border-radius: 0 5px 5px 0;
}

.calendar-container .days li span {
    display: none;
}

.calendar-container .days li:hover span {
    position: absolute;
    left: 0;
    bottom: 45px;
    display: block;
    width: 120px;
    background: var(--white-color);
    z-index: 50;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
    color: var(--black-color);
    text-align: left;
    font-size: 11px;
    padding: 7px 5px;
}

.calendar-container .markers {
    display: flex;
    align-items: center;
    column-gap: 20px;
    font-size: 14px;
}

.calendar-container .markers div {
    display: flex;
    align-items: center;
    column-gap: 10px;
}

.calendar-container .markers span {
    display: block;
    width: 22px;
    height: 22px;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
}

.calendar-container .markers span.taken {
    background-color: #F1F1F1;
}

.calendar-container .markers span.selected {
    background-color: var(--red-color);
}

.book-activity .person-choice > p, .book-room .person-choice > p {
    font-size: 14px;
    margin: 30px 0 9px;
    font-weight: 600;
}

.book-activity .person-choice > div, .book-room .person-choice > div {
    display: flex;
    align-items: center;
    column-gap: 2px;
}

.book-activity .person-choice > div p, .book-room .person-choice > div p {
    color: var(--black-color);
    border-radius: 50%;
    width: 35px;
    height: 35px;
    text-align: center;
    padding: 7px 0;
}

.book-activity .person-choice > div p.active, .book-room .person-choice > div p.active {
    background: var(--red-color);
    color: var(--white-color);
}

.rooms-options {
    position: relative;
}

.rooms-options .preloader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.4);
}

.rooms-options .preloader img {
    width: 60px;
}

.vacancy-description-table .vacancy-available {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    font-size: 17px;
    color: var(--dark-gray);
}

.vacancy-description-table {
    display: flex;
    align-items: center;
    list-style: none;
    justify-content: center;
    margin-top: 20px;
    gap: 15px;
}

.vacancy-description-table .vacancy-cta-item a.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    font-size: 14px;
}

.vacancy-features-table {
    min-width: 200px;
}

.advantages {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.advantages .advantage {
    display: flex;
    align-items: center;
    column-gap: 15px;
    margin: 0;
}

.advantages .advantage .advantage-image {
    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 40px;
    border: 1px solid #E0E0E0;
    border-radius: 5px;
}

.advantages .advantage .advantage-image img {
    border: none;
    padding: 5px 5px;
    max-height: 100%;
}

.vacancy-advantages-cards {
    display: flex;
    align-items: stretch;
    column-gap: 15px;
}

.vacancy-advantages-cards {
    flex-wrap: wrap;
}

.vacancy-advantages-cards > div {
    width: calc((var(--page-width) - 60px) / 5);
}

.vacancy-advantages-card {
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    min-width: 150px;
}

.list {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
    display: flex;
}

.list > ul {
    min-width: 300px;
}

.job-section-title {
    color: var(--red-color);
    text-align: center;
    padding-top: 25px;
    margin-top: 0;
}

.job-filter {
    display: flex;
    flex-direction: row;
    column-gap: 10px;
    margin-bottom: 10px;
    justify-content: center;
}

.job-filter #vacancy-filter-form {
    width: 100%;
}

.job-filter #vacancy-filter-form select {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
    font-family: 'Poppins', serif;
    font-size: 14px;
    padding: 10px 12px;
    display: block;
    background: white;

}

.job-filter .col-3 {
    display: flex;
    flex-wrap: wrap;
    column-gap: 20px;
    row-gap: 12px;
    align-items: flex-start;
    width: 100%;
}

.job-filter-field {
    display: flex;
    flex-direction: column;
    row-gap: 6px;
    flex: 1 1 0;
}

.job-filter-field--wide {
    flex: 2 1 0;
}

.job_listing {
    display: flex;
    flex-direction: row;
    padding: 20px;
    column-gap: 30px;
    align-items: center;
    position: relative;
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    margin-bottom: 16px;
}

.job_listing:last-child {
    margin-bottom: 0;
}

.job_listing-about {
    display: flex;
    width: 100%;
    align-items: center;
    column-gap: 50px;
}

.job_listing-clickbox {
    flex-grow: 1;
}

.job_listing-clickbox .company_logo {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.job_listing-position {
    min-width: 40%;
}

.job_listing-title {
    color: var(--red-color);
    font-weight: 700;
    margin: 0 0 4px;
}

.job_listing-position > div {
    margin: 0;
}

a.job_listing-cta {
    display: none;
}

.job_listing-location {
    min-width: 20%;
}

.job_listing-meta {
    min-width: 30%;
    padding-left: 0;
}

.vacancy-tags {
    display: flex;
    justify-content: center;
    column-gap: 12px;
    flex-wrap: wrap;
}

.vacancy-tags .tag {
    margin-bottom: 7px;
}

.job-type, .job_listing-type {
    font: 700 12px/normal Montserrat, sans-serif;
    text-transform: uppercase;
    text-align: center;
    color: #797979;
    background-color: var(--white-color);
    border: 1px solid #797979;
    border-radius: 4px;
    display: inline-block;
    padding: 3px 10px;
    margin-bottom: 2px;
    min-width: 150px;
}

.job_listing-type {
    cursor: pointer;
}

.job_listing-type:hover {
    color: var(--red-color);
    border-color: var(--red-color);
}

.job_listing-type.active {
    color: var(--white-color);
    background-color: var(--red-color);
    border-color: var(--red-color);
}

.job_listings-counter {
    font-weight: 600;
    color: var(--dark-gray-btn);
    margin: 0 0 15px;
}

.single-product .page-header .sale .onsale {
    font: 700 12px/normal Montserrat, sans-serif;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    border-radius: 4px;
    display: inline-block;
    padding: 3px 10px;
    margin-bottom: 2px;
    min-width: 150px;
}

.search_jobs, .search_resumes, .cluster div, .price-option__title, .entry-header__featured-image:hover .overlay, .widget_price_filter .ui-slider-horizontal .ui-slider-range {
    background-color: var(--red-color);
}

.job_listing-date {
    list-style: none;
}

.job_listing-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.job-employees-section > div {
    display: flex;
    justify-content: center;
    column-gap: 50px;
    margin: 10px 0;
}

.vacancy-employer-info {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-width: 350px;
    text-align: center;
    padding-bottom: 10px;
    padding-top: 10px;
}

.vacancy-employer-info p.grey br {
    height: unset;
}

img.karrier-testimonial-photo {
    border-radius: 100px;
}

.job-employees-section {
    margin: 50px 0;
}

.package-filter-admin {
    display: flex;
    flex-direction: row;
    column-gap: 10px;
    margin-bottom: 10px;
}

.package-filter-admin-row {
    width: 33.33%;
}

.admin-panel {
    margin-top: 10px;
}

.urlab-subtitle {
    text-align: center;
    line-height: 1;
    font-size: 20px;
}

.page-container .question-form {
    display: flex;
    justify-content: center;
}

.package-filter-admin .package-filter-admin-row select {
    width: calc(100% - 20px);
    box-sizing: border-box;
    border: 1px solid #e31e24;
    font-family: 'Poppins';
    border-radius: 4px;
    font-size: 14px;
    padding: 14px 12px;
    display: block;
    background: white;
}

#region {
    min-height: 50px;
    display: flex;
    align-items: center;
    background: var(--white-color);
    font-size: 14px;
    border: 1px solid #E2E2E2;
    border-radius: 4px;
    width: 90%;
    padding: 9px 13px 10px;
    margin-left: 14px;
}

.vacancy {
    font-size: 28px;
    margin: 50px 0;
    font-weight: 500;
    line-height: 1.15;
}

.grey {
    color: #797979;
}

.vacancy > p, .vacancy-info > p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;
}

.benefits-list {
    column-count: 3;
}

.vacancy-info-cards {
    display: flex;
    align-items: stretch;
    column-gap: 20px;
}

.vacancy-info-cards {
    flex-wrap: wrap;
}

.vacancy-info-cards > div {
    width: calc((var(--page-width) - 60px) / 3);
    border: 1px solid #EEEEEE;
    border-radius: 4px;
}

.vacancy-info > h2 {
    text-align: center;
    color: #797979;
}

.vacancy-info > div {
    display: flex;
    justify-content: center;
    column-gap: 50px;
}

.vacancy-contact-form {
    width: 70%;
}

.vacancy-contact-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    min-width: 230px;
}

.vacancy-contact-info img {
    margin-top: 10px;
    width: 100%;
}

a.vacancy-whatsapp-cta {
    display: inline-flex;
    align-items: center;
    column-gap: 8px;
    margin: 10px 0;
    padding: 8px 16px;
    background: rgba(227, 30, 36, 0.08);
    border-radius: 20px;
    color: var(--red-color);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background-color .2s;
}

a.vacancy-whatsapp-cta:hover {
    background: rgba(227, 30, 36, 0.16);
}

.vacancy-contact-info .vacancy-whatsapp-cta img {
    width: 16px;
    height: 18px;
    margin-top: 0;
}

a.whatsapp-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    background: var(--white-color);
    border: 2px solid var(--whatsapp-green);
    color: var(--whatsapp-green) !important;
}

a.whatsapp-share-btn:hover {
    background: rgba(15, 122, 108, 0.08);
    color: var(--whatsapp-green) !important;
}

a.job_listing-whatsapp {
    display: none;
    flex-shrink: 0;
    white-space: nowrap;
}

button.whatsapp-share-btn img {
    flex-shrink: 0;
}

@media (max-width: 1330px) {
    .header-container {
        width: var(--page-width);
    }

    .menu {
        display: none;
    }

    .mob-menu {
        display: block;
    }

    .mob-menu .menu-btn {
        margin-left: 10px;
    }

    .mob-menu .menu-btn .close-btn {
        display: none;
        height: 16px;
        margin: 0 5px;
    }

    .mob-menu .menu-btn.open .close-btn {
        display: block;
    }

    .mob-menu .menu-btn.open .open-btn {
        display: none;
    }

    .mob-menu .site-menu {
        display: none;
    }

    .mob-menu .site-menu.open {
        display: block;
        position: absolute;
        top: 100%;
        right: 0;
        width: 360px;
        background: #ffffff;
        z-index: 250;
        margin: 0;
        padding: 0;
        list-style: none;
        border: 1px solid #EEEEEE;
    }

    .mob-menu .site-menu > li {
        position: relative;
    }

    .mob-menu .site-menu a {
        text-decoration: none;
        color: var(--black-color);
        font-size: 16px;
        display: flex;
        align-items: center;
        min-height: 50px;
        padding: 5px 50px 5px 39px;
        justify-content: space-between;
    }

    .mob-menu .site-menu a.active {
        background: #f4f4f4;
    }

    .mob-menu .site-menu .show-children {
        margin-right: 5px;
        right: calc((100vw - var(--page-width)) / 2);
        top: 5px;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 14px;
        border-radius: 8px;
        width: 36px;
        height: 36px
    }

    .mob-menu .site-menu .show-children.active svg {
        transform: rotate(180deg);
    }

    .mob-menu .site-menu .show-children svg path {
        stroke: var(--red-color);
    }

    .mob-menu .site-menu .sub-menu {
        display: none;
    }

    .mob-menu .site-menu .sub-menu.open {
        display: block;
        list-style: none;
        padding: 0;
    }

    .mob-menu .site-menu .sub-menu.open a {
        padding: 5px calc((100vw - var(--page-width)) / 2 + 36px) 5px 60px;
        color: var(--red-color);
        font-size: 14px;
    }

    .mob-menu .site-menu .sub-menu.open a:active {
        color: var(--white-color);
        background: var(--red-color);
    }
}

@media (max-width: 1250px) {
    :root {
        --page-width: 90vw;
    }

    .title-section .search-options > div.zimmer-select {
        min-width: 300px;
    }

    ul.best-activities-list li p.price span {
        white-space: nowrap;
    }

    .header-box {
        column-gap: 10px;
    }

    .menu ul li {
        padding: 10px 13px;
    }

    .title-section .search-options .hotel-location-dropdown ul.show {
        min-width: calc((var(--page-width) - 131px) * 0.28);
    }

    .dates-slider {
        max-width: calc((var(--page-width) - 285px) * 0.62 - 35px);
    }

    .events .cards-container .cards-row .text-card {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description, .page-container.account .account-page .user-reviews-list .reviews-card-info .reviews-card-description, .page-container.account .account-page .booking-list .booking-card-info .booking-card-description {
        flex-wrap: wrap;
        flex-basis: calc(64% - 30px);
        max-width: calc(64% - 30px);
        column-gap: 30px;
        row-gap: 20px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-info {
        flex-basis: calc(100% - 156px);
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-hotel {
        width: 126px;
        flex-basis: 126px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description > div.tour-info a.btn {
        display: none;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description > a.btn {
        display: block;
    }

    .gallery-container .popup .modal-content .modal-thumbnails .modal-item {
        flex: 1 1 31%;
        max-width: calc(33% - 10px);
        max-height: 200px;
    }

    .single-hotel .hotel-card .hotel-container.hotel-page {
        height: auto;
        max-height: none;
    }

    .single-hotel .hotel-card .hotel-container {
        display: flex;
        flex-direction: column-reverse;
        gap: 25px;
    }

    .single-hotel .hotel-card .hotel-container.offer-page .hotel-info {
        display: none;
    }

    .features .features__item {
        flex: 1 1 30%;
        max-width: 32%;
    }

    .single_job_listing .contacts div.col-2 {
        margin: 0 100px;
    }
}

@media (max-width: 1100px) {
    .hotel-list .hotel-card .hotel-description .free-rooms > div {
        align-items: flex-end;
        margin-top: 15px;
    }

    .hotel-list .hotel-card .hotel-description .book-room .price-from {
        display: none;
    }

    .cards-container .cards-row .text-card {
        padding-left: 50px;
    }

    .cards-container .cards-row .text-card > * {
        max-width: calc(100% - 40px);
    }

    .all-hotels .hotels-list .hotel-card {
        flex-basis: calc((100% - 40px) / 3);
    }

    .all-hotels .hotels-list .hotel-card img {
        height: calc((var(--page-width) - 40px) / 3 / 1.5);
    }

    .col-2 > .newsletter {
        max-width: 342px
    }

    .section-with-filter .activities-list .activity-card .activity-description .activity-info {
        flex-basis: 100%;
        margin-bottom: 30px;
    }

    .section-with-filter .activities-list .activity-card .btns {
        row-gap: 15px;
        margin-top: 0;
    }

    .section-with-filter .activities-list .activity-card .btns a {
        font-size: 14px;
    }

    .hotels-regions .card-description .description {
        column-gap: 20px;
    }

    .rooms-list .room-card .room-info .btns {
        flex-direction: column;
        row-gap: 10px;
    }

    .rooms-list .room-card .room-info .btns a {
        min-width: 100%;
    }

    .single-hotel.hotel-rooms .hotel-container .hotel-info > div.review, .single-hotel.hotel-rooms .hotel-container .hotel-info > div.hotel-buttons {
        display: block;
    }

    .page-container .choosed-date .date-card {
        width: 160px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description > div.hotel > div {
        flex-direction: column;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation {
        height: auto;
        max-width: 100%;
        text-align: left;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description, .page-container.account .account-page .user-reviews-list .reviews-card-info .reviews-card-description, .page-container.account .account-page .booking-list .booking-card-info .booking-card-description {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .booking-term {
        margin-bottom: 0;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info > img, .page-container.account .account-page .user-reviews-list .reviews-card-info > img, .page-container.account .account-page .booking-list .booking-card-info > img {
        height: 170px;
    }

    .page-container.account .account-page .booking-list .booking-card-info > img {
        max-width: auto;
    }

    .contacts div.col-2 {
        margin: 0 100px;
    }

    .single_job_listing .contacts div.col-2 {
        margin: 0;
    }

    .events-container {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
    }

    .events-container .contacts {
        grid-column: 1 / 3;
        grid-row: 1;
        margin-bottom: 20px;
        padding: 0;
    }

    .events-container .activity-info-card:nth-child(-n+2) {
        grid-column: span 1;
        grid-row: 2;
    }

    .events-container .activity-info-card:nth-child(3), .events-container .activity-info-card:nth-child(4) {
        grid-column: span 1;
        grid-row: 3;
    }
}

@media (max-width: 1024px) {
    .title-section p.subtitle, .subtitle.subtitle--centered {
        padding: 0;
    }

    .user-info .user-name {
        display: none;
    }

    .hotels-info-box, .activities-info-box.events {
        overflow-x: scroll;
        width: 95vw;
    }

    .hotels-info-box::-webkit-scrollbar, .activities-info-box.events::-webkit-scrollbar {
        display: none;
    }

    .hotels-info-cards {
        flex-wrap: nowrap;
    }

    .hotels-info-cards > div {
        min-width: 272px;
    }

    .hotels-info-cards img {
        min-width: 100%;
        min-height: calc(272px / 1.12);
    }

    .hello .hotels-info-cards img {
        min-height: auto;
    }

    ul.best-activities-list li:last-child {
        display: none;
    }

    ul.best-activities-list li {
        flex-basis: calc((100% - 40px) / 3);
    }

    ul.best-activities-list li img.activity-img {
        width: calc((var(--page-width) - 40px) / 3);
        height: calc((var(--page-width) - 66px) / 3.5);
    }

    .count-section > div {
        flex-wrap: wrap;
        row-gap: 60px;
    }

    .count-section > div > div {
        flex-basis: calc(50% - 15px);
    }

    .count-section .count-col > div {
        width: 100%;
    }

    ul.card-list li {
        flex-basis: calc((var(--page-width) - 40px) / 3);
    }

    ul.card-list li div.card-list__icon, ul.card-list.card-list--columns-2 li div.card-list__icon {
        height: calc((var(--page-width) - 40px) / 3);
    }

    .footer-container .footer-section {
        flex-basis: 25% !important;
    }

    .title-section .search-options .hotel-location-dropdown ul.show {
        min-width: calc((var(--page-width) - 131px) * 0.26);
    }

    .hotel-list .hotel-card .hotel-image > img, .hotels-regions .hotel-card .hotel-image > img {
        max-height: 180px;
    }

    .book-present .activity-title h2, .book-room .activity-title h2, .book-activity .activity-title h2, .page-container.account .account-page .page-title h2 {
        max-width: 100%;
        font-size: 40px;
    }

    .book-present .section .payment .payment-options, .book-room .section .payment .payment-options, .book-activity .section .payment .payment-options {
        flex-wrap: wrap;
        row-gap: 30px;
    }

    .book-room .price-rate div div, .book-activity .price-rate div div {
        padding-left: 20px;
    }

    .book-room .section > div.hotel-requests .fields-sections, .book-activity .section > div.hotel-requests .fields-sections {
        column-gap: 10px;
    }

    .page-container.post > h2 {
        max-width: 100%;
    }

    .room .rooms-btn > a.btn, .room .rooms-btn > a.active:hover {
        flex-basis: calc((var(--page-width) - 20px) / 3);
        max-width: calc((var(--page-width) - 20px) / 3);
        width: calc((var(--page-width) - 20px) / 3);
    }

    .activities-info-cards.events > div, .events-container .activity-info-card {
        flex-basis: calc((var(--page-width) - 40px) / 3);
        min-width: 230px;
    }

    .single-hotel .hotel-card .review .title {
        font-size: 20px;
    }

    .single-hotel .hotel-card .title {
        font-size: 25px;
    }
}

@media (max-width: 960px) {
    .slider-grid--medium .swiper-slide.slider-grid__slide {
        width: 270px !important;
    }
}

@media (max-width: 900px) {
    ul.best-activities-list {
        flex-wrap: wrap;
        row-gap: 20px;
    }

    ul.best-activities-list li:last-child {
        display: block;
    }

    ul.best-activities-list li {
        flex-basis: calc((var(--page-width) - 20px) / 2);
    }

    ul.best-activities-list li img.activity-img {
        width: calc((var(--page-width) - 20px) / 2);
        height: calc((var(--page-width) - 23px) / 2);
    }

    ul.best-activities-list li > div {
        height: auto;
    }

    .hide-mob {
        display: none;
    }

    .footer-container {
        justify-content: center;
        flex-wrap: wrap;
        row-gap: 32px;
        padding: 60px 0;
        margin-bottom: 100px;
    }

    .footer-section.mobile {
        display: block;
    }

    .footer-container .footer-section:first-child img {
        max-width: 176px;
        margin: 0 auto;
        display: block;
    }

    .footer-container .footer-section:first-child {
        row-gap: 15px;
    }

    .footer-container .footer-section:first-child div {
        justify-content: center;
        column-gap: 13px;
    }

    .footer-container .footer-section {
        margin: 0 30px;
        flex-basis: 100% !important;
        max-width: 100% !important;
    }

    .footer-container .footer-section p {
        text-align: center;
    }

    .footer-container .footer-section:nth-child(2) p:last-child {
        line-height: 1.5;
    }

    .footer-container .footer-section .list {
        align-items: center;
    }

    .footer-container .footer-section .list.row {
        flex-direction: row;
        justify-content: center;
        column-gap: 30px;
    }

    .footer-container .footer-section:last-child p strong {
        padding-left: 0;
    }

    .footer-container .footer-section:last-child .list {
        row-gap: 14px;
        width: fit-content;
        margin: 0 auto;
        align-items: flex-start;
    }

    .footer-container .footer-section:last-child .list > div {
        align-items: center;
        justify-content: flex-start;
    }

    .footer-container .footer-section:last-child .list > div p {
        line-height: 1.4;
        text-align: left;
    }

    .title-section .search-options > div:first-child {
        min-width: 175px;
    }

    .title-section .search-options .hotel-location-dropdown ul.show {
        min-width: 175px;
    }

    .section-with-filter {
        flex-direction: column;
    }

    .hotels .section-with-filter .filter {
        display: none;
    }

    .activities .section-with-filter .filter {
        margin-bottom: 20px;
    }

    .section-with-filter .hotel-list, .section-with-filter .filter .search-filter, .holidays .section-with-filter .filter {
        width: 100%;
    }

    .holidays .section-with-filter .filter {
        padding: 0;
        margin-bottom: 20px;
    }

    .holidays .section-with-filter .filter .open-filter img {
        display: block;
    }

    .section-with-filter .filter a {
        max-width: 100%;
    }

    .section-with-filter .filter .open-filter {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 13px 20px;
    }

    .section-with-filter .filter .open-filter.close {
        border-width: 1px 1px 0 1px;
    }

    .section-with-filter .filter .open-filter p {
        margin: 0;
    }

    .holidays .section-with-filter .filter .open-filter p {
        padding-bottom: 0;
        padding-left: 0;
    }

    .section-with-filter .filter .open-filter .close-filter {
        visibility: hidden;
    }

    .section-with-filter .filter .open-filter.close .close-filter {
        visibility: visible;
    }

    .title-section .search-options a, .section-with-filter .filter a, .book-room .search-filter a, .book-activity .search-filter a {
        font-size: 14px;
        min-height: 50px;
    }

    .section-with-filter .filter .filter-option.open {
        display: block;
        border-width: 0 1px 1px 1px;
        border-style: solid;
        border-color: #F1F1F1;
        padding-top: 20px;
    }

    .dates-slider {
        max-width: calc(var(--page-width) * 0.62 - 35px);
    }

    .section-with-filter .filter .hotel-location .selected-option {
        min-height: 50px;
    }

    .book-room .section.col-2, .book-activity .section.col-2 {
        flex-direction: column;
        row-gap: 0px;
    }

    .book-room .section.col-2 > .small-col, .book-activity .section.col-2 > .small-col {
        flex-basis: 100%;
    }

    .book-room .search-filter, .book-activity .search-filter {
        width: 100%;
        margin-bottom: 20px;
    }

    .book-room .section > div.hotel-requests .fields-sections, .book-present .section > div.hotel-requests .fields-sections, .book-activity .section > div.hotel-requests .fields-sections {
        grid-template-columns: repeat(2, auto);
    }

    .book-room .section .billing div.col-2, .book-present .section .billing div.col-2, .book-activity .section .billing div.col-2 {
        display: block;
    }

    .book-room .hotel-container, .single-hotel .hotel-container, .book-activity .hotel-container {
        margin-bottom: 0;
    }

    .section .col-2 > div.extra-total {
        margin-bottom: 10px;
    }

    .book-room .coupon-box, .book-activity .coupon-box {
        padding: 40px 30px;
    }

    .ebook h2 {
        max-width: 100%;
    }

    h2.huge-font {
        font-size: 80px;
    }

    .hotels-regions .card-description .description > a {
        display: none;
    }

    .hotels-regions li a.mobile {
        display: block;
        margin-top: 25px;
    }

    .book-present .programm-container {
        display: block;
    }

    .single-hotel .hotel-card .hotel-container .hotel-info > div.review {
        display: block;
    }

    .gallery-container .popup .modal-content .modal-thumbnails .modal-item {
        flex: 1 1 50%;
        max-width: calc(50% - 10px);
        max-height: 150px;
    }

    .single-hotel > .description, .single-hotel .hotel-container .hotel-info > div.review, .single-hotel .hotel-container .hotel-info > div.hotel-button, .desktop-container, .single-hotel .hotel-container .hotel-info > div.hotel-buttons, .hotel-info > img, .hotel-container .hotel-info > div.event-menu {
        display: none;
    }

    .hotel-reviews .review .hotel-address  {
        margin-bottom: 0;
    }

    .single-hotel .event-hotel-img > img {
        display: block;
    }

    .single-hotel .mobile-container {
        display: block;
    }

    .single-hotel.hotel-reviews .hotel-address {
        display: flex;
    }

    .single-hotel .hotel-container {
        display: block;
    }

    .single-hotel .hotel-container .hotel-card .swiper.hotel-slider, .single-hotel .hotel-container .hotel-card .swiper.hotel-slider img {
        width: var(--page-width);
        height: calc(var(--page-width) / 1.34);
    }

    .single-hotel .hotel-container .hotel-card {
        margin-bottom: 50px;
    }

    .single-hotel .hotel-container .reviews .contacts {
        margin-bottom: 60px;
    }

    .page-container .choosed-date {
        flex-direction: column;
        row-gap: 7px;
    }

    .page-container .choosed-date .more-options {
        flex-direction: column;
        row-gap: 14px;
        margin-bottom: 15px;
    }

    .page-container .choosed-date .more-options svg {
        transform: rotate(90deg);
    }

    .page-container.account {
        flex-direction: column;
        margin-top: 40px;
        row-gap: 40px;
    }

    .page-container.account .account-page {
        min-width: 100%;
    }

    .page-container.account .account-menu {
        flex-basis: 100%;
        min-width: 100%;
    }

    .page-subtitle .job-listing-meta .vacancy-description-table {
        font-size: 14px;
    }

    .vacancy-advantages-cards > div {
        width: calc((var(--page-width) - 60px) / 4);
    }

    .activities-info-cards.events {
        gap: 10px;
    }

    .activities-info-cards.events > div, .events-container .activity-info-card {
        flex-basis: calc((var(--page-width) - 12px) / 2);
    }

    .gallery-container .swiper.hotel-slider {
        width: 100%;
        height: calc((var(--page-width) - 192px) / 1.34);
    }

    .contacts div.col-4 {
        flex-direction: row;
    }

    .contacts div.col-4 > div {
        flex-basis: 50%;
    }
}

@media (max-width: 870px) {
    h1 {
        font-size: 32px;
    }

    h1.red {
        font-size: 40px;
    }

    h2 {
        font-size: 24px;
    }

    .header {
        padding: 10px 0;
    }

    .page-container {
        margin-top: 40px;
        margin-bottom: 80px;
    }

    .title-section {
        margin: 40px 0;
    }

    .title-section p.subtitle, .subtitle.subtitle--centered {
        font-size: 16px;
    }

    .title-section h2.subtitle {
        font-size: 24px;
        padding: 0;
    }

    .title-section .search-options {
        flex-direction: column;
        row-gap: 10px;
    }

    .title-section .search-options > div {
        flex-basis: 100% !important;
        min-height: 50px;
    }

    .title-section .search-options a {
        width: 100%;
        max-width: 100%;
    }

    .title-section .search-options .hotel-location-dropdown ul.show {
        min-width: var(--page-width);
    }

    .subtitle--centered {
        margin: 0;
    }

    div.divider {
        margin-top: 40px;
        margin-bottom: 70px;
    }

    ul.card-list.card-list--columns-3 li {
        flex-basis: calc((var(--page-width) - 20px) / 2);
    }

    ul.card-list.card-list--columns-3 li div.card-list__icon {
        height: calc((var(--page-width) - 200px) / 2);
    }

    .best-activities h2, .hotels-info h2, .hotels-home .hotels-cards h2, .regions h2, .map h2, .count-section h2, .subscribe-section h2 {
        margin-bottom: 25px;
    }

    .best-activities {
        margin-top: 70px 0;
    }

    .book-present .description, .book-room .description, .single-hotel .description, .book-activity .description {
        margin-bottom: 22px;
    }

    .book-room .hotel-container, .section > div.col-2, .book-activity .hotel-container {
        display: block;
    }

    .book-activity .hotel-container > div {
        width: 100%;
        margin-bottom: 10px;
    }

    .book-room .hotel-container > .swiper, .book-room .hotel-container .hotel-info > div, .single-hotel .hotel-container .hotel-info > div, .book-present .programm-container > .swiper, .book-activity .hotel-container .hotel-info > div {
        margin-bottom: 10px;
        padding: 29px 10px 40px 10px;
    }

    .book-room .hotel-container > .swiper, .book-room .hotel-container > .swiper img, .book-activity .hotel-container .swiper.activity-slider, .book-activity .hotel-container .swiper.activity-slider img {
        height: calc(var(--page-width) / 1.25);
    }

    .book-room .description, .single-hotel .description, .book-activity .description {
        padding-left: 0;
        padding-top: 10px;
    }

    .rooms-list .room-card .room-info .description {
        padding-top: 0;
    }

    .swiper-button-next, .swiper-button-prev {
        width: 20px !important;
        height: 30px !important;
        margin-top: calc(0px - 15px) !important;
    }

    .swiper.room-slider {
        margin-bottom: 15px;
    }

    .swiper.room-slider, .swiper.room-slider img {
        max-width: 100%;
        height: calc(var(--page-width) / 1.52);
    }

    .book-room .room-description, .book-activity .room-description {
        margin-top: 10px;
    }

    .book-room .section, .book-activity .section {
        margin-bottom: 20px;
    }

    .book-room .section > div.extra-list-box, .book-activity .section > div.extra-list-box {
        margin-top: 20px;
    }

    .book-room table.room-choice, .book-activity table.room-choice {
        margin-bottom: 30px;
    }

    .book-room .search-filter, .book-activity .search-filter {
        margin-bottom: 0;
    }

    .book-room .section p.section-title, .book-activity .section p.section-title {
        margin-top: 50px;
    }

    h2.big-font, .page-container.order .title h2 {
        font-size: 40px;
    }

    .cards-container .cards-row {
        flex-direction: column;
        border: 1px solid #F1F1F1;
        min-height: auto;
        border-radius: 4px 4px 0 0;
    }

    .cards-container .cards-row:nth-child(even) {
        flex-direction: column-reverse;
    }

    .cards-container .cards-row .text-card {
        border: none;
        padding: 0 20px 30px 20px;
    }

    .cards-container .cards-row .text-card > * {
        max-width: 100%;
    }

    .cards-container .cards-row .text-card p {
        margin-top: 0;
        margin-bottom: 0;
    }

    .cards-container .cards-row .text-card p.box-title {
        margin-top: 18px;
        margin-bottom: 10px;
    }

    .cards-container .cards-row .text-card a {
        margin-top: 24px;
    }

    .events .cards-container .cards-row .text-card {
        padding-top: 0px;
        padding-bottom: 30px;
    }

    .restaurant .reservation {
        max-width: 100%;
    }

    .register-container h2 {
        font-size: 40px;
    }

    .page-container > .col-2 {
        flex-direction: column;
        row-gap: 30px;
    }

    .col-2 > .newsletter {
        width: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }

    .newsletter button.btn, .newsletter-form .field input {
        max-width: 100%;
    }

    .all-hotels {
        margin-top: 73px;
    }

    .career-info h3, .all-hotels h3 {
        margin-top: 34px;
        font-size: 18px;
    }

    .career h2.big-font {
        margin-bottom: 8px;
    }

    .all-hotels .hotels-list .hotel-card {
        flex-basis: calc((100% - 20px) / 2);
    }

    .all-hotels .hotels-list .hotel-card img {
        height: calc((var(--page-width) - 20px) / 2 / 1.5);
    }

    .col-2 > .blog-container {
        margin-bottom: 80px;
    }

    .posts-list .post .post-body {
        padding: 16px;
    }

    .post .col-2 > .newsletter {
        margin-top: 30px;
    }

    .post .post-container .gallery > img {
        width: calc((100% - 60px) / 3);
        height: calc((var(--page-width) * 0.7 - 110px) / 3);
        min-height: 154px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info p.percent-recomendation {
        display: none;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation-box {
        display: flex;
        align-items: center;
        column-gap: 15px;
        margin-bottom: 30px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .amount-recomendation-box p.percent-recomendation {
        display: block;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .tour-hotel {
        flex-basis: 100%;
        width: 188px;
    }

    .book-room table.room-choice td .room-amount .option-dropdown, .book-room .room-choice.mobile .room-amount .option-dropdown, .book-activity table.room-choice td .room-amount .option-dropdown, .book-activity .room-choice.mobile .room-amount .option-dropdown {
        width: 115px;
    }

    .room .rooms-btn > a.btn, .room .rooms-btn > a.active:hover {
        flex-basis: calc((var(--page-width) - 10px) / 2);
        max-width: calc((var(--page-width) - 10px) / 2);
        width: calc((var(--page-width) - 10px) / 2);
    }

    .room table .col-2 {
        flex-direction: column;
        row-gap: 10px;
    }

    .map-section {
        display: none;
    }

    .single-hotel .hotel-title h1 {
        margin-top: 20px;
        font-size: 26px;
    }

    .ehotel {
        margin-bottom: 65px;
    }

    .question-form > .blog-container {
        flex-basis: 100%;
    }

    .advantages {
        grid-template-columns: repeat(2, 1fr);
    }

    .single-hotel .hotel-card .hotel-content {
        flex-direction: column;
    }

    .single_job_listing .contacts .col-2.form-row {
        flex-direction: column;
        gap: 0;
    }
}

@media (max-width: 720px) {
    .vacancy-advantages-cards > div {
        width: calc((var(--page-width) - 60px) / 3);
    }
}

@media (max-width: 700px) {
    .gallery-container .gallery {
        display: grid;
        grid-template-columns: 1fr 1fr;
        height: auto;
        max-height: none;
    }

    .gallery-container .gallery .gallery-item:first-child {
        grid-column: 1 / 3;
        height: 200px;
    }

    .gallery-container .gallery .gallery-item:not(:first-child) {
        height: 140px;
    }

    .images-row {
        flex-wrap: wrap;
        justify-content: center;
    }

    .images-row img {
        width: calc(50% - 5px);
    }

    .subscribe-section > div {
        flex-direction: column;
    }

    .subscribe-section .subscribe-info {
        max-width: 100%;
    }

    .subscribe-section .subscribe-info p {
        margin-bottom: 17px;
    }

    .subscribe-section .subscribe-info p.red {
        margin-bottom: 25px;
    }

    .subscribe-form a {
        max-width: 100%;
    }

    .book-room .section > div.price-rate, .book-activity .section > div.price-rate {
        flex-direction: column;
        row-gap: 10px;
    }

    .book-room .price-rate div div, .book-activity .price-rate div div {
        padding: 30px 20px;
    }

    .book-room .section > div.hotel-requests .fields-sections, .book-present .section > div.hotel-requests .fields-sections, .book-activity .section > div.hotel-requests .fields-sections {
        grid-template-columns: 1fr;
    }

    .book-room .section .billing > div, .form div.col-2, .register-form div.col-2, .comment-form div.col-2, .book-present .section .billing > div, .book-present .section .coupon, .book-activity .section .billing > div, .form div.col-2 {
        display: block;
    }

    .book-present .section .payment .payment-options > div, .book-present .section .payment .payment-options > div label, .book-room .section .payment .payment-options > div, .book-room .section .payment .payment-options > div label, .book-activity .section .payment .payment-options > div, .book-activity .section .payment .payment-options > div label {
        flex-basis: 100%;
    }

    .book-present .section .coupon .field:first-child {
        margin-bottom: 23px;
    }

    .book-present .section .payment .payment-options, .book-room .section .payment .payment-options, .book-activity .section .payment .payment-options {
        row-gap: 14px;
    }

    .book-present .section .payment .payment-options, .book-room .section .payment .payment-options, .book-activity .section .payment .payment-options {
        margin-bottom: 14px;
    }

    [type="checkbox"]:not(:checked) + label, [type="checkbox"]:checked + label {
        align-items: flex-start;
        text-align: left;
        font-size: 20px;
    }

    [type="checkbox"]:not(:checked) + label:before {
        margin-bottom: 2px;
    }

    .book-present .section .extra-list .extra-card > div .description, .book-room .extra-list .extra-card > div .description, .book-activity .extra-list .extra-card > div .description {
        order: 2;
        margin-top: 20px;
        flex-basis: 100%;
    }

    .book-present .section .extra-list .extra-card > div, .book-room .extra-list .extra-card > div, .book-activity .extra-list .extra-card > div {
        flex-wrap: wrap;
    }

    .swiper-button-prev {
        left: 15px !important;
    }

    .swiper-button-next {
        right: 15px !important;
    }

    .restaurant .reservation .reservation-form button.btn, .register-form button.btn {
        max-width: 100%;
    }

    .restaurant .title-section, .events .title-section {
        margin-top: 40px;
    }

    .newsletterbestaetigung > div {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 30px;
        margin-bottom: 17px;
    }

    .newsletterbestaetigung > div h2 {
        font-size: 26px;
    }

    .newsletterbestaetigung > div img {
        width: 50px;
    }

    .newsletterbestaetigung > p {
        margin-bottom: 22px;
    }

    .newsletterbestaetigung .divider {
        margin: 22px 0;
    }

    .register-form div.col-2 > div {
        margin-bottom: 23px;
    }

    .register-form div.col-2 > div:last-child {
        margin-bottom: 0;
    }

    .register-container {
        margin: 40px 0;
    }

    .col-2 > .newsletter {
        padding: 32px 20px;
    }

    .posts-list .post a.btn, .comment-form button.btn {
        max-width: 100%;
    }

    .post .comments-container .comment-content > img {
        display: none;
    }

    .post .comments-container .comment-content > div {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        column-gap: 15px;
        row-gap: 12px;
    }

    .post .comments-container .comment-content > div > * {
        flex-basis: 100%;
    }

    .post .comments-container .comment-content > div > img.mobile {
        display: block;
        flex-basis: 50px;
    }

    .post .comments-container .comment-content > div > .user-name {
        flex-basis: calc(100% - 65px);
    }

    .post .comments-container .comment-content .comment-text {
        margin-bottom: 24px;
    }

    .post .comments-container .comment-info {
        margin-left: 30px;
    }

    .post .comments-container .reply-list {
        margin-top: 24px;
        margin-left: 30px;
    }

    .ebook .col-2 > div {
        flex-basis: 100%;
        max-width: 100%;
        width: 100%;
    }

    .ebook .col-2 > img {
        max-width: 100%;
        width: 90%;
        margin: 40px auto 0;
    }

    .holidays > p {
        display: none;
    }

    .holidays .section-with-filter {
        margin-top: 23px;
    }

    .section-with-filter .activities-list .activity-card {
        flex-direction: column;
        padding: 30px 20px;
    }

    .section-with-filter .activities-list .activity-card .activity-image {
        flex-basis: auto;
    }

    .hotels-regions ul.cards-list {
        width: 100vw;
        margin-left: -5vw;
    }

    .hotels-regions ul.cards-list li {
        padding: 20px calc((100vw - var(--page-width)) / 2) 30px;
        flex-direction: column;
    }

    .hotels-regions .hotel-image, .hotels-regions .card-description {
        flex-basis: 100%;
        width: 100%;
    }

    .hotels-regions .hotel-image img {
        height: calc(var(--page-width) / 1.08);
    }

    .hotels-regions .card-description .region {
        margin-top: 18px;
    }

    .hotels-regions .card-description .description {
        margin-top: 10px;
        margin-bottom: 26px;
    }

    .hotels-regions li a.mobile {
        width: 100%;
    }

    .hotel-reviews .review-form div.col-2 {
        flex-direction: column;
    }

    .hotel-reviews .review-form div.col-2 > div.rating-box {
        max-width: 240px;
    }

    .page-container.account div.col-2 {
        display: block;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info, .page-container.account .account-page .user-reviews-list .reviews-card-info, .page-container.account .account-page .booking-list .booking-card-info {
        padding: 23px 21px 31px 21px;
    }

    .account-page .review-form div.col-2 > div.rating-box {
        margin-bottom: 33px;
    }

    .reviews .activities-info-cards .hotel-review .stars span {
        display: none;
    }

    .reviews .activities-info-cards .hotel-review .name-block {
        flex-direction: column;
    }

    .reviews .activities-info-cards .hotel-review .name-block > div {
        margin: 0;
    }

    .gallery-container .swiper.hotel-slider {
        width: 100%;
        height: calc((var(--page-width) - 92px) / 1.34);
    }

    .gallery-container .swiper.swiper-thumbs {
        display: none;
    }

    .gallery-container .popup .modal-content .modal-header h3 {
        font-size: 15px;
    }

    .descriptions-cards {
        gap: 15px;

        & .description-card {
            max-width: 100%;
            flex: 1 1 100%;
        }
    }

    .job-listing-meta {
        flex-direction: column;
    }

    .contacts div.col-2, .contacts .col-2.form-row {
        margin: 0;
    }

    .contacts div.col-2 > div {
        flex-basis: 100%;
    }

    .contacts .col-2.form-row {
        flex-wrap: wrap;
        gap: 0;
    }

    .contacts .col-2.form-row > div {
        flex-basis: 100%;
    }

    .contacts div.col-4 {
        flex-direction: column;

    }

    .contacts div.col-4 > div {
        flex-basis: 100%;
    }

    .features {
        column-gap: 15px;
    }

    .features .features__item, .section .features .features__item {
        flex: 1 1 45%;
        max-width: 50%;
    }
}

@media (max-width: 660px) {
    .section-with-filter .activities-list .activity-card .activity-description .hotel-info img {
        width: 100%;
        height: 100%;
    }

    .services {
        flex-direction: column;
        gap: 0;
    }

    .vacancy-info > div {
        flex-direction: column;
    }

    .vacancy-contact-info img {
        width: 30%;
    }
}

@media (max-width: 600px) {
    h1 br {
        display: none;
    }

    h1.red {
        font-size: 26px;
    }

    .title-section h1.big-font {
        font-size: 32px;
    }

    .title-section h2.subtitle {
        font-size: 18px;
    }

    .footer-container .footer-section:nth-child(4) p span {
        display: block;
    }

    .info-list__item {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
    }

    .info-list__content h3 {
        font-size: 16px;
    }

    .info-list__content p {
        font-size: 14px;
    }

    ul.best-activities-list li {
        flex-basis: 100%;
    }

    ul.best-activities-list li img.activity-img {
        width: var(--page-width);
        height: calc(var(--page-width) / 1.32);
    }

    .count-section .count-col > div p {
        font-size: 40px;
    }

    .count-section .count-col > div img {
        width: 50px;
    }

    .count-section > div {
        padding: 10px 0;
    }

    ul.card-list {
        gap: 12px;
    }

    ul.card-list li, ul.card-list.card-list--columns-3 li {
        flex-basis: calc((var(--page-width) - 12px) / 2);
    }

    ul.card-list.card-list--columns-2 li {
        flex-basis: 100%;
    }

    ul.card-list li div.card-list__icon {
        height: calc((var(--page-width) - 12px) / 2);
    }

    ul.card-list.card-list--columns-2 li div.card-list__icon {
        height: calc(var(--page-width) * 0.6);
    }

    ul.card-list.card-list--columns-3 li div.card-list__icon {
        height: calc((var(--page-width) - 100px) / 2);
    }

    ul.card-list li p {
        margin: 14px 0 14px 0;
    }

    .hotels-activities .activity-info-card.main {
        min-width: 100%;
    }

    .hotels-activities .activities-info-cards {
        flex-direction: column;
    }

    .subscribe-section {
        padding: 65px 5vw;
    }

    .mob-menu .site-menu.open {
        width: 100vw;
    }

    .footer-container .footer-section .list.row {
        column-gap: 15px;
    }

    .section-with-filter .hotel-list {
        width: 100vw;
        margin-left: -5vw;
    }

    .hotel-list .hotel-card, .hotel-list .hotels-amount {
        padding: 0 calc((100vw - var(--page-width)) / 2);
    }

    .hotel-list .hotel-card {
        flex-direction: column;
        row-gap: 20px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .hotel-list .hotel-card .hotel-image, .hotel-list .hotel-card .hotel-description {
        flex-basis: 100%;
        max-width: 100%;
    }

    .hotel-list .hotel-card .hotel-image > img, .hotels-regions .hotel-card .hotel-image > img {
        height: calc(var(--page-width) / 1.33);
        max-height: calc(var(--page-width) / 1.33);
    }

    .dates-slider {
        max-width: 100%;
    }

    .dates-slider .swiper-button-next, .dates-slider .swiper-button-prev, .reviews .activities-info-box .activities-info-cards .hotel-review:nth-child(n+4) {
        display: none;
    }

    .dates-slider .swiper.avaliable-dates {
        flex-basis: 100%;
    }

    .dates-slider .swiper.avaliable-dates .swiper-slide {
        min-width: 130px;
    }

    .book-room .room-choice.mobile, .book-activity .room-choice.mobile {
        display: block;
    }

    .book-room .room-choice.mobile .choice .accordion, .book-activity .room-choice.mobile .choice .accordion {
        margin: 0;
        padding: 14px 23px;
        background: #FAFAFA;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: 0.4s;
    }

    .book-room .room-choice.mobile .choice .choice-info, .book-activity .room-choice.mobile .choice .choice-info {
        padding: 0 20px;
        background: #FAFAFA;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.2s ease-out;
    }

    .book-room .room-choice.mobile .choice:nth-child(even) .accordion, .book-room .room-choice.mobile .choice:nth-child(even) .choice-info, .book-activity .room-choice.mobile .choice:nth-child(even) .accordion, .book-activity .room-choice.mobile .choice:nth-child(even) .choice-info {
        background: #F1F1F1;
    }

    .book-room .room-choice.mobile .choice .accordion.active, .book-activity .room-choice.mobile .choice .accordion.active {
        background: var(--red-color);
        color: var(--white-color);
    }

    .book-room .room-choice.mobile .choice .accordion svg, .book-activity .room-choice.mobile .choice .accordion svg {
        transition: 0.4s;
    }

    .book-room .room-choice.mobile .choice .accordion.active svg, .book-activity .room-choice.mobile .choice .accordion.active svg {
        transform: rotate(180deg);
        transition: transform 0.2s ease-out;
    }

    .book-room .room-choice.mobile .choice .accordion.active path, .book-activity .room-choice.mobile .choice .accordion.active path {
        stroke: var(--white-color);
    }

    .book-room .room-choice.mobile .choice .choice-info.active, .book-activity .room-choice.mobile .choice .choice-info.active {
        overflow: visible;
    }

    .book-room .room-choice.mobile .choice .choice-info > div, .book-activity .room-choice.mobile .choice .choice-info > div {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12px;
    }

    .book-room .room-choice.mobile .choice .choice-info.active > div:first-child, .book-activity .room-choice.mobile .choice .choice-info.active > div:first-child {
        padding-top: 20px;
    }

    .book-room .room-choice.mobile .choice .choice-info.active > div:last-child, .book-activity .room-choice.mobile .choice .choice-info.active > div:last-child {
        padding-bottom: 20px;
        margin-bottom: 0;
    }

    .book-room .room-choice.mobile .choice .choice-info p, .book-activity .room-choice.mobile .choice .choice-info p {
        margin: 0;
    }

    .book-room .room-choice.mobile .room-amount, .book-activity .room-choice.mobile .room-amount {
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.08);
    }

    .room-description.hide {
        display: none;
    }

    h2.big-font, .register-container h2, .page-container.order .title h2, .page-container.account .account-page .page-title h2 {
        font-size: 32px;
    }

    .restaurant .title-section h2, .events .title-section h2 {
        margin-bottom: 32px;
    }

    .posts-list .post .post-info, .post .post-container .post-info {
        flex-direction: column;
        row-gap: 8px;
        padding-bottom: 16px;
    }

    .posts-list .post .excerpt {
        margin-top: 8px;
    }

    .posts-list .post {
        margin-bottom: 24px;
    }

    .page-container.post, .page-container.post > h2 {
        margin-top: 17px;
    }

    .page-container.post > h2 {
        margin-bottom: 23px;
    }

    .post .post-container .post-info {
        margin-bottom: 25px;
    }

    .post .post-container .gallery {
        margin: 24px 0;
        column-gap: 12px;
        row-gap: 12px;
        flex-wrap: wrap;
    }

    .post .post-container .gallery > img {
        width: calc((100% - 12px) / 2);
        height: calc((var(--page-width) - 12px) / 2);
        min-height: 154px;
    }

    .post .comments-container {
        margin-top: 40px;
    }

    .post .comments-container .comments-count {
        margin-bottom: 25px;
    }

    h2.huge-font {
        font-size: 45px;
        line-height: 1.1;
    }

    .single-hotel .section .contact-info > div {
        flex-direction: column;
        row-gap: 14px;
        padding: 24px 0;
    }

    .single-hotel .section .contact-info > div > p:first-child {
        flex-basis: auto;
    }

    .single-hotel .hotel-container .brekfast-label, .single-hotel .hotel-card .wishlist, .single-hotel .hotel-container .swiper.swiper-thumbs,  .gallery-container-container .swiper.swiper-thumbs {
        display: none;
    }

    .hello .hotels-info-cards {
        justify-content: normal;
        gap: 15px;
    }

    .hello .hotels-info-cards > div {
        min-width: calc((var(--page-width) - 12px) / 2);
    }

    .hello .hotels-info-cards p {
        padding: 0 20px 18px;
        font-size: 12px;
    }

    .hello .hotels-info-cards p.title {
        padding-top: 20px;
        font-size: 14px;
    }

    .rooms-list .room-card {
        flex-direction: column;
        row-gap: 20px;
        padding: 23px 20px 30px 20px;
    }

    .rooms-list .room-card > img {
        flex-basis: 100%;
        width: 100%;
        height: calc(var(--page-width) - 40px);
    }

    .hotel-reviews .review-form button.btn, .reviews .contacts .contact-form button.btn {
        max-width: 100%;
    }

    .page-container .choosed-date .options-list {
        flex-direction: column;
        row-gap: 10px;
        width: 100%;
    }

    .page-container .choosed-date .your-date {
        width: 100%;
    }

    .page-container .choosed-date .options-list .date-card, .page-container .choosed-date .date-card {
        width: 100%;
        height: 154px;
    }

    .page-container .order-form .fields-sections > div {
        flex-basis: 100%;
    }

    .page-container.account .account-page .page-title {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 23px;
        margin-bottom: 15px;
    }

    .page-container.account .account-page .page-title .account-search.open {
        border: none;
        padding: 0;
    }

    .page-container.account .account-page .page-title .account-search .search-hotel > p {
        display: none;
    }

    .page-container.account .account-page .page-title .account-search .search-hotel .search-options {
        padding: 20px;
    }

    .page-container.account .account-page .page-title .account-search .search-hotel .search-options > div {
        flex-basis: 100% !important;
        height: 50px;
    }

    .page-container.account .account-page .page-title .account-search .search-hotel .search-options a {
        width: 100%;
        max-width: 100%;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info, .page-container.account .account-page .user-reviews-list .reviews-card-info, .page-container.account .account-page .booking-list .booking-card-info {
        flex-direction: column;
        row-gap: 21px;
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info > img, .page-container.account .account-page .user-reviews-list .reviews-card-info > img, .page-container.account .account-page .booking-list .booking-card-info > img {
        flex-basis: auto;
        max-width: 100%;
        height: calc((var(--page-width) - 42px) / 1.34);
    }

    .page-container.account .account-page .saved-list .saved-card .saved-card-info .saved-card-description, .page-container.account .account-page .user-reviews-list .reviews-card-info .reviews-card-description, .page-container.account .account-page .booking-list .booking-card-info .booking-card-description {
        flex-basis: auto;
        max-width: 100%;
    }

    .page-container.account .account-page .booking-list .booking-card-info > img {
        width: calc(100% - 166px);
        height: calc((var(--page-width) - 202px) / 1.34);
    }

    .page-container.account .account-page .booking-list .booking-card p.price {
        text-align: left;
        margin-top: 38px;
    }

    .user-reviews-form .review-form textarea {
        height: 185px;
    }

    .daterangepicker .drp-selected {
        display: block !important;
        margin-bottom: 10px;
    }

    .book-room table.room-choice td .room-amount .option-dropdown.show, .book-room .room-choice.mobile .room-amount .option-dropdown.show, .book-activity table.room-choice td .room-amount .option-dropdown.show, .book-activity .room-choice.mobile .room-amount .option-dropdown.show {
        left: auto;
        right: -20px;
    }

    .hotels-regions .card-description .region .hotels-amount {
        margin-bottom: 1px;
    }

    .room .section {
        padding: 25px 20px;
    }

    .room table tr {
        display: flex;
        column-gap: 50px;
    }

    .room table tr.mob-col {
        flex-direction: column;
    }

    .room table tr td {
        padding-right: 0;
        font-size: 14px;
    }

    .room table tr.mob-col td:first-child {
        border-bottom: none;
        padding: 23px 0 10px;
    }

    .room table tr.mob-col td:last-child {
        padding: 0 0 23px;
    }

    .single-room-slider .swiper-button-next, .single-room-slider .swiper-button-prev {
        display: none;
    }

    .book-activity .date-field {
        flex-direction: column;
    }

    .activities-info-cards.events > div, .events-container .activity-info-card {
        padding: 0;
        min-width: 150px;
    }

    .events .activity-info-card .activity-info, .events-container .activity-info-card .activity-info {
        padding: 0 15px 15px
    }

    .events .activity-info-card .activity-info .booking-offer {
        font-size: 12px;
    }

    .btn-offers {
        width: 100%;
    }

    .section-with-filter .activities-list .activity-card .btns {
        flex-direction: column;
    }

    .vacancy-description-table {
        flex-direction: column;
        padding-left: 0;
        gap: 10px;
    }

    .vacancy-description-table .vacancy-available {
        margin: 0 0 5px;
    }

    .vacancy-description-table .vacancy-cta-item {
        width: 100%;
    }

    .vacancy-description-table .vacancy-cta-item a.btn {
        width: 100%;
        box-sizing: border-box;
    }

    .page-subtitle li {
        border-right: none;
        border-left: none;
        padding: 0;
    }

    .hotel-description a.btn.green-btn {
        width: 100%;
    }

    .hotel-description a.btn.green-btn {
        max-width: 100%;
    }

    .event-hotel-img {
        display: block;
    }

    .event-menu {
        flex-direction: row;
        justify-content: space-between;
        column-gap: 5px;
    }
    .event-menu a {
        font-size: 12px;
        padding: 19px 0;
    }

    .activity-create .hotel-container .review .region-select > div > label {
        font-size: 12px;
    }

    .drag-drop-area {
        padding: 40px 20px 20px;
    }

    .hotel-reviews .review-form label {
        font-size: 12px;
    }

    .vacancy-tags .job-type {
        max-width: 100%;
    }

    .slider-grid--medium .swiper.slider-grid {
        width: 100%;
    }

    .slider-grid--medium .slider-grid__slide.slider-grid__slide--activity .activity-info-card {
        height: 320px;
    }

    .hotel-card__info a.btn {
        font-size: 14px;
    }
}

@media (max-width: 530px) {
    .vacancy-advantages-cards > div {
        width: calc((var(--page-width) - 20px) / 2);
    }
}

@media (max-width: 500px) {
    :root {
        --page-width: calc(100vw - 40px);
    }

    .title-section h1 {
        font-size: 30px;
    }

    ul.card-list.card-list--columns-3 li {
        flex-basis: 100%;
    }

    ul.card-list.card-list--columns-3 li div.card-list__icon {
        height: calc(var(--page-width) - 100px);
    }

    .cards-container .cards-row .text-card a {
        max-width: 100%;
        margin-right: 0;
    }

    .all-hotels .hotels-list .hotel-card {
        flex-basis: 100%;
    }

    .all-hotels .hotels-list .hotel-card img {
        height: calc(var(--page-width) / 1.5);
    }

    .hotel-images {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }

    .section-with-filter .activities-list .activity-card .activity-image img {
        display: block;
        margin-bottom: 20px;
        width: 150px;
        height: 100px;
    }

    .section-with-filter .activity-list .feedback .feedback-subject {
        row-gap: 20px;
        margin-bottom: 50px;
    }

    .section-with-filter .activity-list .feedback .feedback-subject > div {
        flex-basis: 100%;
    }

    .feedback textarea {
        height: 180px;
    }

    .section-with-filter .activity-list .feedback a {
        width: 100%;
    }

    .book-present .section .extra-list .extra-card > div > div.choose-amount, .book-room .extra-list .extra-card > div > div, .book-activity .extra-list .extra-card > div > div {
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }

    .book-present .section .extra-list .extra-card > div > div > .amount, .book-room .extra-list .extra-card > div > div > .amount, .book-present .section .extra-list .extra-card > div > div p.extra-price, .book-room .extra-list .extra-card > div > div p.extra-price, .book-activity .extra-list .extra-card > div > div > .amount, .book-activity .extra-list .extra-card > div > div p.extra-price {
        margin: 0;
    }

    .book-present .section .extra-list .extra-card > div > div p.extra-price, .book-room .extra-list .extra-card > div > div p.extra-price, .book-activity .extra-list .extra-card > div > div p.extra-price {
        line-height: 1;
    }

    .single-hotel .hotel-container .review-list .review-card {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }

    .single-hotel .hotel-container .review-list .review-card .user-info {
        display: flex;
        flex-direction: row;
        column-gap: 20px;
    }

    .single-hotel .hotel-container .review-list .review-card .user-info p {
        text-align: left;
    }

    .room .rooms-btn > a.btn, .room .rooms-btn > a.active:hover {
        flex-basis: 100%;
        max-width: 100%;
        width: 100%;
    }

    .gallery-container .popup .modal-content .modal-header h3  {
        font-size: 10px;
    }

    .advantages {
        grid-template-columns: repeat(1, 1fr);
    }

    .single-hotel .hotel-container .hotel-info .review .stars .rating-info a {
        font-size: 15px;
    }

    .hotel-card__info a.btn {
        display: block;
        width: 100%;
        padding: 18px 12px;
        height: auto;
    }

    .features .features__item, .section .features .features__item {
        flex: 1 1 45%;
        max-width: 100%;
    }
}

@media (max-width: 420px) {
    .hotel-card__info a.btn.btn--booking {
        padding: 18px 48px;
        line-height: 1.2;
    }
}

@media (max-width: 400px) {
    .single-hotel .hotel-container .hotel-info .review .stars .rating-info {
        white-space: wrap;
        text-align: end;
    }

    .single-hotel .hotel-container .hotel-info .review .stars .rating-info a {
        font-size: 13px;
        margin-top: 3px;
    }

    .footer-container .footer-section {
        margin: 0 20px;
    }

    .footer-container .footer-section .list.row {
        flex-direction: column;
    }
}

.error-message {
    margin: 10px 0;
    border: 1px solid red;
    padding: 8px;
    border-radius: 5px;
    background-color: #ffe6e6;
    color: red;
    font-size: 12px;
}

#subscribe-message {
    display: none;
    margin: 10px 0;
    border: 1px solid green;
    padding: 8px;
    border-radius: 5px;
    background-color: #D4FADD;
    color: green;
}

#error-message {
    display: none;
    margin: 10px 0;
    border: 1px solid red;
    padding: 8px;
    border-radius: 5px;
    background-color: #ffe6e6;
    color: red;
}

.error4 {
    border: 1px solid red !important;
}

.book-room .description, .single-hotel .description h5, .single-hotel .description h6 {
    font-size: 14px;
}

.container .like {
    padding-right: 0;
    padding-left: 0;
}

.page-container .question-form details {
    background: var(--gray-color);
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 5px;
    padding: 10px;
    font-size: 14px;
}

.page-container .question-form details summary {
    cursor: pointer;
    list-style: none;
}

.page-container .question-form details summary::-webkit-details-marker {
    display: none;
}

details[open] summary::before {
    content: "▼ ";
}

details summary::before {
    content: "► ";
}

.pagination {
    margin: 23px 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    column-gap: 6px;
}

.pagination .page, .pagination .current, .pagination .first, .pagination .previous, .pagination .next, .pagination .last {
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    border-radius: 50%;
}

.pagination .current, .pagination span:hover, .pagination span:hover a {
    color: var(--white-color);
    background: var(--red-color);
}

.pagination span a {
    text-decoration: none;
    color: var(--black-color);
}

.contacts .checkbox {
    margin-top: 30px;
}

.contact-form {
    position: relative;
}

.success-message {
    margin: 10px 0;
    border: 1px solid green;
    padding: 8px;
    border-radius: 5px;
    background-color: #D9F3E0;
    color: green;
}

.contacts div.col-3 {
    display: flex;
    flex-direction: column;
}

.contacts div.col-4 {
    display: flex;
    flex-direction: column;
    column-gap: 20px;
}

.no-flex {
    display: block;
}

.table tbody tr td a.btn {
    margin-top: 2px;
}

.big-font {
    font-weight: 400;
    line-height: 1;
    text-align: center;
}

@media (max-width: 1100px) {
    .section-with-filter .activities-list .activity-card {
        flex-direction: column;
        padding: 30px 20px;
    }

    .section-with-filter .activities-list .activity-card .activity-image {
        width: 100%;
        flex-basis: auto;
        display: flex;
        flex-direction: row;
        justify-content: center;
        column-gap: 10px;
        order: -1;
    }

    .section-with-filter .activities-list .activity-card .activity-description .hotel-info img {
        width: 240px;
        height: 200px;
        object-fit: cover;
        object-position: center;
        margin-bottom: 15px;
    }
}

@media (max-width: 1024px) {
    .vacancy-info-cards > div, .vacancy-contact-form {
        width: 100%;
    }

    .vacancy-info-cards, .list {
        flex-direction: column;
    }

    .vacancy-info .contacts {
        padding: 0;
    }

    .vacancy-info > div {
        column-gap: 30px;
    }

    .benefits-list {
        column-count: 1;
    }

    .job-filter .col-3, .job-employees-section > div {
        flex-direction: column;
        align-items: stretch;
        row-gap: 16px;
    }

    .job-filter-field, .job-filter-field--wide {
        flex: 1 1 auto;
    }

    .job-filter #vacancy-filter-form select {
        width: 100%;
    }

    .company_logo {
        width: 48px;
        height: 48px;
    }

    .job_listing-location {
        text-align: center;
        margin-bottom: 20px;
    }
}

@media (max-width: 800px) {
    a.vacancy-whatsapp-cta {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }

    .job_listing-position {
        text-align: center;
        margin-bottom: 20px;
    }

    .job_listing {
        column-gap: 0;
    }

    .job_listing {
        flex-direction: column;
        row-gap: 5px;
        padding: 14px;
    }

    .job_listing-about {
        flex-direction: column;
    }

    a.btn.job_listing-cta {
        display: block;
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        padding: 10px;
        font-size: 13px;
        line-height: 20px;
    }

    a.job_listing-whatsapp.whatsapp-share-btn {
        display: flex;
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        padding: 10px;
        font-size: 13px;
    }

    .job_listing-meta {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 8px;
        row-gap: 6px;
    }

    .job-type, .job_listing-type {
        min-width: auto;
    }

    .gallery-container .popup .modal-content .modal-header .modal-back p {
        display: none;
    }
}

.page-header {
    text-align: center;
    overflow: hidden;
    padding: 20px 0;
}

.page-title {
    font-size: 26px;
    font-weight: 400;
    color: #797979;
}

.page-subtitle li {
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    padding-left: 10px;
    padding-right: 10px;
}

.vacancy-logo {
    display: flex;
    flex-direction: column;
}

.vacancy-features {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
}

.job_listings {
    padding: 0;
}

.filter .filter-option .field-label, .filter .filter-option #hotelsFeatures, .filter .filter-option #categories {
    padding-left: 20px;
}

.hotels-info-image {
    padding: 20px;
}

.activities-address {
    display: flex;
    align-items: center;
    column-gap: 7px;
    margin-top: 10px;
}

.activities-info-cards {
    display: flex;
    align-items: stretch;
    column-gap: 40px;
}

.activity-info-card {
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    padding: 20px;
}

.activity-title-section p.activity-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    min-height: 2.6em;
}

.offers-container .activity-title-section p.activity-title {
    text-align: center;
    min-height: auto;
}

.hotels-activities h2 {
    text-align: center;
}

.description-info-section {
    display: flex;
    column-gap: 10px;
}

.description-info-section .description {
    width: 40%;
}

.activity-image {
    width: 40%;
}

.description-info-section .description {
    width: 60%;
}

.activities-info-cards a {
    color: var(--black-color);
}

.reviews .activities-info-cards {
    flex-wrap: wrap;
    gap: 15px;
}

.reviews .activities-info-cards .hotel-review {
    flex: 1 1 calc(33.33% - 10px);
    max-width: calc(33.33% - 10px);
    height: auto;
}

.activity-review, .count-section, .regions, .activities, .services, .hotel-content {
    padding-top: 20px;
}

.review-with-statistic {
    display: flex;
    column-gap: 10px;
}

.review-with-statistic .statistic {
    width: 30%;
}

.review {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}

.review .review-content .user-profile {
    display: flex;
    column-gap: 5px;
}

.review .title {
    margin: 0 0 5px;
    color: var(--black-color);
}

.review .review-content {
    padding: 10px;
}

.flex-section {
    display: flex;
    column-gap: 15px;
}

.popup {
    display: none;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
}

.popup-img {
    display: block;
    margin: auto;
    max-width: 90%;
    max-height: 90%;
}

.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

.review-images {
    display: flex;
    column-gap: 20px;
    justify-content: center;
}

.activity-review-margin {
    margin-bottom: 50px;
}

.hotel-container .review .review-form, .hotel-container .hotel-info .activity-info {
    background: white!important;
    padding: 0!important;
}

.single-hotel .hotel-container .review-form {
    height: 100%;
}

.drag-drop-area {
    text-align: center;
    margin-bottom: 20px;
    width: 100%;
    height: 200px;
    padding: 70px 20px 20px;
    cursor: pointer;

}

.drag-drop-area > img, .drag-drop-area, .file-count, .optional, textarea::placeholder {
    color: #888;
}

.file-count {
    margin-top: 10px;
    font-size: 14px;
}

.review-button {
    max-width: 100%!important;
    width: 100%;
}

.field #review_form_hotel, .field #review_form_withWhom, .drag-drop-area, .review-form .review-text #review_form_reviewText, .review-form #review_form_firstName, .review-form #review_form_email, .review-form #review_form_date, .hotel-container .review .field > textarea {
    border: 1px solid #ff1b1b;
}

.optional {
    font-size: 14px;
}

.activity-info {
    display: flex;
    flex-direction: column;
}

.activity-title > h3 {
    margin-bottom: 0;
}

.activity-review-title > h2 {
    color: var(--black-color);
    font-size: 35px;
}

.check-rating, .rating-gradations .rating-gradation {
    display: flex;
    align-items: center;
    column-gap: 5px;
    padding-bottom: 10px;
}

.rating-gradations {
    display: flex;
    flex-direction: column;
    padding-top: 10px;
}

.rating-name {
    width: 135px;
}

.rating-gradation-value {
    display: flex;
    column-gap: 5px;
    align-items: center;
    color: #333131;
}

.review-date .posted {
    margin-top: 0;
}

.activity-title {
    margin-bottom: 5px;
}

.review-btn {
    font-size: 14px;
    display: block;
    color: var(--black-color) !important;
    text-align: center;
    border-radius: 5px;
    text-decoration: none;
    padding: 13px 20px;
    height: 40px;
    line-height: 1;
    border: 1px solid #ff1b1b;
}

.selected {
    color: var(--white-color) !important;
    background: #e31e24;
}

.search-input {
    width: 100%;
    display: inline-block;
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: 10px;
    padding: 0 0 0 30px!important;
}

.review-navigation, .review-search {
    margin-bottom: 20px;
}

.review-navigation > p {
    text-decoration: underline;
    font-size: 14px;
}

.main {
    min-width: 250px;
    max-width: 250px;
}

.widget, .page-container .description {
    margin-bottom: 30px;
}

.event-title-section > h1, .event-title-section > p {
    width: var(--page-width);
    margin-right: auto;
    margin-left: auto;
}

.event-title-section {
    background-size: cover;
    background-position-y: -300px;
    opacity: 0.8;
}

.section-with-filter .filter .offers, .section-with-filter .filter .days {
    border-bottom: 1px solid #BDBDBD;
}

.activity-card .hotel-info .hotel-title > a {
    color: black;
    font-size: 20px;
}

.programm > p {
    padding-left: 10px;
    font-weight: 300;
    color: #4F4F4F;
}

.contact-form .field textarea {
    height: 150px;
}

a.hotel-btn {
    font-size: 14px;
    border-radius: 5px;
    text-decoration: none;
    padding: 18px 29px;
    margin: 0 auto 0 0;
    line-height: 1;
    color: black;
    font-weight: 500;
}

.single-hotel .hotel-container .hotel-info > div.hotel-button > a, .single-hotel .mobile-container > div.hotel-button > a {
    margin-bottom: 10px;
    text-transform: none;
    padding: 10px 0;
    font-size: 14px;
    display: flex;
    align-items: center;
}

.single-hotel .hotel-container .hotel-info > div.hotel-button, .single-hotel .mobile-container > div.hotel-button {
    background: transparent;
    padding: 0;
    border: none;
}

.hotel-button a {
    justify-content: space-between;
}
.hotel-button {
    padding: 0 10px!important;
}

.hotel-button a svg path {
    stroke: var(--red-color);
}

.hotel-address svg {
    min-width: 9px;
}

.single-hotel .hotel-container .hotel-info .activity-info {
    border: none;
}

.hotel-description a.btn.green-btn {
    max-width: 220px;
    float: right;
    margin-top: 5px;
}

.filter-option #hotelsFeatures label {
    font-size: 16px;
}

.event-hotel-img {
    display: none;
}

.review-with-statistic .reviews {
    width: 100%;
}

.event-menu a {
    width: 100%;
}

.event-menu {
    display: flex;
    flex-direction: column;
}

.picture-section {
    height: 170px;
    display: flex;
    justify-content: center;
}

.picture-section > a {
    width: 100%;
}

.picture-section > a > img {
    object-fit: cover;
    max-height: 170px;
    height: 100%;
    width: 100%;
}

.activity-review .hotel-container .review {
    width: 70%;
}

.activity-create .hotel-container  {
    justify-content: center;
}

.activity-create .activity-review-title > h2 {
    text-align: center;
}

.activity-create .hotel-container .review .region-select {
    margin: 20px 0;
}

.activity-create .hotel-container .review .region-select > label {
    display: block;
    font-size: 14px;
    color: var(--black-color);
    margin-bottom: 10px;
    text-align: left;
}

.activity-create .hotel-container .review .region-select > div {
    border: 1px solid #e31e24;
    padding: 10px;
}

.hello {
    margin: 50px 0;
}

.activities-menu {
    display: flex;
    column-gap: 20px;
}

.activities-menu > a {
    width: 50%;
}

.hidden {
    display: none;
}

.count-section a {
    color: var(--black-color);
}

.hotel_policy .col-lg-9 + .col-lg-9 {
    width: 100%;
    padding: 0 0 0 15px;
    border-top: 1px solid #fff;
}

.hotel_policy td {
    padding: 10px 0;
    border: none !important;
}

.hotel_policy table, .hotel_policy tr, .hotel_policy td {
    height: auto !important;
}

.hotel_policy tr + tr {
    border-top: 1px solid #fff;
}

.hotel_policy .col-lg-9 .col-lg-3, .hotel_policy .col-lg-9 .col-lg-9 {
    padding: 0;
}

.hotel_policy table {
    border: none;
}

.hotel_policy colgroup col:nth-child(1) {
    width: 25.5% !important;
}

.hotel_policy colgroup col:nth-child(2) {
    width: 74.5% !important;
}

@media (max-width: 1199px) {
    .hotel_policy colgroup col:nth-child(1) {
        width: 100% !important;
    }

    .hotel_policy table td:nth-child(1) {
        padding-bottom: 0;
    }

    .hotel_policy table td:nth-child(2) {
        padding-top: 0;
    }

    .hotel_policy tr {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 1024px) {
    .reviews .activities-info-cards .hotel-review {
        max-width: 100%;
    }

    .activity-info-card {
        min-width: 272px;
        height: 370px
    }

    .activities-slider .activity-info-card {
        height: auto;
    }

    .description-info-section, .review-with-statistic {
        flex-direction: column;
    }

    .activity-image {
        width: 100%;
    }

    .description-info-section .description, .review-with-statistic .statistic, .review-with-statistic .reviews {
        width: 100%;
    }

    .review-with-statistic .reviews {
        padding-top: 50px;
    }

    .main {
        height: 100%;
    }
}

@media (max-width: 800px) {
    .review-images {
        overflow-x: scroll;
        justify-content: flex-start;
    }

    .mob-menu .site-menu.open {
        width: 100vw;
    }

    .activity-image {
            order: -1;
    }

    .activity-review .hotel-container .review {
        width: 100%;
    }

    .activities-menu {
        flex-direction: column;
    }

    .activities-menu > a {
        width: 100%;
    }
}

.page-container .single-hotel.single-hotel--room .hotel-title h1.title {
    text-align: left;
    margin-bottom: 15px;
}

.single-hotel .hotel-container.room-page .features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.single-hotel .hotel-container.room-page .features.features--collapsed {
    display: flex;
    flex-wrap: nowrap;
}

.single-hotel .hotel-container.room-page .features .features__item {
    max-width: none;
    padding: 10px 15px;
}

.single-hotel .hotel-container.room-page .features.features--collapsed .features__item {
    flex: 1 1 0;
    min-width: 0;
}

.single-hotel .hotel-container.room-page .features.features--collapsed .features__toggle {
    flex: 0 0 auto;
}

.single-hotel .hotel-container.room-page .features .features__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #BDBDBD;
    border-radius: 10px;
    padding: 10px 18px;
    width: fit-content;
    cursor: pointer;
    font-size: 14px;
    color: var(--dark-gray-btn) !important;
    background-color: var(--gray-color);
    text-align: center;
    align-self: stretch;
    justify-self: start;
}

.single-hotel .hotel-container.room-page .features .features__toggle:hover {
    background-color: var(--light-gray);
}

.single-hotel .hotel-title .review--header {
    margin-top: 4px;
    padding-bottom: 20px;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--border-light-gray);
}

.single-hotel .hotel-title .review--header .hotel-address-header {
    font-size: 15px;
    color: var(--dark-gray);
    margin: 0 0 4px;
    text-align: left;
}

.single-hotel .hotel-title .review--header-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}

.single-hotel .hotel-title .review--header-row .rating {
    position: relative;
    width: 98px;
    height: 18px;
    flex-shrink: 0;
}

.single-hotel .hotel-title .review--header-row .rating .gray-stars {
    display: flex;
    gap: 2px;
    height: 18px;
}

.single-hotel .hotel-title .review--header-row .rating .red-stars {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    gap: 2px;
    height: 18px;
    overflow: hidden;
}

.single-hotel .hotel-title .review--header-count {
    font-size: 13px;
    color: var(--dark-gray);
    text-decoration: none;
    line-height: 1;
    display: flex;
    align-items: center;
}

.single-hotel .hotel-title .review--header-count:hover {
    text-decoration: underline;
}

.single-hotel .hotel-title .review--header-percent {
    font-size: 13px;
    color: var(--dark-gray);
    line-height: 1;
    display: flex;
    align-items: center;
}

.single-hotel .hotel-title .review--header-percent::before {
    content: '·';
    margin-right: 8px;
    color: var(--logo-light-gray);
}

.single-hotel .room-page__section-title {
    text-align: left;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--red-color);
}
.single-hotel .hotel-card .hotel-container.room-page {
    flex-direction: column;
    gap: 20px;
}

.single-hotel .hotel-card .hotel-container.room-page > .gallery-container {
    height: auto;
}

.single-hotel .hotel-card .hotel-container.room-page > .hotel-info {
    flex: none;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__bottom {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__description {
    flex: 3;
    min-width: 0;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta {
    flex: 2;
    background-color: var(--gray-color);
    border-radius: 8px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta-title {
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .advantage img {
    padding: 5px 0;
    border: none;
    height: 20px;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .advantage p {
    margin: 0;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .room-page__checklist {
    display: flex;
    flex-direction: column;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .advantage--check {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .advantage--check:last-child {
    margin-bottom: 0;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .advantage__check-icon {
    width: 22px;
    height: 22px;
    min-width: 22px;
    background-color: var(--red-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta-footnote {
    font-size: 12px;
    color: var(--light-gray-color);
    text-align: center;
    margin: 0;
}

.single-hotel .hotel-card .hotel-container.room-page .room-page__cta .btn.red-btn {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.single-hotel .hotel-container.room-page .gallery-container .gallery {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    height: 380px;
    max-height: none;
    gap: 5px;
    overflow: hidden;
    border-radius: 12px;
}

.single-hotel .hotel-container.room-page .gallery-container .gallery .gallery-item:first-child {
    grid-row: 1 / 3;
}

.features--collapsed .features__item--extra {
    display: none;
}

.features__toggle {
    background: none;
    border: 1px solid #BDBDBD;
    border-radius: 10px;
    padding: 8px 18px;
    cursor: pointer;
    font-size: 14px;
    color: var(--dark-gray-btn);
}

.features__toggle:hover {
    background-color: var(--light-gray);
}

.single-hotel .hotel-container.room-page .gallery-container .gallery .gallery-item {
    border-radius: 8px;
    overflow: hidden;
    max-height: none;
    height: 100%;
}

@media (max-width: 1250px) {
    .single-hotel .hotel-card .hotel-container.room-page {
        flex-direction: column;
    }
}

@media (max-width: 900px) {
    .single-hotel .hotel-card .hotel-container.room-page .room-page__bottom {
        flex-direction: column;
        gap: 20px;
    }

    .single-hotel .hotel-container.room-page .features.features--collapsed {
        flex-wrap: wrap;
    }

    .single-hotel .hotel-container.room-page .features.features--collapsed .features__item {
        flex: 1 1 calc(50% - 6px);
        min-width: calc(50% - 6px);
    }

    .single-hotel .hotel-container.room-page .features.features--collapsed .features__toggle {
        flex: 1 1 calc(50% - 6px);
        width: auto;
        justify-content: center;
    }

    .single-hotel .hotel-container.room-page .features {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .single-hotel .hotel-container.room-page .gallery-container .gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        height: auto;
    }

    .single-hotel .hotel-container.room-page .gallery-container .gallery .gallery-item:first-child {
        grid-row: unset;
    }

    .single-hotel .hotel-container.room-page .gallery-container .gallery .gallery-item {
        height: 180px;
    }
}

@media (max-width: 530px) {
    .single-hotel .hotel-container.room-page .gallery-container .gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto auto;
        height: auto;
    }

    .single-hotel .hotel-container.room-page .gallery-container .gallery .gallery-item:first-child {
        grid-column: 1 / 3;
        grid-row: unset;
        height: 200px;
    }

    .single-hotel .hotel-container.room-page .gallery-container .gallery .gallery-item {
        height: 140px;
    }

    .single-hotel .hotel-container.room-page .features.features--collapsed {
        flex-direction: column;
    }

    .single-hotel .hotel-container.room-page .features.features--collapsed .features__item,
    .single-hotel .hotel-container.room-page .features.features--collapsed .features__toggle {
        flex: none;
        width: 100%;
        min-width: unset;
    }

    .single-hotel .hotel-container.room-page .features {
        grid-template-columns: 1fr;
    }

    .single-hotel .hotel-container.room-page .features .features__toggle {
        width: 100%;
        align-self: start;
        height: auto;
        padding: 10px 18px;
    }

    .single-hotel .hotel-title .review--header-row {
        gap: 6px;
    }
}

/* /legacy/assets/css/custom.css */
ul.best-activities-list li {
    width: 25%;
    flex-basis: calc((var(--page-width) - 60px)/4);
}

@media screen and (max-width: 600px) {
    ul.best-activities-list li {
        width: 50%;
        flex-basis: calc((var(--page-width) - 60px)/2);
    }
}

.hotel_policy {
    background-color: rgba(230, 230, 230, .33);
}

.hotels-info-cards, .activities-info-cards.events {
    flex-wrap: wrap;
}

.ehotel .hotels-info-cards p.title {
    color: #000000;
}

@media (max-width: 1024px) {
    .hotels-info-cards {
        flex-wrap: nowrap;
    }
}

.container, .container-fluid {
    margin-right: auto;
    margin-left: auto;
}

.container-fluid {
    padding-right: 15px;
    padding-left: 15px;
}

.bg-parallax .container, .booking-item-details, .container, .container-fluid, .media-responsive {
    position: relative;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

.hotel_policy .row {
    border-top: 1px solid #fff;
    padding: 15px 0;
}

.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
    font-size: 14px;
}

@media (min-width: 1200px) {
    .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 {
        float: left
    }

    .col-lg-12 {
        width: 100%
    }

    .col-lg-11 {
        width: 91.66666667%
    }

    .col-lg-10 {
        width: 83.33333333%
    }

    .col-lg-9 {
        width: 75%
    }

    .col-lg-8 {
        width: 66.66666667%
    }

    .col-lg-7 {
        width: 58.33333333%
    }

    .col-lg-6 {
        width: 50%
    }

    .col-lg-5 {
        width: 41.66666667%
    }

    .col-lg-4 {
        width: 33.33333333%
    }

    .col-lg-3 {
        width: 25%
    }

    .col-lg-2 {
        width: 16.66666667%
    }

    .col-lg-1 {
        width: 8.33333333%
    }

    .col-lg-pull-12 {
        right: 100%
    }

    .col-lg-pull-11 {
        right: 91.66666667%
    }

    .col-lg-pull-10 {
        right: 83.33333333%
    }

    .col-lg-pull-9 {
        right: 75%
    }

    .col-lg-pull-8 {
        right: 66.66666667%
    }

    .col-lg-pull-7 {
        right: 58.33333333%
    }

    .col-lg-pull-6 {
        right: 50%
    }

    .col-lg-pull-5 {
        right: 41.66666667%
    }

    .col-lg-pull-4 {
        right: 33.33333333%
    }

    .col-lg-pull-3 {
        right: 25%
    }

    .col-lg-pull-2 {
        right: 16.66666667%
    }

    .col-lg-pull-1 {
        right: 8.33333333%
    }

    .col-lg-pull-0 {
        right: auto
    }

    .col-lg-push-12 {
        left: 100%
    }

    .col-lg-push-11 {
        left: 91.66666667%
    }

    .col-lg-push-10 {
        left: 83.33333333%
    }

    .col-lg-push-9 {
        left: 75%
    }

    .col-lg-push-8 {
        left: 66.66666667%
    }

    .col-lg-push-7 {
        left: 58.33333333%
    }

    .col-lg-push-6 {
        left: 50%
    }

    .col-lg-push-5 {
        left: 41.66666667%
    }

    .col-lg-push-4 {
        left: 33.33333333%
    }

    .col-lg-push-3 {
        left: 25%
    }

    .col-lg-push-2 {
        left: 16.66666667%
    }

    .col-lg-push-1 {
        left: 8.33333333%
    }

    .col-lg-push-0 {
        left: auto
    }

    .col-lg-offset-12 {
        margin-left: 100%
    }

    .col-lg-offset-11 {
        margin-left: 91.66666667%
    }

    .col-lg-offset-10 {
        margin-left: 83.33333333%
    }

    .col-lg-offset-9 {
        margin-left: 75%
    }

    .col-lg-offset-8 {
        margin-left: 66.66666667%
    }

    .col-lg-offset-7 {
        margin-left: 58.33333333%
    }

    .col-lg-offset-6 {
        margin-left: 50%
    }

    .col-lg-offset-5 {
        margin-left: 41.66666667%
    }

    .col-lg-offset-4 {
        margin-left: 33.33333333%
    }

    .col-lg-offset-3 {
        margin-left: 25%
    }

    .col-lg-offset-2 {
        margin-left: 16.66666667%
    }

    .col-lg-offset-1 {
        margin-left: 8.33333333%
    }

    .col-lg-offset-0 {
        margin-left: 0
    }
}

.btn-group-vertical>.btn-group:after, .btn-group-vertical>.btn-group:before, .btn-toolbar:after, .btn-toolbar:before, .clearfix:after, .clearfix:before, .container-fluid:after, .container-fluid:before, .container:after, .container:before, .dl-horizontal dd:after, .dl-horizontal dd:before, .form-horizontal .form-group:after, .form-horizontal .form-group:before, .modal-footer:after, .modal-footer:before, .nav:after, .nav:before, .navbar-collapse:after, .navbar-collapse:before, .navbar-header:after, .navbar-header:before, .navbar:after, .navbar:before, .pager:after, .pager:before, .panel-body:after, .panel-body:before, .row:after, .row:before {
    display: table;
    content: " ";
}

.btn-group-vertical>.btn-group:after, .btn-toolbar:after, .clearfix:after, .container-fluid:after, .container:after, .dl-horizontal dd:after, .form-horizontal .form-group:after, .modal-footer:after, .nav:after, .navbar-collapse:after, .navbar-header:after, .navbar:after, .pager:after, .panel-body:after, .row:after {
    clear: both;
}

dl, ol, ul {
    margin-top: 0;
}

ol, ul {
    margin-bottom: 10px;
}

.text-right {
    text-align: right;
}

.list-card-accepted {
    list-style: none;
    padding: 0;
}

.list-card-accepted {
    list-style: none;
    padding: 0;
}

.list-card-accepted>li {
    display: inline-block;
    margin-right: 10px;
}

a {
    color: #e31e24;
    text-decoration: none;
}


.table {
    width: 100%; /* Займає 100% доступного простору */
    border-collapse: collapse; /* Усуває подвійні рамки */
    text-align: left; /* Вирівнювання тексту по лівому краю */
}

.table th, .table td {
    border: 1px solid #ddd; /* Рамки для клітинок */
    padding: 8px; /* Відступ всередині клітинок */
}

.table th {
    background-color: #f2f2f2; /* Колір фону для заголовків */
    font-weight: bold; /* Жирний шрифт для заголовків */
}

.table tr:nth-child(even) {
    background-color: #f9f9f9; /* Смугастий ефект для рядків */
}

.table tr:hover {
    background-color: #ddd; /* Ефект при наведенні на рядок */
}


.field.checkbox label {
    display: inline-block !important;
}

.field.checkbox input {
    display: inline-block !important;
    width: 50px !important;
}


element.style {
    user-select: none;
    width: 61.8438px;
}
.tox .tox-mbtn {
    color: #222f3e !important;
}

.col-md-6 {
    width: 50%;
    float: left;
}

.wpb_single_image img {
    height: auto;
    max-width: 100%;
    vertical-align: top;
}


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

.mobile-menu li {
    position: relative;
}

.mobile-menu a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: black;
    background: lightgray;
    border-bottom: 1px solid gray;
}

/* Стилі для підменю */
.mobile-menu ul ul {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
}

.mobile-menu li:hover > ul {
    display: block;
}

/* Адаптація під мобільні пристрої */
@media (max-width: 600px) {
    .mobile-menu {
        width: 100%;
    }
}

.menu .sub-menu svg {
    transform: rotate(-90deg);
}

@media (max-width: 1330px) {
    .mob-menu .site-menu li.open > .sub-menu {
        display: block;
    }

    .mob-menu .sub-menu li {
        display: block;
    }

}
.menu ul li ul.sub-menu.sub-menu-3 {
    right: 0;
    left: 100%;
    top: 0;
    position: absolute;
    background: #FFFFFF;
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    z-index: 50;
    width: 100%;
}
/* /legacy/assets/css/like-magic.css */
.booking-search-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
}

.booking-search-container .confirm {
    background: #E31E24;
    color: #ffffff;
    box-shadow: unset !important;
}

.booking-search-container .confirm:hover {
    background: rgba(227, 30, 36, 0.75) !important;
}

.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {
    background: #E31E24;
    color: #ffffff;
}

.mat-flat-button:hover, .mat-raised-button:hover , .mat-fab:hover , .mat-mini-fab:hover  {
    background: rgba(227, 30, 36, 0.75) !important;
}

.mat-input-element {
    caret-color: #E31E24
}

.mat-form-field.mat-accent .mat-input-element {
    caret-color: #E31E24
}

.mat-form-field.mat-focused .mat-form-field-label {
    color: #E31E24
}
.mat-form-field.mat-focused .mat-form-field-ripple {
    background-color: #E31E24
}
.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after {
    color: #E31E24
}

.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
    color: #E31E24
}

.mat-primary .mat-pseudo-checkbox-checked, .mat-primary .mat-pseudo-checkbox-indeterminate {
    background: #E31E24
}

.mat-slider.mat-accent .mat-slider-track-fill, .mat-slider.mat-accent .mat-slider-thumb, .mat-slider.mat-accent .mat-slider-thumb-label {
    background-color: #E31E24;
}

.mat-calendar-body-selected {
    background-color: #e31f25;
    color: #fff !important;
}

.mat-calendar-body-in-range:before {
    background: rgb(227 31 37 / 24%);
}

@media (hover: hover) {
    .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
        background-color: #e31f254f;
    }
}

.mat-datepicker-toggle-active {
    color: #e31f25;
}

.booking-search-container .confirm {
    min-height: 67px;
    font-size: 25px;
    height: 75px;
    margin: 0 0 20px;
    min-width: 200px;
}

.mat-date-range-input-container {
    align-items: initial;

}

.mat-date-range-input-separator {
    margin: auto 4px;
}

@media (max-width: 450px) {
    .mat-select-panel .mat-option {
        font-size: 14px
    }
}

.booking-search-container {
    box-shadow: none;
    padding: 0;
}

.mat-form-field-appearance-fill .mat-form-field-flex, .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
    background-color: #FFFFFF;
    border: 4px solid #E31E24;
    border-radius: 2px 0 0 2px;
    height: 75px;
}

.mat-form-field.ng-tns-c31-3 {
    display: none;
}

@media (max-width: 750px) {
    .mat-form-field, .mat-form-field-flex {
        width: 100%;
    }

    .booking-search-container>* {
        width: 100%;
    }

    .booking-search-container>* {
        margin-right: 0;
    }
}
/* /assets/css/packages.css */
.pkg-section {
    margin: 0 0 60px;
}

.hotel-card__info .pkg-section {
    margin-bottom: 10px;
}

.pkg-section__title {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.3;
    margin: 0 0 30px;
    color: var(--black-color);
}

.pkg-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 900px) {
    .pkg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .pkg-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.pkg-card {
    display: flex;
    flex-direction: column;
    background: var(--white-color);
    border: 1px solid #EEEEEE;
    border-radius: 4px;
    padding: 20px;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.pkg-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.pkg-card.is-inactive {
    opacity: 0.6;
}

.pkg-card {
    position: relative;
}

.pkg-card__title a::after {
    content: "";
    position: absolute;
    inset: 0;
}

.pkg-card .pkg-stays,
.pkg-card .pkg-card__cta {
    position: relative;
    z-index: 1;
}

.pkg-card:hover .pkg-card__title a {
    color: var(--red-color);
}

.pkg-card__media {
    position: relative;
    display: block;
    border-radius: 4px;
    overflow: hidden;
    background: var(--light-gray);
    aspect-ratio: 16 / 10;
}

.pkg-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.pkg-card:hover .pkg-card__media img {
    transform: scale(1.03);
}

.pkg-card__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    margin: 16px 0 4px;
}

.pkg-card__title a {
    color: var(--black-color);
    text-decoration: none;
}

.pkg-card__title a:hover {
    color: var(--red-color);
}

.pkg-card__board {
    font-size: 14px;
    color: var(--dark-gray);
    margin: 0 0 12px;
}

.pkg-card__footer {
    margin-top: auto;
}

.pkg-card .pkg-card__cta.btn {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 15px 10px;
    font-size: 15px;
    font-weight: 500;
    box-sizing: border-box;
}

.pkg-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    border-radius: 20px;
    background: var(--red-color);
    color: var(--white-color);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.pkg-badge + .pkg-badge {
    left: auto;
    right: 10px;
}

.pkg-badge--muted {
    background: var(--dark-gray);
}

.pkg-badge--inline {
    position: static;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
}

.pkg-inclusions {
    font-size: 14px;
    line-height: 1.6;
    color: var(--dark-gray);
    margin: 0 0 16px;
}

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

.pkg-inclusions li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 4px;
}

.pkg-inclusions li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--red-color);
    font-weight: 700;
}

.pkg-inclusions p {
    margin: 0 0 6px;
}

.pkg-inclusions--large {
    font-size: 16px;
}

.pkg-inclusions--large li {
    margin-bottom: 8px;
}

.pkg-price__label {
    font-size: 13px;
    color: var(--light-gray-color);
    margin: 4px 0 0;
}

.pkg-price__value {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--black-color);
    margin: 0 0 2px;
}

.pkg-price__sub {
    font-size: 13px;
    color: var(--dark-gray);
    margin: 0 0 14px;
}

.pkg-stays {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 14px;
}

.pkg-stays--grid .pkg-stays__btn:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.pkg-stays .pkg-stays__btn {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 9px 6px;
    border: 1px solid var(--red-color);
    border-radius: 4px;
    background: var(--white-color);
    color: var(--red-color) !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}

.pkg-stays .pkg-stays__btn:hover {
    background: #fdecec;
}

.pkg-stays .pkg-stays__btn.is-selected {
    background: var(--red-color);
    color: var(--white-color) !important;
}

.pkg-stays__btn small {
    display: block;
    margin-top: 2px;
    font-size: 10px;
    font-weight: 400;
    opacity: 0.85;
}

.pkg-price__missing {
    font-size: 14px;
    color: var(--dark-gray);
    margin: 4px 0 14px;
}

.pkg-detail__head {
    text-align: center;
    margin-bottom: 40px;
}

.pkg-detail__status {
    margin: 0 0 12px;
}

.pkg-detail__status .pkg-badge--inline {
    margin: 0 4px;
}

h1.pkg-detail__title {
    margin: 0 auto;
    max-width: 900px;
}

.pkg-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 372px;
    gap: 20px;
    align-items: start;
}

.pkg-detail__section-title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
    margin: 0 0 16px;
    color: var(--black-color);
}

.pkg-detail__inclusions {
    margin-bottom: 16px;
}

.pkg-inclusions--columns {
    font-size: 15px;
    margin: 0;
}

.pkg-inclusions--columns ul {
    columns: 2;
    column-gap: 30px;
}

.pkg-inclusions--columns li {
    break-inside: avoid;
    margin-bottom: 8px;
}

.pkg-detail__description {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--dark-gray);
}

.pkg-detail__description p:first-child {
    margin-top: 0;
}

.pkg-detail__aside {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.pkg-detail__box {
    padding: 29px 20px;
    border: 1px solid #BDBDBD;
    border-radius: 4px;
    background: var(--white-color);
}

.pkg-detail__box-title {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    color: var(--red-color);
    opacity: 0.9;
}

.pkg-detail__note {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--dark-gray);
}

.pkg-detail__hotel {
    padding-top: 20px;
}

.pkg-detail__hotel img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 4px;
    margin-bottom: 14px;
}

.pkg-detail__hotel-name {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

.pkg-detail__link {
    font-size: 14px;
    color: var(--red-color);
    text-decoration: none;
}

.pkg-detail__link:hover {
    text-decoration: underline;
}

.pkg-detail__back {
    text-align: center;
    color: var(--dark-gray);
}

.pkg-stays--list {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
}

.pkg-stays--list .pkg-stays__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    font-size: 14px;
    text-align: left;
}

.pkg-stays--list .pkg-stays__price {
    text-align: right;
    font-weight: 500;
}

@media (max-width: 900px) {
    .pkg-detail__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .pkg-detail__layout {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .pkg-detail__main,
    .pkg-detail__aside {
        position: static;
        display: contents;
    }

    .pkg-detail__inclusions {
        order: -2;
    }

    .pkg-detail__aside > .pkg-detail__box:first-child {
        order: -1;
        margin-bottom: 20px;
    }

    .pkg-detail__hotel {
        margin-top: 20px;
    }

    .pkg-detail__back {
        margin-top: 16px;
    }

    /* Compact offer box */
    .pkg-detail__box {
        padding: 16px;
    }

    .pkg-detail__box-title {
        margin-bottom: 8px;
        font-size: 18px;
    }

    .pkg-detail .pkg-price__value {
        font-size: 24px;
    }

    .pkg-detail .pkg-price__sub {
        margin-bottom: 10px;
    }

    .pkg-detail .pkg-stays--list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-bottom: 10px;
    }

    .pkg-detail .pkg-stays--list .pkg-stays__btn {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        padding: 8px 10px;
        font-size: 13px;
    }

    .pkg-detail .pkg-stays--list .pkg-stays__price {
        text-align: left;
    }
}

@media (max-width: 560px) {
    .pkg-inclusions--columns ul {
        columns: 1;
    }
}

.pkg-preview-bar {
    background: var(--dark-gray-btn);
    color: var(--white-color);
}

.pkg-preview-bar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    width: var(--page-width);
    margin: 0 auto;
    padding: 12px 0;
}

.pkg-preview-bar__label {
    padding: 4px 10px;
    border-radius: 4px;
    background: var(--red-color);
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pkg-preview-bar__hint {
    flex: 1 1 300px;
    font-size: 14px;
    opacity: 0.85;
}

.pkg-preview-bar__actions {
    display: flex;
    gap: 10px;
}

.pkg-preview-bar__actions .btn {
    height: auto;
    margin: 0;
    padding: 10px 18px;
}

.pkg-hotel-group__name a {
    color: inherit;
    text-decoration: none;
}

.pkg-hotel-group__name a:hover {
    color: var(--red-color);
}

.pkg-preview-hotel__name,
.pkg-hotel-group__name {
    font-size: 14px;
    color: var(--dark-gray);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-align: center;
    margin: 0 0 6px;
}

.pkg-preview-empty {
    text-align: center;
    font-size: 16px;
    color: var(--dark-gray);
}

.activities-list .activity-card .programm {
    padding-left: 10px;
    font-weight: 300;
    color: #4F4F4F;
}

.activities-list .activity-card .programm ul,
.activities-list .activity-card .programm ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.activities-list .activity-card .programm li,
.activities-list .activity-card .programm p {
    margin: 0 0 4px;
    padding: 0;
    line-height: 1.33;
}

.activities-list .activity-card .programm .pkg-list-prices {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #E0E0E0;
}

.activities-list .activity-card .programm .pkg-list-prices li {
    display: flex;
    justify-content: space-between;
    column-gap: 15px;
    max-width: 260px;
}

.activities-list .activity-card .programm .pkg-list-prices strong {
    font-weight: 700;
    color: var(--red-color);
    white-space: nowrap;
}

.activities-list .activity-card .programm .pkg-list-prices__note {
    margin: 4px 0 0;
    font-size: 12px;
    color: #4F4F4F;
}

.section-with-filter .activities-list .pkg-list-card {
    position: relative;
    border-color: #EEEEEE;
    border-radius: 4px;
    transition: box-shadow 0.2s;
}

.section-with-filter .activities-list .pkg-list-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.section-with-filter .activities-list .pkg-list-card .activity-image img {
    border-radius: 4px;
}

.pkg-list-card .pkg-list-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
}

.pkg-list-card a:not(.pkg-list-card__link) {
    position: relative;
    z-index: 1;
}

.section-with-filter .activities-list .pkg-list-card .activity-description p.title a.pkg-list-card__link:hover {
    color: var(--red-color);
}

.holidays .section-with-filter .filter #filter-form > .field {
    margin: 0;
    padding: 12px 20px 18px;
}

.holidays .section-with-filter .filter #filter-form > .field:last-child {
    border-bottom: none;
}

.holidays .section-with-filter .filter #filter-form .field .field {
    margin: 0;
    padding: 0;
}

.holidays .section-with-filter .filter #filter-form p.field-label {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 500;
}

.holidays .section-with-filter .filter #filter-form select {
    width: 100%;
    height: 40px;
    padding: 0 10px;
    border: 1px solid var(--red-color);
    border-radius: 4px;
    background-color: var(--white-color);
    font-size: 14px;
    cursor: pointer;
}

.holidays .section-with-filter .filter #filter-form #filter_region {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

.holidays .section-with-filter .filter #filter-form #filter_region label {
    margin: 0;
    font-size: 14px;
    cursor: pointer;
}

@media (min-width: 901px) {
    .holidays .section-with-filter .filter .open-filter p {
        margin-top: 15px;
    }
}

@media (max-width: 700px) {
    .section-with-filter .activities-list .pkg-list-card {
        flex-direction: column;
        row-gap: 0;
        padding: 16px;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-description {
        display: contents;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-image {
        order: 0;
        display: block;
        width: 100%;
        margin-bottom: 14px;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-image img {
        display: block;
        width: 100%;
        height: 190px;
        margin: 0;
        border-radius: 4px;
        object-fit: cover;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-image img + img {
        display: none;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-description .activity-info {
        order: 1;
        flex-basis: auto;
        margin-bottom: 14px;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-description p.title {
        margin-bottom: 6px;
        font-size: 18px;
    }

    .section-with-filter .activities-list .pkg-list-card .activity-description .booking-term {
        margin-bottom: 12px;
    }

    .section-with-filter .activities-list .pkg-list-card .programm {
        padding-right: 0;
    }

    .section-with-filter .activities-list .pkg-list-card .programm .pkg-list-prices li {
        max-width: none;
    }

    .section-with-filter .activities-list .pkg-list-card .hotel-info {
        order: 2;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 12px;
        margin-bottom: 14px;
        padding-top: 12px;
        border-top: 1px solid #E0E0E0;
    }

    .section-with-filter .activities-list .pkg-list-card .hotel-info > img {
        display: none;
    }

    .section-with-filter .activities-list .pkg-list-card .hotel-info p.hotel-title {
        margin: 0;
    }

    .section-with-filter .activities-list .pkg-list-card .hotel-info .stars {
        margin-top: 0;
    }

    .section-with-filter .activities-list .pkg-list-card .btns {
        order: 3;
        flex-direction: column;
        row-gap: 10px;
        margin-top: 0;
    }

    .section-with-filter .activities-list .pkg-list-card .btns a {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
}

.pkg-detail__chat-hint {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-left: 3px solid var(--red-color);
    border-radius: 4px;
    background: #FDF3F3;
    font-size: 14px;
    line-height: 1.4;
    color: var(--black-color);
}

.pkg-detail__chat-hint[hidden] {
    display: none;
}

/* Home page offers row: wraps on desktop (custom.css) but only has a column gap there. */
.activities-info-cards.events.pkg-widget-row {
    row-gap: 20px;
}

.activities-info-cards.events > .pkg-widget-item {
    display: flex;
    border: none;
    border-radius: 0;
}

@media (max-width: 900px) {
    .activities-info-cards.events > .pkg-widget-item {
        flex-basis: 240px;
        min-width: 240px;
        padding: 0;
    }
}

/* Compact tile card: the hotel page card with smaller type and less text (home page, consultation page). */
.pkg-card--compact {
    width: 100%;
    padding: 12px;
    box-sizing: border-box;
}

.pkg-card--compact .pkg-card__title {
    margin: 12px 0 2px;
    font-size: 16px;
}

.pkg-card--compact .pkg-card__board {
    margin-bottom: 8px;
    font-size: 12px;
}

.pkg-card--compact .pkg-inclusions {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 1.5;
}

.pkg-card--compact .pkg-inclusions li {
    margin-bottom: 0;
    padding-left: 16px;
    font-size: inherit;
}

.pkg-card--compact .pkg-inclusions p {
    margin: 0;
    font-size: inherit;
}

.pkg-card--compact .pkg-price__label {
    margin-top: 0;
    font-size: 11px;
}

.pkg-card--compact .pkg-price__value {
    font-size: 22px;
}

.pkg-card--compact .pkg-price__sub {
    margin-bottom: 0;
    font-size: 11px;
}

.pkg-card--compact .pkg-stays,
.pkg-card.pkg-card--compact .pkg-card__cta.btn {
    display: none;
}

.pkg-card--compact .pkg-badge {
    top: 8px;
    left: 8px;
    padding: 3px 8px;
    font-size: 11px;
}

.events-container .pkg-consult-column {
    position: relative;
    grid-row: 1 / 3;
}

.events-container .pkg-consult-column:nth-child(1) {
    grid-column: 1 / 2;
}

.events-container .pkg-consult-column:nth-child(2) {
    grid-column: 3 / 4;
}

.events-container .pkg-consult-column__cards {
    position: absolute;
    inset: 0;
    display: flex;
    flex-flow: column wrap;
    align-content: flex-start;
    gap: 10px;
    overflow: hidden;
}

.events-container .pkg-consult-column__cards > .pkg-card {
    flex: 1 0 auto;
    width: 100%;
    max-height: 480px;
}

.events-container .pkg-consult-column__cards .pkg-card__media {
    flex: 1 1 150px;
    aspect-ratio: auto;
}

.events-container .pkg-consult-column__cards .pkg-card__title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.events-container .pkg-consult-column__cards .pkg-card__board {
    min-height: 1.4em;
}

.events-container .pkg-consult-column__cards .pkg-inclusions {
    min-height: 4.5em;
}

@media (max-width: 1100px) {
    .events-container .pkg-consult-column,
    .events-container .pkg-consult-column:nth-child(1),
    .events-container .pkg-consult-column:nth-child(2) {
        position: static;
        grid-column: span 1;
        grid-row: 2;
    }

    .events-container .pkg-consult-column__cards {
        position: static;
        flex-wrap: nowrap;
        overflow: visible;
    }

    .events-container .pkg-consult-column__cards > .pkg-card {
        flex: 0 0 auto;
        max-height: none;
    }

    .events-container .pkg-consult-column__cards > .pkg-card:nth-child(n+3) {
        display: none;
    }

    .events-container .pkg-consult-column__cards .pkg-card__media {
        flex: 0 0 auto;
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 560px) {
    .events-container .pkg-consult-column,
    .events-container .pkg-consult-column:nth-child(1),
    .events-container .pkg-consult-column:nth-child(2) {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

/* /legacy/assets/css/korrekturen.css */
/* Korrekturen aus der Website-Analyse vom 15.10.2026 (nach style.css, custom.css, like-magic.css geladen) */

/* Schriften: Poppins mit serifenloser Ersatzschrift; die defekte Schrift "Geometria" wird nicht mehr genutzt */
.input-text, .contact-form .field input, .contact-form .field textarea, .contact-form .field select, .field select,
.review-search .search-input, .field textarea, .job-filter #vacancy-filter-form select { font-family: 'Poppins', sans-serif; }
.count-section .count-col > div p { font-family: 'Poppins', sans-serif; font-weight: 600; }

/* Überschriften-Hierarchie auf Hotelseiten: H1 bleibt die größte Überschrift */
@media (max-width: 1024px) {
  .single-hotel .hotel-title h1 { font-size: 32px; line-height: 1.2; }
  .single-hotel h2 { font-size: min(26px, 7vw); }
}

/* Kontrast (WCAG AA, mind. 4,5 : 1) */
.breadcrumbs, .breadcrumbs a { color: #6E6E73; }
a.whatsapp-share-btn, .whatsapp-share-btn { color: #0B3D20; }

/* Buchungsmaske: Anzahl Kinder und Alter je Kind */
.bs-kinder { display: contents; }
.bs-alter { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .75rem; }
.bs-alter:not(:has(label:not([hidden]))) { display: none; }
.bs-alter label { display: flex; flex-direction: column; font-size: .8rem; gap: .25rem; color: #4b5563; min-width: 140px; }
.bs-alter label[hidden] { display: none; }

/* neue Blogbeiträge (z. B. /blog/e-laden) */
.blog-neu { max-width: 860px; }
.blog-neu .blog-datum { color: #6E6E73; font-size: 14px; margin: 0 0 8px; }
.blog-neu h1 { color: #E31E24; margin: 0 0 16px; }
.blog-neu h2 { margin: 28px 0 10px; font-size: 22px; }
.blog-neu ul { padding-left: 20px; line-height: 1.7; }
.blog-neu .btn { display: inline-block; margin-top: 18px; }

/* Poppins selbst ausgeliefert (300–700) */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 300; font-display: swap; src: url('/assets/fonts/poppins-300.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/poppins-400.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/poppins-500.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/poppins-600.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/poppins-700.woff2') format('woff2'); }

/* Seiten ohne eigene Überschrift: Seitentitel als H1 */
.seite-h1 { color: #E31E24; font-size: 32px; line-height: 1.2; margin: 24px 0 12px; }

/* Querverweise ("Mehr zum REGIOHOTEL …", "Unsere Hotels hier") */
.querverweise { max-width: var(--page-width, 1200px); margin: 32px auto; padding: 24px; border-top: 1px solid #E5E5EA; box-sizing: border-box; }
.querverweise h2 { font-size: 22px; margin: 0 0 14px; color: #1D1D1F; }
.querverweise ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.querverweise li a { display: inline-block; padding: 9px 14px; border: 1px solid #E31E24; border-radius: 999px; color: #E31E24; text-decoration: none; font-size: 14px; line-height: 1.3; }
.querverweise li a:hover { background: #E31E24; color: #fff; }

/* Verkaufsorientierte Usability (Festlegung Johannes 15.10.2026) */
/* Menüpunkt "Buchen" (rot) und "Meine Buchung" */
.header-box .kopf-buchen { display: inline-flex; align-items: center; background: #E31E24; color: #fff !important; font-weight: 600; padding: 9px 18px; border-radius: 6px; text-decoration: none; margin-right: 14px; white-space: nowrap; font-size: 15px; }
.header-box .kopf-buchen:hover { background: #c4161c; }
.header-box { display: flex; align-items: center; }
@media (max-width: 1024px) { .header-box .kopf-buchen { padding: 7px 12px; margin-right: 10px; font-size: 14px; } }
/* Startseite mobil: Verfügbarkeitsprüfung ohne Scrollen erreichbar */
@media (max-width: 768px) {
  .title-section p.subtitle + p.subtitle { display: none; }
  .title-section h1 { font-size: 24px; line-height: 1.25; }
}
/* Urlaubsangebote: Buchen direkt an der Karte */
.angebot-buchen { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; width: 100%; }
.angebot-buchen label { display: flex; flex-direction: column; font-size: 12px; color: #4b5563; gap: 3px; flex: 1 1 120px; }
.angebot-buchen input, .angebot-buchen select { font: inherit; font-size: 14px; padding: 8px; border: 1px solid #cfd4da; border-radius: 6px; background: #fff; height: 40px; box-sizing: border-box; width: 100%; }
.angebot-buchen button.btn { height: 40px; padding: 0 18px; border: 0; cursor: pointer; flex: 1 1 140px; font: inherit; font-weight: 600; }
.activity-card .btns { flex-direction: column; align-items: stretch; gap: 10px; }
.angebot-links { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.angebot-links .btn { margin: 0; }
.angebot-berater { color: #E31E24; font-size: 14px; text-decoration: underline; }
.pkg-detail__box .angebot-buchen { margin-top: 14px; }
.pkg-detail__box .angebot-berater, .angebot-kasten .angebot-berater { display: block; margin-top: 10px; }
.angebot-anfragen { display: block; text-align: center; margin-top: 14px; }
.angebot-kasten { margin: 16px 0; padding: 16px; border: 1px solid #E5E5EA; border-radius: 10px; max-width: 520px; }
.angebot-filter { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin: 0 0 20px; }
.angebot-filter label { display: flex; flex-direction: column; font-size: 13px; color: #4b5563; gap: 4px; min-width: 220px; }
.angebot-filter select { font: inherit; font-size: 15px; padding: 8px 10px; border: 1px solid #cfd4da; border-radius: 6px; background: #fff; }
.angebot-treffer { margin: 0 0 8px; font-size: 14px; color: #6E6E73; }
.activity-card[hidden] { display: none !important; }
/* Hotelseite: Preise und Buchen an den Zimmerkarten */
.hotel-card__rooms .card-item { display: flex; flex-direction: column; }
.hotel-card__rooms .card-item > a { flex: 1; }
.zimmer-buchen { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; padding: 12px 0 4px; }
.zimmer-ab { font-size: 15px; color: #1D1D1F; }
.zimmer-ab strong { color: #E31E24; font-size: 18px; }
.zimmer-buchen .btn { margin: 0; padding: 0 20px; font-size: 14px; }
/* Knöpfe der alten Seite haben feste 50 px Höhe, der Text klebte dadurch oben; jetzt mittig und einheitlich (Hinweis Isabell Hedke 15.10.2026) */
.zimmer-buchen .btn, .buchen-leiste .btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
#buchen-maske { margin: 16px 0 24px; scroll-margin-top: 90px; }
/* mitlaufende Leiste "Zimmer & Preise": mobil unten, Desktop oben */
.buchen-leiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 16px; background: #fff; box-shadow: 0 -4px 16px rgba(0,0,0,.12); transform: translateY(110%); transition: transform .25s; }
.buchen-leiste.an { transform: none; }
.buchen-leiste__text { display: flex; flex-direction: column; font-size: 13px; line-height: 1.3; min-width: 0; }
.buchen-leiste__text strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buchen-leiste__text span { color: #E31E24; font-weight: 600; }
.buchen-leiste .btn { margin: 0; padding: 0 20px; }
@media (min-width: 1025px) {
  .buchen-leiste { top: 0; bottom: auto; transform: translateY(-110%); box-shadow: 0 4px 16px rgba(0,0,0,.12); padding: 10px max(16px, calc((100vw - 1200px) / 2)); }
  .buchen-leiste__text { flex-direction: row; gap: 14px; font-size: 15px; }
}
/* Startseite: Gästestimmen mit Durchschnittsnote */
.bewertung-schnitt { text-align: center; margin: -6px 0 18px; font-size: 16px; }
.bewertung-schnitt strong { color: #E31E24; }
.bewertung-alle { margin: 18px auto 0; max-width: 760px; }
.bewertung-alle summary { cursor: pointer; text-align: center; color: #E31E24; font-weight: 600; list-style: none; padding: 10px; border: 1px solid #E31E24; border-radius: 999px; max-width: 280px; margin: 0 auto; }
.bewertung-alle summary::-webkit-details-marker { display: none; }
.bewertung-alle ul { list-style: none; padding: 0; margin: 14px 0 0; columns: 2 280px; }
.bewertung-alle li { padding: 6px 0; break-inside: avoid; font-size: 14px; }
.bewertung-alle li a { color: #1D1D1F; font-weight: 500; }
.bewertung-alle li span { color: #6E6E73; display: block; font-size: 13px; }
.search-filter .bs-vorteile { justify-content: center; }
/* Standorte: Häuser als Raster statt Karussell – das Karussell der alten Seite startet hier nicht, die Häuser standen untereinander (Hinweis Isabell Hedke 15.10.2026) */
.hotels-activities .activities-info-cards { flex-direction: column; gap: 12px; }
.hotels-activities .activity-info-card.main { min-width: 100%; }
.hotels-activities .hotels-slider, .hotels-activities .hotels-slider .swiper.slider-grid { max-width: none; overflow: visible; }
.hotels-activities .hotels-slider .swiper-wrapper { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; transform: none !important; height: auto; }
.hotels-activities .hotels-slider .swiper-slide { width: auto !important; margin: 0 !important; height: auto; }
.hotels-activities .hotels-slider .activity-info-card { width: 100%; min-width: 0; height: 100%; box-sizing: border-box; }
.hotels-activities .hotels-slider .activity-info-card img { width: 100%; height: 170px; object-fit: cover; }

/* Lighthouse 18.10.2026: ausreichender Kontrast (mind. 4,5:1) */
.single-hotel .hotel-container .hotel-info .review p.hotel-recommends,
.single-hotel .mobile-container .review p.hotel-recommends,
.book-room .hotel-container .hotel-info .review p.hotel-recommends { color: #c4161c; }
.review .stars .rating-info a span, .single-hotel .hotel-container .hotel-info .review .stars .rating-info a span { color: #5f6368; }

/* Mobilansicht 18.10.2026 (Prüfung Johannes): lange Texte auf dem Handy lesbar, nicht zentriert und gedrängt */
@media (max-width: 768px) {
  .holidays .event-title-section .urlab-subtitle { font-size: 16px; line-height: 1.5; }
  .hotel-description-section p { text-align: left !important; font-size: 15px; line-height: 1.55 !important; }
}

/* Vorteile unter der Suchmaske: Haken immer am Zeilenanfang, auf dem Handy linksbündig (Johannes 18.10.2026) */
.bs-vorteile li { align-items: flex-start; }
@media (max-width: 768px) { .search-filter .bs-vorteile { justify-content: flex-start; } }
.hotel-card__button-wrapper .btn.red-btn { display: inline-block; margin-top: 12px; }
