@import url("https://use.typekit.net/hwt1gmq.css");

:root {
    --basicColor1: #39B54A;
    --basicWhite: #ffff;
    --basicBlack: #000000;
    --basicColorLight: #cccccc;
    --smallRadius: 10px;
    --mediumRadius: 20px;
    --basicRadius: 30px;
    --defaultSpacing: 2rem;
    font-size: 20px;
}

body *, body {
    font-family: "Poppins", sans-serif;
    margin: 0;
    box-sizing: border-box;
}

body section * {
    color: #212A28;
}

body {
    max-width: 1920px;
    margin: 0 auto;
    -webkit-box-shadow: 0px 0px 42px 44px rgba(0, 0, 0, 0.09);
    box-shadow: 0px 0px 42px 44px rgba(0, 0, 0, 0.09);
}

a {
    text-decoration: none;
    font-size: 1em;
    font-weight: 400;
}

p {
    line-height: 1.2em;
    font-weight: 400;
}
li {
    list-style: none;
}

.bigSpacing {
    padding: calc(var(--defaultSpacing) * 2)
}

.bigSpacingSide {
    padding: 0 calc(var(--defaultSpacing) * 2)
}

.bigSpacingTopBottom {
    padding: calc(var(--defaultSpacing) * 2) 0
}

.smallUniformSpacing {
    max-width: 1250px;
    margin: 0 auto;
}

.uniformSpacing {
    max-width: 1500px;
    margin: 0 auto;
}

.bigUniformSpacing {
    max-width: 1800px;
    margin: 0 auto;

}

.bigUniformSpacing {
    max-width: 1920px;
    margin: 0 auto;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
    font-weight: 400;
}

p, span {
    font-weight: 300;
}

.black {
    font-weight: 900;
}

.bold {
    font-weight: 700;
}

.semiBold, .semiBold * {
    font-weight: 600;
}

.regular {
    font-weight: 400;
}

.medium {
    font-weight: 500;
}

.light {
    font-weight: 300;
}

.extraLight {
    font-weight: 200;
}

.size60 {
    font-size: 3em;
}


.size55 {
    font-size: 2.75em;
}

.size40 {
    font-size: 2em;
}

.size30 {
    font-size: 1.5em;
}

.size25 {
    font-size: 1.25em;
}

.size20 {
    font-size: 1em;
}

.size15 {
    font-size: 0.75em;
}

.upper {
    text-transform: uppercase;
}

.taj {
    text-align: justify;
}

.tac {
    text-align: center;
}

.tar {
    text-align: right;
}

.relative {
    position: relative
}

.bgImg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.afterFilter, .afterFilter * {
    position: relative;
    z-index: 10;
}

.afterFilter:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: black;
    opacity: .6;
}

.radius {
    border-radius: var(--basicRadius);
}

.mediumRadius {
    border-bottom-right-radius: var(--mediumRadius);
    border-top-left-radius: var(--mediumRadius);
}

.smallRadius {
    border-bottom-right-radius: var(--smallRadius);
    border-top-left-radius: var(--smallRadius);
}

.activeLink {
    color: var(--basicColor1) !important;
}

.colorGreen, .colorGreen * {
    color: var(--basicColor1);
}

.bgGreen {
    background-color: var(--basicColor1);
}

.fillGreen path{
    fill: var(--basicColor1);
}

.bgLightBlack {
    background-color: var(--basicColor5);
}

.colorWhite, .colorWhite * {
    color: var(--basicWhite);
}

.bgWhite {
    background-color: var(--basicWhite);
}

.fillWhite path {
    fill: var(--basicWhite);
}

.colorBlack, .colorBlack * {
    color: var(--basicBlack);
}

.bgBlack {
    background-color: var(--basicBlack);
}

b {
    font-weight: 600;
}

.fillBlack path {
    fill: var(--basicBlack);
}

.introText {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    width: 100%;
    padding-bottom: 2.5em;
}

.intro * {
    line-height: 1;
}

.w100 {
    width: 100%;
}

.mainLink {
    display: flex;
    width: fit-content;
    padding: .8em 3.12em;
    align-items: center;
    height: fit-content;
    border-radius: var(--basicRadius);
}

.mainLink span svg {
    display: flex;
    align-items: center;
}

.mainLink svg {
    height: auto;
    width: 1em;
}

.grecaptcha-badge {
    display: none;
}

/* START SLIDER */
.slider {
    max-width: 1920px;
    margin: 0 auto;
}

.sliderWrapper {
    width: 410px;
    display: flex;
    transition: transform 1s ease-in-out;
    gap: 2em;
    display: flex;
}

.sliderWrapper::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.sliderSlide {
    width: 410px;
    flex: 0 0 auto;
    box-sizing: border-box;
}

.horizontalScroll {
    overflow: hidden;
}

/* END SLIDER */

/* START MODAL */

.modal {
    display: flex;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    opacity: 0;
    transform: translateY(-100%); /* Départ en dehors de l'écran, vers le haut */
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.modal-content {
    background-color: #fff;
    padding: 2em;
    border-radius: var(--basicRadius);
    width: 60%;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    height: 80vh;
}

.modal.show {
    opacity: 1;
    transform: translateY(0);
}

.modal iframe {
    width: 100%;
    height: 100%;
}

.modal h2 {
    text-align: start;
    padding-bottom: .5em;
    padding-top: 1em;
}

.modal .close {
    position: absolute;
    top: .5em;
    right: 1em;
    font-size: 1.5em;
    cursor: pointer;
}

/* END MODAL */
@media screen and (max-width: 1200px) {
    :root {
        font-size: 18px;
    }

    .size60 {
        font-size: 2.5em;
    }


    .size55 {
        font-size: 2em;
    }

    .size40 {
        font-size: 1.6em;
    }

    .size30 {
        font-size: 1.3em;
    }

    .size25 {
        font-size: 1.15em;
    }

}


@media screen and (max-width: 800px) {
    :root {
        font-size: 18px;
    }

    .bigSpacing {
        padding: calc(var(--defaultSpacing) * 1.5)
    }

    .bigSpacingSide {
        padding: 0 calc(var(--defaultSpacing) * 1.5)
    }

    .bigSpacingTopBottom {
        padding: calc(var(--defaultSpacing) * 1.5) 0
    }

    .size60 {
        font-size: 2em;
    }


    .size55 {
        font-size: 1.7em;
    }

    .size40 {
        font-size: 1.4em;
    }

    .size30 {
        font-size: 1.2em;
    }

    .size25 {
        font-size: 1.1em;
    }

}

@media screen and (max-width: 700px) {
    .modal-content {
        height: 60vh;
        padding: 1em;
        width: 90%;
    }

    :root {
        font-size: 16px;
    }

    .size40 {
        font-size: 1.4em;
    }

    .bigSpacing {
        padding: var(--defaultSpacing)
    }

    .bigSpacingSide {
        padding: 0 var(--defaultSpacing)
    }

    .bigSpacingTopBottom {
        padding: var(--defaultSpacing) 0;
    }

    .size40 {
        font-size: 1.5em;
    }
}
