/* Color variables */

:root {
    --green: #A8BE4A;
    --yellow: #FBD83A;
    --sable: #ffe17d;
    --red: #D2372A;
    --text: #636A6E;
    --beige: #F0EDE3;
}

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    font-family: 'DinPro';
    font-weight: 400;
    color: var(--text);
    background-color: white;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Bloomer Demo';
    color: var(--green);
    line-height: .9;
}

.scrollHidden {
    overflow: hidden !important;
}

a,
button,
input,
select,
textarea,
iframe {
    outline: none;
}

img {
    width: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: inherit;
}


button.cta {
    background: var(--red);
    padding: 12px 25px;
    color: white;
    border: none;
    border-radius: 10px;
}

.rel {
    position: relative;
}

.abs {
    position: absolute;
}

.bullet-list li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: .4rem;
}

.bullet-list li:before {
    content: '';
    width: .6em;
    height: .6em;
    background-color: var(--yellow);
    position: absolute;
    top: 7px;
    left: 0;
}

.section-title {
    font-size: clamp(50px, 6vw, 5.5rem);
}

.subtitle {
    font-size: 18px;
}

.subtitle-adresse, .banner-all p.subtitle-adresse {
    font-size: clamp(20px, 1.7vw, 1.8em);
}

.loading-screen {
    position: relative;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    background-color: var(--green);
    width: 0%;
    height: 100%;
}

.load-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 10;
    pointer-events: none;
}

.animate-this,
.banner-animate {
    opacity: 0;
    transform: translateY(30px);
}

menu li img {
    cursor: pointer
}

.filter-black {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #0000008c;
    z-index: 999;
}

.pop-up-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.video-mal-entendants {
    width: 80vw;
    height: 80vh;
    background-color: white;
    position: relative;
    padding: 40px;
}

.mal-entendants {
    cursor: pointer;
}

.close-video {
    top: 20px;
    right: 20px;
    color: var(--green);
    cursor: pointer;
    font-size: 30px;
    z-index: 99;
}

.video-container {
    width: 100%;
    height: 100%;
}

.hamburger:hover {
    opacity: 1;
}

.logo-facile {
    width: 30px !important;
    height: auto !important;
}

/* .round,
.square {
    position: relative;
}

.round::before,
.square::before,
.triangle::before {
    position: absolute;
    content: "";
    left: 50%;
    transform: translate(-50%);
    top: 0;
    width: 15px;
    height: 15px;
}

.round::before {
    background-color: var(--red);
    border-radius: 100%;
}

.square::before {
    background-color: var(--yellow);
}

.triangle::before {
    background-color: var(--green);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
} */

/******************************************** Menu ********************************************/

menu ul li {
    display: inline;
    margin-right: 3%
}

menu ul li a {
    text-decoration: none;
    color: var(--text);
    position: relative;
    font-size: 1.1rem;
}

menu .cadeau {
    background-color: var(--red);
    padding: 10px 20px;
    border-radius: 10px;
}

menu .cadeau a {
    color: white;
}

menu .logo {
    width: 150px;
}

menu .cadeau {
    cursor: pointer;
}

menu ul li a.menu-link {
    font-weight: bold
}

.underline {
    width: 0%;
    bottom: -6px;
    height: 3px;
    background-color: red;
    left: 0;
    transition: .2s ease-in-out
}

.underline-active {
    width: 100%;
}


/******************************************** Banner ALL ********************************************/

.banner-all {
    margin-top: 75px
}

.banner-all h1 {
    font-size: clamp(55px, 6vw, 6.2rem);
    color: var(--green);
    /* line-height: 120px; */
}

.banner-all p {
    font-size: 18px
}

.banner-all img {
    width: 100vw;
    height: 75vh;
    object-fit: cover;
    clip-path: ellipse(95% 50% at 50% 50%);
    margin-top: 2rem;
}

.link-app {
    display: none;
}

.iframe-foret {
    width: 100%;
}

iframe body {
    background-color: #F0EDE3;
}

/******************************************** Banner homepage ********************************************/

section.banner {
    overflow: hidden;
    z-index: 50;
    position: relative;
    margin-top: 3rem;
}

@keyframes bannerImgEntrance {
    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.banner .wrapper {
    position: relative;
}

.banner img {
    width: 100%;
    object-fit: cover;
    height: 75vh;
    opacity: 0;
    animation: bannerImgEntrance 1s forwards;
    position: relative;
    z-index: -1;
    clip-path: ellipse(95% 50% at 50% 50%);
    margin-top: 2rem;
}

.banner .title {
    font-size: clamp(60px, 6.7vw, 6em);
    text-align: center;
    color: var(--green);
}

.banner .subtitle {
    font-weight: bold;
    text-align: center;
    width: 80%;
    font-size: clamp(16px, 1.5vw, 1.5em);
    line-height: 1.3;
}

.banner .subtitle-adresse {
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}

.banner .cta {
    font-size: clamp(16px, 1.5vw, 1.3rem);
}


.banner .background {
    background-image: url(../img/homepage_banner-min.jpg);
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

/******************************************** Pourquoi un Solidaris Day  / Accessible à tous ********************************************/

section.why,
section.who {
    /*height: 115vh;*/
    margin: 100px 0;
}

.why .subtitle,
.why .cta,
.who .subtitle,
.who .cta,
.homepage-partenaires .cta {
    font-size: 18px;
}

.cta a {
    text-decoration: none;
}

.who .bullet-list {
    list-style-type: none;
    padding: 0;
    font-size: 17px;
}

.why img, .who img {
    max-height: 600px;
    border-radius: 20px;
}

/*.why .background {*/
/*    width: 40%;*/
/*    height: 100%;*/
/*    background-repeat: no-repeat;*/
/*    background-size: contain;*/
/*    background-position: right;*/
/*    right: 0;*/
/*    top: -20%;*/
/*}*/

/*.who .background {*/
/*    background-image: url('../img/manege-girl.jpg');*/
/*    width: 40%;*/
/*    height: 100%;*/
/*    background-repeat: no-repeat;*/
/*    background-size: contain;*/
/*    background-position: left;*/
/*    left: 0;*/
/*    top: -35%;*/
/*}*/

.who .label-access {
    height: 200px;
    margin-left: 50px;
}

/******************************************** Animations ********************************************/

section.animations {
    background-image: url('../img/homepage_animations_new-min.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    height: 75vh;
    /*margin-top: -200px;*/
    margin: 100px 0;
    clip-path: ellipse(95% 50% at 50% 50%);
}

.animations .title,
.animations .subtitle,
.animations .section-title {
    color: white;
}

.animations .title {
    font-size: clamp(28px, 3vw, 2.5em);
    margin-bottom: 0;
    text-align: center
}

.animations img {
    max-width: 55%;
}


/******************************************** Partenaires ********************************************/

section.homepage-partenaires {
    margin: 200px 0 0;
    height: 100vh
}

.homepage-partenaires .subtitle {
    margin-bottom: 55px
}

.homepage-partenaires .wrapper,
.partenaires-app .slick-partenaires .wrapper {
    background: var(--beige);
    padding: 3em 1.5em;
    border-radius: 10px;
    margin: 0 7px;
    min-height: 460px;
    max-height: 950px;
}

.slick-partenaires .slick-track {
    display: flex;
}

.slick-partenaires .slick-slide {
    margin: 0 10px;
    height: inherit;
}

.slick-partenaires .slick-list {
    margin: 0 -10px;
}

.partenaires-app .slick-partenaires .wrapper {
    padding: 1.5em;
    margin: 0 2px;

}

.homepage-partenaires .wrapper img.partenaire-logo {
    /* height: 30%;
    object-fit: contain; */
}

.homepage-partenaires .wrapper .partenaire-description {
    margin-bottom: 0
}

.homepage-partenaires .slick-wrapper {
    position: absolute;
    right: 0;
    width: 80%
}

.slick-dots {
    display: flex;
    justify-content: center;
    margin-top: 25px;
    padding: 0;
}

.slick-dots li::marker {
    font-size: 0
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 30px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: var(--green);
    margin-right: 10px;
    opacity: .7;
}

.slick-dots li.slick-active button {
    opacity: 1
}

.homepage-partenaires .background {
    background-image: url('../img/girl-stones.jpg');
    width: 35%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left;
    left: 0;
    bottom: 0;
    z-index: -1;
    border-top-right-radius: 20px;
}

.rdvPart {
    font-size: clamp(50px, 3vw, 80px);
    color: var(--text);

}

.toBig {
    height: 60px !important;
}

/******************************************** Revivre le Solidaris Day 2021 ********************************************/

.revivre .section-wrapper {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.revivre .clip-path-section {
    width: 100%;
    height: 100%;
    clip-path: ellipse(100% 61% at 48% 67%);
    position: absolute;
    z-index: -1;
    top: 0;
    background: var(--green);
}

.revivre img.top-left,
.revivre img.bottom-left {
    width: 12%;
}

.revivre img.top-right {
    width: 25%;
}

.revivre img.bottom-right {
    width: 17%;
}

.revivre .top-left {
    top: 0;
    left: 0;
}

.revivre .top-right {
    top: -7%;
    right: 0;
}

.revivre .bottom-left {
    bottom: 0;
    left: 0;
}

.revivre .bottom-right {
    bottom: 0;
    right: 0;
}

.revivre .play-button {
    width: 15%;
    display: flex;
    margin: auto;
    cursor: pointer;
    transition: .5s ease-out;
}

.revivre .play-button:hover {
    transform: scale(.85);
}

.modal-live {
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, .9);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.modal-live iframe {
    width: 75%;
    height: 75%;
}

.revivre .custom-shape-divider-top-1652105520 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.revivre .custom-shape-divider-top-1652105520 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 200px;
}

.revivre .custom-shape-divider-top-1652105520 .shape-fill {
    fill: #FFFFFF;
}

/******************************************** Une organisation du Solidaris Day ********************************************/

section.organisation {
    background: var(--green);
    padding: 10em 0 1em 0;
}

.organisation .section-title,
.organisation .subtitle {
    color: white;
}

.organisation .subtitle {
    width: 1100px
}

.organisation .grid .grid-item {
    background: white;
    border-radius: 10px;
    height: 180px;
    padding: 1em;
}

.organisation .grid img {
    height: 95%;
    width: 80%;
    object-fit: contain;
}

.organisation .wrapper {
    background: white;
    border-radius: 10px;
    padding: 1em;
}


.organisation .wrapper img {
    height: 65px;
    margin: 7px;
}

.organisation .wrapper img.bigger {
    height: 200px;
    margin: 0;
}

.organisation .grid {
    display: grid;
    margin-inline: auto;
    grid-gap: 1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    grid-template-areas:
        'one two two three three four'
        'five five six six seven seven'
        'eight nine nine ten ten eleven'
}

.item {
    grid-area: one;
}

.item2 {
    grid-area: two;
}

.item3 {
    grid-area: three;
}

.item4 {
    grid-area: four;
}

.item5 {
    grid-area: five;
}

.item6 {
    grid-area: six;
}

.item7 {
    grid-area: seven;
}

.item8 {
    grid-area: eight;
}

.item9 {
    grid-area: nine;
}

.item10 {
    grid-area: ten;
}

.item11 {
    grid-area: eleven;
}

/******************************************** Footer ********************************************/

footer {
    padding: 4em 0 .8em 0;
    background: var(--green);
}

/* footer .clip-path-section {
    width: 100%;
    height: 100%;
    clip-path: ellipse(100% 62% at 48% 67%);
    position: absolute;
    z-index: -1;
    top: 0;
    background: var(--green);
} */

footer a {
    width: auto !important;
}

footer .row {
    padding: 1.5em 0;
    border-bottom: 2px solid white;
    border-top: 2px solid white;
    margin-top: 2em;
}

footer img.logo {
    width: 250px;
}

footer img.facebook {
    width: 25px;
}

footer img.mail,
footer img.map,
footer img.insta {
    width: 40px
}

footer img {
    transition: .3s ease-in-out;
}

footer img.mail:hover,
footer img.map:hover,
footer img.facebook:hover,
footer img.insta:hover {
    transform: scale(.8);
}


/******************************************** Page Programme ********************************************/

.programme span,
.programme-app span {
    font-size: clamp(40px, 6vw, 75px);
    color: var(--text);
    font-weight: bold;
}

.programme-app span {
    font-size: clamp(40px, 7vw, 150px);
}

.programme h3,
.programme-app h3 {
    color: var(--green);
    font-size: clamp(1.8em, 3vw, 3em);
    display: flex;
    align-items: center
}

.container-programme h3 {
    font-size: clamp(1.8em, 2vw, 3em);
}

.programme p,
.programme-app p {
    margin-bottom: 0
}

.programme hr,
.programme-app hr {
    color: black;
    height: 1px;
}

.programme .fa-circle-info,
.programme-app .fa-circle-info {
    font-size: 25px;
    cursor: pointer;
    margin-left: 10px;
    color: grey;
}

.programme .info {
    position: fixed;
    background-color: white;
    padding: 20px;
    box-shadow: 2px 2px 7px #4f4f4f45;
    top: -13%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 19;

}

.programme .fa-circle-info:hover .programme .info {
    display: block;
}

.info-content {
    width: 100%;
    height: 100%;
}

.info-content h4 {
    display: flex;
}

.info-content .fa-xmark {
    top: 5px;
    right: 5px;
    color: var(--green);
    font-size: 20px;
    cursor: pointer;
}

/* .legende {
    display: flex;
    justify-content: center;
    align-items: center;
} */
.round {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    cursor: pointer;
}

/*.green.round {*/
/*    background-color: #FFD800;*/
/*}*/

/*.red.round {*/
/*    background-color: red;*/
/*}*/

/*.blue.round {*/
/*    background-color: #477998;*/
/*}*/

.esplanade.round, .tag.esplanade {
    background-color: #FF8552;
}

.parc.round, .tag.parc {
    background-color: #A6D473;
}

.street.round, .tag.street {
    background-color: #7EC5F1;
}

.rue {
    top: -3px;
    left: 75px;
    font-weight: 100;
    font-size: 20px;
    color: white;
    padding: 5px 15px;
    display: none
}

.round:hover .rue {
    display: block;
}

.green .rue {
    background-color: #FFD800;
}

.red .rue {
    background-color: red;
}

.blue .rue {
    background-color: #477998;
}

.anims {
    font-size: clamp(20px, 2vw, 25px);
    font-weight: bold;
}

.img-anim {
    width: 35%;
    height: auto;
}

.title-horaire {
    font-size: clamp(30px, 4vw, 60px) !important;
}

.programme .section-title {
    font-size: clamp(3rem, 4vw, 4.2rem);
    margin-bottom: 1em;
}

.programme .horaire-section {
    margin: 75px 0;
}

.programme .horaire-section .item.card-partenaire {
    padding: 2rem;
    position: relative;
}

.programme .horaire-section .item h3 {
    font-size: 1.75rem;
}

.programme .horaire-section .item .time {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--green);
    margin-bottom: .5rem;
}

.programme .horaire-section .tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 10px;
    height: 10px;
    border-radius: 100%;
}

    /******************************************** Page Plan ********************************************/

.plan-design {
    width: 100%;
    margin: 2em 0;
}

.plan-design img {
    width: 100%;
}


/******************************************** Page Accessibilité ********************************************/

.files-section .card-partenaire  {
    text-align: center;
}

.files-section .card-partenaire h2 {
   color: #1E1E24;
}

.files-section .card-partenaire .cta {
    background-color: var(--red);
    padding: 10px 20px;
    border-radius: 10px;
    color: white;
}

/******************************************** Page Mobilité ********************************************/

.mobilite h2 {
    font-size: clamp(40px, 2.5vw, 90px);
    color: var(--black);
}

.mobilite button,
.mobilite-app button {
    margin-left: 15px;
    background-color: #e0ecaa;
    border: none;
    padding: 10px 30px;
    border-radius: 10px;
    color: var(--text);
    font-weight: bold;
}

.mobilite button:hover {
    background-color: var(--green);
}

.active-button {
    background-color: var(--green) !important;
}

.howToGo {
    background-color: var(--beige);
}

.howToGo img {
    width: 200px;
}

.howToGo p {
    font-size: 20px
}

.navette {

    padding: 20px;
    width: 100%;
    text-align: center;
}

.nav2 {
    border: 2px solid var(--green);
    color: var(--green);
}

.nav1 {
    border: 2px solid red;
    color: red;
}

.nav1 h3,
.nav1 h4 {
    color: red;
}

.navette {
    width: 100%;
    height: auto;
}

/******************************************** Page Partenaires ********************************************/

.partenaires .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.partenaires .tag {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 14px;
    margin-right: 5px;
    font-weight: bold;
    color: white;
    background-color: gray; /* Default color */
}

.card-partenaire {
    position: relative;
}

.card-partenaire .tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.partenaires .tag.animations {
    background-color: var(--green);
}

.partenaires .tag.food {
    background-color: var(--red);
}

.partenaires .tag.shows {
    background-color: var(--yellow);
}

.partenaires select,
.partenaires-app select {
    background-color: var(--beige);
    padding: 10px 20px;
    border: none;
    font-size: clamp(16px, 2vw, 18px);
    border-radius: 10px;
}

.partenaires-app select {
    width: 100%;
}

.container.padding-top {
    padding-top: 10rem;
}

.card-partenaire {
    padding: 70px 30px 40px 30px;
    border-radius: 10px;
    background-color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #E9E9E9;
}


.card-partenaire.animations {
    border: 2px solid var(--green);
    background-color: rgba(168, 190, 74, .05);
}

.card-partenaire.food {
    border: 2px solid var(--red);
    background-color: rgba(210, 55, 42, .05);
}


.card-partenaire.shows {
    border: 2px solid var(--yellow);
    background-color: rgba(251, 216, 58, .05);
}

/*.card-partenaire .tag {*/
/*    background: var(--green);*/
/*    padding: .5rem .75rem;*/
/*    border-radius: 10px;*/
/*    text-align: center;*/
/*    color: white;*/
/*    font-weight: 500;*/
/*    font-size: 15px;*/
/*}*/

.new-acti {
    top: 0;
    right: 0;
}

.card-partenaire img {
    margin-bottom: 30px;
    max-height: 90px;
    object-fit: contain;
}

.card-partenaire.bigger img {
    max-height: 110px;
    max-width: 85%;
}

.card-partenaire.smaller img {
    max-height: 60px;
}

.card-partenaire h3 {
    text-align: center;
    color: #1E1E24;
}

.partenaires h2 {
    font-size: clamp(1.8em, 2vw, 3em);
}

.partenaires h2.section-title {
    font-size: clamp(2rem, 4vw, 4.2rem);
}

.partenaires h3 {
    font-size: clamp(1.5em, 1.5vw, 2.5em);
}

.partenaires .shows-list {
    margin-bottom: 75px;
}

.partenaires .shows-list .item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #E9E9E9;
    padding: 1.5rem 0;
    gap: 2rem;
}

.partenaires .shows-list .item .schedule {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--green);
    margin-bottom: 0;
}

.partenaires .shows-list .item .stage {
   padding-left: 1rem;
    margin-bottom: 0;
    position: relative;
}

.partenaires .shows-list .item .stage::before {
    width: 10px;
    height: 10px;
    border-radius: 100%;
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.partenaires .shows-list .item .stage.street::before {
background-color: #7EC5F1;
}

.partenaires .shows-list .item .stage.esplanade::before {
    background-color: #FF8552;
}

.partenaires .shows-list .item .stage.parc::before {
    background-color: #A6D473;
}

.partenaires .shows-list .item:first-of-type {
margin-top: 0;
}

.partenaires .shows-list .item h3 {
   font-size: 2.25rem;
    color: #1E1E24;
}


.partenaires .shows-list .item img {
    width: 100%;
    max-width: 300px;
    height: auto;
}

.partenaires .shows-list .item .content-wrapper {
    max-width: 700px;
}

.organisation .grid {
    width: min(100%, 100%);
}

.info-activite {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    z-index: 9;
    width: 50vw;
    padding: 25px;
    box-shadow: 2px 2px 7px #808080a3;
}

.small-picture {
    height: 40px !important;
}

.activite-content {
    width: 100%;
    height: 100%;
}

.close-acti {
    top: 0px;
    right: 0px;
    font-size: 25px;
    cursor: pointer;
}

.info-acti {
    top: 23px;
    left: 125px;
    color: grey;
    font-size: 20px;
    cursor: pointer;
}

.info-acti2 {
    left: 30px !important;
}

.stand {
    top: 20px;
    left: 30px;
    color: var(--text);
    font-weight: bold;
}

/******************************************** Page Engagements ********************************************/

.engagements {
    background: var(--green);
}

.engagements-app .little-tree {
    width: 1em;
}

.engagements-app .tree-count-wrapper {
    top: 15px;
    right: 15px;
    z-index: 99;
    font-size: clamp(30px, 2.5vw, 45px);
    color: white;
    font-family: 'Bloomer DEMO'
}

.engagements .container {
    z-index: 3
}

.engagements img.logo {
    width: 150px;
    position: absolute;
    top: 15px;
    left: 15px;
}

.engagements img.tree {
    position: absolute;
    bottom: -4%;
    left: 50%;
    /* width: clamp(570px, 45vw, 800px); */
    width: 0;
    transition: 1.5s cubic-bezier(1, 0, 0.5, 1);
    transform: translate(-50%, 0);
    z-index: 0
}

.engagements h1 {
    color: white;
    font-size: clamp(65px, 5vw, 7em);
    text-align: center;
}

.subtitle-engagement {
    color: white;
    text-align: center;
}

.engagements h1 span:first-of-type {
    font-size: .4em
}

.engagements .btn-engagement {
    border: none;
    padding: 10px 25px;
    background: white;
    color: var(--green);
    font-family: 'Bloomer DEMO';
    font-size: clamp(25px, 5vw, 2.5em);
    transition: .3s ease-in-out;
}

.engagements .btn-engagement:hover {
    transform: scale(.9);
}


.engagements-app menu {
    width: 100vw;
    height: auto;
    position: fixed;
    bottom: 0;
    left: 0;
    margin: 0;
    padding-top: clamp(10px, 2vw, 20px);
    padding-bottom: clamp(10px, 2vw, 20px);
    background: var(--beige);
    z-index: 998;
    display: none;
    color: var(--text);
    font-family: 'Bloomer DEMO';
}

.engagements-app menu span {
    font-size: clamp(10px, 4vw, 1.5em);
}

.engagements-app .app-section-divider {
    width: 100%;
    height: 2px;
    background: var(--text);
    opacity: .1;
    margin: 2em 0;
}

.engagements-app .link-icon {
    width: clamp(30px, 5vw, 50px);
}

.engagements-app .app-section {
    padding: 50px 0 150px 0;
    display: none;
}

.engagements-app .app-section.partenaires-app {
    display: none;
}

.engagements-app .app-link.is-active span::before {
    background: var(--text);
    width: 100%;
    height: 3px;
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
}

.engagements .success {
    font-family: 'Bloomer DEMO';
    color: white;
    font-size: clamp(45px, 5vw, 7em);
    text-align: center;
    line-height: 1.1;
}

.mobilite-app h3 {
    font-size: clamp(30px, 2.5vw, 70px);
    color: var(--black);
}

.conditions {
    font-weight: 500;
    text-decoration: underline;
}
.banner-concours {
    height: 60vh;
    background-color: var(--green);
}
.leaves {
    width: 100%;
}
.leaves .left {
    left: 0;
    top: 0;
}
.leaves .right {
    right: 0;
    top: 0;
}
.leaves .happy-right {
    right: 0;
    top: 30vh;
}
.leaves h2 {
    color: white;
    left: 50%;
    transform: translate(-50%);
    font-size: 19.5vw;
    top: 15vh;
}
#ancre-concours .container{
    padding-top: 15vh;
}
#ancre-concours .container li {
    list-style: none;
}
#ancre-concours .container h2 {
    font-size: 15vw;
}
#ancre-plan .plan-design img {
    width: 100%;
}
#ancre-concours button {
    border: none;
    border-radius: 10px;
    background-color: var(--green);
    color: white;
    padding: 10px 20px;
}
#ancre-concours span a {
    text-decoration: underline;
}
.instag {
    width: 30px;
    margin-left: 10px
}
/******************************************** Media Queries ********************************************/

@media (max-width: 1680px) {

    /* section.why,
    section.who {
        height: 100vh;
    } */

    .why .background {
        top: -20%;
    }

    .who .background {
        top: -30%;
    }

}

@media (max-width: 1440px) {

    .banner img, .banner-all img {
        height: auto;
    }

    .who .background {
        top: -15%;
    }

    section.animations {
        margin-top: 50px;
    }
}

@media (max-width: 1280px) {

    section.who {
        height: auto;
        margin-bottom: 100px;
    }

    section.why{
        height: auto;
    }

    .why .background {
        top: 5%;
    }

    .who .background {
        top: -15%;
    }

    section.animations {
        margin-top: 0px;
    }

    .who .background {
        top: -20%;
    }

    section.who {
        margin-top: 200px;
    }

}

@media (max-width: 1260px) {
    .programme .info {
        width: 70vw;
    }

    .who .label-access {
        height: 180px;
        margin-left: 30px;
    }
}

@media (max-width: 1152px) {

    section.homepage-partenaires {
        margin: 200px 0 100px;
    }

    .homepage-partenaires .subtitle,
    .revivre .subtitle,
    .organisation .subtitle {
        width: 100%;
    }

    .organisation .grid {
        grid-template-areas:
            'one two two'
            'three three four'
            'five six six'
            'seven seven eight'
            'nine ten eleven'
    }
}

@media (max-width: 1024px) {

    .partenaires .shows-list .item h3 {
        font-size: 1.8rem;
    }

    .partenaires .shows-list .item {
        flex-direction: column;
        align-items: start;
        gap: .5rem;
    }

}


@media (max-width: 1000px) {
    menu .logo {
        width: 120px;
    }
}

@media (max-width: 992px) {

    .why img, .who img {
        max-height: unset;
    }


    .container.padding-top {
        padding-top: 0;
    }

    section.animations {
        background-attachment: unset;
    }

    .banner .wrapper {
        top: 30px;
    }

    .homepage-partenaires .background {
        opacity: .05 !important;
        width: 100%;
        border-top-right-radius: 0;
    }

    .homepage-partenaires .container {
        padding-bottom: 50px;
    }

    .programme hr {
        margin-top: 1.5rem;
    }

    .banner-all {
        margin-top: 50px;
    }

    section.organisation {
        padding: 5em 0 1em;
    }

    footer img.logo {
        width: 200px;
    }

    section.why,
    section.who,
    section.homepage-partenaires {
        height: auto;
    }

    section.animations {
        height: auto;
        padding: 5em 0;
    }

    section.animations,
    section.who,
    section.why,
    section.homepage-partenaires,
    section.revivre {
        margin-top: 75px;
    }

    section.homepage-partenaires {
        margin-bottom: 0;
    }

    .banner .subtitle {
        width: 100%;
        margin-top: .5em
    }

    .revivre .section-title,
    .organisation .section-title {
        text-align: center;
    }

    .revivre img.top-right {
        width: 45%;
    }

    .revivre img.top-left,
    .revivre img.bottom-left {
        width: 22%;
    }

    .revivre img.bottom-right {
        width: 32%;
    }

    .revivre .play-button {
        width: 25%;
    }

    .homepage-partenaires .slick-wrapper {
        position: static;
        width: 100%;
    }

    .revivre .section-wrapper {
        height: 60vh;
    }

    .slick-dots li button {
        width: 10px;
        height: 10px;
    }

    .programme .info {
        width: 90vw;
        top: 40%;
    }

}


@media (max-width: 768px) {

    footer .row {
        padding: 0.8em 0;
        margin-top: 1.3em;
    }

    footer img.mail,
    footer img.map {
        width: 30px;
    }

    footer img.facebook {
        width: 20px;
    }

    menu {
        padding: 0
    }

    menu ul {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100vw;
        height: 100vh;
        background-color: white;
        z-index: 999;
    }

    menu ul li {
        display: block;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .underline {
        bottom: -2px;
        height: 4px;
    }

    menu ul li a {
        font-size: 3rem;
        color: white;
        line-height: 1;
        font-family: 'Bloomer DEMO'
    }

    menu ul li a:hover {
        color: white;
    }

    menu ul li.cadeau a {
        font-size: 1.2rem;
    }

    menu ul li.cadeau {
        margin-top: .7em;

    }

    svg.mal-entendants path {
        fill: white;
    }

    .hamburger {
        z-index: 9999;
    }

    .navbar {
        flex-direction: column;
        justify-content: center;
    }

    .navbar li {
        margin-bottom: 20px
    }

    .hamburger-inner,
    .hamburger-inner::before,
    .hamburger-inner::after {
        background-color: var(--text);
        outline: none;
    }

    .hamburger.is-active .hamburger-inner,
    .hamburger.is-active .hamburger-inner::before,
    .hamburger.is-active .hamburger-inner::after {
        background-color: white;
        opacity: 1;
    }

    .menuResp.open {
        right: 0;
        animation-name: menuOpen;
        animation-duration: .5s;
        animation-delay: 0s;
        animation-timing-function: ease-in-out;
        padding: 0;
        background: var(--green);
    }

    .why .subtitle,
    .why .cta,
    .who .subtitle,
    .who .cta,
    .homepage-partenaires .cta,
    .who .bullet-list {
        font-size: 16px;
    }

}


@media (max-width: 600px) {

    .who .label-access {
        height: 300px;
        margin-left: 0;
    }

    .banner .subtitle-adresse {
        width: 100%;
        font-size: clamp(20px, 1.7vw, 1.8em);
        line-height: 1.2;
    }

    .card-partenaire {
        padding: 75px 10px 10px;
    }

    .files-section .card-partenaire  {
        padding: 2rem 1rem;
    }

    .card-partenaire p {
        text-align: center;
        line-height: 1.3;
    }

    .organisation .wrapper img {
        height: 40px;
    }

    .organisation .wrapper img.bigger {
        height: 80px;
    }

    .engagements img.logo {
        width: 100px;
    }

    .engagements-app .app-section {
        padding: 35px 0 75px 0;
    }

    .banner-all img,
    .banner img {
        height: 300px;
        object-fit: cover;
    }

    /* section.mobilite,
    section.plan,
    section.partenaires {
        margin: 35px 0;
    } */

    .mobilite .input-wrapper,
    .mobilite-app .input-wrapper {
        width: 50%
    }

    .mobilite .buttons,
    .mobilite-app .buttons {
        flex-direction: column;
    }

    .mobilite .wrapper,
    .mobilite-app .select-wrapper {
        width: 100%;
    }

    .mobilite button,
    .mobilite-app button {
        margin-left: 0;
        margin-bottom: .5em;
        width: 100%;
    }

    .banner-all p {
        font-size: 16px
    }

    .subtitle {
        font-size: 16px;
    }

    .organisation .grid {
        grid-gap: .5rem;
        grid-template-areas:
            'one'
            'two'
            'three'
            'four'
            'five'
            'six'
            'seven'
            'eight'
            'nine'
            'ten'
            'eleven'
    }

    .organisation .grid .grid-item {
        height: 110px;
    }

    .organisation .grid .grid-item img {
        height: 100%;
        object-fit: contain
    }


    .homepage-partenaires .wrapper {
        margin: 0 3px;
        padding: 1em;
    }

    .programme .info {
        position: static;
        background-color: unset;
        padding: 0;
        box-shadow: none;
        top: unset;
        left: unset;
        transform: none;
    }

    .rue {
        top: 26px;
        left: 50%;
        transform: translate(-50%);
    }

    .info-activite {

        width: 95vw;
    }
    .img-anim {
        width: 100%;
        height: auto;
    }

    .link-app {
        display: flex;
    }
}