:root {
    --ihc-24-bronze: #C27F3B;
    --ihc-24-blue: #2C3C4C;
    --ihc-24-white: #ffffff;
    --ihc-24-grey: #6F6F71;
    --ihc-24-ocean-blue: #00A8D0;
    --ihc-24-light-grey: #C6C0B6;
    --ihc-24-extra-light-grey: #EDEBE8;
    --ihc-24-blue-disactive: #76808B;
}


.pulse-short {
    animation: pulse-animation-short 4s infinite;
    border-radius: 100px;
}

.pulse-big {
    animation: pulse-animation-big 4s infinite;
    border-radius: 100px;
}

@keyframes pulse-animation-big {
    0% {
        box-shadow: 0 0 0 0px rgba(0, 168, 208, 0);
        border: 1px solid #00A8D0;

    }
    25% {
        box-shadow: 0 0 0 0px rgba(0, 168, 208, 0);
        border: 1px solid #00A8D0;
    }
    60% {
        box-shadow: 0 0 0 0px rgba(0, 168, 208, 0.8);
        border: 1px solid #00A8D0;
    }
    100% {
        box-shadow: 0 0 0 120px rgba(0, 168, 208, 0);
        border: 1px solid #00A8D0;
    }
}

.panel--map{position: relative; height: 708px; /*max-width: 1440px;*/ margin: 0 auto; background-color: #eeeeee; overflow: hidden;/*background-image: url(../img/sf-mappa-opt.png);*/}
.panel--map img{position: absolute; top: 0; right: 0;}
.panel--map img.logo-resort{position: static;}
.panel--map img:before, .panel--map img:after{position: absolute; left: 0; top: 0;}
.panel--map div.imm-con-pal{position: absolute; z-index: 2; width: 91px; height: 91px; top: 350px; right: 355px; }
/*.panel--map img.pointer:before{content: url(https://ihc.meloncelli.net/wp-content/themes/ihc-clr/assets/img/chia-mappa-pointer.png); top: 120px; left: calc(50% - 9px);}*/
.panel--map img.sfmappa{height: 700px; object-fit: cover;}

.panel--map div.imm-con-pal:after{/*content: url(https://ihc.meloncelli.net/wp-content/themes/ihc-clr/assets/img/chia-mappa-pointer.png);*/content: ""; width: 12px; height: 12px; background-color: #00a8d0; top: 110px; left: calc(50% - 6px); position: absolute; display:block; border-radius: 100px;}


.panel--map a.pointer-giallo{position: absolute; z-index: 2; width: 9px; height: 9px; top: 272px; right: 426px; }
.panel--map a.pointer-giallo img{position: absolute; z-index: 3;top: 0; left: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-giallo img{transform: scale(5); transition-delay: 0s!important;}
.panel--map a.pointer-giallo span{font-family: "IHCBodoni"; position: absolute; width: 150px; z-index: 4; color: #000; top: -10px; left: 25px; display: block; line-height: normal; font-size: 12px; letter-spacing: 1px; border-left: 2px solid #000; padding: 0 0 0 5px; opacity: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-giallo span {opacity: 1; left:35px; }

.panel--map a.pointer-rosso{position: absolute; z-index: 2; width: 9px; height: 9px; top: 318px; right: 380px; }
.panel--map a.pointer-rosso img{position: absolute; z-index: 3;top: 0; left: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-rosso img{transform: scale(5); transition-delay: 0s!important;}
.panel--map a.pointer-rosso span{font-family: "IHCBodoni"; position: absolute; width: 150px; z-index: 4; color: #000; top: -10px; left: 25px; display: block; line-height: normal; font-size: 12px; letter-spacing: 1px; border-left: 2px solid #000; padding: 0 0 0 5px; opacity: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-rosso span {opacity: 1; left:35px; }


.panel--map a.pointer-marrone{position: absolute; z-index: 2; width: 9px; height: 9px; top: 330px; right: 350px; }
.panel--map a.pointer-marrone img{position: absolute; z-index: 3;top: 0; left: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-marrone img{transform: scale(5); transition-delay: 0s!important;}
.panel--map a.pointer-marrone span{font-family: "IHCBodoni"; position: absolute; width: 150px; z-index: 4; color: #000; top: -10px; left: 25px; display: block; line-height: normal; font-size: 12px; letter-spacing: 1px; border-left: 2px solid #000; padding: 0 0 0 5px; opacity: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-marrone span {opacity: 1; left:35px; }


.panel--map a.pointer-verde{position: absolute; z-index: 2; width: 9px; height: 9px; top: 368px; right: 320px; }
.panel--map a.pointer-verde img{position: absolute; z-index: 3;top: 0; left: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-verde img{transform: scale(5); transition-delay: 0s!important;}
.panel--map a.pointer-verde span{font-family: "IHCBodoni"; position: absolute; width: 150px; z-index: 4; color: #000; top: -10px; left: 25px; display: block; line-height: normal; font-size: 12px; letter-spacing: 1px; border-left: 2px solid #000; padding: 0 0 0 5px; opacity: 0; transition: all 0.4s cubic-bezier(.215, .61, .355, 1);}
.panel--map a:hover.pointer-verde span {opacity: 1; left:35px; }

.panel--map a{display: inline-block!important;}
.panel--map a.linkfull{display: block!important;}


/*.panel--map a.pointer-giallo{display: block; position: absolute; background-color: #dcb596; z-index: 2; width: 9px; height: 9px; top: 272px; right: 426px;}*/
.panel--map .grid{justify-content: flex-start; align-items: center; height: 100%;}
.panel--map .grid a {display: block;}






.section_map_pannel_v2 .content_wrap{
    padding-left: 80px;
    height: 100%;
}

.section_map_pannel_v2 .content_wrap p{
    font-size: 16px;
    line-height: 32px;
    color: var(--ihc-24-blue);
}

.section_map_pannel_v2 .content_wrap strong{
    font-family: var(--font-ginger-bold);
}

.section_map_pannel_v2 .content_wrap a{
    font-size: 16px;
    line-height: 32px;
    color: var(--ihc-24-blue);
}

.section_map_pannel_v2 .content_wrap .logo-resort{
    padding-bottom: 25px;
}

.section_map_pannel_v2 .content_wrap .links_wrap{
    display: flex;
    padding-top: 10px;
}

.section_map_pannel_v2 .content_wrap .content{
    height: 100%;
    display: flex;
    align-items: start;
    flex-direction: column;
    justify-content: center;
}

.section_map_pannel_v2 .content_wrap .links_wrap .link_wrap{
    padding-right: 40px;
}

.section_map_pannel_v2 .content_wrap .links_wrap .link_wrap a:hover{
    color: var(--ihc-24-bronze);
}

.section_map_pannel_v2{
    height: 500px;
}

.section_map_pannel_v2.panel--map img.sfmappa{
    top: -100px;
}

.section_map_pannel_v2.panel--map div.imm-con-pal{
    top: 250px;
}

.section_map_pannel_v2.panel--map a.pointer-giallo{
    top: 172px;
}

.section_map_pannel_v2.panel--map a.pointer-rosso{
    top: 218px;
}

.section_map_pannel_v2.panel--map a.pointer-marrone{
    top: 230px;
}

.section_map_pannel_v2.panel--map a.pointer-verde{
    top: 268px;
}

@media (max-width: 992px) {
    
    .section_map_pannel_v2{
        height: 720px;
    }

    .section_map_pannel_v2 .content_wrap{
        height: 375px;
        position: absolute;
        bottom: 0;
        padding: 15px;
        width: 100%;
        text-align: center;
    }

    .section_map_pannel_v2 .content_wrap .content{
        justify-content: center;
        align-items: center;
    }

    .section_map_pannel_v2.panel--map img.sfmappa{
        right: -100px;
        top: -1px;
        width: 1200px;
        height: 355px;
    }

    .section_map_pannel_v2.panel--map div.imm-con-pal{
        top: 150px;
        right: 190px;
    }

    .section_map_pannel_v2.panel--map a.pointer-giallo{
        right: 250px;
        top: 112px;
    }

    .section_map_pannel_v2.panel--map a.pointer-rosso{
        top: 150px;
        right: 203px;
    }

    .section_map_pannel_v2.panel--map a.pointer-marrone{
        top: 160px;
        right: 178px;
    }

    .section_map_pannel_v2.panel--map a.pointer-verde{
        top: 186px;
        right: 170px;
    }

    .section_map_pannel_v2 .content_wrap p{
        font-size: 15px;
        line-height: 21px;
    }

    .section_map_pannel_v2 .content_wrap .logo-resort{
        max-width: 228px;
    }

    .section_map_pannel_v2 .content_wrap .links_wrap .link_wrap{
        padding-left: 20px;
        padding-right: 20px;
    }
}




/************ booking mask ***********/

.booking_mask_v2{
    color: #929292;
}

.booking_mask_v2.panel--bookingmaskoff {
    height: auto;
    padding-left: 15px;
    padding-right: 15px;
}

.panel--bookingmaskoff {
    /* transform: translateY(-110%); */
    height: 100vh;
    width: 100%;
    background-color: #2C3C4C;
    padding-top: 20px;
    position: fixed;
    z-index: 9999;
    transition: all 0.9s cubic-bezier(.91,.19,.36,.92);
}



@media (max-height: 1050px) and (max-width: 1920px) {

    .panel--bookingmaskoff .topbookingmask {
        height: auto;
        padding-bottom: 50px;
    }
}

.booking_mask_v2 .form_grid_v2 {
    max-width: 1440px;
}

.panel--bookingmaskoff .grid {
    text-align: center;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    display: flex;
    flex-flow: row;
    flex-wrap: wrap;
    position: relative;
}

.booking_mask_v2 .col-100 {
    width: 100%;
}

.panel--bookingmaskoff .topbookingmask a.close {
    color: #fff;
    font-size: 12px;
    letter-spacing: 2.57px;
    float: right;
    position: relative;
    top: 10px;
    right: 5px;
    z-index: 999999;
    text-transform: uppercase;
}

.panel--bookingmaskoff .topbookingmask a.close span {
    position: relative;
    padding: 0 4px;
}

.booking_mask_v2.panel--bookingmaskoff .grid h3 {
    text-align: left;
    margin-bottom: 50px;
}

.panel--bookingmaskoff .grid h3 {
    font-size: 45px;
    line-height: 45px;
    color: #FFFFFF;
    margin-bottom: 80px;
}

.panel--bookingmaskoff .h3v2, .panel--bookingmaskoff h3 {
    font-size: 32px !important;
    line-height: normal !important;
    font-weight: 400;
    font-family: var(--font-ginger-thin);
    color: var(--ihc-24-blue);
}

.booking_mask_v2 .form_grid_v2 {
    max-width: 1440px;
}

.panel--booking .form, .panel--bookingmaskoff .form {
    width: 100%;
}

.panel--bookingmaskoff .grid {
    text-align: center;
    padding: 0;
}

.panel--bookingmaskoff .select-wrap, .panel--booking .select-wrap {
    position: relative;
}

.panel--bookingmaskoff .col-50 {
    width: 50%;
}

.panel--bookingmaskoff .content-select, .panel--bookingmaskoff .content-date, .panel--bookingmaskoff .content-number, .panel--bookingmaskoff .content-text {
    border-bottom: 1px solid #fff;
    line-height: 40px;
    font-size: 14px;
    letter-spacing: 1px;
    margin: 0 8px 0 8px;
    position: relative;
}

.panel--bookingmaskoff .content-select, .panel--booking .content-select {
    cursor: pointer;
}


.panel--bookingmaskoff .content-select, .panel--bookingmaskoff .content-date {
    margin-bottom: 50px;
}

.booking_mask_v2.panel--bookingmaskoff .content-select, .booking_mask_v2.panel--bookingmaskoff .content-date, .booking_mask_v2.panel--bookingmaskoff .content-text {
    color: var(--wp--preset--color--white);
    font-size: 16px;
    line-height: 40px;
    text-align: left;
    padding-left: 30px;
    flex-grow: 1;
}

.booking_mask_v2.panel--bookingmaskoff .content-select {
    background-image: url(../img/v2/search_white.png);
    background-repeat: no-repeat;
    background-position: left center;
}

.panel--bookingmaskoff .select-wrap ul.select-list, .panel--booking .select-wrap ul.select-list {
    display: none;
    width: calc(100% - 20px);
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: 10;
    top: calc(100% - 49px);
    left: 10px;
    background-color: #fff;
}

.panel--bookingmaskoff .select-wrap ul.select-list li, .panel--booking .select-wrap ul.select-list li {
    padding: 5px 0;
    transition: background-color 0.5s ease;
    cursor: pointer;
    font-size: 14px;
}

.panel--bookingmaskoff .select-wrap ul.select-list.open {
    display: block;
    background-color: #2d3d4c;
}

.booking_mask_v2.panel--bookingmaskoff .content-date {
    background-image: url(../img/v2/calendar_white.png);
    background-repeat: no-repeat;
    background-position: left center;
}

.booking_mask_v2.panel--bookingmaskoff .content-date input, .booking_mask_v2.panel--booking .content-date input, .booking_mask_v2.panel--bookingmaskoff .content-text input, .booking_mask_v2.panel--booking .content-text input {
    color: var(--wp--preset--color--white);
    font-size: 16px;
    line-height: 24px;
    text-align: left;
    background-image: none;
}

.panel--bookingmaskoff .content-date input, .panel--booking .content-date input, .panel--bookingmaskoff .content-text input, .panel--booking .content-text input {
    width: 100%;
    background: url(assets/img/calendar-icon.png) no-repeat calc(100% - 10px) 50%;
    /* padding: 11px 10px; */
    border: 0;
    color: #929292;
    font-size: 14px;
    letter-spacing: 1px;
    text-align: center;
    outline: 0;
}

.booking_mask_v2 .vertical-booking .field_wrap, .booking_mask_v2 .hilton-booking .field_wrap {
    padding: 10px;
}

.booking_mask_v2 .col-33 {
    width: 33.33%;
}

.booking_mask_v2 .vertical-booking .field_wrap .f_wrap, .booking_mask_v2 .hilton-booking .field_wrap .f_wrap {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--ihc-24-white);
    justify-content: space-between;
}

.booking_mask_v2 .vertical-booking .field_wrap .f_wrap, .booking_mask_v2 .hilton-booking .field_wrap .f_wrap {
    background-image: url(../img/v2/person_white.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 25px;
}

.booking_mask_v2 .field_wrap .f_wrap.room_icon {
    background-image: url(../img/v2/room_white.svg);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 25px;
    background-size: 17px;
}

.booking_mask_v2 .label_v2 {
    color: var(--ihc-24-white);
    text-transform: capitalize;
}

.panel--bookingmaskoff .content-number, .panel--booking .content-number {
    height: 40px;
    margin-bottom: 20px;
}

.booking_mask_v2.panel--bookingmaskoff .content-number {
    flex-grow: 1;
    border-bottom: none;
}

.booking_mask_v2.panel--bookingmaskoff .content-number, .booking_mask_v2.panel--booking .content-number {
    margin-bottom: 0px;
    max-width: 60px;
}

.panel--bookingmaskoff .content-number span, .panel--booking .content-number span {
    user-select: none;
}

.booking_mask_v2.panel--bookingmaskoff .content-number span.meno {
    left: calc(50% - 22px);
    color: var(--wp--preset--color--white);
    font-size: 22px;
}

.panel--bookingmaskoff .content-number span.meno {
    top: 0;
    left: calc(50% - 40px);
}

.panel--bookingmaskoff .content-number span:not(.value) {
    display: block;
    position: absolute;
    color: #00A6CD;
    font-size: 25px;
    line-height: 35px;
    cursor: pointer;
}

.booking_mask_v2.panel--bookingmaskoff .content-number span.piu {
    right: calc(50% - 30px);
    color: var(--ihc-24-extra-light-grey);
    font-size: 20px;
}

.panel--bookingmaskoff .content-number span.piu {
    top: 0;
    right: calc(50% - 40px);
}

.panel--bookingmaskoff .age-wrap.disabled, .panel--booking .age-wrap.disabled {
    opacity: 0.3;
    position: relative;
}

.panel--bookingmaskoff .age-wrap, .panel--booking .age-wrap {
    opacity: 1;
    transition: all 0.5s ease;
}

.panel--bookingmaskoff .age-wrap.disabled:after, .panel--booking .age-wrap.disabled:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.panel--bookingmaskoff .hilton-booking, .panel--booking .hilton-booking {
    display: none;
}

.panel--bookingmaskoff .col-25 {
    width: 25%;
}

.panel--bookingmaskoff .col-75 {
    width: 75%;
}

.panel--bookingmaskoff .grid h4.room-number, .panel--booking .grid h4.room-number {
    margin-top: 35px;
}

.panel--bookingmaskoff .margin-top {
    margin-top: 50px !important;
}

.booking_mask_v2 .special-code-wrap .form_grid_v2 {
    justify-content: start;
}

.booking_mask_v2 .special-code-wrap .form_grid_v2 .content-text {
    display: block !important;
    background-image: url(../img/v2/coupon_white.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 25px;
}

.booking_mask_v2.panel--bookingmaskoff .s_button_wrap {
    text-align: left;
    margin-top: 30px;
}

.booking_mask_v2.panel--bookingmaskoff .s_button_wrap button {
    color: var(--ihc-24-bronze);
    text-transform: initial;
    font-family: var(--font-ginger-light);
    font-size: 16px;
    line-height: 19px;
    text-decoration: underline;
    text-underline-offset: 5px;
    letter-spacing: normal;
}

.panel--bookingmaskoff button {
    margin: 50px 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.panel--bookingmaskoff .button-booking {
    font-family: 'IHCGinger-Bold', sans-serif;
    color: #CA8139;
    font-size: 14px;
    line-height: 24px;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 3px;
    position: relative;
    border: none;
    transition-delay: 0;
}

.booking_mask_v2 .room-number.label_v2 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 16px !important;
    color: var(--wp--preset--color--white);
    font-family: var(--font-ginger-light);
    margin-top: 0px !important;
}



/* General appearance */
.flatpickr-calendar {
  border: none;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  border-radius: 6px;
}

/* Header (Month/Year) */
.flatpickr-months {
  background: none;
}
.flatpickr-month {
  font-weight: bold;
  font-size: 1rem;
  color: #2a2a2a;
}

/* Weekday Labels */
.flatpickr-weekday {
  color: #444;
  font-weight: 500;
}

/* Day cells */
.flatpickr-day {
  border-radius: 0;
  height: 32px;
  width: 32px;
  line-height: 32px;
  margin: 2px;
  transition: background 0.2s, color 0.2s;
}

/* Hover effect */
.flatpickr-day:hover {
  background-color: #b86e2f;  /* brown/orange tone */
  color: #fff;
}

/* Selected date */
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background-color: #b86e2f;
  color: white;
  border: none;
}

/* Today's date border */
.flatpickr-day.today {
  border-color: #ccc;
}

.flatpickr-current-month .flatpickr-monthDropdown-months{
    appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none !important;
  padding-right: 0 !important;
  pointer-events: none;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month,
.flatpickr-months .flatpickr-prev-month:hover svg, 
.flatpickr-months .flatpickr-next-month:hover svg{
    fill: #000;
}