:root {
    --menu-height: 70px;
}

* {
    box-sizing: border-box;
}

html, body {
  margin: 0;
  overflow-x: hidden;
  scroll-behavior: smooth;

}

/* BACKGROUNDS FIXES */
.bg {
  position: fixed;
  inset: 0;
  background: center no-repeat;

  opacity: 0;
  z-index: -10;

  transition:
  opacity 0.6s linear,
  transform 0.6s ease;
}

/* PREMIER BG */
.bg1 {
    
    background-image: url("img/background1.jpg");
    background-size: contain;
    opacity: 1;
}

/* SECOND BG */
.bg2 {
    background-image: url("img/background2.jpg");
    background-size: cover;  
}

.bg3 {
    background-color: #1a1a1a;
    background-image: url("img/background3.jpg");
    background-size: contain;
    background-position: left;
}

.bg4 {
    background-color: #1a1a1a;
    background-image: url("img/background4.jpg");
    background-size: contain;
    background-position: right;
    padding: 35px;
    background-origin: padding-box;
    
}

.bg5 {
    background-image: url("img/background5.jpg");
    background-size: cover;  
}

.bg6 {
    background-image: url("img/background6.jpg");
    background-size: cover;  
}

.bg7 {
    background-color: #1a1a1a;
    background-image: url("img/background7.jpg");
    background-size: contain;
}

section {
  min-height: 100vh;
  display: grid;
  place-items: center;
  color: white;
  position: relative;

}

/* PREMIER ÉCRAN */

.home {

  display: grid;
  place-items: center;

  position: relative;
}

/* IMAGE QUI RESTE FIXE */

.imageLogo {
  position: fixed;
  top: 60%;

  transform: translateY(-50%);
  width: min(100vw, 800px);
  transition:
  opacity 0.2s linear,
  transform 0.2s ease; 
}

/* DEUXIÈME ÉCRAN */

.left {

    grid-template-columns: auto;
    justify-content: start;
    align-items: center;
    column-gap: 30vw;
    
}

.right {

    grid-template-columns: auto;
    justify-content: end;
    align-items: center;

}

.center {
  
  grid-template-columns: auto;
    place-items: center;
    justify-content: center;
    align-items: center;

}

.box {   
    background-color: #1a1a1a66;

    display: flex;
    flex-direction: column;
    justify-content: space-around;

    padding-left: 50px;
    padding-right: 50px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-left: 7ch;
    margin-right: 7ch;

    width: min(90vw, 800px);
    width: max(20vw, 800px);

    max-height: 95vh;
    min-height: 30vh;

    overflow-y: auto;

    background: rgba(20,20,20,0.45);

    backdrop-filter: blur(15px);

    border-radius: 20px;
}

.small {
  max-width: max(20vw, 500px);
}

.section-title{
    font-size: 52pt; 
    font-weight: bold;
    text-align: center;
}
p {
    max-width: 65ch;
    margin-top: 0;
    margin-bottom: 2em;
    line-height: 1.7;
    font-size: 16pt;
    
}

.image-container {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 20px;
}

.image-container img {
  width: 200px;
  height: 200px;
  object-fit: cover;
}

h1 {
  text-align: center;
  padding: 20px;
}

.gallery {
  display: grid;

  grid-template-columns:
    repeat(auto-fit, minmax(200px, 1fr));

  gap: 20px;

}

.gallery-item {
  object-fit: cover;
  position: relative;
  width: 200px;
  height: 200px;
  margin: 10px;
  cursor: pointer;
  transition: transform 0.5s ease;
}

.gallery-item:hover {
  transform: scale(1.1);
}


.video-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}

.video {
  width: 480px; 
  height:285px;
  transition: transform 0.5s ease;
}
.video:hover {
  transform: scale(1.1);
}


/* ANIMATIONS */
@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


.event {
    display: grid; 
    grid-template-columns: 1fr 1fr 3fr 2fr;
    background-color: #eee;
    color: #1a1a1a;
    border-radius: 10px;
    margin: 2px;
    padding-left: 10px;
    text-align: left ;
   
    align-items: center;

    
}
.event h2{
  text-align: left;
  margin: 0;
  font-size: 14pt;
  font-weight: 600;
}

.event p{
  text-align: center;
  margin: 0;
  font-size: 14pt;
  font-weight: 300;
  
}

.current {
  border-left: 3px solid #ad4444;
  border-right: 3px solid #ad4444;
}

.past {
  opacity: 0.6;
}

.future {
  border-left: 1px solid #976c89;
}

.buttons {
  display: flex;
  justify-content: center;
}

.buttondates {
  background-color: rgba(68, 169, 173, 0);
  border: none;

  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 20pt;
  margin: auto;
  cursor: pointer;
}

#events {
  display: flex;
  flex-direction: column;

  background-color: #eee;
  border-radius: 6px;
  padding: 15px;

}

.event:hover {
  box-shadow:
    0 6px 20px rgba(0, 0, 0, 0.397);
}

.dateBox {
  min-width: 40px;
  max-width: 40px;

  padding: 8px 6px;

  border-radius: 10px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  line-height: 1.1;

  /* background: rgba(68, 169, 173, 0.85);
  background:
    linear-gradient(
      180deg,
      #59b0b6,
      #447ead
    ); */

  box-shadow:
    0 4px 10px rgba(0,0,0,0.2);
}

.day {
  font-size: clamp(0.9rem, 2vw, 1.2rem);

  font-weight: 700;
}

.month {

  font-weight: 400;
  font-size: 0.85rem;

  text-transform: uppercase;

  letter-spacing: 1px;

}
.year {
  font-weight: 400;
}

.menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;

  height: 50px;

  z-index: 100;

  display: flex;
  justify-content: center;
  gap: 30px;

  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(2px);
  background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0)
    );
}


/* Navbar links */
.menu a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 14px;
  text-decoration: none;
  
}

.menu a:hover {
  background-color: #999333;
  backdrop-filter: blur(2px);
  background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0)
    );
}

.btn-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  
  gap: 20px;
}

.button {
  background-color: rgba(255, 255, 255, 0.85);
  border: none;
  border-radius: 4px;
  min-width: 350px;
  min-height: 80px;

  color: black;
  padding: 15px 32px;
  text-align: center;
  align-content: center;

  text-decoration: none;
  display: inline-block;
  font-size: 20pt;
  margin: 4px 2px;
  cursor: pointer;
}

.btn-group .button:hover {
  background-color: hsl(175, 100%, 93%); /* Green */
  color: black;
}

.group-buttonmail{
  display: flex;
  justify-content: flex-end;
}
.buttonmail {
  background-color: rgba(255, 255, 255, 0.85);
  border: none;
  border-radius: 6px;
  min-width: 100px;
  min-height: 40px;
  margin: 8px 8px;

  text-decoration: none;
  text-align: center;
  align-content: center;
  
}
input {
  width: 100%;
  padding: 12px;
  margin: 10px 0;
  box-sizing: border-box;
}

input[type=text]:focus {
  border: 3px solid #555;
}

textarea {
  width: 100%;
  height: 150px;
  padding: 12px 20px;
  box-sizing: border-box;
  border: 2px solid #ccc;
  border-radius: 4px;
  background-color: #f8f8f8;
  resize: none;
}

.footer {
  margin-top: -9vh;
  height: 9vh;

  display: grid;
  grid-template-columns:auto auto;
  grid-template-rows: 4vh 4vh;
  align-content: center;
  justify-content: space-around;
  column-gap: 30vw;

  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(5px);
  background: linear-gradient(
        to top,
        rgba(0,0,0,0.6),
        rgba(0,0,0,0)
    );
}

.icons {
  display: grid;
  grid-template-columns: auto auto auto;
  justify-content: center;
  align-content: center;
  gap: 30px;

}

.footer p {
  color: #ececec;
  text-align: center;
  vertical-align: center;
  font-size: 10pt;
  letter-spacing: 4px;
}

.footer-item1 {

    order: 1;
  }
  .footer-item4 {

    order: 3;
  }
  .footer-item2 {

    order: 2;
  }.footer-item3 {

    order: 4;
  }

.facebook{
  content: url("img/facebook-small.png");
}

.instagram{
  content: url("img/instagram-small.png");
}

.youtube{
  content: url("img/youtube-small.png");
}

@media (max-width: 420px) {
  .left {
      grid-template-columns: auto;
      justify-content: center;
     
  }

  .right {

      grid-template-columns: auto;
      justify-content: center;

  }

  .imageLogo {

    top: 50%;
  }
  .box {   
    background-color: #1a1a1a66;
    margin-top: 0;
    padding: 20px;
    padding-top: 10px;
    width: 98vw;

    overflow-y: auto;

    background: rgba(20,20,20,0.45);

    backdrop-filter: blur(15px);

  }

  p {
    line-height: 1.5;
    font-size: 12pt;   
  }

  .section-title {
    font-size: 38pt;
  }

  .gallery {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    gap: 5px;
  }
  .gallery-item {
    object-fit: cover;
    position: relative;
    width: 140px;
    height: 140px;

    cursor: pointer;
    transition: transform 0.5s ease;
  }
  .menu {
    gap: 5px;
  }
  .menu a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 10px;
  text-decoration: none;
  font-size: 7pt;
  }
    #events {
  padding: 5px;
  }
  .event {
    grid-template-columns: 1fr 1fr 4fr 2fr;  
  }
  .event h2{
    font-size: 10pt;
    margin-left: 5px;
  }

  .event p{
    font-size: 8pt;
    text-align: left;
  }
  .day {
    font-size: 10pt;
  }
  .month {
    font-size: 8pt;
  }
  .year {
    margin-left: 10px;
    font-size: 8pt;
  }

  .footer {
    margin-top: -11vh;

    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: 3vh 3vh 4vh ;
    background-color: #1a1a1a;
    align-content:center;
    justify-content: space-evenly;

    column-gap: 1vh;

  }

  .icons {
    margin-left: 10px;
    justify-content: space-around;
    gap: 10px;


}
  .footer-item1 {
    grid-column: 1 / span 2;
   
    order: 1;
  }
  .footer-item4 {
    grid-column: 1 / span 2;
    order: 2;
  }
  .footer-item2 {
    order: 3;
  }.footer-item3 {
    order: 4;
  }

  .video {
    width: 320px; 
  }

  .button {
    min-width: 300px;
    font-size: 18pt;
}
}

@media (min-width: 420px) and (max-width: 768px) {
  .left {
      grid-template-columns: auto;
      justify-content: center;
      align-content: center;

  }

  .right {

      grid-template-columns: auto;
      align-content: center;
      justify-content: center;

  }
  .box {   
    background-color: #1a1a1a66;
    margin-top: 0;

    width: 98vw;

    overflow-y: auto;

    background: rgba(20,20,20,0.45);

    backdrop-filter: blur(15px);

  }

  p {
    line-height: 1.5;
    font-size: 14pt;   
  }

  .section-title {
    font-size: 42pt;
  }
  .gallery {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    gap: 5px;
  }
  .gallery-item {
    object-fit: cover;
    position: relative;
    width: 200px;
    height: 200px;

    cursor: pointer;
    transition: transform 0.5s ease;
  }
  .menu {
    gap: 20px;
  }
  .menu a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 10px;
  text-decoration: none;
  font-size: 12pt;
  }

  .footer { 

    margin-top: -9vh;
    height: 9vh;
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: 3.5vh 3.5vh;
    
    align-content:center;
    justify-content: space-around;

    column-gap: 0;

    background: rgba(0,0,0,0.3);
    backdrop-filter: blur(5px);
    background: linear-gradient(
        to top,
        rgba(0,0,0,1),
        rgba(0,0,0,0.5)
    );
  }
  .footer-item1 {
    order: 1;
  }
  .footer-item4 {
    order: 3;
  }
  .footer-item2 {
    order: 2;
  }.footer-item3 {
    
    order: 4;
  }
}