/*
	Theme Name:   AssurExperts BMB
	Author:       Cake communication
	Author URI:   http://cakecommunication.com
	Template:     cake_base
	Version:      2.0.0
	Text Domain:  assurexperts
*/

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


	body {
		overflow-x: clip;
	}
	/* Typographic baseline */
															
	html												{ font-family: 'Poppins', sans-serif; color #000; 
														  font-weight: 400; font-size: 125%; }														/* 1rem = 20px */
																	
	body												{ font-size: .8rem; line-height: 1.1rem; font-weight: 400; }									/* 16px / 20px */
											  	  																	
	h1, .h1												{ font-size: 2rem; line-height: 2.2rem; font-weight: 600; text-transform: uppercase; }		/* 40px - px - UPPERCASE */
	
	h2, .h2												{ font-size: 1.5rem; line-height:1.7rem; font-weight: 400; text-transform: none; }			/* 30px - px - UPPERCASE */	
	
	h3, .h3												{ font-size: 1.25rem; line-height: 1.5rem; font-weight: 500; text-transform: uppercase; }	/* 25px - px - UPPERCASE */	
														  												  		
	h4, .h4												{ font-size: 1rem; line-height: 1.2rem; font-weight: 400; text-transform: uppercase; }		/* 20px - px - UPPERCASE  */
	
	h5, .h5												{ font-size: 0.9rem; line-height: 1.1rem; font-weight: 400; }								/* 18px - px - UPPERCASE  */
	
	small, .small										{ font-size: .7rem; line-height: 1.1; }														/* 14 / 15 */
	
	.regular											{ font-weight: 400; }
	.medium												{ font-weight: 500; }
	.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; }
	
	@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 */
	.wrapper											{ height: 100%; }
	.container											{ max-width: 1050px; 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; }

	/* !BUTTONS */
	[class*="l-btn"]									{ font-size: .9rem; text-transform: uppercase; display: inline-block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; border-radius: 0; 
														  padding: .5rem 1rem; transition: all .3s; border:0; }
	.l-btn__bordered									{ border: 1px solid; }
	.l-btn__bordered:hover								{ background-color: #000; color: #fff; }
	.blanc .l-btn__bordered:hover,
	.blanc.l-btn__bordered:hover						{ background-color: #fff; border-color: #fff; color: #65686D; }
	.gris .l-btn__bordered:hover,
	.gris.l-btn__bordered:hover							{ background-color: #65686D; border-color: #65686D; color: #fff; }
	.l-btn__blanc										{ background-color: #fff; color: #65686D; }
	.l-btn__blanc:hover									{ background-color: #65686D; border-color: #65686D; color: #fff; }
	.l-btn__rouge										{ background-color: #ED2529; color: #fff; }
	.l-btn__gris										{ background-color: #65686D; color: #fff; }
	
	
	/* !INPUT */
	[class*="l-input"]									{ display: inline-block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; border-radius: 0; border: 0; color: #000; 
														  padding: .5rem 1rem; box-sizing: border-box; max-width: 100%; }
	
	/* !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; } 
	
	/* DÉCALAGE */
	[class*="l-decal"]									{ position: relative; }
	.l-decal__before:before								{ content: ''; display: block; height: 100%; background-color: inherit; position: absolute; right: 100%; top: 0; }
	.l-decal__after:after								{ content: ''; display: block; height: 100%; background-color: inherit; position: absolute; left: 100%; top: 0; }
	.l-decal__before.big-container:before,
	.l-decal__after.big-container:after					{ width: calc(50vw - 600px); }
	.l-decal__before.container:before,	
	.l-decal__after.container:after						{ width: calc(50vw - 525px); }
	
	/* TRANSLATE */
	.l-translate__top									{ position: relative; transform: translateY(-3rem); margin-bottom: -3rem; z-index: 2; }
	.l-translate__left									{ position: relative; transform: translateX(-3rem); }
	.l-translate__right									{ position: relative; transform: translateX(3rem); }
	.l-translate__left-top								{ position: relative; transform: translateX(-3rem) translateY(-4rem); margin-bottom: -4rem; z-index: 1; padding-top: 7rem;  }

	/* CONTENU À DROITE */
	.l-ctn__right [class*='__inner']					{ width: 120%; max-width: 120%;  }
	
	@media screen and ( max-width: 1350px ){
		.big-container .l-translate__right,
		.container .l-translate__right						{ transform: translateX(2rem); }
	}
				
	@media screen and ( max-width: 1250px ){
		.big-container .l-translate__right,
		.container .l-translate__right						{ transform: translateX(0); }
	}			
	
	@media screen and ( max-width: 1150px ){
		.container.l-translate__left-top					{ transform: translateX(0rem) translateY(-4rem); }
		.container.l-translate__top							{ transform: translateY(-2.5rem); margin-bottom: -2.5rem; }
		.container.l-translate__left						{ transform: translateX(0); }
	}
		
	@media screen and ( max-width: 1050px ){
		.container.l-translate__top							{ transform: translateY(0); margin-bottom: 0; }
	}
		
/*	============================================================================
	!MENU
	========================================================================== */
	.c-header  { position: relative; }
	.c-header__menu {display: flex; align-content: center; gap: 1rem;}
	.c-header__logo { align-content: center;}
	/* .c-header__logo img  { width: 100%;} */
	
	/* Fix for Assurance vie page logo */
	body:not(.term-assurance-vie) .c-header__logo img  { width: 100%;}
	
	.c-mobile__lbl  { padding-inline:  0;}
	
	/* !MOBILE */
	.c-mobile__lbl span									{ display: block; width: 2rem; max-width: 100%; height: 2px; margin: .5rem auto; background-color: #65686d; transition: all .3s; }
	.c-mobile__nav li									{ display: block; padding: .5rem }
	.c-mobile__nav li.current-menu-item>a,
	.c-mobile__nav li.current-menu-item>label,
	.c-mobile__nav li label:hover,
	.c-mobile__nav li a:hover							{ color: #ED2529; }
	.c-mobile__nav .sub-menu							{ position: relative; padding-left: 1rem;/*  padding-top: .5rem;  */}
	.c-mobile__nav .sub-menu .sub-menu					{ max-height: 0; overflow: hidden; font-size: .8rem; transition: all .3s; }
	.c-mobile__menu input:checked ~ .sub-menu			{ max-height: 10rem; transition: all .5s;  }	
	.c-mobile__menu li.c-mobile__lbls>a					{ display: none;  }
	.c-mobile__pan										{ position: fixed; left: -200%; top: 0; width: auto; height: 100%;  box-sizing: border-box; background-color: rgba( 255, 255, 255, 0); 
														  z-index: 5; overflow: auto;  box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.35); transition: all .5s; }
	.l-lbl__overlay										{ position: fixed; top: 0; left: 0; width: 0; height: 0; }
	.c-mobile__in:checked ~ .c-mobile__pan				{ left: 0; background-color: #fff; background-color: rgba( 255, 255, 255, .9); }
	.c-mobile__in:checked ~ .l-lbl__overlay				{ width: 100%; height: 100%; display: block; z-index: 4; opacity: 0; }
	.c-mobile__close									{ position: absolute; width: .8rem; height: .8rem; left: 1rem; top: 2rem; text-align: center; box-sizing: border-box; }	
	
	/* UTILITAIRE */
	.c-utility__menu>li									{ vertical-align: middle;}
	.c-utility__menu>li a:hover,
	.c-footer-utility__menu>li a:hover					{ color: #ED2529; }
	.c-utility__menu>li.focus a:hover					{ color: #65686D; }
	
	/* CTA */
	.c-cta__menu li										{ text-transform: uppercase; }
	.c-cta__menu li a:hover span						{ background-color: #EFF0F0; color: #ED2529; }
	li:first-child span.l-btn__gris						{ background-color: #ED2529; }
	
	.c-footer__nav li a:hover							{ color: #65686D; }

	@media screen and ( max-width: 1000px){
		.flex>.c-footer__logo.no-grow					{ flex: 100%; max-width: 60%; order: 0; text-align: left; }
		.flex>.c-footer__social,
		.flex>.c-footer__rccaq							{ flex: 100%; max-width: 20%; order: 1; text-align: right }
		.flex>.c-footer__main							{ flex: 100%; max-width: 100%; order: 3; padding-top: 2rem;  }
		.c-footer__menu.flex							{ justify-content: center; }
		.c-footer__menu	li								{ padding: 0 .5rem; }
	}
	
	@media screen and ( max-width: 930px){
		.c-header__logo { max-width: 230px}
	}
	
	@media screen and ( max-width: 850px){
	
	
		.c-cta__nav										{ display: none; }
		/*
		.c-utility										{ display: flex; flex-direction: row; flex-wrap: wrap; order: 0; justify-content: space-between;}
		.c-header__menu									{ text-align: center; order: 1; padding-left: 1rem; padding-right: 1rem; justify-content: center }
		.c-header__mobile.hidden						{ flex: 100%; max-width: 5rem; display: inherit; }
		.c-header>.grid									{ flex: 100%; max-width: 100%; } 
		.c-mobile__lbl									{ flex: 100%; max-width: 5rem; }
		.c-header__menu .c-mobile__lbl,
		
		.c-mobile__pan .c-cta__nav						{ display: block; text-align: center; padding-top: 1rem; }
		*/
	}
	
	@media screen and ( max-width: 650px){
		.c-header__menu { gap: 0.5rem;}
		.c-utility  { position: absolute; top: 1rem; right: 1rem}
		.flex>.c-footer__logo.no-grow					{ max-width: 40%; }
		.flex>.c-footer__social,
		.flex>.c-footer__rccaq							{ max-width: 30%; }
	}
		
	@media screen and ( max-width: 600px){
		.c-footer__main									{ display: none; }
	}

	@media screen and ( max-width: 550px){
		.flex>.c-footer__logo.no-grow					{ max-width: 60%; padding-left: 0; }
		.flex>.c-footer__social							{ max-width: 40%; padding-right: 0; }
		.flex>.c-footer__rccaq							{ max-width: 100%; padding-top: 2rem; }
		.l-svg__rccaq									{ margin: auto;}
	}
	
	@media screen and ( max-width: 450px){
		.c-header										{ padding-left: 0; padding-right: 0; }
	}

/*	============================================================================
	!HEADER & FOOTER
	========================================================================== */
	.l-svg__logo										{ width: 8rem; max-width: 100%; }
	.l-svg__logo span									{ padding-bottom: 50%; }
	.l-svg__logo.blanc path								{ fill: #fff; }
	
	.l-svg__rccaq										{ width: 5rem; }
	.l-svg__rccaq span									{ padding-bottom: 81.7%; }

	.l-svg__social										{ transition: all .3s; }
	.l-svg__social:hover								{ color: #65686D; }

	@media screen and ( max-width: 1250px){
		.c-header											{ padding-left: 1rem; padding-right: 1rem; }
	}
	
/*	============================================================================
	!MODULES
	========================================================================== */
	/* HEAD && FOOT */
	.l-head :last-child, .l-foot :last-child			{ margin-bottom: 0; }

	/* BANNER */
	.big-container .l-banner__inner						{ min-height: calc(1200px * 40 / 100)}
	.container .l-banner__inner							{ min-height: calc(1050px * 40 / 100)}
	.l-banner .big-container .l-banner__item,
	.l-banner .container .l-banner__item				{ max-width: none; margin-left: 0; margin-right: 0; }

	/* TAX */
	.l-tax__tax											{ left: 0; right: 0; top: -.5rem; bottom: 0; height: calc(100% + .5rem); }
	.l-tax__tax>.grid									{ flex: 475px; max-width: 100%; }
	.l-tax__foot										{ transform: translateY(-5rem); margin-bottom: -5rem; z-index: 2; }
	.l-tax__holder 										{ position: relative; max-width: 475px; height: 60%; z-index: 3; }
	.flex > .l-tax__items								{ border: 1px solid #ED2529; flex: 100%; max-width: calc(50% - .125rem); margin: .125rem 0; box-sizing: border-box;}
	.flex > .l-tax__items:first-child,
	.flex > .l-tax__items:nth-child(2)					{ margin-top: 0; }
	.flex > .l-tax__items:last-child,
	.flex > .l-tax__items:nth-last-child(2)				{ margin-bottom: 0; }
	.l-tax__items .table								{ height: 100%; }
	.l-tax__items:hover									{ background-color: #ED2529; border-color: #fff; color: #fff; }
/*
	.l-tax__inner.container, 
	.l-tax__inner.big-container							{ margin-left: 0; margin-right: 0; }
*/
	
	/* IMG_TXT */ 
	.l-txt_img .flex:nth-child(odd) .l-txt_img__img,
	.l-txt_img .flex:nth-child(even) .l-txt_img__txt	{ order: 1; }
	.l-txt_img .flex:nth-child(even) .l-txt_img__img,
	.l-txt_img .flex:nth-child(odd) .l-txt_img__txt		{ order: 0; }
	.l-txt_img__img img									{ z-index: 2; }
	.l-img__abs img										{ position: absolute; }
	.l-img__over .inner									{ padding-bottom: 124%; }		
	

	@media screen and ( max-width: 1150px ){
/* 		.l-txt_img.l-translate__left-top					{ transform: translateX(0rem) translateY(-4rem); } */
		.l-tax__items										{ padding: 1.5rem; }
/* 		.l-cols.l-translate__top							{ transform: translateY(-2.5rem); margin-bottom: -2.5rem; } */
		.l-tax__foot										{ transform: translateY(-3.5rem); margin-bottom: -3.5rem; }
/* 		.l-txt_img.l-ctn__right 							{ padding-left: 2rem; padding-right: 2rem; } */
		.l-txt_img.l-ctn__right .l-txt_img__inner			{ width: 100%; }
	}		
	
	@media screen and ( max-width: 1050px ){
/* 		.l-cols.l-translate__top, */
		.l-tax__foot										{ transform: translateY(0); margin-bottom: 0; }
		.l-tax__items										{ padding: 1.25rem; }
		.l-tax__foot.flex>.grid-60							{ flex: 100%; max-width: 100%; }
	}
	
	@media screen and ( max-width: 950px ){
		.l-txt_img__img	img.absolute						{ position: relative; }
		.l-posts.l-courtiers .flex>.grid-33					{ flex: 100%; max-width: 50%; }
	}
	
	@media screen and ( max-width: 900px ){
		.l-tax__tax											{ position: relative; height: 100%; top: 0; padding: .25rem; }
		.l-tax__tax.flex>.grid								{ flex: 100%; }
		.l-tax__holder										{ max-width: 100%; }
	}

	@media screen and ( max-width: 850px ){
		.l-tax__foot										{ padding-left: 2rem; padding-right: 2rem; }
		.l-cols.pad-horizontal-x4,
		.l-txt_img.pad-horizontal-x4						{ padding-left: 1rem; padding-right: 1rem; }
		.l-cols__items.grid-50								{ flex: 100%; max-width: 100%; }
	}

	@media screen and ( max-width: 750px ){
		.l-txt_img .flex > .grid-33,
		.l-txt_img .flex > .grid-66,
		.l-txt_img .flex > .grid-50							{ flex: 100%; max-width: 100%; }
		.l-txt_img .flex:nth-child(odd) .l-txt_img__img,
		.l-txt_img .flex:nth-child(even) .l-txt_img__img	{ order: 2; text-align: center; }
	}
	
	@media screen and ( max-width: 550px ){
		.l-tax__items 										{ padding: 1rem; }
		.l-tax__foot										{ padding-left: 1rem; padding-right: 1rem; }
		.l-cols.pad-horizontal-x4,
		.l-txt_img.pad-horizontal-x4						{ padding-left: 0; padding-right: 0; }
		.l-posts.l-courtiers .l-head__ttl					{ text-align: center; }
		.l-courtiers .l-posts__inner .flex					{ justify-content: center; }
		.l-posts.l-courtiers .flex>.grid-33					{ max-width: 17.5rem; padding-left: 0; padding-right: 0;}
	}
	
	@media screen and ( max-width: 450px ){
		.flex>.l-tax__items 								{ flex: 100%; max-width: 100%; padding: .5rem; }
	}

/*	============================================================================
	!ARCHIVES - SINGLES
	========================================================================== */
	/* BLOGUE */
	.l-blogue.l-arv										{ z-index: 1; padding-top: 5rem; }
	.l-blogue .flex>.grid-33							{ flex: 100%; max-width: calc(33.333% - 1.5rem); }	
	
	/* PRODUITS */
	.l-produits__items									{ transform: translateX(0); }
	.l-produits__lbls									{ position: relative; }
	.l-produits__lbls:after								{ content: '+'; display: block; position: absolute; top: calc(50% - .625rem); right: .5rem; color: #fff; border: 1px solid #fff; border-radius: 50%; width: 1.25rem; 
														  line-height: 1.25rem; height: 1.25rem; text-align: center; box-sizing: border-box; transition: all .3s; }
	.l-produits__pan									{ max-height: 0; overflow: hidden; transition: all .5s; }
	input:checked ~ .l-produits__lbls:after				{ transform: rotate(45deg); }
	input:checked ~ .l-produits__pan					{ max-height: 100rem; transition: all .5s; }
	
	@media screen and ( max-width: 1250px ){
		.l-blogue .flex>.grid-33							{ max-width: calc(33.333% - .5rem); }
		.l-blogue__items .l-loop__ctn						{ padding-right: 0; }
	}
	
	@media screen and ( max-width: 1150px ){
		.l-type__desc.l-decal__after.l-translate__top		{ transform: translateY(-1rem); margin-bottom: -1rem;}
	}
	
	@media screen and ( max-width: 1050px ){
		.l-type__desc.l-decal__after.l-translate__top		{ transform: translateY(0); margin-bottom: 0;}
		.l-type__posts.l-translate__left-top				{ transform: translateX(0) translateY(0); margin-bottom: 0; padding-top: 4rem; }
	}
	
	@media screen and ( max-width: 950px ){
		.l-blogue .flex>.grid-33							{ max-width: calc(50% - 1rem); }
	}
	
	@media screen and ( max-width: 850px ){
		.l-slg__intro,
		.l-slg__ctn,
		.l-type__desc,
		.l-type__posts.l-translate__left-top				{ padding-left: 2rem; padding-right: 2rem; }
		.l-blogue .flex>.grid-33							{ max-width: calc(50% - .5rem); }
	}

	@media screen and ( max-width: 650px ){
		.l-blogue.l-slg__arv .grid-100						{ text-align: center; }
		.l-blogue.l-slg__arv>.flex,
		.l-blogue.l-arv>.flex								{ justify-content: center; } 
		.l-blogue .flex>.grid-33							{ max-width: 17.5rem; }
	}
	
	@media screen and ( max-width: 550px ){
		.l-slg__intro,
		.l-slg__ctn,
		.l-type__desc,
		.l-type__posts.l-translate__left-top				{ padding-left: 1rem; padding-right: 1rem; }
	}

/*	============================================================================
	!GOOGLE MAP - CONTACT
	========================================================================== */
	.l-coord											{ padding-bottom: 50%; margin-bottom: -50%; z-index: 0; }
	.l-contact__map										{ transform: translateX(-3rem); position: relative; z-index: 3; }
	.l-form												{ padding-top: 6rem; z-index: 0; } 
	.l-map												{ position: relative; width: 50rem; max-width: 100%; margin: auto; }
	.googlemaps											{ position: relative; padding-bottom: 50%; box-sizing: border-box; }
	.js-map												{ position: absolute; top: 0; left: 0; width: 100%; 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; }

	@media screen and ( max-width: 1150px ){
		.l-contact__map										{ transform: translateX(-2rem); }
	}	
	
	@media screen and ( max-width: 1100px ){
		.l-contact__map										{ transform: translateX(0); }
	}	

	@media screen and ( max-width: 1050px ){
		.l-form												{ padding-top: 4rem; }
		.l-coord.l-translate__left-top						{ padding-bottom: 4rem; padding-top: 4rem; margin-bottom: 0; transform: translate(0); }
	}
	
	@media screen and ( max-width: 850px ){
		.l-coord,
		.l-form												{ padding-left: 2rem; padding-right: 2rem; }
	}
	
	@media screen and ( max-width: 550px ){
		.googlemaps											{ padding-bottom: 75%; }
		.l-coord,
		.l-form												{ padding-left: 1rem; padding-right: 1rem; }
	}
	