/*
	Theme Name:   GESTEAU
	Author:       Cake communication
	Author URI:   http://cakecommunication.com
	Template:     cake_base
	Version:      2.0.0
	Text Domain:  gesteau
*/

/*	=============================================================================
	!Typography
	========================================================================== */


	
	/* Typographic baseline */
															
	html												{ font-family: 'Montserrat', sans-serif; color: #000; font-weight: 400; font-size: 125%; }												/* 1rem = 20px */
																	
	body												{ font-size: .8rem; line-height: 1.2rem; font-weight: 400; }							/* 16 / 22 */
											  	  																	
	h1, .h1												{ font-family: 'Roboto', sans-serif; font-size: 3rem; line-height: 1.1; font-weight: 700; }					/* 60px - px - ROBOTO - BOLD */
	
	h2, .h2												{ font-family: 'Roboto', sans-serif; font-size: 1.2rem; line-height: 1.1; font-weight: 400; }					/* 22px - px - ROBOTO */	
														  												  	
	h3, .h3												{ font-size: 1rem; line-height: 1.5rem; font-weight: 700; }														/* 20px - 30px - Montserrat */	
	
	h4, .h4												{ font-size: 0.9rem; line-height: 1.2rem; font-weight: 400; }													/* 18px - 22px - Montserrat */
	
	/*h5, .h5											{ font-family: 'Vollkorn', sans-serif; font-size: 0.9rem; font-weight: 400; } 					/* 24px - 24px - ROBOTO */
														  
	small, .small										{ font-size: .7rem; line-height: 1.1; }												/* 14 / 15 */
	
	.regular											{ font-weight: 400; }
	.semibold											{ font-weight: 600; }
	b, strong, .strong, .bold							{ font-weight: 700; }
	
	.underline											{ border-bottom: 1px solid;} 
	.strike												{ text-decoration: line-through; }	
	
	.normal-style										{ font-style: normal; }
	.italic, em											{ font-style: italic; }
	.roboto												{ font-family: 'Roboto', sans-serif; }
	
	@media screen and ( max-width: 1400px  ){
		h1, .h1												{ font-size: 1.7rem; }		
	}
	
	@media screen and ( max-width: 600px  ){
		h1, .h1												{ font-size: 1.6rem;  }		
	}
	
	@media screen and ( max-width: 450px  ){
		h1, .h1												{ font-size: 1.5rem; }		
	}	
	
	
	
/*	============================================================================
	!SITE
	========================================================================== */
	/* !CONTAINER & WRAPPER */
	.admin-bar .wrapper									{ margin-top: 32px; }
	.wrapper											{ height: 100%; margin-top: 4.6rem; }
	.container											{ max-width: 1000px; width: 100%; margin-left: auto; margin-right: auto; box-sizing: border-box; }
	.big-container										{ max-width: 1200px; width: 100%; margin-left: auto; margin-right: auto; box-sizing: border-box; }
	.c-main												{ padding-bottom: 3.5rem; }
	
	.flex > aside.grid-25								{ max-width: 18.75rem; }

	/* !BUTTONS */
	[class*="l-btn"]									{ display: inline-block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; border-radius: 0; 
														  transition: all .3s; text-transform: uppercase; }
	.l-btn__bordered									{ border: 1px solid; padding: .5rem 1rem; }
	.l-btn__bordered:hover								{ background-color: #000; color: #fff; }
	
	/* !INPUT */
	[class*="l-input"]									{ display: inline-block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; border-radius: 0; border: 1px solid; color: inherit; 
														  text-align: center; padding: .5rem 1rem; }
	
	/* !SELECT */
	[class*="l-select"]									{ -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; background-image: url(images/select.png); 
														  background-size: contain; background-position: right center; background-repeat: no-repeat; }
	[class*="l-select"]::-ms-expand 					{ display: none; } 
	
	/* UL && OL */
	.ol-style											{ list-style: none; margin: 0; padding: 0; }
	.ol-style li										{ display: block; position: relative; padding: .25rem 0 .25rem 1rem;}
	.ol-style li:before									{ content:''; width: .4rem; height: .4rem; border-radius: 50%; background-color: #5da7ca; position: absolute; top: .6rem; left: 0; }
	
	/* Ancre */
	.l-anchor											{ position: absolute; margin-top: -4rem; }
	
	/* Privacy policy */
	/* body.privacy-policy .l-cols__inner                  { padding-top: 66.666%;
    padding-bottom: 66.666%; } */
	
	@media screen and ( min-width: 1500px ){
		.container											{ max-width: 1200px; }
		.big-container										{ max-width: 1400px; }
	}

/*	============================================================================
	!MENU & ASIDE
	========================================================================== */
	/* LOGO */
	.c-aside__logo img									{ width: 8.2rem; height: auto; transition: width .5s; }
	.c-aside__logo img.big								{ width: 10rem; height: auto; }

	.c-header											{ position: fixed; top: 0; left: 0; width: 100%; z-index: 10; }
	.admin-bar .c-header								{ top: 32px; }
	.c-main__nav li										{ flex: auto; padding:  0 .75rem; }
	.c-main__nav li a:hover,
	.c-main__nav li a.focus,
	.c-footer__infos a:hover							{ color: #5da7ca; }


	/* !NAV */
	.c-mobile__menu li									{ display: block; margin-bottom: .5rem; }
	.c-mobile__pan										{ position: fixed; left: -100%; top: 4.6rem; width: 100%; height: 100%; box-sizing: border-box; background-color: rgba( 255, 255, 255, 0);
														  z-index: 5; overflow: auto; transition: all .5s; }
	.c-mobile__in:checked ~ .c-mobile__pan				{ left: 0; background-color: rgba( 255, 255, 255, .9); }
	.c-mobile__lbl										{ z-index: 10; }
	.c-mobile__lbl .inline-block						{ vertical-align: baseline; padding-right: .25rem; min-width: 1rem; min-height: 1.25rem; }
	
	.c-mobile__lbl .lbl__line							{ display: block; width: 1rem; height: 3px; background-color: #5DA7CA; border-radius: 10%; position: absolute; top: 5px; 
														  transition: width .3s ease .3s, height .3s ease .3s, transform .3s ease 0s, margin .3s ease 0s, top .3s ease 0s; }
	.c-mobile__lbl .lbl__line:nth-child(2)				{ width: .75rem;  top: 13px; }
	.c-mobile__lbl .lbl__line:nth-child(3)				{ width: .5rem; top: 21px;}
	.c-mobile__close									{ position: absolute; right: 1rem; top: 1rem; }
	
	#mobile-in:checked ~ .c-header .c-mobile__lbl		{ color: #000; }
	#mobile-in:checked ~ .c-header .lbl__line 			{ width: 1.6rem; height: 2px; margin-top: 0; top: 50%; transform: rotate(0deg);
														  transition: width .3s, height .3s, transform .3s ease .3s, margin .3s ease .3s, top .3s ease .3s, background .3s; }
	#mobile-in:checked ~ .c-header .lbl__line:nth-child(2)	{ width: 0; }
	#mobile-in:checked ~ .c-header .lbl__line:nth-child(1)	{ transform: rotate(45deg)}
	#mobile-in:checked ~ .c-header .lbl__line:nth-child(3)	{ transform: rotate(-45deg)} 
	
	/* INFOS */ 
	.c-footer__infos									{ position: fixed; bottom: 0; width: 100%; background-color: rgba(31,31,31, .95); padding: 1rem 2rem; 
													 	box-sizing: border-box; transition: all .3s; z-index: 3; }
	.l-svg__expert										{ width: 1.5rem; }
	.l-svg__expert span									{ padding-botom: 85.7%; }

	@media screen and ( min-width: 1500px ){
	.c-aside__logo img.big								{ width: 15rem; height: auto; }
	}	

	@media screen and ( max-width: 1275px ){
		.c-main												{ padding-bottom: 5rem; }
		.c-footer__infos									{ padding: .75rem 2rem; }	
		.flex.c-footer__infos>.grid							{ flex: 100%; max-width: 50%; margin: .25rem 0; text-align: left; }
	}
	
	@media screen and ( max-width: 1200px ){
		.c-header>.flex										{ justify-content: center; }
		.c-header>.flex>.grid								{ flex: 100%; max-width: 100%; text-align: center; }
		.c-aside__logo 										{ margin-bottom: 1rem; } 
		.wrapper											{ margin-top: 6.8rem; }
		.c-mobile__pan										{ top: 6.8rem; }
	}

	@media screen and ( max-width: 1100px ){
		.c-main__nav li										{ padding: .5rem 0; }
	}

	@media screen and ( max-width: 900px ){
		.wrapper											{ margin-top: 4.6rem; }
		.c-mobile__pan										{ top: 4.6rem; }
		.c-main__nav										{ display: none; }
		.c-aside__logo 										{ margin-bottom: 0; } 
		.c-header>.flex										{ justify-content: flex-start;; }
		.c-header>.flex>.grid								{ max-width: 50%; }
		.c-header>.flex>.c-aside__burger.grid				{ display: inherit; flex: 100%; max-width: 25%;  }
	}

	@media screen and ( max-width: 870px ){
		.flex.c-footer__infos>.grid							{ max-width: 100%; text-align: center; }
	}

	@media screen and ( max-width: 850px ){
		.c-main												{ padding-bottom: 8.5rem; }
		.c-footer__info.flex>.grid							{ flex: 100%; max-width: 100%; }
	}

	@media screen and ( max-width: 550px ){
		.c-header .flex										{ padding: .5rem 1rem; }
		.wrapper											{ margin-top: 3.6rem; }
		.c-mobile__pan										{ top: 3rem; }
/*
		.c-header__infos .flex > .grid-15					{ display: none }
		.c-header__infos .flex > .grid-85					{ max-width: 100%; }
		.c-header__infos.hidden								{ padding: 2rem; }
*/
		.c-main												{ padding-bottom: 0; }
		.c-footer__infos									{ position: relative!important; }
	}

	@media screen and ( max-width: 450px ){
		.c-main__nav										{ padding: 0 1rem; }
		.c-lang__nav										{ padding: 1rem; }
		.c-header__infos.hidden								{ padding: 2rem 1rem; }
	}
	
/*	============================================================================
	!ICONS
	========================================================================== */
	.l-svg__mail										{ width: 1.4rem; }
	.l-svg__mail span									{ padding-bottom: 85.72%; }
	.l-svg__tel											{ width: .75rem; }
	.l-svg__tel span									{ padding-bottom: 153.3%; }

	.l-icon__round										{ height: 6rem; width: 6rem; padding: 1.2rem 0; border-radius: 50%; background-color: rgba(0, 0, 0, .1); box-sizing: border-box; 
														  position: relative; margin: 0 auto 1rem; }
	.l-icon__round .l-svg__round						{ width: 2.4rem; height: 2.4rem; position: absolute; left: 1.8rem; top: 1.8rem; }
	.l-txt_img .l-icon__round							{ background-color: rgba(255, 255, 255, .1) }
/*	============================================================================
	!MODULES
	========================================================================== */
	/* HEAD && FOOT */
	.l-head__anchor										{ padding-bottom: .5rem; position: relative; }
	.l-head__anchor:after								{ content: ''; display: block; width: 100%; top: 0; top: 100%; border-top: 1px solid; position: absolute; }
	.l-head, .l-foot									{ }
	.l-head :last-child									{ margin-bottom: 0; }

	/* BANNER */
	.l-banner .big-container .l-banner__item,
	.l-banner .container .l-banner__item				{ max-width: none; margin-left: 0; margin-right: 0; }
	

	/* SERVICES */
	.flex > .l-services__items.grid-25					{ flex: 100%; max-width: 23.5%; }
	
	/* COLS */ 
	.l-cols__items:nth-child(odd)						{ padding-left: 0; }	
	.l-cols__items:nth-child(even)						{ padding-right: 0; }	
	
	/* CONTACT */
	#contact a:hover									{ color: #041F34; }
	#contact.focus-noir .focus a:hover					{ color: #5da7ca; }
	.l-mail__txt										{ display: inline-block; margin-left: 1.65rem; }
		
	@media screen and (min-width: 1400px){
		.l-banner>.l-banner__inner,
		body:not(.privacy-policy) .l-cols>.l-cols__inner,
		.l-txt_img>.l-txt_img__inner						{ min-height: 0!important; max-height: 100vh; }
	}
	
	@media screen and (max-width: 1200px){
		.l-cols__items										{ padding-left: 0; padding-right: 0; }
	}
	
	@media screen and ( max-width: 1100px ){
		.l-services .flex>.grid-25							{ flex: 100%; max-width: 50%;  padding: .5rem 1rem; }
		.l-cols__inner										{ height: auto!important; }
		.flex > .l-txt_img__img								{ display: none; }
	}
		
	@media screen and ( max-width: 800px ){
		.l-txt_img .l-txt_img__inner						{ height: auto!important; }
	}	
	
	@media screen and ( max-width: 650px ){
		.l-banner .l-banner__inner,
		.l-txt_img .l-txt_img__inner,
		.l-posts .l-posts__inner,
		.l-cols .l-cols__inner								{ padding-left: 2rem; padding-right: 2rem; }
	}

	@media screen and ( max-width: 450px ){
		.l-banner .l-banner__inner,
		.l-txt_img .l-txt_img__inner,
		.l-posts .l-posts__inner,
		.l-cols .l-cols__inner								{ padding-left: 1rem; padding-right: 1rem; }
		.l-services .flex>.grid-25							{ max-width: 100%;  padding: 1rem 0; }
		.l-banner .l-banner__inner							{ height: auto!important; }
	}
	
/*	============================================================================
	!ARCHIVES - SINGLES
	========================================================================== */
	.l-realisations__thumb .inner								{ position: absolute; width: 100%; height: 100%; opacity: 0; left: 0; top: 0; z-index: 1; 
																  background-color: rgba(0,26,58,.5); transition: all .3s; }
	.l-realisations__item:hover .l-realisations__thumb .inner	{ opacity: 1; }

	.l-realisations .l-arv__empty:nth-child(3n+0)				{ -ms-flex: 100%; flex: 100%; max-width: 33.333% }
	.l-realisations .l-arv__empty:nth-child(3n+1)				{ -ms-flex: 100%; flex: 100%; max-width: 50%; }
	.l-realisations .l-arv__empty:nth-child(3n+2)				{ -ms-flex: 100%; flex: 100%; max-width: 66.666%; }
	
	@media screen and ( max-width: 1200px ){
		.l-realisations .l-arv__empty:nth-child(3n+0)				{ max-width: 100% }
		.l-realisations .l-arv__empty:nth-child(3n+2)				{ max-width: 50%; }
	}
	
/*	============================================================================
	!GOOGLE MAP
	========================================================================== */
	.googlemaps											{ position: relative; height: 500px; height: 45vw; }
	.js-map												{ height: 100%;}
	.js-map	img											{ max-width: none; }
	.js-marker											{ visibility: hidden;}
	.js-marker .info									{ position: fixed; top: 0; left: -9999em; visibility: hidden;}			
	.scrollFix 											{ overflow: hidden;  display: block;  max-width: 300px}	
	.scrollFix h3										{ font-size: 1rem; line-height: 1.2; }