:root {
    /* Fonts */
    --title-font: 'Barlow', sans-serif;
    --title-font-hdp: 'Barlow Condensed', sans-serif;
    --text-font: "Montserrat", sans-serif;
    --curvy-font: 'gazpacho', sans-serif;

    /* Colors */
    --dark: #152922;
    --white: #fff;

    --green-dark1: #00412C;
    --green-dark2: #005F36;
    --green-soft: #AEDE32;

    --cream: #F0E8E0;
    --yellow: #F8C938;
    --orange: #FF8F00;
    --violet: #6D1D3D;
    --red: #DA3829;

    /* Others */
    --border-radius: 24px;
    --transition: 0.3s ease;

    /* Containers */
    --container: 1410px;

    /* Fonts weight */
    --light: 300;
    --regular: 400;
    --medium: 500;
    --semibold: 600;
    --bold: 700;
}


h1,
.h1_like {
    font-family: var(--curvy-font) !important;
    font-size: 48px;
    line-height: 50px;

    @media (min-width: 992px) {
        line-height: 62px;
        font-size: 62px;
    }
}


h2,
.h2_like {
    font-family: var(--curvy-font) !important;
    font-size: 34px;
    line-height: 38px;

    @media (min-width: 992px) {
        font-size: 40px;
        line-height: 48px;
    }
}

.h2_like_curvy {

    font-family: var(--title-font);
    font-weight: var(--bold);
    font-size: 38px;
    line-height: 50px;

    @media (min-width: 992px) {
        font-size: 44px;
        line-height: 56px;
    }
}

h3,
.h3_like {
    font-family: var(--title-font);
    font-size: 32px;
    line-height: 40px;
    font-weight: var(--bold);

    @media (min-width: 992px) {
        font-size: 36px;
        line-height: 46px;
    }
}

.h3_like_curvy {
    font-family: var(--curvy-font) !important;
    font-size: 24px;
    line-height: 32px;
}

h4,
.h4_like {
    font-family: var(--title-font);
    font-size: 26px;
    line-height: 34px;
    font-weight: var(--bold);

    @media (min-width: 992px) {
        font-size: 32px;
        line-height: 40px;
    }
}

h5,
.h5_like {
    font-size: 22px;
    line-height: 30px;
    font-weight: var(--bold);

    @media (min-width: 992px) {
        font-size: 24px;
        line-height: 34px;
    }
}

h6,
.h6_like {
    font-size: 18px;
    line-height: 28px;
    font-weight: var(--bold);

    @media (min-width: 992px) {
        font-size: 18px;
        line-height: 30px;
    }
}

p {
    margin-bottom: 10px;
}

section p:not(.section__btn, .cta, .cta--p) a,
section span a,
section li a,
section h1 a,
section h2 a,
section h3 a,
section h4 a,
section h5 a,
section h6 a {
    color: var(--green-dark2) !important;
}

p,
a,
span {
    font-size: 16px;
    line-height: 24px;
    font-family: var(--text-font);
}

b,
strong {
    font-weight: var(--bold);
}

* {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
}

ul:not([class]) li::before {
    background: var(--orange);
    border-radius: 100%;
    content: "";
    display: inline-block;
    height: 4px;
    margin: -2px 7px 0 -12px;
    vertical-align: middle;
    width: 4px;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    min-height: 100vh;
    overflow-x: hidden;

    &.no-scroll {
        overflow: hidden;
    }
}

body {
    font-family: var(--text-font);
    margin: 0;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
}

body,
article {
    display: flex;
    flex-direction: column;
}

/* main {
    opacity: 0;
    transform: translateY(20px);
} */


.container {
    margin: 0 auto;
    width: 100%;

    @media (max-width: 575px) {
        max-width: 540px;
    }

    @media (min-width: 576px) {
        max-width: 540px;
    }

    @media (min-width: 768px) {
        max-width: 720px;
    }

    @media (min-width: 992px) {
        max-width: 960px;
    }

    @media (min-width: 1200px) {
        max-width: 1140px;
    }

    @media (min-width: 1400px) {
        max-width: 1320px;
    }
}

.menu__main {
    li.menu-item {
        .sub-menu {
            >li {

                >a,
                .menu-item-image-span {
                    font-size: 15px;
                    line-height: 20px;
                    font-weight: var(--medium) !important;
                    color: var(--dark);

                    @media (max-width: 991px) {
                        color: var(--white);
                    }

                    .menu-item-description,
                    .menu-item-lien {
                        font-size: 13px;
                        line-height: 16px;
                    }

                    .menu-item-description {
                        font-weight: var(--light) !important;
                        color: var(--dark);
                        margin: 10px 0px;
                    }

                    .menu-item-lien {
                        color: var(--green-dark2);
                        font-weight: var(--medium) !important;
                    }
                }

                .menu-item-image-span {
                    margin-top: 10px;
                }
            }
        }
    }

    .image-decouvrez-nous {
        a {
            .menu-item-image-span {
                display: none !important;
            }
        }
    }
}

img,
video {
    max-width: 100%;
    height: auto;
}


main section {
    padding: 40px 0;
}

@media (min-width: 768px) {
    main section {
        padding: 60px 0;
    }
}

@media (min-width: 1200px) {
    main section {
        padding: 70px 0;
    }
}

@media (min-width: 1400px) {
    main section {
        padding: 85px 0;
    }
}

.bouton {
    background-color: var(--green-dark1);
    width: fit-content;
    padding: 13px 15px;
    border-radius: 50px;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--white);
    font-size: 14px;
    height: fit-content;
    display: block;
    transition: all var(--transition);

    @media (min-width: 992px) {
        padding: 13px 18px;
    }

    &:hover {
        background-color: var(--green-soft);
        color: var(--white);
    }

    &.white {
        background-color: var(--white);
        color: var(--violet);

        &:hover {
            background-color: var(--green-soft);
            color: var(--white);
        }

        &.second {
            background-color: var(--white);
            color: var(--green-dark1);
            border: 1px solid var(--green-dark1);

            &:hover {
                background-color: var(--red);
                color: var(--white);
                border: 1px solid var(--red);
            }
        }
    }
}

.bouton_second {
    color: var(--red);
    font-size: 16px;
    text-decoration: none;
}

.section__title {

    h1,
    h1_like,
    h2,
    h2_like,
    h3,
    h3_like,
    h4,
    h4_like {
        margin-bottom: 50px;
        color: var(--dark);
        text-align: center;
    }
}

.builder.cpt .container {

    >h1,
    >h1_like,
    >h2,
    >h2_like,
    >h3,
    >h3_like,
    >h4,
    >h4_like {
        margin-bottom: 50px;
        color: var(--dark);
        font-family: var(--title-font);
        text-transform: uppercase;
        text-align: center;
    }

    >p {
        text-align: center;
    }
}

[data-color="#ffffff"] {
    background: var(--white);
}

[data-color="#f0e8e0"] {
    background: var(--cream);
}

.section__btn {
    margin-top: 70px;
    display: flex;
    justify-content: center;
}

@media (max-width: 992px) {
    .article__content {
        table {
            height: fit-content !important;

            tbody {
                tr {
                    display: flex;
                    flex-direction: column;
                    gap: 25px;
                    height: fit-content !important;

                    td {
                        width: 100% !important;
                        height: fit-content !important;
                    }
                }
            }
        }
    }
}