body {
    background-color: #fff !important;
}
#masthead, #colophon {
    display: block !important;
}
h1 {
    font-size: 3em;
    font-weight: 800;
    color: #057583;
    margin-top: 0;
}
#apartment_sub_title {
    font-size: 1em;
    margin: 10px 0 30px;
}
.apartment-details {
    margin: 0;
}
.apartment-details td {
    background: #f8f9fa;
    border: 4px solid #fff;
    padding: 10px;
}
.apartment-details h4 {
    font-size: 1.25em;
    font-weight: 700;
}
.field-content>.item-list>ul, .field-content>.item-list>ul li, .flexslider .slides ul, .flexslider .slides ul li {
    margin: 0;
    list-style: none;
}
.item-list ul li {
    margin: 0 0 .25em 1.5em;
    padding: 0;
}
.field-content>.item-list>ul, .field-content>.item-list>ul li, .flexslider .slides ul, .flexslider .slides ul li {
    margin: 0;
    list-style: none;
}
.item-list ul {
    margin: 0 0 .75em;
    padding: 0;
}
.views-field-field-facilities ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 30px;
}
.field-content>.item-list>ul, .field-content>.item-list>ul li, .flexslider .slides ul, .flexslider .slides ul li {
    margin: 0;
    list-style: none;
}
.views-field-field-facilities ul li {
    width: 30%;
    position: relative;
    display: block;
    padding-left: 25px;
}
.views-field-field-facilities ul li::before {
    content: '\f058';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #82c54c;
    position: absolute;
    top: 0;
    left: 0;
}
.apart-label{
    font-size: 0.8rem;
}
.view-display-id-main_details .views-row {
    margin: 0 -4px 40px;
}
#hero-region {
    margin-top: -116px;
    margin-bottom: 80px;
    position: relative;
}
#hero-region .region-hero {
    position: relative;
    display: block;
}
.slick-main {
    width: 100%;
}
.slick-nav {
    width: 100%;
}
.slick-prev:before {
    content: '🢦';
}
.ast-container {
    display: block !important;
    margin-bottom: 30px;
    max-width: 100% !important;
}
.slick-prev:before, .slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: white;
    border: none;
    outline: none;
    background: transparent ;
}
.view-display-id-gallery_thumbs .slick-prev {
    left: 15px;
    z-index: 1;
    background-color: transparent!important;
}
.view-display-id-gallery_thumbs .slick-next {
    right: 60px;
    background-color: transparent!important;
}
.slick-next:after {
    content: '🢧';
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
    color: white;
    outline: none;
    background: transparent !important;
}
.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: white;
    box-shadow: none;
}
.slick-dots {
    position: absolute;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
slick-dots li.slick-active button:before {
    opacity: .75;
    color: #000;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: #000;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.view-display-id-gallery_thumbs .views-row {
    border: 2px solid #fff;
    max-height: 175px;
}
.slick-main img, .slick-nav img {
    width: 100%;
    height: auto;
}
.slick-slide img {
    display: block;
}
@media (min-width: 1200px) {
    .slick-slide a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: 1244px; /* or your desired fixed height */
        margin-top: calc(-25vh);
    }
}
@media (max-width: 1200px) {
    .slick-slide a {
        margin-top: 70px;
        display: block;
    }
}

.slick-slide a img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #000;
}
.newbook-container {
    margin-right:0 !important;
    margin-left:0 !important;
    max-width:100%!important;
    width:100%!important;
    margin-top: 40px;
}
#properties_wrapper {
    max-height: 640px;
    height: 640px;
    overflow-X: hidden;
    overflow-Y: scroll;
}
.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}
#price-results {
    padding: 20px 0;
    font-size: 1.25em;
}
#price-results .bold {
    font-weight: 700;
    color: #057583;
}
.apartment-wrapper {
    border: 1px solid #eee;
    margin-bottom: 30px;
    position: relative;
}
@media (min-width: 767px) {
    .apartment-wrapper {
        display: flex;
    }
}
.apartment-wrapper .images {
    display: block;
}
.apartment-wrapper .images .image-wrapper {
    max-width: 312px;
}
.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}
.apartment-wrapper .images .listing-thumbnail-large {
    position: relative;
    width: 67.3%;
    height: 152px;
    overflow: hidden;
}
.apartment-wrapper .images .listing-thumbnail-small {
    position: relative;
    height: 152px;
    overflow: hidden;
}
.apartment-wrapper .images .image-wrapper .d-flex img {
    height: 152px;
    display: block;
}
.apartment-wrapper .images .listing-thumbnail-small {
    display: block;
    width: 32.7%;
}
.apartment-wrapper .images .listing-thumbnail-small img:first-child {
    padding-left: 2px;
    padding-bottom: 1px;
}
.apartment-wrapper .images .listing-thumbnail-small img{
    height: 76px !important;
}

.apartment-wrapper .listing-features {
    position: relative;
    padding: 10px 30px;
    bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    color: #fff;
    background: #82c54c ;
    margin-top: 2px;
}
.apartment-wrapper .listing-features>div>img, .apartment-wrapper .listing-features>div>div {
    display: inline-block;
}
.apartment-wrapper .text {
    width: 100%;
    width: calc(100% - 314px);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.apartment-wrapper .text .text-holder {
    padding: 25px 40px;
    width: 100%;
    display: flex
;
    justify-content: space-between;
    align-content: center;
}
.hot-deals {
    position: absolute;
    display: block;
    top: 10px;
    left: 0;
    padding: 5px 10px;
    background: #82c54c;
    z-index: 1;
    color: #fff;
    font-size: .875em;
    font-weight: 700;
    text-transform: uppercase;
}
.apartment-wrapper .text {
    width: 100%;
    width: calc(100% - 314px);
    position: relative;
    display: flex
;
    justify-content: center;
    align-items: center;
}
.apartment-wrapper .text .text-holder .text-block {
    padding-right: 10px;
}
.apartment-wrapper .text .text-holder .views-field-title {
    font-weight: 700;
}

a.apartment-cta {
    border: 2px solid #82c54c;
    color: #82c54c;
    margin-top: 10px;
}
a.popup-link {
    display: block;
    text-decoration: none;
    color: #333;
}

a.popup-link .popup-text {
    padding: 10px;
}
a.shortlist::before {
    content: '\f004';
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    margin-right: 10px;
}
a.apartment-cta, a.shortlist, a.shortlist:visited {
    display: block;
    padding: 10px 20px;
    background: #fff;
    color: #82c54c ;
    border: 2px solid #82c54c ;
    border-radius: 6px;
    font-size: .875em;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    -webkit-transition-duration: 300ms;
    -moz-transition-duration: 300ms;
    -o-transition-duration: 300ms;
    transition-duration: 300ms;
}
a.clear-filters {
    display: inline-block;
    font-size: .75em;
    line-height: 1;
    padding: 5px 10px;
    background: #eee;
    border-radius: 6px;
    color: #aaa;
    text-decoration: none;
}
#map_wrapper {
    background-image: url(images/loading_icon.gif);
    background-position: center center;
    background-repeat: no-repeat;
}
a.apartment-cta {
    border: 2px solid #82c54c;
    color: #82c54c;
    margin-top: 10px;
}
a.apartment-cta:hover {
    background: #82c54c;
    border: 2px solid #82c54c;
    color: #fff;
}
.popup-listing-features {
    display: flex
;
    justify-content: space-between;
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}
a.popup-link .popup-text {
    padding: 10px;
}
.popup-text h3 {
    font-size: 1.125em;
    font-weight: 700;
}
a.popup-link .popup-text {
    padding: 10px;
}
.popup-image img {
    max-height: 150px;
    width: 100%;
}
.apartment-wrapper .images .listing-thumbnail-small img:last-child {
    padding-left: 2px;
    padding-top: 1px;
}
a.shortlist.added {
    color: #fff;
    background: #82c54c ;
    border-color: #82c54c ;
}
a.shortlist:hover {
        background: #82c54c ;
    border: 2px solid #82c54c ;
    color: #fff;
}
a.shortlist_pinned {
    color: #fff;
}
.shortlist_pinned {
    position: fixed;
    background: #057583;
    z-index: 999999;
    left: 0;
    bottom: 360px;
    color: #fff;
    font-size: .875em;
    text-transform: uppercase;
    letter-spacing: 0;
    padding: 9px 10px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.25);
    transition-duration: 300ms;
    font-weight: 700;
    text-decoration: none;
}
a.shortlist_pinned::before {
    content: '\f004';
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    margin-right: 10px;
}
.apartment-wrapper a {
    text-decoration: none;
}
.container {
    margin-top: 85px;
}
#block-xtr-bookings-booking-calendar h2 {
    margin: 0;
    padding: 30px;
    background: #82c54c ;
    color: #fff;
    text-align: center
}

#calendar_wrapper,#calendar_wrapper>table {
    margin-top: 0
}

#calendar_wrapper table,#calendar_wrapper table.availability_table thead th {
    font-size: 1em
}

#calendar_wrapper table td,#calendar_wrapper table th {
    line-height: 2.2em;
    padding: 4px 9px
}

#calendar_wrapper table.availability_table thead th {
    border: 3px solid #fff;
    background: #057583
}

#calendar_wrapper table.availability_table td.empty {
    background: #fff
}

#calendar_wrapper table.availability_table td,#calendar_legend .day_type.available:before {
    border: 3px solid #fff;
    background: #f4f4f4
}

#calendar_wrapper table.availability_table td.booked,#calendar_legend .day_type.bookedout:before,#calendar_wrapper table.availability_table td.prev_available.selected {
    background: #4c4c4c;
    color: #fff
}

#calendar_wrapper table.availability_table td.arrival,#calendar_wrapper table.availability_table td.selected,#calendar_wrapper table.availability_table td.prev_booked.selected,#calendar_legend .day_type.selected:before {
    color: #fff;
    background: #82c54c
}

#block-xtr-bookings-booking-calendar .webform-client-form input[type="submit"],.check-price-form input[type="submit"] {
    background: #82c54c;
    cursor: pointer
}

#block-xtr-bookings-booking-calendar .webform-client-form input[type="submit"]:hover,.check-price-form input[type="submit"]:hover {
    background: #bad635
}

#month-selector-form .form-item {
    margin: 0
}

#month-selector-form .prev,#month-selector-form .next,#month-selector-form select {
    font-size: 1.125em;
    line-height: 3;
    height: 3em;
    border: 3px solid #fff;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background: #f4f4f4;
    color: #333
}

#month-selector-form select {
    -webkit-appearance: none;
    border-width: 1px
}

.check-price-form label {
    display: none
}

.check-price-form label .form-item-nights {
    position: relative
}

.check-price-form .form-item-nights>label {
    display: block;
    position: absolute;
    top: 25px;
    font-size: .875em;
    font-weight: 600
}

.form-item-available-from,.form-item-available-to,.form-guests,.form-item-promo-code {
    padding-left: 30px;
    position: relative
}
.form-item-promo-code::before {
    content: '\f02b' !important;
}
.form-item-available-from::before,.form-guests::before,.form-item-promo-code::before {
    content: '\f073';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.form-item-promo-code::before {
    content: '\f02b'
}

.form-guests::before {
    content: '\f234'
}

.check-price-form input[type="text"],.check-price-form select,.check-price-form #edit-available-from,.check-price-form #edit-available-to {
    -webkit-appearance: none;
    padding: 5px 10px;
    font-size: 1em;
    line-height: 2;
    display: block;
    margin: 0;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff
}

#tariffs_table th {
    background: #057583;
    border: 2px solid #057583
}

#tariffs_table td {
    background: #fff;
    border: 2px solid #057583
}

#tariffs_table tr.selected td {
    background: #f4f4f4;
    color: #82c54c;
    font-size: 1.125em;
    font-weight: 700
}

#block-xtr-bookings-booking-calendar {
    background: #f8f9fa;
}
.tab-pane {
    padding: 20px;
}
.tab-content>.active {
    display: block;
}
#calendar_wrapper table.availability_table thead th {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-weight: 200;
    line-height: 30px;
    font-size: 14px;
    width: 14.285%;
}
#calendar_wrapper table.availability_table thead th {
    border: 3px solid #fff;
    background: #82c54c ;
    text-align: center;
}
#calendar_wrapper table.availability_table td.today, #calendar_wrapper table.availability_table td.prev_booked {
    cursor: pointer;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
#calendar_wrapper table.availability_table td.available {
    cursor: pointer;
}
#calendar_wrapper table.availability_table td {
    vertical-align: middle;
    text-align: center;
    height: 35px;
}

#calendar_wrapper table.availability_table td, #calendar_legend .day_type.available:before {
    border: 3px solid #fff;
    background: #f4f4f4;
}
#calendar_legend .day_type.available:before {
    background: #fff;
}

#calendar_legend .day_type:before {
    content: '';
    width: 20px;
    height: 20px;
    background: red;
    display: inline-block;
    margin-right: 5px;
    line-height: 26px;
    border: 1px solid #2c4244;
    vertical-align: middle;
}
.check-price-form {
    position: relative;
}
#month-selector-form .form-item, .check-price-form .form-item {
    margin: 0 0 10px;
}
.form-item-available-from, .form-item-available-to, .form-guests, .form-item-promo-code {
    padding-left: 30px;
    position: relative;
}
.form-item, .form-actions {
    margin-top: 1em;
    margin-bottom: 1em;
}
.form-item-available-from::before, .form-guests::before, .form-item-promo-code::before {
    content: '\f073';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#calendar_legend {
    margin-bottom: 20px;
}

#month-selector-form .prev:hover, #month-selector-form .next:hover {
    text-decoration: none;
}
#month-selector-form .prev, #month-selector-form .next, #month-selector-form select {
    font-size: 1.125em;
    line-height: 3;
    height: 3em;
    border: 3px solid #fff;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background: #f4f4f4;
    color: #333;
}
#month-selector-form .prev, #month-selector-form .next {
    background: #00b5df;
    color: #fff;
    line-height: 40px;
    font-weight: 700;
    display: block;
    text-align: center;
}
#month-selector-form .prev, #month-selector-form .next, #month-selector-form select {
    height: 40px;
    font-size: 14px;
    padding: 0 5px;
    width: 100%;
}
#month-selector-form .prev, #month-selector-form .next, #month-selector-form select {
    font-size: 1.125em;
    line-height: 3;
    height: 3em;
    border: 3px solid #fff;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background: #f4f4f4;
    color: #333;
}
.no-gutters>.col, .no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0;
}
.no-gutters {
    margin-right: 0;
    margin-left: 0;
}
#calendar_wrapper table.availability_table td, #calendar_legend .day_type.available:before {
    border: 3px solid #fff;
    background: #f4f4f4;
}
.check-price-form input[type="text"], .check-price-form select, .check-price-form #edit-available-from, .check-price-form #edit-available-to {
    -webkit-appearance: none;
    padding: 5px 10px;
    font-size: 1em;
    line-height: 2;
    display: block;
    margin: 0;
    border: 1px solid #ddd;
    border-radius: 3px;
    background: #fff;
}
.form-guests::before {
    content: '\f234';
}
#block-xtr-bookings-booking-calendar .webform-client-form input[type="submit"], .check-price-form input[type="submit"] {
    background: #f5821f;
    width: 100%;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    height: 50px;
    font-size: 16px;
    border: 0;
    margin-top: 20px;
}
#block-xtr-bookings-booking-calendar .webform-client-form input[type="submit"], .check-price-form input[type="submit"] {
    background: #82c54c;
    cursor: pointer;
    border-radius: 0;
}
.check-price-form .loading {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #f2fafd;
    display: none;
}
#tariffs_table {
    font-size: 14px;
    background: #fff;
    margin-bottom: 0;
}

#tariffs_table th {
    background: #057583;
    border: 2px solid #057583;
}
#tariffs_table th {
    border: 1px solid #2c4244;
    background: #2c4244;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}
.table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6;
}
#tariffs_table tr.selected td label {
    background: #f4f4f4 !important;
    color: #82c54c !important;
    font-size: 1.125em;
    font-weight: 700;
}
#tariffs_table td label {
    display: inline;
    cursor: pointer;
}

.bootstrap-datetimepicker-widget {
    margin-top: -35px;
    z-index: 999 !important;
    font-size: 0.8em !important;
    width: 360px !important;
}

.bootstrap-datetimepicker-widget th {
    border: 0
}

.bootstrap-datetimepicker-widget table td.day {
    height: 30px !important;
    line-height: 30px !important;
    width: 30px !important
}

.bootstrap-datetimepicker-widget th.dow {
    background: #ccc;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    color: #fff;
    border: 1px solid #2c4244 !important
}

.bootstrap-datetimepicker-widget table td {
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
    border: 1px solid #2c4244 !important
}

.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover {
    background: #ddd !important
}

.bootstrap-datetimepicker-widget th.dow {
    background: #057583;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    color: #fff;
    border: 1px solid #057583 !important
}

.bootstrap-datetimepicker-widget table thead tr:first-child th {
    background: #fafafa !important;
    color: #232323 !important;
    font-family: 'Montserrat',sans-serif !important;
    font-weight: 400
}

.bootstrap-datetimepicker-widget th.dow {
    font-family: "Montserrat",sans-serif;
    font-weight: 400
}

.bootstrap-datetimepicker-widget table td.day:hover {
    background: #82c54c !important;
    color: #fff
}

.bootstrap-datetimepicker-widget table thead .next {
    position: relative;
    background: #fafafa !important;
    border-radius: none
}

.bootstrap-datetimepicker-widget table thead .next:after {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: relative;
    color: #232323;
    top: 0;
    left: 0;
    z-index: 99
}

.bootstrap-datetimepicker-widget table thead .prev {
    position: relative;
    background: #fafafa !important;
    border-radius: 0;
}

.bootstrap-datetimepicker-widget table thead .prev:after {
    content: '\f053';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: relative;
    color: #232323;
    top: 0;
    left: 0;
    z-index: 99
}
.wrapper-no-image{
    width: 310px;
    height: 152px;
}
@media (max-width: 767px) {
    .apartment-wrapper {
        max-width: 314px;
        width: 100%;
        margin: 15px auto 30px;
        flex-wrap: wrap;
    }
    .view-apartment-list .view-content>div {
        margin: 0 10px;
    }
    .view-apartment-list .view-content {
        display: flex
    ;
        flex-wrap: wrap;
        justify-content: center;
    }
    .apartment-wrapper .text {
        width: 100%;
    }
    a.apartment-cta, a.shortlist {
        padding: 8px !important;
        text-align: center !important;
        width: 49% !important;
        font-size: .75em;
    }
    .apartment-wrapper .text .buttons {
        position: relative;
    }
    .apartment-wrapper .text .text-holder {
        padding: 20px;
    }
    #search_map {
        max-height: 400px;
    }
    .newbook-container {
        margin-top: 0;
    }
    body, html {
        font-size: 14px;
        line-height: 1.5em;
    }
    .apartment-details tr {
        display: flex;
        flex-wrap: wrap;
    }
    tr.bottom-row>td {
        width: 100%;
    }
}
@media (max-width: 576px) {
    .view-apartment-list .view-content>div {
        margin: 0;
    }
    .check-price-form input[type="text"], .check-price-form select, .check-price-form #edit-available-from, .check-price-form #edit-available-to, #calendar_wrapper table.availability_table, #calendar_legend .day_type {
        font-size: .7857em;
    }
    #calendar_wrapper table.availability_table thead th {
        font-size: .6em !important;
    }
}
@media (max-width: 1599px) {
    a.apartment-cta, a.shortlist {
        display: inline-block;
        padding: 10px;
        text-align: center;
        width: 100%;
        line-height: 1;
        position: relative;

    }
    .apartment-wrapper .text .text-holder .buttons {
        position: relative;
        width: 100%;
    }
    .apartment-wrapper .text .text-holder {
        flex-wrap: wrap;
    }
}
@media (max-width: 1199px) {
    .apartment-details {
        font-size: .8em;
    }
    .views-field-field-facilities ul li {
        width: 48%;
    }
    .check-price-form input[type="text"], .check-price-form select, .check-price-form #edit-available-from, .check-price-form #edit-available-to, #calendar_wrapper table.availability_table, #calendar_legend .day_type {
        font-size: .875em;
    }
    #calendar_wrapper table.availability_table thead th {
        font-size: .875em;
    }
    #calendar_wrapper {
        position: relative;
    }
    .container {
        margin-top: 0;
    }
}
@media (max-width: 719px) {
    tr.top-row>td {
        width: 50%;
    }
}
#book_now_quick_link>a {
    background: #057681;
    width: 100%;
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    height: 50px;
    font-size: 16px;
    border: 0;
    display: block;
    text-align: center;
    line-height: 50px;
}
#book_now_quick_link {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: 100;
}
#ast-scroll-top {
    z-index: 10000000000!important;
}
.page-numbers {
    padding: 5px;
}
#block-views-photo {
    max-height: 635px;
    overflow: hidden;
}
#elementor-lightbox-slideshow-single-img {
    display: none!important;
}
/*
 * Property styles in unhighlighted state.
 */
.property {
    align-items: center;
    background-color: #FFFFFF;
    border-radius: 50%;
    color: #263238;
    display: flex;
    font-size: 14px;
    gap: 15px;
    height: 30px;
    justify-content: center;
    padding: 4px;
    position: relative;
    transition: all 0.3s ease-out;
    width: 30px;
}

.property::after {
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #FFFFFF;
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    top: 95%;
    transform: translate(-50%, 0);
    transition: all 0.3s ease-out;
    width: 0;
    z-index: 1;
}

.property .icon {
    align-items: center;
    display: flex;
    justify-content: center;
    color: #FFFFFF;
}

.property .icon svg {
    height: 20px;
    width: auto;
}

.property .details {
    display: none;
    flex-direction: column;
    flex: 1;
}

.property .address {
    color: #9E9E9E;
    font-size: 10px;
    margin-bottom: 10px;
    margin-top: 5px;
}

.property .features {
    align-items: flex-end;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.property .features > div {
    align-items: center;
    background: #F5F5F5;
    border-radius: 5px;
    border: 1px solid #ccc;
    display: flex;
    font-size: 10px;
    gap: 5px;
    padding: 5px;
}

/*
 * Property styles in highlighted state.
 */
.property.highlight {
    background-color: #FFFFFF;
    border-radius: 8px;
    box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
    height: auto;
    padding: 8px 15px;
    width: 220px;
}

.property.highlight::after {
    border-top: 9px solid #FFFFFF;
}

.property.highlight .details {
    display: flex;
}

.property.highlight .icon svg {
    width: 50px;
    height: 50px;
}

.property .bed {
    color: #FFA000;
}

.property .bath {
    color: #03A9F4;
}

.property .size {
    color: #388E3C;
}

/*
 * House icon colors.
 */
:root {
    --building-color: #FF9800;
    --house-color: #82c54c ;
    --shop-color: #7B1FA2;
    --warehouse-color: #558B2F;
}
.property.highlight:has(.fa-house) .icon {
    color: var(--house-color);
}

.property:not(.highlight):has(.fa-house) {
    background-color: var(--house-color);
}

.property:not(.highlight):has(.fa-house)::after {
    border-top: 9px solid var(--house-color);
}

/*
 * Building icon colors.
 */
.property.highlight:has(.fa-building) .icon {
    color: var(--building-color);
}

.property:not(.highlight):has(.fa-building) {
    background-color: var(--building-color);
}

.property:not(.highlight):has(.fa-building)::after {
    border-top: 9px solid var(--building-color);
}

/*
 * Warehouse icon colors.
 */
.property.highlight:has(.fa-warehouse) .icon {
    color: var(--warehouse-color);
}

.property:not(.highlight):has(.fa-warehouse) {
    background-color: var(--warehouse-color);
}

.property:not(.highlight):has(.fa-warehouse)::after {
    border-top: 9px solid var(--warehouse-color);
}

/*
 * Shop icon colors.
 */
.property.highlight:has(.fa-shop) .icon {
    color: var(--shop-color);
}

.property:not(.highlight):has(.fa-shop) {
    background-color: var(--shop-color);
}

.property:not(.highlight):has(.fa-shop)::after {
    border-top: 9px solid var(--shop-color);
}
#block-views-reviews-block-property-reviews>h2 {
    font-size: 22px;
    font-weight: 700;
    color: #057681;
    margin: 20px 0;
}
.reviews-wrap .views-field-field-author {
    font-size: 22px;
    color: #057681;
    display: inline-block;
}
.reviews-wrap {
    background: #f7f7f7;
    padding: 20px;
    transition: all .3s ease;
    position: relative;
    margin-bottom: 17px;
}
.review-name:hover {
    cursor: pointer;
}
.screenshot-btn {
    display: inline-block;
    color: #888;
    position: relative;
    top: 0;
    left: 4px;
    font-size: 20px;
    transition: all .3s ease;
}

.screenshot-btn .screenshot-hover {
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: -26px;
    border: 1px solid #ccc;
    z-index: 70;
    box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
    background: #fff;
    transition: .3s all cubic-bezier(.55,0,.1,1);
    opacity: 0;
    min-width: 426px;
}
.rating-stars {
    position: absolute;
    top: 20px;
    right: 20px;
    width: auto;
}

.rating-stars img {
    width: 20px;
    height: 20px;
}
.screenshot-btn .screenshot-hover img {
    width: 100%;
    height: auto;
}
.review-name:hover .screenshot-hover {
    top: -68px;
    opacity: 1;
}
@media (max-width: 395px) {
    .fancybox__container {
        width: 65%!important;
        height: 65% !important;
        padding-left: 3%;
    }
}
.fancybox-wrap{max-width: 95%!important;}
.fancybox-inner {max-width: 100%!important;}
.form-item-guest-info{padding-left: 30px;}