[x-cloak] {
    display: none !important;
}

@media (min-height: 600px) {
    .scroller {
        height: 100dvh;
        overflow-y: scroll;
        scroll-snap-type: y mandatory;
      }
      
    .scroller section {
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}

#home {
    color: #4D0EC9;
}

#home ul {
    list-style-type: circle;
}

@media (max-height: 667px) {
    #home img {
        max-height: 45vh;
    }
    p {
        line-height: 18px;
    }
    #map {
        height: 35vh;
    }
    #home h1 {
        font-size: 25px;
        font-weight: 300;
    }
    #home h2 {
        font-size: 20px;
        font-weight: 300;
        margin-bottom: rem;
    }
    #home h3 {
        font-size: 15px;
        font-weight: 250;
    }    
}

@media (min-height: 668px) and (max-height: 766px) {
    #home img {
        max-height: 55vh;
    }
    p {
        line-height: 20px;
    }
    #map {
        height: 40vh;
    }  
    #home h1 {
        font-size: 30px;
        font-weight: 300;
    }
    #home h2 {
        font-size: 25px;
        font-weight: 300;
        margin-bottom: rem;
    }
    #home h3 {
        font-size: 20px;
        font-weight: 250;
    }
}

@media (min-height: 767px) {
    #home img {
        max-height: 70vh;
    }
    #map {
        height: 40vh;
    }
    #home h1 {
        font-size: 30px;
        font-weight: 300;
    }
    #home h2 {
        font-size: 25px;
        font-weight: 300;
        margin-bottom: rem;
    }
    #home h3 {
        font-size: 20px;
        font-weight: 250;
    }
}

body {
  font-family: "Montserrat", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
  /*padding-top: 50px;*/
}

body p {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

#home hr {
    margin: 8px 0;
}

#home .subtitle {
    font-size: 18px;
    margin-bottom: 30px;
}

#lieu p, #lieu ul {
    margin-bottom : 4px;
}

h5 {
    font-family: "Montserrat", sans-serif;
    color: #4D0EC9;
}

.card, .form-control {
    font-weight: 300;
    border: 1px solid rgba(77,14,201, .25) !important;
    color: #4D0EC9 !important;
}

.btn {
    font-weight: 300;

}
/* Styles spécifiques pour les autres sections, à adapter selon vos besoins */

.btn-check+.btn, .btn-primary, .form-check-input {
    border-color: #4D0EC9 !important; /* Couleur de bordure personnalisée */
}

.btn-check:checked+.btn, .btn-primary, .form-check-input:checked {
    background-color: #4D0EC9 !important; /* Couleur de fond personnalisée */
    color: #ffffff !important; /* Couleur du texte personnalisée */ 
}

.btn-check+.btn {
    color: #4D0EC9 !important;
}

.vertical-center {
    min-height: 100%;  /* Fallback for browsers do NOT support vh unit */
    min-height: 100dvh; /* These two lines are counted as one :-)       */
  
    display: flex;
    align-items: center;
  }

@media (max-width: 767px) {
    .mobile-md-plain {
        height: 100dvh;
        display: flex;
        align-items: center;
    }
}

@media (min-width: 766px) {
    .desktop-md-plain {
        height: 100dvh;
    }
}

#whcol {
    width: 120px;
}

ul {
    list-style-type: none;
    padding: 0 3vw;
    margin: 0;
}

.cahier {
    background: repeating-linear-gradient(
      90deg,
      rgba(77, 14, 201, 0.05),
      rgba(77, 14, 201, 0.05) 1px,
      transparent 1px,
      transparent 20px
    ), repeating-linear-gradient(
        0deg,
        rgba(77, 14, 201, 0.05),
        rgba(77, 14, 201, 0.05) 1px,
        transparent 1px,
        transparent 20px
      );
    color: #4D0EC9;
    font-family: "Lato", sans-serif;
  font-weight: 300;
}

#map .fa-solid {
    opacity: 0.75;
}

hr.style-two {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}