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

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

/*----- 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 le menu -----*/
#menu-menu-principal {
	left: 0 !important;
}

#menu-menu-principal .dropdown .drop-menu:not(.is_stuck #menu-menu-principal .dropdown .drop-menu) {
	margin-top: -25px !important;
}

#menu-menu-principal .dropdown .drop-menu a {
	color: #293274 !important;
}

#menu-menu-principal .dropdown .drop-menu a:hover {
	color: #f98513 !important;
}

.navbar-cta {
	position: absolute;
	right: 0;
	transition: right 0.3s linear;
}

#menu-cta-soumission,
#menu-cta-soumission a {
	padding: 0 !important;
}

.style-dark-override .navbar-cta #menu-cta-soumission a .cta-soumission {
	color: white !important;
	background-color: transparent !important;
	border: 2px solid #AFEDE8 !important;;
}
.style-dark-override .navbar-cta #menu-cta-soumission a:hover .cta-soumission {
	color: #382F2F !important;
	background-color: #AFEDE8 !important;
	border: 2px solid #AFEDE8 !important;
}

.style-dark-override.is_stuck #menu-cta-soumission a .cta-soumission,
#menu-cta-soumission a .cta-soumission:not(.style-dark-override #menu-cta-soumission a .cta-soumission),
.navbar-main #menu-cta-soumission a .cta-soumission {
	color: #293274 !important;
	background-color: transparent !important;
	border: 2px solid #293274 !important;
}

.style-dark-override.is_stuck #menu-cta-soumission a:hover .cta-soumission,
#menu-cta-soumission a:hover .cta-soumission:not(.style-dark-override #menu-cta-soumission a .cta-soumission),
.navbar-main #menu-cta-soumission a:hover .cta-soumission {
	color: white !important;
	background-color: #293274 !important;
	border: 2px solid #293274 !important;
}

@media (min-width:960px) and (max-width: 1449px) {
	#main-logo .logo-image {
		height: 40px !important;
	}
	
	.navbar-cta .cta-soumission {
		padding: 12px 24px !important;
	}
}
@media (min-width:960px) and (max-width:1349px) {
	.navbar-cta {
		display: none !important;
	}
}

@media (max-width:959px) {

	#menu-menu-principal>li,
	#menu-fake-menu-principal>li {
		width: fit-content;
		margin: auto;
		text-align: center;
	}
	
	#menu-menu-principal a,
	#menu-fake-menu-principal a {
		font-size: 25px !important;
	}
	
	#menu-menu-principal li:not(.menu-item-has-children) a i,
	#menu-fake-menu-principal li:not(.menu-item-has-children) a i {
		display: none;
	}

	#menu-menu-principal .dropdown .drop-menu:not(.is_stuck #menu-menu-principal .dropdown .drop-menu) {
		margin-top: revert !important;
		margin-bottom: 36px;
	}

	#menu-menu-principal .dropdown .drop-menu li a {
		font-size: 18px !important;
	}
	
	#menu-cta-soumission {
		margin-top: 100px;
	}
	
	#menu-cta-soumission li {
		width: fit-content;
		margin: auto;
	}
	
	#menu-cta-soumission .cta-soumission {
		font-size: 18px;
	}
}

/*----- Style pour la sélection de textes -----*/
::selection {
	color: #382F2F !important;
}

/*----- Styles pour default buttons -----*/
/*----- ATTENTION - Ajouter "!important", la majorité des options par défaut de UNCODE ont ajouté ce keyword -----*/
.btn-container a.btn-default {
	color: #293274 !important;
	background-color: transparent !important;
	border: 2px solid #293274 !important;
	padding: 12px 24px !important;
	letter-spacing: 0.07em !important;
}

.style-dark .btn-container a.btn-default {
	color: white !important;
	background-color: transparent !important;
	border: 2px solid #AFEDE8 !important;
}

/*----- Style pour le hover des boutons -----*/
.btn-container a.btn-default:not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):hover {
	color: white !important;
	background-color: #293274 !important;
	border: 2px solid #293274 !important;
}

.style-dark .btn-container a.btn-default:not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):hover {
	color: #382F2F !important;
	background-color: #AFEDE8 !important;
	border: 2px solid #AFEDE8 !important;
}

/*----- Style pour les boutons avec icones de fleche -----*/
.btn-container a.btn-default.with-arrow {
	padding-right: 40px !important;
	padding-left: 40px !important;
	display: flex;
	align-items: center;
	font-size: 15px !important;
	position: relative;
}

.btn-container:has(a.with-arrow){
	width: fit-content;
}
#row-header-accueil .btn-container:has(a.with-arrow) {
	margin: auto;
}

.btn-container a.btn-default.with-arrow:not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):hover {
	color: #293274 !important;
	background-color: transparent !important;
}
.style-dark .btn-container a.btn-default.with-arrow:not(.btn-hover-nobg):not(.icon-animated):not(.btn-flat):hover {
	color: white !important;
}

.btn-container a.btn-default.with-arrow svg {
	position: absolute;
	left: calc(100% - 25px);
	width: 65px;
	transition: transform 0.2s;
}

.btn-container a.btn-default.with-arrow:hover svg {
	transform: translateX(20px);
}

@media (max-width:569px) {
	.btn-container a.btn-default.with-arrow {
		font-size: 12px !important;
	}
	.btn-container a.btn-default.with-arrow svg {
		left: calc(100% - 25px);
	}
}

/*----- Style pour les headers -----*/

#page-header .header-description {
	max-width: 70%;
  	margin: auto;
	margin-top: 18px;
}

@media (max-width: 959px) {
	#page-header .header-description {
		max-width: 90%;
	}
}

@media (max-width: 569px) {
	#page-header .header-description {
		max-width: 100%;
	}
}

/*----- Style pour les accordeons Uncode -----*/
.style-light .uncode-accordion .panel-title.active > a,
.style-light .uncode-accordion .panel-title.active > a > span::after,
.style-light .uncode-accordion .panel-title > a:hover {
	color: #293274 !important;
}

/*----- Style des sous-titres -----*/
.prx-sub-heading p {
    color: #382F2F;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.18em;
    line-height: normal;
}

.prx-sub-heading.text-color-cdb-orange-color p {
	color: #f98513;
}

.prx-sub-heading + div {
	margin-top: 9px !important;
}

/*----- Style pour les sections avec un coin coupé -----*/
:root {
	--offset-x: 80%;
	--offset-y: 80%;
}

.prx-corner-cut-hg {
	clip-path: polygon(calc(100% - var(--offset-x)) 0, 100% 0, 100% 100%, 0 100%, 0 calc(100% - var(--offset-y)));
}

.prx-corner-cut-hd {
	clip-path: polygon(0 0, var(--offset-x) 0, 100% calc(100% - var(--offset-y)), 100% 100%, 0 100%);
}

.prx-corner-cut-bd {
	clip-path: polygon(0 0, 100% 0, 100% var(--offset-y), var(--offset-x) 100%, 0 100%);
}

.prx-corner-cut-bg {
	clip-path: polygon(0 0, 100% 0, 100% 100%, calc(100% - var(--offset-x)) 100%, 0 var(--offset-y));
}

.vc_row.prx-corner-cut-hg {
	clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
}

.vc_row.prx-corner-cut-hd {
	clip-path: polygon(0 0, 90% 0, 100% 20%, 100% 100%, 0 100%);
}

.vc_row.prx-corner-cut-bd {
	clip-path: polygon(0 0, 100% 0, 100% 80%, 90% 100%, 0 100%);
}

.vc_row.prx-corner-cut-bg {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%, 0 80%);
}

@media (max-width: 959px) {
	.vc_row.prx-corner-cut-hd {
		clip-path: polygon(0 0, 85% 0, 100% 20%, 100% 100%, 0 100%);
	}
}

@media(max-width: 569px) {
	.vc_row.prx-corner-cut-hd {
		clip-path: polygon(0 0, 80% 0, 100% 10%, 100% 100%, 0 100%);
	}
}

/*----- Styles pour le footer -----*/
footer {
	background-color: white;
}

.page-wrapper:has(.post-content > div:last-child.style-color-cdb-beige-bg) ~ footer {
	background-color: #f4f1ec;
}

footer #row-cta-soum {
	margin-bottom: -200px;
	z-index: 1;
}

footer #row-cta-soum .cta-soum-col-txt .uncell {
	padding: 85px 15%;
	padding-right: 36px;
}

footer #row-cta-soum .cta-soum-col-img > .uncol {
	height: 100%;
}

footer #row-cta-soum .cta-soum-col-txt .vc_custom_heading_wrap:has(h3) {
	margin-top: 18px;
}

footer:has(#row-cta-soum) #row-main-footer {
	padding-top: 200px;
}

footer #row-main-footer .col-separator-footer div {
	height: 100%;
}

footer #row-main-footer .col-separator-footer .separator {
	width: 1px;
	margin: auto;
	border: 1px solid #AFEDE8;
	position: relative;
	height: 120%;
	top: -10%;
}

footer #row-main-footer .col-infos-social-footer h4 {
	margin: 0;
}

footer #row-main-footer .col-infos-social-footer .footer-addr h4:hover a {
	color: #AFEDE8 !important;
}

footer #row-main-footer .col-infos-social-footer .uncode-vc-social {
	margin-top: 0 !important;
}

footer #row-main-footer .col-infos-social-footer .uncode-vc-social.icons-lead .social-icon i {
	font-size: 36px;
	color: #AFEDE8;
}

footer #row-main-footer .col-infos-social-footer .uncode-vc-social.icons-lead .social-icon i:hover {
	color: white;
}

footer #gallery-certs {
	max-width: 50%;
	margin-left: 41%;
}

footer #gallery-certs .wpb_wrapper {
	display: flex;
	gap: 36px;
}

footer #gallery-certs img {
	width: auto;
	max-width: calc(25% - 27px);
	height: 60px;
	object-fit: contain;
}

footer #row-copyright .row-parent {
	padding-bottom: 0 !important;
}

footer #row-copyright .copyright-block {
	margin: 14px 0 !important;
}

footer #row-copyright .copyright-block {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

footer #row-copyright .copyright-block p {
	margin: 0;
	font-size: 13px;
	line-height: 1.3em;
}

@media (max-width: 959px) {
	
	footer #row-cta-soum .cta-soum-col-txt .uncell {
		padding: 54px 36px;
	}
	
	footer #row-main-footer .col-logo-footer {
		margin-bottom: 36px;	
	}
	
	footer #row-main-footer .col-logo-footer > .uncol {
		width: 50%;
		margin: auto;
	}

	footer #gallery-certs {
		max-width: none;
		margin-left: 0;
	}
	
	footer #row-copyright .copyright-block {
		flex-direction: column;
		text-align: center;
	}
	
	footer #row-copyright .copyright-block p:last-child {
		padding: 0 10%;
		padding-top: 10px;
		margin-top: 10px;
		border-top: 2px solid #AFEDE8;
	}
}

@media (min-width:560px) and (max-width:959px) {
	footer #row-main-footer .col-nav-footer {
		padding-left: 15%;
	}
}

@media (max-width:569px) {
	
	footer #row-main-footer .col-logo-footer {
		height: auto !important;
	}
	
	footer #row-main-footer .col-logo-footer > .uncol {
		width: 100%;
	}
	
	footer #row-main-footer .col-nav-footer {
		margin-bottom: 18px;
	}

	footer #gallery-certs .wpb_wrapper {
		flex-wrap: wrap;
		justify-content: center;
	}

	footer #gallery-certs img {
		max-width: calc(50% - 18px);
	}
}