/**
* Open Agenda
*/
.oa-event-grid, .oa-event-list, .oa-preview-events {
    --gap: 2rem;
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: var(--gap);
    row-gap: var(--gap);
}

.oa-list-item {
    display: flex;
    flex: 0 1 calc( (100% - var(--gap) * 2) / 3);
    flex-direction: column;
    padding: 0;
    margin-bottom: 1rem;
}
@media (max-width: 1439.98px) {
    .oa-list-item {
        flex: 0 1 calc(50% - var(--gap));
    }
}
@media (max-width: 767.98px) {
    .oa-list-item {
        flex: 0 0 100%;
    }
}

.oa-list-item a.readmore {
	text-decoration: none;
}

.oa-event-grid .oa-list-item {
    padding: 0;
}

.oa-update-overlay {
    z-index: 1;
}

.oa-event-wrapper {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: stretch
}

.oa-list-item .oa-event-tags {
    align-items: flex-start;
    column-gap: 1.25rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 5px;
    row-gap: 5px
}

.oa-list-item .oa-event-tags .oa-tag {
    color: var(--e-global-color-secondary);
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase
}

.oa-list-item .oa-event-thumbnail {
    background-color: transparent;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%
}

.oa-list-item .oa-event-thumbnail:after {
    content: "";
    display: block;
    padding-bottom: 75%
}

.oa-list-item .oa-event-thumbnail img {
    height: auto;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%
}

.oa-list-item .oa-event-title {
    line-height: 1;
    margin-bottom: 1rem;
}

.oa-list-item .oa-event-title a {
    color: var(--e-global-color-accent);
    font-size: 1.25rem;
    font-weight: normal;
    text-decoration: none;
    text-transform: uppercase
}
.oa-list-item .oa-event-title a .compagnie {
    font-weight: 600;
    margin-bottom: 10px;
}

.oa-list-item .oa-metas {
    margin-bottom: 0.625rem;
}

.oa-list-item .oa-metas .oa-meta {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    padding: 0
}

.oa-list-item .oa-event-footer {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
    margin-top: auto;
    width: 100%
}

.oa-list-item .oa-event-footer .favorite-btn-wrapper {
    flex: 1 1 auto;
    margin-left: 0;
    margin-right: auto
}

.oa-list-item .oa-event-footer .button-read-more {
    flex: 1 1 auto;
    white-space: nowrap
}

/**
* Filters
*/
@media (min-width:992px) {
    body.single-oa-calendar .page-content {
        display: flex;
        flex-wrap: wrap;
    }
    body.single-oa-calendar .page-content .map-wrapper {
        flex-basis: 100%;
    }
    body.single-oa-calendar .page-content .event-list-filters {
        flex-basis: 25%;
        padding-right: 1rem;
    }
    body.single-oa-calendar .page-content .event-list-filters~div[data-container-id]{
        flex-basis: 75%;
    }
}

.oa-event-title {
    display: flex;
    align-items: center;
    gap: .2rem;
}

.oa-filters .filters-label {
    color: var(--e-global-color-primary);
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 5px;
}

.oa-filters .oa-choice-widget .oa-choice-option-label {
    background-color: var(--e-global-color-text);
    color: var(--e-global-color-064567d, #fff);
    cursor: pointer;
    display: block;
    font-size: 0.875rem;
    line-height: 1;
    margin-bottom: 0;
    margin-top: 1px;
    padding: 10px 15px;
    position: relative;
    transition: all .3s ease-in-out;
}
.oa-filters .oa-filter-favorite .oa-choice-widget .checkbox {
    background-color: var(--e-global-color-accent);
    color: var( --e-global-color-064567d, #fff );
    margin-bottom: 1rem;
}

.oa-filters .oa-filter-favorite .oa-choice-widget .checkbox label {
    color: var( --e-global-color-064567d, #fff );
    cursor: pointer;
    display: block;
    font-size: 0.875rem;
    padding: 10px 15px;
    position: relative
}

.oa-filters .oa-filter-favorite .oa-choice-widget .checkbox label:after {
    color: var( --e-global-color-064567d, #fff );
    content: "☆";
    font-size: 2rem;
    line-height: 1;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateX(-50%) translateY(-50%)
}

.oa-filters .oa-filter-favorite .oa-choice-widget.active .checkbox label:after {
    content: "★"
}

.oa-filters .oa-choice-widget input[type=checkbox] {
    display: none
}

.oa-filters .oa-choice-widget .oa-choice-option-label {
    background-color: var(--e-global-color-text);
    color: var( --e-global-color-064567d, #fff );
    cursor: pointer;
    display: block;
    font-size: 14px;
    line-height: 1;
    margin-bottom: 0;
    margin-top: 1px;
    padding: 10px 15px;
    position: relative;
    transition: all .3s ease-in-out
}

.oa-filters .oa-choice-widget .checkbox.active .oa-choice-option-label {
    background-color: var(--e-global-color-primary);
}

.oa-filters .oa-active-filters .filters:not(:empty) {
    margin-bottom: 25px
}

.oa-filters .oa-active-filters .badge {
    background-color: var(--e-global-color-secondary);
    border-radius: 0;
    border-style: none;
    color: var( --e-global-color-064567d, #fff );
    display: inline-block;
    text-transform: uppercase;
    font-size: .875rem;
    font-weight: 600;
    margin-bottom: 5px;
    margin-right: 5px;
    padding: 2px 5px;
}

.oa-filters .oa-active-filters .badge button {
    background-color: initial!important;
    bottom: -2px;
    color: var( --e-global-color-064567d, #fff );
    font-weight: 400;
    margin-left: 3px;
    position: relative
}

.oa-filters .oa-active-filters>.row {
    margin-left: 0;
    margin-right: 0
}

.oa-filters .oa-active-filters ul {
    align-items: stretch;
    column-gap: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    list-style-type: none;
    margin: 0;
    padding: 0;
    row-gap: 10px
}

.oa-filters .oa-active-filters li {
    background-color: var(--e-global-color-text);
    color: var( --e-global-color-064567d, #fff );
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    padding: 3px 28px 3px 5px;
    position: relative
}

.oa-filters .oa-active-filters li a {
    align-items: center;
    bottom: 0;
    color: var( --e-global-color-064567d, #fff );
    display: flex;
    font-size: 25px;
    font-weight: 100;
    justify-content: center;
    padding: 2px;
    position: absolute;
    right: 0;
    text-decoration: none!important;
    top: 1px
}


/**
* Filter Calendar
*/
.oa-filters .oa-filter-calendar {
    margin-bottom: 1.25rem;
}
.oa-calendar-widget {
    border: 2px solid var(--e-global-color-text);
}
.oa-calendar-widget button {
    background-color: transparent !important;
    border-style: none !important;
    border-color: #000 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
}
.oa-calendar-widget .rdrMonthAndYearPickers {
    flex-wrap: nowrap;
    justify-content: space-between;
}
.oa-calendar-widget .rdrNextPrevButton {
    margin: 0 !important;
}
.oa-calendar-widget .rdrMonthAndYearPickers select {
    margin: 0;
    padding: 3px 20px 3px 3px;
    font-size: 12px;
}


/**
* Keyword
*/
.oa-filters .oa-filter-keyword {
    margin-bottom: 1.25rem;
    position: relative
}

.oa-filters .oa-filter-keyword .input-group {
    align-items: stretch;
    display: flex
}

.oa-filters .oa-filter-keyword .form-control {
    border-right: 0
}

.elementor-form .elementor-field-type-submit .oa-filters .oa-filter-keyword .input-group-append .elementor-button,.newsletter-wrapper .forms-builder-wrapper .oa-filters .oa-filter-keyword .input-group-append .button,.oa-filters .oa-filter-keyword .input-group-append .btn,.oa-filters .oa-filter-keyword .input-group-append .elementor-form .elementor-field-type-submit .elementor-button,.oa-filters .oa-filter-keyword .input-group-append .newsletter-wrapper .forms-builder-wrapper .button {
    background-color: transparent;
    border: 2px solid var(--e-global-color-text);
    color: var(--e-global-color-text);
    border-radius: 0;
    border-left: 0;
    font-size: 1.25rem;
    height: 100%;
    padding: 8px 10px;
}

.oa-filters .oa-filter-keyword input {
    border: 2px solid var(--e-global-color-text);
    border-right: 0;
    border-radius: 0;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    width: 100%;
}

/**
* Filter Map
*/ 
.map-wrapper {
    margin-bottom: 1rem;
}

.map-wrapper .oa-map-widget .checkbox {
    accent-color: var(--e-global-color-secondary);
}

.map-wrapper .oa-map-widget .checkbox label {
    color: var(--e-global-color-text);
    font-size: 12px;
    font-weight: 400
}

.map-wrapper .oa-map-widget .leaflet-control-attribution a {
    color: #222;
    font-weight: 400
}

/*
* Filter catgories
*/
.oa-filters .oa-filter-categories {
    margin-bottom: 1.25rem;
}

.oa-filters .oa-filter-categories .tags {
    align-items: stretch;
    column-gap: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    row-gap: 10px
}

.oa-filters .oa-filter-categories .tags li {
    align-items: center;
    border: 2px solid var(--e-global-color-text);
    color: var(--e-global-color-text);
    display: flex;
    flex: calc(50% - 10px);
    font-size: 15px;
    font-weight: 700;
    justify-content: center;
    text-transform: uppercase
}

.oa-filters .oa-filter-categories .tags li a {
    color: var(--e-global-color-text);
    text-decoration: none
}

.oa-filters .oa-filter-categories .tags li.no-current-match {
    opacity: .5
}

.oa-filters .oa-filter-categories .tags li.selected {
    background-color: var(--e-global-color-text);
    color: var( --e-global-color-064567d, #fff );
}

.oa-filters .oa-filter-categories .tags li.selected a {
    color: var( --e-global-color-064567d, #fff );
}

.oa-filters .oa-filter-categories .tags li .count {
    font-size: 13px
}

.oa-filters .oa-filter-categories .tags li .count:before {
    content: "("
}

.oa-filters .oa-filter-categories .tags li .count:after {
    content: ")"
}

/**
* Filter Calendar
*/
.oa-filters .filter-dates {
    color: var(--e-global-color-text);
    font-size: 14px;
    font-weight: 600
}

.oa-filters .filter-dates .ccal {
    background-color: var( --e-global-color-064567d, #fff );
    border: 2px solid var(--e-global-color-text);
    padding: 3px
}

.oa-filters .filter-dates .ccal .calmonthnav {
    background-color: var( --e-global-color-064567d, #fff );
    border-bottom: 2px solid var(--e-global-color-text);
    display: flex;
    justify-content: space-between;
    padding: 0 0 3px
}

.oa-filters .filter-dates .ccal .calmonthnav .calnextmonth,.oa-filters .filter-dates .ccal .calmonthnav .calprevmonth {
    cursor: pointer;
    padding: 0 20px
}

.oa-filters .filter-dates .ccal .calmonth,.oa-filters .filter-dates .ccal .calweekdays {
    text-transform: uppercase
}

.oa-filters .filter-dates .ccal .calweekdays li {
    pointer-events: none
}

.oa-filters .filter-dates .ccal .calbody ul li,.oa-filters .filter-dates .ccal .calweekdays li {
    border-color: var( --e-global-color-064567d, #fff );
    color: var(--e-global-color-text);
}

.oa-filters .filter-dates .ccal .calbody ul li span,.oa-filters .filter-dates .ccal .calweekdays li span {
    vertical-align: middle
}

.oa-filters .filter-dates .ccal .calbody ul li:hover,.oa-filters .filter-dates .ccal .calweekdays li:hover {
    box-shadow: inset 0 0 0 2px var(--e-global-color-text);
}

.oa-filters .filter-dates .ccal .calbody ul li:not(.hasdates) {
    opacity: .2;
    pointer-events: none
}

/**
* Filters trigger
*/
body.single-oa-calendar .event-list-filters-trigger-button {
    background-color: var(--e-global-color-accent);
    border: 0;
    bottom: 0;
    color: var( --e-global-color-064567d, #fff );
    display: none;
    flex: 0 0 100%;
    left: 0;
    margin: 0 0 1rem 0;
    padding: 15px 1.25rem;
    /*position: fixed;*/
    right: 0;
    text-align: center;
    width: 100%;
    z-index: 100001;
}

body.single-oa-calendar event-list-filters .event-list-filters-trigger-button {
    position: initial;
}

@media (max-width: 991.98px) {
    body.single-oa-calendar .event-list-filters-trigger-button {
        display:block
    }
}

body.admin-bar .oa-filters {
    max-height: calc(100vh - 105px + var(--wp-admin--admin-bar--height));
    top: 150px
}

@media (max-width: 991.98px) {
    body.admin-bar .oa-filters {
        max-height:100vh;
        top: 0;
        z-index: 100000
    }
}

.oa-filters {
    flex: 0 0 280px;
    max-height: calc(100vh - 115px);
    overflow: visible;
    padding-bottom: 30px
}

.oa-filters::-webkit-scrollbar {
    display: none
}

@media (max-width: 991.98px) {
    .oa-filters {
        align-items:flex-start;
        background-color: var( --e-global-color-064567d, #fff );
        bottom: 0;
        flex: 0 0 calc(100% - 40px);
        justify-content: flex-start;
        left: 0;
        margin-bottom: 0;
        margin-left: 0;
        margin-right: 0;
        max-height: 100vh;
        max-width: 360px;
        overflow: auto;
        padding: 20px 20px 75px;
        position: fixed;
        top: 0;
        transform: translateX(-100%);
        transition: all .3s ease-in-out;
        width: 80vw;
        z-index: 1005;
        /*z-index: 9999;*/
    }
}

.oa-filters .mobile-layer {
    display: none
}

@media (max-width: 991.98px) {
    .oa-filters.open+.mobile-layer {
        background-color:#000000b3;
        bottom: 0;
        content: "";
        display: block;
        left: 0;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 1004
    }

    .oa-filters.open {
        transform: translateX(0)
    }
}

.single-oa-calendar .oa-button.oa-button-previous, 
.single-oa-calendar .oa-button.oa-button-next, 
.single-oa-calendar button.oa-event-favorite-badge,
.single-oa-calendar .oa-button.oa-button-previous:hover, 
.single-oa-calendar .oa-button.oa-button-next:hover, 
.single-oa-calendar button.oa-event-favorite-badge:hover,
.single-oa-calendar .oa-button.oa-button-previous:focus, 
.single-oa-calendar .oa-button.oa-button-next:focus, 
.single-oa-calendar button.oa-event-favorite-badge:focus {
    border: 0;
    background-color: transparent;
    border-style: none;
}
.single-oa-calendar-archive .page-content,
.single-oa-calendar-event .page-content {
    margin-block: 1.5rem;
}
.single-oa-calendar .oa-single-event .event-container {
    --gap: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}
.single-oa-calendar .oa-single-event a.elementor-button {
    text-decoration: none;
} 
/*
.single-event__compagnie, .single-event__title {
    display: flex;
    align-items: center;
    gap: .2rem;
}
*/
.oa-single-event h2.single-event__compagnie {
    font-size: 2.5rem;
    margin: 1.5rem 0 0 0;
}
.oa-single-event h3.single-event__title {
    font-size: 2.5rem;
    margin-top: 0;
    font-weight: normal;
}
.single-event__meta + .single-event__meta  {
    margin-top: .5rem;
}
.single-event__meta .label {
    font-weight: 700;
    font-size: 1.125rem;
    margin-top: .5rem;
}
.single-event__calendar .oa-event-timings {
    border: 1px solid var(--e-global-color-text);
    padding-bottom: .75rem;
}
.single-event__calendar .oa-month-header {
    padding: .5rem;
    border-bottom: 1px solid var(--e-global-color-text);
}
.single-event__calendar .oa-week {
    padding-inline: .5rem;
}

@media (max-width:480px) {
    body.single-oa-calendar .site-main#content .page-header h1.entry-title {
        font-size: 2.5rem;
    }
}

.single-event__col-left,
.single-event__col-right {
    flex-basis: 100%;
}

@media (min-width:992px) {
    .single-event__col-left {
        flex-basis: calc(35% - var(--gap));
    }
    .single-event__col-right {
        flex-basis: 65%;
    }
}


.oa-single-event .single-event__col-left > div + div {
	margin-top: 1.5rem;
}

.oa-single-event .single-event__image .label {
	font-weight: normal;
	font-size: inherit;
}

.oa-single-event .single-event__col-right > div + div {
	margin-top: 1.5rem;
}

.oa-single-event .single-event__header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.oa-single-event .single-event__calendar .label {
	font-weight: 700;
}

.oa-single-event .oa-event-favorite-badge .oa-icon {
    width: 17px;
    height: 17px;
    fill: var( --e-global-color-secondary );
}

.oa-single-event .oa-event-favorite-badge:hover .oa-icon {
	fill: #fff;
}

.oa-single-event .mentions_obligatoires {
	font-size: 0.75rem;
	margin-top: 1.5rem;
}



/**
* Pagination
*/
.oa-controls-bottom {
    margin-top: 1.5rem;
}
ul.oa-pagination {
    justify-content: center;
}
ul.oa-pagination .oa-page + .oa-page {
    margin-left: 3px;
}
ul.oa-pagination .oa-page .oa-page-link {
    color: #fff;
    background-color: var( --e-global-color-secondary );
    text-decoration: none;
}
ul.oa-pagination .oa-page .oa-page-link.active,
ul.oa-pagination .oa-page .oa-page-link:hover {
    background-color: #000;
}