/*** default styles */
@font-face{font-family:"Olivia Dhorgent";src:url(/style/font/Olivia-Dhorgent.ttf);}
@font-face{font-family:"Belgium Catherine";src:url(/style/font/Belgium-Catherine.ttf);}

* {box-sizing : border-box;  padding: 0;margin: 0;}
select * {padding: 0 0.5em;}
ul, ol {list-style: none;}
a img, :link img, :visited img, object, fieldset {border: none;}
/*a:focus, a:hover {text-decoration: underline;}*/
a:active {outline: none;}
a {outline: none;}
address {font-style: normal;}
iframe {line-height : 1em; display: block;}
:link, :visited {text-decoration: none;}
legend {position: relative;left: -6px;/* ie */}
/*** font size : http://www.knacss.com/ */
html {font-size: 62.5%;}
body {background-color: #fff;color: #000;font-family: "Quicksand", helvetica, arial, sans-serif;font-size: 1.8em; /* equiv 14px */line-height: 1.5em; /* adapt to your design */}
input, select, textarea {font-size: 100%;}
/*** Float containers (http://www.csscreator.com/attributes/containedfloat.php) */
.clearfix:after {content: ".";display: block;height: 0;font-size:0;clear: both;visibility: hidden;}
.clearfix{display: inline-block;}
/* Hides from IE-mac \*/
* html .clearfix{height: 1%;}
.clearfix{display: block;}
/* End hide from IE-mac */
/*** Image Replacement */
.mir {letter-spacing : -1000em;}
/*\*/
* html .mir {text-indent: -999em;overflow: hidden;}
html>body .mir {letter-spacing: normal;text-indent: -999em;overflow: hidden;}/**/
/*** generic style */
.clear {clear: both;}
div.clear {height: 0;}
.no-wrap {white-space:nowrap;}
/*** error */
.errorOutput {font-weight: bold;padding: 0.5em 20px;border-top: 2px solid #eee;	border-bottom: 2px solid #eee;background: transparent url(/style/alert.gif) no-repeat left center;}
a:link, a:visited {color : #008cd9;}

html, body { overflow-x: hidden; }

body{
	font-weight: 300;
}

:root {
	--page-max: 1780px;
	--bleu: #01224f;
	--bleu-fonce: #1a2d38;
	--bleu-fonce-transparent: rgba(10,18,22,0.5);
	--bleu-fonce-transparent2: rgba(10,18,22,0.3);
	--jaune: #ffc361;
	--marron: pink;
	--footer-color: #9aa3b7;
	--footer-color-clair: #dfe4ea;
}

.page_max, .page, .page_slider, .page_moy, .page_min, .page_tirages {
	width : 100%;
	max-width : var(--page-max);
	margin : 0 auto;
}

.page_min {max-width : 800px;}
.page_moy {max-width : 1200px;}
.page_slider {max-width : 1000px;}
.page_tirages {max-width : 1551px;}

.col1-2,
.col1-3,
.col2-3,
.col3-4,
.col1-4 {float : left;}

.col{width: 100%; }
.col3-4{width: 75%;}
.col1-2{width: 50%;}
.col1-3{width: 33.33%;}
.col2-3{width: 66.66%;}
.col1-4{width: 25%;}

.flexParent {
    display: flex;
    flex-wrap: wrap;
}

.flex,
.flex1-1,
.flex1-2,
.flex1-3,
.flex2-3,
.flex3-4,
.flex1-4 { 
    display: flex;
}

.flex1-1{width: 100%;}
.flex3-4{width: 75%;}
.flex1-2{width: 50%;}
.flex1-3{width: 33.33%;}
.flex2-3{width: 66.66%;}
.flex1-4{width: 25%;}


.flexColumn {
	flex-direction: column;
	display: flex;
}

.flex_between {
    justify-content: space-between;
}

.flex_start_center {
    justify-content: flex-start;
    align-items: center;
}

.flex_center_center {
    justify-content: center;
    align-items: center;
}

.flex_between_center {
    justify-content: space-between;
    align-items: center;
}

.flex_end_center {
    justify-content: flex-end;
    align-items: center;
}

.flex_center_end {
    justify-content: center;
    align-items: flex-end;
}

.column2 {
	-moz-column-gap: 20px;
	column-gap: 20px;
	-moz-columns: 2 auto;
	-webkit-column-gap: 20px;
	-webkit-columns: 2 auto;
	columns: 2;
}

.column3 {
	column-gap: 20px;
	-moz-column-gap: 20px;
	-moz-columns: 3 auto;
	-webkit-column-gap: 20px;
	-webkit-columns: 3 auto;
	columns: 3;
}

.padding{padding: 20px;}
.padding_min{padding: 10px;}
.padding_lr{padding: 0 20px;}
.padding_minLR{padding: 0 10px;}
.padding_tb{padding: 20px 0;}
.padding_noBottom { padding-bottom: 0; }
.margin_noBottom { margin-bottom: 0; }

.padding_portfolio { padding: 0px 100px; }

.position_relative { position: relative; }

/*gestion des couleurs et des fonds  */
 
.bg_gris_fonce {background-color : #0a0406; color : #fff;}
.bg_gris_clair {background-color : #5e575e; color : #fff;}
.bg_noir {background-color : #000; color : #fff;}
.bg_blanc {background-color : #fff; color : #000;}
.bg_blanc2 {background-color : #e3e3e5; color : #000;}
.bg_bleu_fonce { background-color: var(--bleu-fonce); color: #fff; }
.bg_bleu { background-color: var(--bleu); color: #fff; }

.bg_gris_clair a:link, .bg_gris_clair a:visited, 
.bg_blanc a:link, .bg_blanc a:visited {color : #000;} 
.bg_blanc2 a:link, .bg_blanc2 a:visited {color : #000;} 
.bg_gris_fonce a:link, .bg_gris_fonce a:visited,
.bg_noir a:link, .bg_noir a:visited,
.bg_bleu a:link, .bg_bleu a:visited,
.bg_bleu_fonce a:link, .bg_bleu_fonce a:visited {color : #fff;} 


.section, .section_moy, .section_big {padding : 20px 0; overflow-x: hidden; position: relative;}
.section_moy {padding : 40px 0;}
.section_big {padding : 80px 0;}

.margin_auto{margin: 0 auto;}

.block { display: block; }

.relative{position : relative;}

.float_right {float : right;}
.float_left {float : left;}

.align_center {text-align : center;}
.align_right {text-align : right;}

.maj { text-transform: uppercase; }
.italic { font-style: italic; }
.thin { font-weight: 100 !important; }
.light { font-weight: 300 !important; }
.normal { font-weight: 400 !important; }
.medium { font-weight: 500 !important; }
.semibold { font-weight: 600 !important; }
.bold { font-weight: 700 !important; }
.extrabold { font-weight: 900 !important; }
.big { font-size: 120%; }
.small { font-size: 80%; }

.olivia { font-family: "Olivia Dhorgent" !important; }
.catherine { font-family: "Belgium Catherine" !important; }
.quicksand { font-family: "Quicksand" !important; }

.marron { color: var(--marron) !important; }
.jaune { color: var(--jaune) !important; }


/*** animations ***********************************/

.zoomup { transition: 0.4s; }
.zoomup:hover {transform: scale(1.2);}

.zoomdown { transition: 0.4s; }
.zoomdown:hover {transform: scale(0.8);}

.zoomtourne { transition: 0.4s;}
.zoomtourne:hover {transform: rotate(15deg) scale(0.9);}

.zoominfini:hover {
	animation-duration: 0.8s;
	animation-name: zoominfini;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-timing-function: ease-in-out;
}

@keyframes zoominfini {
  from { transform: scale(1); }
  to   { transform: scale(1.2); }
}

.fade {
	opacity: 0;
	transition: 1s;
}

.fondu_top {
	opacity: 0;
	position: relative;
	margin-top: 200px;
	transition: all 1s, width 0s;
}

.fondu_left {
	opacity: 0;
	position: relative;
	left: -1000px;
	transition: all 1s, width 0s;
}

.fondu_right {
	opacity: 0;
	position: relative;
	left: 1000px;
	transition: all 1s, width 0s;
}

.fondu_revele {
	opacity: 1;
	top: 0;
	left: 0;
	z-index: 100;
	margin-top: 0;
}

.duree_transition1 { transition: 0.5s; }
.duree_transition2 { transition: 1s; }
.duree_transition3 { transition: 1.5s; }
.duree_transition4 { transition: 2s; }
.duree_transition5 { transition: 2.5s; }


/*** header  *****************************************/

	header {
		position: fixed;
		width: 100%;
		top: 0;
		left: 0;
		z-index: 100;
		transition: 0.8s;
	}

	/*header.header-fix {
		box-shadow: 0px 1px 8px rgba(0,0,0,0.3);
	}*/

	.header_titre {
		display: block;
		font-size: 350%;
		font-family: "Olivia Dhorgent";
		line-height: 1.2;
		color: var(--bleu-fonce);
		padding: 20px 20px 0px;
		transition: 0.8s;
	}

	header.header-fix .header_titre { font-size: 150%; padding: 10px 0 0; }

	.section_first { padding-top: 142px; }
	.section_portfolio { padding-top: 180px; }
	
/*** menu *****************************************/
nav {
	display : inline-block;
	transition: 0.8s;
}

#privee nav,
#privee .mean-bar { display: none !important; }

.header-fix nav { border-top-color: var(--bleu-fonce-transparent2); }

	nav li { display : inline-block; position: relative; }
	nav li:not(:last-child)::after {
		content: '-';
		position: absolute;
		top: 50%;
		right: 0;
		transform: translate(50%,-50%);
	}

		nav li a{display : block; padding : 10px; text-transform: uppercase; transition: 0.5s; }
		 
		#accueil nav li#nav-accueil a,
		#portfolio nav li#nav-portfolio a,
		#prestations nav li#nav-prestations a,
		#tirages nav li#nav-tirages a,
		#bio nav li#nav-bio a,
		#contact nav li#nav-contact a {
			font-weight: 400;
		}
			

/*** accueil ****************************************************/

.cestLaClasse { position: relative; width: 100%; overflow: hidden; }

.cestLaClasse::before,
.cestLaClasse::after {
	position: absolute;
	top: 0;
	bottom: 0;
}

.cestLaClasse::before { content: url('/style/accueil/gauche.jpg'); right: 50%; transform: translateX(-515px); }
.cestLaClasse::after { content: url('/style/accueil/droite.jpg'); left: 50%; transform: translateX(515px); }

.accueil_trait {
	display: block;
	background-color: var(--bleu-fonce-transparent2);
	height: 1px;
	width: 160px;
	max-width: calc(100% - 40px);
	margin: 0 auto 40px auto;
}

/*** tirages ****************************************************/

#TP_CARTTAB {
	top: auto !important;
	bottom: 0 !important;
	background: #eee !important;
	display: flex;
	align-items: center;
	box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.7);
}


/*** liste + paragrahe  *****************************************/
	ul.list{
		list-style-type : disc;
		margin-left : 15px;
	}

	ul.inline li{
		display : inline-block;
		padding : 0 10px;
	}
	
	.section p, .section_first p, .section_portfolio p {margin-bottom : 20px; font-size: 90%;}
	.section_portfolio p.like_h3 {font-size: 140%;}
	
	.img_100 {
		max-width : 100%;
		display : block; 
		line-height : 1; 
		width : auto;
		height: auto;
	}
	
	.img_cover {
		width : 100%;
		height: 100%;
		display : block;
		object-fit: cover;
		object-position: center;
	}

/*** footer  *****************************************/
	footer { padding: 60px 0 40px; }
	footer, footer a i { color: var(--footer-color-clair) !important; }
	footer, footer a { color: var(--footer-color-clair) !important; }

	.footer_titre {
		font-size: 250%;
		line-height: 0.7;
		font-family: "Olivia Dhorgent";
	}
	.footer_titre.big { font-size: 350%;}

	.nav-mentions li, .nav_rs li{
		display : inline-block;
	}

		.nav-mentions li a, .nav_rs li a{padding : 0 5px;}

		.nav-mentions li a {font-size : 75%; border-left : 1px solid; }

			.nav-mentions li:first-child a{
				border-left : none; 
			}
			
	.titre_footer {
		display : block; 
		text-transform : uppercase; 
		font-size : 110%;
		font-weight : 600;
		margin-bottom : 5px;
	}


/*** galeries mdp **********************************/
#popup-mdp {
	background-color: #fff;
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

#popup-mdp .mfp-close { display: none; }


/*** titre *****************************************/
h1.h1_header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	font-size: 100%;
}

h1, .like_h1 {
	font-size : 250%;
	font-weight: 400;
}

h2, .like_h2 {
	font-size : 250%;
	line-height: 1;
	font-family: "Belgium Catherine";
	font-weight: 400;
	line-height: 0.5;
}

h2.soustitre_galerie {
	font-family: "Quicksand";
	font-size: 90%;
	font-weight: 300;
	line-height: 1.5;
}

h3, .like_h3 {
	font-size : 140%;
	margin-bottom: 20px;
}

h4, .like_h4 {
	font-size : 120%;
	margin-bottom: 20px;
}

/*** bio ******************************************/

.page_bio { width: 100%; margin:0 auto; max-width:2000px; }

.bg_bio, .bg_bio_mobile {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.bg_bio_mobile {
	display: block;
}

.bg_bio1 {
	background-image: url(/style/bio/bio_vincentfavre_blanc.jpg);
	background-position: left;
	min-height: 600px;
	/*aspect-ratio: 3;*/
	display: flex;
	align-items: center;

}
.bg_bio2 {
	background-image: url(/style/bio/bio_mercantour.jpg);
	aspect-ratio: 16/9;
	background-attachment: fixed;
}
.bg_bio3 {
	background-image: url(/style/bio/bio_dark_nights.jpg);
	min-height: 600px;
	/*aspect-ratio: 3;*/
	display: flex;
	align-items: center;
	background-position: right;
}
.bg_bio4 {
	background-image: url(/style/bio/bio_azur.jpg);
	aspect-ratio: 8/1;
	background-attachment: fixed;
}
.bg_bio5 {
	background-image: url(/style/bio/bio_nuits_dehors.jpg);
	min-height: 600px;
	/*aspect-ratio: 3;*/
	display: flex;
	align-items: center;
}
.bg_bio6 {
	background-image: url(/style/bio/bio_penhir.jpg);
	aspect-ratio: 4/3;
	background-attachment: fixed;
}
.bg_bio7 {
	background-image: url(/style/bio/bio_tulipe_sauvage.jpg);
	aspect-ratio: 16/9;
	display: flex;
	align-items: center;
}
.bg_bio8 {
	background-image: url(/style/bio/bio_alpe_sanguinaire.jpg);
	min-height: 600px;
	/*aspect-ratio: 3;*/
	display: flex;
	align-items: center;
}
.bg_bio9 {
	background-image: url(/style/bio/bio_vincentfavre.jpg);
	aspect-ratio: 16/9;
	background-position: right;
}


/*** portfolio ************************************/

.uneGalerie { padding: 20px 5px; }

.uneGalerie h2 { line-height: 0.3; }
.uneGalerie p { margin-bottom: 8px; font-size: 90%; }

.uneGalerie a {
	aspect-ratio: 40/27;
	position: relative;
	display: block;
	overflow: hidden;
}

.uneGalerie a img { transition: 0.5s; }
.uneGalerie a:hover img { transform: scale(1.1); }

.input_recherche, .input_recherche:focus, .input_recherche:active {
	font-family: "Quicksand";
	background-color: #f6f6f6;
	text-align: right;
	color: var(--bleu-fonce);
	padding: 10px 20px;
	font-size: 130%;
	border: 0.5px solid #ccced1;
	width: 100%;
	margin-bottom: 20px;
	font-weight: 300;
}
.input_recherche::placeholder {
	color: #ccced1;
	font-weight: 300;
}

.submit_recherche {
	background-color: transparent;
	border: none;
	font-family: "Quicksand";
	margin-bottom: 20px;
	color: var(--bleu-fonce);
	padding: 0 10px;
	cursor: pointer;
}

.tag { padding: 0 5px; line-height: 1; }
.tag:not(.jaune) { color: var(--bleu-fonce) !important; }
.tag.jaune { font-size: 130%; }

/*.lg-backdrop, .lg-sub-html { transition: 1s !important; }*/


#privee:not(.nomsfichiers) .lg-sub-html,
#privee #btn_recherche { display: none !important; }
#privee.nomsfichiers .lg-sub-html { font-family:"Quicksand"; font-size:80%; text-align: center; }

.videoContainer {
	padding-top: 15px;
	padding-left: 15px;
	max-height: 400px;
	width: 400px;
	max-width: 100%;
}

.videoContainer video {
	background-color: #000;
	max-width: 100%;
	max-height: 100%;
}

/*** lien *****************************************/

.btn_suite {
	display : inline-block; 
	text-transform : uppercase;	
	font-weight: 300;
	padding : 5px 10px;
	background : var(--jaune);
	color : var(--bleu-fonce) !important;
	box-shadow: 0px 2px 10px rgb(0 0 0 / 30%);
}

	.btn_suite_gris {		
		background : grey;
		color : #fff;
	}

	.btn_retour {
		position: fixed;
		right: 40px;
		bottom: 40px;
	}
	

/*** actualites  *****************************************/

	.imgActu {
		display : block;
		height : 150px;
		overflow : hidden;
		position : relative;
	}	

		.imgActu img {
			max-height : 100%;
			margin : 0 auto;	
			position : absolute; 
			top : 50%; 
			left : 50%; 
			transform : translate(-50%,-50%);
		}
		
		
			.imgActu span{
				position : absolute; 
				top : 50%; 
				left : 50%; 
				transform : translate(-50%,-50%);
				text-transform : uppercase; 
				color : rgba(146,143,143,0.5);
				font-weight : 300;
				text-align : center;
				font-size : 95%;
			}
			
			.imgActu span::before{
				content : '\f030';
				font-family : "Font Awesome 5 Free"; 
				font-weight: bold;
				display : block;
				font-size : 200%;
				color : rgba(146,143,143,0.5);
			}

		.video-responsive {
			overflow:hidden;
			padding-bottom:56.25%;
			position:relative;
			height:0;
		}

		.video-responsive iframe {
			left:0;
			top:0;
			height:100%;
			width:100%;
			position:absolute;
		}

/*** icone  *****************************************/


	.ico::before{
		font-family : 'Font Awesome 5 Free'; 
		font-size : 120%; 
		padding-right : 5px; 
	}
	
	 p.ico span{overflow : hidden; display : inline;}
	 p.ico::before{display : inline;}
	
	.ico-eye::before { content : "\f06e"; font-weight : bold;}
	.ico-map::before { content : "\f3c5"; font-weight : bold;}
	.ico-map-marker::before { content : "\f041"; font-weight : bold;}
	.ico-mobile::before { content : "\f3cd"; font-weight : bold;}
	.ico-phone::before { content : "\f095"; font-weight : bold;}
	.ico-web::before { content : "\f0ac"; font-weight : bold;}
	.ico-mail::before { content : "\f0e0"; font-weight : bold;}
	.ico-recherche::before { content : "\f002"; font-weight : bold;}
	.ico-compte::before { content : "\f2bd"; font-weight : bold;}
	.ico-pdf::before { content : "\f1c1"; font-weight : bold;}
	.ico-print::before { content : "\f02f"; font-weight : bold;}
	.ico-streetview::before {content : "\f21d"; font-weight : bold;}
	.ico-nav::before {content : "\f0c9"; font-weight : bold;}
	.ico-clock::before {content : "\f017"; font-weight : bold;}
	.ico-star::before {content : "\f005"; font-weight : bold; }
	.ico-laptop::before {content : "\f109"; font-weight : bold; }
	.ico-store::before {content : "\f54e"; font-weight : bold; }
	.ico-exchange::before {content : "\f362"; font-weight : bold; }
	.ico-desktop::before {content : "\f108"; font-weight : bold; }

/* magnific popup */
.mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:rgba(0,0,0);opacity:0.5;filter:alpha(opacity=80)}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden;}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-ajax-holder .mfp-content,.mfp-inline-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-arrow,.mfp-close,.mfp-counter,.mfp-preloader{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none!important}.mfp-preloader{color:#ccc;position:absolute;top:50%;width:auto;text-align:center;margin-top:-.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#ccc}.mfp-preloader a:hover{color:#fff}.mfp-s-error .mfp-content,.mfp-s-ready .mfp-preloader{display:none}button.mfp-arrow,button.mfp-close{overflow:visible;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;appearance:none;display:block;outline:0;padding:0;z-index:1046;-webkit-box-shadow:none;box-shadow:none}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;filter:alpha(opacity=65);padding:0 0 18px 10px;color:#fff;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:focus,.mfp-close:hover{opacity:1;filter:alpha(opacity=100)}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333; display: none;}.mfp-iframe-holder .mfp-close,.mfp-image-holder .mfp-close{color:#fff;right:-10px;text-align:right;padding-right:0;width:100%;transform:translate(0,-50%);}.mfp-counter{position:absolute;top:0;right:0;color:#ccc;font-size:12px;line-height:18px}.mfp-arrow{position:absolute;opacity:.65;filter:alpha(opacity=65);margin:-55px 0 0;top:50%;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:focus,.mfp-arrow:hover{opacity:1;filter:alpha(opacity=100)}.mfp-arrow .mfp-a,.mfp-arrow .mfp-b,.mfp-arrow:after,.mfp-arrow:before{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:inset transparent}.mfp-arrow .mfp-a,.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow .mfp-b,.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left .mfp-a,.mfp-arrow-left:after{border-right:17px solid #fff;margin-left:31px}.mfp-arrow-left .mfp-b,.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right .mfp-a,.mfp-arrow-right:after{border-left:17px solid #fff;margin-left:39px}.mfp-arrow-right .mfp-b,.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:20px 0;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0;transform-origin:0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}.mfp-ie7 .mfp-img{padding:0}.mfp-ie7 .mfp-bottom-bar{width:600px;left:50%;margin-left:-300px;margin-top:5px;padding-bottom:5px}.mfp-ie7 .mfp-container{padding:0}.mfp-ie7 .mfp-content{padding-top:44px}.mfp-ie7 .mfp-close{top:0;right:0;padding-top:0}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* ideally, transition speed should match zoom duration */
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
    opacity: 1;
}
.mfp-with-zoom.mfp-ready.mfp-bg {
    opacity: 0.79;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

/*! #######################################################################

	MeanMenu 2.0.7
	--------

	To be used with jquery.meanmenu.js by Chris Wharton (http://www.meanthemes.com/plugins/meanmenu/)

####################################################################### */

/* hide the link until viewport size is reached */
a.meanmenu-reveal {
	display: none;
}

/* when under viewport size, .mean-container is added to body */
.mean-container .mean-bar {
	float: left;
	width: 100%; 
	position: fixed;
	background: transparent;
	/*padding: 4px 0;*/
	/*min-height: 42px;*/
	z-index: 1000;
}

.mean-container a.meanmenu-reveal {
	padding : 13px 10px 6px;
	position: absolute;
	top: 0px;
	right: 0;
	cursor: pointer;
	color: var(--bleu-fonce);
	text-decoration: none;
	font-size: 60%;
	text-transform : uppercase;
	display: block;
	font-weight: 300;
	background : #fff;
	z-index: 800;
	text-align : center;
}

a.meanmenu-reveal::before {
	content : "\f0c9"; 
	font-family : "Font Awesome 5 Free"; 
	font-weight : bold;
	text-align : center;
	padding-right : 5px;
	font-size : 250%; 
}

.mean-container a.meanclose {
	top : 0px;

}
.mean-container a.meanclose::before { display : none;}

.mean-container a.meanmenu-reveal span {
	background : pink;
	position : relative;
	top : -5px;
}


.mean-container .mean-nav {
	float: left;
	width: 100%;
	background: #fff;
}

.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
	height: 100vh;
}

.mean-container .mean-nav ul li {
	position: relative;
	float: left;
	width: 100%;
}

.mean-container .mean-nav ul li a {
	display: block;
	float: left;
	width: 100%;
	box-sizing : border-box; 
	padding: 1em 5%;
	margin: 0;
	text-align: center;
	color: #000;
	border-top: 1px solid #383838;
	border-top: 1px solid rgba(255,255,255,0.5);
	text-decoration: none;
	text-transform: uppercase;
}
.mean-container .mean-nav ul li a::after { content: ''; }

.mean-container .mean-nav ul li li a {
	width: 80%;
	padding: 1em 10%;
	border-top: 1px solid #f1f1f1;
	border-top: 1px solid rgba(255,255,255,0.25);
	opacity: 0.75;
	filter: alpha(opacity=75);
	text-shadow: none !important;
	visibility: visible;
}

.mean-container .mean-nav ul li.mean-last a {
	border-bottom: none;
	margin-bottom: 0;
}

.mean-container .mean-nav ul li li li a {
	width: 70%;
	padding: 1em 15%;
}

.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}

.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}

.mean-container .mean-nav ul li a:hover {
	background: #252525;
	background: rgba(255,255,255,0.1);
}

.mean-container .mean-nav ul li a.mean-expand {
	margin-top: 1px;
	width: 26px;
	height: 32px;
	padding: 12px !important;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	font-weight: 700;
	background: rgba(255,255,255,0.1);
	border: none !important;
	border-left: 1px solid rgba(255,255,255,0.4) !important;
	border-bottom: 1px solid rgba(255,255,255,0.2) !important;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
	background: rgba(0,0,0,0.9);
}

.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}

.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

/* popup gestion cookies */

body.cn-rgpd-overlay {overflow: hidden; height: 100vh;}

.cn-rgpd {
	display: block;
	position: absolute;
	width: 100%;
	height: 100vh;
	z-index: 99999;
	top : 0;
	left: 0;
	background : rgba(0,0,0,.5);
	
}

.cn-rgpd-content {
   display: block;
   position: absolute;
   max-width: 500px;
   min-width: 320px;
   height: auto;
   z-index: 100000;
   font-size: 16px;
   line-height: 18px;
   top : 50%;
   left: 50%;
   padding : 20px; 
   color: #000;
   background : #fff;
   transform : translate(-50%,-50%);
}

.cn-rgpd strong {font-size : 30px; display : block; padding-bottom : 20px;}

.cn-rgpd p {padding-bottom : 20px;}
.cn-rgpd a.btnDenyCookies {
	text-decoration: underline; 
	padding-bottom : 10px;	
	display: block;
	color : #8c8c8c!important;
  text-align: center;
}
.cn-rgpd a.btnAcceptCookies,
.cn-rgpd a.btnDetailsCookies { 
  display: block;
  width : 100%;
  margin-bottom : 10px;
  color: #fff; 
  text-align: center;
  padding: 5px 10px;
  text-decoration: none;
  outline: none;
}
.cn-rgpd a.btnAcceptCookies {
  background : #000;
  color : #fff!important; 
}

.cn-rgpd a.btnDetailsCookies {
  border : 1px solid;
  color : #000!important; 
}


/*********************** responsive  ***************************************/

@media all and (max-width: 1600px) {

	.page_slider { max-width: 800px; }
	.page_tirages { max-width: 1200px; }
	/*#tirages #TP_CART .tp_pic { width: 33%!important; left: auto !important;}*/

	.cestLaClasse::before { content: url('/style/accueil/gauche.jpg'); right: 50%; transform: translateX(-420px); }
	.cestLaClasse::after { content: url('/style/accueil/droite.jpg'); left: 50%; transform: translateX(420px); }

}

@media all and (max-width: 1400px) {

	.w33-1400 { width: 33%; }

}


@media all and (max-width: 1200px) {

	.w100-1200 { width: 100%; }
	.w50-1200 { width: 50%; }

	.auto-1200 { margin: auto; }

	.pbio-1200 { padding: 60px 40px 30px; }

	.page_tirages { max-width: 770px; }

	.bg_bio {
		background-image: none;
		flex-direction: column;
		padding: 0;
		min-height: 0;
		aspect-ratio: auto;
	}
	.bg_bio_mobile {
		display: block;
		aspect-ratio: 16/9;
		width: 100%;
		min-height: 0;
	}
	.bg_bio_mobile.bg_bio5,
	.bg_bio_mobile.bg_bio8 { background-position: left; }

	.bg_bio7 { background-color: #f9a61c; }

	.cr-1200 { flex-direction: column-reverse; }

	#bio .section_first { padding-top: 110px; }

}


@media all and (max-width: 1000px) {

	.w50-1000 { width: 50%; }
	
	.cn-rgpd a.btnAccept, .cn-rgpd a.btnDeny {
		position : relative;
		top : inherit;
		display : block;
		right : inherit;
		margin : 10px auto 0 auto;
		max-width : 200px;
		transform : translateY(0);
	}
}


@media all and (max-width: 900px) {

	.w100-900 { width: 100%; }
	.cestLaClasse::before, .cestLaClasse::after { display: none; }

}


@media all and (max-width: 800px) {

	header.header-fix {
		box-shadow: 0px 1px 8px rgba(0,0,0,0.3);
	}

	header.header-fix .header_titre { font-size: 200%; }

	.w100-800 { width: 100%; }

	nav li::after { display: none; }

	.section_portfolio { padding-top: 150px; }
	.section_first { padding-top: 115px; }

	.padding_portfolio { padding: 0px 40px; }

}


@media all and (max-width: 770px) {

	.page_tirages { max-width: 380px; }

}



@media all and (max-width: 620px) {
	
	.videoContainer { padding-right: 15px; }

	#checkPass h1 { font-size: 150%; line-height: 1.5; }

	#TP_CARTTAB { width: 100% !important; }

	.lg-sub-html { padding: 10px 40px !important; }

	.bg_bio_mobile {
		aspect-ratio: 4/3;
	}

	.padding_portfolio { padding: 0px 20px; }
	
	.w100-620 { width: 100%; }

	.page {padding : 0;}

	.col1-2, .col1-3, .col2-3, .col1-4  , .col3-4  {float : none; width : 100%; }
	
	.flex1-2, .flex1-3, .flex2-3, .flex1-4  , .flex3-4  {width : 100%;}
	
}

