/* .............................................................................
FOOTER
Footer with 3 rows of content: boxes, contact infos and legal text.
............................................................................. */

.footer { }
.footer__layout {position: relative; padding-bottom: calc(0.3 * var(--base-spacing-bottom)); }
.footer__layout::before {position:absolute; z-index:-1; display:block; content:''; top:20%; bottom:0; left:0; right:0; background-color: var(--color-beige); border-radius: var(--radius) var(--radius) 0 0; opacity: 0.5; }

	/* BG position */
	@media (max-width: 62rem) {
		.footer__layout {padding-bottom: calc(0.5 * var(--base-spacing-bottom)); }
		.footer__layout::before {top: 78vw;}
	}

	/* BG position */
	@media (max-width: 46rem) {
		.footer__layout::before {top: 165vw; }
	}


/* Row with 3 boxes */
.fRowBoxes {display: grid;grid-template-columns: repeat(3, 1fr);gap: 3vw;}
.fRowBoxes__cBox { }

/* Carousel d'images */
.fRowBoxes__imagesList { }
.fRowBoxes__imagesItems { }
.fRowBoxes__imagesItems .iRoundedImage {width: 100%; }

	/* Before init, on affiche les boites comme elles seront apres le init. */
	.fRowBoxes__imagesList .jsCarouselStd.flickity-enabled {display: block; }
	.fRowBoxes__imagesList .jsCarouselStd:not(.flickity-enabled) > *:nth-child(1n+2) {display: none; }

	/*
	FADE EFFECT
	Dans ce plugin, cet effet est géré en CSS, pas en JS. */
	.fRowBoxes__imagesList .jsCarouselStd.flickity-enabled .flickity-slider {transform: none !important;}
	.fRowBoxes__imagesList .jsCarouselStd.flickity-enabled .iRoundedImage {transform: none !important;}

	/* Set animations transitions */
	.fRowBoxes__imagesList .jsCarouselStd .iRoundedImage {transition: opacity 1.5s, visibility 1.5s;}

	/* .is-selected = slide du centre
	.is-previous = slide de gauche
	.is-next = slide de droite */
	.fRowBoxes__imagesList .jsCarouselStd .iRoundedImage:not(.is-selected) {opacity: 0;visibility: hidden; pointer-events: none;}

	/* Box with the newsletter */
	.iBoxInfolettre {border-radius: var(--radius);overflow: hidden; background: var(--color-black);text-align: center;display: flex;flex-direction: column;align-items: center;justify-content: space-evenly;gap: 2em;padding: 10%;}
	.iBoxInfolettre > * {margin: 0;}
	.iBoxInfolettre__icon {width: min(25%, 7em);}
	.iBoxInfolettre__title { }
	.iBoxInfolettre__btn { }

	/* 2 images side by side, newsletter full width */
	@media (max-width: 62rem) {
		.fRowBoxes {grid-template-columns: repeat(2, 1fr);gap: 4vw;}
		.fRowBoxes .iBoxInfolettre {grid-column: 1 / -1; gap: 2.5em;}
	}

	/* Stacked */
	@media (max-width: 46rem) {
		.fRowBoxes {grid-template-columns: 1fr;}
		.fRowBoxes .iBoxInfolettre {grid-column: auto; }
		.iBoxInfolettre {padding: 20% 10%; }
	}

	/* Gap */
	@media (min-width:125rem) {
		.fRowBoxes {gap: 3.75em;}
	}


/* Row with logo, contact infos, hours, social medias */
.fRowContact {display: grid;grid-template-columns: repeat(3, 1fr);grid-template-rows: auto 1fr;gap: 4em 4vw;margin-top: calc(0.8 * var(--base-spacing));}
.fRowContact__cLogo {grid-row: 1 / 2; grid-column: 1 / 2; }
.fRowContact__cContact {grid-row: 1 / 3; grid-column: 2 / 3; }
.fRowContact__cHeures {grid-row: 1 / 3; grid-column: 3 / 4; }
.fRowContact__cRS {grid-row: 2 / 3; grid-column: 1 / 2; }

.fRowContact__logo {width: min(70%, 20em); }
.fRowContact__contact {padding: 0 calc(0.7 * var(--radius));}
.fRowContact__contact p:not([class]) {width: min(100%, 20em); }
.fRowContact__heures {padding: 0 calc(0.7 * var(--radius));}
.fRowContact__heures p {width: min(100%, 20em); }

	/* Stacked except contact + hours */
	@media (max-width: 62rem) {
		.fRowContact {grid-template-columns: repeat(2, 1fr);grid-template-rows: auto;gap: calc(1 * var(--base-spacing-bottom)) 5vw;}
		.fRowContact__cLogo {grid-row: 1 / 2;grid-column: 1 / -1; }
		.fRowContact__cContact {grid-row: 2 / 3;grid-column: 1 / 2;}
		.fRowContact__cHeures {grid-row: 2 / 3;grid-column: 2 / 3;}
		.fRowContact__cRS {grid-row: 3 / 4;grid-column: 1 / -1; justify-self: center;}

		.fRowContact__logo {margin-left: auto; margin-right: auto; }
	}

	/* Stacked */
	@media (max-width: 46rem) {
		.fRowContact {grid-template-columns: 1fr;text-align: center;}
		.fRowContact > * {grid-row: auto; grid-column: 1 / -1; }

		.fRowContact__contact p:not([class]) {margin-left: auto; margin-right: auto; }
		.fRowContact__heures p {margin-left: auto; margin-right: auto; }

		.fRowContact .iLinksIWL {font-size: 0.8em;flex-direction: row;flex-wrap: wrap;justify-content: center;gap: 0.2em 7vw;}
	}

	/* Gap */
	@media (min-width:125rem) {
		.fRowContact {gap: 4em 5em;}
	}


/* Row with copyright text and links */
.fRowLegal {display: flex;gap: 3em;justify-content: space-between;margin-top: calc(0.8 * var(--base-spacing));}
.fRowLegal__cCopyright { }
.fRowLegal__cLinks { }

.fRowLegal__copyright { }
.fRowLegal__links {justify-content: center;}

	/* Stacked + links before copyright text */
	@media (max-width: 62rem) {
		.fRowLegal {flex-direction: column;gap: calc(1 * var(--base-spacing-bottom));text-align: center;}
		.fRowLegal__cLinks {order:-1; }
	}


