@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,400;0,800;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,400;0,800;1,700&family=Roboto:wght@100;300;400;500;700;900&display=swap');

* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    /* font-family: 'Roboto'; */
    transition: all .3s ease;
}

:root {
    --color-main: rgb(72, 102, 185);
    --color-mainlight: rgb(138, 155, 228);
    --color-mainstrong: rgb(43, 53, 92);
    --color-white: rgb(255, 255, 255);
    --color-yellow: orange;
    --color-black: rgb(0, 0, 0);
    --color-black-transparent: rgba(0, 0, 0, 0.603);
    --color-transparent: transparent;
    --color-whitesmock: whitesmoke;
    --color-red: red;
    --color-shadow: rgba(0, 0, 0, 0.151);
}
p, li{
    animation: fade linear both;
    animation-timeline: view();
    animation-range: entry 60% cover 40%; 
 }
 @keyframes fade{
     from{
         opacity: 0.3;
     }
     to{
         opacity: 1;
     }
 }
 
 button {
     cursor: pointer;
 }
 
 input,
 select {
     height: 40px;
     width: 100%;
     border-radius: 5px;
     padding: 0px 10px;
     margin: 5px 0px;
     border: 1px solid var(--color-mainlight);
 }
 
 input[type="checkbox"],
 input[type="radio"] {
     height: 17px;
     width: 17px;
     border-radius: 5px;
     margin: 5px 0px;
     border: 1px solid var(--color-move);
     margin-right: 10px;
     -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
     -ms-border-radius: 5px;
     -o-border-radius: 5px;
 }
 
 textarea {
     width: 100%;
     border-radius: 5px;
     padding: 10px;
     margin: 5px 0px;
     border: 1px solid var(--color-mainlight);
 }
 
 label {
     color: rgb(62, 63, 63);
 }
 
 .dflex {
     width: 100%;
     display: flex;
     flex-wrap: wrap;
 }
 
 .flex {
     width: 100%;
     display: flex;
     flex-wrap: nowrap;
 }
 
 .spacebetween {
     justify-content: space-between;
 }
 
 .left,
 .right {
     width: 50%;
 }
 
 .btn {
     height: 40px;
     width: 100%;
     border-radius: 5px;
     padding: 0px 10px;
     margin: 5px 0px;
     margin-top: 10px;
     border: none;
     font-size: 18px;
     background: var(--color-main);
     color: white;
     -webkit-border-radius: 5px;
     -moz-border-radius: 5px;
     -ms-border-radius: 5px;
     -o-border-radius: 5px;
 }
 
 .body {
     min-height: 80vh;
 }
 
 a {
     text-decoration: none;
     color: inherit;
 }
 
 .ref {
     text-decoration: underline;
     color: blue;
 }
 
 main {
     min-height: 70vh;
 }

 
#header-admin{
    display: flex;
    justify-content: space-between;
    padding: 20px 5%;
    position: relative;
    background-color: var(--color-mainstrong);
}
#header-admin #name{
    display: flex;
}
#header-admin #name img{
    width: 100px;
    height: 80px;
}
#header-admin #name h1{
    font-size: 50px;
    font-weight: 800;
    margin: auto 0px;
    color: white;
}
#header-admin #user{
    display: flex;
    padding: auto 20px;
    margin: auto 0;
}
#header-admin #user img{
    width: 60px;
    height: 60px;
    border-radius: 40px;
    border: 3px solid white;
}
#header-admin #home{
    display: flex;
    position: absolute;
    margin-top: 80px;
    left: 70px;
    padding: 5 10px;
    border-radius: 5px;
    font-size: 40px;
    background-color: var(--color-mainlight);
    color: white;
    padding: 5px 8px;
}
#header-admin #logOut{
    display: flex;
    position: absolute;
    margin-top: 80px;
    left: 10px;
    padding: 5 10px;
    border-radius: 5px;
    font-size: 40px;
    background-color: red;
    color: white;
    padding: 5px 8px;
}
.container{
    padding: 0 10%;
}
/* ============login--------------- */
.admin-login{
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: black;
}
.login-inner{
    width: 500px;
    background-color: white;
    height: max-content;
    border-radius: 20px;
    padding: 20px;
}
.login-inner .head{
    text-align: center;
    background-color: white;
    padding: 20px;
    border-radius: 20px;
}
.login-inner .head img{
    width: 200px;
}
.login-inner .head h1{
    font-size: 50px;
    font-weight: 800;
    text-align: center;
    color: var(--color-mainstrong);
}
.login-inner .formulaire{
    margin: 10px 0;
}
.login-inner .formulaire h2{
    text-align: center;
    margin-bottom: 20px;
    font-weight: normal;
}
.login-inner .formulaire form{
    width: 100%;
    display: flex;
    flex-direction: column;
}
.login-inner .formulaire form input{
    height: 47px;
    border: 2px solid white;
    font-size: 16px;
    /* background-color: rgb(211, 211, 211); */
    width: 100%;
    border: 1px solid rgb(199, 199, 199);
}
.login-inner .formulaire form input[type=checkbox]{
    height: 15px;
    width: 15px;
    background-color: white;
    border: black;
    margin: 0;
    cursor: pointer;
}
.login-inner .formulaire form label{
    margin: 10px 0;
    cursor: pointer;
    text-align: center;
}
.login-inner .formulaire form button{
    width: max-content;
    height: 50px;
    background-color: var(--color-mainstrong);
    font-size: 18px;
    font-weight: 600;
    color: white;
    border: none;
    cursor: pointer;
    padding: 0px 50px;
    border-radius: 10px;
    align-self: center;
    margin-top: 10px;
}
.msgOk{
    width: max-content;
    padding: 5px 10px;
    background-color: rgb(161, 255, 185);
    color: green;
    font-size: 16px;
    margin-bottom: 10px;
}
.msgError{
    width: max-content;
    padding: 5px 10px;
    background-color: rgb(253, 162, 162);
    color: red;
    font-size: 16px;
    margin-bottom: 10px;
}

/* 0000000000000000000000 */
.admin-page .container{
    padding-top: 20px;
    padding-bottom: 50px;
}

.admin-page .main-inner{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}
.admin-page .main-inner .block{
    width: calc(100%/4);
}
.admin-page .main-inner .block{
    padding: 10px;
}
.admin-page .main-inner .block .content{
    width: 100%;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    background-color: var(--color-mainstrong);
}
.admin-page .main-inner .block .content .name{
    color: white;
    font-size: 25px;
    text-align: center;
}
.admin-page .main-inner .block .content:hover{
    cursor: pointer;
    background-color: rgb(32, 32, 56);
}
.admin-communiques .main-inner{
    display: flex;
}
.admin-communiques .main-inner form{
    width: 40%;
}
/* ---------- */
.S_responseOk{
    color: white;
    background-color: rgba(0, 128, 0, 0.589);
    border-radius: 5px;
    padding: 5px 20px;
    width: max-content;
    /* margin: 10px 0px; */
}
.S_responseNo{
    color: white;
    background-color: rgba(128, 0, 0, 0.589);
    border-radius: 5px;
    padding: 5px 20px;
    width: max-content;
    /* margin: 10px 0px; */
}
/* ---------- */
.admin-autorites{
    width: 100%;
    margin-bottom: 40px;
}
.admin-autorites .main-inner{
    display: flex;
    flex-direction: column;
}
.admin-autorites .formulaire{
    width: 500px;
    height: max-content;
    margin: 0px auto;
    background-color: whitesmoke;
    padding: 20px 20px;
}
.admin-autorites form{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
.admin-autorites form div{
    width: 100%;
    display: flex;
    gap: 10px;
}
.admin-autorites form button{
    border: none;
    width: max-content;
    height: 46px;
    background-color: var(--color-mainlight);
    color: white;
    font-size: 16px;
    padding: 0px 50px;
    border-radius: 5px;
}
.admin-autorites .main-inner table{
    margin-top: 50px;
    border-collapse: collapse;
}
.admin-autorites .main-inner table th{
    border: 1px solid rgba(0, 0, 0, 0.315);
    padding: 5px;
    background-color: gray;
}
.admin-autorites .main-inner table td{
    border: 1px solid rgba(0, 0, 0, 0.315);
    padding: 5px;
    font-size: 16px;
}
.admin-autorites .main-inner table td .icon-edit{
    color: var(--color-mainlight);
}
.admin-autorites .main-inner table td .icon-times{
    color: red;
}
.admin-autorites .main-inner table td img{
    width: 40px;
    height: 40px;
    border-radius: 5px;
}
/* ---table-- */
.admin-page table{
    margin: 50px 0px;
    border-collapse: collapse;
    width: 100%;
}
.admin-page table th{
    border: 1px solid rgba(0, 0, 0, 0.315);
    padding: 5px;
    background-color: rgba(75, 146, 155, 0.26);
}
.admin-page table td{
    border: 1px solid rgba(0, 0, 0, 0.315);
    padding: 5px;
    font-size: 16px;
}
.admin-page table td .icon-edit{
    color: var(--color-mainlight);
}
.admin-page table td .icon-times{
    color: red;
}
.admin-page table td img{
    width: 40px;
    height: 40px;
    border-radius: 5px;
}
/* -------- */
.admin-page .formulaire{
    width: 700px;
    height: max-content;
    margin: 0;
    margin-top: 2rem;
    background-color: rgba(197, 195, 195, 0.411);
    padding: 20px;
    border-radius: 10px;
}
.admin-page form{
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}
.admin-page form div{
    width: 100%;
    display: flex;
    gap: 10px;
}
.admin-page form button{
    border: none;
    width: max-content;
    height: 46px;
    background-color: var(--color-mainlight);
    color: white;
    font-size: 16px;
    padding: 0px 50px;
    border-radius: 5px;
    /* margin-top: 20px; */
}

.admin-gallerie{
    width: 100%;
}
.admin-gallerie .affichage{
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
}
.admin-gallerie .affichage .image{
    width: calc(100%/6);
    height: 130px;
    border-radius: 10px;
    border: 3px solid white;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}
.admin-gallerie .affichage .image .icon-times{
    font-size: 20px;
    color: red;
    background-color: white;
    padding: 1px 5px;
    border-radius: 5px;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
}

.admin-compteur{
    width: 100%;
    margin: 30px 0px;
}
.admin-compteur h2{
    font-size: 25px;
    color: var(--color-mainlight);
    margin-bottom: 10px;
}
.admin-compteur .compteur-inner{
    display: flex;
    gap: 20px;
}
.admin-compteur .compteur-inner div{
    width: calc(100%/4);
}
.admin-compteur .compteur-inner div form button{
    margin: 0px;
    padding: 0 20px;
    height: 35px;
    background-color: var(--color-mainstrong);
}
.admin-compteur .compteur-inner div form input{
    font-weight: 800;
    font-size: 25px;
}

.error{
    color: red;
    margin: 6px 0;
    font-size: 16px;
    font-weight: 600;
}
.success{
    color: green;
    margin: 6px 0;
    font-size: 16px;
    font-weight: 600;
}

.admin-horaire .main-inner{
    width: 100%;
    display: flex;
}
.admin-horaire .main-inner .formulaire{
    width: 40%;
}
.admin-horaire .main-inner .table{
    width: 60%;
    padding-left: 30px;
}