/***** Banner *****/ 
.banner                { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; font-size: 0; line-height: 0; margin-top: 150px;}

.banner .texte .sous_titre        { color: #03989e; font: 400 calc(2rem + .2vw)/2 var(--fontBody);}
.banner .texte .titre             { color: #051d40; font: 700 calc(5rem + 1vw)/1.2 var(--fontBody);}
.banner .texte .titre span        { color: #03989e;}

.banner .photo                    { position: relative; border-radius: 30px; overflow: hidden;}
.banner .photo img                { min-height: 600px; height: calc(85vh - 150px); max-height: 800px; width: calc(100% + 90px); object-fit: cover;  margin-left: -45px;}

@media (max-width:1366px) {
    .banner .texte .sous_titre        { font: 400 2rem/2 var(--fontBody);}
    .banner .texte .titre             { font: 700 4.5rem/1.2 var(--fontBody);}
}

@media (max-width:1200px) {
    .banner .photo img         { height: 55vw; min-height: inherit;}
}

@media (max-width:1024px) {
    .banner                           { grid-gap: 0 60px;}
    .banner .photo                    { border-radius: 20px;}
    .banner .texte .sous_titre        { font: 400 1.8rem/1.8 var(--fontBody);}
    .banner .texte .titre             { font: 700 4.2rem/1.2 var(--fontBody);}
}

@media (max-width:800px) {
    .banner                 { grid-template-columns: 1fr; grid-gap: 60px 0;}
    .banner .texte			{ grid-area: 2; text-align: center;}
    .banner .photo        	{ grid-area: 1;}
    .banner .texte .link-contact         { text-align: left; margin: 40px auto 0 auto;}
}
    
/***** Bloc  *****/ 
.bloc_texte                   { margin: var(--marginBloc);}
.bloc_texte .sous_titre       { font: 400 3rem/2 var(--fontBody); color: var(--colorBodySousTitre); }
.bloc_texte.intro .sous_titre { font: 400 2rem/2 var(--fontBody); color: var(--colorBodySousTitre); }
.bloc_texte .chapo            { font: 400 1.6rem/2 var(--fontBody); }
.bloc_texte  p                { margin-bottom: 20px;}

.sous_titre.titre_picto       { display: flex; margin-bottom: 30px;} 
.sous_titre.titre_picto img   { margin-right: 20px;}

.bloc_grid .texte .sous_titre { font: 600 3rem/2 var(--fontBody); color: var(--colorBodySousTitre); } 

.grid-call_action             { display: grid; grid-template-columns:repeat(3,1fr); align-items: center; position: relative; grid-gap: 0 30px;}

.bloc_blue                    { width: 100vw; background: #051d40; padding: 90px 0; color: #ffffff; margin: var(--marginBloc);}
.bloc_blue .bloc_grid         { margin: 0 auto;}
.bloc_blue .texte a           { color: #ffffff;}

.bloc_map                          { margin: var(--marginBloc); display: grid; grid-template-columns:repeat(2,1fr); position: relative; grid-gap: 0; border: 2px solid rgb(237, 237, 237); border-radius: 30px; height: 420px; align-items: center;}

.bloc_map .mapWavre, 
.bloc_map .adresseWavre            { display: none; opacity: 0; }
.bloc_map .mapWavre,
.bloc_map .mapBruxelles            { font-size: 0; line-height: 0; }
.bloc_map .mapWavre img, 
.bloc_map .mapBruxelles img        { max-height: 416px; width: 100%; object-fit: cover; object-position: 50% 50%; border-top-left-radius: 30px; border-bottom-left-radius: 30px;}

.bloc_map .texte                   { padding-left: 60px; padding-right: 60px;}
.bloc_map .texte .adresseBruxelles>p,
.bloc_map .texte .adresseWavre>p   { font: 400 1.6rem/1.8 var(--fontBody); padding: 40px 0 20px 0;}
.bloc_map .texte a                 { position: relative;}
.bloc_map .texte a.link            { cursor: pointer; background: #eeeeee; color: #051d40; margin-right: 10px;}
.bloc_map .texte a.link.Active     { background: #03989e; color: #ffffff; border-radius: 5px;}
.bloc_map .texte a.adresse,
.bloc_map .texte a.tel,
.bloc_map .texte a.mail            { font: 400 1.4rem/2 var(--fontBody); padding-left: 30px; color: #051d40; display: block; margin-bottom: 5px;}
.bloc_map .texte a.adresse:before         { content: ''; position: absolute;  left: 0;  top: 50%;  transform: translate(0, -50%); width: 15px; height: 18px; background-image: url("data:image/svg+xml;utf8,<svg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='15px' height='18px'><path fill-rule='evenodd'  fill='rgb(3, 152, 158)' d='M7.033,0.094 C3.155,0.094 -0.000,3.223 -0.000,7.069 C-0.000,8.074 0.208,9.033 0.616,9.922 C1.941,12.796 4.245,15.277 5.486,16.612 C5.719,16.861 5.911,17.071 6.044,17.220 C6.288,17.508 6.647,17.674 7.033,17.674 C7.410,17.674 7.768,17.511 8.016,17.227 C8.153,17.069 8.346,16.860 8.590,16.599 C9.824,15.269 12.121,12.795 13.447,9.922 C13.857,9.030 14.065,8.070 14.065,7.069 C14.063,3.223 10.908,0.094 7.033,0.094 ZM7.033,10.645 C5.089,10.645 3.515,9.069 3.515,7.125 C3.515,5.180 5.089,3.604 7.033,3.604 C8.976,3.604 10.551,5.180 10.551,7.125 C10.551,9.069 8.976,10.645 7.033,10.645 Z'/></svg>");}
.bloc_map .texte a.tel:before             { content: ''; position: absolute;  left: 0;  top: 50%;  transform: translate(0, -50%); width: 15px; height: 14px; background-image: url("data:image/svg+xml;utf8,<svg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='15px' height='14px'><path fill-rule='evenodd'  fill='rgb(3, 152, 158)' d='M3.352,5.836 C4.433,7.971 6.182,9.694 8.291,10.774 L9.937,9.129 C10.143,8.922 10.452,8.871 10.709,8.947 C11.558,9.231 12.458,9.386 13.384,9.386 C13.796,9.386 14.130,9.720 14.130,10.132 L14.130,12.755 C14.130,13.167 13.796,13.501 13.384,13.501 C6.336,13.501 0.626,7.792 0.626,0.743 C0.626,0.331 0.960,-0.004 1.371,-0.004 L3.995,-0.004 C4.407,-0.004 4.741,0.331 4.741,0.743 C4.741,1.668 4.896,2.569 5.179,3.418 C5.256,3.675 5.204,3.983 4.999,4.189 L3.352,5.836 Z'/></svg>");}
.bloc_map .texte a.mail:before            { content: ''; position: absolute;  left: 0;  top: 50%;  transform: translate(0, -50%); width: 16px; height: 12px; background-image: url("data:image/svg+xml;utf8,<svg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='12px'><path fill-rule='evenodd'  fill='rgb(3, 152, 158)' d='M14.716,12.001 L1.290,12.001 C0.583,12.001 0.010,11.467 0.010,10.811 L0.010,3.299 L6.673,7.259 C7.084,7.479 7.546,7.587 8.007,7.587 C8.469,7.587 8.930,7.479 9.342,7.259 L15.996,3.303 L15.996,10.811 C15.996,11.467 15.423,12.001 14.716,12.001 ZM8.007,6.266 C7.790,6.266 7.572,6.215 7.378,6.111 L0.010,1.775 L0.010,1.179 C0.010,0.522 0.583,-0.010 1.290,-0.010 L14.716,-0.010 C15.423,-0.010 15.996,0.522 15.996,1.179 L15.996,1.780 L8.636,6.111 C8.442,6.215 8.225,6.266 8.007,6.266 Z'/></svg>");}

.bloc_demande                   { background:url(../images/bckgrd_demande.webp) center no-repeat; background-size:cover; padding: 150px 0; text-align: center; color: #ffffff;}
.bloc_demande div:nth-child(1)  { font: 400 5rem/1.5 var(--fontBody);}
.bloc_demande div:nth-child(2)  { font: 400 3rem/1.5 var(--fontBody);}
.bloc_demande .link             { background: #ffffff; color: #051d40; margin-top: 20px;}

.bloc_partenaire                       { margin: var(--marginBloc);}
.bloc_partenaire .sous_titre           { font: 400 3rem/2 var(--fontBody); color: var(--colorBodySousTitre); margin-bottom: 30px; }
.bloc_partenaire .logo_partenaires     { display: grid; grid-template-columns:repeat(6,1fr); align-items: stretch; position: relative; grid-gap: 0 30px;}
.bloc_partenaire .logo_partenaires .item     { border-radius: 10px; border: 2px solid #ededed;}
.bloc_partenaire .logo_partenaires .item img { border-radius: 10px; max-width: 100%; height: auto;}
.bloc_partenaire .logo_partenaires a         { border-radius: 10px; background: #03989e; color: #ffffff; text-align: center; display: flex; align-items: center; justify-content: center; position: relative;}
.bloc_partenaire .logo_partenaires a svg     { margin-top: 15px;}


@media (min-width:1201px) {
    .link:hover                                { background: #051d40; color: #ffffff; border-radius: 5px;}
    .bloc_partenaire .logo_partenaires a:hover { background: #051d40; color: #ffffff; border-radius: 5px;}
    .bloc_map .texte a.link:hover              { background: #03989e; color: #ffffff;}
}

@media (max-width:1366px) {
    .bloc_map .texte         { padding-left: 30px; padding-right: 30px;}
}

@media (max-width:1200px) {
    .grid-call_action        { grid-gap: 0 10px; }
    .grid-call_action a span { font-size: 1.6rem;}
    
    .link-appelez::after,
    .link-formulaire::after,
    .link-simulateur::after     { content: none;}
}

@media (max-width:1024px) { 
    .bloc_map                    { grid-template-columns:45% 55%;}
}

@media (max-width:1024px) {    
    .grid-call_action a span     { padding-left: 85px;}
    
    .link-appelez::before,
    .link-formulaire::before,
    .link-simulateur::before     { left: -70px;}
    
    .bloc_partenaire .logo_partenaires     { grid-gap: 0 10px;}
}

@media (max-width:1000px) {
    .bloc_map                      { grid-template-columns:1fr; height: auto;}
    .bloc_map .mapWavre img, 
    .bloc_map .mapBruxelles img    { height: 55vw; border-top-left-radius: 20px; border-top-right-radius: 20px; border-bottom-left-radius: 0;}
    .bloc_map .texte               { padding-top: 40px; padding-bottom: 40px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
}
@media (max-width:800px) {
    .grid-call_action              { grid-gap: 10px 0; grid-template-columns:1fr; }
    .grid-call_action a span       { padding-left: 110px;}
    .grid-call_action a span br    { display: none;}
    
    .link-appelez::after,
    .link-formulaire::after,
    .link-simulateur::after        { content: ''; position: absolute; right: 25px;  top: 50%;  transform: translate(0, -50%); width: 40px; height: 15px; background-repeat: no-repeat; background-image: url("data:image/svg+xml;utf8,<svg  xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='40px' height='15px'><path fill-rule='evenodd'  fill='rgb(255, 255, 255)' d='M39.1000,7.108 C39.1000,6.701 39.800,6.295 39.400,6.194 L33.700,0.403 C33.300,-0.003 32.700,-0.003 32.300,0.403 C31.900,0.810 31.900,1.419 32.300,1.825 L36.500,6.092 L0.1000,6.092 C0.400,6.092 -0.000,6.499 -0.000,7.108 C-0.000,7.718 0.400,8.124 0.1000,8.124 L36.500,8.124 L32.300,12.391 C31.900,12.797 31.900,13.407 32.300,13.813 C32.700,14.219 33.300,14.219 33.700,13.813 L39.400,8.022 C39.700,7.921 39.1000,7.514 39.1000,7.108 Z'/></svg>");}
    
    .link-appelez::before,
    .link-formulaire::before,
    .link-simulateur::before        { left: -60px;}
    
    .bloc_demande                   { padding-left: 20px; padding-right: 20px;}
    .bloc_demande div:nth-child(1)  { font: 400 4rem/1.2 var(--fontBody); margin-bottom: 20px;}
    .bloc_demande div:nth-child(2)  { font: 400 2rem/1.5 var(--fontBody);}
    
    .bloc_partenaire .logo_partenaires     { grid-template-columns:repeat(3,1fr); grid-gap: 20px;}
    
}

@media (max-width:600px) {
    .bloc_map .texte a.link             { margin-right: 0; display: flex; margin-bottom: 20px;}
    .bloc_map .texte .adresseBruxelles>p,
    .bloc_map .texte .adresseWavre>p    { padding: 20px 0;}
}

@media (max-width:500px) {
    .grid-call_action a span       { padding-left: 85px;}
    .grid-call_action a span br    { display: block;}
    
    .link-appelez::before,
    .link-formulaire::before,
    .link-simulateur::before     { left: -70px;}
    
    .bloc_partenaire .logo_partenaires     { grid-template-columns:repeat(2,1fr);}
    
    .bloc_map .texte     { padding: 20px;}
}

/***** horaires *****/
.horaires							{ position: relative; z-index: 10; display: block; width: 100%; background: #eeeeee; border-radius: 10px; vertical-align: top; margin-top: 30px;}
.horaires>p						    { padding: 20px 50px 20px 30px; cursor: pointer; position: relative; font-size: 1.4rem; line-height: 30px;}
.horaires>p:after				    { width: 70px; height: 50px; border-radius: 50%; position: absolute; right: 0; top: 10px; background: url(../images/scrollbottom.svg) 50% 52% no-repeat; content:"";}
.horaires>p.active:after			{ transform: rotate(-180deg)}
.horaires b							{ font-size: 18px; font-weight: 400; letter-spacing: 0.4px; display:block; padding-bottom: 2px;}
.horaires ul						{ width: 100%; background: #03989e; text-align: left; line-height: 30px; padding: 20px; font-size: 1.3rem; position: absolute; left: 0; top: 90%; color: #ffffff; display: none; z-index: 10; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px;}
.horaires li						{ display: grid; grid-template-columns: 80px 1fr; align-items: center; padding-left: 20px;}
.horaires li span                   { text-align: right; padding-right: 30px;}


/***** avis *****/
.avis 									{ position: relative; display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 20px; margin: var(--marginBloc); width: 90vw; max-width: 1600px;}
.avis:before 							{ width: 200vw; position: absolute; left: -50vw; top: 0; bottom: 0; background: #fff; z-index: -1; content: "";}
.avis .swiper 							{ grid-column: span 3; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 20px;}
.avis .item 							{ border-radius: 15px; background: #fff; box-shadow: 0px 0px 30px 0px rgba(3, 50, 99, 0.1); position: relative; padding: 50px 40px 80px 40px;}
.avis .item p							{ font-size: 13px; line-height: 26px;}
.avis .item p.author					{ position: absolute; right: 40px; bottom: 30px;}
.avis .note   							{ line-height: 0; letter-spacing: 0; font-size: 0; margin-bottom: 15px;}
.avis .note img 						{ display: inline-block; width: 16px; height: auto; margin-right: 10px;}
.avis .note img:last-child 				{ margin-right: 0;}

.avis .score 							{ background: #051d40; color: #fff; text-align: center; box-shadow: none; line-height: 0; letter-spacing: 0; font-size: 0; padding: 60px 0; display: grid; align-items: center;}
.avis .score .note						{ font-size: 50px; line-height: 45px;}
.avis .score img						{ display: block; margin: 0 auto;}
.avis .score img:first-of-type			{ margin-bottom: 28px; margin-top: 20px;}
.avis .score p							{ margin-top: 6px; letter-spacing: 0.6px;}

@media (max-width: 1400px){
.avis 									{ padding: 100px 0;}
.avis .item 							{ padding: 40px 30px 70px 30px;}
.avis .item p.author					{ right: 30px; bottom: 25px;}
}
@media (max-width: 1200px){
.avis 									{ display: block; padding: 80px 0; background: #051d40;}
.avis:before          					{ background: #051d40;}
.avis .item 							{ padding: 30px 30px 50px 30px; border-radius: 10px; box-shadow: none;}
.avis .item p.author					{ bottom: 20px;}
.avis .score 							{ background: none; color: #fff; padding: 0; display: block; text-align: left; position: relative; border-radius: 0; margin: 0 0 30px 0;}
.avis .score .note						{ font-size: 32px; line-height: 26px; display: inline-block; vertical-align: middle; margin: 0 20px 0 0;}
.avis .score img						{ display: inline-block; vertical-align: middle;}
.avis .score img:first-of-type			{ margin-bottom: 0; margin-top: 0; width: auto; height: 26px;}
.avis .score img:last-of-type			{ display: block; margin: 20px 0 0 0; width: auto; height: 40px;}
.avis .score p							{ height: 40px; font-size: 14px; line-height: 62px; margin: 0; position: absolute; left: 140px; top: 40px;}
}
@media (max-width: 1000px){
.avis 									{ padding: 60px 0;}
.avis .swiper 							{ grid-template-columns: auto auto auto; overflow-x: auto; justify-content: start; grid-gap: 0; width: 100vw; padding: 0 5vw; margin-left: -5vw;}
.avis .swiper::-webkit-scrollbar 		{ display: none;}
.avis .swiper .item 					{ width: 300px; margin: 0 20px 0 0;}
.avis .swiper .item:last-child 			{ margin: 0;}
}
@media (max-width: 700px){
.avis 									{ padding: 40px 0;}
.avis .item p							{ font-size: 12px; line-height: 24px;}
.avis .item p.author					{ bottom: 18px;}
.avis .note img 						{ width: 14px; margin-right: 8px;}
.avis .swiper 							{ padding: 0 7vw; margin-left: -7vw;}
.avis .swiper .item 					{ width: 280px; margin: 0 15px 0 0; border-radius: 8px; padding: 25px 20px 35px 20px;}
.avis .swiper .item:last-child 			{ margin: 0;}
.avis .score 							{ margin: 0 0 20px 0;}
.avis .score .note						{ font-size: 26px; line-height: 22px; display: inline-block; vertical-align: middle; margin: 0 20px 0 0;}
.avis .score img:first-of-type			{ height: 22px;}
.avis .score img:last-of-type			{ height: 34px;}
.avis .score p							{ height: 34px; font-size: 13px; line-height: 44px; left: 125px;}
}