@font-face {
  font-family: Jost;
  src: url(../font/Jost-Regular.ttf);
}

@font-face {
  font-family: JostSemiBold;
  src: url(../font/Jost-SemiBold.ttf);
}

@font-face {
  font-family: JostBold;
  src: url(../font/Jost-Bold.ttf);
}

html {
  overflow: unset;
  height: 100%;
  width: 100%;
}


/*@media (min-width: 1537px) {
  p,
  a {
    font-size: 17px;
  }
}

@media (max-width: 1536.99px) and (min-width: 970px) {

  p,
  a {
    font-size: 15px;
  }
}

@media (max-width: 969.99px) and (min-width: 800px) {

  p,
  a {
    font-size: 12px;
  }
}

@media (max-width: 799.99px) and (min-width: 615px) {

  p,
  a {
    font-size: 8px;
  }
}*/
p, a {
  font-size: clamp(12px, calc(1.35vw), 18px);
}


@media (min-width: 850px) {
  /*pour fermeture du menu mobile*/
  /* MENU BURGER*/
  .conteneurNav {
    justify-content: space-around;
  }

  /* elements pour ouvrir nav mobile */
  .ouvreurNavMobile{
    display: none;
  }

  .navOption {
    display: flex;
    cursor: pointer;
    width: 13%;
    height: 85%;
    flex-direction: row;
    align-items: center;

    img {
      height: 20px;
      margin: 4%;
    }

  }

  /* FIN pour fermeture du menu mobile*/


  /* footer pc*/
  footer {
    height: 6.5%;
  }
  #couverture.reduit {
    height : 93.5%;
  }
  #formAjout.reduit {
    height : 93.5%;
  }

  .corps{
    height: max(78.5%, calc(78.5% + (8% - 126.5px) + (6.5% - 82px) + (6.5% - 100px) ));
  }
  .containerFooter {
    flex-direction: row;

  }
  .containerFooter>div {
    width: 30%;
  }
  .liensInternes {
    justify-self: flex-start;
    margin-left: 1%;
  }
  .liensReseaux {
    justify-self: flex-end;
    margin-right: 1%;
    justify-content: flex-end;
  }
  .copyright {
    height: 50%;
  }
  /* fin footer pc */

}


@media (max-width: 849.999999px) {
  /*pour ouverture menu mobile */

  #adminNav {
    display: none;
  }
  #connexion {
    display: none;
  }
  .conteneurNav {
    justify-content: space-evenly;
  }
  #statsBlock{
    display: none;
  }

  /* MENU BURGER*/
  .ouvreurNavMobile {
    z-index: 3;
    width: 140px;
    padding-left: 10px;
    height: 100%;
    background-color: #dfdfdf;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
  }
  .ouvreurNavMobile > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    p {
      font-size: clamp(10px, 5vw, 20px);
    }
  }
  .navOption {
    display: none;
  }
  .burger {
    margin-left: 3%;
    display: block;
    position: sticky;
    top: 6%;
    height: 40.25%;
  }

  /* fin pour ouverture menu mobile */


  /*footer mobile*/
  footer {
    padding-bottom: 1%;
    height: 11%;
    width: 100%;
  }
  #couverture.reduit {
    /*max-height : 89%;*/
    height: calc(100% - 100px - 1%);
  }
  #formAjout.reduit {
    /*max-height : 89%;*/
    height: calc(100% - 100px - 1%);
  }

  .corps{
    height: max(74%, calc(74% + (8% - 126.5px) + (6.5% - 82px) + (11% - 100px) ));
  }

  footer a {
    font-size: 15px;
  }

  .containerFooter {
    flex-direction: column-reverse;
  }

  .containerFooter>div {
    height: 25%;
    width: 100%;
    justify-content: center;
  }

  .liensInternes .liensReseaux {
    align-items: center;
    justify-self: center;
    margin: 0%;
  }


  .copyright {
    height: unset;
  }

  .copyright>p:nth-child(2) {
    visibility: hidden;
    height: 0%;
  }

  /* fin footer mobile */

}
/*font mobile menu*/
@media (min-width: 375px){
  .navOptionMobile  p {
      font-size: 13px;
  }
}
@media (max-width: 374.99px){
  .navOptionMobile  p {
      font-size: 10px;
  }
}

@media (min-width: 600px) { /*  */
  /* on génère un élément :after lors du survol et du focus :*/
  .picto-item{
    z-index: 4;
  }

  .picto-item:hover:after,
  .picto-item:focus:after {
    content: attr(aria-label);  /* on affiche aria-label */
    font-family: Jost;
    position: absolute;
    top: 2.2em;
    left: 50%;
    transform: translateX(-50%); /* on centre horizontalement  */
    z-index: 4; /* pour s'afficher au dessus des éléments en position relative */
    white-space: nowrap;  /* on interdit le retour à la ligne*/
    padding: 5px 14px;
    background: #007838;
    color: #fff;
    border-radius: 4px;
    font-size: 1rem;
  }

  .info6 > .picto-item:hover:after,
  .info6 > .picto-item:focus:after {
    top: -2.5em;
    background: #be1622;
  }

  .info6 > [aria-label]:hover:before,
  .info6 > [aria-label]:focus:before {
    top: -1.1em;
    content: "▼";
    color: #BE1622;
  }

  .actionsEditerSupprimer > .picto-item:hover:after,
  .actionsEditerSupprimer > .picto-item:focus:after {
    top: -2.5em;
  }

  .actionsEditerSupprimer > [aria-label]:hover:before,
  .actionsEditerSupprimer > [aria-label]:focus:before {
    top: -1.1em;
    content: "▼";
  }

  .actionsEditerSupprimer > .picto-item:nth-child(2):hover:after,
  .actionsEditerSupprimer > .picto-item:nth-child(2):focus:after {
    background: #0b4697;
  }
  .actionsEditerSupprimer > [aria-label]:nth-child(2):hover:before,
  .actionsEditerSupprimer > [aria-label]:nth-child(2):focus:before {
    color: #0b4697;
  }

  .actionsEditerSupprimer > .picto-item:nth-child(3):hover:after,
  .actionsEditerSupprimer > .picto-item:nth-child(3):focus:after {
    background: #be1622;
  }
  .actionsEditerSupprimer > [aria-label]:nth-child(3):hover:before,
  .actionsEditerSupprimer > [aria-label]:nth-child(3):focus:before {
    color: #BE1622;
  }

  .actionsEditerSupprimer > .picto-item:nth-child(4):hover:after,
  .actionsEditerSupprimer > .picto-item:nth-child(4):focus:after {
    background: #d4aa2e;
  }
  .actionsEditerSupprimer > [aria-label]:nth-child(4):hover:before,
  .actionsEditerSupprimer > [aria-label]:nth-child(4):focus:before {
    color: #d4aa2e;
  }



  /* on génère un second élément en :before pour la flèche */

  [aria-label]:hover:before,
  [aria-label]:focus:before {
    content: "▲";
    position: absolute;
    top: 1.3em;
    left: 50%;
    transform: translateX(-50%); /* on centre horizontalement  */
    z-index: 4; /* pour s'afficher au dessus des éléments en position relative */
    font-size: 20px;
    color: #007838;
  }

  /* pas de contour durant le :focus */
  [aria-label]:focus {
    outline: none;
  }


}
@media (max-width: 599.9999px) {
  #etoileNav, #accueilNav {
    position: absolute;
    left: 4%;
  }
}




body {
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
}

/* HEADER*/
header {
  z-index: 4;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;

  height: 8%;
  max-height: 126.5px;
  padding-left: 1%;
  background-repeat: no-repeat;
  background-image: url("../images/logos/logo_maurin.png");
  background-size: contain;
  background-position: 50% 50%;
  background-color: #FFFFFF;
  position: sticky;
  top: 0%;

}
header > a {
  width: 30px;
  height: 30px;
  display: inherit;
  align-items: inherit;
  margin-right: 20px;
  position: relative;
}
#etoileNav {
  transition: 400ms;
  background-image: url("../images/biblio/etoile-blanc.png");
  background-size: contain;
  background-repeat: no-repeat;
}
#etoileNav:hover{
  transition: 400ms;
  background-image: url("../images/biblio/etoile.png");
}
#adminNav{
  background-image: url("../images/biblio/roue1.png");
  background-size: contain;
  background-repeat: no-repeat;
}
#accueilNav{
  background-image: url("../images/biblio/home.png");
  background-size: contain;
  background-repeat: no-repeat;
}





.navOptionNormal{
  transition: 400ms;
  background-color: #FFFFFF;
}
.navOptionHovered{
  transition: 400ms;
  background-color: #007838;
  font-family: JostSemiBold;
  color: #FFFFFF;
}
.navOptionSelectionnee{
  transition: 400ms;
  background-color: #007838;
  font-family: JostSemiBold;
  color: #FFFFFF;
}

.containerActions {
  transition: 400ms;
  width: fit-content;
  height: 50%;
  min-height: 30px;
  cursor: pointer;
  margin-right: 4%;
  display: flex;
  justify-content: flex-end;
  align-items: center;

  border-style: solid;
  border-color: black;
  border-width: 1px;
  border-radius: 3px;

  p {
    padding-left: 10px;
    text-wrap: nowrap;
    font-family: JostSemiBold;
  }

  img {
    margin-right: 10px;
    height: 30px;
    margin-left: 10px;
  }
}

.containerActionsConnecte{
  transition: 400ms;
  color: #FFFFFF;
  background-color:#BE1622 ;
}

.containerActionsDeconnecte{
  transition: 400ms;
  color: #FFFFFF;
  background-color:#007838 ;
}


/* NAVBAR*/
.normalNav {
  z-index: 3;
  max-height: 82px;
  height: 6.5%;
  display: flex;
}

.navCachee{
  display: none;
}
.navAffichee{
  transition: 600ms;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
}

.mobileNav{
  z-index: 3;
  position: absolute;
  left: 0%;
  height: 60vh;
  width: 50vw;
  background-color: #DFDFDF;
  border-color: #333333;
}
.navOptionMobile{
  display: flex;
  cursor: pointer;
  width: 70%;
  height: 15%;
  flex-direction: row;
  align-items: center;

  img {
    height: 20px;
    margin: 4%;
  }
}

.conteneurNav{
  margin-block: unset;
  background-color: #DFDFDF;
  padding-inline: unset;
  width: 100%;
  height: 100%;
  flex-direction: row;
  align-items: center;
}

.conteneurNav li ul, .mobileNav div ul {
  z-index: 1;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;

  li{
    width: 100%;
    height: 100%;
    display: none;
  }
}

.conteneurNav li ul li, .mobileNav div ul li {
  color: black;
  width: calc(100% - 2px);
  height: 100%;
  float: left;
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #007838;

}


 /* sous menu mobile */
.autresLiensMobilesCliques {
  z-index: 2;
}


.mobileNav div ul .downArrow {
  transform: rotate(180deg);
}

.mobileNav:has(.autresLiensMobilesCliques){
  .monEspace, .constructeurs, .assistance, .logicielsInternes, .financement {
    transition: 0ms;
    display: none;
  }
}

.conteneurNav li:hover ul{ /* celui de la navbar normale */

  .downArrow{
    transition: 200ms;
    transform: rotate(180deg);
  }
  li{
    display: flex;
    align-items: center;
    justify-content: center;
  }

  li:hover{
    border-color: #d4aa2e;
    font-family: JostBold;
  }
}
.mobileNav .autresLiensMobilesCliques {
  transform: translate(0%, calc(-200% + 1px)); /* pas besoin car normalement display none fait l'action*/
}


.mobileNav .autresLiensMobilesCliques ul  { /* celui mobile */

  .downArrow{
    transition: 200ms;
    transform: rotate(360deg);
  }
  li{
    /*transform: translate(0%, calc(-500% + 1px));*/
    display: flex;
    align-items: center;
    justify-content: center;
  }

  li:hover{
    border-color: #d4aa2e;
    font-family: JostBold;
  }
}

.conteneurLibNav{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}


li{
  list-style: none;
}

.downArrow{
  justify-self: flex-end;
}


p {
  font-family: Jost;
  margin-block-start: 0%;
  margin-block-end: 0%;
}

footer {
  z-index: 3;
  max-height: 100px;
  width: 100%;
  background-color: #333333;
  position: fixed;
  left: 0;
  bottom: 0;


  .containerFooter {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }


  a {
    font-family: Jost;
    color: white;
    text-align: center;
    text-underline-position: under;
  }

  p {
    margin-block-start: 0%;
    margin-block-end: 0%;
    color: white;
  }

  .liensInternes {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .copyright {
    display: flex;
    flex-direction: column;
    justify-self: center;
    justify-content: center;
    align-items: center;

    p:first-child {
      font-size: 15px;
    }

    p:nth-child(2) {
      font-size: 12px;
    }
  }

  .liensReseaux {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100%;

    .rs {
      transition: 300ms;
      margin: 1.5%;
      height: 80%;
      aspect-ratio: 1/1;
      background-color: #525252;
      display: flex;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 65%;
    }

    .rs:hover {
      transition: 600ms;
      background-color: #ffffff;
    }

  }

  #fb {
    background-image: url(../images/biblio/footer/fb-blanc.png);

  }

  #fb:hover {
    transition: 600ms;
    background-image: url(../images/biblio/footer/fb-gris.png);
  }

  #ig {
    background-image: url(../images/biblio/footer/ig-blanc.png);
  }

  #ig:hover {
    transition: 600ms;
    background-image: url(../images/biblio/footer/ig-gris.png);
  }

  #lnkdn {
    background-image: url(../images/biblio/footer/lnkdn-blanc.png);
  }

  #lnkdn:hover {
    transition: 600ms;
    background-image: url(../images/biblio/footer/lnkdn-gris.png);
  }

  #yt {
    background-image: url(../images/biblio/footer/yt-blanc.png);
  }

  #yt:hover {
    transition: 600ms;
    background-image: url(../images/biblio/footer/yt-gris.png);
  }

}
footer:has(.flagsContainerAffiche){
  z-index: 5;
}
#selectLang {
  position: relative;
  cursor: pointer;
  display: flex;
  background-repeat: no-repeat;
  background-image: url("../images/biblio/footer/langage.png");
  background-size: contain;
  height: 60%;
  aspect-ratio: 1/1;
  margin-right: 1.5%;
}

.subdiv > p{
    font-family: JostSemiBold;
}
.subdiv:hover > p{
  font-family: JostBold;
}

.flagsContainerAffiche {
  display: flex;
}
.flagsContainerCache {
  display: none;
}

.flagsContainer{
  text-wrap: nowrap;

  position: absolute;
  left: 50%;
  transform: translateY(-110%) translateX(-50%);

  width: 100%;
  min-width: fit-content;
  height: auto;

  background-color: #333333;
  border-radius: 5px ;
}
.flexColumnCentered {
  flex-direction: column;
  justify-content: space-evenly;
}
.flagsContainer > p {
  margin-right: 8px;
  margin-left: 8px;
  font-size: 20px;
}
.flagsContainer > p:hover {
  font-family: JostBold;
}

/* REFACTOR EN DESSOUS*/
.corps {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 0.5%;
}

.fenetre {
  /*margin: 0 2% 1%;*/
  border-radius: 5px;
  background-color: #f6f6f6;
  height: 97.25%;
  width: 95%;
  padding-left: 2%;
  padding-right: 2%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;

}

#normalCartes{
  grid-template-rows: repeat(auto-fit, minmax(calc(160px * 1.38), max-content));
  grid-template-columns: repeat(auto-fit, minmax(160px, max-content));
  grid-gap: 16px;
}
#normalCartes:has(.formSuppression){
  grid-gap: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}


.cartes{
  padding-right: 0.75%;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
  display: grid;

  justify-content: center;
  /* bg image */
  background-image: url("../images/logos/logo_maurin_mono_noir_transparent.png");
  background-repeat: no-repeat;
  background-position: 50% 98%;
  background-size: 5%;
}


.carte {
  width: 160px;
  height: calc(160px * 1.38);
  padding: 5px;
  background-color: #d9d9d9;
  background-color: transparent;
  animation-duration: 0.5s;
  animation-name: slidein;
}
@keyframes slidein {
  0% {
    margin-left: 1000%;
    opacity: 0.5;
  }

  90%{
    margin-left: 10%;
    opacity: 0.8;
  }
  100% {
    margin-left: 0;
  }
}




/* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
.flip-card {
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 1px solid #f1f1f1;
  perspective: 1000px;
  /* Remove this if you don't want the 3D effect */


}

/* This container is needed to position the front and back side */
.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.4s;
  transform-style: preserve-3d;


}

/* Do an horizontal flip when you move the mouse over the flip box container */
.carte:hover .flip-card-inner {
  transform: rotateY(180deg);
}

/* Position the front and back side */
.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  /* Safari */
  backface-visibility: hidden;
  box-shadow:
    0px 3px #3333332c,
    1px 2px #3333332c,
    -1px 2px #3333332c;
}

/* Style the front side (fallback if image is missing) */
.flip-card-front {
  color: black;
  background-color: #d9d9d9;

}

/* Style the back side */
.flip-card-back {
  overflow-y: auto;
  color: black;
  background-color: #d9d9d9;
  transform: rotateY(180deg);
}



.conteneurImg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 75%;
  background-color: #ffffff;
}

.imgCarte {
  object-fit: contain;
  width: 75%;
  height: 75%;
}

.carte:hover{
   .conteneurLibelle{
     transition: 400ms;
     background-color: #007838;
     color: #FFFFFF;
     font-family: JostSemiBold;

   }

}

.conteneurUnLien{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.conteneurLibelle {
  transition: 400ms;
  height: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
}

.listeLiens {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

.lienBack {
  margin-left: 5%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: auto;
  max-height: 30%;
  width: 90%;
}

.lienBack>p {
  font-size: 12px;
  align-self: center;
}

.btnLien {
  height: auto;
  width: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.acceder {
  overflow-x: hidden;
  border-radius: 2px;
  cursor: pointer;
  text-decoration: none;
  max-width: 95%;
  padding-right: 4px;
  padding-left: 4px;
  width: auto;
  height: 100%;
  background-color: #007838;
  font-family: JostSemiBold;
  font-size: 15px;
  color: #FFFFFF;
}
.acceder:hover {
  word-wrap: anywhere;
}

.libelleCarte {
  text-align: center;
  font-size: 15px;
}

.administration{
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  height: 5%;
  width: 100%;

  .btnAdmin{
    transition: 400ms;
    color: white;
    text-decoration: none;
    width: 15% ;
    height: 70%;
    margin-right: 2.5%;

    border-radius: 2px;
    box-shadow: none;

    background-image: url("../images/biblio/roue-blanc.png");
    background-position: 5%;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #007838;

    display: flex;
    justify-content: center;
    align-items: center;

    p{
      font-family: JostSemiBold;
    }

  }
  .btnAdmin:hover{
    transition: 400ms;
    color: black;
    background-image: url("../images/biblio/roue-noir.png");
    background-color: #d4aa2e;
  }

}

.toastInner{
  z-index: 4;
  border-radius: 5px;
  width: fit-content;
  height: fit-content;

  position: absolute;
  left: 50%;
  transform: translate(-50%);


  display: flex;
  justify-content: center;
  align-items: center;

  background-repeat: no-repeat;
  background-position: 3%;
  background-size: 20px;

  p{
    margin: 20px 20px 20px 40px ;
    text-align: center;
    color: #FFFFFF;
    font-family: Jost;
    font-size: 14px;
  }
}

.toastTop{
  top: 17%;
}
.toastBottom{
  bottom: 20%;
}
.toastBottomPopUpConnexion{
  top: 30%;
}

.toastVert{
  background-color: #007838;
  background-image: url("../images/biblio/formulaires/check-mark.png");
}

.toastRouge{
  background-color: #BE1622;
  background-image: url("../images/biblio/formulaires/cross-mark.png");
}
.toastJaune{
  background-color: #d4aa2e;
  background-image: url("../images/biblio/formulaires/info-mark.png");
}


.toastCache{
  transition: 400ms;
  opacity: 0;
}
.toastAffiche{
  transition: 400ms;
  opacity: 1;
}

.etoile{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 25px;
  height: 25px;
}
.flip{
  position: absolute;
  top: 10px;
  left: 10px;
  width: 25px;
  height: 25px;
}
.cartes > form {
  transition: opacity 600ms;
  opacity: 0;

}
.cartes > .formVisible {
  transition: opacity 600ms;
  opacity: 1;

}
.clickable {
  cursor: pointer;
}
.underline {
  text-decoration: underline;
}
.centered {
  text-align: center;
}

#formAjout{
  z-index: 4;
}

.elementCache {
  display: none;
}

