.flex-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wp-block-columns {
    gap: 4rem !important;
}

@media screen and (max-width: 768px) {
    .wp-block-columns {
        gap: 1rem !important;
    }
}

p a,
li a {
    color: var(--color-primary);
}

p a:hover,
li a:hover {
    color: var(--color-secondary) !important;
}

.shadow-classic {
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.custom-card-home {
    max-width: 1150px;
    margin: auto;
    position: relative;
    top: -100px;
    margin-bottom: -100px;
}

.custom-card-home .image-block,
.custom-card-home .image-block img {
    height: auto !important;
}

.custom-card-home img {
    aspect-ratio: auto !important;
}

.effect-3D {
    position: relative;
    z-index: 48;
}

.effect-3D::after {
    content: "";
    width: 100%;
    height: 100%;
    left: 10px;
    top: 10px;
    border: solid 1px var(--color-primary);
    position: absolute;
    z-index: -1;
}

.certifications .image-block {
    height: auto !important;
}

.certifications .image-block img {
    height: 100px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    width: 100px !important;
}

.banner-page {
    position: relative;
    z-index: 49;
}

.banner-page::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #000000a8;
    z-index: -1;
}

.slider-expertises .slick-next,
.slider-expertises .slick-prev {
    bottom: -76px;
}

.slider-expertises .slick-next::before,
.slider-expertises .slick-prev::before {
    background-color: transparent !important;
    border: solid 1px var(--color-primary);
    color: var(--color-primary);
}

.slider-expertises .slick-next:hover::before,
.slider-expertises .slick-prev:hover::before {
    background-color: var(--color-primary) !important;
    color: var(--color-light);
}

.slider-expertises .slick-next {
    right: 30% !important;
}

.slider-expertises .slick-prev {
    left: 30% !important;
}

.slider-expertises .slick-track {
    display: flex;
    align-items: center;
    height: 400px;
}

.slider-expertises .slick-initialized .slick-slide {
    height: 250px;
    margin: 0 60px;
}

.slider-expertises .slick-slide {
    position: relative;
    transform: scale(1);
    transition: transform 0.3s ease, height 0.3s ease;
}

.slider-expertises .slick-center {
    transform: scale(1.4);
}

.slider-expertises .slick-slide .container-fluid {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    padding: 30px !important;
    display: grid;
    align-content: space-between;
    z-index: 49;
}

.slider-expertises .slick-slide .container-fluid::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(to right, var(--color-secondary), transparent);
    z-index: -1;
}

.slider-expertises .slick-slide p {
    font-size: 22px !important;
}

.slider-expertises .slick-slide .show-more a {
    font-size: 12px !important;
    color: var(--color-light) !important;
    transition: color ease 0.2s;
}

.slider-expertises .slick-slide .show-more a:hover {
    color: var(--color-primary) !important;
}

.list-strengths {
    position: relative;
}

.list-strengths .title-strengths {
    position: relative;
    left: 0;
    top: 0;
    padding: 30px 15px;
    background-color: var(--color-primary);
    cursor: pointer;
    margin-bottom: 10px;
    transition: top ease 0.2s, left ease 0.2s;
}

.list-strengths .title-strengths:hover {
    left: 10px;
    top: 10px;
    color: var(--color-light) !important;
}

.list-strengths .title-strengths::after {
    content: "";
    border: solid 1px var(--color-primary);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 10px;
    top: 10px;
    transition: top ease 0.2s, left ease 0.2s;
}

.list-strengths .title-strengths:hover::after {
    left: 0;
    top: 0;
}

.list-strengths .title-strengths p {
    color: var(--color-light) !important;
}

.list-strengths .content-strengths {
    position: absolute;
    top: 0;
    left: 108%;
    width: 400px;
    background-color: var(--color-primary);
    color: var(--color-light);
    padding: 30px;
    opacity: 0;
    z-index: 49;
    transition: opacity 0.3s ease;
}

.list-strengths .content-strengths::after {
    position: absolute;
    content: "";
    border: solid 1px var(--color-primary);
    top: 10px;
    left: 10px;
    height: 100%;
    width: 100%;
}

.list-strengths .content-strengths p {
    color: var(--color-light) !important;
}

.list-strengths .content-strengths.active {
    opacity: 1;
}

.slider-dates .slick-track {
    display: flex;
    align-items: stretch;
    padding-top: 60px;
    padding-bottom: 30px;
}

.slider-dates .slick-initialized .slick-slide {
    margin-right: 40px;
    height: auto;
}

.slider-dates .slick-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    gap: 0 !important;
}

.slider-dates .slick-dots li {
    width: 100%;
}

.slider-dates .slick-dots li button {
    width: 100%;
    height: 5px;
    border-radius: 0;
    padding: 0;
    transition: background-color ease 0.5s;
}

.slider-dates .slick-dots li.slick-active button {
    background-color: var(--color-primary);
}

.slider-dates .date p {
    font-size: 40px !important;
    line-height: 50px !important;
}

.slider-dates .slick-next,
.slider-dates .slick-prev {
    bottom: -76px;
}

.slider-dates .slick-next {
    right: 30% !important;
}

.slider-dates .slick-prev {
    left: 30% !important;
}

.slider-dates .read-more {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
    margin-bottom: 1em;
}

.slider-dates .read-more.expanded {
    -webkit-line-clamp: unset;
    overflow: visible;
}

.read-more-button {
    cursor: pointer;
}

.read-more-button:hover {
    color: var(--color-primary) !important;
}

iframe {
    width: 100% !important;
}

.slider-image-equipes .slick-slide,
.slider-image-flotte .slick-slide {
    height: auto;
    aspect-ratio: 3/2;
    margin-right: 30px;
    margin-bottom: 30px;
    margin-top: 30px;
    z-index: revert-layer;
    position: relative;
}

.logo-astre {
    max-width: 400px !important;
    margin: auto;
}

.wp-block-video video {
    position: relative !important;
    height: auto !important;
    object-fit: contain;
    object-position: center;
}


/* Responsive */

@media screen and (max-width: 1320px) {
    .effect-3D {
        width: 97%;
    }
}

@media screen and (max-width: 1000px) {
    .slider-expertises .slick-center {
        transform: scale(1) !important;
    }
    .slider-expertises .slick-track {
        height: auto;
    }
    .slider-expertises .slick-next {
        right: 20% !important;
    }
    .slider-expertises .slick-prev {
        left: 20% !important;
    }
}

@media screen and (max-width: 768px) {
    .list-strengths .title-strengths {
        transition: top ease 0.2s, left ease 0.2s;
        width: 97%;
    }
    .list-strengths .content-strengths {
        position: relative;
        width: 97%;
        left: 0;
        height: 0px;
        padding: 0;
    }
    .list-strengths .content-strengths.active {
        opacity: 1;
        margin: 20px 0;
        height: auto;
        padding: 20px;
    }
    .slider-expertises .slick-initialized .slick-slide {
        margin: 0 !important;
    }
    .slider-expertises .slick-next,
    .slider-dates .slick-next {
        right: 0% !important;
    }
    .slider-expertises .slick-prev,
    .slider-dates .slick-prev {
        left: 0% !important;
    }
    .slider-expertises .slick-next,
    .slider-expertises .slick-prev,
    .slider-dates .slick-next,
    .slider-dates .slick-prev {
        bottom: -63px;
    }
    .wp-block-aem-theme-section.custom-card-home {
        margin: 0 10px;
        width: auto !important;
        margin-bottom: -100px;
    }
    .model-last-actu .btn-block {
        margin-top: 15px;
    }
    .model-last-actu .btn-block div {
        text-align: left !important;
    }
    main > .wp-block-aem-theme-section,
    main > .wp-block-aem-theme-section .container-fluid > .wp-block-aem-theme-section {
        width: 100% !important;
    }
    .slider-image-equipes .slick-slide .wp-block-aem-theme-section {
        width: fit-content!important;
    }
}