:root {
	--theme-bleu-sombre: #182939;
	--theme-bleu: #314152;
	--theme-orange: #FF7D40;
	--theme-vert: #12B2AA;
	--theme-blanc: white;
	
	--hauteur-nav-desktop-xxl:180px;
	--hauteur-nav-desktop-xl:180px;
	--hauteur-nav-tablette:160px;
	--hauteur-nav-mobile:115px;

	--container-max-width:1400px;
}

/* Gestion spéciale du responsive pour la class --container-max-width */
@media (max-width: 1200px) {
	:root{
		--container-max-width:1200px;
	}
}

@media (max-width: 992px) {
	:root{
		--container-max-width:100%;
	}
}

/***************************************************************************/
/*************** UTILITAIRES *****************/

/***** 		Les liens 		*****/
a {
	color:white;
	text-decoration: none;
}

a:focus, a:hover{
	color:var(--theme-bleu);
	text-decoration: none;
}

/***** 		Les fonds 		*****/
.fond-blanc {
	background-color: white;
	color: #333;
}

.fond-blanc a {
	color: var(--theme-bleu-sombre);
}

.fond-matiere-bleu {
	background-image: url(img/fond-matiere-bleu.jpg);
	background-size: cover;
}

.fond-matiere-bleu-py {
	background-image: url(img/fond-matiere-bleu-py.jpg);
	background-size: contain;
}

.fond-bleu { background-color: var(--theme-bleu); }
.fond-bleu-sombre { background-color: var(--theme-bleu-sombre); }

.fond-matiere-orange {
	background-image: url(img/fond-matiere-orange.jpg);
	background-size: cover;
}

.fond-matiere-orange-py {
	background-image: url(img/fond-matiere-orange-py.jpg);
	background-size: contain;
}

.fond-orange { background-color: var(--theme-orange); }

.fond-matiere-vert {
	background-image:url(img/fond-matiere-vert.jpg);
	background-size: cover;
}

.fond-matiere-vert-py {
	background-image:url(img/fond-matiere-vert-py.jpg);
	background-size: contain;
}

.fond-vert { background-color: var(--theme-vert); }

.fond-degrade-beige {
	background-image: url(img/fond-degrade-beige.jpg);
	background-size: cover;
}

.fond-degrade-beige-py {
	background-image: url(img/fond-degrade-beige-py.jpg);
	background-size: contain;
}

.realisation.carte {
	padding:0;
}

.carte__titre,
.carte__description {
	text-transform: uppercase;
	margin: 0;
}

.color-bleu,
.carte__description {
	color: var(--theme-bleu);
}

.button-prev, .button-next,
.button-prev::before, .button-next::after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.button-prev, .button-next {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.precedent_suivant .button-prev, .precedent_suivant .button-next,
.precedent_suivant .button-prev::before, .precedent_suivant .button-next::after {
	font-size: 36px;
}

/******
		ELEMENT grille texte chasse
		2 colonnes : | Image | titre / description / texte |
		En version mobile, le texte chasse sous l'image 
*****/
.grid__texte-chasse {
		grid-template-areas: "icon titre"
											   "icon description"
											   "texte texte";
		grid-template-columns: 1fr 5fr;
		grid-template-rows: auto auto auto;
		row-gap: 0;
}

.grid__texte-chasse .carte__icon { grid-area: icon; }
.grid__texte-chasse .carte__titre { grid-area: titre; }
.grid__texte-chasse .carte__description { grid-area: description; }
.grid__texte-chasse .carte__texte { grid-area: texte; }

@media (min-width: 576px) {
	.grid__texte-chasse {
			grid-template-columns: 1fr 4fr;
			grid-template-areas: "icon titre"
												   "icon description"
												   "icon texte";
	}
}

/*********************************** HEADER *************************************/
header {
/*	background:url(img/footer-fond-320.jpg) repeat white;
	background-position: bottom center;*/
}

.js-nav.over {
	background-color: var(--theme-bleu-sombre);
	background-position: bottom center;
}

.header__nav {
	justify-content: flex-end;
}

.header__items {
	display:grid;
	grid-template-columns: 2fr 9fr 1fr;
	align-items: flex-start;
}

ul.menu-liste.menu-items{
	width:85%;
	max-width: 720px;
	display: flex;
	justify-content: space-around;
	padding-left:0;
}

.menu-items__item.on,
.menu-items__item:hover  {
	font-weight:400;
}

body:not(.menu-is-open) header .menu-items__item.on,
body:not(.menu-is-open) header .menu-items__item:hover  {
	font-weight:400;
	border-top: solid 10px var(--theme-orange);
	padding-top: 8px;
}

body:not(.menu-is-open) header .menu-items__item:not(on) {
	padding-top: 18px;
}

.menu-liste.menu-items a {
	text-transform: uppercase;
	color: white;
}

@media (max-width: 992px) {
	.header__nav {
		background-color:var(--theme-bleu-sombre);
	}

	.header__nav.open {
		border-bottom: solid 1px #222;
	}
	
	.header__items {
		grid-template-columns: 2fr 3fr;
	}

	ul.menu-liste.menu-items {
		flex-direction: column;
		gap:8px;
	}

	header .menu-items__item.on a,
	header .menu-items__item:hover a {
		color: var(--theme-orange);
	}
}

@media (min-width: 576px) {
	.header__items {
		grid-template-columns: 4fr 5fr;
	}
}

.burger {
	width:50px;
}

.burger span {
	background-color: var(--theme-orange);
	height: 6px;
	margin: 6px 0;
}

/*********************************** FOOTER *************************************/

footer {
	background:url(img/footer-fond.jpg) repeat white;
}

.grid__footer {
  column-gap: 1rem;
  justify-items: center;
}

@media screen and (min-width: 992px) {
  .grid__footer {
    grid-template-columns: 2fr 2fr 2fr;
    column-gap: 2rem;
    justify-items: flex-start;
  }
}

footer .menu-liste.menu-items{
	display:grid;
	flex-direction: column;
	gap:1rem;
}

.copy_credits {
  display: flex;
  justify-content: space-between;
  color: #ccc;
}

.copy {
	color:#ccc;
}

footer a {
 color:white;
}

footer .menu-items__item.on a,
footer .menu-items__item a:hover  {
	color: var(--theme-orange);
}

/*********************************** CONTENUS *************************************/
.grid-31mille{
	grid-template-columns: 1fr;
	gap:0;
	color: white;
}

.zone1 {
	grid-area: 1 / 1 / 3 / -1;
}

.zone2 {
	grid-area: 3 / 1 / 4 / -1;
}

.zone3 {
	grid-area: 4 / 1 / 5 / -1;
}

.zone4 {
	grid-area: 5 / 1 / 6 / -1;
}

.zone5 {
	grid-area: 6 / 1 / 7 / -1;
}

.fond-perroquet-accueil {
	grid-area : 1 / 1 / 5 / -1;
	background: url(img/perroquet-accueil.png) no-repeat 0 0;
	background-size: contain;
	background-position-y: -54px;
  background-position-x: -45px;
}

.fond-perroquet-realisations {
	grid-area : 1 / 1 / 5 / -1;
	background: url(img/perroquet-realisations.png) no-repeat 0 0;
	background-size: auto;
}

.fond-perroquet-prestations {
	grid-area : 1 / 1 / 5 / -1;
	background: url(img/perroquet-prestations.png) no-repeat 0 0;
	background-size: contain;
	background-position-x: -45px;
}

.fond-perroquet-article {
	grid-area : 1 / 1 / 3 / -1;
	background: url(img/perroquet-generique.png) no-repeat 0 0;
	background-size: auto;
}

@media screen and (min-width:576px) {
	.fond-perroquet-accueil,
	.fond-perroquet-realisations,
	.fond-perroquet-prestations,
	.fond-perroquet-article {
		background-size: auto;
	}
}

/*******		 ACCUEIL			*******/
.area-header{
	grid-area: 1 / 1 / 2 / -1;
}

.area-intro {
	grid-area: 2 / 1 / 3 / 4;
	color:white;
	grid-template-columns: 4fr 7fr 1fr;
}

.area-texte {
	grid-area: 3 / 1 / 4 / -1;
}

.area-contact {
	grid-area: 2 / 1 / 5 / -1;
	justify-content: center;
	color:white;
}

.intro-accueil{
	grid-area : 1 / 2 / 2 / 3;
}

.area-center {
	max-width: 800px;
	justify-content: center;
}

.area-passevue-accueil{
	grid-area: 3 / 1 / 4 / 4;
	color: white;
	grid-template-columns: 2fr 9fr 1fr;
}

.passevue-accueil{
	grid-area : 1 / 2 / 2 / 3;
	justify-items: end;
}

.area-clients{
	grid-area: 4 / 1 / 5 / 4;
	color: white;
}

@media (max-width: 992px) {
	.area-intro-accueil{
		grid-template-columns: 1fr;
	}

	.intro-accueil{
		grid-area : 1 / 1 / 2 / 3;
	}

	.passevue-accueil{
		grid-area : 1 / 1 / 2 / 4;
		justify-items: end;
	}
}

.references {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap:3rem;
}

@media screen and (min-width: 576px) {
	.liste_realisations > div.ajaxbloc{
		display:grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 3rem;
	}

	.references {
	  gap:4rem;
	}
}

/***** 	FORMULAIRES 	*****/
.form-control {
	border: solid 1px var(--theme-primaire);
	border-radius: unset;
}


/**************************************************/
/* SURCHARGES PLUGINS  ===========================*/

/**** Liens réseaux sociaux */
.sociaux .socicon {
		background-color: white !important;
}

.sociaux .socicon:hover {
		background-color: var(--theme-orange) !important;
}

.socicon::before {
		color: black !important;
}

/**** Swiper */

.swiper {
	width: 100%;
	height: 100%;
}
					
.swiper-button-prev,
.swiper-button-next {
	bottom: 4%;
	color: var(--theme-orange) !important;
}

/**** Contact Libre *****/
.formulaire_contact_libre fieldset {
	margin-top:0;
}

.formulaire_contact_libre fieldset legend {
	display:none;
}

.formulaire_contact_libre label {
	color: white;
}

.formulaire_contact_libre .submit.btn.btn-form {
	background-color: var(--theme-bleu-sombre);
	color:white;
}

.formulaire_contact_libre .submit.btn.btn-form:hover {
	background-color: var(--theme-orange);
}

/******* 	SPIP 	*******/

.spip_doc_titre {
	line-height: 17px;
}

.spip_doc_titre strong {
	font-size: 14px;
	font-weight: 400;
	font-style: italic;
	color: var(--theme-bleu);
}

.texte p { margin-bottom: 2rem; }

.texte a {
	color:var(--theme-orange);
}

.texte a:hover {
	color:var(--theme-bleu-sombre);
}

div.spip, ul.spip, ol.spip, .spip_poesie, .spip_cadre, div.spip_code,
.spip_documents.spip_documents_center {
  margin-bottom: 3.5em;
}

.fond-degrade-beige .spip_documents.spip_documents_center {
  margin-bottom: 0 !important;
}

/* surcharge composants.css */
.liste_categories {
	position:relative;
	border: solid 1px white;
	padding:1.5rem;
	padding-bottom:.5rem;
}

.categories__titre {
	position: absolute;
	top:-17px;
	left:20px;
	text-transform: uppercase;
	background-color: var(--theme-bleu);
}

.categorie {
	padding:8px 0 4px;
}

.categorie a {
	transition: none;
	cursor: pointer;
	vertical-align: middle;
}

.categorie.active,
.liste_categories .categorie:hover {
	border-top: solid 4px var(--theme-blanc);
	padding-top:4px;
}

.categorie.active a,
.categorie.active:hover {
	color:white;
}

/******** PLUGINS CONTRIB : SURCHARGES */

.precedent_suivant a {
	color:var(--theme-orange);
}

.precedent_suivant a:hover {
	color:var(--theme-bleu-sombre);
}

/* BOUTONS ADMIN SPIP ===================================*/
/* Les boutons d'admin survolent la page (sauf # FORMULAIRE_ADMIN) */
.spip-admin-bloc,
.spip-admin-float { z-index: 10000 !important; top:0 !important;  right:0 !important; }