/* FILTRE
.tab-pane {
    display: block !important;
    opacity: 1 !important;
} */
.calendar-filter{
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 2px 20px;
    width: 30%;
}
.calendar-filter select{
    min-width: 10%;
    width: 50%;
    margin-top: 0;
    border-color: #ed6a32 !important;
}
.calendar-filter select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 10px;
  }
.calendar-filter input{
    margin-top: 0 !important;
}

/* LOADER */
.loader {
    border: 8px solid #E8E8E8;
    border-top: 8px solid #0097d9;
    border-radius: 50%;
    width: 50px;
    margin: 38px auto;
    height: 50px;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* CALENDRIER */
.evo-calendar-instance{
    border-radius: 20px;
    box-shadow: 0 10px 50px -20px #E8E8E8;
    -webkit-box-shadow: 0 10px 50px -20px #E8E8E8;
    background-color: white;
    color: black;
}
.evo-calendar-instance .calendar-inner {
    float: right;
    width: 100%;
    max-width: 100% !important;
}
.evo-calendar-instance .calendar-inner.active {
    max-width: calc(100% - 400px) !important;
}

.evo-calendar-instance .calendar-sidebar{
    position: relative;
    background-color: white;
    width: auto;
    height: auto;
    float: right;
    box-shadow: none;
    -webkit-box-shadow: none;
    width: 100%;
    max-width: 100%;
}
.evo-calendar-instance .calendar-sidebar.active{
    max-width: calc(100% - 400px);
}
.evo-calendar-instance .calendar-sidebar:after{
    content: '';
    display: block;
    width: 80%;
    height: 1px;
    margin: auto;
    background: #E8E8E8;
}
.evo-calendar-instance .calendar-sidebar .calendar-year{
    display: flex;
    align-items: center;
    justify-content: end;
    padding: 20px 20px 10px !important;
    gap: 3px;
    margin-right: 60px;
}
.evo-calendar-instance .calendar-sidebar .calendar-year p{
    color: #d3d3d3;
    font-weight: bold;
}
.evo-calendar-instance .calendar-sidebar > .calendar-year > button.icon-button{
    cursor: pointer;
    width: 10px;
    height: 10px;
}
.evo-calendar-instance .calendar-sidebar > .calendar-year > button.icon-button:hover > span {
    border-right: 4px solid #ed6a32 !important;
    border-bottom: 4px solid #ed6a32 !important;
}
.evo-calendar-instance .calendar-sidebar > .calendar-year > button.icon-button > span {
    border-right: 4px solid #d3d3d3;
    border-bottom: 4px solid #d3d3d3;
    display: block;
}

.evo-calendar-instance .calendar-sidebar.active .calendar-months{
    gap: 0;
}
.evo-calendar-instance .calendar-sidebar .calendar-months{
    list-style: none !important;
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}
.evo-calendar-instance .calendar-sidebar .month-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.evo-calendar-instance .calendar-sidebar .month-list .prev-arrow,
.evo-calendar-instance .calendar-sidebar .month-list .next-arrow{
    cursor: pointer;
    width: 10px;
    height: 24px;
    padding: 7px 0;
    display: block;
}
.evo-calendar-instance .calendar-sidebar .month-list span:hover:after {
    border-right: 4px solid #ed6a32 !important;
    border-bottom: 4px solid #ed6a32 !important;
}
.evo-calendar-instance .calendar-sidebar .month-list .prev-arrow:after,
.evo-calendar-instance .calendar-sidebar .month-list .next-arrow:after{
    content: '';
    width: 100%;
    height: 100%;
    border-right: 4px solid #e8e8e8;
    border-bottom: 4px solid #E8E8E8;
    display: block;
}
.evo-calendar-instance .calendar-sidebar .month-list .prev-arrow:after{
    transform: rotate(-225deg);
}
.evo-calendar-instance .calendar-sidebar .month-list .next-arrow:after{
    transform: rotate(-45deg);
}
.evo-calendar-instance .calendar-sidebar .calendar-months li{
   padding: 7px 10px !important;
   color: #AAAAAA;
}
.evo-calendar-instance .calendar-sidebar .calendar-months li:hover{
    color: #ed6a32 !important;
    background-color: transparent !important;
}
.evo-calendar-instance .calendar-sidebar .calendar-months li.active-month{
    color: #ed6a32 !important;
    background-color: transparent !important;
    font-weight: bold;
}

.evo-calendar-instance .calendar-inner{
    padding-top: 10px;
}
.evo-calendar-instance .calendar-table{
    border: none;
    width: 90% !important;
    margin: auto;
}
.evo-calendar-instance .calendar-table>tbody>tr:first-of-type{
    display: none;
}
.evo-calendar-instance td{
    border: none;
}
.evo-calendar-instance tr.calendar-header .calendar-header-day{
    padding: 10px;
    text-align: center;
    color: #AAAAAA;
    font-size: 18px;
    font-weight: 600;
}
.evo-calendar-instance tr.calendar-body .calendar-day {
    padding: 5px 0 !important;
}
.evo-calendar-instance tr.calendar-body .calendar-day .day:hover{
    background-color: #E8E8E8;
}
.evo-calendar-instance tr.calendar-body .calendar-day .day.calendar-active{
    background-color: #E8E8E8;
    border: none;
}
.evo-calendar-instance tr.calendar-body .calendar-day .day{
    color: black;
    font-weight: normal;
}
.evo-calendar-instance tr.calendar-body .calendar-day .day:has(.event-indicator){
    color: #0097d9 !important;
}

.evo-calendar-instance .eventListToggler.active{
    display: block !important
}
.evo-calendar-instance .eventListToggler{
    background-color: transparent;
    display: none;
    box-shadow: none;
    position: absolute;
    left: 32%;
    top: 3%;
}
.evo-calendar-instance .eventListToggler span{
    border: none !important;
}
.evo-calendar-instance .eventListToggler span:before, 
.evo-calendar-instance .eventListToggler span:after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    transform: translate(-50%, -50%) rotate(0deg);
    height: 16px;
    background-color: #fff;
}
.evo-calendar-instance .eventListToggler span:after{
    transform: translate(-50%, -50%) rotate(90deg);
}
.evo-calendar-instance .calendar-events {
    left: 0;
    display: none !important;
    background-color: #ed6a32 !important;
}
.evo-calendar-instance .calendar-events.active {
    display: block !important;
}
.evo-calendar-instance .calendar-events .event-header p{
   margin-bottom: 30px;
   margin-top: 0;
   text-align: center !important;
}
.evo-calendar-instance .event-list > .event-empty{
    display: none;
}
.evo-calendar-instance .event-container{
    cursor: default;
}
.evo-calendar-instance .event-container:before{
    display: none;
}
.evo-calendar-instance .event-container:hover{
    background-color: transparent;
    box-shadow: none;
    -webkit-box-shadow: none;
}
.evo-calendar-instance .event-container > .event-info > p, .evo-calendar-instance .calendar-events > .event-header > p{
    color: white;
    text-align: left;
}
.evo-calendar-instance .event-container .address{
    color: #E8E8E8;
    text-align: left;
    margin-top: 5px;
}
.evo-calendar-instance .event-container .toggle_address{
    cursor: pointer;
}
.evo-calendar-instance .event-container .toggle_address:after{
    content: '';
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #E8E8E8;
    display: inline-block;
    margin-left: 5px;
}
.address-details {
    max-height: 0;
    overflow: hidden;
    margin-top: 5px; 
    -webkit-transition: max-height 1s; 
    -moz-transition: max-height 1s; 
    -ms-transition: max-height 1s; 
    -o-transition: max-height 1s; 
    transition: max-height 1s;  
}
.address-details.visible {
    max-height: 500px;
}
.event-info  a{
    margin: 10px 0;
}
.evo-calendar-instance .event-container .event-info a:hover{
    background-color: white !important;
}


/* LISTE DES LIEUX */
.locations-list{
    display: flex;
    flex-wrap: wrap;
}
.locations-list .wpb_column{
    height: 100% !important;
    text-align: left !important;
    padding: 36px 0 0 36px !important;
}

/* RESPONSIVE */
@media screen and (max-width: 960px){
    .evo-calendar-instance .eventListToggler.active{
        display: block !important;
        top: 5%;
        z-index: 101;
        left: 90%;
    }
    .evo-calendar-instance .calendar-inner{
        max-width: 100% !important;
    }
    .evo-calendar-instance .calendar-inner.active{
        max-width: 100% !important;
    }
    .evo-calendar-instance .calendar-body .calendar-day .day{
        padding: 5px;
        height: 30px;
        width: 30px;
    }
    .evo-calendar-instance tr.calendar-header .calendar-header-day{
        padding: 5px;
        font-size: 14px;
    }
    .evo-calendar-instance .event-indicator{
        transform: translate(-50%, 0);
    }
    .evo-calendar-instance .calendar-sidebar{
        height: auto !important;
        max-width: 100% !important;
        transform: none !important;
    }
    .evo-calendar-instance .calendar-sidebar .calendar-year{
        margin-right: 10px;
        background-color: white;
        box-shadow: none;
        -webkit-box-shadow: none;
        gap: 0;
    }
    .evo-calendar-instance .calendar-sidebar > .month-list{
        transform: none !important;
        gap: 10px;
        position: relative;
        overflow: hidden;
        width: 300px;
        margin: auto;
        background-color: white;
    }
    .evo-calendar-instance .calendar-sidebar > .month-list > .calendar-months{
        position: relative;
        margin: 0 10px !important;
        width: 70%;
        justify-content: start;
        gap: 10px;
        display: flex;
        margin: 0;
        overflow: hidden;
    }
    .evo-calendar-instance .calendar-sidebar > .month-list > .calendar-months > li{
        font-size: 12px;
        min-width: 20%;
        text-align: center;
        box-sizing: border-box;
        padding: 0 20px;
    }
    .calendar-filter{
        padding: 2px 0;
        width: 100%;
    }
    .evo-calendar-instance .calendar-events{
        position: absolute;
        z-index: 100;
        transform: none !important;
        height: 100% !important;
        padding: 20px 15px !important;
    }
}