/*
Theme Name: Maison Demeurance
Theme URI: web-ia.com
Author: Boris Billy
Author URI: web-ia.com
Description: WEB IA starter theme
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Tested up to: 6.6
Requires PHP: 7.3
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: demeurance

demeurance WordPress Theme, (C) 2024 Boris Billy.
demeurance is distributed under the terms of the GNU GPL.
*/

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

@keyframes scroll-left {
	0% {
		transform: translateX(0%);
	}

	100% {
		transform: translateX(-100%);
	}
}

/* Fontello */
@font-face {
	font-family: 'demeurance';
	src: url('./assets/fonts/demeurance.woff2') format('woff2'),
		url('./assets/fonts/demeurance.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
  @media screen and (-webkit-min-device-pixel-ratio:0) {
	@font-face {
	  font-family: 'demeurance';
	  src: url('./assets/fonts/demeurance.svg?66664883#demeurance') format('svg');
	}
  }
  */
[class^="icon-"]:before,
[class*=" icon-"]:before {
	font-family: "demeurance";
	font-style: normal;
	font-weight: normal;
	speak: never;

	display: inline-block;
	text-decoration: inherit;
	width: auto;
	margin-right: .2em;
	text-align: center;
	/* opacity: .8; */

	/* For safety - reset parent styles, that can break glyph codes*/
	font-variant: normal;
	text-transform: none;

	/* fix buttons height, for twitter bootstrap */
	line-height: 1em;

	/* Animation center compensation - margins should be symmetric */
	/* remove if not needed */
	margin-left: .2em;

	/* you can be more comfortable with increased icons size */
	/* font-size: 120%; */

	/* Font smoothing. That was taken from TWBS */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	/* Uncomment for 3D effect */
	/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-mail:before {
	content: '\e800';
}

/* '' */
.icon-cross:before {
	content: '\e801';
}

/* '' */
.icon-search:before {
	content: '\e802';
}

/* '' */
.icon-arrow-down:before {
	content: '\e803';
}

/* '' */
.icon-quote:before {
	content: '\e804';
}

/* '' */
.icon-marker:before {
	content: '\e805';
}

/* '' */
.icon-bedroom:before {
	content: '\e806';
}

/* '' */
.icon-house:before {
	content: '\e807';
}

/* '' */
.icon-tree:before {
	content: '\e808';
}

/* '' */
.icon-arrow:before {
	content: '\e809';
}

/* '' */
.icon-user:before {
	content: '\e80a';
}

/* '' */
.icon-heart:before {
	content: '\e80b';
}

/* '' */
.icon-phone:before {
	content: '\e80c';
}

/* '' */
.icon-arrow-long:before {
	content: '\e80d';
}

/* '' */
.icon-star-empty:before {
	content: '\e80e';
}

/* '' */
.icon-star:before {
	content: '\e80f';
}

/* '' */
.icon-heart-empty:before {
	content: '\e810';
}

/* '' */
.icon-heart-fill:before {
	content: '\e811';
}

/* '' */
.icon-link:before {
	content: '\e812';
}

/* '' */
.icon-share:before {
	content: '\e813';
}

/* '' */
.icon-galerie:before {
	content: '\e814';
}

.icon-spinner:before {
	content: '\e830';
}

/* '' */
.icon-star-half-alt:before {
	content: '\f123';
}

/* '' */

.icon-spinner:before {
	animation: spin 1s linear infinite;
}

/* CSS Reset
---------------------------------------------------------------------------- */

:root {
	--plyr-color-main: var(--wp--preset--color--primary);
	--swiper-navigation-color: var(--wp--preset--color--primary);
	--swiper-pagination-color: var(--wp--preset--color--primary);
	--swiper-navigation-sides-offset: 28px;
	--bs-btn-close-color: var(--wp--preset--color--primary);
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	scroll-padding-top: 110px;
	scroll-behavior: smooth;
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
	padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

ul:where(:not([class*="wp-block"]):not([class*="menu__list"]):not([class*="sub-menu"])) li,
ul:where(.wp-block-list) li {
	list-style-image: url(./assets/img/liste.svg);
	padding: 0;
}

ul:where(:not([class*="wp-block"])) li::marker,
ul:where(.wp-block-list) li::marker {
	list-style-type: none;

}

body#tinymce.wp-editor ol:where(:not([class*="wp-block"])),
body#tinymce.wp-editor ol:where(.wp-block-list),
body#tinymce.wp-editor ul:where(:not([class*="wp-block"])),
body#tinymce.wp-editor ul:where(.wp-block-list) {
	padding-left: 1em !important;
	padding-inline-start: 1.5em !important;
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

img,
figure {
	max-width: 100%;
	height: auto;
}

/* 
:root :where(.is-layout-constrained)>*,
:root :where(.editor-styles-wrapper) :where(.is-layout-constrained)>* {
	margin-block-start: 0;
} */

.acf-block-component {
	padding: 0 !important;
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

input:not([type="submit"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--main-accent);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
}

input:focus-visible,
textarea:focus-visible {
	outline-color: var(--wp--preset--color--primary);
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

label {
	width: 100%;
	display: block;
}

::placeholder {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.75;
}

/* Helper styles that can't be done via theme.json
---------------------------------------------------------------------------- */

a.more-link {
	display: block;
}

/* Inline code */
*:not(.wp-block-code)>code {
	background-color: var(--wp--preset--color--secondary);
	font-weight: var(--wp--custom--font-weight--medium);
	;
	padding: 3px 5px;
	position: relative;
	border-radius: 3px;
}

/* Adjust terms at bottom of posts */
.single .wp-block-group .wp-block-post-terms,
.blog .wp-block-group .wp-block-post-terms {
	margin-bottom: -8px !important;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
	display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
	display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
	display: none;
}

.row-logos>figure {
	flex-shrink: 1 !important;
}

@media (max-width: 781px) {
	.demeurance-hide-on-mobile {
		display: none;
	}
}


/* 1 - Header */
body {
	&.has-top-bar {
		position: relative;

		#header_bar,
		main.site-content {
			transition: all 300ms ease-in-out;
		}
	}

	&.is-open {
		overflow: hidden;
	}
}

header.wp-block-template-part {
	position: relative;
	z-index: 5;
}

/*Gestion du logo en mobile*/
header.wp-block-template-part .header-transparent .wp-block-group>.wp-block-group,
.site-header .wp-block-site-logo,
.site-header .wp-block-image {
	@media (width <=1400px) {
		order: 2;

		img {
			height: 28px;
			width: auto;
		}
	}
}

header.wp-block-template-part,
.site-header {
	@media (width <=1400px) {
		background-color: var(--wp--preset--color--secondary);

		.wp-block-group:not(.mobile_elements):not(.single-realisation__contact) {
			padding: 0 !important;
			max-width: inherit;
			background-color: var(--wp--preset--color--secondary) !important;
			gap: 1em;

			>.wp-block-group:not(.single-realisation__contact) {
				justify-content: start;
				padding-left: 0 !important;
				padding-right: 0 !important;
				margin: 0;
			}
		}

		nav.menu_top {
			margin-left: auto;
		}
	}
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 8;

	.header__navigation {
		.wp-block-navigation__container {
			margin: 0 auto;

			.current-menu-item {
				>a {
					color: var(--wp--preset--color--primary);
					text-decoration: none;
				}
			}
		}
	}

}

.menu_top {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);

	.wp-block-navigation__container {
		gap: 0;

		.wp-block-navigation-item {
			.wp-block-navigation-item__content {
				text-decoration: none;
				display: block;
				padding: 30px 6px;
				font-family: var(--wp--preset--font-family--secondary);
				font-size: .9375rem;
				font-weight: 800;
				min-width: 90px;
				border-left: solid 1px rgba(255, 255, 255, 20%);

				@media(width <=1590px) {
					min-width: 68px;
					padding: 30px 0;
					font-size: .875rem;
				}

				@media(width <=1400px) {
					min-width: 30px;
					padding: 10px 6px;
					border: none;
				}

				.wp-block-navigation-item__label {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: flex-start;
					color: var(--wp--preset--color--base);
					transition: color 300ms ease-in-out;

					i {
						font-size: 2em;
						line-height: 1;
						color: var(--wp--preset--color--primary);
					}

					span {
						@media(width <=1590px) {
							display: none;
						}
					}
				}


				&:hover {
					.wp-block-navigation-item__label {
						color: var(--wp--preset--color--primary);
					}
				}
			}

		}
	}

	@media (width <=1400px) {
		.wp-block-navigation-item {
			&:nth-child(n+3) {
				display: none;
			}

			.wp-block-navigation-item__label {
				font-size: 0;

				i {
					font-size: 22px !important;

					&.icon-phone {
						font-size: 30px !important;
					}
				}
			}
		}
	}
}

.wp-block-navigation {
	&.menu_top {
		@media (width <=1400px) {
			order: 3;
		}
	}
}

@media (width <=781px) {
	.site-header {
		.header__navigation {
			justify-content: flex-end;

			.wp-block-buttons {
				justify-content: flex-start;
			}
		}
	}
}


/***************/

.site-footer {
	>.wp-block-group {
		background-image: url(./assets/img/bg-footer.png);
		background-position: bottom right;
		background-repeat: no-repeat;

		@media(width < 768px) {
			background-image: none;
		}
	}

	.wp-element-button {
		min-width: 190px;
	}

	@media(width < 768px) {
		.footer__logos {
			align-items: center;
			text-align: center;

			.wp-block-buttons,
			.wp-block-buttons .wp-block-button,
			.m-telephone {
				width: 100%;
			}

			.wp-element-button {
				font-size: 1.125rem;
				display: block;
				width: 100%;
			}
		}

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

		.footer__columns {
			gap: 1em;

			.footer__menus {
				>p {
					font-size: 20px !important;
					display: flex;
					align-items: center;

					&:after {
						margin-left: auto;
						content: '\e803';
						font-family: 'demeurance';
						font-size: .825rem;
						color: var(--wp--preset--color--primary);
						transition: all 300ms ease-in-out;
					}
				}

				.wp-block-group {
					height: 0;
					overflow: hidden;
					transition: all 300ms ease-in-out;
					margin: 0 !important;

				}

				&.open {
					>p {
						&:after {
							transform: rotate(180deg);
						}
					}

					.wp-block-group {
						height: auto;
					}
				}
			}
		}

		.footer__legal {
			justify-content: center;
		}
	}

	.cookies {
		&:hover {
			cursor: pointer;
		}
	}
}


/**************/

.wp-pagenavi {
	text-align: center;
	margin-top: 50px;

	.pages {
		display: none;
	}

	span,
	a {
		width: 28px;
		height: 28px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: solid 1px var(--wp--preset--color--primary);
		font-size: 1.25rem;
		font-family: var(--wp--preset--font-family--secondary);
		color: var(--wp--preset--color--secondary) !important;
		text-decoration: none;
		border-radius: 50%;
		margin: 0 6px 0 0;

		&.current {
			background: var(--wp--preset--color--primary);
			border-color: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--white);
		}
	}

	a.previouspostslink,
	a.nextpostslink {
		border: none;
		width: auto;
		color: var(--wp--preset--color--primary);
		font-size: 1rem;
	}

	a.previouspostslink {
		i {
			transform: scaleX(-1);
		}

	}

}



/* Card defaut */

.card-default {
	overflow: hidden;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	border: none;
	padding: 0;
	border: none;

	.card-header {
		text-align: center;
		padding: 0;

		img {
			max-height: 341px;
			width: 100%;
			object-fit: cover;
			margin: 0 auto;
			text-align: center;
			aspect-ratio: 4 / 3;
		}
	}

	.card-body {
		padding: 1em 0 0;
		flex: 1 1 auto;

		.card-default__titre {
			margin-top: 0;
			margin-bottom: .9375rem;
			font-size: 1.4375rem;
			font-weight: 300;
		}

		.card-default__texte {
			-webkit-line-clamp: 3;
			-webkit-box-orient: vertical;
			display: -webkit-box;
			overflow: hidden;
		}
	}

	.card-footer {
		padding: 0;
	}
}

/* Card 2 */

.card-second {
	border: solid 1px var(--wp--preset--color--main-accent);
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding: 0;

	.card-header {
		text-align: center;
		padding: 0;

		img {
			max-height: 250px;
			width: 100%;
			margin: 0 auto;
			text-align: center;
			object-fit: cover;
		}
	}

	.card-body {
		padding: 0 1.5em 1em;
		flex: 1 1 auto;
	}

	.card-footer {
		background-color: var(--wp--preset--color--main-accent);
		padding: 1em 1.5em;
	}
}


/* card icon */
.card-icon {
	display: flex;
	flex-direction: column;
	background-color: transparent;
	padding: 0;
	min-width: inherit;
	border: none;

	@media(width < 781px) {

		.card-header {
			flex: 100px 0 0;
			margin-right: 0;
		}
	}

	.card-header {
		.card-header__icon {
			width: 140px;
			height: 140px;
			margin: 0 auto;
			padding: 0;
			display: flex;
			align-items: center;
			justify-content: center;

			img {
				width: auto;
				height: auto;
			}
		}
	}

	.card-body {
		text-align: center;
		padding: 0;
		font-size: 1.125rem;
		margin-top: 10px;
		/* @media(max-width: 781px) {
			text-align: left;
		} */

		.card-icon__titre {
			font-weight: 700;
			font-size: 1.125rem;
			color: var(--wp--preset--color--primary);
			margin: 0 0 5px;
		}

		.card-icon__texte {
			margin: 0;
			line-height: var(--wp--custom--line-height--snug);

			@media(width < 768px) {
				font-size: 1.125rem;
			}
		}
	}

	&.card-icon--fleches {
		.card-header {
			.card-header__icon {
				width: 100px;
				height: 100px;
				margin: 0 auto;
				padding: 1em;
				display: flex;
				align-items: center;

				img {
					width: 100%;
					height: auto;
				}
			}
		}
	}
}

/* card big card */
.card-big-card {
	border: none;
	padding: 0;
	min-width: none;
	max-width: none;
	min-height: 483px;
	height: 100%;
	background-color: var(--wp--preset--color--secondary);
	background-position: center;
	background-repeat: no-repeat;
	transition: all 300ms ease-in-out;
	position: relative;
	overflow: hidden;

	@media(width < 767px) {
		min-height: 242px;
		background-size: cover;
	}

	.card-big-card__wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
		background: linear-gradient(360deg, #1E2034 0%, rgba(30, 32, 52, 0) 54.66%);
		padding: 50px 50px 46px;
		height: 100%;
		position: relative;
		z-index: 1;

		@media(width < 767px) {
			padding: 20px 20px 30px;
			background: linear-gradient(360deg, #1E2034 0%, rgba(30, 32, 52, 0) 68%);
		}

		.card-body {
			color: #fff;
			text-align: center;
			flex: auto 0 0;
		}
	}

	.card-big-card__titre {
		color: #fff;
		font-size: 1.6875rem;
		margin: 0;
		font-weight: var(--wp--custom--font-weight--light);

		a {
			color: #fff;
			text-decoration: none;

			&:hover {
				text-decoration: none;
			}
		}
	}

	.card-big-card__texte {
		margin: 0;
		line-height: var(--wp--custom--line-height--snug);

		@media(width < 767px) {
			display: none;
		}
	}

	.card-footer {
		padding: 14px 0 0;
		z-index: 1;
	}

	.card-big-card__image {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;

		img {
			height: 100%;
			width: 100%;
			object-fit: cover;
			transition: all 300ms ease-in-out;

		}
	}

	&:hover {
		.card-big-card__image {
			img {
				transform: scale(1.05);
			}
		}
	}
}

/* card maillage */
.card-maillage {
	position: relative;
	aspect-ratio: 1/1;
	width: 330px;
	height: 330px;
	background-color: var(--wp--preset--color--secondary);
	overflow: hidden;
	border: none;
	padding: 0;

	@media(width < 991px) {
		width: 100%;
		height: auto;
	}

	.card-body {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: rgba(30, 32, 52, 0.7);

		a {
			color: #fff;
			align-items: center;
			font-family: var(--wp--preset--font-family--secondary);
			font-size: 1.3125rem;
			font-weight: 400;
			padding: 0;

			span {
				align-items: center;

				&:before {
					display: none;
				}


				&:after {
					width: auto;
					font-size: 1rem;
					margin: 0 0 0 10px;
					color: var(--wp--preset--color--primary);
					transform: none;
					content: '\e809';
					transition: all 300ms ease-in-out;
				}
			}
		}
	}

	.card-bg {
		position: absolute;
		z-index: 0;
		height: 100%;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;

		.card-maillage__image {
			display: block;
			height: 100%;
		}

		img {
			height: 100%;
			object-fit: cover;
			transition: all 300ms ease-in-out;

			@media(width < 991px) {
				aspect-ratio: 1/1;
			}
		}
	}

	&:hover {
		.card-bg {
			img {
				scale: 1.05;
			}
		}

		.is-style-level3 {
			span {

				&:after {
					transform: translateX(5px);
				}
			}
		}
	}
}

/* card actu */
.card-actu {
	padding: 0;
	border: none;
	position: relative;

	.card-header {
		overflow: hidden;
		height: 250px;

		img {
			height: 100%;
			object-fit: cover;
			transition: all 300ms ease-in-out;
		}
	}

	.card-body {
		padding-top: 17px;

		.card-actu__date {
			color: var(--wp--preset--color--primary);
			margin-bottom: 15px;
			font-size: .875rem;
			font-weight: 500;

			&:before {
				content: '';
				width: 18px;
				height: 17px;
				background: url(./assets/img/icon-calendar.svg) no-repeat center center;
				display: inline-block;
				margin-right: 8px;
				font-weight: normal;
				vertical-align: middle;
			}
		}

		.card-actu__titre {
			margin-top: 0;
			margin-bottom: 15px;
			font-weight: 300;
			font-size: 1.5rem;
		}

		.card-actu__texte {
			-webkit-line-clamp: 3;
			-webkit-box-orient: vertical;
			display: -webkit-box;
			overflow: hidden;
		}
	}

	&:hover {
		.card-header {
			img {
				transform: scale(1.05);
			}
		}
	}
}

/* card actu */
.card-avis {
	max-width: 740px;
	padding: 2.5rem;
	border: none;
	background-color: #fff;
	color: var(--wp--preset--color--main);

	@media(width < 768px) {
		padding: 1.5rem;
	}

	.card-avis__titre {
		font-size: 1.5rem;
		font-weight: 300;
		font-family: var(--wp--preset--font-family--secondary);
	}

	.card-avis__texte {
		-webkit-line-clamp: 5;
		-webkit-box-orient: vertical;
		display: -webkit-box;
		overflow: hidden;
	}

	.card-avis__nom {
		font-weight: 500;
		color: var(--wp--preset--color--primary);
		margin-top: 10px;

		&:before {
			content: '';
			width: 42px;
			height: 27px;
			display: inline-block;
			vertical-align: middle;
			margin-right: 10px;
			background: url(./assets/img/deco.svg) no-repeat center center;
		}
	}
}

/* card etapes */
.card-etape {
	padding: 0;
	border: none;

	.card-etape__nb {
		position: relative;

		&:after {
			content: '';
			width: 100%;
			height: 1px;
			display: block;
			background-color: var(--wp--preset--color--primary);
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
		}

		span {
			position: relative;
			z-index: 1;
			width: 153px;
			height: 153px;
			display: flex;
			align-items: center;
			justify-content: center;
			border-radius: 50%;
			border: solid 1px var(--wp--preset--color--primary);
			color: var(--wp--preset--color--primary);
			background-color: #fff;
			font-size: 7.25rem;
			font-weight: 200;
			font-family: var(--wp--preset--font-family--secondary);

			@media(width < 765px) {
				width: 117px;
				height: 117px;
				font-size: 5.625rem;
			}
		}
	}

	.card-etape__titre {
		&:before {
			content: '';
			width: 33px;
			height: 19px;
			vertical-align: middle;
			display: inline-block;
			margin: 0 10px 0 0;
			background: url(./assets/img/deco.svg) no-repeat center center;
		}

		@media(width < 765px) {
			font-size: 1.25rem;
		}
	}

	.card-etape__texte {
		max-width: 450px;

		@media(width < 765px) {
			max-width: 280px;
		}
	}
}

/* card realisation */
.card-realisation {
	padding: 0;
	border: none;
	position: relative;

	.card-header {
		overflow: hidden;

		img {
			aspect-ratio: 1/1;
			object-fit: cover;
			height: 100%;
			transition: all 300ms ease-in-out;
		}
	}

	.card-body {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: flex-start;
		color: #fff;
		background: linear-gradient(180deg, rgba(30, 32, 52, 0) 65.74%, #1E2034 100%);
		padding: 20px;


		&:after {
			content: '\e809';
			position: absolute;
			bottom: 20px;
			right: 20px;
			font-family: 'demeurance';
			transition: all 300ms ease-in-out;
		}


	}

	.card-realisation__categorie {
		margin-bottom: 9px;
	}

	.card-realisation__titre {
		font-size: 1.4375rem;
		line-height: 1;
		font-family: var(--wp--preset--font-family--secondary);
		font-weight: 200;
		margin: 0 0 9px;

		a {
			color: #fff;
			text-decoration: none;
		}
	}

	.card-realisation__ville {
		font-weight: 500;

		i {
			font-weight: normal;
		}
	}

	&:hover {
		.card-header {
			img {
				transform: scale(1.05);
			}
		}

		.card-body {
			&:after {
				color: var(--wp--preset--color--primary);
				transform: translateX(5px);
			}
		}
	}
}

.post-type-archive-realisation {
	.card-realisation {
		height: 100%;

		.card-header {
			overflow: hidden;
			height: 100%;
		}
	}
}

/* card annonce */
.card-annonce {
	position: relative;
	border: solid 1px #E8E8E8;
	background-color: #fff;
	max-width: 330px;
	padding: 0;
	height: 100%;
	display: flex;
	flex-direction: column;

	margin: 0 auto;

	.card-header {
		position: relative;
		height: 180px;
		overflow: hidden;
		background-color: var(--wp--preset--color--gris);

		img {
			width: 100%;
			height: 180px;
			object-fit: cover;
			transition: all 300ms ease-in-out;
		}

		.add_to_favoris {
			position: absolute;
			top: 10px;
			right: 10px;
		}
	}

	.card-body {
		padding: 20px 20px 0;
	}

	.card-footer {
		margin-top: auto;
		padding: 0 20px 20px;
		position: relative;

		&:after {
			content: '';
			width: 100%;
			height: 0;
			transition: all 300ms ease-in-out;
			background-color: var(--wp--preset--color--primary);
			position: absolute;
			bottom: 0;
			left: 0;

		}
	}

	.card-annonce__titre {
		font-size: 1.25rem;
		font-weight: 800;
		font-family: var(--wp--preset--font-family--secondary);
		margin: 0 0 5px;

		a {
			color: var(--wp--preset--color--secondary);
			text-decoration: none;

			.card-annonce__ville {
				font-weight: 300;
				font-size: 1.125rem;
				line-height: normal;
				font-family: var(--wp--preset--font-family--primary);
				color: var(--wp--preset--color--secondary);
			}
		}
	}


	.card-annonce__pictos {
		display: flex;
		align-items: center;
		gap: 20px;
		margin-top: 10px;
		margin-bottom: 20px;

		.card-annonce__picto {
			display: flex;
			align-items: center;
			font-size: 1.875rem;
			line-height: 1;

			i {
				color: var(--wp--preset--color--primary);
				margin-right: 6px;

				&:before {
					margin: 0;
				}
			}

			span {
				font-size: .875rem;
				font-weight: normal;
				color: var(--wp--preset--color--secondary);
			}
		}
	}

	.card-annonce__prix {
		font-size: 1.5rem;
		font-family: var(--wp--preset--font-family--primary);
		font-weight: 300;
		line-height: normal;
		color: var(--wp--preset--color--main);
		margin: 0;

	}

	&:hover {
		border-color: var(--wp--preset--color--primary);

		.card-header {
			img {
				transform: scale(1.3);
			}
		}

		.card-footer {
			&:after {
				height: 8px;
			}
		}
	}

	/* special car marker */
	&.card-annonce--marker {
		border: none;
		max-width: 250px;

		.card-header {
			height: auto;

			img {
				height: auto;
				aspect-ratio: 16/9;
				object-fit: cover;
			}
		}

		.card-body {
			padding-left: 0;
			padding-right: 0;

			@media(width < 765px) {
				padding-top: 0;
			}
		}

		.card-footer {
			padding-left: 0;
			padding-right: 0;

			@media(width < 765px) {
				padding-bottom: 0;
			}
		}

		.card-annonce__titre {
			@media(width < 765px) {
				font-size: 1rem;
			}
		}

		.card-annonce__ville {
			@media(width < 765px) {
				font-size: .875rem;
			}
		}

		.card-annonce__pictos {
			display: flex;
			align-items: center;
			justify-content: start;
			gap: 10px;
			margin-top: 10px;

			@media(width < 765px) {
				margin-bottom: 0;
			}

			.card-annonce__picto {
				display: flex;
				align-items: center;
				font-size: 1.125rem;
				line-height: 1;

				span {
					font-size: .875rem;
					color: var(--wp--preset--color--secondary);
				}
			}
		}
	}
}

/* card agence */
.card-agence {
	border: solid 1px #E8E8E8;
	padding: 0;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;

	@media(width < 765px) {
		margin: 0 auto;
	}

	.card-header {
		position: relative;
		height: 180px;
		overflow: hidden;
		background-color: var(--wp--preset--color--gris);
		margin: 0;

		img {
			height: 180px;
			object-fit: cover;
			transition: all 300ms ease-in-out;
		}
	}

	.card-body {
		padding: 20px;
		margin-bottom: auto;
	}

	.card-agence__titre {
		margin: 0;
		font-size: 1.25rem;
		line-height: normal;
		font-weight: 800;
		font-family: var(--wp--preset--font-family--secondary);

		a {
			color: var(--wp--preset--color--secondary);
			text-decoration: none;
			outline: none;
		}
	}

	.card-agence__ville {
		display: flex;
		line-height: 1.2;
		font-weight: 300;
		font-size: 1.125rem;
		margin-top: 16px;
		color: var(--wp--preset--color--secondary);

		i {
			color: var(--wp--preset--color--primary);
		}
	}

	.agence_horaire {
		margin-top: 8px;
	}

	.card-agence__contact {
		margin-top: 16px;
		margin-bottom: 0;
		position: relative;
		z-index: 2;
		display: flex;
		justify-content: space-between;
		font-size: .9375rem;
		font-weight: bold;
		font-family: var(--wp--preset--font-family--secondary);

		.js-phone-reveal {
			text-decoration: none;
			color: var(--wp--preset--color--primary);
		}

		.open_modal {
			background-color: transparent;
			border: none;
			color: var(--wp--preset--color--primary);

			&:hover {
				cursor: pointer;
			}
		}
	}

	.card-footer {
		margin-top: auto;
		padding: 0 20px 20px;

		.wp-element-button {
			width: 100%;
			height: 48px;
		}
	}

	&:hover {
		border-color: var(--wp--preset--color--primary);

		.card-header {
			img {
				transform: scale(1.3);
			}
		}
	}

	&.card-agence--marker {
		border: none;
		padding: 25px;
		max-width: calc(200px + 25px);

		@media(width < 765px) {
			padding: 25px 10px;
		}

		.card-body,
		.card-footer {
			padding: 0;
		}

		.card-agence__titre {
			font-size: 1rem;
			font-family: var(--wp--preset--font-family--primary);
			font-weight: bold;
		}

		.card-agence__ville {
			font-size: .875rem;
			font-weight: normal;
		}

		.agence_horaire {
			margin-top: 12px;
		}

		.card-footer {
			margin-top: 10px;

			.wp-element-button {
				height: auto;
				padding: 0;
			}
		}
	}
}

.gm-style .gm-style-iw-c {
	clip-path: polygon(23px 0, 100% 0, 100% calc(100% - 23px), calc(100% - 23px) 100%, 0 100%, 0 23px);
	border-radius: 0;

	.gm-style-iw-ch {
		padding-top: 0 !important;
	}

	.gm-ui-hover-effect {
		width: 18px !important;
		height: 18px !important;

		span {
			width: 15px !important;
			height: 15px !important;
			margin: 0 !important;
		}
	}
}

/* card cta */
.card-cta {
	background-color: var(--wp--preset--color--secondary);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	clip-path: polygon(63px 0, 100% 0, 100% calc(100% - 63px), calc(100% - 63px) 100%, 0 100%, 0 63px);
	position: relative;
	padding: 40px 70px;

	@media(width < 991px) {
		padding: 40px 30px;
	}

	.card-header {
		position: absolute;
		z-index: 0;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: 100%;
		width: 100%;

		img {
			height: 100%;
			object-fit: cover;
		}

		&:after {
			position: absolute;
			display: block;
			content: '';
			width: 100%;
			height: 100%;
			z-index: 3;
			background-color: rgba(30, 32, 52, 0.7);
			top: 0;
		}
	}

	.card-body {
		position: relative;
		z-index: 1;

	}

	.card-cta__titre {
		color: #fff;
		font-size: 1.625rem;
		line-height: normal;
		font-weight: 800;
		font-family: var(--wp--preset--font-family--secondary);
		margin: 0 0 18px;

		@media(width < 765px) {
			font-size: 1.4375rem;
		}

		span {
			color: var(--wp--preset--color--primary);
		}
	}

	.card-cta__texte {
		p {
			margin: 0;
		}

		img {
			max-height: ;
		}
	}

	.card-footer {
		margin-top: 30px;

		.wp-element-button {
			display: inline-block;
		}
	}

	&:after {
		display: block;
		content: '';
		border-right: 75px solid transparent;
		border-bottom: 80px solid var(--wp--preset--color--primary);
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

/* card equipe */
.card-equipe {
	border: none;
	padding: 0;
	max-height: 405px;
	position: relative;

	.card-body {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: rgba(255, 255, 255, 0.7);
		backdrop-filter: blur(5px);
		padding: 12px;
		color: var(--wp--preset--color--secondary);
		text-align: center;
	}

	.card-header {
		height: 405px;

		img {
			height: 100%;
			object-fit: cover;
			width: 100%;
		}
	}

	.card-equipe__titre {
		margin: 0;
		font-weight: 500;
		font-size: 1.125rem;
		font-family: var(--wp--preset--font-family--primary);
	}

	.card-equipe__texte {
		margin: 0;
		font-weight: 300;
		font-size: 1.125rem;
		line-height: 1.1;
		font-family: var(--wp--preset--font-family--primary);
	}

	.card-equipe__tel {
		margin: 0;
		color: var(--wp--preset--color--secondary);
		font-weight: 500;
		font-size: .875rem;

		a {
			color: var(--wp--preset--color--secondary);
			text-decoration: none;
		}
	}
}

/* card picto */
.card-picto {
	padding: 0;
	border: none;
	text-align: center;
	background-color: #fff;
	height: 100%;
	position: relative;

	&:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 8px;
		background-color: var(--wp--preset--color--primary);
		opacity: 0;
		transition: all 300ms ease-in-out;
	}

	.card-header {
		height: 270px;
		overflow: hidden;

		.card-picto__image {
			display: block;
			height: 270px;
			object-fit: cover;
			transition: all 300ms ease-in-out;

			img {
				height: 270px;
				object-fit: cover;
			}
		}
	}

	.card-body {
		padding: 16px 0 0;

		.card-picto {
			width: 66px;
			height: 66px;
			border: solid 1px var(--wp--preset--color--primary);
			border-radius: 50%;
			margin: 0 auto 11px;
			display: flex;
			align-items: center;
			justify-content: center;

			img {
				width: auto;
				max-width: 46px;
			}
		}
	}

	.card-picto__titre {
		position: relative;
		margin-top: 0;
		margin-bottom: 11px;
		font-size: 1.25rem;
		color: var(--wp--preset--color--main);

		&:before {
			width: 29px;
			height: 18px;
			background-size: cover;
			display: inline-block;
			position: inherit;
			margin: 0 7px 0 0;
			top: inherit;
			left: inherit;
		}
	}

	.card-picto__texte {
		margin-top: 0;
		margin-bottom: 11px;
	}

	.card-footer {
		padding-bottom: 22px;

		a {
			padding-right: 0;
		}
	}

	&:hover {
		.card-header {
			.card-picto__image {
				transform: scale(1.05);
			}
		}

		&:after {
			opacity: 1;
		}
	}
}

/* Utilities */

.stars {
	color: #FFDD00;

	span {
		margin-left: 8px;
		color: var(--wp--preset--color--primary);
	}
}

.element__titre {
	margin-bottom: 0;
}

.btn-link {
	font-weight: bold;
	text-decoration: underline;
}

.wp-block-button__link {
	width: auto;
}

.stretched-link {
	&:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		top: 0;
	}

}

.text-center {
	text-align: center;
}

.is-triangle-deco {
	position: relative;

	&:after {
		content: "";
		display: inline-block;
		height: 0;
		width: 0;
		border-bottom: 258px solid var(--wp--preset--color--primary);
		border-left: 226px solid transparent;
		position: absolute;
		bottom: 0;
		right: 0;

		@media(width <=991px) {
			border-bottom: 80px solid var(--wp--preset--color--primary);
			border-left: 80px solid transparent;
		}
	}
}

.is-square-deco {
	position: relative;

	&:after {
		content: "";
		display: inline-block;
		height: 150px;
		width: 150px;
		background-color: var(--wp--preset--color--primary);
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;

		@media(width <=991px) {
			width: 100px;
			height: 100px;
		}
	}
}

.is-deco-title {
	&:before {
		content: '';
		display: block;
		width: 41px;
		height: 25px;
		position: absolute;
		top: 13px;
		left: -50px;
		background-image: url(./assets/img/deco-titre.svg);
		background-position: center;
		background-repeat: no-repeat;
	}
}

a.bouton-back,
.bouton-back a {
	font-size: 1.125rem;
	font-weight: 800;
	font-family: var(--wp--preset--font-family--secondary);

	&:before {
		display: inline-block;
		font-family: 'demeurance';
		content: '\e809';
		transform: scaleX(-1);
		margin-right: 8px;
		font-size: 14px;
	}
}


.yoast-breadcrumbs {
	font-size: 12px;

	a {
		text-decoration: none;
	}
}

.more-content {
	position: relative;

	p:empty {
		display: none;
	}

	/* &:not(.open) {
		&::after {
			content: "";
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			height: 100px;
			background: rgb(255, 255, 255);
			background: linear-gradient(0deg,
					rgba(255, 255, 255, 1) 0%,
					rgba(255, 255, 255, 0) 100%);
		}
	} */
}

.link.open {
	display: none;
}

.read-more-content {
	overflow: hidden;
	height: 0;
	transition: height 200ms ease-in-out;



	&.open {
		height: 100%;
		transition: height 200ms ease-in-out;
	}
}

.buttons {
	display: flex;
	gap: 30px;
}

.tag {
	display: inline-block;
	padding: 4px 6px;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--secondary);
	border-radius: 2px;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1;
}

div[class*="m-"] {
	&.has-background {
		.element__titre:not(.m-cards-pictos__titre) {
			color: currentColor;
		}
	}
}

body:not(.logged-in) {
	.ratio {
		&:before {
			position: absolute;
			top: 0;
			bottom: 0;
		}
	}
}

.ratio {
	max-height: 650px;
	overflow: hidden;

	&:before {
		padding-top: 0 !important;
	}
}

.rll-youtube-player .play {
	background: url(./assets/img/play.png) center center no-repeat !important;
}

.rll-youtube-player div img,
.rll-youtube-player img {
	max-height: inherit !important;
}

.rll-youtube-player button {
	max-height: 650px;
}

.swiper-button-prev,
.swiper-button-next {
	margin: 0 !important;
}

.swiper-button-prev:not(.swiper-button-prev--light):not(.swiper-button-prev--green),
.swiper-button-next:not(.swiper-button-next--light):not(.swiper-button-next--green) {

	color: #fff !important;
	transition: all 300ms ease-in-out;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 82px !important;
	height: 82px !important;

	@media(width < 767px) {
		width: auto;
		height: auto;
		color: var(--wp--preset--color--primary) !important;
	}

	&:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 82px !important;
		height: 82px !important;
		border: solid 1px #fff;
		border-radius: 50%;
		background-color: rgba(255, 255, 255, 0.2);
		backdrop-filter: blur(5px);
		z-index: 0;
		transition: all 300ms ease-in-out;

		@media(width < 767px) {
			display: none;
		}
	}

	&:after {
		z-index: 1;
	}

	&:hover {
		cursor: pointer;
		color: var(--wp--preset--color--primary) !important;

		&:before {
			background-color: rgba(133, 167, 18, 0.2);
			transform: scale(1.1);
			border-color: var(--wp--preset--color--primary);
		}
	}

	&:after {
		font-family: 'demeurance' !important;
		content: '\e809' !important;
		font-size: 1rem !important;
	}
}

.swiper-button-prev {
	transform: scaleX(-1);
}


.swiper-button-prev--light {
	left: 15px !important;
}

.swiper-button-next--light {
	right: 15px !important;
}

.swiper-button-prev--light,
.swiper-button-next--light {
	width: auto;
	height: auto !important;

	&:after {
		line-height: normal !important;
		content: '\e809' !important;
		font-size: 15px !important;
		font-family: 'demeurance' !important;
	}

}

.swiper-button-next--green,
.swiper-button-prev--green {
	border: solid 1px var(--wp--preset--color--primary) !important;
	background-color: transparent !important;
	color: var(--wp--preset--color--primary) !important;
	border-radius: 50% !important;
	width: 48px !important;
	height: 48px !important;
	top: auto !important;
	bottom: 15px !important;

	&:after {
		line-height: normal !important;
		content: '\e809' !important;
		font-size: 12px !important;
		font-family: 'demeurance' !important;
	}
}

/**************/

.play {
	display: flex;
	width: 100%;
	height: auto;
	background-color: #f7f7f7;
	position: relative;
	min-height: 105px;

	@media(width < 767px) {
		min-height: 80px;
	}

	&:hover {
		cursor: pointer;
	}

	span {
		position: absolute;
		padding: 0;
		margin: auto;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 70px;
		height: 70px;
		border-radius: 50%;
		background-color: rgba(255, 255, 255, 0.7);
		backdrop-filter: blur(7px);
		display: flex;
		align-items: center;
		justify-content: center;

		&:before {
			display: inline-block;
			content: '';
			height: 0;
			width: 0;
			border-top: 13px solid transparent;
			border-bottom: 17px solid transparent;
			border-left: 30px solid var(--wp--preset--color--secondary);
			transform: translateX(3px);
		}
	}
}

/*** Facets ***/
.facetwp-type-fselect {
	.fs-wrap {
		width: 329px;
		max-width: 329px;

		.fs-label-wrap {
			background-color: var(--wp--preset--color--gris);
			border: solid 1px var(--wp--preset--color--primary);

			&:hover {
				cursor: pointer;
			}

			.fs-label {
				padding: 11px 15px;
				font-weight: 400;
				font-size: .875rem;
				line-height: 1.625rem;
				color: rgba(30, 32, 52, 0.5);
			}

			.fs-arrow {
				border: none;
				width: 13px;
				height: 8px;
				right: 14px;

				&:after {
					display: block;
					width: 13px;
					height: 8px;
					content: '\e803';
					color: var(--wp--preset--color--primary);
					font-family: 'demeurance';
					font-size: 8px;
				}
			}
		}

		.fs-dropdown {
			border-color: var(--wp--preset--color--primary);

			.fs-options {
				.fs-option {
					color: var(--wp--preset--color--main);
					padding: 11px 15px 11px 30px;
					line-height: 1.5rem;
					width: 100%;
					word-break: auto-phrase;

					.fs-option-label {
						word-break: auto-phrase;
						white-space: inherit;
					}

					&.d0,
					&.d1 {
						.fs-option-label {
							font-weight: 500;
						}
					}

					&.d1 {
						.fs-option-label {
							padding-left: 10px;
						}
					}

					&.d2 {
						.fs-option-label {
							padding-left: 20px;
							font-size: 14px;
						}
					}

					&:hover {
						background-color: var(--wp--preset--color--gris);
					}

					&.selected {
						i {
							background-color: var(--wp--preset--color--primary);
						}
					}
				}
			}
		}
	}
}

.facetwp-checkbox {
	background-image: url(./assets/img/checkbox.png) !important;

	&.checked {
		background-image: url(./assets/img/checkbox-checked.png) !important;
	}
}

.facetwp-type-pager {
	text-align: center;
	margin-top: 50px;

	.facetwp-load-more {
		display: inline-block;
		padding: .2em 1em !important;
		font-weight: 800;
		font-family: var(--wp--preset--font-family--secondary);

		&:hover {
			cursor: pointer;
		}
	}

	.facetwp-pager {
		.facetwp-page {
			width: 28px;
			height: 28px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			border: solid 1px var(--wp--preset--color--primary);
			font-size: 1.25rem;
			font-family: var(--wp--preset--font-family--secondary);
			color: var(--wp--preset--color--secondary) !important;
			text-decoration: none;
			border-radius: 50%;

			&.prev,
			&.next {
				border: none;
				width: auto;
				color: var(--wp--preset--color--primary) !important;
				font-size: 1rem;

				&.active {
					background-color: transparent !important;
				}
			}

			&.prev {
				i {
					transform: scaleX(-1);
				}
			}

			&.active {
				background-color: var(--wp--preset--color--primary) !important;
			}
		}
	}
}


.facetwp-type-number_range {
	.facetwp-number {
		border: solid 1px var(--wp--preset--color--primary);
		background-color: var(--wp--preset--color--gris);
		padding: 11px 15px;
		font-weight: 400;
		font-size: .875rem;
		line-height: 1.625rem;
		color: rgba(30, 32, 52, 0.5);
		border-radius: 0;

		&:focus-visible {
			outline: none;
		}
	}

	.facetwp-submit {
		margin-left: 8px;
		background-color: var(--wp--preset--color--primary);
		color: #fff;
		border: none;
		height: 50px;
		padding-left: 1em;
		padding-right: 1em;
		border-radius: 0;

		&:hover {
			cursor: pointer;
		}
	}
}

.facetwp-type-sort {

	select {
		border-radius: 0;
		border: solid 1px var(--wp--preset--color--primary);
		background-color: transparent;
	}
}

/*** Header transparent ***/
.blog,
.single-post,
.category,
.page-template-page-avis,
.page-template-page-no-title,
.page-template-default:not(.body-header-transparent),
.page-template-page-contact,
.error404 {
	main.wp-block-group {
		padding-top: var(--wp--preset--spacing--xx-large) !important;

		@media(width < 1400px) {
			padding-top: 0 !important;
		}
	}
}

.blog.body-top-message,
.single-post.body-top-message,
.category.body-top-message,
.page-template-page-avis.body-top-message,
.page-template-page-no-title.body-top-message,
.page-template-default.body-top-message:not(.body-header-transparent),
.page-template-page-contact.body-top-message,
.error404.body-top-message {
	main.wp-block-group {
		padding-top: 170px !important;

		@media(width < 1400px) {
			padding-top: 0 !important;
		}

	}
}

header {

	@media(width > 1400px) {
		&.wp-block-template-part {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			z-index: 5;
			transition: all 300ms ease-in-out;

			.logo-small {
				display: none;
				opacity: 0;
				visibility: hidden;
				margin: 0;
			}
		}
	}

	@media(width < 1740px) {

		.logo-full,
		.header-avis {
			max-width: 200px;
		}
	}

	@media(width < 1650px) {
		.is-content-justification-space-between {
			gap: var(--wp--preset--spacing--large);
		}

		.logo-full,
		.header-avis {
			max-width: 170px;
		}
	}

	@media(width < 1471px) {
		.is-content-justification-space-between {
			gap: var(--wp--preset--spacing--small);
		}

		.logo-full {
			max-width: 162px;
			margin-top: 0;
		}

		&.wp-block-template-part {

			.logo-small {
				display: none;
				opacity: 0;
				visibility: hidden;
				margin: 0;
			}
		}

		.header-avis {
			display: none;
		}
	}
}

/* header transparent sticky */
.page-template-default,
.page-template-page-no-title,
.single-annonce,
.body-listing,
.body-header-transparent,
.home {
	header {
		&.sticky {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			background-color: var(--wp--preset--color--secondary) !important;
			opacity: 1;
			width: 100vw;

			#top_bar {
				display: none;
			}

			@media (width > 1400px) {
				.logo-small {
					display: inline-block;
					opacity: 1;
					visibility: visible;

				}

				.logo-full {
					display: none !important;
				}

				.header-avis {
					display: inline-flex;
					height: auto;
					margin-left: 8px !important;

					.wp-block-image {
						img {
							vertical-align: middle;
						}
					}
				}

			}

			.menu_top {
				.wp-block-navigation__container {
					.wp-block-navigation-item {
						.wp-block-navigation-item__content {
							padding: 25px 6px;

							@media(width <=1400px) {
								padding: 10px 6px;
							}

							&:hover {
								.wp-block-navigation-item__label {

									i {
										color: var(--wp--preset--color--base) !important;
									}

								}
							}

							.wp-block-navigation-item__label {
								span {
									display: none;
								}

							}
						}
					}
				}
			}

			.has-gris-background-color {
				background-color: transparent !important;
			}

			.header-transparent {
				#navigation {
					#primary-menu {
						>li {

							>.has-children-wrapper a,
							>a {
								color: #fff;

								&:hover {
									color: var(--wp--preset--color--primary);
								}
							}
						}
					}
				}
			}
		}
	}
}

/** single realisation **/
.post-type-archive-realisation,
.single-realisation {

	/*fix gutenberg default style */
	.modal {
		max-width: inherit;
		margin: 0;
	}
}

#galerieModal {
	.modal-dialog {
		max-width: 1340px;
	}

	.modal-content {
		background-color: transparent;
		border: none;

		.modal-header {
			border: none;
			padding: 40px 90px 30px 50px;

			@media(width < 765px) {
				padding-right: 0;
				padding-top: 0;
			}

			.btn-close {
				opacity: 1;

				&:hover {
					cursor: pointer;
				}
			}
		}

		.modal-body {
			padding: 0 90px;

			@media(width < 765px) {
				padding: 0;
			}

			.swiper-pagination-fraction {
				left: 90px !important;

				@media(width <=765px) {
					left: 0 !important
				}
			}

			.galerie_nav {
				position: absolute;
				left: 0;
				right: 0;
				top: 40%;

				@media(width < 765px) {
					top: inherit;
					bottom: -5px;
					max-width: 100px;
					margin: 0 auto;
				}

				.swiper-button-prev {
					left: 0;

					@media(width < 765px) {
						width: auto !important;
						height: auto !important;
					}
				}

				.swiper-button-next {
					right: 0;

					@media(width < 765px) {
						width: auto !important;
						height: auto !important;
					}
				}
			}
		}
	}
}

/* archive filtre */
.archive__filtre {
	z-index: 2;
	padding-top: var(--wp--preset--spacing--xxx-large) !important;

	.yoast-breadcrumbs {
		color: var(--wp--preset--color--secondary);
	}

	@media(width < 1400px) {
		padding-top: var(--wp--preset--spacing--medium) !important;
	}

	&:after {
		top: inherit !important;
		left: inherit !important;
	}
}

body.body-top-message {
	.archive__filtre {
		padding-top: var(--wp--preset--spacing--xxxx-large) !important;

		@media(width < 1400px) {
			padding-top: var(--wp--preset--spacing--medium) !important;
		}
	}
}


.filtre-desktop {
	margin-top: 0 !important;
	min-height: 113px;

	.facetwp-type-fselect {
		margin-top: 6px;
	}
}

#filtreMobileModal {
	.modal-content {
		color: #fff;
		background-color: var(--wp--preset--color--secondary);

		&:after {
			content: '';
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 0;
			background-image: url(./assets/img/logo-filtre.svg);
			background-position: bottom;
			background-repeat: no-repeat;
			opacity: 0.09;
		}

		.btn-close {
			opacity: 1;
			z-index: 1;
			margin: 8px 8px 0 auto;
			color: var(--wp--preset--color--primary);
		}

		.modal-body {
			padding-top: 0;
			position: relative;
			z-index: 1;

			.filtre__titre {
				font-size: 1.625rem;
				color: #fff;
				margin-top: 0;
				margin-bottom: 30px;
				font-family: var(--wp--preset--font-family--secondary);
				font-weight: 800;
			}

			.accordion {
				background-color: transparent;

				.accordion-item {
					border: none;
					background-color: transparent;

					.accordion-button {
						background-color: transparent;
						color: #fff;
						padding: 6px 8px 6px 0;
						border: none;
						font-weight: 500;
						box-shadow: none;
						display: flex;
						justify-content: space-between;
						width: 100%;

						&:after {
							font-size: 12px;
							display: block;
							content: '\e803';
							font-family: "demeurance";
							color: var(--wp--preset--color--primary);
							transition: all 300ms ease-in-out;
						}

						&[aria-expanded="true"]:after {
							transform: rotate(180deg);
						}
					}

					.accordion-body {
						padding-left: 0;

						.facetwp-facet {
							color: #fff;
							margin: 0;
						}
					}
				}
			}
		}

		.modal-footer {
			border: none;
			justify-content: center;
			position: relative;
			z-index: 1;
			flex-direction: column;

			button {
				display: block;
				border: none;
				margin: 0;
				height: auto;
				width: 100%;

				&.reset {
					background-color: transparent;
					color: var(--wp--preset--color--primary);
					font-weight: 800;
					font-family: var(--wp--preset--font-family--secondary);
					margin-bottom: 20px;
				}
			}
		}
	}
}

.nothing {
	background-color: var(--wp--preset--color--gris);
	color: var(--wp--preset--color--secondary);
	padding: 20px;
	font-weight: bold;
	font-family: var(--wp--preset--font-family--secondary);
	line-height: normal;

	a {
		color: var(--wp--preset--color--secondary);
		text-decoration: underline;
	}
}

/*** Gravityform ***/
.gform_confirmation_message {
	background-color: var(--wp--preset--color--primary-accent);
	padding: 20px;
	border-radius: 5px;
}

.gform-theme {
	.gform_heading {
		.gform_required_legend {
			font-size: 12px;
			font-style: italic;
		}
	}

	.gform_validation_errors {
		outline: none !important;
		box-shadow: none !important;
		margin-bottom: 0 !important;
	}

	.gform-body {
		.gform_fields {
			row-gap: 26px;

			.gfield {
				position: relative;

				.gfield_description {
					font-size: .75rem;
				}

				input:not([type="checkbox"]):not([type="radio"]),
				textarea,
				select {
					box-shadow: none;
					padding: 20px 15px;
					height: auto;
					line-height: normal;
				}

				&.gfield--input-type-text,
				&.gfield--input-type-select,
				&.gfield--input-type-textarea,
				&.gfield--input-type-email,
				&.gfield--input-type-phone {
					label {
						position: absolute;
						top: 20px;
						left: 15px;
						z-index: 0;
						transition: all 300ms ease-in-out;
						margin: 0;

						&.has-focus {
							left: 15px;
							font-size: .75rem;
							color: var(--wp--preset--color--primary);
							top: 0;
						}
					}

					input,
					textarea,
					select {
						position: relative;
						z-index: 1;
						background-color: transparent;
					}

					textarea {
						height: 128px;
						min-block-size: 128px !important;
					}

				}

				&.gfield--type-radio {
					.ginput_container_radio {
						.gfield_radio {
							display: inline-flex;
							border: solid 1px var(--wp--preset--color--primary);
							border-radius: 5px;
							padding: 5px;
							flex-direction: row;

							.gchoice {
								flex: 0 0 auto;
								position: relative;
								display: inline-block;

								&:hover {
									cursor: pointer;
								}

								.gfield-choice-input {
									position: absolute;
									z-index: 0;
									margin: auto;
									top: 0;
									left: 0;
									right: 0;
									bottom: 0;
								}

								.gform-field-label {
									display: block;
									position: relative;
									z-index: 1;
									padding: 9px 20px;
									line-height: normal;
									margin: 0;
									background-color: #fff;
								}

								.gfield-choice-input:checked {
									+.gform-field-label {
										background-color: var(--wp--preset--color--primary);
										color: #fff;
										border-radius: 5px;
									}
								}
							}
						}
					}
				}

			}
		}

		.gfield_consent_label {
			font-size: .75rem;

			&:hover {
				cursor: pointer;
			}
		}

		.gfield_consent_description {
			border: none;
			padding: 0;
			font-weight: 300;
			font-size: .75rem;
		}
	}

	.gform-footer {
		text-align: center;
		justify-content: center;
		height: 48px;

		.gform_button {
			font-size: 1.125rem;
			display: block;
			width: 100% !important;
			padding: 17px 0;
			height: auto;
			font-size: 1.125rem !important;
			clip-path: polygon(15px 0, 100% 0, 100% calc(100% - 15px), calc(100% - 15px) 100%, 0 100%, 0 15px);
		}
	}
}

/*********/
.btn-close {
	&:hover {
		cursor: pointer;
	}
}

#contactModal {
	.btn-close {
		margin: 50px 50px 0 auto;

		@media(width < 765px) {
			margin: 28px 28px 0 auto;
		}
	}

	.modal-body {
		padding: 0 50px 50px;

		@media(width < 765px) {
			padding: 0 28px 28px;
		}

		.modal-title {
			position: relative;
			margin-left: 50px;
			font-weight: 800;
			font-family: var(--wp--preset--font-family--secondary);
			color: var(--wp--preset--color--secondary);
			font-size: var(--wp--preset--font-size--large);
		}
	}
}


/***** Page contact ***/
.page-template-page-contact {
	.wp-block-cover {
		@media(width < 1400px) {
			width: 100% !important;
			flex-basis: auto;
			padding-right: 0 !important;
			padding-left: var(--wp--preset--spacing--small) !important;
		}
	}

	.contact__reassurance {
		@media(width < 1400px) {
			display: flex;
			flex-direction: row;
			flex-wrap: nowrap;
			padding-top: 0 !important;
			margin-top: 1em !important;
			justify-content: flex-start;
			align-items: center;
			animation: scroll-left 20s linear infinite;

			>.wp-block-group {
				flex: 0 0 auto !important;

				>.wp-block-group:first-child {
					flex-basis: 80px !important;
				}

				.wp-block-image {
					max-width: 80%;
				}

				p {
					font-size: 1.125rem;
				}

				p:not(.has-primary-color) {
					display: none;
				}
			}
		}
	}

	h1.wp-block-post-title {
		position: relative;
	}

	.contact__form {

		@media(width < 1400px) {
			flex-basis: auto !important;
			padding-top: 0 !important;
			padding-left: 15px !important;
			padding-right: 15px !important;
		}
	}
}

/** single post **/
.single-post {
	main .is-layout-constrained>* {
		margin-block-start: var(--wp--preset--spacing--small) !important;
	}
}

/** nav_categories **/
#nav_categories {
	text-align: center;

	@media(width <=991px) {
		margin-right: -12px !important;
	}

	.nav-pills {
		width: auto;
		justify-content: center;
		border: solid 1px var(--wp--preset--color--primary);
		padding: 5px;
		border-radius: 5px;
		gap: 20px;
		margin: 0 auto;
		display: inline-flex;

		@media(width <=991px) {
			border-right: none;
			border-radius: 5px 0 0 5px;
			overflow-x: scroll;
			justify-content: flex-start !important;
			flex-wrap: nowrap;
			flex: 100% 0 0;
		}

		.nav-item {
			list-style: none;
			margin: 0;
			padding: 0;

			@media(width <=991px) {
				flex: 0 0 auto;
			}

			a {
				display: block;
				padding: 8px 16px;
				border-radius: 5px;
				font-weight: 800;
				font-family: var(--wp--preset--font-family--secondary);
				color: var(--wp--preset--color--main);
				border: none;
				text-decoration: none;

				@media(width<=991px) {
					flex: 0 0 auto;
				}

				&:hover {
					cursor: pointer;
				}
			}


			&.current {
				a {

					background-color: var(--wp--preset--color--primary);
					color: #fff;
				}
			}
		}



	}
}


.modal {
	.close {
		position: absolute;
		top: 15px;
		right: 15px;
	}

	.modal-header {
		padding: 40px 50px 0 50px;
		border: none;

		@media(width < 765px) {
			padding: 15px;
		}

		.modal-title {
			margin-left: 50px;
			position: relative;
			font-weight: 800;
			font-size: var(--wp--preset--font-size--large);
			font-family: var(--wp--preset--font-family--secondary);
			color: var(--wp--preset--color--secondary);
		}
	}

	.modal-body {
		padding: 15px 50px 40px 50px;

		@media(width < 765px) {
			padding: 15px;
		}
	}
}