* {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  padding: 0;
}


/*-----------cards en grid*/

.cartes{
  display:grid;
  grid-template-columns: repeat(auto-fill,minmax(250px,1fr));
  gap:10px;
  width: 100%;
}

.carte img{
  border-radius: 10px;

}



/*---calcule----*/

#grid_calculatrice{
  display:flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70vh;
}

#calculatrice{
  background-color: black;
  padding:10px;
}

#ecran{
  width: 100%;
  height: 100px;
  background-color: lightblue;
  margin: 5px 0;
  border-radius: 5px;
  display: flex;
  font-size: 1.5em;
  justify-content: end;
  align-items: end;
  padding: 10px;
  font-weight: bold;
}

#touches{
  display: grid;
  grid-template-columns: repeat(4,50px);
  grid-template-rows: repeat(5,50px);
  gap:5px;

}

.bouton{
  background-color: beige;
  border: none;
  border-radius: 5px;
}
.bouton:active{
  transform: translateY(2px);
}

#enter{
  grid-column: span 2;
}
/* GRID */

.grid_form{
  display: grid;
  grid-template-areas: 
    "info1 photo adresse"
    "info2 info2 adresse"
    "btn btn btn";
  grid-template-columns: 1.5fr 0.50fr 1.5fr;
  grid-template-rows: 2fr 1fr 0.25fr;
  grid-gap:5px;
  width: 100%;
}

.g_info_1{
  grid-area: info1;
  background: lightblue;
  color: white;
}

.g_info_2{
  grid-area: info2;
  background: lightblue;
  color: white;
}

.g_photo{
  grid-area: photo;
  background: navy;
  color: white;
}

.g_adresse{
  grid-area: adresse;
  background: red;
  color: white;
}

.g_btn{
  grid-area: btn;
  background: black;
  color: white;
}

@media screen and (max-width:1000px){
  .grid_form{
    display: grid;
    grid-template-areas: 
      "info1 photo "
      "info2 info2 "
      "adresse adresse"
      "btn btn";
    grid-template-columns: 1.5fr 0.50fr;
    grid-template-rows: 0.5fr 1fr 0.25fr 0.25fr;
    grid-gap:5px;
    width: 100%;
  }
}

@media screen and (max-width:800px){
  .grid_form{
    display: grid;
    grid-template-areas: 
      "info1" 
      "photo"
      "info2"
      "adresse"
      "btn";
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 0.25fr 1fr 1.5fr 0.25fr;
    grid-gap:5px;
    width: 100%;
  }
}



.contextmenu{
  width: 150px;
  display: none;
  position: absolute;
  background-color: white;
  box-shadow: 5px 5px 5px gray;
  z-index: 100;
  padding: 10px;
}

.contextmenu ul{
  padding: 0;
}

.contextmenu a {
  display: block;
  width: 100%;
  line-height: 50px;
  padding: 0 10px;
}

.contextmenu a:hover{
  background-color: lightgray;
  color: black;
  padding: 0 10px ;
}

.hide{
  display: none;
}

li{list-style-type: none;}

#login-container{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  /* background-image: url("../img/AFPA2.jpg"); */
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 100;
}

#login-content{
  min-width: 40vw;
  min-height: 15vh;
  border-radius: 10px;
  box-shadow: 10px 10px 10px gray;
  padding: 10px;
  background-color: gainsboro;
}

header{
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: white;
}

aside{
  min-height:100vh ;
  background-color: whitesmoke;
}

section{
  min-height: 100vh;
  background-color: whitesmoke;
  
}

footer{
  height: 10vh;
}

thead{
  color:white;
}

tfoot{
  color:white;
}

#thead_tr_message{
  height: 60px;
  padding: 15px;
}

#thead_tr_message th{
  border-radius: 4px;
  padding: 4px;
}

#attente{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100vw;
  position: fixed;
  top: 10vh;
  backdrop-filter:blur(5px);
  visibility: hidden;
}

.bg-green{
  background: green;
  color: white
  !important;
}

a{
  text-decoration: none;
}

#etat{
  min-width: 20px;
  max-width: 20px;
  min-height: 20px;
  max-height: 20px;
  border-radius: 50%;
  margin:auto 4px;
  background-color: red;
}

.page{
  min-width: 40px;
  max-width: 40px;

  min-height: 40px;
  max-height: 40px;

  border-radius: 5px;
  margin: 0 10px;

  font-size: 1.25em;
}

.scroll tbody{
  display: block;
  width: 100%;
  max-height: 800px;
  overflow-y:auto;
}

.scroll-sm tbody, p.scroll-sm{
  display: block;
  width: 100%;
  max-height: 400px;
  min-height: 100px;
  overflow: auto;
}

.scroll-sm tbody tr, .scroll-sm thead, .scroll-sm tfoot{
  display: table;
  width: 100%;
}

.border-white{
  border: 1px solid white;
}

#banner{
  max-height: 10vh;
  overflow: hidden;
}

.relative{
  position: relative;
}

.w05 {
  width: 5%;
}

.w10 {
  width: 10%;
}

.w15 {
  width: 15%;
}

.w20 {
  width: 20%;
}

.w25 {
  width: 10%;
}

.w30 {
  width: 30%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w90 {
  width: 90%;
}

.w100 {
  width: 100%;
}

.m_auto {
  margin: 10px auto;
}

.line-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 10vh;
}

.button-action {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  border-radius: 5px;
  padding: 5px 10px;
  min-width: 100px;
  /* box-shadow: 5px 5px 5px white; */
  cursor: pointer;
  border: none;
}

.button-large {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  border-radius: 5px;
  padding: 5px 10px;
  min-width: 100px;
  /* box-shadow: 5px 5px 5px white; */
  cursor: pointer;
  border: none;
}

.obligatoire:after {
  content: ' *';
  color: red;
  font-weight: bold;
  font-size: 1.25em;
}