table.calendar-view-table tr td.is-today{background-color: antiquewhite;}
table.calendar-view-table th{font-size:14px!important;}
table.calendar-view-table tr td.is-past{background:#f4f4f4}
table.calendar-view-table tr td.is-past ul li.calendar-view-day__rows a{display:none!important;}
table.calendar-view-table tbody tr td{padding:0px!important;}
table.calendar-view-table tbody tr td div.calendar-view-day{padding:5px!important;}
table.calendar-view-table tbody tr td div.calendar-view-day .calendar-view-day__number{background: none; color:#333; font-weight:bold; width:auto; font-size: 15px;}
table.calendar-view-table caption{display:none;}

.alert.alert-full-session{background:#cc2200; color:#fff; padding:20px;}
.alert.alert-language{background:#0F1632; color:#fff; padding:20px;display: flex; align-items: center;}
.alert.alert-language i{margin-right:10px; color:#FDBB30; font-size:24px;}
.alert.alert-low-session{background:rgb(235, 124, 33); color:#fff; padding:20px;}
a.availability__link{display:none;}
ul.calendar-view-day__rows li{border:none!important; background: none!important; margin:0px!important; padding:0px!important; position:relative;}
ul.calendar-view-day__rows li span.session-date{padding:5px!important; background:#008060; color:#fff; border-radius: 6px; font-size:12px; text-align:center; display:inline-block; font-weight:normal; border:none; height:auto; width:100%; margin:0!important; cursor:pointer;}
ul.calendar-view-day__rows li span.session-date.available:hover{background:#FDBB30; color:#333}
ul.calendar-view-day__rows li span.session-date.fully-booked, ul.calendar-view-day__rows li span.session-date.is-disabled, ul.calendar-view-day__rows li span.session-date.expired, ul.calendar-view-day__rows li span.session-date.fully-booked:hover{background:#D72C0D; color:#fff; cursor: not-allowed;}

/** Hide weekend **/
.calendar-view-table thead tr th:nth-child(6),
.calendar-view-table thead tr th:nth-child(7),
.calendar-view-table tr td.saturday, 
.calendar-view-table tr td.sunday {
  display: none;
}
.calendar-view-table{--calendar-view-columns:5!important;}

/** Calendar pagers **/
ul.calendar-view-pager.pager__items li.pager__item{background: #F6F6F7!important; border:1px #BABEC3 solid!important; padding:10px 30px!important;}
ul.calendar-view-pager.pager__items li.pager__item.pager__previous{border-radius: 20px 0px 0px 20px!important;}
ul.calendar-view-pager.pager__items li.pager__item.pager__next{border-radius: 0px 20px 20px 0px!important;}
ul.calendar-view-pager.pager__items li.pager__item.pager__previous, ul.calendar-view-pager.pager__items li.pager__item.pager__next{flex:none!important;}

ul.calendar-view-pager.pager__items li.pager__item.pager__previous a, ul.calendar-view-pager.pager__items li.pager__item.pager__next a{
    position: relative; /* Ensure pseudo-element positioning works */
    display: inline-block;
    text-indent: -9999px; /* Hide the text off-screen */
    overflow: hidden; /* Prevent visible overflow */
    white-space: nowrap; /* Prevent text wrapping */
    width: 20px; /* Set a width for the icon */
    height: 20px; /* Set a height for the icon */
    font-size: 0px!important;
    top:3px;
}

ul.calendar-view-pager.pager__items li:nth-child(2) {order: 3;}
ul.calendar-view-pager.pager__items li:nth-child(3) {order: 2;}

ul.calendar-view-pager.pager__items li.pager__item.pager__current{border: none !important; background: none!important; } 
ul.calendar-view-pager.pager__items li.pager__item.pager__current div{font-weight:500; font-size:32px!important; color:#0F1632}
ul.calendar-view-pager.pager__items li.pager__item.pager__previous a::before {
    content: ''; /* Necessary to display the pseudo-element */
    display: block;
    width: 100%; 
    height: 100%;
    position:absolute;
    top:0; left:0; right:0; bottom:0;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
ul.calendar-view-pager.pager__items li.pager__item.pager__next a::before {
    content: ''; /* Necessary to display the pseudo-element */
    display: block;
    width: 100%; 
    height: 100%;
    position:absolute;
    top:0; left:0; right:0; bottom:0;
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 6 15 12 9 18"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.view, .view-content{display:block!important;}
ul.calendar-view-pager.pager__items, .calendar-view-pager__reset{display:inline-flex!important;}
ul.calendar-view-pager.pager__items{width:85%; margin:30px 0px!important;}
.calendar-view-pager__reset{width:14%; justify-content: flex-end;}
.views-field-visit-lang{background: #0F1632; color: #fff!important; position: absolute; top: -10px;  right: 0px; padding: 2px 5px; font-size: 10px; border-radius:5px;}
div.calendar-view-pager__reset a{background: #F6F6F7!important; border:1px #BABEC3 solid!important; padding:10px 30px!important; border-radius:20px; color:#0F1632; font-size:13px; top:-2px; position:relative;}

.booking-contact-add-form nav{margin:0px 0px 70px 0px; position:relative; top:50px;}

/** Frontend Form setup **/
form.booking-contact-form{margin-top:150px; padding:0px 0px 30px 0px;}
form.booking-contact-form div.form-wrapper{display:inline-block; width:49%; padding:0px 10px; position:relative}
form.booking-contact-form div.form-wrapper.field--name-field-terms{width:100%}
form.booking-contact-form .g-recaptcha{margin:20px 0px;}
form.booking-contact-form .inputbox{background: none; margin:20px 0px;}
form.booking-contact-form .inputbox label { width: 100%; font-size: 1.6rem; font-weight: 500; margin-bottom: 1rem;}
form.booking-contact-form .inputbox label.option{display:flex; align-content: space-between;justify-content: flex-start;align-items: center;}
form.booking-contact-form .description a{text-decoration: underline!important;}
form.booking-contact-form .inputbox.js-form-type-checkbox {display: flex; flex-direction: row-reverse!important;}
form.booking-contact-form .inputbox input, form.booking-contact-form .inputbox select, form.booking-contact-form button.input.dropdown-toggle {width: 100%;background: #F6F6F7; border: 0.1rem solid #BABEC3;border-radius: 0.4rem;padding: 0.5rem 1.2rem; margin-bottom: 2rem;}
form.booking-contact-form input[type=checkbox] { width: 3rem;height: 3rem; margin: auto;}
form.booking-contact-form .js-form-type-checkbox input[type=checkbox] {margin-right: 1rem;}
form.booking-contact-form .js-form-type-checkbox input:checked { background-color: #0d6efd;border-color: #0d6efd;}
form.booking-contact-form .js-form-type-checkbox label {  margin-bottom: 0 !important;}
form.booking-contact-add-form label.js-form-required:after {content: '*'; color:#cc2200;}
form.booking-contact-add-form input.error, form.booking-contact-add-form select.error{border-color: #cc2200!important;background-image:none!important;}
form.booking-contact-add-form .error-message{color: #cc2200; font-size: 1.6rem; font-weight: 500; margin-top: 1rem; position: absolute; top:90px}
form.booking-contact-add-form .description{font-size:14px; font-style:italic;margin-bottom:10px;}
.visitConditions-lightbox__close {background-color: #fdbb30;border-radius: 50%; color: #fff;cursor: pointer;height: 5rem;overflow: hidden;position: absolute;right: 2.5rem;top: 2.5rem;transition: background-color .15s;width: 5rem;}
#modal_conditions .modal-body{border:none; padding:20px; margin-top:30px;}
#modal_conditions i.icon-cancel{position:absolute; right:15px; top:10px; cursor:pointer;}
#modal_conditions .modal-body ul{margin:0; padding:0;}
#modal_conditions .modal-body ul li{list-style-type: square; margin:10px 20px;}
form.booking-contact-form .field--name-email .description, form.booking-contact-form .field--name-party-size .description{display:none;}

/* Message */
.messages__content{width:100%; text-align:center;}
.messages__content .alert{ top:150px; margin-bottom:20px;}


/* Consent Checkboxes */
li.list-group-item {display: flex; align-content: stretch; width: 100%; align-items: center;}
#conditions{width: 100%;padding: 20px;background: #fdbb30; margin:20px 0px;}
li.list-group-item input[type="checkbox"]{margin:5px!important;}
li.list-group-item label{padding-left:10px; max-width:85%;}

/* Media query for resolutions lower than 768px */
@media screen and (max-width: 768px) {
    .calendar-view-pager{flex-direction: row!important;}
    .calendar-view-pager__reset{display:none!important;}
    form.booking-contact-form div.form-wrapper{width:100%!important;}
    .calendar-view-table thead > th, .calendar-view-table > td{min-width: auto!important;}
}

@media screen and (max-width: 576px) {
    form.booking-contact-form{padding:0px 20px 30px 20px!important}
}

/* Media query for resolutions lower than 991px */
@media screen and (max-width: 991px) {
    .messages__content .alert{top:100px!important;}
    .calendar-view-table th {min-width: auto!important;}

}