@charset "utf-8";
/* CSS Document */

:root {
    --main-color-bleu: #1c647b;
    --main-color-beige: #f1dec1;
    --main-color-gris: #bcbdc0;
    
    --main-border-radius : 20px;
}



* {margin: 0; padding: 0; border: 0;}
img {display: block;}

html { scroll-behavior: smooth; -webkit-scroll-behavior: smooth;}

body {font-family: "Roboto Slab", serif; line-height: 1.4; color: var(--main-color-bleu);}

.div-inner {position: relative; margin: 0 15%;}
.espace-blocs { padding-top: 5vw; padding-bottom: 5vw;}
.cols {display: flex; gap: 14vw; position: relative;}
.col {width: calc(50% - 7vw); padding: 1vw 0;}

.btn-arrondi {display: inline-block; padding: 20px 30px; border-radius: var(--main-border-radius); background-color: var(--main-color-bleu); color: #fff; text-decoration: none; font-size: 20px; position: relative;}
.btn-arrondi:hover {background-color: var(--main-color-beige); color: var(--main-color-bleu);}

.btn-dl, .btn-lien {padding-right: 80px !important;}
.btn-dl::after, .btn-lien::after {position: absolute; content: ""; right: 20px; top: 50%; transform: translateY(-50%); background-size: cover;}
.btn-dl::after {width: 25px; height: 25px; background: url("../images/icons/download.svg") no-repeat;}
.btn-lien::after {width: 25px; height: 17px; background: url("../images/icons/fleche.svg") no-repeat;}


h1, h2, h3 {line-height: 1.1;}
h1 {font-size: 80px; margin-bottom: 70px;}
h2 {font-size: 55px; margin-bottom: 50px;}
.espace-blocs h2 {padding: 0 20px;}
h3 {font-size: 35px; margin-bottom: 20px;}

#contenu p, #contenu ul {font-size: 22px; padding-bottom: 30px;}
#contenu p:last-child, #contenu ul:last-child {padding-bottom: 0;}
#contenu ul {list-style: none;}
#contenu ul li {position: relative; padding-left: 20px;}
#contenu ul li::before {position: absolute; content: "-"; top: 0; left: 0;}
#contenu .p-big {font-size: 36px; font-weight: 300;}



/***** color filters *****/

/* bleu */
#zone-top-livres, .btn-dl:hover::after, #activites-lien .btn-arrondi::after, .btn-lien:hover::after, #lien-facebook img {filter: brightness(0) saturate(100%) invert(30%) sepia(62%) saturate(669%) hue-rotate(148deg) brightness(88%) contrast(81%);}

/* beige */
#zone-stats::before, .btn-dl::after, #activites-lien .btn-arrondi:hover::after, .impliquer-image img, .btn-lien::after, #lien-facebook:hover img {filter: brightness(0) saturate(100%) invert(87%) sepia(33%) saturate(309%) hue-rotate(329deg) brightness(104%) contrast(89%);}






header {position: fixed; width: 100%; z-index: 999;}
header .div-inner {}
#header-nav {display: flex; align-items: center; padding: 2vw 0;}
#header-logo {width: 15%;}
#header-logo img {width: 100%; height: auto;}

#header-menu { margin-left: auto;}
#header-menu ul {display: flex; list-style: none;}
#header-menu li {margin-right: 40px;}
#header-menu li:last-child {margin-right: 0;}
#header-menu a {text-decoration: none; color: var(--main-color-bleu); font-size: 20px; padding: 10px; position: relative; display: block; line-height: 1.1;}
#header-menu a::after {height: 0; position: absolute; content: ""; bottom: 0; left: 0; width: 100%; background-color: var(--main-color-bleu); border-radius: 3px;}
#header-menu a:hover::after {height: 4px;}

#header-adhesion {position: absolute; top: 0; right: 0; color: #fff; background-color: var(--main-color-bleu); padding: 15px 20px; text-transform: uppercase; text-decoration:  none; border-radius: 0 0 var(--main-border-radius) var(--main-border-radius);}
#header-adhesion:hover {background-color: var(--main-color-beige); color: var(--main-color-bleu);}

.header-scroll #header-logo {width: 0;}
.header-scroll #header-logo img {opacity: 0; width: 10px;}
.header-scroll #header-menu ul {margin-right: 250px;}
.header-scroll #header-nav { padding: 10px 0;}
.header-scroll {background-color: rgba(255,255,255,0.9);}


#zone-top { padding: 20vw 0 10vw 0; overflow: hidden; position: relative;}
#zone-top-contenu {position: relative; z-index: 3; width: 45%;}
#zone-top-contenu p {font-size: 26px;}
#zone-top-livres, #zone-top-nuages, #zone-top-nuages::after {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
#zone-top-livres {z-index: 2; background: url("../images/envol-livres.png") bottom -3vw right 15vw no-repeat; background-size: 42% auto;}
#zone-top-nuages {z-index: 0; background: url("../images/apet-nuages.jpg") bottom center no-repeat; background-size: cover;}

#zone-top-nuages::after {content: ""; z-index: 1; background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));}


#zone-stats-plus {background-color: var(--main-color-bleu); color: #fff; padding-top: 0;}
#zone-stats-plus .div-inner {z-index: 2;}
#zone-stats-plus h2 {text-align: center;}
#zone-stats {text-align: center; padding-bottom: 8vw; padding-top: 5vw; position: relative;}
#zone-stats::after, #zone-stats::before {position: absolute; content: "";}
#zone-stats::before {width: 50px; height: 34px; bottom: 60px; left: 50%; background: url("../images/icons/fleche.svg") no-repeat; background-size: cover; z-index: 1; transform: translateX(-50%) rotate(90deg); transform-origin: center center;}
#zone-stats::after { bottom: 0; left: 0; width: 100%; height: 100%; background: url("../images/stats-bg.png") bottom center no-repeat; background-size: cover; z-index: 0;}
#zone-stats .div-inner { display: flex; gap: 6vw;}
.zone-stats-element {width: calc(25% - 4.5vw);}
.zone-stats-chiffre {color: var(--main-color-beige); font-size: 100px; margin-bottom: 10px; font-weight: bold;
display: inline-block;
font-variant-numeric: tabular-nums; /* makes numbers align better visually */}
.zone-stats-element p {padding-bottom: 0;}
#zone-stats-plus .cols {margin-top: 2vw;}
#zone-stats-plus .cols::after {position: absolute; content: ""; top: 0; left: 50%; width: 1px; height: 100%; background-color: rgba(255,255,255,0.4);}
#zone-stats-plus .col h3 {color: var(--main-color-beige);}
#zone-stats-plus .col .p-big {color: var(--main-color-beige);}


.zone-temoignage {position: relative;}
.zone-temoignage .col:first-child::before {position: absolute; content: ""; top: -50px; left: -150px; width: 200px; height: 200px; background: url("../images/temoignage-bg.png") no-repeat; background-size: cover; opacity: 0.1;}
.temoignage-titre {padding-bottom: 30px; margin-bottom: 30px; position: relative; letter-spacing: 2px; opacity: 0.8; font-size: 20px;}
.temoignage-titre::before {width: 300px; height: 1px; content: ""; position: absolute; bottom: 0; left: 0; opacity: 0.3; background-color: var(--main-color-bleu); z-index: 0;}
.temoignage-nom {font-weight: bold; font-size: 34px;}
.temoignage-poste {font-size: 30px; font-weight: 200;}
.zone-temoignage p {font-style: italic; line-height: 1.6; position: relative; z-index: 1;}
.zone-temoignage p:last-child {padding-bottom: 0;}


#zone-services {}
#zone-services-carousel {position: relative;}
.service-element {width: 100%;}
.service-element.is-selected {height: 100%;}
.service-element-inner {background-color: var(--main-color-bleu); position: relative; z-index: 2; margin-right: 15vw; padding: 3vw; width: calc(50% - 21vw); margin-left: 50%;}
.service-element h2 {color: var(--main-color-beige); padding: 0;}
.service-element p {color: #fff;}
.service-element-image {position: absolute; z-index: 1; width: 100%; height: 100%; top: 0; left: 0;}
.service-element-image img {width: 100%; height: 100%; object-fit: cover; object-position: center center;}

#zone-services .flickity-page-dots { bottom: 30px;}
#zone-services .flickity-page-dots .dot {background-color: var(--main-color-beige);}
#zone-services .flickity-button {background-color: transparent; width: 100px; height: 100px; color: var(--main-color-beige);}



#zone-activites {position: relative; overflow: hidden; background-color: #d2e0e5;}
#zone-activites::after {content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background: url("../images/logo-picto-bg.png") bottom left no-repeat; background-size: cover; z-index: 0; opacity: 0.1;}
#zone-activites .div-inner {z-index: 2; padding-left: 10%;}

#activites-lien {text-align: right; margin-bottom: 80px;}
#activites-lien .btn-arrondi {background-color: var(--main-color-beige); color: var(--main-color-bleu); border: 1px solid var(--main-color-bleu);}
#activites-lien .btn-arrondi:hover {background-color: var(--main-color-bleu); color: #fff;}

#zone-activites h2 {}

.apet-accordion {margin-bottom: 3vw;}
 #activites-permanentes .apet-accordion-contenant {background-color: var(--main-color-bleu); color: #fff;}
 #activites-speciales .apet-accordion-contenant {background-color: #fff;}
.apet-accordion-contenant { border-radius: var(--main-border-radius); margin-bottom: 20px; border: 1px solid var(--main-color-bleu);}
.apet-accordion-contenant:has(.ui-state-active) {background-color: var(--main-color-beige) !important; color: var(--main-color-bleu) !important; border: 1px solid var(--main-color-beige);}

.ui-accordion-header-icon {display: none;}

.apet-accordion-titre, .apet-accordion-contenu { padding: 30px;}
.apet-accordion-titre {cursor: pointer; position: relative; align-items: center; padding: 30px;}
.apet-accordion-titre, .apet-accordion-contenu {display: flex; column-gap: 60px;}
.apet-accordion-titre-date {font-size: 20px;}
.apet-accordion-contenu {padding: 30px;}
.apet-accordion-contenu a {z-index: 1;}
.apet-accordion-contenu a:hover {background-color: #fff;}
.apet-accordion-titre::after {position: absolute; content: "+"; top: 50%; right: 20px; transform: translateY(-50%); font-size: 26px; width: 40px; height: 40px; text-align: center; line-height: 37px; border-radius: 50%;}
.apet-accordion-titre:hover::after {color: #000; background-color: #fff;}
.ui-state-active.apet-accordion-titre::after {transform: translateY(-50%) rotate(-135deg); transform-origin: center; font-size: 30px;}
.apet-accordion-titre h3 {margin-bottom: 0;}
.apet-accordion-titre-gauche, .apet-accordion-contenu-gauche {width: 28%;}
.apet-accordion-titre-droit, .apet-accordion-contenu-droit {width: 72%;}
.apet-accordion-titre h3, .apet-accordion-contenu-droit-inner {padding-right: 100px;}
.apet-accordion-titre-type {letter-spacing: 4px; opacity: 0.5; text-transform: uppercase; font-size: 14px;}
.apet-accordion-contenu-inner p:last-child {padding-bottom: 0 !important;}

.apet-accordion-contenu-gauche {}
.apet-accordion-contenu-gauche img {width: 100%; height: auto; object-fit: cover; object-position: center center; aspect-ratio: 1 / 1; border-radius: var(--main-border-radius); display: block;}
.apet-accordion-contenu-droit {}
.apet-accordion-contenu p {font-size: 18px;}
.apet-accordion-plain .apet-accordion-contenu p {font-size: 22px;}
.apet-accordion-spec {font-size: 18px; font-weight: 500; padding: 20px 0 20px 60px; background-size: 30px 30px; background-position: left center; background-repeat: no-repeat; border-bottom: 1px solid rgba(0,0,0,0.1);}
.apet-accordion-heure { background-image: url("../images/icons/horloge.svg");}
.apet-accordion-spec:last-of-type { margin-bottom: 40px; border: 0;}

#activites-calendrier-titre {color: #fff; position: absolute; font-size: 190px; opacity: 0.5; top: 0; left: 200px; padding-top: 2800px; z-index: 1;}
#activites-calendrier-titre-inner { transform: rotate(-90deg); transform-origin: left;}


#zone-equipe {background-color: var(--main-color-bleu); text-align: center; color: #fff;}
#zone-equipe h2 {}
#zone-equipe .p-big {color: var(--main-color-beige); margin-bottom: 80px;}
.equipe-liste {display: flex; flex-wrap: wrap; justify-content: center; gap: 80px; margin-bottom: 5vw;}
.equipe-liste:last-child {margin-bottom: 0;}
.equipe-element {width: calc(25% - 60px); font-size: 20px;}
.equipe-photo {border-radius: 50%; overflow: hidden; margin-bottom: 30px;}
.equipe-photo img {width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; object-position: center center;}
.equipe-poste {color: var(--main-color-beige);}
.equipe-nom {font-weight: bold; font-size: 30px;}
.equipe-courriel {}
.equipe-courriel a {color: var(--main-color-beige);}


#zone-impliquer {background-color: #0e3e4d; color: #fff; text-align: center;}
#zone-impliquer h2 {}
#zone-impliquer .div-inner {display: flex; gap: 6vw;}
.impliquer-element {width: calc( 25% - 1.5vw);}
.impliquer-element p {opacity: 0.7; margin-bottom: 20px;}
.impliquer-image  {width: 60%; margin-bottom: 20px; display: inline-block;}
.impliquer-image img {}


#zone-ressources {z-index: 0; background: url("../images/apet-nuages.jpg") bottom center no-repeat; background-size: cover; position: relative;}
#zone-ressources::after {position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ""; z-index: 1; background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));}
#zone-ressources .div-inner {z-index: 2;}

#zone-ressources h2 {text-align: center;}
#ressources-cols {display: flex; gap: 6vw;}
.ressource-col {width: calc((100% / 3) - (6vw / 3));}
.ressource-col a {display: block; margin-bottom: 10px;}
.ressource-col h3 {}

#ressource-liens .btn-arrondi {}


footer { display: flex; align-items: center;}
#footer-gauche { font-size: 30px; padding-left: 15vw; padding-right: 10vw; width: calc(50% - 25vw);}
.footer-courriel, .footer-tel, .footer-adresse {background-repeat: no-repeat; background-position: top left; background-size: 50px 50px; padding-left: 100px;}
.footer-courriel, .footer-tel {padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid rgba(0,0,0,0.2);}
.footer-courriel {background-image: url("../images/icons/lettre.svg");}
.footer-courriel a { color: var(--main-color-bleu);}
.footer-tel {background-image: url("../images/icons/phone.svg"); }
.footer-adresse {background-image: url("../images/icons/pointer.svg");}

#footer-map {width: 50%;}
#footer-map iframe {border-radius: var(--main-border-radius) 0 0 var(--main-border-radius); width: 100%; height: 600px;}

#lien-facebook {width: 80px; height: 80px; display: block; background-color: var(--main-color-beige); position: relative; margin-top: 50px; border-radius: var(--main-border-radius);}
#lien-facebook:hover {background-color: var(--main-color-bleu);}
#lien-facebook img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 60%; height: auto;}


.contenu-404 {padding-top: 500px;}



/***************** TRANSITIONS ******************/

/* rapide */

a, a:not(.btn-arrondi)::after, button, .apet-accordion-contenant, .apet-accordion-titre::after {
-webkit-transition: 0.3s;
-moz-transition: 0.3s;
-o-transition: 0.3s;
-ms-transition: 0.3s;
transition: 0.3s;
}

/* lente */

header, #header-nav, #header-logo, #header-logo img, #header-menu ul {
-webkit-transition: 0.8s;
-moz-transition: 0.8s;
-o-transition: 0.8s;
-ms-transition: 0.8s;
transition: 0.8s;
}

