/*
Theme Name: Divi child theme by MPC
Template: Divi
Theme URI: http://www.elegantthemes.com/gallery/divi/
Version: 1.0
Description: Thème enfant personnalisé
Author: Ma Petite Com'
Author URI: https://mapetitecom.fr/
*/
@import url("../Divi/style.css");

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/

/* Fonts */

body, input, textarea, select {
    font-family: 'Work Sans';
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Archivo';
}

.archivo {
	font-family: 'Archivo' !important;
}

/* Colors */

:root {
 	--taupe-color: #C3B493;
	--dark-color: #000000;
	--grey-color: #D1D1D1;
	--light-grey-color:#F6F7F8;
	--dark-blue-color:#292D4A;
}

/*
* Rows & columns
*/

@media screen and (max-width: 980px) {
    .et_pb_row.column-reverse-mobile {
        display: -webkit-box;
  		display: -webkit-flex;
  		display: -ms-flexbox;
  		display: flex;
        flex-direction: column-reverse;
    }
}

.vcenter {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	align-items: center;
	justify-content: center;
}

.vstart {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	align-items: start;
	justify-content: start;
}

@media screen and (max-width:980px) {
	.vcenter, .vstart, .vbottom {display: block;}
	
	.et_pb_row.column_mobile_reverse {
        display: flex;
        flex-direction: column-reverse;
    }
	
	.et_pb_row.column_mobile_reverse .et_pb_column.et-last-child {
		margin-bottom: 30px;
	}
	
	.et_pb_row.column_mobile_reverse .et_pb_column:not(.et-last-child) {
		margin-bottom: 0;
	}
}

.et_pb_row.large_row {
	width: 90%;
}

@media screen and (min-width: 981px) {
    .et_pb_row.large_row {
		max-width: 1700px;
	}
}

@media screen and (max-width: 767px) {
    .et_pb_row.large_row {
		width: 80%;
	}
}

/*
* Page template
*/

/* Page header */

#page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header {
	padding-bottom: 0;
	margin-bottom:50px;
}

@media screen and (min-width: 981px) { 
	#page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header {
		display: -webkit-box;
  		display: -webkit-flex;
  		display: -ms-flexbox;
  		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-bottom:100px;
	}
}

@media screen and (max-width: 479px) { 
	#page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header {
		font-size:24px;
		line-height:36px;
	}
}

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span {
    display: inline-block;
	position:relative;
    padding:15px 25px;
    border:3px solid #fff;
	white-space: nowrap;
}

@media screen and (max-width: 980px) { 
	.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span {
    	padding:15px;
	}
}

@media screen and (max-width: 767px) { 
	.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span {
    	padding:15px 10px;
	}
}

/*@media screen and (max-width: 479px) { 
	.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span {
    	padding:15px 5px;
	}
}*/

/*.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span:first-of-type {
	border-bottom:0;
}*/

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span:nth-of-type(2) {
	top:-4px;
}

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span:nth-of-type(3) {
	top:-8px;
}

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span:nth-of-type(4) {
	top:-12px;
}

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header span:nth-of-type(5) {
	top:-16px;
}

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_fullwidth_header_subhead {
	padding:35px 0 35px 35px;
	border-left:4px solid #fff;
	max-width: 480px;
}

@media screen and (min-width: 981px) { 
	.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_fullwidth_header_subhead {
		margin-left: 15%;
	}
}

.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_scroll {
		bottom:-10vh;
}

@media screen and (max-width: 980px) { 
	#page-header.et_pb_fullwidth_header {
        max-width: 80% !important;
        margin-left: auto;
        margin-right: auto;
    }
	
	.page #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_scroll {
		bottom:-10vh;
	}
}

/* Page content */

.page #main-content .et_pb_post_content > .et-l--post > .et_builder_inner_content > div.et_pb_section:last-of-type {
	padding-bottom: 400px;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

@media screen and (min-width: 981px) { 
	.et-l--header {
   		margin-bottom: -250px;
	}
	
	header .et_pb_menu--style-left_aligned .et_pb_menu_inner_container {
		align-items: flex-start;
	}
	
}

@media screen and (max-width: 980px) { 
	.et-l--header {
   		margin-bottom: -250px;
	}
}

/*
* Menu
*/

header .et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
	font-family: 'Archivo';
}

@media screen and (min-width: 981px) {
	
	header .et_pb_menu .et-menu li > a:hover {
    	opacity: 1;
		text-decoration: none;
	}
	
	header .et_pb_menu .et_pb_menu__menu>nav>ul>li {
		border-top:3px solid rgba(255,255,255,.5);
		border-bottom:3px solid rgba(255,255,255,.5);
	}
	
	header .et_pb_menu .et_pb_menu__menu>nav>ul>li>a {
		padding: 22px 0;
	}
	
	header .et_pb_menu .et_pb_menu__menu>nav>ul>li:first-of-type {
		border-left:3px solid rgba(255,255,255,.5);
	}
	
	header .et_pb_menu .et_pb_menu__menu>nav>ul>li:last-of-type {
		border-right:3px solid rgba(255,255,255,.5);
	}
	
	header .et_pb_menu .et_pb_menu__menu>nav>ul>li.current-menu-item {
		border:3px solid var(--taupe-color);
	}
	
	header .et_pb_menu .et_pb_menu__menu>nav>ul>li:hover>a, header .et_pb_menu .et_pb_menu__menu>nav>ul>li.current-menu-item>a {
		color:var(--taupe-color) !important;
	}
}

/*
* Mobile menu
*/

/* Burger menu */

header .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before {
	background:var(--taupe-color);
	color:#fff;
	font-size:48px;
	padding:5px;
	border-radius:500px;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

/*
* Footer menu
*/


.et-db #et-boc footer.et-l .et_pb_menu.footer-menu nav.et-menu-nav ul.et-menu {
	display: block;
	list-style-type:none;
}

.et-db #et-boc footer.et-l .et_pb_menu.footer-menu nav.et-menu-nav ul.et-menu li {
	display: block;
	padding-right:0 !important;
	margin-top:0;
}

.et-db #et-boc footer.et-l .et_pb_menu.footer-menu.menu-rgpd nav.et-menu-nav ul.et-menu li {
	display: inline-block;
}

.et-db #et-boc footer.et-l .et_pb_menu.footer-menu nav.et-menu-nav ul.et-menu li a {
	color: var(--dark-color);
	padding-left: 0;
	padding-top: 8px;
}

.et-db #et-boc footer.et-l .et_pb_menu.footer-menu nav.et-menu-nav ul.et-menu li a:hover {
	background:transparent !important;
}

@media screen and (min-width:981px) {
	.et-db #et-boc footer.et-l .et_pb_menu.footer-menu {
		white-space: nowrap;
	}
	
	.et-db #et-boc footer.et-l .et_pb_menu.footer-menu.menu-rgpd .et_pb_menu__wrap {
		justify-content: flex-end;
	}
}

@media screen and (max-width:980px) {
	
	.et-db #et-boc footer.et-l .et_pb_menu.footer-menu .et_pb_menu__wrap {
  		-webkit-box-pack: start;
  		-ms-flex-pack: start;
  		justify-content: flex-start;
	}
	
	.et-db #et-boc footer.et-l .et_pb_menu.footer-menu-cgu .et_pb_menu__wrap {
  		-webkit-box-pack: center !important;
  		-ms-flex-pack: center !important;
  		justify-content: center !important;
	}
	
	.et-db #et-boc footer.et-l .et_pb_menu.footer-menu .et_pb_menu__menu  {
		display:block;
	}
	
	.et-db #et-boc footer.et-l .et_pb_menu.footer-menu .et_mobile_nav_menu {
		display:none;
	}
}

/* Row MPC */

.et-db #et-boc footer #row_mpc::before {
	content:'';
	display:block;
	height:2px;
	background-color:rgba(255, 255, 255, 0.15);
	position: absolute;
	top:0;
	width: 100vw;
    left: calc(-50vw + 50% - 10px);
}

@media screen and (max-width:980px) {
	.et-db #et-boc footer #row_mpc > div.et_pb_column:first-of-type {
		margin-bottom:0;
	}
}

/* CTA */

@media screen and (min-width:981px) {
	.home footer .et_pb_promo .et_pb_promo_description p, .page-id-365 footer .et_pb_promo .et_pb_promo_description p {
		font-size:24px;
	}
	
}

/*--------------------------------------------------------------
# Contact form 7
--------------------------------------------------------------*/

/* Layout */

.one-half, .one-third, .two-thirds {
    position: relative;
    margin-right: 4%;
    float: left;
    margin-bottom: 20px;
	z-index: 1;
}
 
.one-half { width: 48%; }
.one-third { width: 30.66%; }
.two-thirds { width: 65.33%; }
.two-halves { width: 100%; }
 
.last {
    margin-right: 0 !important;
    clear: right;
}
 
@media only screen and (max-width: 767px) {
    .one-half, .one-third, .two-thirds {
        width: 100%;
        margin-right: 0;
    }
}

/* Input */

.wpcf7-form .wpcf7-form-control-wrap {
	line-height: auto;
}

.wpcf7-form .wpcf7-form-control-wrap + br {
	content: "";
    margin: 2em;
    display: block;
    font-size: 50%;
}

.wpcf7-form input[type="text"], .wpcf7-form input[type="number"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="date"], .wpcf7-form textarea, select.wpcf7-form-control.wpcf7-select {
    -webkit-appearance: none;
    background-color: var(--light-grey-color);
    font-family: inherit;
	font-size: 16px;
    color:  var(--dark-color);
    display: block;
	border: 1px solid var(--light-grey-color);
    padding: 16px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    transition: box-shadow .45s,border-color .45s ease-in-out;
}

.wpcf7-form input[type="text"]::placeholder, .wpcf7-form input[type="number"]::placeholder, .wpcf7-form input[type="email"]::placeholder, .wpcf7-form input[type="tel"]::placeholder, .wpcf7-form input[type="date"]::placeholder, .wpcf7-form textarea::placeholder {
	color: var(--dark-color);
}

.wpcf7-form textarea {
    height: 150px;
}

div.wpcf7-mail-sent-ok {
	border: 2px solid #21386d;
    color:#21386d;
}


/* Button */

.wpcf7-form .wpcf7-submit {
    background-color: #fff;
   	border: 1px solid var(--taupe-color);
    color: var(--taupe-color);
    text-transform: uppercase;
	cursor: pointer;
}

.wpcf7-form .wpcf7-submit:hover {
	background-color: var(--taupe-color);
   	border: 1px solid var(--taupe-color);
    color: #fff;
}

.wpcf7-form .wpcf7-spinner {
	display: block;
}


/* Checkbox */

/* Hide the Ordinary Checkbox */

.wpcf7-form input[type="checkbox"] {
    opacity:0 !important;
    margin-left: -5px !important;
	-webkit-appearance: checkbox;
}

/* Checkbox Icons */

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
    position: relative;
    /*padding-left: 15px;*/
    cursor: default;
    font-weight: normal;
	margin-left: 8px;
}

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
	color:var(--dark-color);
	font-size: 16px;
}
 
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item::before {
	color:var(--taupe-color);
	content: '\56'; /*checkbox unchecked */
    font-family: ElegantIcons;
    font-size: 18px;
    /*absolutely positioned*/
    position: absolute;
    top: 0;
    left: -8px;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
     transition: all 0.5s;
     /*cursor: pointer;*/
}

/* Animating the Checkbox Icon */
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item.checked::before {
    content:'\5a';
}

/* Simple file input */

.sfi-js .wpcf7-form .sfi-wrapper {
	width: 100% !important;
}

.sfi-js .wpcf7-form .sfi-wrapper .sfi-trigger {
	    background: url(img/sf_icon.png) no-repeat center;
}

.sfi-js .wpcf7-form .sfi-wrapper .sfi-filename {
	color:var(--dark-color);
	font-size: 16px;
}


/*--------------------------------------------------------------
# Homepage
--------------------------------------------------------------*/

/* Intro */

.home #intro::before {
		display:block;
		content:'';
		position:absolute;
		z-index:1;
		width:100%;
		height:100%;
		background: url(./img/home-intro-bg.png) center right no-repeat;
		background-size: 395px 800px;
	}

@media screen and (max-width:479px) {
	.home #intro::before {
		background-position:top 30% right;
		background-size: 250px 506px;
	}
}



/* Logo carousel */

.home #logo-carousel.dsm_image_carousel .swiper-slide img {
    max-width: 250px;
}

@media screen and (min-width:981px) {
	/*.home #logo-carousel.dsm_image_carousel .dsm_image_carousel_container .swiper-slide:not([data-swiper-slide-index='3']):not([data-swiper-slide-index='7'])::after {*/
	.home #logo-carousel.dsm_image_carousel .dsm_image_carousel_container div.swiper-slide-active::after, .home #logo-carousel.dsm_image_carousel .dsm_image_carousel_container div.swiper-slide-active + div::after, .home #logo-carousel.dsm_image_carousel .dsm_image_carousel_container div.swiper-slide-active + div + div::after {
        content:'';
        position:absolute;
        top:50%;
        right:0;
        transform:translateY(-50%);
        height:75px;
        width:4px;
        background-color:rgba(255,255,255,.5);
    }
}


/* Accordions */

.et_pb_accordion.custom_accordion .et_pb_accordion_item {
	margin-bottom: 0 !important;
	border-left:0;
	border-right:0;
}

.et_pb_accordion.custom_accordion:last-child {
	border-bottom: 4px solid var(--taupe-color);
}

.et_pb_accordion.custom_accordion .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title::before {
	font-size: 48px;
	position: absolute;
	top: 50%;
    margin-top: -.5em;
    right: -16px;
	left: auto;
    color: #c3b493;
    font-family: ETmodules !important;
    font-weight: 400 !important;
    content: "\4b" !important;
	display:block;
}

/*
* Masonry gallery
*/

.portfolio-content.masonry {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: masonry;
}

.portfolio-content.masonry::after {
  content: '';
  display: block;
  clear: both;
}

.portfolio-content.masonry .portfolio-item {
	float: left;
	width:31%;
  	margin-bottom: 25px;
	text-align: center;
	/*box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);*/
	border:2px solid #dbdbdb;
}

.portfolio-item .itembox {
	/*border: 5px solid #FFFFFF;
	border: 1px solid rgba(0, 0, 0, 0.2);*/
	position: relative;
	line-height: 0;
}

.portfolio-content.masonry .portfolio-item .itembox {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
}

.portfolio-content.masonry .portfolio-item .itembox picture + p {
	display:none;
}

/* Overlay */
.portfolio-content.masonry .portfolio-item .portfolio-overlay {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.45);
	opacity:0;
	transition:all ease .2s;
	text-align:center;
	color:#fff;
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
	flex-direction: column;
    align-items: center;
    justify-content: center;
}

.portfolio-content.masonry .portfolio-item:hover .portfolio-overlay {
	opacity:1;
}

.portfolio-content.masonry .portfolio-item .portfolio-overlay h4 {
	margin-top:0;
	text-transform:uppercase;
	padding:8px 16px;
	color:#fff;
	border:3px solid #fff;
	display: inline-block;
    margin-bottom: 30px;
	font-weight: 700;
    font-size: 32px;
	line-height: 32px;
}

@media screen and (max-width:980px) {
	.portfolio-content.masonry .portfolio-item {
		float: none;
		width:100%;
	}
}

/* List */

.portfolio-content.list .portfolio-item {
	 margin-bottom: 30px;
}

@media screen and (min-width:981px) {
    .portfolio-content.list .portfolio-item {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
	
	.portfolio-content.list .portfolio-item .itembox {
		margin-right:30px;
	}
}

.portfolio-content.list .portfolio-item .itembox img {
  width: 240px;
  height: 180px;
  object-fit: cover;
}

@media screen and (max-width:980px) {
	.portfolio-content.list .portfolio-item .item-text {
		margin-top:15px;
	}
	.portfolio-content.list .portfolio-item .itembox {
		width: auto;
		display: inline-block;
	}
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/

/*
* Réalisations
*/

/* Views pagination */

.wpv-filter-form ul.wpv-pagination-nav-links-container {
	margin-top:30px;
	justify-content: center;
}

/*
* Contact
*/

@media screen and (max-width: 980px) { 
	.page-id-369 #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header {
		display: -webkit-box;
  		display: -webkit-flex;
  		display: -ms-flexbox;
  		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
}

/*
* Contact
*/

/* Layout */

@media screen and (max-width: 767px) { 
	.page.page-id-369 #main-content .et_pb_post_content > .et-l--post > .et_builder_inner_content > div.et_pb_section:last-of-type {
		padding-bottom: 200px !important;
	}
}

/*
* A propos
*/

/* Citation */

.et_pb_blurb.citation .et_pb_module_header {
	display:inline-block;
}

.et_pb_blurb.citation .et_pb_module_header::before, .et_pb_blurb.citation .et_pb_module_header::after {
	display:inline-block;
	font-family:'ElegantIcons';
	content:'\7b';
}

.et_pb_blurb.citation .et_pb_module_header::before {
	transform: rotateY(180deg);
}

/* Slogan */

.page-id-365 #slogan::before {
    display:block;
    content:'';
    position:absolute;
    top:0;
    z-index:1;
    width:100%;
    height: calc(100% + 300px);
    background: url(./img/about-illustration-bg-1.png) top right no-repeat;
    background-size: 343px 800px;
}

@media screen and (max-width:767px) {
	.page-id-365 #slogan::before {
		background-size: 258px 600px;
	}
}

/* Approche */

.page-id-365 #approche::after {
    display:block;
    content:'';
    position:absolute;
    bottom:0;
	right:0;
    z-index:1;
    width:100%;
    height:100%;
    background: url(./img/about-illustration-bg.png) bottom right no-repeat;
    background-size: 425px 800px;
}

@media screen and (max-width:767px) {
	.page-id-365 #approche::after {
		 background-size: 319px 600px;
	}
}

/* Accordions */

.et_pb_accordion.history_accordion {
	border-left: 4px solid var(--taupe-color);
}

.et_pb_accordion.history_accordion .et_pb_accordion_item {
	margin-bottom: 0 !important;
	border:0 !important;
}

.et_pb_accordion.history_accordion .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title::before {
	font-size: 24px;
	position: absolute;
	top: 50%;
    margin-top: -.5em;
	left: auto;
    color: var(--dark-color);
    font-family: ETmodules !important;
    font-weight: 400 !important;
    content: "\4b" !important;
	display:block;
}

/*--------------------------------------------------------------
#  Réalisations
--------------------------------------------------------------*/

/*
* Template
*/

.single-realisation #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_module_header  {
	display: inline-block;
	padding:15px 25px;
	border:3px solid #fff;
}

@media screen and (min-width:981px) {
	.single-realisation #page-header.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content .et_pb_fullwidth_header_subhead {
		width: 36.7%;
		margin-right: 5.5%;
	}
}

/*
* Views
*/

/* Info */

.single-realisation #realisation-info h4 {
	font-size:18px;
	line-height:28px;
	font-weight:800;
	text-transform: uppercase;
	padding-bottom:0;
}

.single-realisation #realisation-info h4 + p {
}

/* Lightslider */

.single-realisation .lSAction>a {
    /*background-image: url(./js/lightslider/img/controls.png);*/
	background-image:none;
	height:auto;
	width: auto;
	margin-top: 0;
	transform: translateY(-50%);
	
}

.single-realisation .lSAction>a::before {
	display:block;
	font-family:'ElegantIcons';
	font-size:65px;
	font-weight:bold;
	color:var(--grey-color);
	position: absolute;
	top:0;
	left:0;
}

.single-realisation #realisation-plans .lSAction>a::before {
	color:#5e5e5e;
}

.single-realisation .lSAction>a.lSPrev::before {
	content:'\34';
}

.single-realisation .lSAction>a.lSNext::before {
	content:'\35';
	right: 0;
    left: auto;
}

/*.single-realisation .lSAction>a.lSNext {
	right: 40px;
}*/
