@charset "utf-8";

@font-face {
  font-family: "coolveticaregular";
  src: url("../font/policetexte/webfontkit-20240107-134119/coolvetica_rg-webfont.woff2")
      format("woff2"),
    url("../font/policetexte/webfontkit-20240107-134119/coolvetica_rg-webfont.woff")
      format("woff");
  font-weight: normal;
  font-style: normal;
}

html, body {
    cursor: url('../images/galerie/curseur.png') 11 0, auto !important;
    min-height: 100vh; 
}


a, button, .image-wrapper {
    cursor: url('../images/galerie/curseur.png') 11 0, pointer !important;
}

.dt-paging {
    text-align: right !important;
    margin-top: 10px !important;
    display: flex !important;
    justify-content: flex-end !important;
}

#popcorn-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw; 
    height: 100vh; 
    pointer-events: none;
    z-index: -1; 
    overflow: hidden;
}

.container {
    position: relative;
    z-index: 10;
    
}

.popcorn-grain {
    position: absolute;
    top: -100px; 
    background-size: contain;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    animation: chute-popcorn linear forwards;
}

@keyframes chute-popcorn {
    0% {
        transform: translateY(0) rotate(0deg);
    }
    100% {
        transform: translateY(110vh) rotate(720deg); 
    }
}

.theme-switch-wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 10px;
    gap: 10px;
    color: white;
}

.theme-switch {
    display: inline-block;
    height: 34px;
    position: relative;
    width: 60px;
}

.theme-switch input { display:none; }

.slider {
    background-color: #ccc;
    bottom: 0; cursor: pointer; left: 0; position: absolute; right: 0; top: 0;
    transition: .4s; border-radius: 34px;
}

.slider:before {
    background-color: #fff; bottom: 4px; content: ""; height: 26px;
    left: 4px; position: absolute; transition: .4s; width: 26px; border-radius: 50%;
}

input:checked + .slider { background-color: #f7be04; } 
input:checked + .slider:before { transform: translateX(26px); }

body {
    background-color: #5760d6af; 
}

body.theme-indian nav ul {
    background-color: #ff00228a; 
}

#mute-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 20;
    background: rgba(0, 0, 0, 0.5);
    border: 2px solid white;
    color: white;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    cursor: pointer;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s;
}

#mute-btn:hover {
    background: rgba(255, 255, 255, 0.3);
}


.film-list {
    display: none; 
}


.active-list {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: space-around;
}

.container-synopsis {
    display: flex;          
    justify-content: center; 
    gap: 20px;              
    flex-wrap: wrap;      
}

.image-wrapper {
    width: 300px;           
    text-align: center;
}

.image-wrapper img {
    width: 100%;           
    height: auto;
}

.image-container .image-wrapper img {
    filter: grayscale(100%);
    transition: filter 0.3s ease-in-out;
}

.image-container .image-wrapper:hover img {
    filter: grayscale(0%);
}

.container-synopsis .image-wrapper img {
    filter: grayscale(0%) !important;
}

.nav-shape {
    z-index: 9999 !important;
    position: relative;
}

.show-menu-responsive {
    display: block !important;
    z-index: 10000 !important;
}

#montableau_wrapper {
    margin-top: 20px;
    clear: both;
}

.dt-container {
    margin-top: 50px !important;
    clear: both !important;
    display: block !important;
}


.dt-layout-row {
    margin-bottom: 15px !important;
}

#montableau {
    background-color: white;
    width: 100% !important;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.nav-shape {
    z-index: 9999 !important;
}

.show-menu-responsive {
    display: flex !important; 
    flex-direction: column;
}

.dt-container {
    clear: both !important;
    display: flex !important;
    flex-direction: column !important;
    margin-top: 60px !important; 
    padding: 20px !important;
}


.dt-layout-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    margin: 10px 0 !important;
}

.nav-shape {
    z-index: 9999 !important;
}

.dt-scroll-head {
    z-index: 1 !important; 
}

* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  margin: 0;
  padding: 0;
}


.home-page-content-spacer {
  margin-bottom: 100px;
}

video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.container {
  background-color: #e7bab743;
  color: #161414c0;
  margin-top: 100px;
  margin-bottom: 100px;
  border-radius: 10px;
  border: 2px solid #ccc;
  padding: 20px;
  overflow: auto;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  width: 95%;
}

.text-with-image-container {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.video-elements {
  gap: 30px;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.sound-element {
  width: 500px;
  margin: auto;
}

.text-with-image-container-reverse {
  display: flex;
  flex-direction: row-reverse;
  gap: 20px;
}

nav {
  position: fixed;
  width: 100%;
  top: 0;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: initial;
  background-color: #ff0022c1;
  display: flex;
  justify-content: center;
}

li {
  text-align: center;
  border: 1px;
}

li a {
  display: block;
  color: #c7d4be;
  padding: 17px 50px;
  text-decoration: none;
  text-align: center;
}


li a:hover {
  background-color: #f7be04c2;
  color: white;
}

nav ul li a.active {
  color: white;
  font-size: 1.1em;
  background-color: #f7be04c2 !important; 
  color: white !important;
  font-weight: bold;
  text-decoration: underline; 
}


.dropbutton {
  display: block;
}

.menu {
  flex-direction: column;
}

.menu-content {
  display: none;
  position: absolute;
  background-color: #12dfd4bb;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(10, 216, 243, 0.725);
  z-index: 10;
}

.menu-content a {
  color: #bed4bf;
  padding: 12px 16px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
}

.menu:hover .menu-content {
  top: 50px;
  display: flex;
  flex-direction: column;
}

.text_accueil {
  text-align: center;
  font-size: 3em;
  color: white;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.image-container {
  display: flex;
  flex-wrap: wrap; 
  justify-content: center; 
  background-color: #e7bab743;
  color: #161414c0;
  margin-top: 100px;
  margin-bottom: 100px;
  border-radius: 10px;
  border: 2px solid #ccc;
  padding: 10px;
  overflow: auto;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  align-items: flex-start; 
  gap: 20px; 
  margin: 0 auto;
}

.image-wrapper {
    width: calc(33.33% - 20px); 
    min-width: 250px; 
    margin: 10px; 
    position: relative;
}


.image-wrapper img {
    width: 100%;
    height: 400px; 
    object-fit: cover;
    display: block;
}

.image-wrapper h3 {
    min-height: 3em; 
    text-align: center;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(
    0,
    0,
    0,
    0.7
  ); 
  color: white;
  display: none;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 20px;
}
.image-wrapper:hover .overlay {
  display: flex; 
  
}


.flex-contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


.flex-contacts {
  display: flex;
  flex-direction: row;
  gap: 70px;
  align-items: center;
  justify-content: center;
}


.texte_accueil {
  margin-top: 40px;
  font-size: 1.2em;
}

.active {
  color: white;
  font-size: 1.1em;
}


footer .active{
  text-align: center;
  margin: auto;
  font-size: 1.5em;
}

.footer-non-complete-page {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #ff00228a;
  text-align: center;
}

.center-text-content {
  text-align: center;
}

.lien {
  text-decoration: none;
}

#quizz-container {
  max-width: 600px;
  margin: 50px auto;
  font-size: 1.2em;
}

#result {
  margin-top: 20px;
  font-weight: bold;
  font-size: 1.5em;
}


.quizz-question {
  margin-top: 50px;
}

.quizz-question-element {
  display: block;
}

.quizz-button {
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-top: 20px;
}

.hidden-on-large-screens {
  display: none;
}

.hidden {
  display: none;
}

@media screen and (max-width: 1280px) {
  .container {
    margin: 80px 50px 10px 50px;
  }
  .image-container {
    margin: 80px 50px 10px 50px;
  }

  .text-with-image-container {
    flex-direction: column;
  }

  .text-with-image-container-reverse {
    flex-direction: column;
  }

  .video-elements {
    gap: 5px;
    flex-direction: column;
    align-items: center;
  }

  #nav-menu ul div {
    display: none;
  }

#en-tete {
    display: flex;
    gap: 10px; 
}

#en-tete input {
  max-width: 100%;
}

#nav-menu ul li {
  display: none;
  }

  #nav-menu {
    height: 50px;
  }

  .small-screens-menu {
    display: inline-block !important;
    text-align: left !important;
    margin-right: auto !important;
  }

  nav.show-menu-responsive {
    height: 100vh;

    ul div {
      display: block !important;
    }

    ul li {
      display: block !important;
    }

    .menu {
      display: block !important;
    }

    ul {
      display: block;
    max-width: 1080px;
    margin: 0 auto; 
    }

    

    .menu-content {
      display: inline-block;
      position: relative;
    }

    .small-screens-menu a {
      display: inline-block;
      text-align: left;
    }

    .menu:hover .menu-content {
      top: 0px;
      display: flex;
      flex-direction: column;
    }
  }
}

@media screen and (max-width: 768px) {
  .container {
    margin: 80px 5px 10px 5px;
  }
  .image-container {
    margin: 80px 5px 10px 5px;
  }

  .sound-element {
    width: 300px;
  }

  .video-elements {
    iframe {
      max-width: 400px;
    }
  }

  .flex-contacts {
    flex-direction: column !important;
  }

.centrage-texte {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); 
  
  background: rgba(0, 0, 0, 0.5); 
  padding: 30px 50px;             
  border-radius: 15px;          
  backdrop-filter: blur(5px);    
  
  text-align: center;
  color: white;
  z-index: 10;
  width: 80%;                    
  max-width: 800px;              
}


.centrage-texte h1 {
  font-size: 2.5rem;
  margin-bottom: 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); 
  
}


.centrage-texte p {
  font-size: 1.2rem;
  line-height: 1.6;
  font-weight: 300;
}
  .text_accueil {
    font-size: 2em !important;
  }
}

