@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;500;700&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif; 
}
section {
    margin-top: 50px;
}
body {
    position: relative;
    background-color: white;
}
html {
    scroll-behavior: smooth;
    font-size: 62.5%;
}
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 50px;
    padding: 0 10%;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: rgba(255 255 255 /0.9);
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    z-index: 10;
}
.menu {
    display: flex;
}
.logo {
    color: #f6ea09;
    font-weight: 700;
    font-size: 25px;
}
.logo span {
    color: black;
}
.menu li {
   margin: 0 15px;
   list-style: none;
}
.menu li a {
    font-size: 14px;
    text-decoration: 0;
    color: #999;
    position: relative;
}
.menu li a::before {
    position: absolute;
    top: -5px;
    left: 0;
    content: "";
    width: 0;
    height: 2px;
    border-radius: 6px;
    background-color:#fef212;
    transition: 0.5s;
}
.menu li a:hover::before {
    width: 100%;
}
.menu li a::after {
    position: absolute;
    bottom: -5px;
    right: 0;
    content: "";
    width: 0;
    height: 2px;
    border-radius: 6px;
    background-color: #fef212;
    transition: 0.5s;
}
.menu li a:hover::after {
    width: 100%;
}
.menu li a:hover {
    color: #000;
}



/* menu CSS */

#menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    background-color: rgba(0,0,0,0.05);
    padding: 50px 10px;
}
.mini_title {
    margin-top: 25px;
    font-size: 16px;
    color: #f6ea09;
    text-transform: capitalize;
}
.title {
    font-size: 20px;
    text-transform: uppercase;
    color: #273e60;
    margin-bottom: 25px;
    text-align: center;
}

/* home CSS */
#home {
    margin-top: 10px;
    display: flex;
    align-items: center;
    margin-left: 10%;
    margin-right: 10%;
   padding-bottom: 0;
     height: calc(90vh - 1O0px); 
    justify-content: space-between;
}
#acceuil{
    height: 30px;
}
div.logo img.cheval{


margin-top: 6.4rem;
width: 6rem;
border-radius: 50%;
animation: course 5s infinite linear alternate;
}
@keyframes course {
    100%{
        transform: translateX(800px)  rotateZ(1080deg);
    }
}
#home .left {
    padding: 20x ;
    width: 80%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#home .left h4 {
    font-size: 20px;
    color: #f6ea09;
}
#home .left h1 {
    font-size: 40px;
}
#home .left p {
    font-size: 15px;
    color: #000;
   
}
#home .left button {
     margin-top: 20px;
     width: fit-content;
     padding: 5px 10px;
     background-color: #000;
     border: 0;
     transition: 0.5s;
     position: relative;
     cursor: pointer;
}
#home .left button  a {
    text-decoration: 0;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    transition: 0.5s;
}
#home .left button::before {
    position: absolute;
    left: 5px;
    top: 5px;
    content: "";
    height: 100%;
    width: 100%;
    z-index: -1;
    background-color: #f6ea09;
}
#home .left button:hover a{
   letter-spacing: 1px;
}

#home .right {
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#home .right img {
    width: 80%;
  
   
}

#home .right img {
    animation: 
        swing 6s ease-in-out infinite, 
        scale 4s ease-in-out infinite;
    transform-origin: center bottom;
}

@keyframes swing {
    0%, 100% {
        transform: rotate(-10deg) translateX(-20px);
    }
    50% {
        transform: rotate(10deg) translateX(20px);
    }
}

@keyframes scale {
    0%, 100% {
        scale: 0.9;
    }
    50% {
        scale: 1.1;
    }
}

/*decoration*/
.decoration {
    padding: 20px 10%; 
   
}
.deco-list {
    width: 100%;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill,265px);
     gap: 30px;
}
.deco-list .deco img {
  
    width: 100%;
    
    object-fit: cover;
    border-radius: 8px;
}
.deco-list .deco {
    width: 100%;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill,265px);
    
    
    background-color: #FAF8F4;
    border-radius: 4px;
    padding: 50px 25px;
    margin: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
   
    text-align: center;
    cursor: pointer;
    padding: 10px;
    transition: 0.5s;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}
.deco-list .deco:hover {
    transform: scale(1.1);
}
.deco-list .deco h2 {
    margin: 5px 3px;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.deco-list .deco span {
    font-size: 15px;
    color: #333;
   
}
.deco-list .deco .orange_link {
    margin-top: 5px;
   padding: 10px;
   box-shadow: 0 0 5px rgba(0,0,0,0.5);
    background-color:  #f6ea09;
    border-radius: 4px;
    color: black;
    border: #f6ea09;

    letter-spacing: 1px;
    width: 100%;
    transition: 0.5s;
    cursor: pointer;
}
.deco-list .deco .orange_link:hover {
    background-color: transparent;
    border:1px solid #f6ea09;
    color: #f6ea09;
    
}
.section {
    display: flex;
    align-items: center;
    height: calc(20vh - 50px);
    flex-direction: column;
    padding: 20px 10%;
    width: 100%;
    margin-top: 4rem;
}



/*choice*/
.why_us {
     padding: 20px 10%; 
    display: flex;
    flex-direction: column;
}
.why_us img {
    width: 50px;
}
.list_box {
    width: 100%;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill,265px);
    grid-gap: 10px;
}
.list_box .box {
    text-align: center;
    background-color: #FAF8F4;
    border-radius: 4px;
    padding: 50px 25px;
    margin: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.list_box .box h2 {
    margin: 10px 0;
    color: #f6ea09;
    letter-spacing: 1px;
    text-transform: capitalize;
}
.list_box .box p {
    color: black;
    font-size: small;
}
/* reservation CSS */

#reservation {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 110vh;
    flex-direction: column;
}
#reservation form {
    display: flex;
    background-color: rgba(0,0,0,0.05);
    padding: 25px;
    border-radius: 6px;
    flex-direction: column;
    width: 350px;
}
#reservation form  label {
    margin-bottom: 8px;
    font-size: 14px;
    
}
.label{
    font-weight: bold;
}
#reservation form input {
    margin-bottom: 10px;
   padding: 5px;
   border: 1px solid transparent;
   box-shadow: 0 0 10px rgba(0,0,0,0.05);
   outline: 0;
}
#reservation form input:focus {
    outline: 1px solid #f6ea09;
}
#reservation form input[type="submit"]{
    margin-top: 15px;
    color: black;
    background-color: #f6ea09;
    border: 1px solid #f6ea09;
    border-radius: 5px;
}


/* footer CSS */

footer {
    background-color: rgba(0,0,0,0.05);
}
footer .services_list {
    padding: 10px 10%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
footer .services_list h2,p{

 font-size: 25px;
}
.service img {
    width: 40px;
    background-color: #f6ea09;
    padding: 10px;
    border-radius: 50%;
    margin-bottom: 10px;

}
.service {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin: 25px auto;
}
.service  p {
    color: #333;
}
hr {
    background-color: #ccc;
    border: 0;
    height: 2px;
    width: 100%;
}
.footer_text {
    text-align: center;
    font-size: 25px;
    padding: 8px 0;
}
.footer_text span {
    color: #f6ea09;
}
.toggle_menu {
    display: none;
}

/* STYLE DE LA PAGE DE DEVIS*/
.devis_page{
    
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
}
.devis_page h2{
    text-align: center;
}
.niveau_de_remplissage_devis{
    margin-top: 40px;
    width: 100%;
    display: flex;
padding: 0;
margin: 10px;
}
.niveau_de_remplissage_devis div{
    margin-top: 40px;
    width:  5rem;
    margin: 0 2px;
height: 0.5rem;
flex-grow: 1;
    color: #ffa500;
    background-color:white ;
    border: solid black 1px;
    border-radius: 10px;
}
.grille_devis{
    margin-top: 40px;
    width: 100%;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill,265px);
    grid-gap: 10px;

}
.devis_box{

    text-align: center;
    background-color: white;
    border-radius: 4px;
    padding: 10px 25px;
    margin: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.2); 
    transition: 1.3s;
}
.devis_box:hover{
transform: scale(1.1);
border: solid #ffa500 1px;
}
 .choix{
display: flex;
flex-direction: row;
justify-content:start;
margin-bottom: 8px;
}
.devis_box div img {

    width: 100%;
    
    object-fit: cover;
    border-radius: 8px;
}
.devis_controleur{
    margin-top: 40px;
    margin-bottom: 40px;

}
.devis_controleur a{
 
  margin: 25px;
}
.input_box{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 20px;
}
.plan_batiment{
    display: flex;
    flex-direction: column;
}
.input_box2{
    display: flex;
    
    justify-content: space-between;
    margin: 20px;
    padding: 10px;
    border: solid 1px black;
    border-radius: 10px;
}
.input_box3{
    display: flex;
    flex-direction: column;
    margin: 20px;
}
@media (max-width:964px) {
 
    header .menu {
        display: none;
    }
    header {
        padding: 0 20px;
        width:auto;
    }
   
    #menu .dishes .dish {
        width: 100%;
        max-width: 260px;
    }
   
    .services_list .service {
        padding: 0 50px;
    }
    .toggle_menu {
        display: flex;
        height: 40px;
        width: 40px;
         display: flex;
         align-items: center;
         justify-content: center;
         position: relative;
         cursor: pointer;
    }
    .toggle_menu::before {
        position: absolute;
        content: "";
        height: 3px;
        width: 28px;
        background-color: #f6ea09;
        border-radius: 6px;
        box-shadow: 0 10px 0 #f6ea09;
        transform: translateY(-10px);
        transition: 0.5s;
    }
    .toggle_menu.active::before {
        transform: translateY(0) rotate(135deg);
        box-shadow: 0 0 0 #f6ea09;
    }
    .toggle_menu::after {
        position: absolute;
        content: "";
        height: 3px;
        width: 28px;
        background-color: #f6ea09;
        border-radius: 6px;
        transform: translateY(10px);
        transition: 0.5s;
    }
    .toggle_menu.active::after {
        transform: translateY(0) rotate(-135deg);
      
    }
    header .menu.responsive {
        display: flex;
        position: absolute;
        top: 50px;
        left: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #fff;
        box-shadow: 0 0 10px rgba(0,0,0,0.1);
        flex-direction: column;
    }
    header .menu.responsive li {
        margin: 15px 0;
    }

    /* course chevale*/

    div.logo img.cheval{


        margin-top: 6.4rem;
        width: 6rem;
        border-radius: 50%;
        cursor: pointer;
        animation: course 5s infinite linear alternate;
        }
        @keyframes course {
            100%{
                transform: translateX(800px)  rotateZ(1080deg);
            }
        }
        img.cheval:hover{
         transform-origin: 0%;
        }

     /* course chevale*/
    #home {
        display: flex;
        flex-direction: column;
        padding: 12px;
        height: fit-content;

    }
    #home .left , #home .right  {
        width: 80%;
        padding: 0;
    }
    #home .right{
        width: 80%;
    }
    #home .left {
        margin: 30px 0;
    }
    #home .left h1 {
        font-size: 20px;
        margin-bottom: 15px;
        text-align: center;
    }
    #home .left h4 {
        font-size: 15px;
        text-align: center;
    }
    #home .left p {
        font-size: 14px;
    }

}
 .devis{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 500px;
 }
 @media (max-width:500px){
    /* course chevale*/

    div.logo img.cheval{


        margin-top: 6.4rem;
        width: 6rem;
        border-radius: 50%;
        animation: course 5s infinite linear alternate;
        }
        @keyframes course {
            100%{
                transform: translateX(350px)  rotateZ(1080deg);
            }
        }
        .devis_page{
            padding: 0%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        .grille_devis{
            width: 100%;
            display: grid;
            justify-content: center;
            grid-template-columns: repeat(auto-fill,185px);
            grid-gap: 10px;
        
        }
        .devis_box {
padding: 10px;
        }
        .devis_box  img {
            width: 60%;
            
        }
        .service  p {
            color: #333;
            font-size: 1.5rem;
        }
     /* course chevale*/

 }