/***** top page *****/
.top_page 							{ position: relative; padding: 160px 0 0; background: #07306f;}
.top_page .content                  { position: relative;}
.top_page .parallax                 {  position: absolute; right: -150px; top: calc(100% - 65px);}
.top_page .img                      { position: absolute; inset: 0; background: url(../images/banner_page.webp) center / cover no-repeat; opacity: 0.7;}
.top_page .content .wrapper         { padding: 40px 0 95px;}
.top_page .sous_titre               { margin: 0 0 10px; color: #fff;}
.top_page .chapo                    { color: #fff;}
.top_page p                         { color: #fff; margin-top: 20px;}
@media (max-width:1200px) { 
.top_page 							{ padding:80px 0 0;}
}
@media (max-width:1000px) { 
.top_page                           { padding: 0;}
.top_page .content .wrapper         { display: block; padding: 40px 0;}
.top_page .content img              { display: none;}
}
@media (max-width:600px) { 
.breadcrumb 						{ display: none}
.top_page .titre_main               { font-size: 25px; line-height: 30px;}
.top_page							{ margin-bottom: 50px;}
.top_page .chapo 					{ font-size:12px;}
}


/***** breadcrumb *****/
.breadcrumb							{ line-height: 0; position: relative; padding:30px 0 50px;}
.breadcrumb a                       { color: #fff;}
.breadcrumb a.active                { color: #fff;}
.breadcrumb li 						{ display: inline-block; font-size: 12px; line-height: 20px; letter-spacing: 0.2px; margin-right: 30px; position: relative;}
.breadcrumb li:after				{ width: 1px; height: 9px; position: absolute; right: -16px; top: 5px; background: #fff; content: "";}
.breadcrumb li:last-child:after 	{ display: none;}

@media (min-width:1201px) {
.breadcrumb li a:hover				{ color:#ef6f18;}
}
@media (max-width:1200px) { 
.breadcrumb							{ display: none;}
}

/***** page content *****/
.page_content 								{ position: relative;}
.page_content p								{ margin-bottom: 15px;}
.page_content .ul_list a, 
.page_content p a							{ border-bottom: 1px solid #20252b; padding-bottom: 2px;}
.page_content .ul_list						{ margin-bottom: 15px; padding: 5px 0 0 0;}
.page_content .ul_list li					{ padding: 5px 0 5px 35px; position: relative; line-height: 30px; background: url(../images/list.svg) no-repeat left top 15px;}

@media (min-width:1201px) {
.page_content .ul_list a:hover,
.page_content p a:hover						{ border-color: #ef6f18; color: #ef6f18;}
}
@media (max-width:1200px) {
.page_content 								{ padding-top: 20px;}
}
@media (max-width:1000px) {
.page_content 								{ padding-bottom: 0; padding-top: 80px;}
}
@media (max-width:600px) {
.page_content                               { padding-top: 90px;}
.page_content p								{ margin-bottom: 10px;}
.page_content .ul_list						{ margin-bottom: 10px;}
}


/***** bloc texte *****/
.bloc_texte							{ margin: 90px auto; position: relative;}
.bloc_texte.center                   { text-align: center;}
.bloc_texte.intro                   { margin: 100px auto;}
.bloc_texte :last-child				{ margin-bottom: 0;}
.bloc_texte img,
.bloc_texte video					{ width: 100%; height: auto; display: block;}

@media (max-width:1200px) { 
.bloc_texte.intro,
.bloc_texte							{ margin: 60px auto;}
}
@media (max-width:1000px) { 
.bloc_texte.intro,
.bloc_texte							{ margin: 50px auto;}
}
@media (max-width:600px) { 
.bloc_texte.intro,
.bloc_texte							{ margin: 30px 0;}
}

/***** table plus *****/
.table_plus 						{ position: relative; margin: 90px 0 110px; } 
.table_plus .sous_titre             { margin-bottom: 25px;}
.table_plus .item:not(:last-of-type){ border-bottom: none;}
.table_plus .hide 					{ padding: 40px; display: none;}
.table_plus .hide ul 				{ padding-left: 20px;}
.titre_plus 						{ position: relative; letter-spacing: 0.2px; cursor: pointer; padding: 15px 80px 15px 30px; background: #e9f2ff; color: #07306f; font-size: 14px; font-weight: 400; margin-bottom: 10px; transition: all 400ms ease-in-out; }
.titre_plus:before					{ width: 30px; height: 30px; background: url("../images/plus.svg") 50% no-repeat; position: absolute; right: 30px; top: 50%; margin-top: -15px; transition: all 400ms ease-in-out; content: "";}
.titre_plus.active 			        { background-color: #07306f; color: #fff;}
.titre_plus.active:before 			{ transform: rotate(135deg); filter: brightness(0) invert(1);}

@media (max-width:1000px) {
.table_plus .hide 					{ padding: 40px 0;}
}
@media (max-width:700px) {
.table_plus 						{ margin: 20px 0 50px;} 
.table_plus .sized					{ margin-bottom: 20px;} 
.table_plus .hide 					{ padding: 20px 0;}
.titre_plus 						{ font-size: 14px; line-height: 26px; padding: 16px 55px 16px 30px; }
.titre_plus:before					{ width: 24px; height: 24px; right: 15px; margin-top: -12px;}
}




/***** page plan *****/
#plan .top_page:before 				{ bottom: 0;}
#plan .top_page .texte				{ padding-bottom: 100px;}
#plan .top_page .sous_titre			{ margin: 0;}
#plan .page							{ padding-bottom: 0;}

@media (max-width: 1400px){
#plan .top_page .texte				{ padding-bottom: 80px;}
}
@media (max-width: 1200px){
#plan .top_page .texte				{ padding-bottom: 60px;}
}
@media (max-width: 600px){
#plan .top_page .texte				{ padding-bottom: 35px;}
}





#galerie .cat-galerie 						{ display: grid; grid-template-columns: repeat(3, 1fr); 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 .caption		{ position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0) 50%); display: grid; align-items: end; }
#galerie .cat-galerie .item a .caption .sous_titre { color: #fff; padding: 30px; font-size: 35px; width: 100%; background: url("../images/arrow_next_white.svg") calc(100% - 30px) 50% no-repeat; transition: all 300ms ease-in-out; }

@media (min-width:1201px) {
#galerie .cat-galerie .item a:hover .caption .sous_titre	{ color: #ef6f18; background-position: calc(100% - 60px) 50%;}
}
@media (max-width:1200px) {
#galerie .cat-galerie 						{ grid-template-columns:repeat(2,1fr); }
#galerie .cat-galerie .item a .caption .sous_titre { padding: 40px; font-size: 30px; background-position: calc(100% - 5vw) 50%;}
}
@media (max-width:700px) {
#galerie .cat-galerie 						{ grid-template-columns:1fr; }
#galerie .cat-galerie .item a .caption .sous_titre { padding: 30px; font-size: 25px; background-position: calc(100% - 7.5vw) 50%;}
}





/***** galerie *****/
#galerie .page_first .galerie_details	{ margin: 20px auto 60px; grid-template-columns: 1fr 1fr 1fr 1fr;}
#galerie .galerie_details				{ margin: 60px auto; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 20px; font-size: 0; line-height: 0; letter-spacing: 0;}
#galerie .galerie_details .item 		{ display: block; cursor: url(../images/loupe.svg), auto;}
#galerie .galerie_details .item:after	{ width: 100%; height: 100%; 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   {}
#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) {
}
@media (max-width:1000px) {
#galerie .page_first .galerie_details,
#galerie .galerie_details				{ grid-template-columns: 1fr 1fr;}
}
@media (max-width:700px) {
#galerie .page_first .galerie_details,
#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: #07306f; 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_white.svg") 54% 50% no-repeat #07306f; 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;}
} 




/***** actualites *****/
#blog .blog 							{ display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 60px 40px; margin: -20px auto;}
#blog .blog .item 						{ position: relative;}
#blog .blog .item a 					{ display: block; text-align: center;}
#blog .blog .item .photo 				{ position: relative; overflow: hidden;}
#blog .blog .item .photo img 			{ display: block; width: 100%; height: auto; transition: filter 400ms ease-in-out;}
#blog .blog .item .photo .date 			{ width: 105px; height: 35px; text-align: center; font-size: 12px; line-height: 35px; font-weight: 500; background: #fff; position: absolute; right: 0; bottom: 0; text-transform: uppercase; letter-spacing: 0.8px; z-index: 10;}

#blog .blog .item .sous_titre 			{ font: 400 16px/35px "Poppins"; padding: 12px 30px 14px 30px; letter-spacing: 0.8px; background-color: #07306f; color: #fff; display: grid; align-items: center; min-height: 70px; transition: background-color 400ms ease-in-out;}

#blog .bloc_grid .texte .link           { margin-right: 5px;}
#blog .bloc_grid .texte .link:last-child { margin-right: 0px;}

@media (min-width:1201px) {
#blog .blog .item a:hover .photo img	{ filter: brightness(0.65);}
#blog .blog .item a:hover .sous_titre 	{ background-color: #ef6f18 ;}
}
@media (max-width:1200px) {
#blog .blog 							{ grid-template-columns: 1fr 1fr; grid-gap: 20px;}
}
@media (max-width:1000px) {
#blog .blog 							{ margin: 0 auto;}
}
@media (max-width:700px) {
#blog .blog 							{ grid-template-columns: 1fr;}
#blog .blog .item .sous_titre 			{ padding: 15px 25px; min-height: inherit; font-size: 14px; line-height: 20px;}
}


#blog .article .photo img				{ margin: 40px auto 50px auto; max-width: 650px;}
#blog .article .chapo     				{ display: none;}
#blog .article .contenu  				{ margin: 50px 0;}
#blog .article .contenu .date			{ width: 130px; height: 45px; text-align: center; font-size: 14px; line-height: 42px; font-weight: 500; background: #07306f; color: #fff; text-transform: uppercase; letter-spacing: 0.8px; margin: 50px 0 30px;}
#blog .article .contenu h2              { font: 500 18px/30px "Poppins"; margin: 50px auto 20px; }
#blog .article .contenu h1,
#blog .article .contenu h3,
#blog .article .contenu h4,
#blog .article .contenu h5,
#blog .article .contenu h6 				{ font: 400 26px/36px "Poppins"; position: relative; color: #053435; margin-bottom: 15px; margin-top: 30px;}
#blog .article .contenu ul				{ margin-bottom: 15px;}
#blog .article .contenu ul li			{ padding: 5px 0 5px 20px; position: relative;}
#blog .article .contenu ul li:before	{ position: absolute; left: 0; top: 17px; width: 6px; height: 6px; background: #ffb600; content: "";}
#blog .article .contenu :last-child 	{ margin-bottom: 0;}

@media (max-width:1200px) {
#blog .article .titre_main				{ font-size: 20px; line-height: 28px; margin-bottom: 25px;}
#blog .article .photo img				{ margin: 40px 0;}
#blog .article .contenu  				{ margin: 40px 0;}
}
@media (max-width:1000px) {
#blog .article .photo img				{ margin: 30px 0;}
#blog .article .contenu  				{ margin: 30px 0;}
}
@media (max-width:700px) {
#blog .article .bloc_texte				{ margin-top: 35px;}
#blog .article .titre_main				{ font-size: 16px; line-height: 22px; margin-bottom: 20px;}
#blog .article .photo img				{ margin: 25px 0; }
#blog .article .contenu  				{ margin: 25px 0;}
#blog .article .contenu h1,
#blog .article .contenu h2,
#blog .article .contenu h3,
#blog .article .contenu h4,
#blog .article .contenu h5,
#blog .article .contenu h6 				{ font-size: 18px; line-height: 26px; margin: 20px 0 10px 0;}
#blog .article .contenu ul				{ margin-bottom: 10px;}
#blog .article .contenu ul li			{ padding-left: 18px;}
#blog .article .contenu ul li:before	{ top: 15px; width: 5px; height: 5px;}
}


#blog .link.blog_cat                    { cursor: pointer; min-width: 150px; margin-right: 12px; margin-bottom: 15px;}
#blog .link.blog_cat.active             { background-color: var(--green);}

@media (max-width:700px) {
#blog .onglets                          { display: grid;  grid-template-columns: 1fr; grid-gap: 10px; }
#blog .link.blog_cat                    { margin-right: 0; margin-bottom: 0;}
}

