
/***** breadcrumb *****/

.breadcrumb							{ line-height: 0;margin:0;padding: 0 0 85px;}
.breadcrumb li 						{ display: inline-block;font: 400 12px/32px "Montserrat"; letter-spacing: 0.2pxc; margin-right: 25px;position: relative;color: #ffffff;}
.breadcrumb li:after				{ width: 1px; height: 10px; content: ""; position: absolute; right: -15px; top: 10px; background: #20386e;}
.breadcrumb li:last-child:after 	{ display: none;}
.breadcrumb li a                    { color:#20386e;}
.breadcrumb li a.active             { color:#4585e5;}
.sous_titre                         { font-size: 18px; color: #4585e5;}
@media (min-width:1201px) {
.breadcrumb li a:hover				{ color: #4585e5;}
}
@media (max-width:1000px) { 
.breadcrumb                         { padding-bottom: 30px;}
}
@media (max-width:600px) { 
.breadcrumb							{ display: none;}
.sous_titre                         { font-size: 15px; margin-bottom: 10px; line-height: 24px;}
}
/***** top page *****/
.top_page        					{ position: relative; margin: 220px 0 100px; display: grid; grid-template-columns: auto 360px; gap: 90px;}
.top_page.bl                        { display:block}
.top_page .titre_main 		        { font-size: 25px; margin-bottom: 0; line-height: 35px;}
.top_page .titre_main span          { display: inline-block; font-size: 25px;line-height: 35px;}
@media (max-width:1200px) { 
.top_page                           { margin: 150px 0 100px;}
}
@media (max-width:1000px) { 
.top_page                           { grid-template-columns: auto; gap: 50px; margin: 130px 0 0; }
}
@media (max-width:600px) { 
.top_page                           { margin-top:40px; gap: 25px;}
.top_page .chapo			        { padding: 0; margin: 0; font-size: 12px; line-height: 30px;}
.top_page .titre_main,
.top_page .titre_main span   	    { font-size: 20px; line-height: 30px; margin-bottom: 5px;}
}
/***** page content *****/
.page_content						{ position: relative;}
.page_content .ul_list a, 
.page_content p a,
.hide a                     { color: #4585e5; border-bottom: 1px solid transparent;padding-bottom: 5px;}
.ul_list							{ margin: -5px 0 20px 0;}
.ul_list li							{ padding: 5px 0 5px 22px; position: relative;background: url(../images/list.svg) left 14px no-repeat ;}
@media (min-width:1201px) {
.page_content .ul_list a:hover, 
.page_content p a:hover	,
.hide a:hover               { border-color: #4585e5;}
}
@media (max-width:600px) { 
.page_content	                    { padding: 90px 0 0; }
}
/***** bloc texte *****/
.bloc_texte							{ margin: 70px 0 100px; position: relative;}
.bloc_texte img                     { width: 100%; height: auto; display: block; line-height: 0;}
.bloc_texte p                       { margin-bottom:24px}
@media (max-width:1000px) { 
.bloc_texte							{ margin: 50px 0;}
}
@media (max-width:600px) {
.bloc_texte							{ margin: 40px 0;}
}
.formulaire                         { background: #edf1fb; position: relative; display: grid; place-items: center; padding: 100px 40px 40px; margin-top: 65px; font-size: 18px; text-align: center;}
.formulaire .icone                  { top: -75px; position: absolute;}
.formulaire .link                   { margin-top: 20px;}
.bandeau                            { background: #edf1fb; padding: 85px 130px 60px; display: grid;place-items: center; text-align: center; position: relative; font-size: 18px; line-height: 25px; font-style: italic; margin: 130px 0 100px;}
.bandeau .icone                     { display: grid; place-items: center; background: #ffffff; border-radius: 50%; width:80px; height: 80px; position: absolute; top: -40px;}      
.devis                              { padding: 45px 50px; margin: 100px 0 85px;} 
.devis p a                          { padding: 0;}
@media (max-width:1000px) {
.bandeau                            { margin:90px 0 0 ; padding: 75px 30px 40px;}
.devis                              { margin: 50px 0;}
}      
@media (max-width:600px) {
.formulaire                         { font-size: 15px; padding-top: 80px;}
.formulaire .icone                  { top: -60px;}
.formulaire .icone  img             { width: 120px; height: 120px;}
.devis                              { margin: 50px -10vw; padding:22px 0;}
.devis p                            { max-width: 290px; margin: auto;}
.bandeau                            { font-size: 15px; margin-top: 60px;}
}      

.table_plus                          { margin: 25px 0 0 ;}
.table_plus .item                    { position: relative;}
.table_plus .item .titre_plus        { cursor:pointer; font: 400 14px/26px "Montserrat";background:#edf1fb;padding: 17px 60px 17px 30px;position: relative; margin-bottom: 20px;}
.table_plus .item .titre_plus::after { cursor: pointer; content: ""; background: url(../images/plus.svg) no-repeat;position: absolute;top: 50%;right: 30px; width: 20px;height:20px; transform: translateY(-50%); transition: all ease-in-out 400ms;}
.table_plus .hide 					{ padding: 20px 60px 50px; display: none;}              
.table_plus .item .active::after    { transform:translateY(-50%) rotate(45deg);}
@media (max-width:600px) {
.table_plus                          { margin-bottom: 50px;}
.table_plus .item .titre_plus        { font-size: 12px; margin-bottom: 10px;}
.table_plus .hide 					 { padding: 20px 30px 30px;}   
}



#galerie .cat-galerie 						{ display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; margin-top: 60px; grid-gap: 30px;}
#galerie .cat-galerie .item a img 			{ width: 100%; height: auto; display:block;}
#galerie .cat-galerie .item a 				{ position: relative;}
#galerie .cat-galerie .item a .cadre 		{ background: #4585e5; outline: none; position: relative; padding: 16px 50px; overflow: hidden; color: #fff; transition: all 400ms ease-in-out;}

#galerie .cat-galerie.detail a 				{ display: block;}
#galerie .cat-galerie.detail a:after			{ width: 100%; height: 100%; position: absolute; left: 0; top: 0; background:url("../images/loupe.svg") 50% 60% no-repeat #00000075; opacity: 0; content: "";}

#galerie .cat-galerie .item a .cadre:before  { content: "Voir la galerie"; position: absolute; left: 0; width: 100%; text-transform: uppercase; letter-spacing: 1px; opacity: 0; transition: all .5s ease-in-out;}

#galerie .cat-galerie .item a .cadre div     { letter-spacing: 1px; transition: all .5s ease-in-out; }

@media (min-width:1201px) {
#galerie .cat-galerie.detail a:hover:after	{ opacity: 1;}
#galerie .cat-galerie .item a:hover .cadre	{ background: #20386E ; color: #fff;}
#galerie .cat-galerie .item a:hover .cadre:before {opacity: 1; transform: translate(0,0);}
#galerie .cat-galerie .item a:hover .cadre div {opacity: 0;}
}

@media (max-width:1200px) {
#galerie .cat-galerie 						{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
#galerie .cat-galerie 						{ grid-template-columns:1fr; }
}




/***** galerie *****/
#galerie .galerie_details				{ margin: 60px auto; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 20px; font-size: 0; line-height: 0; letter-spacing: 0;}
#galerie .galerie_details .item 		{ display: block; margin-bottom: 20px;}
#galerie .galerie_details .item:after	{ width: 100%; height: 100%; background: url("../images/search.svg") 50% no-repeat; opacity: 0; position: absolute; left: 0; top: 0; content: "";}
#galerie .galerie_details img			{ width: 100%; height: auto; display: block; transition: all 300ms ease-in-out;}

@media (min-width:1201px) {
#galerie .galerie_details .item:hover:after	{ opacity: 1;}
#galerie .galerie_details .item:hover img    { filter: brightness(0.4);}
}
@media (max-width:1400px) {
#galerie .galerie_details 				{ padding: 0;}
}
@media (max-width:1200px) {
#galerie .galerie_details .item 		{ margin-bottom: 10px;}
}
@media (max-width:1000px) {
#galerie .galerie_details				{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:1000px) {
#galerie .galerie_details				{ grid-template-columns: 1fr; grid-gap: 10px;}
}



/***** custom fancybox *****/
.fancybox-bg						{ background: #fff;}
.fancybox-is-open .fancybox-bg		{ opacity: 1;}
.fancybox-button                    { background: none; color: #fff; font: 400 14px/60px "Poppins"; letter-spacing: 0.8px;}
.fancybox-infobar__body 			{ background: none; color: #000; font: 400 14px/60px "Poppins"; letter-spacing: 0.8px;}
.fancybox-infobar 					{ display: none;}
.fancybox-toolbar 					{ top: 30px; right: 30px; opacity: 1!important;}
.fancybox-show-nav .fancybox-arrow 	{ opacity: 1; transition: all 400ms ease-in-out;}
.fancybox-button--close 			{ width: 55px; height: 55px; background: #20386E ; transition: all 400ms ease-in-out;}
.fancybox-button--close:before		{ width: 25px; height: 1px; left: calc(50% - 13px); top: calc(50% - 1px); background: #fff;}
.fancybox-button--close:after		{ width: 25px; height: 1px; left: calc(50% - 13px); top: calc(50% - 1px); background: #fff;}
.fancybox-arrow 					{ width: 60px; height: 80px; background: url("../images/arrow_next.svg") 54% 50% no-repeat transparent; margin-top: -40px;}
.fancybox-arrow:after				{ display: none;}
.fancybox-arrow--right 				{ right: 30px;}
.fancybox-arrow--left 				{ left: 30px;}

@media (min-width:1201px) { 
.fancybox-button:hover:not([disabled])  { background: #000;} 
.fancybox-arrow:hover:not([disabled])   { opacity: 0.5;}
}
@media (max-width:1200px) { 
.fancybox-arrow			 			{ border: none;}
}
@media (max-width:600px) { 
.fancybox-button,
.fancybox-infobar__body 			{ line-height: 40px;}
.fancybox-toolbar 					{ top: 0; right: 0;}
.fancybox-button--close 			{ width: 45px; height: 45px;}
.fancybox-button--close:before		{ width: 21px; left: calc(50% - 11px);}
.fancybox-button--close:after		{ width: 21px; left: calc(50% - 11px);}
.fancybox-arrow 					{ width: 40px; height: 50px; margin-top: -25px; background-size: 25% auto;}
.fancybox-arrow--right 				{ right: 0;}
.fancybox-arrow--left 				{ left: 0;}
} 