/***** top_page *****/
.top_page               { position: relative; padding-top: 200px; padding-bottom: 80px; overflow: hidden;}
.top_page .content      { width: 90vw; max-width: var(--maxWidthWrapper); margin: 0 auto; position: relative;}
.top_page:before        { position: absolute; left: 0; right :50%; bottom: 0; top:-1200px; transform: translateX(-50%); background:var(--bgColorLight); z-index: -1; transition: none; content: ""; border-radius:50%; width: 1600px; height: 1600px}
.titre_main             { font: 600 35px/38px "Montserrat"; margin-bottom: 30px; }
.top_page .titre_main   { font: 600 45px/48px "Montserrat"; margin-bottom: 30px; }

.chapo                  { font: 500 22px/40px "Montserrat"; margin-bottom: 0;}
.page_content           { overflow: hidden;}


@media (max-width:1200px) { 
.top_page                { padding-top: 160px; padding-bottom: 40px;}    
}

@media (max-width:1000px) { 
.titre_main             { font: 600 30px/34px "Montserrat"; }    
.top_page .titre_main   { font: 600 40px/44px "Montserrat"; } 
.chapo                  { font: 500 20px/38px "Montserrat"; }   
}

@media (max-width:600px) { 
.titre_main             { font: 600 25px/28px "Montserrat"; }    
.top_page .titre_main   { font: 600 30px/34px "Montserrat"; } 
.chapo                  { font: 500 18px/36px "Montserrat"; }   
}

/***** breadcrumb *****/
.breadcrumb							{ line-height: 0; position: relative; margin-top: 20px; margin-bottom: 30px; background: #ffffff; border-radius: 3px; padding: 10px 20px; display: inline-block;}
.breadcrumb a                       { color: #111111;}
.breadcrumb a.active                { color: #6d6865;}
.breadcrumb li 						{ display: inline-block; font-size: 12px; line-height: 20px; letter-spacing: 0.4px; margin-right: 30px; position: relative;}
.breadcrumb li:after				{ width: 1px; height: 10px; position: absolute; right: -15px; top: 5px; background: #222222; content: "";}
.breadcrumb li:last-child:after 	{ display: none;}
.breadcrumb li:last-child        	{ margin-right: 0;}
.breadcrumb li:last-child a       	{ color: #6d6865;}

@media (min-width:1201px) {
.breadcrumb li a:hover				{ color:#6d6865;}
}
@media (max-width:1200px) {
.breadcrumb li                      { margin-right: 30px;}
.breadcrumb li::after               { right: -15px;}
}
@media (max-width:1000px) { 
.breadcrumb							{ display: none;}
}



/***** bloc grid *****/
.bloc-grid                              { width: 90vw; max-width: var(--maxWidthWrapper); margin: var(--marginTB); display: grid; grid-template-columns: repeat(2, 1fr); align-items: center; grid-gap: 40px 80px; position: relative;}
.bloc-grid.full                         { width: 90vw; max-width: var(--maxWidthWrapperLarge); }
.bloc-grid.full .texte                  { padding-right: 100px; padding-left: 0;}
.bloc-grid.full .photo img              { width: 100%; height: auto; border-radius: var(--imgRadius);}
.bloc-grid.reverse .texte               { order: 1; padding-left: 100px; padding-right: 0;}
.bloc-grid.reverse .photo               { order: 2;}
.bloc-grid .texte :last-child           { margin-bottom: 0;}

.bloc-services                          { width: 90vw; max-width: var(--maxWidthWrapper); margin: var(--marginTB); display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; grid-gap: 80px 80px; position: relative;}
.bloc-services:before                   { position: absolute; width: 100%; left: -50vw; width: 200vw; bottom: 10%; top: 10%; background: var(--bgColorLight); z-index: -1; transition: none; content: "";}
.bloc-services.full                     { width: 90vw; max-width: var(--maxWidthWrapperLarge); }
.bloc-services .item                    { border-radius: var(--imgRadius); overflow: hidden; background: #ffffff; box-shadow: 0px 0px 15px -3px rgba(0,0,0,0.1); line-height: 0;}
.bloc-services .item img                { width: 100%; height: auto; object-fit: cover;}
.bloc-services .item .texte             { padding: 40px; line-height: 30px;}
.bloc-services .item .texte :last-child { margin-bottom: 0;}
.bloc-services h2.sous_titre            { margin-bottom: 30px;}
.bloc-services h2.sous_titre:after      { position: absolute; left: 0; top: 100%; margin-top: 8px; width: 50px; height: 3px; background: var(--mainColor4); content: "";}

.bloc-services.col-3                    { grid-template-columns: repeat(3, 1fr)}

.bloc-info { width: 90vw; max-width: var(--maxWidthWrapper); margin: var(--marginTB); display: block;  background: var(--mainColor2); color: #06001B; font: 400 22px / 30px "Outfit"; padding: 60px; text-align: center;}

.bloc-texte { width: 90vw; max-width: var(--maxWidthWrapper); margin: var(--marginTB); display: block; } 
.bloc-texte.small p { max-width: 60%;}


.bloc-grid:before           { position: absolute; left: -100%; right: 60%; top: -10%; bottom: -10%; background:var(--bgColorLight); border-radius:  var(--imgRadius); visibility: visible; content: ""; z-index: -1; }
.bloc-grid.reverse:before   { right: -100%; left: 60%;}


@media (max-width:1366px) {
.bloc-grid                              { align-items: start;}
.bloc-grid:before                       { content: none;}
.bloc-services                          { grid-gap: 40px 40px;}
}

@media (max-width:1200px) {
.bloc-grid                              { grid-gap: 40px 40px;}
.bloc-grid.full .texte,
.bloc-grid.reverse .texte               { padding-right: 0; padding-left: 0;}
.bloc-info                              { font: 400 18px / 26px "Outfit";}
.bloc-services.col-3                    { grid-template-columns: 1fr;}
}
@media (max-width:1000px) {
.bloc-grid,
.bloc-services                          { grid-template-columns:1fr; }   
.bloc-grid.reverse .texte               { order: 2;}
.bloc-grid.reverse .photo               { order: 1;} 
.bloc-grid.first .texte                 { order: 1;}
.bloc-grid.first .photo                 { order: 2;} 
.bloc-grid.full .photo img,
.bloc-services .item img                { height: 50vw; object-fit: cover;}
}


/***** slider services v1 *****/
.slider_services  										{ position: relative; }
.slider_services .small                                 { max-width: 50%;}
.slider_services:before	 						        { position: absolute; width: 100%; right :0; bottom: -60px; top:40%; background:var(--bgColorLight); z-index: -1; transition: none; content: ""; border-radius:0;}
.slider_services .slider_wrap  							{ position: relative; text-align: right;}
.slider_services .slider  								{ margin: 25px -30px 25px 0; position: relative;}
.slider_services .slider .slick-list 					{ padding-bottom: 40px;}
.slider_services .slider .slick-slide 					{ margin-right: 30px; opacity: 0; visibility: hidden; transition-duration: 500ms;}
.slider_services .slider .slick-slide .blc				{ opacity: 0; visibility: hidden; transition-duration: 500ms;}
.slider_services .slider .slick-active .blc 			{ opacity: 1; visibility: visible;}
.slider_services .slider .slick-active  			    { opacity: 1; visibility: visible;}
.slider_services .slider_nav 							{ position: absolute; right: 0; top: -70px;}

@media (max-width:1000px) {
.slider_services .small                                 { max-width: 70%;}    
}

@media (max-width:700px) {
.slider_services .slider_nav 							{ top: -60px;}
.slider_services .slider .slick-slide .blc				{ opacity: 1;}
}

@media (max-width:500px) {
.slider_services .small                                 { max-width: 75%; margin-bottom: 70px;}    
}


/***** card item : img + txt */

.card_item_v1								{ overflow: hidden; position: relative; text-align: left}
.card_item_v1 .wrap							{ padding: 40px; background: #fff; border-radius:  0 0 20px 20px}
.card_item_v1 img 							{ display: block; margin: 0; width: 50px; height: 50px}
.card_item_v1 img:not(.icon)				{ width: 100%; height: auto; aspect-ratio: 5/3; object-fit: cover; margin-bottom: -15px; border-radius: 20px 20px 0 0}
.card_item_v1 .sous_titre 					{ margin: 20px 0 10px 0;}
.card_item_v1 .sous_titre:before			{ position: absolute; left: 0; top: 100%; margin-top: 8px; width: 50px; height: 3px; background: var(--mainColor4); content: "";}
.card_item_v1 p								{ margin: 20px 0;}
.card_item_v1 .link.fullw 					{ width: 100%; padding: 0;}
.card_item_v1 .link							{ width: 100%; text-align: center;}


@media (max-width:1200px) {
.card_item_v1 .wrap							{ padding: 30px;}
}
@media (max-width:700px) {
.card_item_v1 .wrap							{ padding: 30px; border-radius:  0 0 10px 10px}
.card_item_v1 img:not(.icon)				{ border-radius: 10px 10px 0 0}

}


/***** moving img *****/
.moving_img									{ position: relative; overflow: hidden; padding: 20px 0;}
.moving_img .row 							{ width: auto; display: flex;}
.moving_img .row .grid 						{ width: auto; display: flex; animation: moving_img 80s linear infinite;}
.moving_img .row .grid div 					{ padding: 0 10px;}
.moving_img .row .grid img 					{ width: auto; height: 450px; display: block; object-fit: cover; transition: all 300ms ease-in-out; border-radius: var(--imgRadius)}
.moving_img .link							{ display: block; margin: 50px auto; width: fit-content; }

@keyframes moving_img {
0%											{ transform: translate(0, 0);}
100% 										{ transform: translate(-100%, 0);}
}

@media (max-width:1600px) {
.moving_img .row .grid div 					{ padding: 0 15px;}
.moving_img .row .grid img 					{ height: 420px;}
}
@media (max-width:1400px) {
.moving_img .row .grid img 					{ height: 400px;}
}
@media (max-width:1200px) {
.moving_img									{ margin-top: 40px;}
.moving_img .row .grid div 					{ padding: 0 10px;}
.moving_img .row .grid img 					{ height: 380px;}
}
@media (max-width:1000px) {

.moving_img .row .grid img 					{ height: 350px;}
}
@media (max-width:700px) {
.moving_img .row .grid div 					{ padding: 0 7px;}
.moving_img .row .grid img 					{ height: 60vw; max-height: 350px;}
	
}