/*
Theme Name: Divi Community Child Theme
Description: Theme enfant de Divi par Divi Community
Author: Julien - WebMate
Author URI: https://www.divi-community.fr
Template: Divi
Version: 1.1
*/

/*
  ____ _____     _____      ____ ___  __  __ __  __ _   _ _   _ ___ _______   __
 |  _ \_ _\ \   / /_ _|    / ___/ _ \|  \/  |  \/  | | | | \ | |_ _|_   _\ \ / /
 | | | | | \ \ / / | |    | |  | | | | |\/| | |\/| | | | |  \| || |  | |  \ V /
 | |_| | |  \ V /  | |    | |__| |_| | |  | | |  | | |_| | |\  || |  | |   | |
 |____/___|  \_/  |___|    \____\___/|_|  |_|_|  |_|\___/|_| \_|___| |_|   |_|

*/


/* 
** CENTRER DU CONTENU VERTICALEMENT 
** Voir tuto : https://www.divi-community.fr/snippets-divi/centrer-du-contenu-verticalement
*/

.dc-centrer-verticalement {
	display: flex;
	flex-direction: column;
	justify-content: center;
  	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: -ms-flexbox;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	 -moz-box-orient: vertical;
	 -moz-box-direction: normal;
	  -ms-flex-direction: column;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
}


/*
** INVERSER LE SENS DES COLONNES SUR MOBILE
** Voir tuto : https://www.divi-community.fr/snippets-divi/inverser-ordre-des-colonnes-sur-mobile
*/

@media only screen and (max-width : 980px) {
	.dc-inverser-colonnes--section .dc-inverser-colonnes--ligne {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
}


/*
** MENU MOBILE : en pleine largeur et le hamburger devient une croix pour fermer
*/

.et_mobile_menu {
	margin-left: -30px;
	padding: 5%;
	width: calc( 100% + 60px);
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: "\4d";
}


/* 
** AUGMENTER LA LARGEUR CHAMP RÉSULTAT CAPTCHA 
** Parfois, suivant la taille du texte, certains chiffres du résultat sont masqués
*/
.et_pb_contact_right p input {
	max-width: 50px;
}


/*
** METTRE EXPOSANTS ET INDICES À LA BONNE TAILLE
** Généralement, ils sont bien trop gros…
*/
sup, sub {
    font-size: 70%;
}

/*p { font-weight: 500 !important;}*/

/*--------- MOBILE HEADER ---------*/
.mobile-header-dropdown h5 {
    display: flex;
    flex-direction: column;
    height: 45.5px;
    justify-content: center;
}

.mobile-header-dropdown span, .mobile-header-dropdown p {
	display: flex;
}

.mobile-header-dropdown span img, .mobile-header-dropdown p img {
	margin-right: 5px;
}

.mobile-header-dropdown .et_pb_toggle_content {
	padding-bottom: 15px;
}

/*---------------------------------*/


/*
** VARIABLES DE COULEURS
*/
:root {
	/* Couleurs principales */
	--primary-color: #050204;
	--secondary-color: #e21f2b;
	--tertiary-color: #FAF3EE;
  
	/* Couleurs neutres */
	--black-color: #2c3e50;
	--white-color: #ffffff;
	--grey-light-color: #f7f7f7;
	--grey-dark-color: #7f8c8d;
  
	/* Couleurs d'accentuation */
	--accent-color-1: #f1c40f;
	--accent-color-2: #e67e22;
	--accent-color-3: #9b59b6;
}

/*
** STYLE DES FONTS
*/
h1 {
	font-weight: 800 !important;
    font-size: 55px !important;
}

h2 {
	font-weight: 600 !important;
    font-size: 45px !important;
}

h3 {
	font-size: 28px !important;
}

h4 {
	font-size: 22px !important;
}
/* ----------------------- NAVBAR -------------------------- */
#navbar {
	position: absolute;
	width: 100%;
	padding-top: 20px; /*admin-bar*/
}

#burger-container {
	display: flex;
	justify-content: flex-end;
}

#burger-icon, #cross-icon {
	width: 45px;
	height: 45px;
	transform: scaleX(-1);
}

#burger-icon:hover, #cross-icon:hover {
	cursor: pointer;
}

#burger-icon .bar, #cross-icon .cross-line{
    width: 75%;
    height: 5px;
    background-color: #FFFFFF;
    border-radius: 20px;
    margin: 8px 0;
    transition: width 0.3s ease;
}

#burger-icon:hover .bar:nth-child(1),
#burger-icon:hover .bar:nth-child(3) {
	width: 100%;
}

#burger-icon .bar:nth-child(2) {
	width: 100%;
}

.burger-wrapper {
	display: flex;
}

body .et-l #dd-section {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.3s, opacity 0.3s 0s;
    position: absolute;
}

body.menu-open .et-l #dd-section {
    visibility: visible;
    opacity: 1;
    transition: visibility 0s linear 0s, opacity 0.3s 0s;
    position: fixed;
    z-index: 999;
}

.cross-icon .cross-line {
	position: absolute;
	width: 45px;
	transform: rotate(45deg);
}

.cross-icon .cross-line:nth-child(2) {
	transform: rotate(-45deg);
}

.cross-wrapper {
	position: absolute;
	top: 15px;
	right: 15px;
}

div#menu-right-col {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    z-index: 1;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
	margin-right: 80px;
}

div#menu-right-col::before {
    content: '';
    position: absolute;
    top: -800px;
    left: 0;
    width: 3000px;
    height: 2000px;
    background: #e6282b;
    transform: rotate(195deg);
    border-radius: 5%;
}

div#menu-right-col .et_pb_column {
    width: 50%;
    margin-right: 20px !important;
    margin-bottom: 40px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    top: 150px;
    max-width: 487px;
}

div#menu-right-col {
    transform: translate(400px, -400px);
    transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out 0.3s;
}

body.menu-open div#menu-right-col {
    transform: translate(0, 0);
}

#text-right-col {
	width: 100%;
}

.recrutement-container {
    position: relative;
	overflow: hidden;
    height: 325px;
    border-radius: 20px;
}

.recrutement-container h5 {
    position: absolute;
	bottom: 0px;
	left: 0px;
}

.recrutement-container h5 {
    position: absolute;
    bottom: 0px;
    left: 0px;
    color: white;
    font-size: 30px;
    text-transform: uppercase;
    margin-left: 10px;
    margin-bottom: 10px;
}

.recrutement-container img {
	filter: grayscale(1);
    height: 325px;
    object-fit: cover;
    border-radius: 20px;
}

.recrutement-container:hover img {
	transform: scale(1.1);
	transition: ease-in-out 0.5s;
} 

.recrutement-container a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

div#text-right-col::before {
    content: '';
    position: absolute;
    top: -25px;
    left: 0;
    width: 100%;
    height: 1px;
    background: white;
}

a.nav-contact {
    display: flex;
    align-items: center;
    text-transform: uppercase;
    font-weight: 500;
}

#dd-section h5 {
    font-size: 28px;
    color: white;
    text-transform: uppercase;
    cursor: pointer;
}

.burger-menu .et_pb_text_inner h5 {
    display: flex;
    align-items: center;
    height: 45px;
    padding-bottom: 0px;
}

#dd-section .burger-menu .et_pb_module {
	padding: 10px 0px !important;
}

div#text-right-col p {
    font-size: 20px;
}

a.nav-contact {
	display: flex;
	align-items: center;
}

a.nav-contact img {
	margin-right: 5px;
}

a.nav-contact:hover img {
	transform: translateY(-3px);
	transition: ease-in-out 0.5s;
}

#dd-section .et_pb_toggle_open .et_pb_toggle_title:before {
	content: '';
}

.nav-item::before {
	content: '>';
    position: absolute;
    top: 22px;
	opacity: 0;
    color: #e6282b;
    font-size: 25px;
    left: -20px;
}

.nav-item:hover::before {
	opacity: 1;
	transition: opacity ease-in-out 0.5s;
}
.nav-item.actif::before {
    content: '>';
    position: absolute;
    top: 22px;
    color: #e6282b;
    font-size: 25px;
    left: -20px;
	opacity: 1;
}

#competences-list a {
    font-size: 18px;
    color: white;
}

#competences-list li {
    margin-top: 10px;
    margin-bottom: 10px;
}

#competences-list li:hover {
    transform: translateX(5px);
    transition: ease-in-out 0.5s;
}

div#burger-container .et_pb_code_inner {
    display: flex;
}

a.menu-contact {
    display: flex;
    align-items: center;
    color: white;
    margin-right: 50px;
    text-transform: uppercase;
    font-weight: 600;
}

a.menu-contact:hover {
    transform: translateX(3px);
    transition: ease-in-out 0.5s;
}
/* ------------------------- HERO -------------------------- */
#hero.home::before {
    content: '';
    background-image: url(https://blgentreprise.breizhtandem.fr/wp-content/uploads/2024/07/icone-blg-entreprise.webp);
    background-repeat: no-repeat;
    background-position: 107% 120%;
    background-size: 20%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

div#hero\ no-icon::before {
    content: '';
    background-image: url(https://blgentreprise.breizhtandem.fr/wp-content/uploads/2024/07/icone-blg-entreprise.webp);
    background-repeat: no-repeat;
    background-position: 100% 175%;
    background-size: 12%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
/* ------------------------- FOOTER -------------------------- */

.footer-mail {
	display: flex;
	align-items: center;
	font-weight: 600;
}

.footer-mail img {
	margin-right: 5px;
}

/* ----------------------- HOME --------------------------- */

.home-counter {
	position: relative;
}

.home-counter:not(.pourcentage, .atelier) .percent-value::before {
    content: '+';
    font-size: 46px;
}

.counter-column::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    height: 1px;
    background: var(--primary-color);
}

.counter-column:not(:first-child):after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 100%;
    background: var(--primary-color);
}

.et_pb_with_border.et_pb_module.et_pb_number_counter.et_pb_number_counter_0.home-counter.et_pb_text_align_left.et_pb_bg_layout_light.et_pb_with_title.active::after {
	content: unset;
}

div#counter-container {
    display: flex;
    flex-wrap: nowrap;
}

.counter-column {
    width: 20% !important;
    margin: 0px !important;
    padding: 20px !important;
}

/*-----------slider----------*/

#slider-container {
    padding: 0px;
    margin: 0px;
    overflow: hidden;
    position: relative;
}

#slider-container img{object-fit: cover !important;}

.single-slider {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.single-slider.visible {
    opacity: 1;
    width: 100%;
    height: 100%;
}

.single-slider.leave-left {
    transform: translateX(-100%);
}

.single-slider.enter-right {
    transform: translateX(100%);
}

#slider-title, #slider-navigation {
    z-index: 800;
}

#slider-navigation h2{
    color: #f7f7ef;
}

#slider-title{margin-top: 20px;}

#slider-navigation {
    display: flex;
    justify-content: space-between;
    height: 100vh;
}

.slider-title-nav h4 {
	color: var(--white-color);
	min-height: 44px;
	text-transform: uppercase;
	font-weight: 600;
}

.slider-nav-column.active .slider-title-nav {
    transform: translateY(-145px);
    transition: ease-in-out 0.35s !important;
}

.slider-title-nav{
    margin-bottom: 20px !important;
	color: var(--white-color);
    position: absolute;
    transform: translateY(0);
    transition: ease-in-out 0.5s 0.2s;
}

.slider-txt {
    color: var(--white-color);
    position: relative;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.5s ease-in-out 0.2s, opacity 0.5s ease-in-out 0.2s;
    min-height: 155px;
}

.slider-txt.visible {
    transform: translateY(0);
    opacity: 1;
    min-height: 200px;
}


#slider-title h3{
    color: #f7f7ef;
    font-size: 30px;
}

.slider-nav-column{
    margin-right: 0px !important;
    cursor: pointer;
    width: 100% !important;
	padding: 20px;
	height: 100%;
	display: flex;
    flex-direction: column;
    justify-content: flex-end;
	position: relative;
}

.slider-nav-column:not(:first-child) {
	border-left: solid 1px var(--white-color);
}

.slider-mobile-single img {
    height: 360px !important;
    object-fit: cover;
    position: relative;
}

.slider-mobile-single .et_pb_image {
    margin-bottom: 0px !important;
}

.slider-mobile-txt {
    position: absolute;
    bottom: 20px;
    left: 20px;
}


.slider-mobile-txt h4 {
    color: var(--white-color);
    font-weight: 600;
}

div#slider-wrapper {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
}

.single-slider .et_pb_image_wrap,
.single-slider .et_pb_module,
.single-slider img
{
    width: 100% !important;
    height: 100% !important;
}


/* ----------------------- GLOBAL --------------------------- */

.icon-before-txt h4::before,
.single-excerpt.icon-before-txt p::before 
{
    content: '>';
    position: absolute;
    top: 10px;
	transform: translateY(-50%);
    color: #e6282b;
    font-size: 25px;
    left: 0px;
	opacity: 1;
}

.icon-before-txt h4 {
	margin-left: 20px;
	padding-bottom: 0px !important;
}

.icon-before-txt.no-margin h4::before {
	left: -20px;
}

.icon-before-txt.no-margin h4 {
	margin-left: 0px;
}

.single-excerpt.icon-before-txt p {
    margin-left: 20px;
}

#slider-competence-mobile {
    display: none;
}

.breadcrumb {
    text-transform: uppercase;
    color: white;
    font-weight: 600;
}

.breadcrumb a {
    color: var(--white-color);
}

.breadcrumb a:hover {
    color: var(--secondary-color);
}

.custom-btn:hover {
    transform: translateX(3px);
    transition: ease-in-out 0.5s;
}



/* ---------- LISTING SECTEURS --------- */

div#secteur-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.single-secteur {
    width: 45%;
    display: flex;
    padding-bottom: 10px;
    margin-top: 20px;
    border-bottom: solid 1px white;
    position: relative;
}

.single-secteur a {
    position: absolute;
    width: 100%;
    height: 100%;
    display: none;
}

.img-wrapper {
    width: 15%;
}

.img-wrapper img {
    width: 80px;
}

.infos-secteur {
    width: 100%;
    overflow: hidden;
}

.infos-secteur h5 {
    color: var(--white-color);
    text-transform: uppercase;
    font-weight: 600;
    font-size: 18px;
}

.infos-secteur p {
    color: var(--white-color);
    opacity: 0;
    transform: translateY(60px);
}

.single-secteur:hover p{
    transform: translateY(0);
    opacity: 1;
    transition: ease-in-out 0.5s;
}

.page-id-752 .infos-secteur p {
    transform: translate(0);
    opacity: 1;
}

.page-id-752 .single-secteur a {
    display: none;
}

/* ------------- CARROUSEL ACTUS ------------- */

#slider-actualites .et_pb_de_mach_thumbnail {
    position: relative;
    margin-bottom: 0px;
}

#slider-actualites .actu-infos {
    position: absolute;
    bottom: 0px;
    padding-top: 25%;
    padding-left: 20px;
    padding-right: 20px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8603816526610644) 52%);
    width: 100%;
    z-index: 2;
}

#slider-actualites .slick-slider {
	width: 1920px;
}

span.et_shop_image img {
    height: 400px;
    object-fit: cover;
}

#slider-actualites h6 {
    color: var(--white-color);
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 600;
    line-height: 25px;
    min-height: 60px;
}
.post-category {
    color: var(--white-color);
}


#slider-actualites .dmach_carousel_container .slick-prev {
    position: absolute;
    left: 84% !important;
    transform: translateY(250px);
}

#slider-actualites .dmach_carousel_container .slick-next {
    position: absolute;
    left: 86%;
    transform: translateY(250px);
}

.et_pb_de_mach_carousel_0 .dmach_carousel_container .slick-prev::before,
.et_pb_de_mach_carousel_0 .dmach_carousel_container .slick-next::before 
{
    font-size: 45px !important;
}

#slider-actualites .slick-slide:hover .et_shop_image img {
    transform: scale(1.1);
    transition: ease-in-out 0.5s;
}
/* ----------------------------- SINGLE PAGE MODEL ----------------------------- */

#single-thumbnail-container {
    position: absolute;
    width: 100%;
    z-index: 1;
    height: 100%;
    top: 0;
    padding: 0px;
}

#single-thumbnail-container .et_pb_column,
#single-thumbnail-container .single-thumbnail,
#single-thumbnail-container .et_pb_image_wrap,
#single-thumbnail-container .et_pb_module_inner,
#single-thumbnail-container img
{
    height: 100% !important;
    width: 100%;
    object-fit: cover;
}

.single-excerpt {
    font-size: 22px;
    font-weight: 600;
}

.single-excerpt p {
    line-height: 30px;
}

/* ----------------------------- LISTING ACTUALITES ----------------------------- */

.news-container {
    display: flex;
    flex-wrap: wrap;
}

.news-container a {
    width: 30% !important;
    margin-right: 10px;
    margin-bottom: 10px;
}

.single-news {
    position: relative;
    height: 385px;
    border-radius: 20px;
}

.news-thumbnail {
    height: 100%;
    overflow: hidden;
    border-radius: 20px;
}

.news-thumbnail img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.news-thumbnail img:hover {
    transform: scale(1.1);
    transition: ease-in-out 0.5s;
}

.news-infos {
    position: absolute;
    bottom: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8603816526610644) 52%);
    left: 0;
    width: 100%;
    z-index: 1;
    padding: 50px 20px 20px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}

.news-infos h4 {
    text-transform: uppercase;
    color: var(--white-color);
    font-weight: 600;
    min-height: 76px;
}

.news-category {
    color: white;
}

/* ------------------------ RECRUTEMENT ------------------------ */

#job-filter {
    display: none;
}

#job-list {
    width: 60%;
    flex-wrap: nowrap;
    flex-direction: column;
}

.form-recrutement {
    width: 40%;
    padding: 15px;
    border: solid 2px #f7f7f7;
    border-radius: 20px;
    box-shadow: 0px 0px 15px -3px rgba(0, 0, 0, 0.1);
}

.form-single-recrutement {
    padding: 15px;
    border: solid 2px #f7f7f7;
    border-radius: 20px;
    box-shadow: 0px 0px 15px -3px rgba(0, 0, 0, 0.1);
}

.form-job-wrapper .et_pb_text_inner {
    display: flex;
    flex-wrap: wrap;
}

.job-single {
    width: 95%;
    border-radius: 20px;
    background-color: #F7F7F7;
    border: none;
}

.job-tags {
    display: flex;
}

.job-tags p {
    margin-right: 10px;
    display: flex;
    align-items: center;
}

.title-container {
    display: flex;
    margin-bottom: 20px;
}

.title-container h4 {
    text-transform: uppercase;
}

.title-container img {
    width: 80px;
    margin-right: 20px;
    object-fit: contain;
}

.job-excerpt {
    margin-top: 15px;
}

.btn-container a {
    text-transform: uppercase;
    color: var(--primary-color);
}

.btn-container a:hover {
    color: var(--secondary-color);
}
/* ----------------------- FORMULAIRE GRAVITY ----------------------- */

.gform_heading {
    display: none;
}

.gform_wrapper input,
.gform_wrapper select,
.gform_wrapper textarea
{
    border-radius: 10px;
    border-color: #e6e5e5;
}

.ginput_container_fileupload input,
.gform_button {
    border-radius: 0px;
    border: none;
}

.ginput_container_fileupload input {
    background-color: transparent;
}

.gform_button {
    text-transform: uppercase;
    font-size: 18px !important;
    font-weight: 600;
    background-color: transparent !important;
    cursor: pointer;
}

.gform_wrapper.gravity-theme .gfield_label {
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: uppercase;
}

/* -------------------- A PROPOS ------------------ */

.a-propos-icon {
    opacity: 0;
    transform: scale(0);
}

.a-propos-icon.visible:nth-child(1) {
    opacity: 1;
    transform: scale(1);
    transition: ease-in-out 0.8s 0.5s;
}

.a-propos-icon.visible:nth-child(2){
    opacity: 1;
    transform: scale(1);
    transition: ease-in-out 0.8s 0.75s;
}

.a-propos-icon.visible:nth-child(3){
    opacity: 1;
    transform: scale(1);
    transition: ease-in-out 0.8s 1s;
}

/* -------------------- GALLERY MASONRY -------------------- */
.post-template-default .grid {
    display: block;
    margin: 0 auto;
}

.post-template-default .grid-sizer, .grid-item {
    width: 33.33%;
    width: calc( ( 100% - 30px ) / 4 );
    margin-bottom: 10px;
}

.post-template-default .grid-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 20px;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .post-template-default .grid-sizer, .post-template-default .grid-item {
        width: calc((100% - 20px) / 3); /* 3 columns */
    }
}

@media (max-width: 768px) {
    .post-template-default .grid-sizer, .post-template-default .grid-item {
        width: calc((100% - 10px) / 2); /* 2 columns */
    }
}

@media (max-width: 480px) {
    .post-template-default .grid-sizer, .post-template-default .grid-item {
        width: 100%; /* 1 column */
    }
}


.filtered-posts-cont .grid-item.filtered-posts.masonry.et_pb_gallery_grid {
    width: 100% !important;
}

.single-competences .grid-item.filtered-posts.et_pb_gallery_grid {
	width: 100% !important;
}