/*
Theme Name:     geostaff
Theme URI:      
Description:    Astra child theme.
Author:         Me
Author URI:     
Template:       astra
Version:        0.2.2
Text Domain: geostaff
*/

/* Evolution Solutions */

/* Icons droite */

.icon_right_wrap {
	position: fixed !important;
    right: 0;
    top: calc(50% - 90px);
	z-index: 99;
}

.icon_right_wrap .vc_column-inner {
	padding: 0 !important;
}

.icons_right {
	margin-bottom: 10px !important;
}

.icons_right a {
	display: block !important;
	width: 80px;
	height: 80px;
	display: flex !important;
    align-items: center;
    justify-content: center;
    background-color: #ffffffa8;
    border: 2px solid white !important;
	transition: 0.5s;
}

.icons_right a:hover {
	background-color: white;
}

@media screen and (max-width: 991px) {
	.icon_right_wrap {
		display: none;
	}
}

/* CONTACT MAP */

/* Liste etablissements */

.zone_distrib_list {
	margin: 0 0 45px 0;
}

.distrib_item {
	list-style: none;
	margin-bottom: 10px;
}

.distrib_item:not(:last-child) {
	border-bottom: 1px solid #A6A6A6;
}

.distrib_title {
	font-size: 15px !important;
	text-transform: uppercase;
	color: #D53532 !important;
	margin-bottom: 5px !important;
	font-weight: 700;
	margin-bottom: 17px !important;
}

.distrib_title::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/uploads/2025/05/Group-2.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin-right: 20px;
}

.distrib_infos {
	margin-bottom: 10px !important;
	line-height: 1.3;
}

/*.marker_infos_adresse {
	margin-bottom: 17px;
}*/

.marker_infos_adresse,
.marker_infos_tel {
	position: relative;
	padding-left: 40px;
	margin-bottom: 17px;
}

.marker_infos_adresse::before,
.marker_infos_tel::before {
	content: "";
	display: block;
	width: 17px;
	height: 20px;
	background-image: url('/wp-content/uploads/2025/05/Vector-2.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin-right: 8px;
	position: absolute;
	top: 0;
	left: 0;
}

.marker_infos_tel::before {
	background-image: url('/wp-content/uploads/2025/05/Vector-3.svg');
	height: 15px;
}

/* MAAAP */


.multiple_map {
	display: flex;
}

.multiple_map_liste_etablissements {
    width: 35%;
    position: relative;
    overflow-y: auto;
    height: 66vh;
    min-height: 400px;
    margin: 149px 0 101px 0;
    border-width: 1px 0px 1px 1px;
    border-style: solid;
    padding: 10px 0;
    border-color: #243f8b;
    border-radius: 5px 0 0 5px;
}

.multiple_map_liste_etablissements ul {
	margin-left: 0;
}

.multiple_map_liste_etablissements h3 {
    margin-bottom: 10px;
    padding-left: 10px;
}
.multiple_map_single_etablissement_title {
	font-size: 15px !important;
	text-transform: uppercase;
	color: #D53532 !important;
	margin-bottom: 5px !important;
	font-weight: 700;
	margin-bottom: 0px !important;
	line-height: 1.3;
	padding-left: 10px;
}

.multiple_map_single_etablissement_title::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url('/wp-content/uploads/2025/05/Group-2.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin-right: 6px;
}

.multiple_map_map_wrap {
	width: calc(65% + ((100vw - 1200px)/2));
	position: relative;
	flex: 1;
	margin-right: calc((100vw - 1200px)/-2);
	position: relative;
}

.multiple_map_map_wrap::before {
	content: "";
	position: absolute;
	width: calc(100% - 50px);
	height: 100%;
	top: 0;
	left: 50px;
	background-color: #D53532;
	z-index: -1;
}

.h2_map_contact {
	padding: 30px;
    margin-bottom: 50px !important;
    margin-left: 70px;
	text-transform: uppercase !important;
	color: white !important;
}

#multiple_map_map {
	height: calc(100% - 250px);
	position: relative;
}

#multiple_map_map.loading::after {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background-color: #EDEDEC;
}

#multiple_map_map.loading::before {
	content: '';
	height: 0;
	width: 0;
	padding: 15px;
	border: 6px solid #ccc;
	border-right-color: #888;
	border-radius: 22px;
	-webkit-animation: rotate 1s infinite linear;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 10;
}

@-webkit-keyframes rotate {
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.multiple_map_single_etablissement {
	padding: 5px 10px 10px 0px;
	cursor: pointer;
	border-bottom: 1px solid #A6A6A6;
}

.multiple_map_single_etablissement:last-child {
	border: none;
}

.multiple_map_single_etablissement.active {
	background-color: #EDEDEC;
}

.multiple_map_single_etablissement_adresse {
	line-height: 1.2;
	padding-left: 10px;
}

.multiple_map_single_etablissement_tel {
	line-height: 1.2;
	font-weight: 500;
	padding-left: 10px;
}

.multiple_map_single_etablissement_web {
	line-height: 1.2;
	font-weight: 500;
	padding-left: 10px;
}


.multiple_map_single_etablissement_mail {
	line-height: 1.2;
	font-size: 0.9em;
	padding-left: 10px;
}

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

.gm-style-iw-d {
	width: 110%;
}

.multiple_map_map_wrap div#multiple_map_map {
    border-width: 1px 0 1px 0;
    border-style: solid;
    border-color: #243f8b;
}

.map_tooltip_header {
	background-color: #D53532;
	color: white;
	padding: 25px 30px;
	height: auto;
	margin-bottom: 0 !important;
	font-weight: bold;
	font-size: 15px;
}

.map_tooltip_content {
	padding: 20px;
}

.gm-ui-hover-effect {
	display: flex !important;
	top: 5px !important;
	width: 15px !important;
	height: 15px !important;
	background-color: #ccc5 !important;
	border-radius: 50px !important;
	justify-content: center !important;
	align-items: center !important;
	right: 5px !important;
	opacity: 1 !important;
	position: relative;
}

.gm-ui-hover-effect::before {
	content: 'x';
	position: absolute;
	left: 52%;
	top: 43%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	color: white;
	line-height: 1;
}

.gm-ui-hover-effect img {
	width: 10px !important;
	height: 10px !important;
}

.map_tooltip_content {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.map_tooltip_content img {
	width: 15px;
    height: 20px;
    vertical-align: baseline;
    margin-right: 15px;
}

.map_tooltip_adresse, .map_tooltip_mail, .map_tooltip_tel {
	display: flex;
	align-items: center;
}

.map_tooltip_content .map_tooltip_web {
	display: flex;
	align-items: center;
}

.map_tooltip_content .map_tooltip_web img {
  filter: brightness(0) saturate(100%) invert(23%) sepia(92%) saturate(1968%) hue-rotate(343deg) brightness(91%) contrast(92%);
  width: auto;
  height: 18px;
}


.map_tooltip_pays {
	font-size: 15px !important;
    text-transform: uppercase;
    color: #D53532 !important;
    margin-bottom: 5px !important;
    font-weight: 700;
}

@media only screen and (max-width : 1200px) {
	.multiple_map_map_wrap {
		width: calc(70% + 20px);
		margin-right: -20px;
	}
}

@media only screen and (max-width : 991px) {
	.multiple_map_liste_etablissements {
		width: 100%;
		order: 2;
    	margin-top: 50px;
	}
	
	.multiple_map {
		flex-direction: column;
	}
	
	.multiple_map_single_etablissement {
		min-width: 52%;
	}
	
	#multiple_map_map {
		width: 100%;
		height: 350px;
	}

	.multiple_map_map_wrap {
		width: calc(100% + 40px);
        margin-right: -20px;
        margin-left: -20px;
	}
}

@media only screen and (max-width : 480px) {
	.multiple_map_single_etablissement {
		min-width: 70%;
	}
}


/* Map */

.contact_map > .vc_column-inner {
	width: calc(100% + ((100vw - 1200px) / 2)) !important;
	position: relative;
}

.contact_map > .vc_column-inner::before {
	display: block;
	width: calc(100% - 65px);
	height: calc(100% + 50px);
	background-color: #D53532;
	position: absolute;
	z-index: -1;
	right: 0;
}

.contact_map_titre {
	padding: 30px 30px 30px 100px;
}

#map_etablissement {
	height: calc(100vh - 403px);
	width: 100%;
	min-height: 1100px;
}

.liste_etablissement {
	display: none;
}

.marker_infos {
	padding: 0px;
}

.marker_infos img {
	width: 15px;
	height: 13px;
}

.marker_infos_title, .marker_infos_right_title {
	font-size: 1.2em;
	font-weight: 700;
	color: #262626;
	margin-bottom: 15px;
	line-height: 1.2;
	height: 40px;
}

.marker_infos_left > div:not(.marker_infos_title), .marker_infos_right > div:not(.marker_infos_right_title) {
	font-size: 1.1em;
	margin-bottom: 5px;
}

.gm-style .gm-style-iw-c {
	border-radius: 0;
	padding: 0;
	min-width: 400px !important;
}

.gm-style-iw-ch,
.gm-style-iw-d {
	padding-top: 0;
}

.gm-style-iw-chr {
	position: absolute;
	right: 0;
}

.gm-style-iw-d {
	padding: 0;
	overflow: auto !important;
}

.marker_infos_wrap {
	padding: 20px 30px 30px;
}

.gm-style .gm-style-iw-tc::after {
	display: none;
}

.marker_infos_title {
	background-color: #D53532;
	color: #fff;
	padding: 30px;
	height: auto;
	margin-bottom: 0 !important;
}

.gm-ui-hover-effect {
	display: flex !important;
	top: 5px !important;
	width: 15px !important;
	height: 15px !important;
	border-radius: 50px !important;
	justify-content: center !important;
	align-items: center !important;
	right: 5px !important;
	opacity: 1 !important;
	position: relative;
}

.gm-ui-hover-effect::before {
	content: 'x';
	position: absolute;
	left: 52%;
	top: 43%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	color: white;
	line-height: 1;
}

.types_service {
	position: absolute;
	z-index: 10;
	background-color: #fff;
	padding: 20px;
	left: 50px;
	top: 50px;
	max-width: 300px;
	border-radius: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.type_service {
	font-size: 0.8em;
	margin-bottom: 10px;
	display: flex;
	gap: 15px;
	align-items: center;
}

.types_service > div:not(.type_service) {
	font-size: 1.2em;
	font-weight: 700;
	color: #262626;
	margin-bottom: 15px;
	line-height: 1.2;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: center;
}

.mobile_plus {
	display: none;
	cursor: pointer;
	font-size: 1.6em;
}

.marker_infos_right > div:not(.marker_infos_right_title) {
	display: flex;
	gap: 10px;
}

@media screen and (max-width: 1200px) {
	.contact_map > .vc_column-inner {
		width: calc(100% + 20px) !important;
	}
}

@media screen and (max-width: 992px) {
	.mobile_plus {
		display: block;
	}
	
	.type_service {
		opacity: 0;
		transition: all .3s ease;
	}
	
	.types_service.active .type_service {
		opacity: 1;
	}
	
	.types_service > div:not(.type_service) {
		font-size: 1em;
		min-width: 260px;
	}
	
	.types_service {
		max-height: 52px;
		overflow: hidden;
		transition: all .3s ease;
		padding: 10px 20px;
	}
	
	.types_service.active {
		max-height: 560px;
		overflow: hidden;
	}
}

@media screen and (max-width: 480px){
	.types_service {
		left: 0;
		top: 0;
		width: 100%;
		max-width: unset;
		border-radius: 0;
		transform: unset;
	}
	
	.marker_infos {
		flex-direction: column;
		gap: 20px;
		padding: 10px;
	}
	
	.marker_infos > div {
		width: 100%;
		max-width: unset;
	}
	
	.gm-style-iw-d {
		max-height: unset !important;
	}
	
	.marker_infos_title, .marker_infos_right_title {
		height: auto;
	}

	.gm-style .gm-style-iw-c {
		min-width: 250px !important;
	}
}

/* 01. HOME */

.home .home_header {
	display: flex;
	align-items: flex-end;
}

.home .home_header::after {
	position: absolute;
	width: 100%;
	height: 300px;
	background-color: #003772;
	bottom: 0;
	left: 0;
	background: #172858;
	background: linear-gradient(0deg, rgba(23, 40, 88, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.home .home_header > .wpb_column {
	z-index: 1;
}

.home .home_header .section_subtitle {
	max-width: 500px;
    margin: auto;
}

.home .home_header .section_subtitle p {
	font-weight: bold;
	font-size: 1em;
}

/* 02. LISTE DES SOLUTION (SHORTCODE) */

.liste-solutions {
	margin: 0;
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: center;
}

.solution_item {
	list-style: none;
	background: #D92D25;
	background: linear-gradient(315deg, rgba(217, 45, 37, 1) 0%, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0) 80%, rgba(217, 45, 37, 1) 100%);
	padding: 5px;
	width: calc(20% - 12px);
	min-width: 200px;
}

.solution_item a {
	display: flex;
	aspect-ratio: 1;
	align-items: flex-end;
    justify-content: center;
	background-size: cover;
	border: 5px solid #fff;
}

.solution_item a h3 {
	width: 100%;
	text-align: center;
	background-color: #ffffff7d;
    padding: 10px;
	text-transform: uppercase;
    font-weight: 900;
    font-size: 1em;
	min-height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}


/* 03. SINGLE SOLUTION */


/* 3.1 Structure */

.single-solution .header:not(.background_white) .menu_container:not(.mobile_open) .megamenu > li > a {
	color: white;
}

.single-solution .site-content > .ast-container {
	max-width: 100%;
	padding: 0;
}

.solution_content_wrap {
	display: flex;
	box-shadow: 0px -5px 4px 0px rgba(213,53,50,1);
	-webkit-box-shadow: 0px -5px 4px 0px rgba(213,53,50,1);
	-moz-box-shadow: 0px -5px 4px 0px rgba(213,53,50,1);
	padding-top: 30px;
}

.solution_content {
	margin-left: calc((100vw - 1200px) / 2);
	width: 1200px;
	max-width: calc(100vw - 300px - ((100vw - 1200px) / 2));
	padding-right: 50px;
	padding-top: 30px;
}

@media screen and (max-width: 1200px) {
	.solution_content {
		margin-left: 0;
		padding-top: 100px;
		max-width: unset;
		padding-left: 50px;
		overflow: hidden;
	}
}

@media screen and (max-width: 580px) {
	.solution_content {
		padding-right: 20px;
    	padding-left: 20px;
	}

	.single-solution .ast-container {
		padding: 0 !important;
	}
}

/* 3.2 Solution sidebar */

.menu_sidebar {
	display: none;
}

.solution_sidebar_wrapper {
	position: sticky;
  	top: 100px;
  	max-height: 100vh;
  	overflow: hidden;
  	width: calc((100vw - 1200px) / 2);
	min-width: 300px;
	padding: 20px 0 0 50px;
	background-color: #f5f5f5;
}

.solution_sidebar_wrapper::before {
	content: "";
	position: absolute;
	width: 200px;
	height: 4px;
	background-color: #D53532;
	background: #D53532;
	background: linear-gradient(90deg, rgba(213, 53, 50, 1) 0%, rgba(213, 53, 50, 0) 100%);
	top: 0;
	left: 0;
}

.solution_sidebar_wrapper::after {
	content: "";
	position: absolute;
	height: 300px;
	width: 4px;
	background-color: #D53532;
	background: #D53532;
	background: linear-gradient(180deg, rgba(213, 53, 50, 1) 0%, rgba(213, 53, 50, 0) 100%);
	top: 0;
	left: 0;
}

.solution_sidebar_content {
	overflow-y: auto;
  	max-height: 100vh;
}

.solution_sidebar_content ul {
	list-style: none;
	margin: 0;
}

.solution_sidebar_content ul li {
	line-height: 1.3;
	border-bottom: 1px solid #D53532;
	padding: 20px 20px 20px 0;
}

.solution_sidebar_content ul li a {
	color: #243f8b;
	text-transform: uppercase;
	font-weight: 500;
	font-weight: 600;
    font-size: 14px;
}

@media screen and (max-width: 1200px) {
	/*.menu_sidebar {
		display: block;
	}*/

	.solution_content_wrap {
		flex-wrap: wrap;
	}

	.solution_content {
		order: 2;
		width: 100%;
	}

	.solution_sidebar_wrapper {
		position: relative;
		width: calc(100% - 40px);
		margin: auto;
		top: auto;
	}
}

/* 3.3 Solution Entête */

.solution_hero {
	padding: 150px 0 100px 0;
	background-size: cover;
    background-position: center;
}

.solution_hero h1 {
	color: white;
	text-transform: uppercase;
    max-width: 500px;
    line-height: 1.3;
    margin: auto;
	position: relative;
	padding: 15px 25px;
}

.solution_hero h1::before {
	content: "";
	position: absolute;
	width: 230px;
	height: 4px;
	background-color: #D53532;
	background: #D53532;
	background: linear-gradient(90deg, rgba(213, 53, 50, 1) 0%, rgba(213, 53, 50, 0) 100%);
	top: 0;
	left: 0;
}

.solution_hero h1::after {
	content: "";
	position: absolute;
	height: 120px;
	max-height: 100%;
	width: 4px;
	background-color: #D53532;
	background: #D53532;
	background: linear-gradient(180deg, rgba(213, 53, 50, 1) 0%, rgba(213, 53, 50, 0) 100%);
	top: 0;
	left: 0;
}

/* 3.4 Solution content */

/* 3.4.1 Bakery content */

.solution_content h2 {
	scroll-margin-top: 100px;
}

.solution_content .wpb-content-wrapper h2 {
	font-size: 30px !important;
	font-weight: 700;
	margin-bottom: 20px;
}

.solution_content .wpb-content-wrapper h3 {
	font-size: 20px !important;
	margin-bottom: 15px;
}

.solution_content .wpb-content-wrapper .normes_solutions h4 * {
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 900;
}

.solution_content .wpb-content-wrapper .normes_solutions p {
	color: black;
}

.solution_content .solution_btn a {
	background-color: #D53532;
	color: white;
	text-transform: uppercase;
    display: inline-block;
    padding: 5px 15px;
}

.solution_content p a {
	color: #243f8b;
}

.content_img_left {
	position: relative;
}

.content_img_left::before {
	content: "";
	width: calc(100% + ((100vw - 1200px)/2) - 35px);
	height: calc(100% - 30px);
	background-color: black;
	position: absolute;
	top: 30px;
	right: 50px;
}

.content_img_left img {
	z-index: 9;
    position: relative;
}

@media screen and (max-width: 1200px) {
	.content_img_left::before {
		width: calc(100% + 15px);
	}
}

@media screen and (max-width: 768px) {
	.content_img_left img {
		max-width: 300px !important;
		width: 100%;
	}
	.content_img_left::before {
		width: 50%;
        left: -65px;
        top: 10px;
        height: calc(100% - 30px);
	}
}

/* 3.4.1.0 Tableaux */

.solution_content .tablo_solution {
	color: white;
	margin-bottom: 50px !important;
}

.solution_content .tablo_solution table,
.solution_content .tablo_solution th,
.solution_content .tablo_solution td {
	border-color: white;
	text-align: center;
	vertical-align: middle;
    line-height: 1.4;
}

.solution_content .tablo_solution .bold,
.solution_content .tablo_solution .main-category {
	text-transform: uppercase;
	font-weight: bold;
}

.tablo_title {
	margin-bottom: 20px !important;
}

.tablo_title * {
	color: white;
	text-transform: uppercase;
	font-size: 16px;
	font-weight: 800;
}

.tablo_solution .wpb_raw_html {
	overflow: auto;
}

@media screen and (max-width: 580px) {
	.tablo_solution {
		width: 100vw !important;
		margin-left: -20px !important;
		padding-left: 20px !important;
		overflow: scroll;
	}
}

/* 3.4.2 Elements globaux */

.solution_h2 {
	background-color: #D53532;
	color: white !important;
	text-transform: uppercase;
	padding: 40px 0 150px;
    max-width: 50vw;
    margin-bottom: -100px;
	margin-left: calc((100vw - 1200px) / -2);
    padding-left: calc((100vw - 1200px) / 2);
}

.solution_h2.solution_h2_right {
	margin-left: auto;
	padding-left: 40px;
	margin-right: calc(-50px + ((100vw - 1200px) / -2));
	padding-right: calc(50px + ((100vw - 1200px) / 2));
}

.solution_h2.solution_h2_center {
	width: auto;
    max-width: 500px;
    margin-left: auto;
	margin-right: auto;
    padding-left: 70px;
    padding-right: 70px;
	text-align: center;
	padding-bottom: 40px;
	margin-bottom: 30px;
}

.section_solution {
	padding: 50px 0;
}

.btn_red_line {
	border: 2px solid #d82c24;
    padding: 10px 20px;
    color: #d82c24;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    display: block;
}

.solution_content .ult-carousel-wrapper {
	padding-right: 0px;
	padding-left: 0px;
}

.solution_content .ult-carousel-wrapper .slick-arrow i {
	color: #D53532;
    border: 2px solid;
	width: 30px;
	height: 30px;
	display: flex;
    justify-content: center;
    align-items: center;
}

.solution_content .ult-carousel-wrapper .slick-arrow i::before {
	font-size: 20px !important;
}

.solution_content .ult-carousel-wrapper .slick-arrow.slick-prev {
	left: -30px;
}

.solution_content .ult-carousel-wrapper .slick-arrow.slick-next {
	right: -30px;
}

.solution_content .ult-carousel-wrapper .slick-dots {
	bottom: -20px;
}

.solution_content .ult-carousel-wrapper .slick-dots li {
	margin: 0 2px;
}

.solution_content .ult-carousel-wrapper .slick-dots i {
	color: #243f8b !important;
	opacity: 1;
}

.solution_content .anim_digi_section .ult-carousel-wrapper .slick-dots i {
	color: white !important;
}

.solution_content .ult-carousel-wrapper .slick-dots .slick-active i {
	color: #D53532 !important;
}

.loader {
	min-height: unset !important;
}

@media screen and (max-width: 1200px) {
	.solution_h2,
	.section_catalogue h2.solution_h2 {
		margin-left: -50px !important;
    	padding-left: 50px !important;
	}

	.solution_h2.solution_h2_right {
		margin-right: -50px !important;
    	padding-right: 50px !important;
		margin-left: auto !important;
    	padding-left: 40px !important;
	}

	.solution_h2.solution_h2_center {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

@media screen and (max-width: 991px) {
	.solution_h2 {
		max-width: 75vw;
	}
}

@media screen and (max-width: 580px) {
	.solution_h2.solution_h2_right {
		margin-right: -20px !important;
        padding-right: 20px !important;
	}
	.solution_content .ult-carousel-wrapper {
		padding-right: 20px;
    	padding-left: 20px;
	}
}

/* 3.4.3 Section catalogues */

.section_catalogue {
	padding: 80px 0;
	max-width: 900px;
    margin: auto;
}

.section_catalogue h2.solution_h2 {
	margin-left: calc((100vw - 900px) / -2);
    padding-left: calc((100vw - 900px) / 2);
}

.catalogue_wrap {
	display: flex;
    gap: 40px;
}

.catalogue_link {
	display: block;
	width: 40%;
	position: relative;
	overflow: hidden;
}

.catalogue_link .hover_catalogue {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #243f8b;
	transform: translate(calc(-100% + 12px), 0px);
	transition: 0.5s ease-in-out;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.catalogue_link .hover_catalogue span {
	width: 100px;
	height: 100px;
	background-color: #000000ab;
	display: flex;
	justify-content: center;
	align-items: center;
}

.catalogue_link:hover .hover_catalogue {
	transform: translate(0, 0px);
	background-color: #243f8bd9;
}

@media screen and (max-width: 1200px) {
	.section_catalogue {
		max-width: unset;
		width: 100%;
	}
}

/* 3.4.4 Section anim */

.anim_digi_section {
	background-color: #D9D9D9;
	width: 100vw;
	margin-left: calc((100vw - 1200px) / -2);
    padding-top: 80px;
	padding-left: calc((100vw - 1200px) / 2);
	padding-bottom: 80px;
	/*padding-right: calc(350px + (((100vw - 1200px) / 2) - 300px));*/
}

.anim_digi_section_inner {
	width: 1200px;
	max-width: calc(100vw - 300px - ((100vw - 1200px) / 2));
	padding-right: 50px;
}

.anim_digi_section_inner .ult-carousel-wrapper {
	margin-bottom: 0;
    padding-bottom: 0;
}

.anim_digi_section_inner video {
	aspect-ratio: 16/9;
}

.anim_digi_section_inner img {
	aspect-ratio: 16/9;
	object-fit: contain;
	background-color: #212121;
}

@media screen and (max-width: 1200px) {
	.anim_digi_section {
		margin-left: -50px;
	}

	.anim_digi_section_inner {
		max-width: 100%;
		padding-left: 50px;
	}
}

@media screen and (max-width: 580px) {
	.anim_digi_section {
		margin-left: -20px;
		padding-left: 20px;
	}
}

/* 3.4.5 Section produits */

.produit_list .slick-track {
	display: flex;
	align-items: stretch;
}

.produit_list .produit_item {
	background-color: #e9ebf3;
	height: auto !important;
	display: flex !important;
    flex-direction: column;
}

.produit_list .produit_item .produit_img {
	width: 100%;
	aspect-ratio: 16/9;
	background-size: cover;
	background-position: center;
	background-color: gray;
	height: auto !important;
}

.produit_list .produit_item .produit_text {
	padding: 30px;
	height: auto !important;
	flex: 1;
	display: flex;
    flex-direction: column;
}

.produit_list .produit_item .produit_titre {
	text-transform: uppercase !important;
    font-size: 16px;
    line-height: 1.2;
	text-align: center;
	margin-bottom: 15px;
}

.produit_list .produit_item .produit_descr {
	flex: 1;
	line-height: 1.5;
}

/* 3.4.6 Section outils */

.outils_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
}

.outils_item {
	background-color: #e9ebf3;
	flex: 1;
	max-width: 40%;
}

.outils_titre {
	text-transform: uppercase !important;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 25px;
}

.outils_img {
	width: 100%;
	aspect-ratio: 16/9;
	background-size: cover;
	background-position: center;
}

.outils_txt {
	padding: 30px;
}

.outils_descr {
	margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
	.outils_item {
		width: 100%;
		max-width: 400px;
		flex: auto;
	}
}

/* 3.4.7 Section fiches decla + textes prescription */

.section_texte {
	padding-bottom: 50px;
}

.section_texte .solution_h2 {
	width: calc(((100vw - 1200px) / 2) + 400px);
}

.textes_intro {
	width: calc(100% - 400px);
    margin-left: 400px;
    margin-top: -230px;
    margin-bottom: 50px;
    padding-left: 45px;
}

.fiches_wrap {
	display: flex;
    flex-wrap: wrap;
	gap: 30px;
}

.section_solution .bloc_doc_tech.bloc_fiches {
	background-color: #e9ebf3;
	float: none;
}

.fiches_wrap .bloc_doc_tech.bloc_fiches {
	width: calc(50% - 15px);
}

.section_solution .bloc_doc_tech.bloc_fiches .picto_dwl_fichiers {
	width: 55px;
	height: 55px;
	margin-bottom: 0;
}

@media screen and (max-width: 1200px) {
	.section_texte .solution_h2 {
		width: calc(50px + 400px);
	}
}

@media screen and (max-width: 768px) {
	.fiches_wrap .bloc_doc_tech.bloc_fiches {
		width: 100%;
	}

	.fiches_wrap .bloc_doc_tech.bloc_fiches #fiche_select,
	.section_texte .bloc_doc_tech.bloc_fiches #fiche_select {
		height: 45px;
	}

	.fiches_wrap .bloc_doc_tech.bloc_fiches .select-wrap,
	.section_texte .bloc_doc_tech.bloc_fiches .select-wrap {
		margin-bottom: 100px;
	}

	.fiches_wrap .bloc_doc_tech.bloc_fiches .select-wrap::before,
	.section_texte .bloc_doc_tech.bloc_fiches .select-wrap::before {
		height: 43px;
		width: 43px;
	}

	.fiches_wrap .bloc_doc_tech.bloc_fiches .select-wrap::after,
	.section_texte .bloc_doc_tech.bloc_fiches .select-wrap::after {
		right: 12px !important;
        top: 24px;
	}

	.section_texte .solution_h2 {
		width: 100%;
		margin-left: auto !important;
		margin-right: auto;
		padding-left: 40px !important;
		padding-right: 40px;
		text-align: center;
		padding-bottom: 50px;
		max-width: 500px;
		margin-bottom: 0;
	}

	.textes_intro {
		width: 100%;
		margin-left: 0;
		margin-top: 0;
		padding-left: 0;
		margin-top: 30px;
        margin-bottom: 35px;
	}

}

/* Solutions brochures */

.brochures_list .slick-track {
	display: flex;
	align-items: stretch;
}

.brochure_item {
	background-color: #e9ebf3;
	display: flex;
    flex-direction: column;
	height: auto !important;
	display: flex !important;
	flex-direction: column;
}

.brochures_list .slick-track .brochure_item > div {
	height: auto !important;
}

.brochure_img {
	width: 100%;
	aspect-ratio: 16/9;
	background-size: cover;
}

.brochure_txt {
	padding: 30px;
	display: flex;
    flex-direction: column;
	flex: 1;
}

.brochure_titre {
	text-transform: uppercase !important;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 25px;
	flex: 1;
}

@media screen and (max-width: 768px) {
	.brochure_item {
		width: 100%;
		max-width: 400px;
		flex: auto;
	}
}

/* Solutions chantiers */

.chantiers_list img {
	aspect-ratio: 12/9;
	object-fit: contain;
	background-color: #212121;
}

.projets_list {
	list-style: none;
}

.projets_list .slick-track {
	display: flex;
    align-items: stretch;
}

.projet_item {
	background-color: #e9ebf3;
	height: auto !important;
}

.projets_list .slick-track .projet_item > .projet_img {
	aspect-ratio: 16/9;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto !important;
}

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

.projet_txt {
	padding: 20px;
}

.recap_ville {
	color: #243f8b;
	line-height: 1.3;
    margin-top: 20px;
}

/* GLOBAL */

/* #home_map img {
	content: url("images/marker_google_maps.svg") !important;
} */

body .texte_blanc * {
	color: #fff !important;
}

body .texte_blanc a {
	text-decoration: underline;
}

body .texte_blanc a:hover {
	color: #ebebeb !important;
}

body .texte_bleu * {
	color: #243f8b ;
}

html {
  scroll-behavior: smooth;
}

body .texte_majuscule * {
	text-transform: uppercase !important;	
}

body p,
body li {
	font-size: 15px;
}

.vc_grid.vc_row .vc_grid-item .vc_btn, .vc_grid.vc_row .vc_grid-item .vc_icon_element, .vc_grid.vc_row .vc_grid-item .wpb_content_element, .text-footer .vc_separator {
  margin-bottom: 15px;
}

.vc_row[data-vc-full-width="true"] .upb_row_bg {
	width: 100% !important;
}

#page > p {
  margin: 0;
}

.ubtn {
	border-radius: 0;
}
.section_subtitle {
	font-size: 18px;
	/*font-weight: 600;*/
}
.bg_rouge {
	background-color: #D82C24;
}
.titre_gauche {
	margin-bottom: 120px !important;
}
.zone_titre_actualites{
	z-index:2;
}

.loader {
	z-index: 100000;
	height: 0;
	width: 0;
	padding: 15px;
	border: 6px solid #ccc;
	border-right-color: #888;
	border-radius: 22px;
	-webkit-animation: rotate 1s infinite linear;
	/* left, top and position just for the demo! */
	position: absolute;
	left: 50%;
	top: 50%;
}

@-webkit-keyframes rotate {

	/* 100% keyframe for  clockwise. 
	   use 0% instead for anticlockwise */
	100% {
		-webkit-transform: rotate(360deg);
	}
}

.projet_title {
	font-size: 1.1rem !important;
	margin-bottom: 0 !important;
	line-height: 1.2;
	margin-bottom: 5px !important;
}

.projet_title a {
	color: inherit !important;
}

.projet_title a:hover {
	color: #D82C23 !important;
}

.projet_ville {
	font-weight: 700;
	text-transform: uppercase;
	background-color: #d82c24;
	color: #fff;
	padding: 0 10px;
	text-align: center;
	width: max-content;
	margin-bottom: 10px !important;
}

.single-projet {
	background-color: #fff;
}

.single-projet #primary {
	margin: 0;
}

.single-projet article {
	padding: 0 !important;
}

.single_projet_feat_img * {
	width: 100%;
}

.single_projet_feat_img img {
	aspect-ratio: 16/4;
	object-fit: cover;
}

.single_projet_imgs .wpb_single_image {
	width: 33.33333%;
	margin-bottom: 85px;
}

.single_projet_imgs .wpb_single_image * {
	width: 100%;
}

.single_projet_imgs img {
	aspect-ratio: 16/9;
}

.single_projet_imgs>div>div>div {
	display: flex;
	gap: 30px;
}

.part1_row>div>div {
	padding: 50px;
}

.cta_placeholder {
	height: 200px;
	margin: 100px 0;
}

.projet_content.vc_gitem-zone.vc_gitem-zone-c {
	min-height: 180px;
}

.part5 {
	margin-bottom: 100px !important;
}

.single-projet .part1 {
	display: flex;
	gap: 25px;
}

.single-projet .part1 h1 {
	font-size: 30px;
	text-transform: uppercase;
}

.single-projet .part1 hr{
	background-color: #d82c24;
    height: 2px;
    width: 40%;
    margin-left: 0;
}

.data_spec {
	font-weight:600;
}

.single-projet .part1>div {
	width: 50%;
	line-height: 1.4;
}

.home_map_titre {
	color: rgb(36, 63, 139) !important;
}

.projet_desc {
	line-height: 1.3;
}


.center-horizontally {
	margin-left: auto;
	margin-right: auto;
}

.contact_tel_mail > div {
	display: flex;
	padding-left: 10px;
	border: 1px solid #243f8b;
	border-radius: 5px;
	align-items: center;
	max-width: 275px;
	cursor: pointer;
}

.contact_tel_mail > div:nth-child(1) {
	margin-bottom: 15px !important;
}

.contact_tel_mail > div i {
	font-size: 20px;
	margin-right: 20px;
}

.contact_tel_mail > div p {
	margin: 0 !important;
}

.realisation_home_pays {
	margin-bottom: 175px !important;
	font-size: 16px;
	font-weight: 700;
	color: white;
	cursor: pointer;
	margin-top: 20px !important;
}

.realisation_home_pays span {
	padding: 10px 20px;
	background-color: white !important;
	color: #d82c24 !important;
	text-transform: uppercase !important;
	font-size: 12px !important;
	border: 1px solid white;
}

.realisation_home_pays span:nth-child(2) {
	background-color: #d82c24 !important;
	color: white !important;
}

.section_img_txt_produits_left + div > div {
  min-height: 286px;
}

.section_img_txt_produits_left > div > div {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.home_international {
	margin-left: 25px !important;
}

.zone_titre_realisations{
	margin-bottom: -130px;
}

.zone_titre_qui_est_geostaff {
	margin-bottom: -120px;
}

.titre_actualites{
	margin-bottom: 150px !important;
}
.zone_titre_actualites{
	margin-bottom: -195px;
}

.zone_titre_produit {
	margin-bottom: -120px;
}
.zone_titre_produit::before {
	content: '' !important;
	background-color: #D82C24;
	position: absolute;
	display: block !important;
	top:0;
	left: 0;
	bottom: 30%;
	width: 37%;
}
.zone_titre_qui_est_geostaff::before,
.zone_titre_actualites::before,
.zone_titre_chiffres::before {
	content: '' !important;
	background-color: #D82C24;
	position: absolute;
	display: block !important;
	top:0;
	left: 0;
	bottom:0;
	width: 37%;
}

.title_faq p {
	font-weight: 700;
	font-size: 1.3em;
	text-shadow: 1px 1px rgba(0,0,0,0.1);
}

.zone_titre_chiffres {
	margin-top: -3rem;
	z-index: 1;
}

.zone_titre_solution{
	transform: translateY(50%);
    z-index: 1;
}

.actus_home{
	z-index: 2;
}

.home_map_col .wpb_wrapper .wpb_wrapper {
	margin-bottom: 85px;
	display: flex;
	box-shadow: 1px 1px 40px rgba(0, 0, 0, 0.2);
	position: relative;
}

.home_map_col.overlay .wpb_wrapper .wpb_wrapper::before {
    background-color: #fff;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1000000;
}

.entry-content .vc_toggle_title h4 {
    font-size: 16px;
    font-size: 1.1rem;
}

.home .titre_realisations {
	margin-bottom: 5px !important;
}

#home_map {
	height: 500px;
	width: calc( 100% - 250px );
}

.home_map_droite {
	width: 250px;
	background-color: #fff;
}

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

.home_map_droite .home_map_titre {
	font-size: 20px;
	text-transform: uppercase;
	font-weight: 700;
	line-height: 1.2;
	margin: 15px 0 !important;
}

.home_map_date {
	font-size: 16px;
}

.home_map_ville {
	font-weight: 700;
	text-transform: uppercase;
	background-color: #d82c24;
	color: #fff;
	padding: 0 10px;
	text-align: center;
	width: max-content;
}

.map_infos {
	padding: 20px !important;
	display: flex;
	flex-direction: column;
}

.home_map_col p {
	margin: 0 !important;
}

.home_map_droite > div {
	height: 100%;
}

.intro_p * {
	font-size: 18px;
	font-weight: 700;
}

.lien_absolute {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
	  background-color: transparent !important;
}

.page_header {
	min-height: 250px;
}
.page_titre {
	transform: translateY(-50%);
}

/* Espace pro */

.espace-pro-block-bleu > .vc_column-inner {
	background-image: url(images/pv-specimen-bleu.svg);
	background-repeat: no-repeat;
    background-position-x: calc(100% + 150px);
    background-position-y: -25px;
	background-size: 450px;
}

.espace-pro-block-rouge > .vc_column-inner {
	background-image: url(images/pv-specimen-rouge.svg);
	background-repeat: no-repeat;
    background-position-x: calc(100% - 150px);
    background-position-y: -100px;
	background-size: 500px;
}

.espace-pro-block-rouge h2, .espace-pro-block-rouge h3 {
	color: #D82C24 !important;
}

.espace-pro-block h2 {
    font-size: 20px;
    text-transform: uppercase !important;
    font-weight: 800 !important;
}

.espace-pro-block h3 {
    font-weight: 400;
    font-size: 16px;
}

.log-reg-blocks {
	display: flex;
	flex-wrap: wrap;
}

.log-reg-blocks > .vc_column_container > .vc_column-inner {
	height: 100%;
	position: relative;
}

.log-reg-blocks .wpb_raw_code {
	text-align: center;
	margin-bottom: 0px;
}

.log-reg-blocks .titre_connexion p {
	font-size: 15px;
	line-height: 1.3;
}

.log-reg-blocks .ubtn-ctn-center {
	position: absolute;
    bottom: -35px;
    left: 0;
    width: 100%;
	transform: translate(0px, 50%);
	z-index: 2;
}

.form_reg_pro .wpcf7-form input, .form_reg_pro_rouge .wpcf7-form input {
	background-color: transparent !important;
    border: none;
    border-bottom: 1px solid white;
    border-radius: 0;
    padding: 10px;
	color: white !important;
}

.form_reg_pro .wpcf7 input, 
.form_reg_pro .wpcf7 input:focus,
.form_reg_pro_rouge .wpcf7 input, 
.form_reg_pro_rouge .wpcf7 input:focus,
.form_reg_pro_rouge .wpcf7 input:-webkit-autofill,
.form_reg_pro .wpcf7 input:-webkit-autofill {
	background-color: transparent !important;
    border: none;
    border-bottom: 1px solid white;
    border-radius: 0;
    padding: 10px;
	color: white !important;
}

.form_reg_pro .wpcf7-form input::placeholder, .form_reg_pro_rouge .wpcf7-form input::placeholder,
.form_reg_pro .wpcf7-form input::-webkit-input-placeholder, .form_reg_pro_rouge .wpcf7-form input::-webkit-input-placeholder {
	color: white;
}

.form_reg_pro .wpcf7 input.wpcf7-submit, .form_reg_pro_rouge .wpcf7 input.wpcf7-submit {
	background-color: white !important;
    color: #233f8b;
    text-transform: uppercase;
    font-weight: 700;
    padding: 10px 40px;
    display: block;
    margin: auto;
    margin-top: 25px;
	color: #243f8b !important;
}

.form_reg_pro_rouge .wpcf7 input.wpcf7-submit {
	color: #d82c24 !important;
}

.espace-pro-block-rouge .ubtn-hover {
	background-color: #d82c24 !important;
}

/* Form open */

.form_reg_pro, .form_reg_pro_rouge {
	margin-left: -15px !important;
    margin-right: -15px !important;
    margin-top: 30px;
	max-height: 0;
    overflow: hidden;
	transition: all 0.5s;
	/*transition-delay: 0.02s;*/
	opacity: 0;
}

.form_reg_pro.open, .form_reg_pro_rouge.open {
	max-height: 500px;
	opacity: 1;
}

.col_reg_pro > .vc_column-inner::after, .col_reg_pro_rouge > .vc_column-inner::after {
	content: "";
    display:block;
    position: absolute;
    width: 100%;
    height: 0px;
    background-color: #233f8b;
    left: 0px;
    z-index: 0;
	transition: all 0.2s;
	opacity: 0;
}

.col_reg_pro_rouge > .vc_column-inner::after {
	background-color: #d82c23;
}

.col_reg_pro.open > .vc_column-inner::after, .col_reg_pro_rouge.open > .vc_column-inner::after {
	height: 100px;
	opacity: 1;
}

/* Alert form */

.form_reg_pro .wpcf7-not-valid-tip, .form_reg_pro_rouge .wpcf7-not-valid-tip {
	color: #ffdbda;
    font-size: 13px;
    margin-top: 2px;
    font-style: italic;
}

.form_reg_pro .wpcf7-not-valid-tip {
	color: #bbc6e6;
}

.form_reg_pro .wpcf7-response-output, .form_reg_pro_rouge .wpcf7-response-output {
	font-weight: 600;
    margin: 0 10px 20px !important;
    padding: 10px 20px !important;
    border: none !important;
    bottom: -430px;
    background-color: #f1bebc;
    color: #D82C24;
    line-height: 1.4;
    border-left: 4px solid white !important;
    font-size: 14px;
	display: block;
    clear: both;
}

.form_reg_pro .wpcf7-response-output {
	background-color: #a7b8e8;
    color: #243f8b;
}

.form_reg_pro_rouge .wpcf7-form.sent .wpcf7-response-output, .form_reg_pro .wpcf7-form.sent .wpcf7-response-output {
	background-color: #cbe6b2;
    color: #549a13;
}

/*LIST FICHES*/

.select_list_fiche {
	cursor: pointer;
	width: 50%;
	line-height: 1.2rem;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

/*DOC TECH*/

.doc_tech_pdf {
	padding: 35px;
	box-shadow: 1px 1px 10px #ccc;
	margin: 35px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.doc_tech_pdf select {
	margin: 0 35px;
}

.doc_tech_button {
	margin: 0 !important;
	padding: 5px 10px;
	background-color: #d82c24;
	color: white;
}

/* Deco Bloc + HOVER */
.bloc_barre_verticale_gauche .vc_column-inner {
	position: relative !important;
	min-height: 170px;
}
.bloc_barre_verticale_gauche .vc_column-inner .wpb_wrapper {
	z-index: 1;
}
.bloc_barre_verticale_gauche .vc_column-inner:before {
	content:'';
	position: absolute;
	display: block; 	
	width: 15px;
	height: 100%;
	z-index: 0;
	top: 0;
	left: 0;
	-webkit-transition: width 1s; /* Safari prior 6.1 */
  	transition: width 1s;
}
.bloc_barre_verticale_gauche:hover .vc_column-inner:before {
	width: 100%;
	z-index: 0;
}
/* Fin de Deco Bloc HOVER */

/* NAV */

.ast-site-identity {
	padding: 0;
}

.home_header {
	/*height: 100vh;*/
	height: 70vh;
}

.home_header .home_down {
	position: absolute; 
	bottom: 0;
	left: 50%;
	transform: translateX(-76px);
	margin-bottom: 0;
}
.home_header .home_down svg {
	position: absolute; 
	bottom: 0;
}

.home_header .home_title_header h1 {
	font-size: 60px;
}
/*
.home_header .home_title_header h2 {
	font-weight: 600;
	text-transform: none !important;
	font-size: 32px;
}*/
.home_header .home_title_header .home_little_title {
	font-weight: 600;
	text-transform: none !important;
	font-size: 32px;
	display: block;
	line-height: 2.2;
}

.home_header .home_title_header {
	position: absolute;
  	left: 50%;
  	transform: translate(-50%,50%);
  	bottom: 50%;
}

/*  ACTUALITES */

/* actus home*/
.vc_custom_heading a:hover {
    opacity: 1  !important;
    color: #D82C23 !important;
}

.actu_bouton_lire_plus {
	display: flex;
    justify-content: flex-end;
}
.actu_bouton_lire_plus a {
	display: inline-block !important;
    padding: 0 !important;
	width: 30px;
	height: 30px;
	color: #D82C24 !important;
	border-color: #D82C24 !important;
}

.actu_bouton_lire_plus a:hover {
	color: #FFF !important;
	background-color: #D82C24 !important;
}

.actu_bouton_lire_plus a .vc_btn3-icon {
	left: 50%;
	transform: translatex(-50%);
}
.actus_home h4 {
	font-size: 18px;
	line-height: 24px;
}
.actus_home p {
	line-height: 20px;
	margin-bottom: 0;
}

.solutions-actualite {
	text-align: right;
}

.solutions-actualite:hover {
	color: #d82c25;
}

#title-sidebar-actualite {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

/* page NEGOCE */

.negoce_list {
	text-align: center;
}

/*PAGE ACTUALITES*/

#masthead {
	position: absolute;
	width: 100%;
}

.main-header-bar-wrap {
	width: 100%;
}

.container-fluid.article-page {
	position: inherit;
	box-sizing: border-box;
/* 	width: 1908px; */
/* 	left: -354px; */
	overflow: visible;
	min-height: 250px;
	z-index: -1;
}

.main-header-bar {
	background-color: transparent;
	border-bottom-style: unset;
	background-attachment: scroll;
	background-clip: border-box;
}

.articles-list p.article-content {
	margin-bottom: 0 !important;
}

.container-fluid.article-page-title {
	z-index: 1;
	position: relative;
}

.wrap-three-articles {
	display: flex;
	justify-content: center;
}

.article-page-title h1 {
	background-color: #d82c24;
	padding: 2rem 0;
	color: white;
	font-size: 2rem;
	margin-top: -3rem;
	margin-bottom: 3rem;
	width: 50%;
}

.article-page-image {
/* 	background-size: cover; */
	background-repeat: no-repeat;
	background-color: rgba(0, 0, 0, 0);
	background-image: url("http://geostaff.ydu.fr/wp-content/uploads/2019/11/home_visuel_presentation.jpg");
	background-attachment: scroll;
	/*min-width: 1908px;*/
	left: 0px;
	width: 100%;
	position: absolute;
	height: 250px;
	background-position: center center;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 0;
}

.article-page-image-overlay {
	background-color: rgba(255,255,255,0.68);
	color: inherit;
	position: absolute;
	width: 100%;
	height: 100% !important;
	left: 0;
	top: 0;
}

.article-all {
	height: 545px;
	width: 400px;
	margin-bottom: 1rem;
}

.article-inner {
	padding: 2.5rem;
	overflow: hidden;
}

.article-inner:hover {
	overflow: hidden;
}

.article-inner > div > img {
	transition: 0.3s ease-in-out;
}

.article-inner > div:first-child {
	height: 215px;
}

.article-inner:hover > div > img {
	transform: scale(1.1);
	overflow: hidden;
	transition: 0.3s ease-in-out;
}

.article-inner > div:first-child,
.article-inner:hover > div:first-child {
	overflow: hidden;
}

.article-inner:hover > .article-all-text > .article-date,
.article-inner:hover > .article-all-text > .article-content,
.article-inner:visited > .article-all-text > .article-date,
.article-inner:visited > .article-all-text > .article-content,
.article-link:hover,
.article-link {
	color: #243f8b;
}

.article-inner:hover > .article-all-text > .article-title {
	color: #d82c24;
}

.article-inner img {
	height: 215px;
	margin-bottom: 0.5rem;
	object-fit: cover;
}

.article-inner .article-date {
	font-size: 13px;
}

.article-date {
	margin-top: 5px;
}

.articles-list hr {
	margin-bottom: 1em;
}

.article-title {
	font-size: 1.1rem;
	line-height: 1.5rem;
	min-height: 60px;
	color: #243f8b;
}

.article-all hr {
	background-color: #d82c24;
	height: 2px;
	width: 40%;
	margin-left: 0;
}

.article-all-text {
	min-height: 200px;
}

.article-content {
	line-height: 1.4;
}

.fa-wrap {
	position: relative;
}

.article-lire {
	color: #d82c24;
	font-size: 14px;
	height: 29px;
	line-height: 16px;
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	transition: all .3s ease-in-out;
/*     -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%); */
/* 	background-color: #243f8b;
	background: linear-gradient(90deg, rgb(36, 63, 139) 35%, rgb(245, 245, 245) 35%, rgb(245, 245, 245) 65%);
	padding: 0.1rem 0.5rem; */
}

.article-lire::before {
	content: "f054";
    font-family: FontAwesome;
    font-style: normal;
    font-weight: 400;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 2em;
    margin-right: 0;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: inherit;
    margin-left: 0;
	border: 2px solid #d82c24;
	padding: 0.4rem 0 0.3rem 0.1rem;
	transition: all .3s ease-in-out;
}

.article-lire:hover {
	color: white;
	background-color: #d82c24;
}

.pagination-actualite {
	text-align: center;
	margin: 1rem 0 5rem;
}

.pagination-actualite .page-numbers {
	color: #d82c24;
	border: 2px solid #d82c24;
	padding: 1px 7px;
	font-weight: 700;
	transition: all .3s ease-in-out;
}

.pagination-actualite .page-numbers:hover {
	background-color: #d82c24;
	color: white;
	transition: all .3s ease-in-out;
}

.pagination-actualite .next,
.pagination-actualite .prev {
	color: black;
	border: none;
	opacity: 0.5;
	font-size: 3rem;
	transition: all .3s ease-in-out;
	position: relative;
}

.pagination-actualite .next i{
	position: absolute;
	top: 19px;
	left: 15px;
	bottom: 0;
	right: 0;
	transform: translateX(50%);
}

.pagination-actualite .prev i {
	position: absolute;
	top: 19px;
	left: -10px;
	bottom: 0;
	right: 0;
	transform: translateX(-50%);
}

.pagination-actualite .next:hover,
.pagination-actualite .prev:hover {
	opacity: 1;
	transition: all .3s ease-in-out;
	background-color: #f5f5f5;
	color: black;
}

.pagination-actualite .dots {
	border: none;
}

.pagination-actualite .dots:hover {
	background-color: #f5f5f5;
	color: #d82c24;
	transition: all .3s ease-in-out;
}

@media only screen and (max-width: 921px) {	
	.ast-header-break-point .site-header {
		border-bottom-style: unset;
	}
}

/* filtre video */

.filter {
	justify-content: center;
	display: flex;
	gap: 50px;
	flex-wrap: wrap;
	background-color: #e9ebf3;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-top: 50px;
	margin-bottom: 20px;
}

.filter button {
	color: #243f8b;
	border-color: inherit;
	background-color: inherit;
	border-radius: inherit;
	padding: 0px;
	font-family: inherit;
	font-weight: bold;
	border: none;
	position: relative;
	padding-bottom: 5px;
	padding-top: 5px;
}

.filter button:hover {
	color: #D82C24;
}

.filter button::after {
	transition: .5s;
	content: "";
	border: 0px solid #D82C24;
	width: 0%;
	position: absolute;
	bottom: 0;
	margin: 0 auto;
	left: 0;
	right: 0;
}

.filter button:hover::after {
	width: 100%;
	border: 1px solid #D82C24;
}

.filter button:active::after {
	width: 100%;
	border: 1px solid #D82C24;
}

.btn.active::after {
	width: 100%;
	border: 1px solid #D82C24;
}

.filter button.active {
	color: #D82C24;
}

@media only screen and (max-width: 1149px) {
	.filter {
		overflow-x: auto;
		white-space: nowrap;
		flex-wrap: inherit;
		justify-content: flex-start;
		padding: 30px;
	}
}

/*POST GRID HOMEPAGE*/

.vc_gitem-zone.vc_gitem-zone-a.image-post-grid.vc-gitem-zone-height-mode-auto {
	margin-bottom: 0 !important;
}

.vc_gitem-zone.vc_gitem-zone-c {
	min-height: 300px;
}

.text-post-grid-hp .vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_title h4 {
	font-size: 1.1rem;
	margin-bottom: 0 !important;
	min-height: 60px;
}

.text-post-grid-hp .vc_custom_heading.vc_gitem-post-data.vc_gitem-post-data-source-post_excerpt .read-more {
	display: none;
}

.text-post-grid-hp .vc_general.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-square.vc_btn3-style-outline.vc_btn3-o-empty.vc_btn3-icon-left.vc_btn3-color-danger {
	position: absolute;
	top: 230px;
	right: 0;
}

/* .vc_btn3-container.actu_bouton_lire_plus.vc_btn3-right {
	position: relative;
} */

/* PAGE ACTUALITE SINGLE */

.page-single-article {
	display: flex;
}

#primary-article-single {
	width: 72%;	
}

#primary-article-single article {
	padding: 30px 50px !important;
	margin-top: 100px;
}

#primary-article-single header {
	display: flex;
	justify-content: center;
}

#primary-article-single img {
	width: 35vw;
}

#primary-article-single .navigation.post-navigation {
	padding: 2em 0;
}

#primary-article-single .entry-content.clear {
	margin: 3rem 0;
}

#primary-article-single .ast-single-post-order {
	padding-left: 2rem;
}

#secondary-article-single {
	width: 25%;
/* 	margin-left: 1rem; */
}

#secondary-article-single > div {
	width: 100%;
}

#secondary-article-single #secondary {
	padding-left: 30px;
	margin-top: 100px;
}

#secondary-article-single .sidebar-main {
	background-color: white;
	padding: 2rem;
}

#secondary-article-single .widget-title {
	text-transform: uppercase;
	font-size: 1rem;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 2px solid #d82c24;
}

#secondary-article-single #recent-posts-2 ul,
#secondary-article-single #categories-2 ul {
	margin-top: 30px;
}

#secondary-article-single #recent-posts-2 li {
	line-height: 1.4;
	margin-bottom: 1rem;
}

/* DOC TECH */

.col_doc_tech > div > div {
	display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
}
.col_doc_tech > div > div > div {
	width: 100%;
}

.bloc_shadow > .vc_column-inner {
	box-shadow: 0px 5px 17px rgba(0,0,0,0.1);
}

/*.bloc_doc_tech > div {
	min-height: 200px;
}*/
.bloc_doc_tech h4 {
	margin-bottom: 10px;
}

.bloc_catalogues .bloc_barre_verticale_gauche .vc_column-inner:before {
	background-color: rgba(52,77,142);
}

.bloc_catalogues_description {
	position: absolute;
	width: 200px;
	top: 20%;
	left: 50%;
	transform: translateX(-50%);
	color: #ffffff;
	opacity: 0;
	-webkit-transition: opacity 800ms ease-out;
    transition: opacity 800ms ease-out;
	pointer-events: none;
}
.bloc_catalogues .bloc_barre_verticale_gauche:hover .bloc_catalogues_description,
.bloc_catalogues .bloc_barre_verticale_gauche:hover .picto_dwl_catalogues{
	opacity: 1;
	z-index: 2;
}
.picto_dwl_catalogues {
	width: 20%;
	position: absolute;
	bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
	opacity: 0;
	transition: all 1.5s ease;
	pointer-events: none;
}
.picto_dwl_catalogues #Rectangle_85 rect {
	fill: rgba(0,0,0,0.7) !important;
}

.picto_dwl_fichiers, .picto_link_pv {
	width: 10%;
	position: absolute;
	bottom: 0;
  right: 0;
	line-height:0;
  min-width: 50px;
}
.picto_dwl_fichiers svg #arrow path, .picto_dwl_catalogues svg #arrow path {
 	transition: transform:hover .25s cubic-bezier(.68,.47,.60,2.2);
	-webkit-transition: transform .25s cubic-bezier(.68,.47,.60,2.2);
}

.picto_dwl_fichiers:hover svg #arrow path, .picto_dwl_catalogues:hover svg #arrow path  {
	transform: translateY(-8%);
	transition: transform 0.25s ease !important;
}
.picto_link_pv:hover svg #arrow path  {
	transform: translateY(8%);
	transition: transform 0.25s ease !important;
}

/* page Qui sommes-nous */

.who_bannieres_solutions .ult-new-ib {
	cursor: default;
}
.who_bannieres_solutions .ult-new-ib .ult-new-ib-desc p {
	font-weight: normal !important;
	font-size:14px;
}
.who_bannieres_solutions .ult-new-ib .ult-new-ib-desc h3 {
	font-weight: bold !important;
	font-size: 20px;
	text-transform: uppercase;
	background-color: rgba(52,77,147,0.9);
    text-align: center;
    width: 100%;
    margin: auto;
    margin-top: 30%;
}
.who_bannieres_solutions .ult-new-ib .ult-new-ib-desc h3::after {
	background: #344d93;
}

.who_bannieres_solutions .ult-new-ib:hover .ult-new-ib-desc h3 {
	background-color: transparent;
	color: #344d93 !important;
	margin: 0;
}

.carousel-partenaires .slick-track {
	display: flex !important;
}

.carousel-partenaires .slick-slide {
    height: inherit !important;
}

.ult-carousel-wrapper .slick-slide > div {
	height: 100% !important;
}

.ult-carousel-wrapper .square-border {
	border-width: 2px !important;
}

.ult-carousel-wrapper .square-border:hover {
	background-color: #d53532;
}

.ult-carousel-wrapper .square-border:hover i {
	color: #fff;
}

.ult-carousel-wrapper .slick-prev {
	left: -50px;
}

.ult-carousel-wrapper .slick-next {
	right: -50px;
}

.who_bannieres_solutions .ult-new-ib .ult-new-ib-desc {
	padding: 20px 30px;
}

.zone_titre_histoire, .zone_titre_produits_associes {
	margin-bottom: -3em;
	z-index: 4;
}

.ydu_arrow_left i, .ydu_arrow_right i {
	font-style: none !important;
	font-family: 'FontAwesome';
}

.ydu_arrow_left:hover, .ydu_arrow_right:hover {
	color: #fff;
	border: none;
	background-color: #d82c24;
}

.ydu_arrow_left, .ydu_arrow_right {
	position: absolute;
	border: 2px solid #d82c24;
	color: #d82c24;
	top: 50%;
	transform: translatey(-50%);
	width: 50px;
	height: 50px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 1000000;
}

.ydu_arrow_left {
	left: -50px;
}

.ydu_arrow_right {
	right: -50px;
}

.zone_titre_produits_associes {
	z-index: -1;
}

.zone_titre_produits_associes > div:nth-child(2) {
	padding-bottom: 70px;
}

/* .slick-track {
	display: flex !important;
}

.slick-slide {
	height: inherit !important;
}

.slick-slide > div {
	height: 100%;
} */

/* .grid_type_produit > div > div:first-child {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	text-align: center;
	grid-gap: 25px;
}
 */
/* .type_produit {
	padding: 35px 15px;
	background-color: #fff;
	width: 100%;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 20px;
	position: relative;
	z-index: 10;
	cursor: pointer;
}

.type_produit a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.type_produit p {
	margin-bottom: 0 !important;
	transition: color .5s;
}

.type_produit:hover p {
	color: white !important;
	z-index: 5;
}

.type_produit:hover::before {
	width: 100%;
	z-index: -1 !important;
	-webkit-transition: width 1s;
	transition: width 1s;
}

.type_produit::before {
    content: '';
    position: absolute;
    display: block;
    width: 15px;
    height: 100%;
    background-color: #D82C24;
    z-index: 2;
    top: 0;
    left: 0;
} */
/* 
.grid_type_produit .vc_grid-item {
	background-color: #fff;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.grid_type_produit .vc_grid-item img {
	width: 100%;
	object-fit: cover;
	height: 250px;
	margin-bottom: 25px;
}

.grid_type_produit .vc_grid-item h4 {
	text-transform: uppercase;
	text-align: center;
	display: block;
	font-weight: 700;
}

.grid_type_produit .vc_grid-item .vc_gitem-post-data-source-post_excerpt {
	text-align: left;
	margin-left: 25px;
	line-height: 1.5;
	margin-right: 25px;
}

.grid_type_produit .vc_grid-item .vc_btn3-container {
	font-weight: bold;
	border-radius: 0px;
	border-width: 2px;
	border-color: #d82c24;
	border-style: solid;
	background:	#ffffff;
	color:	#d82c24;
	padding: 15px 30px;
	margin: 0 auto 25px auto;
	transition: all 0.3s;
	cursor: pointer;
}

.grid_type_produit .vc_grid-item .vc_btn3-container:hover {
	background: rgb(216, 44, 36) none repeat scroll 0% 0%;
	color: white;
} */

.primary_type_produit {
	width: 100% !important;
}

.single_pa_haut img {
	height: 250px;
	width: 100%;
	object-fit: cover;
}

.single_pa_bas {
	background-color: #e9ebf3;
	text-align: center;
	padding: 15px 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.produit_associe_slick .slick-next {
	position: absolute;
	right: -120px;
	top: 50%;
}

.produit_associe_slick .slick-prev {
	position: absolute;
	left: -145px;
	top: 50%;
}

.single_pa_desc {
	line-height: 1.4;
	margin: 15px 0;
}

.single_pa_lien {
	font-size: 16px;
}

.single_pa_lien:hover {
	color: #fff !important;
	background-color: #d82c24 !important;
}

.single_pa_titre {
	text-transform: uppercase;
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 10px !important;
	line-height: 1.2;
}

.produit_associe_slick .slick-slide {
	margin: 0 15px;
	border: 1px solid #e9ebf3;
}

.single_pa_lien {
	color: #d82c24;
	border: 2px solid #d82c24;
	font-weight: bold;
	padding: 10px 25px;
}

@media only screen and (max-width: 1149px) {
	#warrington-size h3 {
		font-size: 1rem;
	}
}

@media only screen and (max-width: 644px) {
	#warrington-size h3 {
		font-size: 0.8rem;
	}
	
	.carousel-partenaires h3 {
		font-size: 1rem;
	}
	
	.carousel-partenaires p {
		font-size: 12px;
	}
}

@media only screen and (max-width: 498px) {
	#warrington-size h3 {
		font-size: 0.6rem;
	}
}

@media only screen and (max-width: 398px) {
	#warrington-size h3 {
		font-size: 0.5rem;
	}
}

/* TIMELINE */
body .timeline_histoire .timeline-line span {
    background-color: transparent !important;
}
body .timeline_histoire .timeline-block {
	border-color: transparent !important;
	margin-bottom: 0 !important;
	width: -webkit-calc(50% - 70px) !important;
    width: calc(50% - 70px) !important;
}
.timeline_histoire .timeline-line {
    border-right: 10px solid #ffffff !important;
	height: 110%;
}
body .timeline_histoire .timeline-dot{
    width: 30px;
    height: 30px;
    background-color: #344d93;
    border: 0;
}
body .timeline_histoire .timeline-post-left .timeline-dot {
	right: -90px;
}
body .timeline_histoire .timeline-header {
	padding: 30px;
}
body .timeline_histoire .timeline-post-right .timeline-dot {
	left: -81px;
}
/* --- fin de TIMELINE --- */

.bloc_counter {
	display: flex;
	justify-content: center;
}

/* BLOCS SOLUTIONS*/

.blocs_solutions .bloc_barre_verticale_gauche:hover .vc_column-inner .wpb_wrapper h3 {
	color: #fff;
	transition: color 0.6s ease;
}
.blocs_solutions .bloc_barre_verticale_gauche .vc_column-inner:before {
	background-color: #D82C24;
}

.blocs_solutions .vc_column-inner {
	background-position: right !important;
}

#block-with-modal > div:hover {
	cursor: pointer;
}

.modal-solutions > div > div > div {
	padding: 3rem;
	background: linear-gradient(90deg, rgb(216, 44, 36) 50%, rgb(255, 255, 255) 50%);
}

.modal-solutions > div > div > div > div {
	display: flex;
	justify-content: space-evenly;
}

.modal-solutions > div > div > div > div > div:first-child {
	margin-right: 10rem;
}

.modal-solutions h2 {
	font-size: 2.5rem;
	line-height: 2;
	margin-bottom: 2rem;
}

.modal-solutions > div > div > div > h3:hover, 
.modal-solutions > div > div > div > h3 > a:hover{
	color: #d82c24;
}

.modal-solutions ul {
	margin: 0 0 1.5em 0em;
}

.modal-solutions .ult_modal-body > div > div:first-child ul {
	color: white;
	margin-bottom: 2em;
}

.modal-solutions .ult_modal-body > div > div:nth-child(2) ul {
	color: black;
}

.modal-solutions .ult_modal.ult-medium {
	width: 90%;
}

.modal-solutions li {
	padding-bottom: 0.5rem;
}

.modal-solutions li::marker {
	font-size: 10px;
}

.modal-solutions .ult_modal-body.ult-responsive.ult-html > div > div > p:nth-child(2) {
	margin-bottom: 2rem;
}

.modal-solutions .ult_modal-body.ult-responsive.ult-html > div > div:first-child li::marker {
	color: white;
}

.modal-solutions .ult_modal-body.ult-responsive.ult-html > div > div:first-child a {
	background-color: white;
	padding: 1rem;
}

.modal-solutions .ult_modal-body.ult-responsive.ult-html > div > div:nth-child(2) li::marker,
.modal-solutions .ult_modal-body.ult-responsive.ult-html > div > div:nth-child(2) li {
	color: black;
}

.modal-solutions .ult_modal-body.ult-responsive.ult-html > div > div:nth-child(2) a {
	background-color: rgb(216, 44, 36);
	padding: 1rem;
}

#dop-option,
#cat_select,
#fiche_select,
#lang_select {
	width: 50%;
	line-height: 1.4rem;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	height: 45px;
}

.bloc_catalogues #cat_select, .bloc_catalogues #lang_select {
  width: 75% !important;
}

.bloc_catalogues .select-wrap::before {
  left: calc(75% - 43px) !important;
}

.bloc_catalogues .select-wrap::after {
  right: calc(25% + 13px) !important;
}

.telechargement_bloc_catalogues {
	z-index: 100;
}

.list_selects {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 100px;
}

.bloc_catalogues.loading::after, .list_fiches_produit.loading::after, .bloc_fiches.loading::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	background-color: rgba(0,0,0,0.2);
	top: 0;
	left: 0;
	z-index: 10000;
}

.loader {
  height: 0;
  width: 0;
  padding: 10px;
  border: 4px solid #ccc;
  border-right-color: #888;
  border-radius: 22px;
  -webkit-animation: rotate 1s infinite linear;
  position: absolute;
  left: calc(50% - 15px);
  top: calc(50% - 15px);
}

@-webkit-keyframes rotate {
  /* 100% keyframe for  clockwise. 
     use 0% instead for anticlockwise */
  100% {
    -webkit-transform: rotate(360deg);
  }
}

.single_fiche_prod select {
	width: 100% !important;
}

.single_fiche_prod h4 {
	margin: 10px 0;
	font-size: 18px;
}

.single_fiche_prod .single_fiche_prod_dl_btn {
	border: 2px solid #d82c24;
	padding: 10px 20px;
	color: #d82c24;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	display: block;
	cursor: pointer;
	transition: all .2s linear;
	margin-top: 10px;
	text-transform: uppercase;
}

.single_fiche_prod .single_fiche_prod_dl_btn:hover {
  	color: #fff;
  	background-color: #d82c24;
}

.single_fiche_prod .select-wrap::before {
	left: calc(100% - 43px) !important;
}

.single_fiche_prod .select-wrap::after {
	right: calc(0% + 13px) !important;
}

.list_fiches_produit img {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	object-fit: cover;
}

.img_ratio {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
}

.single_fiche_prod {
	width: calc(25% - 23px);
}

.list_fiches_produit > div > div {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

#dop-option:hover,
#dop-button:hover,
#cat_select:hover,
#cat-button:hover,
#fiche_select:hover,
#lang_select:hover {
	cursor: pointer;
}

.select-wrap {
	position: relative;
}

.select-wrap::before {	
	position: absolute;
	content: "";
	pointer-events: none;
	left: calc(50% - 43px);
	bottom: 1px;
	height: 43px;
	width: 43px;
	background: #2a4088;
}

.select-wrap::after {
	position: absolute;
	content: "";
	pointer-events: none;
	background-color: white;
  -webkit-clip-path: polygon(50% 100%, 0px 0px, 100% 0px);
	clip-path: polygon(50% 100%, 0px 0px, 100% 0px);
	right: calc(50% + 13px);
	top: 50%;
	height: 10px;
	width: 15px;
	transform: translateY(-50%);
}

@media only screen and (max-width: 991px) {
	.modal-solutions > div > div > div > div > div:first-child {
		margin-right: 5rem;
	}
}


/* Extranet - devis */

.extranet-devis {
	background-color:#D82C24;
	width: 172px;
	text-align: center;
	padding: 0.9em;/*check this*/
	padding-bottom: 0.4em;/*check this*/
	position: fixed;
	top: 200px;
	right: 0px;
	z-index: 10;
	box-shadow: -3px 1px 10px rgba(0, 0, 0, .3);
/* 	transition: 0.1s ease-in; */
}

.image-person {
	margin-left: 0;
	display: flex;
	justify-content: space-between;
	margin-bottom: 0.5em;
}

.image-person > div {
	margin-left: auto;
	margin-right: auto;
}

.image-person > div:first-child {
	content: url("images/picto_espace-client.svg");
	width: 42px;
/* 	transition: 0.1s ease-out; */
}

.extranet-title {
	margin-top: auto;
	margin-bottom: auto;
}

.extranet-devis h6,
.contact-sidebar h6 {
	color: white;
	font-size: 1.3em;
	line-height: 1.1;
}

.contact-sidebar h6 {
	letter-spacing: -1px;
}

.contact-ed-title {
	margin: auto;
	margin-right: 0;
}

.extranet-devis > p > a:hover {
	color: #d82c25;
}

.contact-sidebar {
	background-color:#D82C24;
	width: 172px;
	text-align: center;
	padding: 1em;
	position: fixed;
	top: 430px;
	right: 0px;
	z-index: 10;
	box-shadow: -3px 1px 10px rgba(0, 0, 0, .3);
/* 	transition: all 0.1s ease-in; */
}

.contact-sidebar #contact-ed {
	content: url("images/picto-footer-contact.svg");
	width: 50px;
	margin-left: 0;
	margin-right: auto;
}

.remove-element {
	display: none !important;
}

.contact-sidebar a {
	position: relative;
}

.contact-ed-wrap {
	display: flex;
}

.wrap-extranet {
	position: fixed;
	top: 200px;
	right: 0px;
	width: 172px;
	height: 163px;
	z-index: 10;
}


/* Footer */

.text-footer {
	color: white;
}

.text-footer > .vc_col-sm-12 {
  max-width: 1240px;
  margin: auto;
  float: none;
  padding-left: 20px;
  padding-right: 20px;
}

.title-footer {
	font-weight: 700;
	margin-bottom: 10px !important;
}

#group-left-footer1 > div > div > div > div:first-child,
.group-left-footer2 > div > div > div > div:first-child {
	margin-bottom: 10px !important;
}

.group-left-footer2 > div > div > div > div:first-child {
	opacity: 0.2;
}

.left-footer .wpb_raw_html {
	margin-bottom: 0 !important;
}

body #group-left-footer1:hover,
body .group-left-footer2:hover,
body .group-left-footer2 a:hover
{
	background-color: white;
	color: #2a4088 !important;
}

.center-footer > div > div > div:nth-child(2),
.right-footer > div > div > div:nth-child(2) {
	margin-bottom: 0px !important;
}

.text-footer .vc_separator {
  margin-bottom: 10px;
}

.simpletext-footer {
	margin-bottom: 0px !important;
}

.simpletext-footer h6 {
	color: white;
	font-weight: 600;
}

.simpletext-footer p {
	margin-bottom: 0;
	line-height: 1.4;
	font-weight: 200;
	font-size: 13px;
}

.ast-small-footer {
	border-top: none;
}

.ast-footer-overlay {
	background-color: #2a4088;
	padding-top: 10px;
	padding-bottom: 10px;
}

.text-footer svg {
	width: 35px !important;
	height: 35px !important;
}

.group-footer a {
  color: white;
  padding: 0px;
  display: block;
}
/*
.vc_col-sm-4:not(.left-footer) a {
  padding: 15px;
}*/

.group-footer.simpletext-footer a {
	padding: 10px 0;
}

.group-footer a span {
  display: inline-block;
    width: calc(100% - 40px);
    padding-left: 20px;
	vertical-align: top;
}

.group-footer > div > div > div {
	display: flex;
	padding: 5px 15px;
}

.group-footer:hover h6 {
	color: #2a4088;
}

.group-footer:hover svg > path,
.group-footer:hover svg > g > path,
.group-footer:hover svg > g > g > path {
	fill: #2a4088 !important;
}

.group-footer a:hover {
	background-color: white;
	color: #2a4088;
}

.group-footer-bottom {
	margin-bottom: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* #group-footer-t-up {
	padding-bottom: 15px;
} */

#group-footer-t-down {
	padding-bottom: 0px;
}

/* Single post page */
.entry-date {
	display: none;
}

.single-post .entry-date {
	display: block;
}

/* FORMULAIRES */

.form_contact .vc_col-sm-6, .form_contact .vc_col-sm-12 {
    padding: 0 10px;
}
.form_contact input:not(.wpcf7-submit) {
	border: 0 !important;
    border-radius: 0 !important;
    background-color: #F0F0F0 !important;
	padding: 1.3em !important;
}
.form_contact .wpcf7-textarea, .form_contact .wpcf7-textarea:focus {
	background-color: rgba(35,63,139,0.1);
	border: 0;
	border-radius: 0;
	padding: 1.3em !important;
}
/*OFFRE D'EMPLOI*/


.geostaff_liste_emplois_block {
	width: 70%;
	display: block;
	margin: 30px auto;
}

.geostaff_emploi_desc {
	display: none;
	background-color: rgba(210, 210, 210, 0.4);
	padding: 7px 20px;
}

.geostaff_emploi_form {
	display: none;
	padding: 50px;
	background-color: rgba(210, 210, 210, 0.4);
	color: white;
	margin-bottom: 50px;
}

.postuler_poste {
	display: none;
}


.geostaff_emploi_form .file {
	opacity: 0;
	position: absolute;
	z-index: -1;
}

.geostaff_emploi_form label[for^="fichier_cv"], .geostaff_emploi_form label[for^="fichier_lm"] {
	cursor: pointer;
	background-color: white;
	color: #3e4349;
	padding: 13px 15px;
	width: 100%;
	display: block;
}

.postuler_fichier span input {
	display: none;
}

.postuler_fichier p {
	margin-bottom: 0;
}

.postuler_fichier {
	position: relative;
	max-height: 53px;
}

.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors {
	color: rgb(216, 140, 0);
	background-color: rgb(255, 225, 186);
	border: 0;
	padding: 10px;
}
.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
	color: #4F8A10;
	background-color: #DFF2BF;
	border: 0;
	padding: 10px;
}
div.wpcf7-mail-sent-ok:before,div.wpcf7-validation-errors:before {
	font: 26px/30px Fontawesome;
	margin-right: 16px;
	vertical-align: -10%;
}
div.wpcf7-mail-sent-ok:before {
  content: "\f00c";
}
div.wpcf7-validation-errors:before {
  content: "\f00d";
}

.postuler_fichier label {
	padding-left: 50px !important;
}

.postuler_fichier .form_picto {
	float: left;
	color: #003772;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 20px;
}

.postuler_fichier .remove_file_cv, .postuler_fichier .remove_file_lm  {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	display: none;
	cursor: pointer;
	padding: 0 10px;
	color: #003772;
}

.postuler_fichier .wpcf7-not-valid-tip {
	position: absolute;
}

.wpcf7-form.invalid .postuler_envoyer {
	margin-top: 2em;
}

.postuler_fichier .wpcf7-form-control-wrap {
	position: inherit !important;
}

.geostaff_emploi_item {
	display: block;
	position: relative;
	border: 1px solid #d2d2d2;
}

.geostaff_emploi_item:not(:first-child) {
	margin-top: 15px;
}

.geostaff_emploi_title {
	padding: 7px 20px;
	font-size: 1.2em;
	color: #003772;
	font-weight: 600;
}

.geostaff_emploi_right {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	align-items: center;
}

.geostaff_show_more, .geostaff_apply {
	display: flex;
	height: 100%;
	align-items: center;
	font-size: 1.2em;
}

.geostaff_emploi_form form div {
	margin-bottom: 0;
}

.geostaff_emploi_form form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: 
		'nom prenom'
		'mail tel'
		'message message'
		'cv lm'
		'envoyer .'
		;
	grid-column-gap: 15px;
	grid-row-gap: 15px;
}

.postuler_nom {
	grid-area: nom;
}

.postuler_prenom {
	grid-area: prenom;
}

.postuler_mail {
	grid-area: mail;
}

.postuler_tel {
	grid-area: tel;
}

.postuler_message {
	grid-area: message;
}

.postuler_cv {
	grid-area: cv;
}

.postuler_lm {
	grid-area: lm;
}

.postuler_envoyer {
	grid-area: envoyer;
}

.geostaff_emploi_item p, .geostaff_emploi_desc p, .geostaff_emploi_form p {
	margin-bottom: 0 !important;
}

.geostaff_show_more p {
	color: white;
}

.geostaff_show_more:hover p {
	color: white;
}

.geostaff_show_more {
	padding: 0 15px;
	background: rgb(213, 53, 50);
	cursor: pointer;
}

.geostaff_apply {
	padding: 0 20px;
	background: #003772;
	cursor: pointer;
}

.geostaff_apply p {
	color: white;
}

/* Page OUTIL DE CALCUL */

.titre_connexion h3{
	font-weight: unset;
}

.picto_connexion {
	width: 30%;
	margin: auto;
  max-width: 90px;
}

.form_identifiants .vc_col-sm-6, .form_identifiants .vc_col-sm-12 {
    padding: 0 5px;
	margin-bottom: 10px;
}
.form_identifiants input:not(.wpcf7-submit) {
	border: 0 !important;
    border-radius: 0 !important;
	font-size: 14px;
	padding: 0.65em;
}
.form_identifiants .wpcf7-submit {
	width: 100%;
	background-color: #fff;
	color: #233f8b;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: bold;
	border-radius: 0;
}
.form_identifiants .wpcf7-submit:hover {
	background-color: #bcbcbc;
}

/* TABLEAU Performances système*/

.tableau_perf_syst table {
	line-height: 1.3;
}
.tableau_perf_syst h3 {
	font-size: 15px;
}

/* Page Produits */

#documentation-technique-produits {
	padding-top: 25px;
	padding-bottom: 25px;
	margin-bottom: 0 !important;
}


/* Style Grid produits  */

.grid_produits_titre h4 {
	text-transform: uppercase !important;
	font-size:17px;
	line-height: normal;
	margin-bottom: 0;
}

.single_produit_type_content h4 {
	text-transform: uppercase !important;
	font-size:16px;
	line-height: 1.2;
}

.single_produit_type:nth-of-type(3n + 2) {
	margin: 0 2%;
}

.single_produit_type {
	width: 32%;
	margin-bottom: 50px;
}

.ydu_type_produit_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.ydu_type_produit_list p, .ydu_type_produit_list h4, .single_produit_type_content p, .single_produit_type_content h4, .single_pa_bas p {
	margin-bottom: 0 !important;
}

.ydu_type_produit_list .single_produit_type:last-child {
	margin-right: auto !important;
}

.single_produit_type_img img {
   object-fit: cover;
	max-height: 300px;
	width: 100%;
	border: 1px solid #e9ebf3;
	height: 250px;
}

.single_produit_type_content {
	background-color: #e9ebf3;
	padding: 15px 30px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
}

.single_produit_type_content a:hover {
	color: #fff;
	background-color: #d82c24;
}

.single_produit_type_content a {
	border: 2px solid #d82c24;
	padding: 10px 20px;
	color: #d82c24;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	display: block;
}

.grid_produits_dwl .vc_btn3.vc_btn3-color-danger.vc_btn3-style-outline {
	color: #d82c24;
	border-color: #d82c24;
	font-weight: bold;
}
.grid_produits_dwl .vc_btn3.vc_btn3-color-danger.vc_btn3-style-outline:hover, .grid_produits_dwl .vc_btn3.vc_btn3-color-danger.vc_btn3-style-outline:focus {
	background-color: #d82c24;
	border-color: #d82c24;
}

.grid_produits_desc p {
	line-height: normal;
	text-transform: unset; 
}

.grid_bloc_produit {
	box-shadow: 0px 5px 17px rgba(0,0,0,0.1);
}

/* Tableau */

.dataTables_wrapper tfoot {
    display: none;
} 
.dataTable tfoot {
    display: none;
}

/* Negoce */

.double_btn .text-btn {
    font-size: 14px !important;
    line-height: 16px !important;
}

/* RESPONSIVE */


@media only screen and (max-width : 1200px) {
	.single_fiche_prod {
		width: calc(33% - 18px);
	}

	.post_grid_chantiers .vc_grid-item {
		width: 50%;
	}
}

@media only screen and (max-width : 1080px) {
  .ult-carousel-wrapper .slick-prev {
    left: -25px;
  }
  
  .ult-carousel-wrapper .slick-next {
    right: -25px;
  }
}

/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {
	
	.single_fiche_prod {
		width: calc(50% - 15px);
	}
	
	.single_fiche_prod .select-wrap select {
		width: 100% !important;
	}

	.projet_content.vc_gitem-zone.vc_gitem-zone-c {

		padding-top: 15px !important;
		padding-bottom: 15px !important;
	}
  
  /* home */
   .text-post-grid-hp .vc_general.vc_btn3.vc_btn3-size-lg.vc_btn3-shape-square.vc_btn3-style-outline.vc_btn3-o-empty.vc_btn3-icon-left.vc_btn3-color-danger {
    position: relative;
    top: auto;
  }
  
  .titre_actualites {
    margin-bottom: 75px !important;
  }
  
  .zone_titre_actualites {
    margin-bottom: -85px;
  }
  
  .zone_titre_actualites .bg_rouge {
    background-color: transparent;
  }
  
  .zone_titre_actualites .vc_col-sm-3 {
    width: 100%;
  }
  
  .vc_custom_1574947532367.actus_home {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .zone_titre_actualites::before {
           width: 235px;
  }
  
  /* single actu */
  #secondary-article-single #secondary {
    padding-left: 10px;
  }
  
  #secondary-article-single .sidebar-main {
    padding: 20px;
  }
  
  /* about */
  .stats-top .stats-number {
    font-size: 50px !important;
  }
  
  /* doc tech - doc form - */
 .select-wrap select {
    width: calc(100% - 60px) !important;
  }
  
  .select-wrap::before {
    left: calc(100% - 103px);
  }
  
  .select-wrap::after {
    right: calc(0% + 73px);
  }
  
  .col_doc_tech > div > div > div {
    padding-right: 0 !important;
  }
  
  /* Solutions */
  
  .ydu-prod-slide .vc_column_container>.vc_column-inner {
     padding-left: 45px;
     padding-right: 45px;
  }
  
}

@media only screen and (max-width : 921px) and (min-width: 480px) { 
  .group-footer a span {
    width: 100%;
    padding-left: 0;
  }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {

	.post_grid_chantiers .vc_grid-item {
		width: 100%;
	}

	.projet_content.vc_gitem-zone.vc_gitem-zone-c {
		min-height: inherit;
		padding-top: 30px !important;
		padding-bottom: 30px !important;
	}
	
	#dop-option, .bloc_catalogues #cat_select, #fiche_select, #lang_select {
		height: auto;
		width: 100% !important;
	}
	
	.single_fiche_prod .select-wrap::before {
	  left: calc(100% - 35px) !important;
	}
	
	.single_fiche_prod .select-wrap::after {
	  right: calc(0% + 8px) !important;
	}

	.bloc_catalogues .select-wrap::before, .list_fiches_produit .select-wrap::before, .bloc_doc_tech .select-wrap::before {
		right: 0 !important;
		left: unset !important;
		height: 37px;
		width: 37px;
	}

	.bloc_catalogues .select-wrap::after, .bloc_doc_tech .select-wrap::after {
		right: 9px !important;
	}
  
.sm-hide {
    display: none;
  }
  
  .text-footer .vc_col-sm-2 {
    width: 25%;
  }
    
  .text-footer .vc_col-sm-3 {
    width: 37.5%;
  }
  
  /* home */
  .home_map_col .wpb_wrapper .wpb_wrapper {
    display: block;
  } 
  
  #home_map, .home_map_droite {
    width: 100%;
  }
  
  #home_map {
    height: 300px;
  }
  
  .vc_gitem-zone.vc_gitem-zone-c {
    overflow: visible;
  }
  
  .modal-solutions > div > div > div > div {
    display: block;
  }
  
  .modal-solutions > div > div > div {
    background: white;
    padding: 0;
  }
  
  .modal-solutions > div > div > div > div > div:first-child {
    margin-right: 0;
    background-color: rgb(216, 44, 36);
  }
  
  .modal-solutions > div > div > div > div > div {
    padding: 30px 50px 50px;
  }
  
  .ult_modal-body > p {
    margin-bottom: 0;
    margin: 0 !important;
  }
  
  /* Single Actu */
  .page-single-article {
    display: block;
  }
  
  .page-single-article #primary-article-single, #secondary-article-single {
    width: 100%;
  }
  
  #secondary-article-single #secondary {
    padding: 0;
    margin-top: 10px;
    margin-bottom: 40px;
  }
  
  #primary-article-single header {
    display: block;
  }
  
  #primary-article-single .ast-single-post-order {
    padding-left: 0;
  }
  
  #primary-article-single img {
    width: 100%;
  }
  
  /* catalogue */
  .catalogue .vc_col-sm-3 {
    width: 50%;
  }
  
  /* about */
  .bloc_counter .vc_col-sm-2 {
    width: 50%;
  }
  
  body .timeline_histoire .timeline-block {
    width: 100% !important;
    margin-top: 20px;
  }
  
  .timeline-post-left .ult-timeline-arrow l, .timeline-post-left .ult-timeline-arrow s,
  .timeline-post-right .ult-timeline-arrow l, .timeline-post-right .ult-timeline-arrow s{
    display: none;
  }
  
  .timeline-post-left .timeline-header {
    text-align: left !important;
  }
  
  .zone_titre_chiffres {
     margin-top: 0;
  }
  
  .zone_titre_chiffres h2 {
    text-align: center !important;
  }
  
  .zone_titre_chiffres::before {
    display: none !important;
  }
  
  .bloc_counter {
    display: block;
    text-align: center;
  }
  
  .bloc_counter .vc_col-sm-2 {
    width: 33%;
    float: none;
    display: inline-block;
    vertical-align: top;
  }
  
  /* career */
  .geostaff_liste_emplois_block {
    width: 100%;
  }
  
  /* espace pro */
  .connex .vc_column-inner {
    padding-right: 20px !important; 
    padding-left: 20px !important;
  }
  
  .connex .vc_column-inner .ubtn-link {
        padding: 10px 0px;
  }
  
  /* Produits */
  .single_produit_type {
    width: 48%;
  }
  
  /* doc form */
  .select-wrap::before {
    height: 34px;
    width: 34px;
    left: calc(100% - 96px);
  }
  
  .select-wrap select {
   white-space: nowrap;
    font-size: 12px !important;
  }
  
  .select-wrap::after {
    clip-path: polygon(40% 80%, 0px 0px, 80% 0px);
    -webkit-clip-path: polygon(40% 80%, 0px 0px, 80% 0px);
    right: calc(0% + 70px);
  }
  
  .col_doc_tech {
    display: block !important;
    width: 100% !important;
    margin-bottom: 35px;
  }
  
  .ddocs .vc_col-sm-3 {
    width: 100%;
    margin-top: 70px;
  }
  
  .ddocs .vc_col-sm-3::before {
    content: "Cliquer pour télécharger nos catalogues";
    position:absolute;
    top: -70px;
    font-size: 20px;
    text-transform: uppercase;
    line-height: 25px;
    text-align: center;
    width: 100%;
  }
  
  .ddocs .vc_col-sm-3 .bloc_catalogues{
    width: 47%;
    display: inline-block;
    vertical-align: top;
  }
  
  .ddocs .vc_col-sm-3 .ult-spacer {
    display: inline-block !important;
    width: 3%;
  }
  
  .ddocs .vc_col-sm-3 > .vc_column-inner {
    padding-right: 0;
  }
  
}

@media only screen and (max-width : 600px) {
	.single_fiche_prod {
		width: 100%;
		max-width: 80%;
	}
	
	.list_fiches_produit > div > div {
		justify-content: center;
	}

	.post_grid_chantiers .vc_grid-item {
		width: 100%;
	}
}

/* Extra Small Devices, Phones */ 
@media only screen and (max-width : 480px) {
	
	.single_fiche_prod {
		max-width: 100%;
	}
  
  /* ALL */
  .text-footer .vc_col-sm-2 {
    width: 100%;
  }
    
  .text-footer .vc_col-sm-3 {
    width: 100%;
  }
  
  .zeropad > .vc_column-inner {
    padding: 0 0 !important;
  }
  
  .zeropad > .vc_column-inner ul {
    margin-left: 15px !important;
  }
  
   /* .wpb_column.vc_column_container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }*/
  
  .ubtn-link.ubtn-normal {
    padding: 0 !important;
  }
  
  .text-footer {
    padding-left : 20px;
    padding-right: 20px;
  }
  
  .wpb_content_element ul {
    margin-left: 0;
  }
  
  .vc_row.vc_column-gap-20 {
     margin-left: 0px !important;
    margin-right: 0px !important;
  }
  
  .main-navigation ul.sub-menu li a {
    padding-left: 20px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    padding-right: 45px !important;
  }
  
  .ast-header-break-point .main-header-bar .main-header-bar-navigation .children, .ast-header-break-point .main-header-bar .main-header-bar-navigation .sub-menu {
    line-height: 18px;
  }
  
  .sub-menu .ast-menu-toggle {
    top: 16px !important;
  }
  
  .sub-menu .ast-menu-toggle:hover {
    color: white !important;
  }
  
  /* espace pro/contact */
  .wrap-extranet {
    width: 100% !important;
    bottom: 0;
    top: auto;
    height: 50px !important;
    background-color: #D82C24;
    -webkit-box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
  }
  
  .wrap-extranet::before {
    content: "";
    height: 30px;
    width: 1px;
    background-color: white;
    position: absolute;
    z-index: 999;
    left: 50%;
    top: 10px;
  }
  
  .extranet-link, .contact-ed-link {
    float: left;
    width: 50%;
    height: 100%;
  }
  
  .extranet-devis, .contact-sidebar {
    position: relative;
    top: auto !important;
    right:auto;
    width: 100% !important;
    height: 100% !important;
    padding: 5px !important;
    box-shadow: none;
  }
  
  .wrap-extranet .remove-element {
    display: block !important;
  }
  
  .image-person {
    width: 100px;
    margin: auto;
    height: 40px;
  }
  
  .image-person > div:first-child {
    width: 25px !important;
  }
  
  #contact-ed {
    width: 35px !important;
    margin-top: 0 !important;
    margin-left: auto !important;
  }
  
  .contact-ed-wrap {
    width: 120px;
    margin: auto;
    padding-top: 4px;
    height: 34px;
  }
  
  .contact-ed-title {
    margin-right: auto !important;
  }
  
  .extranet-devis h6, .contact-sidebar h6 {
    font-size: 1.1em;
  }
  
  /* home */
  .home_header .home_title_header {
      bottom: 35%;
  }
  
  .zone_titre_actualites {
    margin-bottom: -106px;
  }
  
  .modal-solutions > div > div > div > div > div {
    padding: 30px 30px 50px;
  }
  
  .home_header .home_title_header h1 {
    font-size: 45px;
  }
  
  /* Actu */
  .article-page-title h1 {
    width: 90%;
  }
  
  .article-all {
    width: 100%;
  }
  
   /* Single actu */
  #primary-article-single article {
    padding: 10px 20px !important;
  }
  
  h3, .entry-content h3 {
     font-size: 17px;
  }
  
  .single-post #page .text-footer.vc_custom_1576073521063 {
    padding: 0 20px !important;
  }
  
  /* doc form */
  .select-wrap::before {
    height: 34px;
    width: 34px;
    left: calc(100% - 96px);
  }
  
  .select-wrap select {
   white-space: nowrap;
    font-size: 12px !important;
  }
  
  .select-wrap::after {
    clip-path: polygon(40% 80%, 0px 0px, 80% 0px);
    -webkit-clip-path: polygon(40% 80%, 0px 0px, 80% 0px);
    right: calc(0% + 70px);
  }
  
  .col_doc_tech > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .bloc_doc_tech > .vc_column-inner {
        padding-bottom: 55px !important;
  }
  
  .ddocs .vc_col-sm-3 .bloc_catalogues{
    width: 100%;
  }
  
  .ddocs .vc_col-sm-3::before {
    font-size: 18px
  }
  
  .ddocs .vc_col-sm-3 .ult-spacer {
    display: inline-block !important;
    width: 100%;
  }
  
  .ddocs .vc_col-sm-3 > .vc_column-inner {
    padding-left: 0;
  }
  
  /* catalogue */
  .catalogue .vc_col-sm-3 {
    width: 100%;
  }
  
  /* About */ 
  .zone_titre_chiffres .bg_rouge {
    width: 100%;
  }
  
  .bloc_counter .vc_col-sm-2 {
    width: 50%;
    float: none;
    display: inline-block;
    vertical-align: top;
  }
  
  .qui h2 {
    text-align: left !important;
  }
  
  .qui .wpb_content_element {
    margin-bottom: 0;
  }
  
  .who_bannieres_solutions .ult-new-ib:hover .ult-new-ib-desc h3 {
    font-size: 16px;
    padding: 0 0 5px;
  }
  
  .who_bannieres_solutions .ult-new-ib .ult-new-ib-desc {
    padding: 10px 15px;
  }
  
  .ult-ib-effect-style13:hover .ult-new-ib-content {
    padding-top: 10px;
  }
  
  .ult-ib-effect-style13:hover .ult-new-ib-content p {
        font-size: 13px;
    line-height: 15px;
  }
  
  /* career */
  .geostaff_emploi_right {
    position: relative;
  }
  
  .geostaff_show_more, .geostaff_apply {
        width: 50%;
        padding: 5px;
  }
  
  .geostaff_show_more p, .geostaff_apply p {
    text-align: center;
    width: 100%;
  }
  
  .geostaff_liste_emplois_block .geostaff_emploi_form {
    padding: 20px;
  }
  
  .geostaff_emploi_form form {
    display: block;
  }
  
  .geostaff_emploi_form form div {
    margin-bottom: 10px;
  }
  
  /* Solutions */
  
  .ydu_arrow_left, .ydu_arrow_right {
    width: 30px;
    height: 30px;
  }
  
  .ydu_arrow_left {
    left: -25px;
  }
  
  .ydu_arrow_right {
    right: -25px;
}
  
  .ydu-prod-slide .vc_column_container>.vc_column-inner {
     padding-left: 20px;
     padding-right: 20px;
  }
  
  .ydu-prod-slide .vc_column_container>.vc_column-inner .single_pa_haut {
    height: 200px;
    overflow: hidden;
  }
  
  .single_pa_bas {
    padding: 15px;
  }
  
  .single_pa_lien {
    line-height: 20px;
  }
  
  .page_titre {
    margin-top: -80px;
    transform: none;
  }
  
  .page_titre .texte_majuscule.texte_blanc h1, .texte_majuscule.texte_blanc h2 {
    font-size: 20px;
  }
  
  .tableau_perf_syst .vc_column_container > .vc_column-inner {
    padding: 0;
  }
  
  /* Produits */
  .single_produit_type {
    width: 99%;
  }
  
  .zone_titre_produit::before {
    width: 60%;
  }
  
  button.ubtn-large {
    padding: 10px 20px !important;
  }
  
  .vc_row.vc_custom_1581691121909, .vc_row.vc_custom_1581691121909 .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  .single_produit_type {
        margin-bottom: 50px !important;
  }
  
  .plusprod  {
    padding: 0 !important;
  }
  
  .plusprod p {
    line-height: 20px;
  }
  
  .plusprod h3 {
    margin-bottom: 10px !important;
  }
  
  .plusprod .ubtn-ctn-right {
    margin-bottom: 0;
  }
  
  .plusprod a.ubtn-link {
    padding: 10px 0;
    width: 100%;
  }
  
  .plusprod a.ubtn-link button {
    width: 100%;
  }
  
  /* Contact */
  #wpcf7-f536-p532-o1 {
    margin-bottom: 55px;
  }
  
  #wpcf7-f536-p532-o1 .vc_col-sm-6,  #wpcf7-f536-p532-o1 .vc_col-sm-12 {
    padding : 0 !important;
  }
  
  /* espace pro */
  .vc_column_container .vc_custom_1581937308985 {
    padding: 25px 35px !important;
    line-height: 22px;
    margin-top: 20px;
  }
  
  .vc_custom_1581937308985 .wpb_content_element {
    margin-bottom: 20px;
  }
  
  .vc_custom_1578062545908, .vc_custom_1578063248381 {
    margin: 0 25px;
  }
  
  .commande h3, .commande p {
    text-align: left !important;
  }
  
  .commande .vc_column-inner {
    padding: 0 !important;
  }
  
  .vc_column_container > .vc_custom_1580398743620, 
  .vc_column_container > .vc_custom_1580398753930,
  .vc_column-inner .vc_custom_1581936175714 {
    padding: 0 20px 0 20px !important;
  }
  
  .vc_column_container > .vc_custom_1580398743620 h2,
  .vc_column_container > .vc_custom_1580398753930 h2,
  .vc_column-inner .vc_custom_1581936175714 h2 {
    text-align: center !important;
  }
  
}


/* VIDEO HOMEPAGE */
/*
#video_home .mejs-controls {
	display: none;
}*/

/* Custom, iPhone Retina */ 
@media only screen and (max-width : 320px) {
  
}


/* ERROR 404 */
body.error404 .ast-404-layout-1 {
	margin-top: 100px;
	margin-bottom: 100px;
}
/* Custom, Smartphone */ 
@media only screen and (max-width : 768px) {
   
	body.error404 .ast-404-layout-1{
	   margin-top: 150px;
	}
	body.error404 .ast-404-layout-1 .page-sub-title {
		font-size: 1.2rem;
	}
}



/*** GEODECO nov2020 ***/

/* New bouton */

@media only screen and (min-width : 920px) and (max-width : 2600px) {
	.main-header-menu .menu-item.menu-item-2828 a, .main-header-menu .menu-item.menu-item-2819 a {
		color: #fff !important ;
		background-color: #243f8b;
		height:90%;
		margin: 0 20px;
	
	}
	.main-header-menu .menu-item.menu-item-2828 a:before, .main-header-menu .menu-item.menu-item-2819 a:before {
		content: '';
		display: block;
		background: url('/wp-content/uploads/2021/01/picto-next.png');
		background-size: 20px;
    	background-repeat: no-repeat;
    	margin-right: 10px;
		height:20px;
		width:20px;
	}
	.main-header-menu .menu-item.menu-item-2828 a:hover, .main-header-menu .menu-item.menu-item-2819 a:hover {
		background-color: #D82C24;
	}
}
/* --- Fin New bouton --- */

.bg_bleu {
	background-color: #243f8b;
}

.geodeco_btn .ubtn-ctn-left {
	margin-bottom: 0px;
}
.geodeco_home_header_title {
	font-size: 20px;
	font-weight: 600;
	display: block;
	margin-top: 20px;
}

.geodeco_home_univers_title h3 {
	display: inline;
	background-color: #243f8b;
	padding: 20px 50px;
}
.geodeco_home_univers_title_right {
	position: relative;
	left: 70%;
}

.link_univers_more a {
	color: #243f8b;
	font-size: 12px;
	font-weight: 700;
}

.bloc_titre_gauche {
	margin-bottom: -120px;
}

/*
.bloc_titre_gauche::before {
	content: '' !important;
	background-color: #D82C24;
	position: absolute;
	display: block !important;
	top: 0;
	left: 0;
	bottom:0;
	width: 37%;
}
.bloc_titre_gauche_bleu::before {
	content: '' !important;
	background-color: #243f8b;
	position: absolute;
	display: block !important;
	top: 0;
	left: 0;
	bottom:0;
	width: 37%;
}*/

.bloc_titre_gauche > div:first-child {
	padding-left: calc((100vw - 1200px)/2) !important;
}

.bloc_titre_droite > div:nth-child(2) {
	padding-bottom: 70px;
}
.bloc_titre_droite {
	margin-bottom: -3em;
	z-index: -1;
}

.blocs_produits_geodeco .bloc_barre_verticale_gauche:hover .vc_column-inner .wpb_wrapper h3 {
	color: #fff;
	transition: color 0.6s ease;
}
.blocs_produits_geodeco .bloc_barre_verticale_gauche .vc_column-inner:before {
	background-color: #243f8b;
}

.blocs_produits_geodeco .vc_column-inner {
	background-position: right !important;
}
.geodeco_hp_univers_img {
	padding: 0 !important;

}
.geodeco_hp_univers_img_container {
	z-index: -1;
}

.zone_titre_produit.geodeco::before {
    background-color: #243f8b;
	width: 45%;
}

/* Responsive geodeco */

@media screen and (max-width: 767px) {
	
	.geodeco_home_univers_title {
		margin-top: -30px;
	}
	
	.geodeco_home_info_title {
		padding: 50px 0 !important;
		text-align: center;
	}
	
	.geodeco_home_info_title > div {
		padding: 0 !important;
	}
	
	.geodeco_home_info_title .ult-spacer {
		display: none !important;
	}
	
	.geodeco_hp_middle_univers .geodeco_home_univers_title {
		margin-top: -90px;
	}
	
	.geodeco_home_univers_title_right {
		left: auto;
	}
	
	.geodeco_home_univers_title_right > .wpb_wrapper {
		display: flex;
    	justify-content: flex-end;
    	margin-right: -40px;
	}
	
	.geodeco_hp_middle_univers .geodeco_hp_univers_img {
		order: 2;
	}
	
	.col-geodeco-no-padding-mobile > .vc_column-inner {
		padding-right: 15px !important;
	}
	
	.zone_titre_produit.geodeco::before {
		width: 100%;
	}
	
	.plusprod a.ubtn-link button {
		width: 100%;
	}
	
	.plusprod a.ubtn-link {
		padding: 10px 0;
    	width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.blocs_produits_geodeco .bloc_barre_verticale_gauche {
		margin: 0 10px !important;
		max-width: 92vw !important;
	}
}

/* PV SPECIMEN FEV 21*/
#pro-space-pv {
	visibility: hidden;
}
#pro-space-pv button {
	visibility: hidden;
}


/* NEW page TELECHARGEMENTS */

.telechargement_pvspecimen .telechargement_pvspecimen_bloc {
	width: 300px;
}
.telechargement_pvspecimen .log-reg-blocks {
	display: flex;
    justify-content: center;
}
.telechargement_pvspecimen h3 {
	text-transform: uppercase;
	color: #d82c23 !important;
	font-weight: 900;
}
.telechargement_bloc_catalogues {
	padding: 0 !important;
	max-width: 620px;
}

.telechargement_bloc_catalogues .bloc_barre_verticale_gauche {
	padding-right: 20px;
}

.bloc_doc_tech.bloc_fiches > div {
	min-height: 279px;
}
.bloc_doc_tech.bloc_fiches p {
	line-height: 1.3;
}
.bloc_doc_tech.bloc_fiches .wpb_text_column {
	margin-bottom: 20px !important;
}

/*.page-id-3880 .bloc_titre_gauche, */
.page-id-4390 .bloc_titre_gauche {
	margin-bottom: -270px;	
}

.geo_title_left {
	padding-left: calc((100vw - 1250px)/2);
}

/******* GLOBAL ********/




/******* HP ********/


/*Actus*/
.hp_actus_grid h4 a {
	padding-left: 0 !important;		
}
.hp_actus_grid .vc_gitem-post-data-source-post_excerpt {
	margin-top: 15px;
}



/******** page GEOTEC / GEOFLAMM  **********/

/* galerie video & photos */

.section_galerie ul li {
	margin-top: 20px;
}

.section_galerie .wpb_video_widget.vc_video-aspect-ratio-43 .wpb_video_wrapper {
    padding-top: 70%;
}

.section_galerie .wp-video  {
	position: relative;
	padding-bottom: 70%;
}

.section_galerie .wp-video-shortcode  {
	position: absolute;
	object-fit: cover;
	width: 100% !important;
	height: 100% !important;	
}

.section_galerie figure {
	width: 100%;
}
.section_galerie .vc_single_image-wrapper {
	position: relative;
	padding-bottom: 70%;
	width: 100%;
}

.section_galerie .vc_single_image-wrapper img {
	position: absolute;
	object-fit: cover;
	width: 100%;
	height: 100%;	
}

/* Section doc tech */

.ddocs .section_doc_tech_cta {
	padding-bottom: 15px !important;
	padding-left: 15px !important;
}
.ddocs .section_doc_tech_cta p {
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;

}
.ddocs .section_doc_tech_cta > .vc_column-inner {
	padding: 0;
}

.ddocs .section_doc_tech_cta > .vc_column-inner > .wpb_wrapper {
	background-color: rgba(0,0,0,0.6);
    position: absolute;
	top: 0;
	width: calc(100% - 15px);
    height: calc(100% - 20px);
    display: flex;
    align-content: center;
    flex-direction: column;
    justify-content: center;
    padding: 30px 50px;
	margin-top: 5px;
}

@media screen and (max-width: 800px) {
	.ddocs .section_doc_tech_cta > .vc_column-inner > .wpb_wrapper {
		padding: 30px 10px;
	}

	.ddocs .section_doc_tech_cta > .vc_column-inner > .wpb_wrapper {
		position: relative;
	}
}

.ddocs .section_doc_tech_cta button.ubtn-normal {
	padding: 15px 20px;
	width: 100%;
}

.ddocs .section_doc_tech_cta .vc_custom_1657724885079 a {
	padding: 0;
}
.ddocs .section_doc_tech_cta .vc_custom_1657724885079 {
	margin-bottom: 0 !important;
}



/****** Section FAQ *******/

.section_faq .vc_toggle_icon {
	border-color: #243f8b !important;
}
.section_faq .vc_toggle_title {
	padding-left: 45px !important;
}
.section_faq .vc_toggle_icon::before, .section_faq .vc_toggle_icon::after {
	background-color: #243f8b !important;
}


/****** Page Outils & Services *****/

.blocs_pages_outils  {
	max-width: 800px;
}

.blocs_pages_outils h3, .bloc_pages_services h3 {
	text-transform: uppercase;
}
.blocs_pages_outils .uvc-heading, .bloc_pages_services .uvc-heading {
	padding-left: 20px;
	padding-right: 20px;
}
.blocs_pages_outils .uvc-sub-heading {
	min-height: 60px;
}
.bloc_pages_services .uvc-sub-heading {
	min-height: 140px;
}

.blocs_pages_outils figure, .bloc_pages_services figure {
	width: 100%;
    height: 100%;
}
.blocs_pages_outils figure > div, .bloc_pages_services figure > div {
	padding-bottom: 56%;
    position: relative;
    height: 100%;
    width: 100%;
}
.blocs_pages_outils figure img, .bloc_pages_services figure img {
	position: absolute;
    object-fit: cover;
	object-position: top;
    height: 100%;
    width: 100%;
}

/*Page Outils Geopro */

.geopro .log-reg-blocks {
	margin: 0 !important;
	width: 950px;
	display: flex;
    justify-content: center;
}
.geopro .log-reg-blocks .vc_column_container {
	width: 40%;
}

.geopro .wpb_wrapper  {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.geopro h3 {
	margin-bottom: 0;
}
.geopro p {
	font-size: 18px;
}


/* page VIDEOS */

.videos_title h2 {
	font-size: 16px;
	line-height:1.2;
}

.list_fiches_produit h4 {
    min-height: 55px;
}

.catalogue_bloc_wrap {
	padding-right: 50px !important;
	margin-top: 88px;
}

.telechargement_catalogue_section {
	margin-top: -174px;
}

body .upb_video-src {
	max-width: 100%;
}


/**** Media Queries ****/


@media screen and (max-width: 1200px) {
	.titre_gauche {
		padding-left: 20px;
	}
	
	.geo_title_left {
		padding-left: 20px !important;
	}
	
	.catalogue_bloc_wrap {
		padding-right: 0px !important;
		padding-left: 50px;
	}
}

@media screen and (max-width: 991px) {
	
	.telechargement_catalogue_section {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	.telechargement_bloc_catalogues {
		max-width: unset !important;
		padding-left: 15px !important;
	}
	
	.catalogue_bloc_wrap {
		padding-left: 15px;
		margin-top: 0 !important;
	}
	
	.telechargement_catalogue_section {
		margin-top: -88px;
	}
}

@media screen and (max-width: 768px) {

	.zone_titre_solution {
		margin-top: -25%;
	}

	.div_img_bg {
		height: 300px;
	}
	.section_img_txt > .wpb_column .wpb_wrapper .vc_inner {
		flex-direction: column-reverse;
	}
	.bloc_titre_droite {
		/*left: 0 !important;
		max-width: 500px;*/
	}
	.zone_titre_produit::before {
		width: 70%;
	}
	.telechargement_bloc_catalogues {
		clear: both;
	}
	.bloc_doc_tech.bloc_fiches > div {
		min-height: unset;
	}
}

@media screen and (max-width: 480px) {
	/*.blocs_pages_outils .wpb_column.vc_column_container, .blocs_pages_services .wpb_column.vc_column_container {
		padding: 10px !important;
	}*/
}

/***  BIG CTA ***/

.cta_banner .cta_title p {
	font-weight: 700;
	font-size: 1.8rem;
}

.cta_banner .cta_desc p {
	font-size: 1.1rem;
	line-height: 1.5;
}

.cta_banner .cta_banner_wrapper>div,
.cta_banner .cta_banner_wrapper>div>div,
.cta_banner .cta_banner_wrapper>div>div>div {
	height: 100%;
}


@media screen and (max-width: 1450px) {
	.cta_banner .vc_row {
		padding: 50px 80px !important;
	}
}

@media screen and (max-width: 1200px) {
	.cta_banner .vc_row {
		padding: 30px 50px !important;
	}
}

@media screen and (max-width: 768px) {
	.cta_banner a {
		padding-left: 0px;
	}
}

body select {
    padding: 0 10px;
}

/*** LABELS ***/

.section_labels img {
	height: 70px !important;
	width: auto !important;
}

/*
.section_labels .labels_wrapper .wpb_column.vc_column_container {
	width: 18%;
}*/
.section_labels .labels_wrapper {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 800px;
}

@media screen and (max-width: 1200px) {
	.section_labels img {
		height: 50px !important;
	}

	.section_labels .labels_wrapper {
		max-width: 650px;
	}
}

@media screen and (max-width: 767px) {
	.section_labels .labels_wrapper .wpb_column.vc_column_container {
		width: 25%;
	}

	.section_labels img {
		height: 40px !important;

	}

	.section_labels .labels_wrapper {
		max-width: 550px;
	}
}

@media screen and (max-width: 479px) {

	.section_labels .labels_wrapper {
		max-width: 100%;
	}
}

@media screen and (min-width: 1200px) {
	.solution_content .vc_row-has-fill {
		padding-right: 400px !important;
	}
}