.dialog-off-canvas-main-canvas {
    position: relative;
}

img {
    height: auto;
    max-width: 100%;
    border-radius: 12px 12px 0 0;
}
img + *:not(.text-under-image) {
    border-radius: 12px;
}

a {
    color: var(--primary);
    text-decoration: none;
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--primary);
}

.navbar-toggler-icon {
    background-image: none;
}

.icon {
  font-style: normal;
  font-size: 1.5rem;
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}

.fa, .fas, .fa-solid {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  line-height: 1;
}

.fer, .fa-regular {
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}

.fa-brands, .fab {
  font-family: "Font Awesome 6 Free Brands";
  font-weight: 900;
  font-style: normal;
  line-height: 1;
}

.icon.air_conditioning:before { content: "\f154"; }
.icon.baby_cot:before { content: "\e588"; }
.icon.fan:before { content: "\f168"; }
.icon.heating:before { content: "\f537"; }
.icon.individual_controlled_heating:before { content: "\f076"; }
.icon.keyless_entry:before { content: "\e73c"; }
.icon.iron:before { content: "\e583"; }
.icon.private_entrance:before { content: "\effd"; }
.icon.safe:before { content: "\e897"; }
.icon.desk:before { content: "\e1f2"; }
.icon.balcony:before { content: "\e58f"; }
.icon.elevator:before { content: "\f1a0"; }
.icon.ski_dry_room:before { content: "\e50b"; }
.icon.non_smoking:before { content: "\eb4a"; }
.icon.telephone:before { content: "\e0b0"; }

.icon.sauna:before { content: "\f6f7"; }
.icon.hot_tub:before { content: "\eb46"; }
.icon.jacuzzi:before { content: "\f6fa"; font-weight: 900}
.icon.bathtub:before { content: "\f2cd"; font-family: "Font Awesome 6 Free"; }
.icon.hairdryer:before { content: "\efd8"; }
.icon.shower:before { content: "\f061"; }
.icon.washlet_toilet:before { content: "\f7d8"; font-family: "Font Awesome 6 Free";}
.icon.shampoo:before { content: "\e4c4"; font-family: "Font Awesome 6 Free";}
.icon.conditioner:before { content: "\f69d"; }
.icon.body_soap:before { content: "\f1b2"; }
.icon.toilet_paper:before { content: "\f71e"; font-family: "Font Awesome 6 Free";}
.icon.drying_rack_for_clothing:before { content: "\ef7b"; }
.icon.clothes_dryer:before { content: "\e2a8"; }
.icon.washing_machine:before { content: "\e54a"; }

.icon.kitchenette:before { content: "\f1f7"; }
.icon.kitchen:before { content: "\e9c7"; }
.icon.kitchenware:before { content: "\f545"; }
.icon.dining_table:before { content: "\e556"; }
.icon.wine_glasses:before { content: "\f1e8"; }
.icon.oven:before { content: "\e9c7"; }
.icon.stovetop:before { content: "\f544"; }
.icon.toaster:before { content: "\ea54"; }
.icon.dishwasher:before { content: "\e9a0"; }
.icon.electric_kettle:before { content: "\e2b9"; }
.icon.microwave:before { content: "\f204"; }
.icon.refrigerator:before { content: "\eb47"; }
.icon.coffee_maker:before { content: "\e541"; }
.icon.children_s_high_chair:before { content: "\efee"; }
.icon.salt_pepper:before { content: "\f876"; }
.icon.dishwashing_detergent:before { content: "\f485"; font-family: "Font Awesome 6 Free"; }
.icon.rice_cooker:before { content: "\f1f5"; }
.icon.cooktop:before { content: "\e2b6"; }

.icon.netflix:before { content: "\e30c"; }
.icon.tv:before { content: "\e333"; }
.icon.apple_tv:before { content: "\f179"; font-family: 'Font Awesome 6 Brands';}
.icon.free_wifi:before { content: "\e63e"; }

.icon.carbon_monoxide_detector:before { content: "\e2af"; }
.icon.smoke_alarm:before { content: "\e282"; }
.icon.fire_extinguisher:before { content: "\f1d8"; }
.icon.hand_sanitizer:before { content: "\f21f"; }

.icon.linen:before { content: "\efdf"; }
.icon.towels:before { content: "\e569"; font-family: "Font Awesome 6 Free"; }
.icon.cleaning_products:before { content: "\e995"; }

.icon.limited:before { content: "\e000"; }
.icon.yes:before { content: "\e54f"; }
.icon.no:before { content: "\e5c9"; }
.icon.free:before { content: "\ebcb"; }
.icon.paid:before { content: "\ef63"; }
.icon.advance_reservation_needed:before { content: "\f1be"; }
.icon.off_site:before { content: "\eba3"; }

/* PROPERTY */
#propertyFloorPlansTab .accordion-body {
    flex-wrap: wrap;
}

@media (max-width: 576px) {
    .basic-data {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}

/* PROPERTY LIST */
.view-properties-list{
  margin-top: 2rem;
}

.view-properties-list #toggle-accommodation-filters {
    display: none;
}
@media screen and (max-width: 767px) {
    .view-properties-list #toggle-accommodation-filters {
        display: inline;
    }
}
.hide-accommodation-filters {
    display: none;
}

/* FACETS STYLING */
.facets-widget-checkbox ul {
    list-style: none;
    padding-left: 1.6rem;
}
.facets-widget-checkbox input[type=checkbox] {
    width: 1em;
    height: 1em;
    margin-top: 0.25em;
    vertical-align: top;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    border: 1px solid rgba(0, 0, 0, .25);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    float: left;
    margin-left: -1.5em;
    border-radius: 0.25em;
}

.facets-widget-checkbox input:checked[type=checkbox] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
    background-color: #0d6efd;
    border-color: #0d6efd;
}

/* ACTIONS TABS */
.nav.primary.nav-tabs .nav-link {
    color: #000000;
}

/* NODE TYPE PAGE */
.path-node.node--type-page .deals-wrapper {
    padding: 0;
}
.path-node.node--type-page .deals-wrapper .deals {
    display: block;
}

.page-image .text-under-image,
.page-image .page-image-gallery,
.page-image .page-image-with-text {
    display: inline-flex;
    width: 100%;
}
.page-section.page-image img,
.page-section.page-media-image img {
    width: 100%;
}
.text-under-image {
    background-color: #e9ecef;
    color: #6c757d;
    font-size: 0.8rem;
    line-height: 1.2rem;
    padding-top: 5px;
    padding-bottom: 5px;
    font-style: italic;
    text-align: center;
    border-radius: 0 0 6px 6px;
}
.page-image .page-image-title {
    margin-left: auto;
    width: 70%;
    margin-right: auto;
}
.page-section {
    margin-bottom: 1rem;
}

.gallery-item {
    margin-bottom: 15px;
}

/* GLOBAL SEARCH */
.page-view-global-search .views-row {
    padding-top: 1rem;
}

.search-map .geolocation-map-wrapper {
    padding: 1rem;
    width: 100%;
}

.search-map .geolocation-map-container {
    height: 1300px !important;
}

.geolocation-map-container * {
    box-sizing: unset;
}

@media screen and (max-width: 767px) {
    .search-map .geolocation-map-container {
        height:80vh !important;
    }

    .search-map-fullscreen {
        margin: 0;
    }

    .search-map-fullscreen .geolocation-map-wrapper {
        padding: 1rem 0;
    }
}

.search-map .button-container button {
    height: 31px;
    padding: .175rem .25rem;
}

/* SERVICES */
.node--type-service .field--name-field-service {
    padding-bottom: 20px;
}
.node--type-service .field--name-field-service {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 25px;
    flex-wrap: wrap;
}
.node--type-service .field--name-field-service {
    padding-bottom: 20px;
}

.node--type-service .field--name-field-service .field__item {
    width: calc(100% * (1/3) - 20px);
}

@media screen and (max-width: 767px) {
    .node--type-service .field--name-field-service .field__item {
        width:100%;
    }
}

.node--type-service .field--name-field-service .field__item .title {
    font-style: normal;
    font-weight: 700;
    font-size: 1rem;
    text-align: left;
    padding: 10px 10px 5px 10px;
}

.node--type-service .field--name-field-service .field__item .description {
    font-style: normal;
    text-align: left;
    padding: 5px 10px 10px 10px;
}

.node--type-service .field--name-field-service .field__item img {
    width: 100%;
}

.button-disabled,
.button-disabled:hover {
    color: #ffffff;
    background: none repeat-x scroll 0 0 #cccccc;
    border-color: #E4E4E4 #D2D2D2 #cccccc;
    cursor: default;
}

.user-logged-in .page-header.is-sticky {
    top: 39px;
}
@media screen and (min-width: 976px) {
    .user-logged-in .page-header.is-sticky {
        top: 79px;
    }
}

/* CONTACT FORM */
.path-contact-us .holidayniseko-contact-form {
    max-width: 44rem;
    margin: 1rem auto 4rem
}

#holidayniseko-contact-form .inputWrapper {
    padding-left: 10px;
    padding-right: 10px;
}

.contact-form-prefix {
    text-align: center;
    padding-bottom: 1rem;
}

.contact-form-wrapper {
    width: 100%;
    margin-top: 2rem;
}

.path-contact-us .holidayniseko-contact-form .sendButton {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
}

.path-contact-us .holidayniseko-contact-form .inputWrapper input,.path-contact-us .holidayniseko-contact-form .inputWrapper textarea {
    background: #f5f5f5;
}

/* CAPTCHA */
fieldset.captcha-type-challenge--image {
    display: block !important;
}

.captcha-type-challenge--image .captcha__element {
    display: block;
}

/*
.captcha-type-challenge--image .captcha__description {
    color: #6c757d !important;
}*/


ul[data-drupal-views-infinite-scroll-pager] {
    list-style: none;
    padding: 0;
    margin-top: 1rem;
}

ul[data-drupal-views-infinite-scroll-pager] li {
    margin: 0 auto;
    text-align: center;
}
ul[data-drupal-views-infinite-scroll-pager] a {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
}
#early-bird-deals .bird-deal-item .btn-warning {
    margin-top: 12px;
}

.paragraph--type--images-with-documents.paragraph--view-mode--default img {
    width: 100%;
}

/* DIGITAL COMPENDIUM */
.node--type-digital-compendium .accordion-body section:first-child {
    margin-top: 0;
}

.node--type-digital-compendium .accordion-body section {
    margin-top: 1.2rem;
}
.node--type-digital-compendium .accordion-body .paragraph--type--google-maps {
    margin-top: 1.2rem;
    margin-bottom: 1rem;
}

/* FLOOR PLANS TAB */
#propertyFloorPlansTab .accordion-body .floor-image img {
    margin: 5px;
    cursor: pointer;
}
#imageModalMedia {
    max-height: 100vh;
}
.room-images-big-media {
    position: relative;
}

.room-images-big-media .slick-arrow {
    position: absolute;
    top: 0;
    width: 50px;
    min-height: 100%;
    border: none;
    background-color: transparent;
    color: var(--primary);
    font-size: 0;
}

.room-images-big-media .slick-arrow.prev-arrow {
    left: 0;
    z-index: 10 !important;
}

.room-images-big-media .slick-arrow.next-arrow {
    right: 0;
    z-index: 10;
}

.room-images-big-media img.slick-slide {
    width: auto !important;
}

.room-images-big .slick-arrow,
.room-images-big-media .slick-arrow {
    font-size: 36px;
}

#property .accordion {
    scroll-margin-top: 80px;
}

/* ROOMBOSS REVIEWS */
.property-roomboss-reviews fieldset small {
    grid-column: span 3;
    margin-top: 5px;
}

/* FAQ LISTING PAGE */
.faq-listing .views-row a {
    background-color: var(--primary);
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    border: 1px solid var(--primary);
    padding: .375rem .75rem;
    font-size: 1rem;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    margin-bottom: .5rem !important;
}

.availability-content-row.disabled {
    opacity: 1;
}

.availability-content-row-wrapper {
    border-radius: 10px;
    background-color: var(--main-bg);
}
.availability-content-row .availability-content-row-cta.availability-button,
.availability-content-row.disabled .availability-content-row-cta.availability-button  {
    background-color: var(--primary);
    border: none;
    color: white;
}

.avCalendar {
    overflow-y: scroll;
    height: 520px;
    margin: 0 5px 10px 5px;
}

.avCalendar::-webkit-scrollbar-thumb {
    background: #ffca2c;
}
.avCalendar,
#propertyCalendarTab {
    --rb-available-color: var(--primary);
    --rb-unavailable-color: #5c636a;
    --rb-primary-color: #000000;
}
#propertyCalendarTab {
    --rb-available-color: var(--primary);
    --rb-unavailable-color: #5c636a;
    --rb-primary-color: #000000;
}
#propertyCalendarTab .date-cell.av {
    background-color: var(--primary);
}
#propertyCalendarTab .date-cell.unav {
    background-color: #d4d4d4;
}
.availability-content-cost {
    font-size: 1.2rem;
    font-weight: 500;
}
.availability-content-row-data {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-template-areas:
            "title"
            "description"
            "nights";
    width: 100%;
}
.property-nights-content {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--text-main);
    grid-area: nights;
}

.node--type-homepage .ajax-progress, .page-view-properties-list .ajax-progress{
  transform: scale(2);
}
