/************************************************************/
/*
/*      Site content CSS
/*
/*      Author: Marc-Antoine Brassard
/*      Created: 2026-11-03
/*      Last modified: 2026-11-03
/*
/************************************************************/

/********************************************************/
/*
/*      Elements
/*
/********************************************************/
/******************************/
/* Buttons
/******************************/
.btn,
input[type="submit"],
.gform_button {
	position: relative;
	display: block;
	min-width: 5.6rem;
	width: max-content;
	text-align: center;
	text-transform: uppercase;
	background-color: transparent;
	border: 0;

	transition: color .5s;
}

:is(.btn, input[type="submit"], .gform_button).inline-block {
	display: inline-block;
}

.btn > a {
	width: 100% !important;
	color: inherit !important;
	transition: none !important;
}

.btn:not(.no-line, [type="submit"])::after,
input[type="submit"] + .btn-deco,
.gform_button::after {
	content: '';
	display: block;
	width: 5.6rem;
	height: 1px;
	margin-top: 1px;
	margin-left: auto;
	margin-right: auto;
	background-color: var(--color-5);

	transition: transform .5s;
	transform: scaleX(1);
}

.btn:not(.no-line, [type="submit"]):hover::after,
input[type="submit"]:hover + .btn-deco,
.gform_button:hover::after {
	transform: scaleX(0);
}

.btn:hover,
input[type="submit"]:hover,
.gform_button:hover {
	color: var(--color-4) !important;
}

/* Rounded square btn */
.btn.rounded-square {
	border-radius: 1.5rem;
	padding: 1rem;
	border-width: 1px;
	border-style: solid;

	transition: border-color .5s;
	border-color: var(--color-4);
}

.btn.rounded-square:hover {
	border-color: var(--color-1);
}

[class*="btn-"] {
	display: inline-block;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0;
	box-sizing: border-box;
}

.btn-border {
	border: 1px solid #001A3A;
	padding: .25rem .5rem;
}

.btn-rond {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	border-radius: 50%;
	border: 0;
	padding: .5rem;
	line-height: 0;
}

.btn-plus {
	border: 1px solid;
	border-radius: 50%;
	height: 1rem;
	line-height: 1rem;
	width: 1rem;
	text-align: center;
	box-sizing: content-box;
}

.btn-bordered {
	transform: translateX(-1rem);
	position: relative;
	display: inline-block;
	text-align: center;
	border-bottom: 0;
	color: #000;
}

[style*="text-align: center;"] .btn-bordered,
.center .btn-bordered {
	transform: translateX(0);
}

.btn-bordered .btn-bordered__txt {
	display: inline-block;
	padding: .5rem 1rem;
	border: 1px solid;
	font-weight: bold;
	margin: 2rem 1rem 0 1rem;
	transition: all .3s;
	-webkit-border-image: linear-gradient(to bottom, #163445, transparent) 2;
	-moz-border-image: linear-gradient(rgba(22, 52, 69, 1), rgba(22, 52, 69, 0)) 2;
	-ms-border-image: linear-gradient(to bottom, #163445, transparent) 2;
	border-image: linear-gradient(rgba(22, 52, 69, 1), rgba(22, 52, 69, 0)) 2;
}

.blanc .btn-bordered {
	color: #fff;
}

.blanc .btn-bordered .btn-bordered__txt {
	-webkit-border-image: -webkit-linear-gradient(#ffffff, transparent) 2 2 stretch;
	-moz-border-image: linear-gradient(#ffffff, transparent) 2;
	-ms-border-image: linear-gradient(#ffffff, transparent) 2;
	border-image: linear-gradient(#ffffff, transparent) 2;
}

.btn-bordered .btn-bordered__svg {
	display: block;
	color: var(--color-4);
	transition: all .3s;
	position: relative;
	padding-bottom: 10%;
}

.btn-bordered .btn-bordered__svg svg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.blanc .btn-bordered .btn-bordered__svg {
	color: #fff;
}

.btn-bordered:hover .btn-bordered__txt {
	color: var(--color-4);
}

.btn-bordered:hover .btn-bordered__svg {
	color: var(--color-4)
}

.btn-bordered__rond {
	display: block;
	padding: 0 2rem .5rem;
}

.btn-bordered__rond.inline-block {
	display: inline-block;
	padding: 0;
}

.btn-bordered__rond .btn-rond__icon {
	display: inline-block;
	border-radius: 50%;
	background-image: linear-gradient(#163445, transparent);
	padding: 2px;
	line-height: 0;
	max-width: 4.5rem;
}

.btn-bordered__rond .btn-rond__icon span {
	display: block;
	box-sizing: content-box;
	background-color: #fff;
	padding: 1rem;
	border-radius: 50%;
}

.btn-bordered__rond .btn-rond__svg {
	display: block;
	color: var(--color-4);
	position: relative;
	padding-bottom: 10%;
	background: #fff;
	transform: translateY(-.5rem)
}

.btn-bordered__rond .btn-rond__svg svg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}

.btn-bordered__rond .btn-rond__icon svg {
	transition: all .3s;
}

.btn-bordered__rond .btn-rond__icon:hover svg,
.btn-bordered__rond .btn-rond__svg:hover svg {
	fill: var(--color-4);
}

.btn-bordered__rond .btn-rond__pdf {
	max-width: 4.5rem;
}

input[type="submit"].btn-form {
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: #163445;
	color: #fff;
	text-transform: uppercase;
	border: 0;
	border-radius: 5px;
	padding: .5rem 1rem;
}

input[type="submit"].btn-form:hover {
	background-color: var(--color-4);
}

/******************************/
/* List
/******************************/
ul:not([class*="menu"]) > li + li {
	margin-top: .5rem;
}

/******************************/
/* Inputs & Forms
/******************************/
select.input {
	display: inline-block;
	width: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	background-image: url(../img/chevron-down.svg);
	background-repeat: no-repeat;
	background-position: 95% center;
	background-origin: padding-box;
	padding-right: 3rem;
}

select::-ms-expand {
	display: none;
}

.input {
	display: block;
	width: 100%;
	padding: .5rem .75rem;
	border: 1px solid #CCD1D8;
	margin: 0rem 0 2rem;
	font-weight: 400;
}

.input::-webkit-input-placeholder,
.input:-moz-placeholder,
.input::-moz-placeholder,
.input:-ms-input-placeholder {
	color: var(--color-charcoal);
}

.cake-form .gform_fields {
	display: flex;
	flex-direction: column;
	row-gap: 1.2rem;
	padding: 0 5rem;
}

.cake-form .gform_fields .gfield.hidden_label .gfield_label {
	display: none;
}

.cake-form .gform_fields :is(input, select, textarea) {
	background-color: transparent;
	border: 1px solid #CCD1D8;
	color: var(--color-charcoal);
	width: 100%;
	padding: .5rem .9rem;
}

.cake-form .gform_fields textarea {
	resize: vertical;
}

.cake-form .gform_button {
	margin: 3.2rem auto 0;
}

.cake-form .gfield_visibility_hidden {
	visibility: hidden;
	margin-top: -1.2rem;
}

.cake-form .gfield--type-turnstile {
	overflow: clip;
}

.cake-form .gfield_validation_message {
	color: red;
}

.l-form__lbl {
	display: inline-block;
	position: relative;
	vertical-align: middle;
	line-height: 1rem;
	margin-left: 1.5rem;
}

.l-form__lbl:before {
	content: "✓";
	color: transparent;
	border: 2px solid #163445;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-radius: 5px;
	margin-right: .5rem;
	vertical-align: middle;
	text-align: center;
	position: absolute;
	right: 100%;
	top: 0;
	box-sizing: border-box;
	font-style: normal;
}

.checkbox:checked~.l-form__lbl:before {
	color: #163445;
}

.l-form__btn input[type="submit"] {
	margin: 0 auto;
}

@media (width <= 750px) {
	.cake-form .gform_fields {
		padding: 0;
	}
}

/******************************/
/* Home page banner
/******************************/
.l-home-banner {
	position: relative;
	width: 100%;
	height: auto;
	aspect-ratio: 119/50;
	margin-top: unset !important;
	z-index: -1;
}

.l-home-banner::after {
	content: '';
	position: absolute;
	bottom: 4rem;
	left: 3rem;
	width: 150px;
	max-width: calc(100% / 3);
	height: auto;
	aspect-ratio: 1;
	background: url(../img/badge-50ans.png) no-repeat center / contain;
	pointer-events: none;
}

.l-home-banner [data-part="inner"] {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: 25rem 0 5.75rem;
	height: 100%;
	box-sizing: border-box;
}

.l-home-banner :is(.l-home-banner__titles, .l-home-banner__content) {
	z-index: 2;
}

.l-home-banner video {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	min-width: 100%;
	max-width: 100%;
	object-fit: cover;
	z-index: -1;
}

@media (width <= 1200px) {
	.l-home-banner::after {
		bottom: 1.2rem;
		left: 1.2rem;
		width: 150px;
	}
}

@media (width <= 900px) {
	.l-home-banner::after {
		width: 125px;
	}

	.l-home-banner [data-part="inner"] {
		padding: 33% 0 0;
		height: 60vh;
	}
}

@media (width <= 700px) {
	.l-home-banner::after {
		width: 100px;
	}

	.l-home-banner [data-part="inner"] {
		padding: 33% 0 0;
		height: 50vh;
	}
}

@media (width <= 600px) {
	.l-home-banner::after {
		width: 80px;
	}
}

@media (width <= 500px) {
	.l-home-banner::after {
		bottom: .5rem;
		left: .5rem;
		width: 70px;
	}

	.l-home-banner [data-part="inner"] {
		padding: 33% 0 0;
		height: 40vh;
	}
}

@media (width <= 400px) {
	.l-home-banner::after {
		width: 60px;
	}
}

/******************************/
/* Banner
/******************************/
.cake-banner {
	position: relative;
}

.cake-banner.is-behind-header {
	z-index: -1;
}

.cake-banner:not(.bkg-img) {
	padding: 4rem 0;
}

.cake-banner.bkg-cover.bkg-img {
	background-size: cover !important;
}

.cake-banner::before {
	content: '';
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.cake-banner.bkg-color-1-70::before {
	background: rgb(var(--color-1-rgb) / 0.7);
}

.cake-banner.bkg-gradient-black::before {
	background: linear-gradient(180deg, rgb(var(--color-black-rgb) / 0) 0%, rgb(var(--color-black-rgb) / 0.75) 100%);
}

.cake-banner.bkg-gradient-color-1::before {
	background: linear-gradient(180deg, rgb(var(--color-1-rgb) / 0) 0%, rgb(var(--color-1-rgb) / 0.75) 100%);
}

.cake-banner [data-part="inner"] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.cake-banner.align-bottom [data-part="inner"] {
	justify-content: end;
	padding-bottom: 3.25rem;
}

.cake-banner [data-part="inner"] > * {
	z-index: 1;
	max-width: 70%;
}

.cake-banner [data-part="inner"] > ul {
	min-width: 70%;
}

.cake-banner [data-part="inner"] > h6 {
	color: var(--color-3);
	text-transform: initial;
}

.cake-banner .btn {
	display: block;
	margin-bottom: -5rem;
	margin-top: 5rem;
}

.cake-banner.align-center .btn {
	margin-bottom: 0;
	margin-top: 1rem;
}

.cake-banner.align-bottom .btn {
	margin-bottom: 0;
	margin-top: 0;
}

.cake-banner.pad-bottom-none {
	padding: 4rem 0 0;
}

@media (width <= 1200px) {
	.cake-banner .btn {
		margin-bottom: -2rem;
		margin-top: 2rem;
	}

	.cake-banner [data-part="inner"] {
		min-height: 20rem;
	}
}

@media (width <= 900px) {
	.cake-banner .btn {
		margin-bottom: 0;
		margin-top: 0;
	}
}

@media (width <= 600px) {
	.cake-banner [data-part="inner"] > * {
		max-width: unset;
	}
}

@media (width <= 500px) {
	.cake-banner [data-part="inner"] {
		min-height: 16rem;
	}
}

/******************************/
/* Text-Image
/******************************/
.cake-txt_img {
	background: linear-gradient(180deg, var(--color-light-gray) 0%, var(--color-white) 100%);
}

.cake-txt_img.reverse:not([class*="bkg-"]) {
	background: linear-gradient(180deg, var(--color-white) 0%, var(--color-light-gray) 100%);
}

.cake-txt_img.reverse [data-part="inner"] {
	flex-direction: row-reverse;
}

.cake-txt_img [data-part="inner"] {
	display: flex;
	justify-content: space-evenly;
	gap: 7.3rem;
	padding: 5.25rem 0;
}

.cake-txt_img [data-part="inner"] > div {
	flex-basis: calc(100% / 3);
	margin: auto 0;
}

.cake-txt_img img {
	width: 100%;
}

.cake-txt_img img:only-child {
	height: 100%;
}

.cake-txt_img.pad-top-half [data-part="inner"] {
	padding: 2.5rem 0 5.25rem;
}

.cake-txt_img.gap-none [data-part="inner"] {
	gap: 0;
}

/* Special case for Norme Québec certification */
.cake-txt_img#certification-norme-quebec {
	[data-part="inner"] > div:not(:has( >  img)) {
		flex-basis: 55%;
	}

	[data-part="inner"] > div:has( >  img) {
		flex-basis: 25%;
		margin-inline: auto;
	}
}

@media (width <= 1200px) {
	.cake-txt_img [data-part="inner"] > div {
		flex-basis: calc(100% / 2.5);
	}
}

@media (width <= 900px) {
	.cake-txt_img [data-part="inner"] {
		gap: 4rem;
		justify-content: space-between;
		padding: 4rem 0;
	}

	.cake-txt_img [data-part="inner"] > div {
		flex-basis: calc((100% - 4rem) / 2);
	}
}

@media (width <= 850px) {
	.l-txt_img__flex {
		position: relative;
		left: auto;
		right: auto;
		top: auto;
		bottom: auto;
	}
	
	.l-txt_img__imgs {
		width: 100%;
	}
	
	.l-txt_img__img {
		transform: translate(0) !important;
	}
}

@media (width <= 750px) {
	.cake-txt_img.l-mobile__hide .l-txt_img__imgs {
		display: none;
	}
}

@media (width <= 700px) {
	.cake-txt_img [data-part="inner"] {
		flex-direction: column;
		padding: 3rem 0;
		gap: 2rem;
	}

	.cake-txt_img.reverse [data-part="inner"] {
		flex-direction: column;
	}

	/* Special case for Norme Québec certification */
	.cake-txt_img#certification-norme-quebec {
		[data-part="inner"] > div:has( >  img) {
			display: flex;
			flex-direction: column;
			align-items: center;

			& > img {
				max-width: 50%;
			}
		}
	}
}

/******************************/
/* Services
/******************************/
.cake-services [data-part="inner"] {
	display: flex;
	gap: 0;
	min-height: 37.5rem;
}

.cake-services .service-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: end;
	align-items: center;
	text-align: center;
	background: linear-gradient(180deg, rgb(var(--color-black-rgb) / 0) 0%, rgb(var(--color-black-rgb) / 0.75) 100%);
	padding: 3.2rem;
	color: var(--color-light-gray);
	box-sizing: border-box;
	max-width: 25%;
}

.cake-services .service-column:not(:last-of-type) {
	border-right: 1px solid rgb(var(--color-white-rgb) / 0.35);
}

.cake-services .column-bg {
	inset: 0;
	background: rgb(var(--color-1-rgb) / 0.5);
	transition: transform 1s;
	transform: scaleY(1);
	transform-origin: 0 100%;
	z-index: -1;
}

main:not(.mobile) .cake-services .service-column:hover .column-bg {
	transform: scaleY(0);
}

.cake-services img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity .5s;
	z-index: -2;
}

main:not(.mobile) .cake-services .service-column:hover + img {
	opacity: 1 !important;
}

@media (width <= 1440px) {
	.cake-services [data-part="inner"] {
		width: 100vw;
		margin-left: calc(var(--grid-gap) * -1);
	}
}

@media (width <= 1000px) {
	.cake-services [data-part="inner"] {
		flex-direction: column;
		min-height: 25rem;
	}

	.cake-services .service-column {
		max-width: unset;
		background: linear-gradient(270deg, rgb(var(--color-black-rgb) / 0) 0%, rgb(var(--color-black-rgb) / 0.75) 100%);
		padding: 2rem 3.2rem;
	}

	.cake-services .service-column:not(:last-of-type) {
		border-right: 0;
		border-bottom: 1px solid rgb(var(--color-white-rgb) / 0.35);
	}
}

/******************************/
/* Testimonies
/******************************/
.cake-testimonies {
	background: var(--color-1);
}

.cake-testimonies [data-part="inner"] {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 4.5rem;
}

.cake-testimonies .testimony-items {
	width: 60%;
	margin: 1.5rem 0 2.8rem;
}

.cake-testimonies .testimony-item {
	display: grid;
	inset: 0;
	height: max-content;
	color: var(--color-light-gray);
	transition: opacity .5s;
	opacity: 0;
}

.cake-testimonies.has-min-height .testimony-item {
	height: auto;
}

.cake-testimonies .testimony-item.active {
	opacity: 1;
}

.cake-testimonies .testimony-item > p {
	color: var(--color-white);
	margin-bottom: 1.4rem;
	white-space: pre-wrap;
}

.cake-testimonies .testimony-item > h6 {
	margin-top: auto;
}

.cake-testimonies .testimony-indicators {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.8rem;
}

.cake-testimonies .testimony-indicators > a img {
	width: .75rem;
	margin: 0 1rem;
	filter: brightness(0) saturate(100%) invert(99%) sepia(6%) saturate(381%) hue-rotate(175deg) brightness(94%) contrast(96%);
}

.cake-testimonies .testimony-indicators > div {
	width: 45px;
	height: 2px;
	border-radius: 4px;
	transition: background-color .5s;
	background-color: var(--color-3);
}

.cake-testimonies .testimony-indicators > div.active {
	background-color: var(--color-light-gray);
}

@media (width <= 1000px) {
	.cake-testimonies .testimony-items {
		width: 90%;
	}
}

@media (width <= 900px) {
	.cake-testimonies [data-part="inner"] {
		padding: 4rem 0;
	}
}

@media (width <= 850px) {
	.cake-posts .l-temoignages__wrp {
		margin-bottom: 3rem;
	}
}

@media (width <= 500px) {
	.cake-testimonies .testimony-indicators {
		position: relative;
	}

	.cake-testimonies .testimony-indicators > a {
		position: absolute;
	}

	.cake-testimonies .testimony-indicators > a[data-rel="prev"] {
		left: calc(var(--grid-gap) * -2);
	}

	.cake-testimonies .testimony-indicators > a[data-rel="next"] {
		right: calc(var(--grid-gap) * -2);
	}

	.cake-testimonies .testimony-indicators > a img {
		margin: 0;
	}
}

/******************************/
/* Timeline
/******************************/
.cake-timeline .c-item__head {
	padding-bottom: 2.5rem;
}

.cake-timeline .slides {
	transition: left .75s;
}

.slide .c-timeline__img {
	aspect-ratio: 1;
	margin-bottom: 1.5rem;
	border: 0 solid var(--color-5);
	transition: border .5s;
}

.slide.focus .c-timeline__img {
	border: .5rem solid var(--color-5);
}

.slide .c-timeline__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-timeline {
	display: flex;
	flex-direction: column;
}

.c-timeline .c-thumbs {
	order: 1;
}

.c-timeline .c-thumbs__item {
	width: 7.5%;
}

.c-timeline .c-thumbs .btn-rond {
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-1);
	text-decoration: none;
	aspect-ratio: 1;
	transition: background-color .5s;
	background-color: #CCD1D7;
}

.c-timeline .c-thumbs .btn-rond:hover {
	background-color: var(--color-4);
}

.c-timeline .c-thumbs .btn-rond img {
	aspect-ratio: 1;
	width: 45%;
}

.c-timeline .c-thumbs .prev img {
	translate: -2.5px;
}

.c-timeline .c-thumbs .next img {
	translate: 2.5px;
}

.c-timeline .c-thumbs .thumb:not(.focus) {
	color: var(--color-1);
}

.c-timeline__inner:after {
	border-color: var(--color-4);
}

.c-timeline__ctn {
	padding-top: 0;
}

.focus .c-timeline__ctn {
	color: #000;
	font-weight: bold;
}

/******************************/
/* Cols
/******************************/
.cake-cols {
	&.l-box .flex {
		padding: 2rem 1rem 0;
		margin-top: 2rem;
		box-sizing: border-box;
	}
	
	/* Certifications */
	&#certifications {
		padding-block-end: 4rem;
		padding-inline: 2.5rem;
		
		& > .inner {
			& > .flex.wrap {
				flex-wrap: nowrap !important;
				align-items: stretch;
				gap: 5rem;
				
				& > .grid-50 {
					flex: 1;
					
					& > .inner-grid {
						height: 100%;
						padding: unset;
						
						h2, .h2 {
							display: block;
							margin-bottom: 2.5rem;
						}
						
						& > .flex {
							display: grid;
							grid-template-columns: max-content 1fr;
							align-items: start;
							gap: 2rem;
							
							&.cert-prf,
							&.cert-normes-quebec {
								img {
									max-width: 100%;
									object-fit: contain;
								}
							}
								
							&.cert-prf {
								img {
									width: auto;
									height: 83px;
									aspect-ratio: 307/83;
								}
							}
							
							&.cert-normes-quebec {
								img {
									width: auto;
									height: 200px;
									aspect-ratio: 80/69;
									translate: 0 3rem;
								}
							}
							
							& > p {
								margin: unset;
								
								&:first-of-type,
								br {
									display: contents;
								}
							}
						}
					} 
				}
			}
		} 
	}
}

@media (width <= 1400px) {
	.cake-cols {
		&#certifications {
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {
							& > .flex {
								&.cert-normes-quebec {
									img {
										translate: unset;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

@media (1000px < width <= 1400px), 
	   (width <= 800px) {
	.cake-cols {
		&#certifications {
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {
							display: flex;
							flex-direction: column;
							
							& > .flex {
								display: flex;
								flex-direction: column;
								gap: unset;
								margin-top: auto;
								
								&.cert-prf,
								&.cert-normes-quebec {
									img {
										margin-bottom: 1rem;
									}
								}
								
								&.cert-normes-quebec {
									img {
										translate: unset;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

@media (1000px < width <= 1400px), 
   (width <= 500px) {
	.cake-cols {
		&#certifications {
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {
							& > .flex {
								& > p {
									display: contents;
									text-align: center;
								}
							}
						}
					}
				}
			}
		}
	}
}

@media (1000px < width <= 1400px) {
	.cake-cols {
		&#certifications {
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {
							h2, .h2 {
								margin-bottom: .5rem;
								
								&.h2 {
									order: -1;
								}
							}
							
							& > .flex {
								&.cert-prf {
									img {
										translate: 0 -2rem;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

@media (width <= 1000px) {
	.cake-cols {
		&#certifications {
			padding-inline: 1.5rem;
			
			& > .inner {
				& > .flex.wrap {
					flex-direction: column;
					gap: 3rem;
					
					& > .grid-50 {
						& > .inner-grid {
							h2, .h2 {
								&.h2 {
									display: none;
								}
							}
						}
					}
				}
			}
		}
	}
}

@media (800px < width <= 1000px) {
	.cake-cols {
		&#certifications {
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {							
							& > .flex {
								grid-template-columns: 300px 1fr;
								align-items: center;
							}
						}
					}
				}
			}
		}
	}
}

@media (width <= 900px) {
	.cake-cols {
		&.l-box .flex {
			padding: 1rem 0 0;
		}
	}
}

@media (500px < width <= 800px) {
	.cake-cols {
		&#certifications {
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {
							& > .flex {
								&.cert-prf,
								&.cert-normes-quebec {
									img {
										margin-left: 0;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

@media (width <= 500px) {
	.cake-cols {
		&#certifications {
			padding-inline: var(--grid-gap);
			
			& > .inner {
				& > .flex.wrap {
					& > .grid-50 {
						& > .inner-grid {
							h2, .h2 {
								text-align: center !important;
								margin-inline: auto;
							}
							
							& > .flex {
								&.cert-prf,
								&.cert-normes-quebec {
									img {
										max-width: 75%;
										max-height: 150px;
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

/******************************/
/* Blogue
/******************************/
.cake-posts .l-blogue__thumb {
	padding-bottom: 100%;
}

@media (width <= 1100px) {
	.cake-posts .l-blogue__thumb {
		padding-bottom: 0;
	}
}

@media (width <= 850px) {
	.l-blogue__sct {
		margin-left: 0;
		margin-right: 0;
		transform: translateY(0);
		margin-bottom: 0;
	}
}

@media (width <= 700px) {
	.l-blogue__sct {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/******************************/
/* Équipe
/******************************/
.l-equipe__flex > .grid-33 {
	-webkit-flex-basis: 33.33333%;
	-ms-flex-preferred-size: 33.33333%;
	flex-basis: 33.33333%;
}

.l-equipe__flex .l-thumb {
	aspect-ratio: 1;
	padding: 0;
	margin: 1rem;
	background: url(../img/logo_header.svg) no-repeat center, linear-gradient(0deg, rgb(240 236 219 / 1) 0%, rgb(240 236 219 / 0.2) 100%);
	background-size: 50% auto;
}

.l-equipe__flex .l-thumb + div::after {
	content: '';
	display: block;
	width: 5.6rem;
	height: 1.5px;
	margin-top: 2rem;
	margin-left: auto;
	margin-right: auto;
	background-color: var(--color-5);
}

@media (width <= 1000px) {
	.l-equipe__flex > .grid-33 {
		-webkit-flex-basis: 50%;
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
	}
}

@media (width <= 600px) {
	.l-equipe__flex > .grid-33 {
		-webkit-flex-basis: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
	}
}

/******************************/
/* Urnes
/******************************/
.l-urnes__items {
	margin-top: 2rem;
}

.cake-urnes .c-item__head {
	padding-bottom: 2rem;
}

.flex.l-urnes {
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.flex.l-urnes + .l-urnes {
	margin-top: 3.5rem;
}

.flex.l-urnes > .grid-33 {
	max-width: 30%;
}

.l-urnes__thumb span {
	position: relative;
	display: block;
	padding-bottom: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.l-urnes__thumb img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.l-urnes__thumb + div::after {
	content: '';
	display: block;
	width: 5.6rem;
	height: 1.5px;
	margin-top: 2rem;
	margin-left: auto;
	margin-right: auto;
	background-color: var(--color-5);
}

@media (width <= 950px) {
	.flex.l-urnes > .grid-33 {
		-ms-flex: 100%;
		flex: 100%;
		max-width: 48%;
	}
}

@media (width <= 600px) {
	.flex.l-urnes > .grid-33 {
		max-width: 100%;
	}
}

@media (width <= 850px) {
	.l-urnes.cake-cols .grid-33 .inner-grid {
		padding-top: 0;
		padding-bottom: 0;
	}

	.l-urnes.cake-cols .grid-33 ul {
		margin-bottom: 0;
	}
}

/******************************/
/* Google Map
/******************************/
.cake-map .gm-style .gm-style-iw-c {
	padding-right: 12px !important;
	padding-bottom: 6px !important;
	background-color: var(--color-1);
}

.cake-map .gm-style .gm-style-iw-c button {
	filter: brightness(0) saturate(100%) invert(90%) sepia(10%) saturate(22%) hue-rotate(169deg) brightness(106%) contrast(88%);
}

.cake-map .gm-style .gm-style-iw-c button > span {
	margin-left: 24px !important;
	margin-right: 0 !important;
}

.cake-map .gm-style .gm-style-iw-c .gm-style-iw-d {
	overflow: auto !important;
}

.cake-map .gm-style .gm-style-iw-c .scrollFix {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 0;
}

.cake-map .gm-style .gm-style-iw-c .scrollFix :is(h4, p) {
	color: var(--color-light-gray) !important;
}

.cake-map .gm-style .gm-style-iw-c .scrollFix a {
	width: max-content;
	text-align: center;
	text-decoration: none;
	margin-top: 8px;
}

.cake-map .gm-style .gm-style-iw-c .scrollFix a > p {
	font-size: 16px !important;
	transition: color .3s !important;
}

.cake-map .gm-style .gm-style-iw-c .scrollFix a:hover p {
	color: var(--color-4) !important;
}

.gm-style .gm-style-iw-tc {
	filter: brightness(0) saturate(100%) invert(8%) sepia(29%) saturate(5213%) hue-rotate(197deg) brightness(99%) contrast(103%) !important;
	translate: 0 -3px;
}

@media (width <= 850px) {
	.googlemaps {
		height: 800px;
		height: 60vw;
	}
}

@media (width <= 550px) {
	.googlemaps {
		height: 900px;
		height: 75vw;
	}
}

/******************************/
/* Video
/******************************/
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.video-wrapper > .wp-video,
.video-wrapper > .wp-video > video {
	max-width: 100%;
}

/******************************/
/* Newsletter
/******************************/
.newsletter {
	overflow: clip;
}

.newsletter-form {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	max-width: calc(100% * (2/3));
	margin: 0 auto;
	border: 1px solid #CCD1D8;
	background-color: var(--color-white);
}

.newsletter-form.gform_confirmation_wrapper {
	background-color: transparent;
	border: none;
}

.newsletter .gform_heading {
	max-width: 75%;
	margin: 0 auto;
}

.newsletter .gform_heading .gform_title {
	font-size: 2.4rem;
	line-height: 2.5rem;
	font-weight: 300;
	font-family: 'Josefin Sans', sans-serif;
}

.newsletter .gform_heading .gform_description,
.newsletter-form.gform_confirmation_wrapper {
	font-size: 1.7rem;
	line-height: 1.8rem;
	font-weight: 400;
	font-family: 'Josefin Sans', sans-serif;
	color: var(--color-4);
}

.newsletter .gform_heading .gform_description {
	margin-bottom: 3rem;
}

.newsletter .gform_body,
.newsletter .gform_footer {
	flex: auto;
	background-color: rgba(254, 253, 251, 0.7);
}

.newsletter .gform_footer {
	flex-grow: 0;
	max-width: 4.2rem;
}

.gform_validation_error > .newsletter-form .gform_body,
.gform_validation_error > .newsletter-form .gform_footer {
	background-color: rgba(245, 66, 66, 0.3);
}

.newsletter .gform_fields {
	list-style: none;
	padding: 0;
	margin: 0;
}

.newsletter .gfield.hidden_label label {
	display: none;
}

.newsletter-form input {
	background-color: transparent;
	border: 0 !important;
	color: var(--color-charcoal);
	width: 100%;
	height: 56px;
	padding: 10px;
}

.newsletter-form input[type="text"],
.newsletter-form button {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	border-radius: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent;
	padding: .75rem 1.5rem !important;
	text-transform: uppercase;
	letter-spacing: 1.6px;
	line-height: 1.3rem !important;
	margin: 0;
	display: block;
	width: auto !important;
}


.newsletter button {
	color: var(--color-charcoal);
	margin: 0 !important;
}

.newsletter button::after {
	display: none !important;
}

.newsletter .l-svg__right {
	width: .7rem;
}

.newsletter .l-svg__right span {
	padding-bottom: 93%;
	color: var(--color-4);
}

.newsletter ::-webkit-input-placeholder {
	color: var(--beige);
}

.newsletter :-moz-placeholder {
	opacity: 1;
	color: var(--color-charcoal);
}

/* Firefox 18- */
.newsletter ::-moz-placeholder {
	opacity: 1;
	color: var(--color-charcoal);
}

/* firefox 19 +  */
.newsletter :-ms-input-placeholder {
	color: var(--color-charcoal);
}

/* ie */
.newsletter input:-moz-placeholder {
	color: var(--color-charcoal);
}

.newsletter-form > .validation_error {
	display: none;
}

.newsletter-form .validation_message {
	display: none;
}

body img.gform_ajax_spinner {
	display: none !important;
}

@media (width <= 700px) {

	.newsletter .gform_heading,
	.newsletter-form {
		max-width: unset;
	}
}

@media (width <= 500px) {
	.newsletter-form {
		background-color: unset;
		border: unset;
	}

	.newsletter .gform_heading .gform_title {
		font-size: 2rem;
	}

	.newsletter .gform_body,
	.newsletter .gform_footer {
		background-color: var(--color-white) !important;
		border: 1px solid #CCD1D8;
	}

	.newsletter .gform_body {
		width: 100%;
	}

	.newsletter .gform_footer {
		max-width: unset;
		margin-top: 1rem;
		margin-left: auto;
	}

	.newsletter .gform_footer button {
		min-width: unset;
		padding: .4rem .75rem !important;
	}
}

/******************************/
/* Pagination
/******************************/
.sct-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
}

.page-numbers {
	display: inline-block;
	vertical-align: middle;
	font-weight: bold !important;
	color: var(--color-1) !important;
	text-decoration: none !important;
}

.page-numbers.current,
.page-numbers:hover {
	color: var(--color-4) !important;
}

.prev.page-numbers,
.next.page-numbers {
	display: flex;
	padding: 0 2rem;
	color: var(--color-1);
}

.page-numbers img {
	width: 7px;
	filter: brightness(0) saturate(100%) invert(11%) sepia(17%) saturate(5554%) hue-rotate(188deg) brightness(92%) contrast(106%);
}

.page-numbers:hover img {
	filter: brightness(0) saturate(100%) invert(60%) sepia(73%) saturate(368%) hue-rotate(6deg) brightness(91%) contrast(82%);
}

/******************************/
/* Search
/******************************/
.l-avis__search {
	margin-bottom: 4rem;
	
	input {
		width: 50%;
		line-height: 1.2rem;
		text-align: left;
		vertical-align: middle;
		background-color: var(--color-light-gray);
		padding: .4rem 1rem;
		border: 2px solid var(--color-4);
	}
	
	button {
		color: var(--color-light-gray);
	}
}

@media (width <= 1100px) {
	.l-avis__search input {
		width: 60%;
		margin-left: 0;
	}
}

@media (width <= 850px) {
	.l-avis__search input {
		width: 75%;
	}
}

@media (width <= 500px) {
	.l-avis__search {
		padding-right: 1rem !important;
	}

	.l-avis__search button {
		margin-left: .5rem !important;
		margin-right: 0 !important;
	}

	.l-avis__search input {
		width: 80%;
	}
}

@media (width <= 400px) {
	.l-avis__search {
		padding-right: 0 !important;
	}

	.l-avis__search form {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 1rem;
	}

	.l-avis__search input {
		width: 100%;
	}

	.l-avis__search button {
		margin-left: 0 !important;
	}
}

/******************************/
/* Other
/******************************/
#disponibles .flex-column {
	padding-top: 90%;
	padding-top: 90vw;
	justify-content: flex-start;
}

.c-item__head {
	max-width: 850px;
}

.c-item__head-ctn,
.c-item__foot {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.cake-hr .inner {
	max-width: 550px;
	margin: auto;
}

.l-hr__svg span,
.cake-hr__svg {
	display: block;
	position: relative;
	padding-bottom: 10%;
}

.cake-hr__svg.inline-block {
	display: inline-block;
	width: 80%;
}

.l-hr__svg svg,
.cake-hr__svg svg {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.l-hr__svg {
	display: block;
	max-width: 550px;
	margin: auto;
}

.l-hr__svg span {
	display: block;
	position: relative;
	padding-bottom: 10%;
}

@media (width <= 850px) {
	#disponibles,
	#residences-uniques {
		background-size: contain;
		background-position: bottom center
	}
	
	#residences-uniques .flex-column {
		height: auto !important;
		padding-top: 2rem;
	}
	
	#disponibles {
		background-size: 100%;
		background-position: top center;
		background-color: #0f1c22
	}
	
	#disponibles .flex-column {
		height: auto !important;
		padding-top: 90%;
		padding-top: 90vw;
		padding-bottom: 2rem;
	}
}

/********************************************************/
/*
/*      Archives & Singles
/*
/********************************************************/
/******************************/
/* Common
/******************************/
:is([class*='l-avis'], [class*='l-blogue']):nth-child(5):not(.l-avis__comments) {
	padding-bottom: 0;
}

:is(.l-avis__thumb, .l-blogue__thumb, .l-informations__thumb) {
	display: inline-block;
	overflow: hidden;
	max-width: 90%;
	box-sizing: border-box;
}

:is(.l-avis__thumb, .l-blogue__thumb, .l-informations__thumb) img {
	display: inline-block;
	object-fit: cover !important;
	object-position: top !important;
}

:is(.l-blogue__thumb, .l-informations__thumb) img {
	min-width: 18rem;
	min-height: 18rem;
	max-width: 18rem;
	max-height: 18rem;
}

:is(.l-blogue__thumb, .l-informations__thumb).large img {
	min-width: 25rem;
	min-height: 25rem;
	max-width: 25rem;
	max-height: 25rem;
}

:is([class*='l-avis'], [class*='l-blogue']) h6 {
	text-transform: initial;
	color: var(--color-3);
}

:is(.l-avis, .l-avis__grid, .l-blogue, .l-blogue__grid, .l-informations, .l-informations__grid) h6 {
	font-size: .9rem;
	margin-bottom: 1.6rem;
}

:is(.l-blogue, .l-blogue__grid, .l-informations, .l-informations__grid) h6 + p {
	margin-bottom: 2.3rem;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex {
	gap: 2.3rem;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a {
	display: flex;
	flex-direction: column;
	max-width: calc((100% - (2.3rem * 5)) / 6);
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a .rounded-square {
	transition: border-color .5s, background-color .5s;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a:hover .rounded-square {
	border-color: var(--color-1);
	background-color: var(--color-1);
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity .5s;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a img.hover {
	filter: invert(100%) sepia(86%) saturate(2%) hue-rotate(85deg) brightness(113%) contrast(101%);
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a:hover img.hover,
:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a:not(:hover) img:not(.hover) {
	opacity: 1;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a:hover img:not(.hover),
:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .flex > a:not(:hover) img.hover {
	opacity: 0;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) :is(a, h5, .btn) {
	text-decoration: unset !important;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) a {
	min-width: 5rem;
	max-width: 5rem;
}

:is(.l-avis__link, .l-blogue__link, .l-carrieres__link) .btn.rounded-square {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 5rem;
	max-width: 5rem;
	width: 5rem;
	box-sizing: border-box;
	aspect-ratio: 1/1;
	margin: 0 auto 0.8rem;
}

@media (width <= 1100px) {
	.cake-cols .l-thumb__round {
		display: block;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (width <= 950px) {
	.l-thumb__round {
		margin-left: 2rem;
		margin-right: 2rem;
	}
	
	:is(.l-blogue__thumb, .l-informations__thumb) {
		min-width: 100%;
		max-width: unset;
		margin-right: unset;
	}
	
	:is(.l-blogue__thumb, .l-informations__thumb).large img {
		min-width: 100%;
		max-width: 100%;
		object-fit: contain;
	}
}

@media (width <= 850px) {
	.l-thumb__round img {
		max-width: 300px;
		max-height: 300px;
	}
	
	.c-gallery__thumbs .thumb {
		width: 25%;
	}
	
	.width-60.centered.box-x4 {
		max-width: 80%;
	}
}

@media (width <= 500px) {
	.c-gallery__thumbs .thumb {
		width: 33.333%;
	}
	
	.width-60.centered.box-x4 {
		max-width: 100%;
	}
	
	.l-thumb__round img {
		max-width: 100%;
	}
}

@media (width <= 400px) {
	.l-thumb__round img {
		min-width: 0;
		min-height: 0;
	}
}

/******************************/
/* Avis de décès
/* (Archive & Posts)
/******************************/
:is(.cake-archive, .cake-posts):has(.l-avis) {
	--col-count: 3;
	--name-max-width: 75%;
	
	background-color: var(--color-light-gray);
	
	&.cake-posts {
		--col-count: 4;
		--name-max-width: 90%;
		
		/* Hardcoded style for obituaries in cake-posts section */
		& > .inner > .c-item__foot {
			margin-top: 2.5rem;
			
			& > div {
				justify-self: center;
				width: max-content;
				
				.btn {
					font-size: 1.4rem;
					font-weight: 300;
					text-transform: initial;
					
					&::after {
						width: min(100%, 13.5rem);
						translate: 0 .4rem;
					}
				}
			}
		}
	}
	
	.inner:has(> .l-avis) {
		display: grid;
		grid-template-columns: repeat(var(--col-count), minmax(0, 1fr));
		gap: 1rem;
		padding-inline: 3rem;
		
		& > :is(.l-avis__search, .sct-pagination) {
			grid-column: 1 / -1;
		}
		
		& > .l-avis {
			background-color: var(--color-white);
			border-radius: 5px;
			overflow: clip;
			transition: background-color .3s;
			
			&,
			& > .l-avis__info {
				display: flex;
				flex-direction: column;
			}
			
			&, * {
				text-decoration: none;
			}
			
			& > .l-avis__thumb {
				position: relative;
				width: 100%;
				min-width: 100%;
				height: auto;
				aspect-ratio: 11/10;
				
				img {
					position: absolute;
					inset: 0;
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
			
			& > .l-avis__info {
				flex-grow: 1;
				align-items: center;
				padding: 1.5rem 1rem;
				
				* {
					text-align: center;
					
					&:not(.death-date-cta, span) {
						color: var(--color-1);
						transition: color .3s;
					}
				}
				
				& > h4 {
					font-size: 1.2rem;
					line-height: 1;
					
					&.name {
						max-width: var(--name-max-width);
					}
					
					&.years {
						margin-block: .75rem;
					}
				}
				
				& > .death-date-cta {
					display: grid;
					grid-template-columns: 100%;
					grid-template-rows: max-content;
					justify-content: center;
					align-items: center;
					color: var(--color-4);
					margin-top: auto;
					
					&::after,
					& > span {
						grid-column: 1;
						grid-row: 1;
					}
					
					&::after {
						justify-self: center;
						align-self: end;
						content: '';
						display: block;
						width: 100%;
						max-width: 5rem;
						height: 1px;
						background-color: var(--color-4);
						translate: 0 1px;
						transition: transform .5s;
						transform: scaleX(0);
						transform-origin: center;
					}
					
					& > span {
						pointer-events: none;
						user-select: none;
						
						&:first-of-type {
							opacity: 1;
							transition: opacity .3s .15s;
						}
						
						&:last-of-type:not(:first-of-type) {
							opacity: 0;
							transition: opacity .3s;
						}
					}
				}
			}
			
			&:hover {
				background-color: var(--color-1);
				
				& > .l-avis__info {
					* {
						&:not(.death-date-cta, span) {
							color: var(--color-white);
						}
					}
					
					& > .death-date-cta {	
						&::after {
							transform: scaleX(1);
						}
						
						& > span {
							&:first-of-type:not(:last-of-type) {
								opacity: 0;
								transition: opacity .3s;
							}
							
							&:last-of-type:not(:first-of-type) {
								opacity: 1;
								transition: opacity .3s .15s;
							}
						}
					}
				}
			}
		}
	}
}

body.single-cake_avis {
	.l-avis__thumb {
		img {
			min-width: 15rem;
			aspect-ratio: 3/4;
		}
	} 
	
	.l-avis__ctn {
		br {
			display: none;
		}
	}
}


.l-avis__comments {
	#comments {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		gap: 1.6rem;
		
		.comment-card {
			display: flex;
			flex-direction: column;
			gap: .5rem;
			border: 1px solid #CCD1D8;
			border-radius: 1.5rem;
			padding: 1rem;
			
			p:first-of-type {
				margin-top: auto;
			}
			
			h6 {
				font-size: 0.7rem;
			}
		}
	}
}

@media (width <= 1100px) {
	:is(.cake-archive, .cake-posts):has(.l-avis) {
		&.cake-posts {
			--col-count: 2;
			--name-max-width: 100%;
		}
	}
	
	body.single-cake_avis {
		.l-avis__thumb {
			margin-right: 1rem !important;
		}
	}
}

@media (width <= 1000px) {
	:is(.cake-archive, .cake-posts):has(.l-avis) {
		--col-count: 2;
		--name-max-width: 90%;
	}
}

@media (width <= 950px) {
	body.single-cake_avis .container:has(> .sympathies),
	.l-avis__comments {
		padding-left: 2rem !important;
		padding-right: 2rem !important;
	}
}

@media (width <= 850px) {
	body.single-cake_avis {
		.l-avis__thumb {
			margin-left: 0 !important;
			margin-right: 0 !important;
			
			img {
				width: 100%;
				max-width: 15rem;
			}
		}
	}
}

@media (width <= 800px) {
	:is(.cake-archive, .cake-posts):has(.l-avis) {
		--name-max-width: 100%;
		
		& .inner:has(> .l-avis) {
			& > .l-avis {
				& > .l-avis__info {
					padding: 1rem .75rem;
				}
			}
		}
	}
}

@media (width <= 700px) {
	:is(.cake-archive, .cake-posts):has(.l-avis) {
		& .inner:has(> .l-avis) {
			padding-inline: var(--grid-gap);
		}
	}
	
	.l-avis__comments {
		#comments {
			grid-template-columns: 100%;
		}
	}
}

@media (width <= 600px) {
	:is(.cake-archive, .cake-posts):has(.l-avis) {
		--col-count: 1;
		
		&.cake-posts {
			--col-count: 1;
		}
	}
	
	body.single-cake_avis {
		.l-avis,
		.l-avis__flex > .grid-66 > .box {
			padding-left: 0 !important;
			padding-right: 0 !important;
		}
		
		.l-avis__thumb {
			margin-left: 0;
		}
	}
	
	body.single-cake_avis .container:has(> .sympathies),
	.l-avis__comments {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

@media (width <= 500px) {
	body.single-cake_avis {
		.l-avis__thumb {
			img {
				min-width: unset;
			}
		} 
	}
}

@media (width <= 400px) {
	body.single-cake_avis {
		.sympathies > .box {
			padding-left: 0 !important;
			padding-right: 0 !important;
		}
	}
}

/******************************/
/* Résidences
/******************************/
.l-locations__flex .flex {
	gap: 1rem;
}

.l-locations__grid {
	flex: 1;
	max-width: 33%;
	text-decoration: none !important;
	color: var(--color-1) !important;
}

.l-locations__grid figure {
	position: relative;
	margin: 0;
	min-height: 18rem;
	max-height: 18rem;
	overflow: hidden;
}

.l-locations__grid figure img {
	position: absolute;
	inset: 0;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.l-locations__grid h3 {
	font-size: 1.7rem;
	line-height: 1.8rem;
	font-weight: 400;
	font-family: 'Josefin Sans', sans-serif;
	text-transform: initial;
	margin: 0 auto 1rem;
}

.l-locations__grid div {
	text-align: center;
}

.l-locations__grid:hover .btn {
	color: var(--color-4) !important;
}

.l-locations__grid:hover .btn::after {
	transform: scaleX(0);
}

@media (width <= 1100px) {
	.l-locations__flex .flex {
		flex-wrap: wrap;
	}
	
	.l-locations__flex .flex > a {
		min-width: 66.666%;
		margin: 0 auto;
	}
	
	.l-locations__grid figure {
		min-height: 28rem;
		max-height: 28rem;
	}
	
	.l-locations__grid figure img {
		width: 100%;
	}
	
	.l-locations__grid .btn-bordered__txt {
		margin-top: .5rem;
	}
}

@media (width <= 850px) {
	.l-locations__grid figure {
		width: 100%;
		height: auto;
		min-height: unset;
		max-height: unset;
		aspect-ratio: 1;
	}
}

@media (width <= 600px) {
	.l-locations__flex .flex > a {
		max-width: 80%;
	}
}

@media (width <= 500px) {
	.l-locations__flex .flex > a {
		max-width: 90%;
	}
}

@media (width <= 400px) {
	.l-locations__grid h3 {
		font-size: 1.33rem;
	}
}

/******************************/
/* Services
/******************************/
.l-services__grid {
	overflow: hidden;
}

/******************************/
/* Carrières
/******************************/
.l-carrieres__flex {
	background-color: var(--color-white);
	box-shadow: 0 3px 16px -10px rgba(0, 0, 0, 0.5);
}

.l-carrieres__flex .inner {
	justify-content: space-between;
	align-items: center;
	gap: 2rem;
}

.l-carrieres__share a .h5 {
	transition: all .3s;
}

.l-carrieres__share a:hover {
	color: var(--color-4);
}

@media (width <= 700px) {
	.l-carrieres__flex .inner {
		flex-direction: column;
	}
}

/********************************************************/
/*
/*      Plugin styles override
/*
/********************************************************/
/******************************/
/* GDPR Cookie Compliance
/* banner/modal/button
/******************************/
:is(#moove_gdpr_cookie_info_bar, #moove_gdpr_cookie_modal, #moove_gdpr_save_popup_settings_button) {
	z-index: 5 !important;
	
	.mgbutton,
	.moove_gdpr_text,
	.moove-gdpr-cookie-notice > p {
		color: var(--color-6) !important;
	}
	
	&:is(#moove_gdpr_cookie_info_bar, #moove_gdpr_cookie_modal) {
		* {
			-webkit-font-smoothing: auto !important;
			letter-spacing: 1px !important;
		}	
	}
	
	&#moove_gdpr_cookie_info_bar {	
		background-color: var(--color-5) !important;
		border: 1px solid var(--color-6) !important;

		.moove-gdpr-info-bar-container {
			width: 100%;
		}
		
		:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn) {
			color: var(--color-5) !important;
			background-color: var(--color-6) !important;
			box-shadow: inset 0 0 0 1px currentColor !important;
			
			&:is(:hover, :focus, :active) {
				color: var(--color-6) !important;
				background-color: var(--color-5) !important;
			}
		}
		
		.moove-gdpr-infobar-settings-btn {
			color: var(--color-6) !important;
			background-color: transparent !important;
			
			&:is(:hover, :focus, :active) {
				color: var(--color-5) !important;
				background-color: var(--color-6) !important;
			}
		}
	}
	
	&#moove_gdpr_cookie_modal {
		.moove-gdpr-company-logo-holder img {
			min-width: 100px;
			min-height: 50px;
			object-fit: contain;
			/* filter: var(--wp--custom--color--off-black--filter); */
		}
		
		#moove-gdpr-menu li,
		.cookie-switch {
			&::before,
			&::after {
				display: none;
			}
		}
		
		:is(.mgbutton, .moove-gdpr-modal-close):is(:hover, :focus, :active) {
			&, & > span {
				color: var(--color-5) !important;
				background-color: var(--color-6) !important;
				box-shadow: unset !important;
			}
		}
	}
	
	&#moove_gdpr_save_popup_settings_button {
		bottom: 1rem !important;
		left: 1rem !important;
		background-color: var(--color-5) !important;
		border: 1px solid  var(--color-6) !important;
		box-sizing: content-box;
		cursor: pointer;
		
		span.moove_gdpr_icon {
			position: relative;
			
			&::after {
				content: '';
				position: absolute;
				top: 50%;
				left: 50%;
				width: calc(100% *  (2/3));
				height: calc(100% *  (2/3));
				background: url(../img/privacy.svg) no-repeat center;
				background-size: contain;
				filter: brightness(0) saturate(100%) invert(99%) sepia(20%) saturate(381%) hue-rotate(314deg) brightness(99%) contrast(96%);
				translate: -50% -50%;
			}
			
			svg {
				display: none;
			}
		}
	}
	
	/******************************/
	/* Responsive
	/******************************/
	@media (width <= 600px) {
		&#moove_gdpr_save_popup_settings_button {
			bottom: .5rem !important;
			left: .5rem !important;
			
			&, & > .moove_gdpr_icon {
				min-width: 32px !important;
				height: 32px !important;
			}
		}
	}
}