/***** fonts et reset *****/
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Inria+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

:root {
    --main-color: #0a495b;
    --second-color: #4cb9bf;
    --third-color: #ddf4f7;
    --fourth-color: #edfbfd;
    --bg-color: var(--fourth-color);
    --marginTB: clamp(20px, 10vw, 110px) auto;
    --cta-hover-color: var(--main-color);
    --title-font-family: "Inria Sans", serif;
    --font-family: "Barlow", sans-serif;
    --text-color: var(--main-color);
    --border-radius: 20px;

    --header-height: 150px;
}
@media (max-width:1200px) {
:root                               { --header-height: 90px;}
}

body, ul, li, ol, form, h1, h2, h3, h4, h5, h6, div, span, p { padding:0; margin:0; border:0; -webkit-text-size-adjust: none; -moz-text-size-adjust: none; text-size-adjust: none;}
article, aside, dialog ,figcaption, figure, footer, header, hgroup, main, nav, section { display: block;}  
input, textarea						{ -webkit-appearance: none; -ms-appearance: none; appearance: none; -moz-appearance: none; -o-appearance: none; border-radius: 0;}
*          							{ outline: none;}
strong, b							{ font-weight: 600; font-size: 17px;}
ul									{ list-style-type: none;}
body								{ font: 400 16px/30px var(--font-family); line-height: 1.875; letter-spacing: .04em; color: var(--text-color); background: var(--bg-color); position: relative; padding-top: var(--header-height);}
body.active_overflow				{ height: 100vh; overflow: hidden;}
a									{ text-decoration: none; color: currentColor; position: relative;}
img									{ border: none;}
main 								{ position: relative;}
#wrapper 							{ min-width: 320px; overflow: hidden; position: relative;}
#wrapper *							{ box-sizing: border-box;}
#footer 							{ position: relative;}

@media (max-width:700px) {
body								{ font-size: 15px; line-height: 28px;}
}


/***** scollbar *****/
::-webkit-scrollbar 				{ width: 6px; height: 6px; background-color: #fff;}
::-webkit-scrollbar-thumb			{ background-color: var(--main-color);}


/***** transition *****/
@media (min-width:1201px) {
.link, .slick-arrow, :before, :after, a, a span, .logo, .header, .sub { transition: all 300ms ease-in-out;}
}


/***** class *****/
.wrapper 							{ width: 90vw; max-width: 1200px; margin: 0 auto; position: relative;}
.wrapper_large						{ max-width: 1600px;}
.clear								{ clear: both; display: block;}
.anchor								{ position: absolute; left: 0; top: -140px;}
.titre_main	 						{ font: 400 50px/1.2 var(--title-font-family); position: relative; margin-bottom: 10px;}
.sous_titre 						{ font: 400 30px/1.5 var(--title-font-family); position: relative; margin-bottom: 10px; color: var(--second-color);}
.mini_titre                         { font: 400 20px/2 var(--title-font-family); color: var(--second-color);}

.chapo		 						{ font: 400 16px/30px var(--font-family); margin-bottom: 25px;}

.link 								{ font: 600 16px/1.5 var(--font-family); letter-spacing: .035em; color: #FFF; display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 9px 2.125em; background: linear-gradient(to top, var(--second-color) 0% 50%, var(--cta-hover-color) 50% 100%); background-size: 100% 200%; background-position: 0 100%; text-transform: uppercase; min-width: min(100%, 180px); border-radius: 10px;}
.link.light							{ background: linear-gradient(to top, var(--second-color) 0% 50%, #fff 50% 100%); background-size: 100% 200%; background-position: 0 100%; }
.link_group                         { display: flex; flex-wrap: wrap; gap: 20px 10px; margin-top: 26px;}
.bloc_short 						{ max-width: 900px; margin: 0 auto; position: relative;}

.tel_icon                           { background: url("../images/tel_white.svg") 50% / contain no-repeat; width: 20px; height: 20px;}
.section_link                       { margin-top: 30px;}

@media (min-width:1201px) {
.link:hover 						{ background-position: 0 0;}
.link.light:hover					{ background-position: 0 0; color: var(--cta-hover-color) ;}
}
@media screen and (min-width: 1601px) {
.wrapper_large						{ width: 94vw;}
}
@media (max-width:1400px) {
.chapo	 						    { font-size: 16px; line-height: 26px;}
}
@media (max-width:1200px) {
.wrapper 							{ min-width: inherit;}
.titre_main	 						{ font-size: 34px;}
}
@media (max-width:1000px) {
.wrapper 							{ max-width: 750px;}
.titre_main	 						{ font-size: 26px; line-height: 36px;}
}
@media (max-width:700px) {
.wrapper 							{ width: 86vw;}
    
.titre_main	 						{ font-size: 25px; line-height: 35px;}
.sous_titre 						{ font-size: 20px; line-height: 25px; margin-bottom: 10px;}
    
.chapo		 						{ font-size: 15px; line-height: 25px; margin-bottom: 16px;}
.link 								{ min-height: 50px; font-size: 13px; padding: 0 20px; line-height: 48px; height: 50px; min-width: min(100%, 180px);}
.section_link                       { margin-top: 24px;}
}

@media (min-width: 701px) {
.hidden-sm-up                       { display: none !important;}
}
@media (max-width:700px) {
.hidden-sm-down                     { display: none !important;}
}

@media (min-width: 1001px) {
.hidden-md-up                       { display: none !important;}
}
@media (max-width:1000px) {
.hidden-md-down                     { display: none !important;}
}

@media (min-width: 1201px) {
.hidden-lg-up                       { display: none !important;}
}
@media (max-width:1200px) {
.hidden-lg-down                     { display: none !important;}
}

@media (min-width: width) {
.hidden-xl-up                       { display: none !important;}
}
@media (max-width:width) {
.hidden-xl-down                     { display: none !important;}
}



/***** header et menu *****/
.header 							{ width: 100%; font-size: 0; line-height: 0; letter-spacing: 0; position: fixed; left: 0; top: 0; z-index: 100; text-align: right; transition: all 400ms ease-in-out; background-color: var(--main-color);}
.header .wrapper                    { display: flex; align-items: center;}

.header .logo						{ width: 240px; z-index: 140; transition: all 400ms ease-in-out;}
.header .logo img					{ width: 100%; height: auto; display: block;}
.header_logo_wrapper                { display: flex; align-items: center; text-align: left; gap: 30px;}

.header .header_nav 				{ display: inline-block; position: relative;}
.header .menu					    { width: max-content;}
.header .menu>li					{ position: relative; display: inline-block; vertical-align: top; margin-right: 40px;}
.header .menu>li a					{ font: 600 15px/40px var(--font-family); height: 42px; display: block; letter-spacing: 0.6px; text-transform: uppercase;}
.header .menu>li.active>a			{ color: var(--second-color);}

.header .sub						{ width: 350px; position: absolute; top: calc(100% + 10px); left: 50%; display: block; visibility: hidden; opacity: 0; background: var(--second-color); box-shadow: 0 0 40px 0 rgba(0, 130, 201, 0.1); font-size: 14px; color: #FFF; border-radius: 20px; padding-block: 9px;}
.header .sub li						{ width: 100%; margin: 0; text-align: center;}
.header .sub li a					{ width: 100%; font-size: 14px; letter-spacing: 0.4px; line-height: 1.5; height: auto; font-weight: 400; text-transform: none; text-align: center; align-items: center; padding: 11px 30px;}
.header .sub li.active a			{ color: var(--text-color);}

.header .link 					    { min-width: max-content; font-size: 1rem;}

.header_right                       { display: flex; align-items: center; margin-left: auto; padding: 40px 0 40px 30px; row-gap: 20px; position: relative; transition: all 400ms ease-in-out; color: #FFF;}

.sticky .header						{ padding: 15px;}
.sticky .header .logo				{ width: 180px; top: 50%;}
.sticky .header_right               { padding-block: 0;}
.sticky .menu_small                 { transform: translateY(-200%);}

.menu_small 						{ position: absolute; right: 0; top: -10px; font: .9375rem / 1.2 var(--font-family); text-align: right; transition: all 400ms ease-in-out;}

.langue .active                     { color: var(--main-color); font-weight: 600;}

.header .order 						{ position: absolute; top: 0; right: 0; width: var(--order-btn-width); height: auto; padding: 14px 21px; text-align: center; line-height: 1.5; z-index: 250; display: flex; align-items: center; text-transform: uppercase; font-size: .75rem; font-weight: 800; letter-spacing: .05em;}
.header .order:after 				{ width: 30px; height: 11px; background: url("../images/arrow_white.svg") 50% 0 / contain no-repeat; content: ""; margin-left: 15px;}

@media (min-width:1201px) {
.menu_mobile 						{ display: none;}

.header                             { border-radius: 0 0 80px 80px;}
.header .sub                        { transform: translateX(-50%);}
.header .menu>li:hover .sub			{ opacity: 1; visibility: visible; z-index: 999;}
.header .sub li:hover>a             { color: var(--main-color);}
.header .sub:after                  { width: 10px; height: 10px; position: absolute; left: 50%; top: -4px; margin: 0 0 0 -5px; transform: rotate(45deg); background: var(--second-color); content: "";}
}

@media (max-width:1400px) {
.header_logo_wrapper                { gap: 20px;}
.header .menu					    { width: max-content;}
.header .menu>li					{ margin-right: 30px;}
.header .link 					    { padding-inline: 1.5em;}
}
@media (min-width:1201px) and (max-width:1275px) {
.header_logo_wrapper                { max-width: 275px;}
}
@media (max-width:1200px) {
.menu_mobile						{ width: 60px; height: var(--header-height); display: inline-block; vertical-align: middle; cursor: pointer; position: relative; z-index: 250; margin-right: -15px; transition: height 400ms ease-in-out;}
.menu_mobile div,
.menu_mobile div:before,
.menu_mobile div:after              { height: 2px; background: #FFF; position: absolute; }
.menu_mobile div					{ width: 30px; right: 50%; top: 50%; margin: -1px -15px 0 0;}
.menu_mobile div:before,
.menu_mobile div:after              { width: 100%; right: 0; content: "";}
.menu_mobile div:before				{ top: 8px;}
.menu_mobile div:after				{ top: -8px;}
.menu_mobile.active div				{ height: 0;}
.menu_mobile.active div:before		{ top: 0; transform: rotate(45deg);}
.menu_mobile.active div:after		{ top: 0; transform: rotate(-45deg);}

.header                             { padding-block: 0; color: #FFF; background-color: var(--main-color);}
.header ::-webkit-scrollbar			{ display: none;}
.header .logo						{ width: 180px; margin-left: -15px;}
.header .logo, .header .link        { position: relative; z-index: 250;}

.header .wrapper                    { display: flex; align-items: center; gap: 25px;}
.header .order                      { position: static;}

.header .header_nav 				{ width: 100%; height: 100vh; position: fixed; right: -100%; top: 0; overflow-y: scroll; z-index: 200; background: var(--main-color); border-top: var(--header-height) solid var(--main-color); padding: 50px 0 120px 0; transition: all 400ms ease-in-out 200ms;}
.header_right                       { padding-block: 0;}
.header .menu  						{ display: block; width: auto; text-align: left; margin: 0 10vw 30px 10vw; position: relative; z-index: 100; opacity: 0; transition: all 300ms ease-in-out 0ms;}
.header .menu>li 					{ width: 100%; display: block; margin: 0;}
.header .menu>li>a					{ font-size: 17px; line-height: 60px; height: 60px; font-weight: 600; transition: none;}
.header .menu>li>i					{ width: 60px; height: 60px; display: block; margin-top: -60px; position: relative; z-index: 5; float: right; padding: 10px 0;}
.header .menu>li>i:after			{ width: 60px; height: 40px; background: url("../images/arrow_down.svg") 50% 52% / 16px 10px no-repeat var(--second-color); float: right; content: "";}
.header .menu>li>i.active:after 	{ transform: rotate(-180deg);}

.header .sub 						{ width: 100%; position: relative; left: auto; top: auto; margin: 10px 0; box-shadow: none; visibility: visible; opacity: 1; display: none; z-index: 150;}
.header .sub li  					{ width: 100%;}
.header .sub li a					{ font-size: 14px; line-height: 50px; height: 50px; font-weight: 500; text-align: left; padding: 0 35px;}
.header .sub li a img 				{ height: 22px;}
.header .sub li a span 				{ background-size: auto 12px;}

.header.active .header_nav 			{ right: 0; transition-delay: 150ms;}
.header.active .menu                { opacity: 1; transition-delay: 600ms;}

.sticky .header 					{ padding: 0;}
.sticky .header .logo				{ width: 140px;}

.menu_small                         { position: static; margin-inline: auto 20px; padding-right: 0; gap: 25px; margin-right: 0;}
}
@media (max-width:1000px) {
.header_logo_wrapper                { gap: 0;}
.header_baseline small              { position: absolute; top: 100%; z-index: -1; width: 100vw; background-color: var(--bg-color); color: var(--text-color); font-size: 1rem; line-height: 28px; text-align: center; left: 50%; transform: translateX(-50%); display: flex; justify-content: center; align-items: center; height: 70px; transition: all 400ms ease-in-out;}
.header .menu  						{ margin: 0 5vw 30px 5vw;}

.header .tel                        { width: 30px; aspect-ratio: 1 / 1; margin-inline: -5px;}
.header .tel:before                 { width: 20px;}
.header .langue                     { font-size: 15px}
.header .langue a                   { display: inline-flex; width: 30px; justify-content: center; align-items: center; aspect-ratio: 1 / 1; margin-inline: -5px}

.sticky .header_baseline small      { transform: translate(-50%, -100%);}
}
@media (max-width:700px) {
.header 							{ padding: 0;}
.header .wrapper                    { gap: 5px;}
.header .header_nav 				{ border-width: 74px; padding: 30px 0 120px 0;}
.header_right 				        { padding: 0;}
.header .menu  						{ margin: 0 7vw 20px 7vw;}
.header .menu>li>a					{ font-size: 14px; line-height: 50px; height: 50px;}
.header .menu>li>i					{ width: 50px; height: 50px; margin-top: -50px; padding: 7px 0;}
.header .menu>li>i:after			{ width: 50px; height: 36px;}
.header .sub 						{ margin: 8px 0;}
.header .sub li a					{ font-size: 13px; line-height: 44px; height: 44px; padding: 0 22px 0 20px;}
.header .sub li a img 				{ height: 20px;}
.sticky .header .header_nav 		{ border-width: 74px;}
.menu_small						    { margin-right: 0px;}
.header .link                       { min-height: 50px; padding-inline: 15px; border-radius: 50%;}
}



/***** services *****/
.services                               { z-index: 0; margin-top: 24px;}
.services_list                          { display: grid; gap: 10px;}
.services-item                          { height: 100%;}
.services-item .row                     { position: relative; height: 100%; padding: 90px 40px 70px; border-radius: var(--border-radius); background: #FFF;transition: all 400ms ease-in-out;}
.services-item .row p a                 { border-bottom: 1px solid var(--second-color);}
.services-item__header                  { display: flex; align-items: center; gap: 20px;}
.services-item__img                     { width: 60px;}
.services-item__number,
.services-item__number::before          { position: absolute; top: 0; border-radius: 0 0 100px 100px;}
.services-item__number                  { left: 44px; background-color: var(--second-color); color: #FFF; font-size: 20px; padding: 22px 14px 25px 6px; line-height: .65; font-family: var(--title-font-family); z-index: 0;}
.services-item__number::before          { content: ''; right: 4px; background-color: var(--main-color); width: 100%; height: 100%; z-index: -1;}
.services-item .row .sous_titre         { margin-bottom: 0; color: var(--second-color); font-size: 25px; line-height: 35px;}
.services-item__link                   	{ display: flex; justify-content: flex-end; align-items: flex-start; padding: 20px; transition: all 400ms ease-in-out;}
.services-item__link:after          	  { width: 13px; height: 13px; background: url("../images/arrow_diagonal.svg") 50% / contain no-repeat; content: "";}
.services_bg                            { position: absolute; bottom: 0; right: -5vw; z-index: -1; border-radius: 80px 0 0 80px; width: clamp(0px, 50vw, 900px);}

@media (max-width:700px) {
.services .row                         { display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 10px 10px 20px; border-radius: 10px; background: var(--second-color);}
.services-item__number                  { display: none;}
.services .row .sous_titre              { font: 600 13px / 21px var(--font-family); color: #FFF; text-transform: uppercase;}
.services :is(.services-item__img, .services-item__body) { display: none;}
.services-item__link                    { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: var(--main-color); padding: 0;}
.services-item__link:after              { filter: brightness(0) invert(1);}
}
@media (min-width:701px) {
.services                               { margin-top: 40px;}
.services_list                          { gap: 30px;}
.services-item__link                   	{ position: absolute; top: 0; right: 0; z-index: 50; width: 100%; height: 150px;}
}
@media (min-width:1001px) {
.services                               { position: relative;}
.services_list                          { grid-template-columns: 1fr 1fr; align-items: flex-start;}
.services-item__header                  { margin-bottom: 30px;}
}
@media (min-width:1201px) {
.services                               { margin-block: 140px 100px; padding-bottom: 150px;}
.services-item .row p a:hover           { color: var(--second-color);}

.services-item__link:hover              { transform: translate(-10px, 10px);}
.services_bg                            { right: clamp(-360px, calc((100vw - 1200px) / -2), 0px);}
.services_list                          { grid-template-columns: 1fr 1fr 1fr;}
}
@media (min-width:1201px) and (max-width: 1600px) {
.services .item:nth-child(odd)           { grid-column: 1 / 2;}
.services .item:nth-child(even)          { grid-column: 2 / 3;}
}




/***** show hide *****/
.show_hide                        	{ position: relative; overflow: hidden; margin: 25px 0;}
.show_hide .item                    { background-color: #FFF; border-radius: 10px; overflow: hidden;}
.show_hide .item:not(:last-child)   { margin-bottom: 10px;}
.show_hide .titre                 	{ position: relative; cursor: pointer; padding: 18px 80px 18px 30px; font: 400 18px/24px var(--font-family); letter-spacing: 0.4px; color: var(--text-color); margin: 0; transition: all 400ms ease-in-out;}
.show_hide .titre:after          	{ width: 21px; height: 100%; background: url("../images/plus.svg") 50% no-repeat; position: absolute; right: 30px; top: 0; transition: none; content: "";}

.show_hide .titre:hover,
.show_hide .titre.active    		{ background-color: var(--main-color); color: #FFF}
.show_hide .titre:hover + .hide,
.show_hide .titre.active + .hide    { border-color: var(--main-color);}

.show_hide.show_first .item:first-child .hide 	{ display: block;}
.show_hide .hide                  	{ margin: 0; padding: 18px 30px; background: #FFF; color: var(--text-color); border: 2px solid var(--text-color); border-top: none; border-radius: 0 0 10px 10px; letter-spacing: 0.4px; display: none;}
.show_hide .hide p 					{ margin-bottom: 10px;}
.show_hide .hide p a				{ color: #222; border-bottom: 1px solid #ccc; padding-bottom: 1px;}
.show_hide .hide :last-child 	 	{ margin-bottom: 0;}

@media (max-width:700px){
.show_hide                        	{ margin: 15px 0;}
.show_hide .titre                 	{ padding: 20px; padding-right: 60px; font-size: 15px; line-height: 1.5;}
.show_hide .titre:after          	{ right: 20px;}
.show_hide .hide                  	{ padding: 20px;}
}

.list_check li                      { display: flex; gap: 15px;}
.list_check li:not(:last-child)     { margin-bottom: 20px;}
.list_check li::before              { content: ''; display: block; background: url("../images/check.svg") 0 50% no-repeat; width: 30px; height: 30px;}

.photo_texte                            { display: grid; row-gap: 45px; margin-block: 50px; align-items: center;}
.photo_texte .photo                     { position: relative;}
.photo_texte img                        { display: block; width: 100%; height: 100%; object-fit: cover;}
.photo_texte.reverse .texte             { order: -1}

@media (min-width: 1001px) {
.photo_texte                            { margin-block: 100px; grid-template-columns: 1fr 50%;}
.photo_texte.reverse                    { grid-template-columns: 50% 1fr;}
.photo_texte .photo                     { padding-right: 60px;}
.photo_texte .photo::before             { content: ''; position: absolute; top: 0; right: calc(100% + 30px); height: 100%; width: 100vw; background-color: var(--second-color);}
.photo_texte.reverse .photo             { padding-inline: 60px 0;}
.photo_texte.reverse .photo::before     { right: initial; left: calc(100% + 30px);}
}




/***** CTA *****/
.cta 								{ margin-block: 100px; text-align: center; font: 400 25px/40px var(--font-family);}
.cta a                              { color: var(--second-color); border-bottom: 1px solid transparent;}
@media (min-width: 1201px) {
.cta a:hover                        { border-color: var(--second-color);}
}

@media (max-width: 1000px) {
.cta 								{ margin-block: 50px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}
.cta__title                         { grid-column: 1 / 3; margin-bottom: 12px;}
.cta a                              { font: 600 13px/1.5 var(--font-family); letter-spacing: .035em; color: #FFF; display: inline-flex; align-items: center; justify-content: center; padding: 9px 2.125em; background: linear-gradient(to top, var(--second-color) 0% 50%, var(--cta-hover-color) 50% 100%); background-size: 100% 200%; background-position: 0 100%; text-transform: uppercase; min-width: min(100%, 160px); width: fit-content; border-radius: 10px; margin-left: auto; border: none;}
.cta a:last-child                   { margin-inline: 0 auto;}
}
@media (max-width: 700px) {
.cta a                              { line-height: 48px; height: 50px;}
}
@media (min-width: 1000px) {
.cta 								{ font: 400 30px/40px var(--font-family);}
}

.background-initials                { position: absolute; top: clamp(-558px, -31vw, 0px); right: -50px; z-index: -2; height: clamp(0px, 91.66vw, 1650px); pointer-events: none;}
.background-initials span           { margin-top: -.1em;}
.wrapper_large .background-initials { right: 75px}

@media (max-width: 1200px) {
.background-initials                { display: none;}
}


/***** footer *****/
.footer								{ --padding-top: 100px; border-radius: 80px 80px 0 0; margin-top: 100px; position: relative; background: var(--main-color); font-size: 0; padding-block: var(--padding-top) 24px; color: #FFF;}
.footer .bloc_footer 				{ display: inline-block; vertical-align: top; position: relative;}
.footer .bloc_footer p				{ font-size: 16px; line-height: 26px; margin-top: 20px;}
.footer .bloc_footer p.address:before 		{ background: url(../images/pointer.svg) 50% / contain no-repeat;}
.footer .bloc_footer p.tel a:before 		{ background: url(../images/tel.svg) 50% / contain no-repeat;}
.footer .bloc_footer p.gsm a:before 		{ background: url(../images/gsm.svg) 60% / contain no-repeat;}
.footer .bloc_footer p.email a:before 		{ background: url(../images/paper_plane.svg) 50% / contain no-repeat;}
.footer .bloc_footer :is(p.address, p.tel a, p.gsm a, p.email a) { padding: 0; display: grid; grid-template-columns: 22px 1fr; gap: 20px; align-items: center; min-height: initial; min-width: initial; color: inherit; font-size: 16px; font-weight: inherit; text-transform: initial; background: none;}
.footer .bloc_footer :is(p.address, p.tel a, p.gsm a, p.email a)::before { content: ''; display: block; width: 100%; height: 25px;}

.titre_footer                       { font: 400 30px/45px var(--title-font-family); color: var(--second-color);}
.sous_titre_footer                  { font: 400 20px/30px var(--title-font-family); margin-bottom: 30px;}

.footer ul.bloc_footer     			{ margin: 98px 0 0 62px;}
.footer ul.bloc_footer:nth-child(2) { margin-left: 0;}
.footer ul.bloc_footer li   		{ margin-bottom: 5px; display: flex;}
.footer ul.bloc_footer li a 		{ font-size: 16px; line-height: 1.5; padding: 5px 0 5px 20px; background: url("../images/list.svg") 0 50% / 6px 10px no-repeat;}

.coordonnees                        { margin-right: 124px;}

.footer	.rs							{ position: absolute; right: 0; top: 0; font-size: 0; line-height: 0; letter-spacing: 0;}
.footer	.rs a						{ width: 50px; height: 50px; border-radius: 50%; display: inline-block; vertical-align: top; margin-right: 10px;}
.footer	.rs .facebook				{ background: url("../images/facebook.svg") 50% no-repeat;}
.footer	.rs .instagram				{ background: url("../images/instagram.svg") 50% no-repeat;}
.footer .rs .scroll 				{ background: url("../images/scrolltop.svg") 50% 46% / 20px 12px no-repeat; margin: 0;}

.footer_bottom   					{ line-height: 0; margin-top: 120px;}
.footer_bottom li 					{ display: inline-block; font-size: 12px; line-height: 20px; margin-right: 30px; letter-spacing: 0.8px; position: relative;}
.footer_bottom li:after				{ width: 1px; height: 8px; content: ""; position: absolute; right: -16px; top: 6px; background: var(--second-color);}
.footer_bottom li:last-child:after 	{ display: none;}

.toponweb							{ display: block; z-index: 85; position: absolute; right: 0; bottom: 0; transition: bottom 300ms ease-in-out;}
.toponweb span						{ width: auto; height: 60px; display: block; padding: 20px; background: linear-gradient(to left, #FFF 0% 50%, var(--second-color) 50% 100%); background-size: 200% 100%; background-position: 100% 0;}
.toponweb img						{ width: 76px; height: auto; display: block; margin: 0 auto; transition: all 300ms ease-in-out;}
.toponweb.show						{ bottom: 0;}

/*
.back-to-top                          { position: absolute; right: 0; top: 0; transform: translateY(-50%);}
*/

@media (min-width:1201px) {
.footer .bloc_footer p a:hover,
.footer .bloc_footer li a:hover 	{ color: var(--second-color);}
.footer_bottom li a:hover 	 		{ color: var(--second-color);}
.footer	.rs a:hover  				{ background-color: var(--second-color);}
.footer	.rs a.scroll:hover 			{ background-color: var(--second-color);}
.toponweb:hover span				{ background-position: 0 0;}
}

@media (max-width:1200px) {
.footer_bottom   					{ margin-top: 80px;}
}
@media (max-width:1000px) {
.footer								{ padding-top: var(--padding-top); border-radius: 60px 60px 0 0;}
.footer_bottom   					{ margin-top: 60px;}
.titre_footer                       { font-size: 25px; line-height: 1.2; margin-bottom: 10px;}
.sous_titre_footer                  { font-size: 18px; margin-bottom: 24px;}
}
@media (min-width: 701px) and (max-width: 1000px) {
.bloc_footer.coordonnees            { margin-right: 135px;}
.footer ul.bloc_footer              { margin-top: 50px;}
}
@media (max-width:700px) {
.footer								{ --padding-top: 50px; margin-top: 50px; padding-bottom: 50px;}
.footer ul.bloc_footer     			{ display: none;}
.footer .bloc_footer 				{ width: 100%;}
.footer .bloc_footer p				{ font-size: 15px;}

/*.footer	.rs							{ position: static; margin: 30px auto;}*/
.footer	.rs a						{ width: 46px; height: 46px;}

.footer_bottom 	 					{ text-align: left; margin-top: 30px;}
.footer_bottom li 					{ display: block; margin: 0; line-height: 30px;}
.footer_bottom li:after				{ display: none;}
}

.link-moins,.link-plus, .textMore a { text-decoration: underline; text-underline-offset: .3em;}
.link-moins,.link-plus              { cursor:pointer;}
.textMore                           { display: none; margin-top: 40px;}
.textMore p:not(:first-of-type)     { margin-top: 15px;}


.slick-dots                         { display: flex; align-items: center; gap: 10px;}
.slick-dots button                  { background-color: #FFF; width: 14px; height: 14px; border-radius: 50%; border: none; color: transparent; font-size: 0;}
.slick-dots .slick-active button    { background-color: var(--second-color);}