
:root{
    --color-primary:#7380ec;
    --color-danger:#ff7782;
    --color-success:#41f1b6;
    --color-warning:#ffbb55;
    --color-white:#fff;
    --color-info-dark:#7d8da1;
    --color-info-light:#dce1eb;
    --color-dark:#363949;
    --color-light:rgba(132,139,200,0.18);
    --color-primary-variant:#111e88;
    --color-dark-variant:#677483;
    --color-background:#f6f6f9;

    --card-border-radius:2rem;
    --border-radius-1:0.4rem;
    --border-radius-2:0.8rem;
    --borde-radius-3:1.2rem;
    
    --card-padding:1.8rem;
    --padding-1:1.2rem;

    --box-shadow:0 2rem 3rem var(--color-light);
}
*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	appearance: none;
    text-decoration: none;
    box-sizing: border-box;
    list-style: none;

}
html{
    font-size: 16px;
}
body{
	width: 100vw;
	overflow-x: hidden;
	border: 0;
   
	font-size: 0.88rem;
    background: var(--color-background);
    user-select: none;
    overflow-x: hidden;
	font-family: 'Titillium Web', sans-serif;
	
}
a{
    color: var(--color-dark);
}
img{
    display: block;
    width: 100%;
}
h1{
    font-weight: 800;
    font-size: 1.8rem;
}
h2{
    font-size: 1.4rem;
}
h3{
    font-size: 0.87rem;
}
h4{
    font-size: 0.8rem;
}
h5{
    font-size: 0.77rem;
}
small{
    font-size: 0.75rem;
}
.profile-photo{
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    overflow: hidden;
   
}

.material-icons-sharp {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 24px;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
  
	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;
  
	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;
  
	/* Support for IE. */
	font-feature-settings: 'liga';
  }
.top-bar{
	display: flex;
	justify-content: space-between;
	padding: 1rem var(--card-padding);
	color: var(--color-warning);
	background: rgb(16,38,95);
    background: -moz-linear-gradient(90deg, rgba(16,38,95,1) 0%, rgba(26,71,152,1) 50%, rgba(16,38,95,1) 100%);
    background: -webkit-linear-gradient(90deg, rgba(16,38,95,1) 0%, rgba(26,71,152,1) 50%, rgba(16,38,95,1) 100%);
    background: linear-gradient(90deg, rgba(16,38,95,1) 0%, rgba(26,71,152,1) 50%, rgba(16,38,95,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#10265f",endColorstr="#10265f",GradientType=1); 
}
.top-bar a{
    color: var(--color-warning);
}
.contact{
	display: flex;
	align-items: center;
	gap: 1rem;
}
.contact-item{
	display: flex;
	justify-content: center;
	gap: 0.3rem;
	align-items: center;
}
.contact-item.phone{
	border-right: 1px solid var(--color-warning);
	padding-right: var(--padding-1);
}
.social-network{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
}
.navigation{
	display: flex;
	height: 80px;
justify-content: space-between;
padding: 1rem var(--card-padding);
background: white;
box-shadow: var(--box-shadow);
}
.navigation .logo {
	display: flex;
	height: 100%;
	
	align-items: center;
	
}
.navigation .logo img{
	height: 100%;
	width: auto;
}
.menu-liste{
	display: flex;
	gap: 2rem;
	justify-content: center;
	align-items: center;
}
.menu-liste a{
	font-size: 15px;
	text-decoration: none;
	font-weight:700;
}
.menu-liste a:last-child{
	display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);

}
.navigation .logo h1 span{
	color: rgba(26,71,152,1); ;
}

/*=========== BANNER =================*/

.banner{
	position: relative;
	height: 500px;
	overflow: hidden;
}
.banner .banner-text{
	position: absolute;
	top: 10rem;
	left: 10rem;
	background: rgba(132,139,200,0.3);
	padding: var(--card-padding);
	color: white;
}
.banner .banner-text h1{
	font-size: 3rem;
}
.banner .banner-text p{
	font-size: 1.5rem;
}
.banner .banner-text a{
	display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);
	font-size: 15px;
	text-decoration: none;
	font-weight:700;
}
.banner .banner-text h2{
	color: rgba(26,71,152,1);
	margin-bottom: 1.5rem;
	font-weight: bold;
}
/*=========== SUPPORT ==============*/
.horaire{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 2rem;
	padding: 4rem 10%;
 
	
}
.horaire .carte{
	text-align: center;
	padding: var(--card-padding);
	box-shadow: var(--box-shadow);
	border-radius: var(--card-border-radius);
}
.horaire .team{
	background: rgba(26,71,152,1);
	color: var(--color-white);
	font-family: 'Titillium Web', sans-serif;

}
.horaire .carte span{
	font-size: 4rem;
}
.horaire .carte h2{
	font-weight: 600;
}
.horaire .carte a{
	display: flex;
	color: rgba(26,71,152,1);
	align-items: center;
	justify-content: center;
	text-decoration: none;
	gap: 0.8rem;
}
.horaire .carte a span{
	font-size: 18px;
}
.horaire .team a{
	color: white;
}
/*====== ASM =======*/

.asm{
	display: grid;
    grid-template-columns: repeat(2,1fr);
    padding: 4rem 10%;
 
    background: white;

}
.asm .right{
    padding: 0 var(--card-padding);
}
.asm .right a{
    display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);
	font-size: 15px;
	text-decoration: none;
	font-weight:700;

}
.asm .right h3{
    color:rgba(26,71,152,1) ;
    font-weight: 700;
    font-size: 1.5rem;
}
.blue{
    color:rgba(26,71,152,1) ;
}
/*======== SERVICES ==========*/

.services{
    color: var(--color-dark);
    display: grid;
    grid-template-columns: repeat(3,1fr);
    padding: 4rem 10%;
    gap: 2rem;

}
.service-card{
    background: var(--color-white);
    padding: var(--card-padding);
    border-bottom: 4px solid rgba(26,71,152,1) ;
    box-shadow: var(--box-shadow);
    border-radius: var(--border-radius-2);
}
.service-card.intro{
    background: transparent;
    border: none;
    box-shadow: none;
}

.service-card.intro h3{
    color: rgba(26,71,152,1) ;
    font-weight: 700;
    font-size: 1rem;
}
.service-card.intro h2{
    font-weight: bold;
    font-size: 2rem;
}
.service-card.intro a{
    display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);
	font-size: 15px;
	text-decoration: none;
	font-weight:700;

}
.service-card  span{
    display: flex;
	font-size: 4rem;
    text-align: center;
    justify-content: center;
    padding-bottom: 00.87rem;
}
.service-card h2{
    text-align: center;
    font-size: 1.1rem;
    padding-bottom: 00.87rem;
    font-weight: 700;
}
.stories{
    padding: 4rem 10%; 
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 0.6rem;
}
.story{
background: white;
padding: var(--card-padding);
border-radius: var(--padding-1);
}
.info{
    display: flex;
    gap: 0.6rem;
}
.info h3{
    font-weight: 600;
}
.transparent-bg{
    text-align: center;
   color: white;
    background-image: url(../img/img-7.jpg);
   
    
    background-size: contain;
    background-attachment: fixed;
}
.mask{
    padding: 4rem 10%; 
    background: rgba(0,0,0,0.5);
    height: 100%;
}
.mask h1{
    font-size: 2.5rem;
}
.mask a{
    display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);
	font-size: 15px;
	text-decoration: none;
	font-weight:700;

}
.news{
    padding: 4rem 10%; 
    background: white; 
}
.news-group{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 2rem;
    padding-top: 2rem;
}
.posts{
box-shadow: var(--box-shadow);
padding-bottom: var(--card-padding);
}
.post-photo{
    height: 13rem;
    overflow-y: hidden;
}
.post-date{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: var(--padding-1);
}
.post-titre{
    padding: 0 var(--card-padding);
}

/*========== FOOTER ===========*/
.footer{
    display: grid;
    background: var(--color-dark);
    grid-template-columns: repeat(4,1fr);
    color: var(--color-info-light);
    padding: 4rem 7%; 
    gap: 3rem;
}
.footer .logo {
	display: flex;
	height: 80px;
	
	align-items: center;
	
}
.footer .logo img{
	height: 100%;
	width: auto;
}
.footer-item{
    text-align: center;
    padding:0 var(--card-padding);
}
.footer .logo h1 span{
	color:var(--color-warning);
}
.footer a{
    color: var(--color-info-light);
    display: block;
    text-decoration: none;
    margin-bottom: 00.87rem;
}
.footer-item h2{
    font-size: 1.2rem;

    color: white;
    font-weight: 700;

}
.zdt{
    border: none;
    width: 100%;
    border-radius: 3px;
    height: 2rem;
    padding-left: var(--padding-1);
}
.btn{
    border: none;
    width: 100%;
    border-radius: 3px;
   margin-top: 1rem;
    background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	
	padding: 0.4rem var(--card-padding);
	font-size: 15px;
	
	font-weight:700;
}

/*===== COVER ==========*/

.cover{
    height: 320px;
    overflow: hidden;
    background-image: url(../img/cover-2.jpg);
    background-attachment: fixed;
}
.cover h1{
    text-align: center;
    color: white;
    font-size: 3rem;
    padding-top: 2.5rem;
}
.cover h1 span{
    color: var(--color-warning);
}
.cover h3{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    color: white;
}

.presentation{
    padding: 4rem 10%; 
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 2rem;
    background: white;
}
.presentation h1{
    color: #111e88;
}
.presentation h2{
    font-weight: 700;
}
.presentation p{
    border-left: 3px solid var(--color-info-light);
    padding-left: 1.5rem;
}
.service-titre{
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 3rem;
}
.service-titre p span{
    color: #111e88;
    font-weight: 700; 
}
.icone{
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-primary);
    margin: auto;
    margin-bottom: 1rem;
    
}
.icone span{
    font-size: 3rem;
}
.icone.whatsapp{
    background: var(--color-success);
}
.icone.booking{
    background: var(--color-danger);
}
.contact-container{
    padding: 4rem 10%;
}

.zdt{
    width: 100%;
    background: #dde0e4;
    border: none;
    margin-top: 10px;
    margin-bottom: 10px;
    height: 45px;
    padding-left: 10px;
  }
  .ta{
    width: 100%;
    background: #dde0e4;
    border: none;
    margin-top: 10px;
    margin-bottom: 10px;
  
    padding-left: 10px;
  }
  .navigation button{
      display: none;
  }

  .service-titre p{
      width: 70%;
      margin: auto;
     font-size: 1.2rem;
  }
  .whatsapp-number{
      font-size: 1rem;
      color:#363949;
      margin: 2rem 0;
  }
  .avantages{
      padding: 4rem 10%;
      
      
  }
  .avantages h1{
      text-align: center;
      padding: var(--card-padding);
  }
  .avantage-items{
    background: white;
    box-shadow: var(--box-shadow);
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap: 2rem;
      padding: var(--card-padding);
      border-radius: var(--card-border-radius);
  }
  .avantage-items li{
      display: block;
      border-left:2px solid #0071cd;
      padding: var(--card-padding);
      background: #cee7ec;
      border-radius: var(--border-radius-1);
  }
  .posts a{
	display: flex;
	color: rgba(26,71,152,1);
	align-items: center;
	justify-content: center;
	text-decoration: none;
	gap: 0.8rem;
    margin-top: 2rem;
}
.posted-article{
    padding: 4rem 15%;
    display: block;
    font-size: 1rem;
}
.posted-article img{
    display: block;
    margin: 2rem 0;
}
.posted-article h2{
    font-weight: bold;
}

  
/*======== MENU MOBILE ========*/
  .menu-mobile{
      display: none;
  }
  
/*================== MEDIA QUERIES ==============*/
@media screen and (max-width: 1200px) {

    .horaire,.asm,.services{
      grid-template-columns: 1fr;
    }

    .asm img{
        width: 80%;
        display: block;
        margin: auto;
        margin-bottom: 3rem;
      }

      .service-card.intro p{
          text-align: center;
      }
      .service-card.intro h3{
       text-align: center;
        font-size: 2rem;
    }
    .service-card.intro h2{
        font-weight: bold;
        font-size: 2rem;
        text-align: center;
    }
    .service-card.intro a{
        display: block;
        margin: auto;
        width: 30%;
    
    }
    .news-group{
          grid-template-columns: 1fr 1fr;
    }
    .posts:last-child{
        display: none;
    }
    .footer{
        grid-template-columns: 1fr 1fr;
    }
    .masquer{display: none;}


}

/*================== MEDIA QUERIES ==============*/

@media screen and (max-width: 768px) {

    .horaire,.asm{
        grid-template-columns: 1fr;
      }


      .service-card.intro a{
        display: block;
        margin: auto;
        width: 70%;
    
    }
    .news-group{
          grid-template-columns: 1fr;
    }
    .posts:last-child{
        display: block;
    }
    .footer{
        grid-template-columns: 1fr;
    }
    .masquer{display: none;}
    .social-network{
        display: none;
    }
    .top-bar{
        justify-content: center;
        align-items: center;
        z-index: 2;
    }
    .menu-liste{
        
       display: none;
       
   }

   

   @keyframes showMenu{
        to{
            left: 0;
        }
   }

.navigation button{
        display: inline-block;
        background: transparent;
        cursor: pointer;
        color: var(--color-dark);
       
        border: none;
    }
    .navigation button span{
        font-size: 2.5rem;
    }

    .stories{
        grid-template-columns: 1fr;
    }
    .banner{
        height: auto;
    }


    .banner .banner-text{
        position: absolute;
        top: 1rem;
        left: 1rem;
        background: rgba(132,139,200,0.3);
        padding: 1rem;
        color: white;
    }
    .banner .banner-text h1{
        font-size: 2rem;
    }
    .banner .banner-text p{
        font-size: 1rem;
    }
    .banner .banner-text a{
        display: inline-block;
        background: rgba(26,71,152,1);
        color: var(--color-white);
        text-align: center;
        border-radius: var(--border-radius-1);
        padding: 0.8rem var(--card-padding);
        font-size: 15px;
        text-decoration: none;
        font-weight:700;
    }
    .banner .banner-text h2{
        color: white;
        margin-bottom: 0.8rem;
        font-weight: bold;
        font-size: 1.3rem;
    }
    .menu-mobile{    position: fixed;
        left: -100%;
        top: 0;
        background: var(--color-white);
        width: 18rem;
        z-index: 3;
        box-shadow: 1rem 3rem 4rem var(--color-light);
        height: 100vh;
        padding-right: var(--card-padding);
        display: none;
        animation: showMenu 400ms ease forwards;
        flex-direction: column;
     }
     
     .mobile-logo{
         position: relative;
     display: flex;
     height: 80px;
     padding: 1rem;
     justify-content: space-between;
     align-items: center;
     gap:1.5rem;
     }
     .mobile-logo h1{
         font-size: 1.5rem;
     }
     
     .close-btn{
         position: absolute;
         right: 0;
         cursor: pointer;
     }
.menu-item{
    display: flex;
    flex-direction: column;
    margin: var(--card-padding);
    align-items: center;
}   

.menu-item a{
	font-size: 15px;
	text-decoration: none;
	font-weight:700;
    height: 3rem;
}
.menu-item a:last-child{
	display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);

}

.presentation{
    grid-template-columns: 1fr;
}

.cover h3{
   
    gap: 0.1rem;
   
}
.asm{
    padding: 3rem 1rem;
    display: block;
}
.asm .right{
    padding: 0;
}

/*===== BANNER TEXT ====*/


.banner .banner-text a{
	display: inline-block;
	background: rgba(26,71,152,1);
	color: var(--color-white);
	text-align: center;
	border-radius: var(--border-radius-1);
	padding: 0.8rem var(--card-padding);
	font-size: 15px;
	text-decoration: none;
	font-weight:700;
   
}
.banner .banner-text h2{
	font-size: 1rem;
}
.avantages{
    padding: 1rem 1rem;
}
.avantages h1{
    font-size: 1.2rem;
}
.avantage-items{
    grid-template-columns: 1fr;
}
.service-titre p{
    width: 95%;
}

}
