    @import url('https://fonts.googleapis.com/css2?family=Permanent+Marker&display=swap');
    @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
     :root {
        /* --sky-red: #f32f3c; */
        --sky-red: #b10017;
        --availble-green: #56d148;
        --full-yellow: #f2d43d;
        --lighter-grey: #cfcfcf;
        --grey: #707070;
        --darker-grey: #434343;
        --cal-border-radius: 10px;
        --lightest-grey: #f5f5f5;
    }
    
    body {
        color: var(--darker-grey);
        font-family: "Montserrat", sans-serif;
    }
    
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    #monthName,
    .participant_item_number {
        font-family: "Permanent Marker", cursive;
        font-weight: 400;
        font-style: normal;
    }
    
    .form-select {
        position: relative;
    }
    
    .form-select:after {
        content: '';
        position: absolute;
        top: 0;
        right: 20px;
        height: 100%;
        border-left: 1px solid #ccc;
        z-index: 10;
    }
    
    #monthName {
        display: inline-block;
        margin: 0 20px 0 20px;
        font-size: 1.25em;
    }
    
    .sel_part_wrapper {
        margin-bottom: 30px;
    }
    
    .calendar_header {
        margin-bottom: 25px;
    }
    
    .cal_mnth_btn {
        border-radius: 50%;
        height: 40px;
        width: 40px;
        line-height: 20px;
        padding: 8px;
        border: 2px solid var(--lighter-grey);
        transition: all 0.25s ease-in;
    }
    
    .cal_mnth_btn:hover {
        background: var(--sky-red);
        color: #fff;
    }
    
    .clear_btn {
        border: 1px solid var(--lighter-grey);
        border-radius: var(--cal-border-radius);
        padding: .450rem 1.5rem;
    }
    
    .clear_btn:hover {
        background: var(--grey);
    }
    
    .calendar_table {
        width: 100%;
        border-spacing: 0;
        border-collapse: separate;
        border-radius: var(--cal-border-radius);
        border: 1px solid var(--lighter-grey);
    }
    
    .calendar_table thead {
        color: #fff;
        background: var(--darker-grey);
        text-transform: uppercase;
    }
    
    table.calendar_table td,
    table.calendar_table th {
        padding: 1.35% 0.8%;
        text-align: center;
        border: none;
    }
    
    table.calendar_table td {
        padding: 1.93% 0.8%;
    }
    
    table.calendar_table td:not(:last-child) {
        /* border-right: 1px solid var(--lighter-grey); */
    }
    
    table.calendar_table th:first-child {
        border-top-left-radius: var(--cal-border-radius);
    }
    
    table.calendar_table th:last-child {
        border-top-right-radius: var(--cal-border-radius);
    }
    
    table.calendar_table>thead>tr:not(:last-child)>th,
    table.calendar_table>thead>tr:not(:last-child)>td,
    table.calendar_table>tbody>tr:not(:last-child)>th,
    table.calendar_table>tbody>tr:not(:last-child)>td,
    table.calendar_table>tfoot>tr:not(:last-child)>th,
    table.calendar_table>tfoot>tr:not(:last-child)>td,
    table.calendar_table>tr:not(:last-child)>td,
    table.calendar_table>tr:not(:last-child)>th,
    table.calendar_table>thead:not(:last-child),
    table.calendar_table>tbody:not(:last-child),
    table.calendar_table>tfoot:not(:last-child) {
        /* border-bottom: 1px solid var(--lighter-grey); */
    }
    
    .calendar_day_cell .calendar_day {
        display: inline-block;
        padding: 0.8% 1.5%;
        border-radius: var(--cal-border-radius);
        border: 1px solid var(--lighter-grey);
        min-width: 56px;
        box-sizing: border-box;
    }
    
    .day_passed .calendar_day {
        border: 1px solid var(--grey);
    }
    
    .today .calendar_day {
        background: var(--grey);
        color: #fff;
    }
    
    .day_full .calendar_day {
        background: var(--full-yellow);
        color: #fff;
    }
    
    .day_available .calendar_day {
        background: var(--availble-green);
        color: #fff;
    }
    
    .day_unavailable .calendar_day {
        background: var(--sky-red);
        color: #fff;
    }
    
    a.calendar_day {
        text-decoration: none;
        color: inherit;
    }
    
    .calendar-sumary {
        display: flex;
        justify-content: space-evenly;
        margin-top: 20px;
        margin-left: 0;
    }
    
    .calendar-sumary li {
        list-style: none;
        display: inline-block;
        margin-right: 10px;
    }
    
    .calendar-sumary .color-ball {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        margin-right: 7px;
        vertical-align: middle;
    }
    
    .calendar-sumary .today {
        background: var(--grey);
    }
    
    .calendar-sumary .full {
        background: var(--full-yellow);
    }
    
    .calendar-sumary .available {
        background: var(--availble-green);
    }
    
    .calendar-sumary .closed {
        background: var(--sky-red);
    }
    
    .radio_slots {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 30px;
    }
    
    .radio_slots .form-check {
        margin-right: 0;
        padding-left: 0;
        margin-bottom: 0;
    }
    
    .radio_slots input[type="radio"] {
        opacity: 0;
        position: fixed;
        width: 0;
    }
    
    .radio_slots label:not(.label_title) {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        /* width: 40px;
    height: 40px; */
        border: 1px solid;
        font-size: 1.25em;
        border-radius: 10px;
        font-weight: 500;
        padding: 8px 12px;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-negative: 0;
        color: var(--darker-grey);
        background: var(--lightest-grey);
        cursor: pointer;
        border: 1px solid var(--lighter-grey);
        transition: all 0.25s ease-in;
        font-weight: bold;
    }
    
    .radio_slots label:not(.label_title):hover,
    .radio_slots input[type="radio"]:checked+label:not(.label_title) {
        color: #fff;
        background-color: var(--sky-red);
        /* box-shadow: inset 0px 0px 0px 4px rgb(255 255 255 / 85%); */
        border-color: var(--sky-red);
    }
    
    .form_submit_holder {
        display: flex;
        justify-content: center;
        margin-top: 20px;
    }
    
    .form_submit {
        background: var(--darker-grey);
        color: #fff;
        margin-top: 35px;
        padding: 10px 20px;
        border-radius: 10px;
        border: none;
        cursor: pointer;
        font-size: 1.25em;
        font-weight: 500;
        transition: all 0.25s ease-in;
    }
    
    .form_submit:hover {
        background: var(--sky-red);
        color: #fff;
    }
    
    .form-control,
    .form-select {
        border-radius: 10px;
    }
    
    .voucher_code {
        padding: 20px;
        border-radius: 10px;
        background: #fff;
    }
    
    .form-part-item {
        padding: 18px;
        border-radius: 10px;
        border: 1px solid var(--lighter-grey);
        background: var(--lightest-grey);
    }
    
    .form-part-item .row {
        margin-bottom: 20px;
    }
    
    .form-group label {
        margin-bottom: 6px;
        font-family: "Montserrat", sans-serif;
    }
    
    legend {
        font-size: 1.25em;
        font-weight: 500;
        margin-bottom: 20px;
        color: var(--sky-red);
        text-align: center;
        text-transform: uppercase;
        font-family: "Montserrat", sans-serif;
    }
    
    .reserv_confirm_head,
    .participant_confirm_item {
        text-align: center;
    }
    
    .participant_confirm_item {
        border-radius: var(--cal-border-radius);
    }
    
    .participant_confirm_item .card-header {
        padding: .75rem 1.5rem;
        background: var(--sky-red);
        color: #fff;
        border-top-left-radius: var(--cal-border-radius);
        border-top-right-radius: var(--cal-border-radius);
    }
    
    .reserv_confirm_footer {
        display: flex;
        justify-content: center;
        margin: 35px 0;
    }
    
    .top_header {
        background: var(--darker-grey);
        color: #fff;
        padding: 20px;
        border-radius: 10px;
        margin-bottom: 20px;
    }
    
    .main_top_header {
        padding: 25px 0;
        /* overflow: hidden; */
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999;
        width: 100%;
        background: #fff;
        box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
        transition: height 0.3s;
    }
    /* .main_top_header.smaller {
        height: 75px;
    } */
    
    .main_top_header .logo {
        transition: 0.3s;
    }
    /* .main_top_header.smaller .logo {
        width: 175px;
    } */
    
    .cloud_section {
        padding: 150px 0 200px 0;
        background: url(../images/maddison-mcmurrin-GDumtPpJsT4-unsplash-f94a1c1d.webp) no-repeat center center;
        background-size: cover;
        color: #fff;
        text-align: center;
        position: relative;
    }
    
    .cloud_section::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 32%;
        background: url(../images/clouds-45094f56.png) repeat-x;
    }
    
    .cloud_title {
        position: relative;
        z-index: 1;
    }
    
    .cloud_title::after {
        content: "";
        display: inline-block;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%);
        z-index: -1;
        width: calc(15% + 3em);
        height: .3em;
        background: var(--sky-red);
    }
    
    .step-progress {
        padding: 2rem 20rem;
    }
    
    .progressbar {
        display: flex;
        justify-content: center;
        list-style: none;
        counter-reset: container 0;
        padding-left: 0;
    }
    
    .progressbar li {
        /* display: flex; */
        text-align: center;
        list-style: none;
        text-transform: uppercase;
        counter-increment: container 1;
        position: relative;
        width: 33.33%;
        /* float: left; */
        letter-spacing: 1px;
    }
    
    .progressbar li.active-step:before,
    .progressbar li.active-step:after {
        background: var(--sky-red);
        color: white;
    }
    
    .progressbar li:not(:first-child)::after {
        content: '';
        width: 71%;
        height: 2px;
        background: var(--grey);
        position: absolute;
        left: -35%;
        top: 22px;
        z-index: 0;
    }
    
    .progressbar li::before {
        content: counter(container);
        position: relative;
        counter-increment: step;
        width: 50px;
        height: 50px;
        line-height: 45px;
        display: block;
        font-size: 12px;
        color: var(--grey);
        text-align: center;
        background: white;
        border: 2px solid var(--grey);
        border-radius: 50%;
        margin: 0 auto 10px auto;
        font-size: 1.1em;
        z-index: 1;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
    }
    
    .progressbar .active-step::before {
        border-color: var(--sky-red);
        color: var(--sky-red);
    }
    
    .progressbar li.active-step:not(:first-child)::after {
        background: var(--sky-red);
    }
    
    .progressbar li.date-step::before {
        content: "\f133";
    }
    
    .progressbar li.part-step::before {
        content: "\f0c0";
    }
    
    .progressbar li.sumary-step::before {
        content: "\f15c";
    }
    
    .home_message_holder,
    .meteo_message {
        border-radius: var(--cal-border-radius);
        background: var(--lightest-grey);
        border: 1px solid var(--sky-red);
        padding: 12px;
        margin: 12px 0 30px 0;
        text-align: center;
        color: var(--sky-red);
        font-size: 0.92em;
    }
    
    .home_message_holder {
        padding: 30px 12px;
        margin: 100px 0 80px 0;
    }
    
    .home_message_holder h3 {
        margin-bottom: 40px;
    }
    
    .home_message {
        /* font-weight: bold; */
        margin: 20px 0;
    }
    
    .home_message .highlight {
        font-weight: bold;
    }
    /**
    language selector
    */
    
    .wpml-ls-legacy-dropdown-click {
        width: 15.5em;
        max-width: 100%
    }
    
    .wpml-ls-legacy-dropdown-click>ul {
        position: relative;
        padding: 0;
        margin: 0!important;
        list-style-type: none
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-item {
        padding: 0;
        margin: 0;
        list-style-type: none
    }
    
    .wpml-ls-legacy-dropdown-click a {
        display: block;
        text-decoration: none;
        color: #444;
        border-bottom: 1px solid #cdcdcd;
        background-color: #fff;
        padding: 8px 10px;
        line-height: 1;
        transition: all .2s;
    }
    
    .wpml-ls-legacy-dropdown-click a span {
        vertical-align: middle
    }
    
    .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
        position: relative;
        padding-right: calc(10px + 1.4em)
    }
    
    .rtl .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
        padding-right: 10px;
        padding-left: calc(10px + 1.4em)
    }
    
    .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
        content: "";
        vertical-align: middle;
        display: inline-block;
        border: .35em solid transparent;
        border-top: .5em solid;
        position: absolute;
        right: 10px;
        top: calc(50% - .175em)
    }
    
    .rtl .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
        right: auto;
        left: 10px
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover>a,
    .wpml-ls-legacy-dropdown-click a:focus,
    .wpml-ls-legacy-dropdown-click a:hover {
        color: #000;
        background: var(--lightest-grey)
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
        visibility: hidden;
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        border-top: 1px solid #cdcdcd;
        padding: 0;
        margin: 0;
        list-style-type: none;
        z-index: 101
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
        border-width: 0 1px 1px
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-flag {
        display: inline;
        vertical-align: middle
    }
    
    .wpml-ls-legacy-dropdown-click .wpml-ls-flag+span {
        margin-left: .4em
    }
    
    .rtl .wpml-ls-legacy-dropdown-click .wpml-ls-flag+span {
        margin-left: 0;
        margin-right: .4em
    }
    /**
    * Language Selector
    */
    
    @media screen and (max-width: 800px) {
        .step-progress {
            padding: 2rem 1rem;
        }
        .calendar_day_cell .calendar_day {
            padding: 0.8% 0.5%;
            min-width: 75%;
            width: 75%;
        }
        table.calendar_table th {
            font-size: 0.9em;
        }
        .progressbar li {
            font-size: 0.85em;
        }
        .cloud_section {
            padding: 10vh 0 15vh 0;
        }
        .calendar-sumary li {
            text-align: center;
            font-size: 0.8em;
        }
    }