/*
Theme Name: Global SA
Author: Rougevert
Tags: blog, custom-menu
Version: 1.0.0
Requires at least: 5.0.0
Tested up to: 5.8.0
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: global_sa
*/

/* BIEN PENSER A AJOUTER 1024M DANS LE wp-config.php */

/* COULEURS */

/* GENERAL */
body {margin: 0;}

html {overflow-x: hidden;}

.elementor-post-navigation__separator-wrapper {margin: 0 10px;}

div[id^='vertical-slider-']{border-radius: 0px 50px 50px 50px;}

.swiper-container,
.swiper-wrapper,
.swiper-slide {
  height: 100% !important;
}

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

.swiper-fade .swiper-slide {display: flex;}


/* FORMULAIRE */
span.gfield_required.gfield_required_asterisk {display: inline-block !important;}

input[type="text"]:focus, 
input[type="password"]:focus, 
textarea:focus {
	outline: none;
}

[id^='gform_submit_button_'] {
	padding: 0.5rem 1rem;
	border-width: 2px;
	border-radius: 0 !important;
	border-style: solid;
	border-color: var(--e-global-color-primary) !important;
	color: white !important;
	background-color: var(--e-global-color-primary) !important;
	transition: all .5s;
	font-family: 'Helvetica', sans-serif !important;
	box-shadow: none !important;
}

[id^='gform_submit_button_']:hover {
	background-color: white !important;
	color: var(--e-global-color-primary) !important;
	transform: scale(0.90);
}

[id^="gform_"] textarea,
[id^="gform_"] input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
	border-radius: 0 !important;
	border: none !important;
	font-family: 'Helvetica', sans-serif !important;
	border-bottom: solid 1px var(--e-global-color-primary) !important;
	box-shadow: none !important;
}

[id^="gform_"] label {
	font-family: 'Helvetica', sans-serif !important;
}

[id^="gform_"] label a {
	color: var(--e-global-color-primary) !important;
	font-weight: bold !important;
}

[id^="gform_fields_"] {
	row-gap: 10px !important;
}

[id^="gform_"] input[type="checkbox"],
[id^="gform_"] input[type="radio"] {
	padding: 8px !important;
	outline: none !important;
}

[id^="gform_"] input[type="radio"] {
	border-radius: 50px !important;
	border: solid 1px var(--e-global-color-primary) !important;
}

[id^="gform_"] input[type="checkbox"]::before {
	color: var(--e-global-color-primary) !important;
}

[id^="gform_"] input[type="radio"]::before {
	background-color: var(--e-global-color-primary) !important;
	height: 14px !important;
	width: 14px !important;

}

#input_1_11 {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
}

#field_1_11 {
	margin-bottom: 10px;
}

[id^="gform_wrapper_"] .gform_required_legend {
	display: none !important;
}

div[id^='gform_confirmation_message_'] {
	text-align: center;
}

/* HEADER */

#home_slider_a_masquer {
	background: none !important;
}

li.e-n-menu-item:has(>.e-n-menu-content.e-active)>.e-n-menu-title .e-n-menu-title-text {
	color: var(--e-global-color-primary) !important;
}

.home #menu_header .accueil_logo_menu_header>a,
.home #global_menu_logo>a::before {
	margin-top: -10rem;
	transition: all .5s;
}

.home #menu_header.scrolled .accueil_logo_menu_header>a,
.home #megamenu_header.scrolled #global_menu_logo>a::before {	
	margin-top: 0rem !important;
}

#megamenu_header>.elementor-widget-container {
	width: fit-content;
}

body.home #header.scroll,
body:not(.home) #header {
	background-color: #FFFFFF90;
	backdrop-filter: blur(5px);
}

#megamenu_header .e-n-menu-content>[id^="e-n-menu-content-"] {
	display: flex !important;
}

#megamenu_header .menu_megamenu_survol {
	overflow: hidden;
	transition: all .5s;
}

#megamenu_header .menu_megamenu_survol:hover {
	background-size: 110%;
}

#megamenu_header .menu_interne_apropos ul>li {
	display: flex;
	flex-direction: row;
}

#megamenu_header .menu_interne_apropos ul>li:hover>a,
#megamenu_header .taxonomy-menu-columns ul>li:hover>a {
	letter-spacing: 1px;
}

#megamenu_header .menu_interne_apropos ul>li>a,
#megamenu_header .taxonomy-menu-columns ul>li>a {
	transition: all .5s;
}

#megamenu_header .menu_interne_apropos ul>li::before {
	content: '>';
	font-size: 18px;
	color: white !important;
	margin-right: 5px;
}

#megamenu_header #menu_contact>a {
	flex-direction: column;
}

#megamenu_header #menu_contact>a>.e-n-menu-icon {
	opacity: 0;
	transition: all .5s;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

#megamenu_header #menu_contact>a>.e-n-menu-title-text {
	transition: all .5s;
}

#megamenu_header #menu_contact:hover>a>.e-n-menu-title-text {
	margin-top: 5px;
	margin-bottom: -5px;
}

#megamenu_header #menu_contact:hover>a>.e-n-menu-icon {
	opacity: 1 !important;
	transform: translate(-50%, -125%);
}

#megamenu_header #menu_contact:hover {
	background-color: var(--e-global-color-primary) !important;
}



#menu_header .accueil_logo_menu_header {
	height: 50px !important;
}

#menu_header .accueil_logo_menu_header>a img {
	height: 50px !important;
}

#menu_header .accueil_logo_menu_header>a {
	padding-left: 30px !important;
	padding-right: 30px !important;
}

#menu_contact,
#menu_header li.menu_contact>a {
	background-color: var(--e-global-color-secondary) !important;
	color: white !important;
}

#menu_contact a>span {
	color: white !important;
}

#global_menu_logo .e-n-menu-title-text {
	display: none !important;
}

#global_menu_logo>a::before {
	content: '';
	width: 195px;
	height: 50px;
	background-image: url('/wp-content/uploads/2024/06/logo_global_sa_site.png');
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

#global_menu_logo>a {
	height: 50px !important;
}

.pre_image {
	font-style: italic;
	color: var(--e-global-color-primary) !important;
	font-weight: 300;
	display: flex;
	margin-top: 5px;
}

.pre_h {
	font-style: italic;
	font-weight: 300;
	display: flex;
	margin-top: 5px;
	padding-left: 85px;
}

.pre_image::before {
	content: '';
    width: 80px;
    height: 75px;
    background-image: url(/wp-content/uploads/2025/04/forme_before_buttons.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    margin-left: -30px;
}

.titre_inter .pre_image::before {
	width: 150px !important;
    height: 140px !important;
    position: absolute;
    transform: translate(-100%, 0px);
    left: 100px;
}

.titre_inter .pre_image {
	padding-left: 85px;
}


.titre_inter h1 {
	font-family: "Bai Jamjuree", Sans-serif;
	font-size: 55px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	color: var(--e-global-color-secondary) !important;
}

/* HOME */

/* SLIDER RECUP KLOISIR */

	/***** DÃ©but Slider Home **/
#slides-collection {
	width: 100%;
	position: relative;
	overflow: hidden;
	margin-left: -5px;
	aspect-ratio: 25 / 30;
  }
  
  .slide-home {
	position: absolute;
	transform-origin: center;
	overflow: hidden;
	transition: all 2s ease-in-out;
	width: 100%;  
	color: #fff;
	font-size: 18px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: end;
  }
  
  .left-half,
  .right-half {
	position: absolute;
	width: 100%;
	background-size: cover;
	background-position: center;
	aspect-ratio: 1;
  }
  
  .left-half {
	left: -100%;
	-webkit-clip-path: polygon(0 0, 100% 0, 65% 100%, 0% 100%);
	clip-path: polygon(0 0, 100% 0, 65% 100%, 0% 100%);
  }
  .right-half {
	right: -100%;
	-webkit-clip-path: polygon(35% 0, 100% 0, 100% 100%, 0% 100%);
	clip-path: polygon(35% 0, 100% 0, 100% 100%, 0% 100%);
  }

  .slide-home>.realisation-infos {
	transition: transform .5s;
  }

  .slide-home:not(.active)>.realisation-infos {
	opacity: 0;
  }

  .slide-home.active>.realisation-infos {
	opacity: 1;
  }

  .slide-home.active {
	z-index: 10 !important;
	opacity: 1 !important;
  }

  .slide-home {
	transform: scale(1) !important;
  }

  .partie_photo {
	aspect-ratio: 1;
	width: 100%;
  }

/* FIN SLIDER RECUP KLOISIR */

#icone_expertise,
#icone_innovation,
#icone_engagement,
#icone_proximite {
	opacity: 0;
	transition: all .5s;
}

#icone_expertise.visible,
#icone_innovation.visible,
#icone_engagement.visible,
#icone_proximite.visible {
	opacity: 1;
}

#home_slider_a_masquer>.elementor-background-slideshow {
	-webkit-mask-size: cover;
	-webkit-mask-image: url('/wp-content/uploads/2025/04/masque_slider_home_upscaled.png');
	-webkit-mask-repeat: repeat-y;
	animation: masqueHome infinite 50s linear;
}

@keyframes masqueHome {
	0% {
		-webkit-mask-position: 0% 0%;
	}

	100% {
		-webkit-mask-position: 0% 104.6%;
	}
}

.petit_bouton a,
.petit_bouton_footer a {
	width: fit-content;
	position: relative;
}

.petit_bouton a span,
.petit_bouton_footer a span {
	text-align: left;
}

.petit_bouton svg,
.petit_bouton_footer svg {
	width: 30px !important;
	transition: all .5s;
}

.petit_bouton svg path,
.petit_bouton_footer svg path {
	transition: all .5s;
}

.petit_bouton a::before,
.petit_bouton_footer a::before {
	content: '';
	position: absolute;
	width: 0;
	height: calc(100% + 20px);
	left: -10px;
	top: 50%;
	transform: translateY(-50%);
	background-color: var(--e-global-color-primary);
	z-index: 0;
	transition: all .5s;
}

.petit_bouton_footer a::before {
	background-color: white !important;
}

.petit_bouton a:hover svg>path {
	fill: white !important;
}

.petit_bouton_footer a:hover svg>path {
	fill: var(--e-global-color-primary) !important;
}

.petit_bouton a:hover::before,
.petit_bouton_footer a:hover::before {
	width: calc(100% + 20px) !important;
}

.petit_bouton a>.elementor-button-content-wrapper,
.petit_bouton_footer a>.elementor-button-content-wrapper {
	z-index: 2;
	position: relative;
}

.petit_bouton span.elementor-button-text,
.petit_bouton_footer span.elementor-button-text {
	display: flex;
	align-items: center;
}

.nombre_grand {
	font-size: 50px !important;
}

.forme_bloc::before {
	position: absolute !important;
    content: '' !important;
    width: 200px !important;
    height: 175px !important;
    background-image: url(/wp-content/uploads/2025/04/forme_bloc.png);
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: block !important;
    left: -165px !important;
    top: 50px !important;
}

.image_coin>.elementor-widget-container {
	position: relative;
}

.image_coin>.elementor-widget-container::before,
.image_coin>.elementor-widget-container::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	height: 200px;
	width: 200px;
	transform: translate(30%, 30%);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.image_coin>.elementor-widget-container::after {
	background-image: url('/wp-content/uploads/2025/04/forme_logo_trace.png');
	z-index: 2;
}

.image_coin>.elementor-widget-container::before {
	background-image: url('/wp-content/uploads/2025/04/forme_logo_fond.png');
	z-index: 0;
}

.image_coin>.elementor-widget-container>img {
	z-index: 1;
	position: relative;
}

.titre_real_home span.titre {
	max-width: 60%;
	padding-right: 10px;
	color: white !important;
}

.titre_real_home::after {
	content: '';
	background-color: white;
	height: 1px;
	display: block;
	flex: 1 1 auto;
}

.titre_real_home {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap !important;
	align-items: center;
	margin-top: 10px;
}

.realisation-infos {
	display: flex;
	flex-direction: column;
}

.realisation-infos .voir-plus {
	color: white;
	font-size: 20px;
	margin-left: auto !important;
	font-weight: 700;
	text-transform: uppercase;
}

.single-realisations .pre_image {
	display: block !important;
}

/* FOOTER */

.carousel_footer img {
	height: 50px !important;
	width: 100% !important;
	object-fit: contain;
}

.texte_footer .pre_image {
	margin-top: 0 !important;
}

.texte_footer .pre_image::before {
	height: 40px !important;
	width: 40px !important;
	margin-left: -10px !important;
}

.texte_footer>.elementor-widget-container>span.elementor-heading-title {
	display: flex;
	justify-content: center;
}

.petit_bouton.pre_footer a>.elementor-button-content-wrapper::before {
	content: "";
    position: absolute;
    left: -10px;
    top: 0;
    height: 100px;
    width: 100px;
    transform: translateX(-100%);
    background-image: url(/wp-content/uploads/2025/04/forme_bloc.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top;
}

/* ARCHIVES REAL */
.filtre_real .e-filter-item[aria-pressed="true"] {
	border-radius: 10px !important;
	box-shadow: 0px 3px 10px -2px #33333330 !important;
}

.filtre_real .e-filter-item[aria-pressed="true"]::before {
	margin-right: 10px !important;
	margin-left: 0px !important;
	opacity: 1 !important;
}

.filtre_real .e-filter-item::before {
	content: 'X';
	color: var(--e-global-color-primary) !important;
	margin-right: -10px;
	margin-left: 10px !important;
	opacity: 0;
	transition: all .5s;
	font-size: 18px;
	font-weight: 500;
}

.filtre_real,
.filtre_real>.elementor-widget-container {
	height: fit-content !important;
}

.loop_real article .elementor-widget-image img {
	transition: all .5s;
}

.loop_real article .elementor-widget-image a {
	border-radius: 20px;
	box-shadow: 0px 3px 10px -2px #33333330 !important;
	overflow: hidden;
	transition: all .5s;
}

.loop_real article:hover .elementor-widget-image a {
	border-radius: 50px;
}

.loop_real article:hover .elementor-widget-image img {
	transform: scale(1.1);
}

/* SINGLE REAL */

.slider_single,
.slider_single .swiper {
	height: 100% !important;
}

.slider_single .swiper>.swiper-wrapper {
	padding-left: 4rem;
}

.slider_single .swiper .swiper-slide {
	height: 100% !important;
}

.slider_single .swiper .swiper-slide img {
	height: 100% !important;
	object-fit: cover;
}

.slider_single .swiper-button-prev.vertical-swiper-prev,
.slider_single .swiper-button-next.vertical-swiper-next {
	left: 0 !important;
	right: auto !important;
	display: block !important;
	position: relative !important;
	margin: 0 !important;
	height: fit-content !important;
	width: fit-content !important;
}

.slider_single .swiper-button-prev.vertical-swiper-prev::after {
	height: fit-content !important;
    display: block;
    width: fit-content;
    line-height: inherit;
	color: #7D9999 !important;
	font-size: 25px;
}

.slider_single .swiper-button-next.vertical-swiper-next::after {
	height: fit-content !important;
    display: block;
    width: fit-content;
    line-height: inherit;
	color: #7D9999 !important;
	font-size: 25px;
}

.slider_single .swiper-middle-part {
	background-color: #7D9999;
	height: 10px;
	width: 10px;
	border-radius: 50px;
	margin-left: 15px;
	margin-right: 15px;
}

.slider_single .swiper-buttons {
	position: absolute;
	left: -20px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	display: flex;
	flex-direction: row;
	align-items: center;
	z-index: 150;
}

.bandeau_pictos {
	overflow: hidden !important;
}

.bandeau_pictos .elementor-widget-icon-box {
	display: flex;
	justify-content: center;
}

.bandeau_pictos .elementor-widget-icon-box::before {
	width: 3px;
    height: 6rem;
    content: '';
    position: absolute;
    top: 0;
    right: 80px;
    transform: translate(-100%, -6rem) rotate(215deg);
    display: block !important;
    background-color: white;
    transition: all .5s;
}

.bandeau_pictos .elementor-icon-box-title {
	height: 32px;
}

.bandeau_pictos .elementor-icon-box-description {
	color: var(--e-global-color-secondary) !important;
    font-family: "Bai Jamjuree", Sans-serif;
    font-size: 20px;
    font-weight: 600;
    background-color: white;
    padding: 10px;
}

.bandeau_pictos .elementor-icon-box-wrapper {
	display: flex !important;
	flex-direction: column !important;
	height: 100%;
}

.bandeau_pictos .elementor-icon-box-content {
	display: flex;
    flex-direction: column;
}

.bandeau_pictos .elementor-widget-icon-box:hover::before {
    height: 4rem;
}

.bandeau_pictos .elementor-widget-icon-box>.elementor-widget-container {
	position: relative;
}

/* PAGES INTERIEURES */
body:not(.elementor-editor-active) .images_equipe>.image_survol {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: all .5s;
}

body:not(.elementor-editor-active) .images_equipe>.image_normale {
	opacity: 0 !important;
	z-index: 5;
	transition: all .5s;
}

body:not(.elementor-editor-active) .images_equipe:hover>.image_normale {
	opacity: 1 !important;
}

@media screen and (max-width: 1024px) {
	.petit_bouton_footer svg {
		width: 20px !important;
	}

	.petit_bouton_footer a::before {
		height: calc(100% + 10px) !important;
		left: -5px !important;
	}

	.petit_bouton_footer a:hover::before {
		width: calc(100% + 10px) !important;
	}

	#header {
		background-color: #ffffff90;
		backdrop-filter: blur(5px);
	}

	#menu_header .elementor-menu-toggle {
		padding: 0 !important;
	}

	#menu_header .accueil_logo_menu_header {
		display: none !important;
	}

	.titre_inter .pre_image::before {
		width: 100px !important;
    	height: 100px !important;
		left: 65px !important;
	}

	.titre_inter .pre_image {
		padding-left: 50px !important;
	}

	.contenu_page {
		max-height: none !important;
		overflow-y: visible;
		height: fit-content;
	}

	.e-n-menu-item:has(#global_menu_logo) {
		display: none !important;
	}

	#megamenu_header .e-n-menu-content {
		margin-top: 0 !important;
	}
	
	#megamenu_header .e-n-menu-wrapper>ul {
		gap: 0;
		display: block !important;
		width: 100%;
		height: fit-content;
	}

	#megamenu_header .e-n-menu-wrapper {
		transition: all .5s;
        display: block !important;
        height: fit-content !important;
        width: 100vw !important;
        position: fixed;
        left: 0;
	}

	#megamenu_header:has(nav.e-n-menu>button[aria-expanded="false"]) .e-n-menu-wrapper {
		margin-top: -100vh;
		opacity: 0;
	}

	#megamenu_header:has(nav.e-n-menu>button[aria-expanded="true"]) .e-n-menu-wrapper {
		margin-top: 0;
		opacity: 1;
	}

	#megamenu_header .e-n-menu-content {
		height: 0;
		overflow: hidden;
	}

	#megamenu_header ul>li>.e-n-menu-title {
		justify-content: center;
	}
}

@media screen and (max-width: 768px) {
	.colonne_background {
		background-image: none !important;
		background-color: var(--e-global-color-primary) !important;
	}

	.pre_h {
		padding-left: 20px;
	}

	.forme_bloc::before {
		left: -170px !important;
		top: 20px !important;
	}

	#home_slider_a_masquer>.elementor-background-slideshow {
		animation: none !important;
		-webkit-mask-size: 100%;
	}

	.nombre_grand {
		font-size: 35px !important;
	}

	.colonnes_iconbox .elementor-icon-box-wrapper {
		align-items: center;
	}

	.slider_single .swiper-buttons {
		left: 0px !important;
	}
}

/* SINGLE ACTUALITE */


@media screen and (min-width: 1025px) {
	.single_actu_sticky {
		position: sticky !important;
		top: 90px;
		height: fit-content;
	}

	.colonne_page_inter {
		height: fit-content !important;
		position: sticky !important;
		top: 100px !important;
	}

	#megamenu_header .e-n-menu-content {
		margin-top: -100rem;
		opacity: 0;
		display: flex;
		transition: all .5s;
	}
	
	#megamenu_header .e-n-menu-content.e-active {
		margin-top: 0 !important;
		opacity: 1 !important;
	}
}

@media screen and (min-width: 1201px) and (max-width: 1366px) {
	.bandeau_pictos .elementor-widget-icon-box::before {
		left: 0;
		transform: translate(-100%, 4rem) rotate(40deg);
	}

	#megamenu_header .menu_megamenu_survol:hover {
		background-size: 130%;
	}
}

@media screen and (max-width: 1200px) {
	.bandeau_pictos .elementor-widget-icon-box::before {
		left: 0;
		transform: translate(0, 0) rotate(0);
		height: 75%;
	}

	#megamenu_header .menu_megamenu_survol:hover {
		background-size: 170%;
	}
}

@media screen and (max-width: 1024px) {
	#megamenu_header .menu_megamenu_survol:hover {
		background-size: 110%;
	}

	body {
		overflow-x: hidden;
	}

	#slides-collection {
		aspect-ratio: 25 / 40 !important;
	}

	.titre_inter h1 {
		font-size: 35px !important;
	}
}