/*
    Styles à appliquer à l'ensemble du site
*/

/* Cache les shortcodes pour l'ajout de scripts dans la page */
#row-scripts {
    display: none;
}

/*----- Override "overflow:hidden" pour les background imgs de rows et columns -----*/
/*----- ATTENTION - Ceci permet au background img de dépasser son parent, ce qui peu causer des effet non voulus -----*/
/*.header-wrapper,
.row-background:not(footer .row-background),
.column-background,
.background-wrapper:not(footer .background-wrapper) {
	overflow: visible;
}*/

/*----- Styles pour default buttons -----*/
/*----- ATTENTION - Ajouter "!important", la majorité des options par défaut de UNCODE ont ajouté ce keyword -----*/
.btn-container a {
	font-size: 24px;
}

.btn-container a.btn-underline-out.btn-icon-right span {
	display: inline-flex;
	align-items: center;
	text-wrap: nowrap;
}
a.btn-underline-out::before {
	translate: 0 -5px;
	height: 1.5px;
}

@media (max-width:959px) {
	.btn-container a {
		font-size: 18px;
	}
}

@media (max-width:569px) {
	.btn-container a {
		font-size: 16px;
	}
}

/*----- Style généraux -----*/
::selection {
	background-color: #E42613;
	color: white !important;
}

.fontheight-reset > * {
	line-height: normal !important;
}

p {
	line-height: normal;
}

.text-lead:not(ul):not(ol) > * {
	line-height: 45px;
}

.prx-half-header-img-column {
	border-bottom-left-radius: 2em;
	overflow: hidden;
}

.prx-half-header-img-column .uncont {
	padding-top: 0 !important;
	height: 100%;
}

.prx-half-header-img-column .tmb-overlay-gradient-top .t-entry-visual-overlay-in {
	opacity: 1 !important;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(255, 255, 255, 0) 30%) !important;
}

.module-gallerie-projets .t-entry-visual-cont .dummy {
	padding-top: 100% !important;
}

.module-gallerie-projets img {
	object-fit: cover;
}

@media (max-width: 959px) {

	.post-content > div:not(.no-extra-padding-mobile) {
		padding: 36px 0;
	}

	footer {
		padding-top: 36px;
	}

	.lineheight-prx-h1 {
		line-height: 60px !important;
	}

	.lineheight-prx-h2 {
		line-height: 55px !important;
	}
}

@media (max-width: 569px) {

	h1 {
		font-size: 45px !important;
	}

	p {
		font-size: 16px;
	}

	.fontsize-exergue-big {
		font-size: 50px !important;
	}

	.lineheight-prx-h1 {
		line-height: 55px !important;
	}

	.lineheight-prx-h2 {
		line-height: 40px !important;
	}

	.text-lead p {
		font-size: 22px;
		line-height: 35px !important;
	}

	.main-container .row-container .single-h-padding {
		padding-left: 18px;
		padding-right: 18px;
	}
}


/*----- Style du menu principal -----*/

#masthead .row-menu-inner {
	padding-left: 0 !important;
}

#menu-menu-principal {
	display: flex;
	justify-content: space-between;
	left: 0 !important;
}

#menu-menu-principal .logo-container {
	padding-left: 36px;
	padding-right: 18px;
}

#menu-menu-principal .menu-item {
	margin: auto;
	height: fit-content;
}

#menu-menu-principal .menu-item.cta-projet {
	margin-right: 0;
}

.menu-light .menu-item a:not(#services-megamenu a)::before {
	height: 1.5px;
}

#menu-menu-principal .menu-item a {
	padding: 0 !important;
	margin: 0 18px;
	transition: color 0.4s ease-in-out,backdrop-filter 0.4s cubic-bezier(0.35, 0.81, 0.41, 1);
}

#menu-menu-principal .cta-projet a {
	margin-right: 0;
}

#menu-menu-principal .cta-projet a:hover {
	cursor: pointer;
}

.menu-light .menu-item a:hover,
.menu-light .menu-item.active a {
	color: #791539 !important;
}

body:not(.menu-force-opacity):not(.navbar-hover) .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open) .menu-horizontal-inner > .nav > .menu-smart > li > a:not(.un-submenu *):hover,
body:not(.menu-force-opacity):not(.navbar-hover) .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open) .menu-horizontal-inner > .nav > .menu-smart > li.active > a:not(.un-submenu *),
body:not(.menu-force-opacity):not(.navbar-hover) .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent .menu-horizontal-inner > .nav > .menu-smart > li.current-menu-item:not(.menu-item-type-custom) > a {
	color: #791539 !important;
}

body:not(.menu-force-opacity):not(.navbar-hover) .style-dark-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent .menu-horizontal-inner > .nav > .menu-smart > li > a:not(.un-submenu *):hover,
body:not(.menu-force-opacity):not(.navbar-hover) .style-dark-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent .menu-horizontal-inner > .nav > .menu-smart > li.active > a:not(.un-submenu *) {
	color: #C5DBEC !important;
}

/*----- Style mega menu Services -----*/

.menu-container:has(.drop-menu.open-animated) {
	background-color: #F0EAE5 !important;
}

body:not(.menu-force-opacity):not(.navbar-hover) .style-dark-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent .menu-horizontal-inner > .nav > .menu-smart:has(.drop-menu.open-animated) > li > a:not(.un-submenu *),
body:not(.menu-force-opacity):not(.navbar-hover) .style-light-override:not(.is_stuck:not(.menu-desktop-transparent)):not(.is_mobile_open).menu-transparent .menu-horizontal-inner > .nav > .menu-smart:has(.drop-menu.open-animated) > li > a:not(.un-submenu *)
{
	color: #791539 !important;
}

#menu-menu-principal .dropdown-toggle i.fa-dropdown {
	display: none;
}

#menu-menu-principal .dropdown-toggle i.menu-icon {
	margin-left: 9px;
	margin-right: 0;
}

#services-megamenu span.exit-btn {
	width: 36px;
	height: 36px;
	position: absolute;
	top: 0;
	right: 50px;
	z-index: 2;
}

#services-megamenu span.exit-btn:hover {
	cursor: pointer;
}

#services-megamenu span.exit-btn::before,
#services-megamenu span.exit-btn::after {
	content: '';
	display: block;
	width: 100%;
	height: 1.5px;
	background-color: #791539;
	position: absolute;
	top: 50%;
}

#services-megamenu span.exit-btn::before {
	rotate: -45deg;
}

#services-megamenu span.exit-btn::after {
	rotate: 45deg;
}

#services-megamenu span.exit-btn:hover::before,
#services-megamenu span.exit-btn:hover::after {
	background-color: #E42613;
}

#menu-menu-principal ul.drop-menu {
	width: 100vw !important;
}

#menu-menu-principal ul.animate_when_almost_visible[role="menu"]:not(.start_animation).top-t-bottom {
	transform: translateY(-50vh);
}

#services-megamenu .uncont {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	width: fit-content;
	margin-left: auto;
	margin-right: 8%;
}

#services-megamenu a {
	font-size: 60px;
	display: flex;
	align-items: center;
	gap: 18px;
	line-height: normal;
	width: fit-content;
}

#services-megamenu a i {
	color: transparent;
	transition: color 0.2s cubic-bezier(0.25, 0.45, 0.4, 1);
}
#services-megamenu a:hover i {
	color: revert;
}

#services-megamenu a::before {
	height: 0.05em;
	translate: 0 -15px;
}

@media (max-width: 1200px) {
	#menu-menu-principal .cta-projet {
		display: none !important;
	}
}

@media (max-width: 959px) {

	#menu-menu-mobile li {
		width: fit-content;
	}

	#menu-menu-mobile li:last-child a {
		white-space: wrap;
	}

	#menu-menu-mobile .btn-underline-in:not(.sub-menu .btn-underline-in)::before {
		translate: 0 -10px;
		height: 1.5px;
	}

	#menu-menu-mobile li > .unmenu-title {
		padding-top: 0;
	}

	#menu-menu-mobile > li {
		margin-top: 54px;
	}

	#menu-menu-mobile .menu-item-has-children .collapsible-icon-wrapper {
		margin-left: 18px;
	}

	#menu-menu-mobile .menu-item-has-children .collapsible-icon {
		transition: rotate 0.2s;
	}

	#menu-menu-mobile .menu-item-has-children.un-submenu-open .collapsible-icon {
		rotate: 45deg;
	}

	#menu-menu-mobile .sub-menu {
		padding-top: 27px;
		row-gap: 36px;
	}

	#menu-menu-mobile .sub-menu li a:hover {
		color: #E42613 !important; 
	}
}

@media (max-width: 569px) {

	#logo-container-mobile {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	#logo-container-mobile .mobile-menu-button {
		padding-right: 18px;
	}

	#menu-menu-mobile > li {
		margin-top: 36px;
	}
}

/*----- Style des formulaires -----*/
#row-form .wpcf7-form * {
    margin-top: 0;
}

#row-form .wpcf7-form > * {
    margin-top: 36px;
}

#row-form .wpcf7-form .wpcf7-not-valid-tip {
	text-align: left;
}

#row-form .wpcf7-form .inline-elmnts p {
    display: flex;
    gap: 18px;
    width: 100%;
}

#row-form .wpcf7-form .inline-elmnts p span:not(.wpcf7-not-valid-tip),
#row-form .wpcf7-form .file-inputfield {
    width: calc(50% - 18px);
}

#row-form .wpcf7-form .inline-elmnts p span input {
    width: 100%;
}

#row-form .wpcf7-form input,
#row-form .wpcf7-form select,
#row-form .wpcf7-form textarea,
#row-form .wpcf7-form .file-inputfield {
    box-shadow: none;
    border: 1.5px solid #791539;
    border-radius: 10px;
    background-color: transparent;
    padding: 24px;
}

#row-form .wpcf7-form input[type="text"]::placeholder,
#row-form .wpcf7-form input[type="tel"]::placeholder,
#row-form .wpcf7-form input[type="email"]::placeholder,
#row-form .wpcf7-form textarea::placeholder {
	opacity: 1;
	transition: opacity 0.4s;
}

#row-form .wpcf7-form input[type="text"]:focus::placeholder,
#row-form .wpcf7-form input[type="tel"]:focus::placeholder,
#row-form .wpcf7-form input[type="email"]:focus::placeholder,
#row-form .wpcf7-form textarea:focus::placeholder {
	opacity: 0.5;
}

#row-form .wpcf7-form select {
    background-image: url('/wp-content/uploads/2026/04/form-arrow-icon.svg');
    background-position: calc(100% - 24px) center;
}

#row-form .wpcf7-form p:has(.wpcf7-acceptance) {
    margin-top: 18px;
    text-align: left;
}

#row-form .wpcf7-form .file-inputfield {
	font-weight: 400;
	text-align: left;
	line-height: normal;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: fit-content;
}

#row-form .wpcf7-form .file-inputfield:hover {
	cursor: pointer;
}

#row-form .wpcf7-form .file-inputfield span:has(input) {
	display: none;
}

#row-form .wpcf7-form .file-inputfield i.fa-plus2 {
	transition: rotate 0.2s;
}

#row-form .wpcf7-form .file-inputfield:hover i.fa-plus2:not(.has-file) {
	color: #E42613;
}

#row-form .wpcf7-form .file-inputfield i.fa-plus2.has-file {
	rotate: 45deg;
}
#row-form .wpcf7-form .file-inputfield i.fa-plus2.has-file:hover {
	color: #E42613;
}

#row-form .wpcf7-form input[type="checkbox"]:checked::before {
    color: #E42613;
}

#row-form .wpcf7-form p.btn-underline-out {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 9px;
}
#row-form .wpcf7-form p.btn-underline-out::before {
	translate: 0 -5px;
  	height: 1.5px;
}

#row-form .wpcf7-form input[type="submit"] {
    border: none;
    padding: 0;
}

@media (max-width: 569px) {

	#row-form .wpcf7-form > * {
		margin-top: 18px;
	}

	#row-form .wpcf7-form input:not(input[type="checkbox"]),
	#row-form .wpcf7-form select,
	#row-form .wpcf7-form textarea,
	#row-form .wpcf7-form .file-inputfield {
		border-radius: 5px;
	}

	#row-form .wpcf7-form .inline-elmnts p {
		gap: 9px;
	}

	#row-form .wpcf7-form .inline-elmnts p span:not(.wpcf7-not-valid-tip),
	#row-form .wpcf7-form .file-inputfield {
		width: calc(50% - 9px);
	}

	#row-form .wpcf7-form .file-inputfield span.input-label {
		font-size: 16px;
	}

	#row-form .wpcf7-form .file-inputfield i {
		font-size: 16px;
	}

	#row-form .wpcf7-acceptance label {
		line-height: 1;
	}

	#row-form .wpcf7-form p.btn-underline-out {
		margin-top: 36px;
	}

	#row-form .wpcf7-form p.btn-underline-out input {
		font-size: 16px;
	}
}


/*----- Style du footer -----*/

#ruban-logos-clients img {
	width: 17vw;
}

#row-footer-projet .vc_custom_heading_wrap {
	margin: 0;
}

#row-footer-projet .vc_custom_heading_wrap p {
	font-size: 55px;
	font-weight: 500;
}

#row-footer-links a {
	transition: 0.2s all;
}

#row-footer-links a:hover {
	text-decoration: underline
}

#row-footer-links .col-joindre-footer .email {
	text-decoration: underline;
}

#row-footer-links .col-joindre-footer .email:hover {
	text-decoration: none;
}

#row-footer-links .col-joindre-footer .socials-footer-elmnt {
	margin-top: 9px
}

#row-footer-links .col-joindre-footer .socials-footer-elmnt p {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#row-footer-links .col-joindre-footer .socials-footer-elmnt a {
	font-size: 14px;
	min-width: 50%;
	margin-top: 18px;
}

#row-footer-links .col-nav-footer a {
	font-weight: 500;
}

#row-footer-links .col-carriere-footer .uncont {
	max-width: 50%;
  	padding: 20px 40px 40px 20px;
  	border: 1.5px solid red;
  	border-radius: 1em;
    border-top-left-radius: 1em;
  	border-top-left-radius: 0;
}

@media (max-width: 1500px) {

	#row-footer-links .col-empty-space {
		display: none;
	}

	#row-footer-links .col-carriere-footer .uncont {
		max-width: 60%;
	}
}

@media (max-width: 1200px) {

	#row-footer-links .col-nav-footer:nth-child(6) {
		padding-left: 9px;
	}

	#row-footer-links .col-carriere-footer {
		display: none;
	}
}

#row-footer-links .col-carriere-footer a {
	font-size: 22px;
}

#row-footer-copyright a:hover {
	color: #E42613;
}

@media (max-width:959px) {

	#row-footer-projet .wpb_column {
		padding-top: 9px;
	}

	#ruban-logos-clients img {
		width: 20vw;
	}

	#row-footer-logo > .row-parent {
		padding-bottom: 0;
	}

	#row-footer-links > .row-parent {
		padding-top: 18px;
	}

	#row-footer-links .col-nav-footer {
		margin-top: 36px;
	}

	#row-footer-copyright > .row-parent {
		padding-top: 0;
	}
}

@media (min-width:560px) and (max-width:719px) {

	#row-footer-links .col-joindre-footer {
		padding-left: 0;
	}
}

@media (max-width:569px) {

	#ruban-logos-clients img {
		width: 40vw;
	}

	#row-footer-projet .wpb_column:has(.vc_custom_heading_wrap) {
		height: auto !important;
	}

	#row-footer-projet .vc_custom_heading_wrap p {
		font-size: 30px;
	}

	#row-footer-logo > .row-parent {
		padding: 0 18px;
	}

	#row-footer-links > .row-parent {
		padding-top: 9px;
	}

	#row-footer-links .col-adresse:first-child {
		padding-left: 18px;
	}

	#row-footer-links .col-adresse .uncode_text_column {
		margin-top: 18px;
	}

	#row-footer-links .col-adresse .uncode_text_column p {
		font-size: 15px;
	}

	#row-footer-links .col-joindre-footer {
		padding-left: 18px;
	}

	#row-footer-links .col-joindre-footer .socials-footer-elmnt {
		margin-top: 72px;
	}

	#row-footer-links .col-joindre-footer .socials-footer-elmnt a {
		min-width: 0;
	}

	#row-footer-copyright .copyright-block p {
		font-size: 14px;
	}
}

/*----- Animations -----*/

.single-curtain .split-word {
	white-space: nowrap;
}

@keyframes prxBottomToTop {
	0% {translate: 0 100vh}
	100% {translate: 0 0}
}

@keyframes prxTopToBottom {
	0% {translate: 0 -100vh}
	100% {translate: 0 0}
}

@keyframes prxRightToLeft {
    0% {translate: 100vw 0}
    100% {translate: 0 0}
}

@keyframes prxLeftToRight {
    0% {translate: -100vw 0}
    100% {translate: 0 0}
}