/* style.css */

:root{
  --rust: #B25427ff;
  --rust-2: #A94923ff;
  --caput-mortuum: #5A1D10ff;
  --caramel: #C68157ff;
  --caramel-light: rgb(218, 150, 109);
  --sienna: #993A20ff;
  interpolate-size: allow-keywords;
}
@font-face {
    font-family: 'Stanley';
    /* src: url('stanley-webfont.woff2') format('woff2'),
         url('stanley-webfont.woff') format('woff'); */
         src: url('Stanley.otf');
    font-weight: normal;
    font-style: normal;

}

.lato-thin {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-thin-italic {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.lato-light-italic {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.lato-regular-italic {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.lato-bold-italic {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.lato-black-italic {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}


@font-face {
  font-family: 'Bogart';
  src: url('Bogart-Semibold-trial.ttf');
}

@font-face {
  font-family: 'Bogart-bold';
  src: url('Bogart-Bold-trial.ttf');
}

html {
  height: 100%;
}

body {
    height: 100%;
    margin: 0;
    /* font-family: 'Segoe UI', sans-serif; */
    font-family: 'Lato', sans-serif;
    
    /* background-image: url("images/flowers.jpg"); */
    /* background: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), 
                url('images/flowers.jpg') no-repeat center center/cover; */
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-color: rgb(245, 245, 245);
  }

.header {
  overflow: hidden;
  background-color: #f1f1f1;
  padding: 20px 10px;
  border-bottom: double;
  border-radius: 0px;
  border-width: 7px;
  border-color: var(--black-bean);
}

/* Style the header links */
.header a {
  font-family: 'Stanley';
  float: left;
  color: black;
  text-align: center;
  padding: 12px;
  text-decoration: none;
  font-size: 18px;
  line-height: 25px;
  border-radius: 4px;

}

.header a:hover {
  background-color: var(--brown-sugar-2);
  transition-duration: 0.2s;
  color: white;
}

/* Style the active/current link*/
.header a.active {
  background-color: var(--black-bean);
  color: white;
}

/* Float the link section to the right */
.header-right {
  float: right;
}


.vl {
  position: absolute; 
  border-left: 5px solid white;
  height: 150px;
  height: 0%;
  transform: translate(-50%, -50%); /* ⬅️ X and Y centering */
  top:50%;
  left:50%;
}

.box{
  margin: auto;
  margin-top: 1em;
  width: 800px;
  height: 800px;
  border-radius: 15px;
  border-width: 2px;
  border-color:  rgb(226, 226, 226);
  border-style: solid;
  /* padding: 50px; */
  background-color:rgb(255, 255, 255);
}
  
  .hero {
    height: 100vh; /* occupe tout l'écran */
    /* background: url('images/pawel-czerwinski-lkUIMowfVt4-unsplash.jpg') no-repeat center center/cover; */
    background: url('images/pawel-czerwinski-RL6635ZURy0-unsplash.jpg') no-repeat center center/cover;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  
  .hero-content {
    position:relative;
    max-width: 800px;
    padding: 10px;
    align-items: center;
  }
  
  .hero-content h1 {
    font-family: 'Bogart-bold', Arial, sans-serif;
    position: relative;
    /* float: top; */

    font-size: 3rem;
    /* margin-bottom: 0.3em; */
    margin:0;
    z-index: 1;
  }

  .title-wrapper {
    /* right:130px;
    bottom:40px; */
    position: relative;
    display: inline-block;
    margin-bottom: 0.2em;
    text-align: right;
  }

  .left-side {
    position:relative;
    top:0;
    right:50%;
    width:380px;
    display: flex;
    flex-direction: column;
    gap: 1rem; /* space between titles */
    margin-right: 2rem; /* space from vertical line */
    
  }
  .right-side {
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    left:50%;
    width:500px;
    align-items: left;
    display: flex;
    flex-direction: column;
    margin-left: 2rem;
    
  }

  .contact {
    display: flex;
    align-items: center; /* vertically align image and text */
    gap: 1rem;           /* space between image and text */
  }

  .contact img {
    width: 50px;  /* or whatever fits your design */
    height: 50px;
  }

  .location {

    display: flex;
    align-items: center;
    gap: 1rem;
  }

  .location img {
    width:50px;
    height: 50px;;
  }

  .curtain {
      position: absolute;
      top:0;
      left:0;
      height: 100%;
      width: 100%;
      background: var(--caramel);
      z-index: 2;
      pointer-events: none;
      display: inline-block;
      transform-origin: right;
      /* transform-origin: left; */
    }



  .hero-content h2 {
    position: relative;
    /* right:235px;
    bottom:60px; */
    font-size: 1.5rem;
    font-weight: 400;
    margin: 0;
    opacity: 0.85;
  }

  .hero p {
    position:relative;
    font-size: 1rem;
    opacity: 1;
  }

  .intro {
    padding-top: 25px;
    margin: auto;
    width: 500px;
    color: rgb(49, 49, 49)
  }

  h2.intro {
    font-family: 'Bogart', Arial, sans-serif;
    text-align: center;
    margin-bottom: 10px;
  }

  .year {
    font-family: 'Bogart', Arial, sans-serif;
    text-align: left;
    padding-left: 30px;
    margin-top: 30px;
    margin-bottom: 0px;
    width: 700px;
    color: rgb(49, 49, 49);
  }

  p.intro{
    text-align: justify;
  }

  .comment {
    margin: auto;
    font-style: italic;
    width: 700px;
    color: rgba(114, 114, 114, 0.5)
  }

  .menu {
    list-style-type: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border-bottom-style: double;
    border-width: 10px;
    border-color: rgb(226, 226, 226);
    background-color: rgb(255, 255, 255);
    /* background-color: rgb(14, 12, 12) */
  }

  #network {
      width: 100%;
      height: 500px;
      border: 0;
      z-index: 1000;
    }

    .courses {
    list-style-type: none;
    margin: auto;   
    padding-top: 30px;
    overflow: visible;
    border-style:solid;
    border-width: 1px;
    border-radius: 10px;
    /* border-color:  rgb(14, 12, 12); */
    /* background-color: rgb(255, 255, 255); */
    /* border-color: var(--sienna); */
    border-color: rgb(49, 49, 49);;
    height:360px;
    width: 700px;
    align-items: center;
  }

  li {
    margin: 10px;
    float: left;
    border-radius: 10px;
  }
  
  .active {
    background-color: var(--sienna);
    border-radius: 5px;
    color: white;
  }

  .active:hover {
    background-color: var(--rust);
    border-radius: 5px;
    color: white;
  }

  li a {
    /* font-size: 1.1em; */
    font-size: small;
    font-family: 'Bogart-bold', Arial, sans-serif;
    display: block;
    color: rgb(0, 0, 0);
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
  }

  a.course {
    background-color: var(--caramel-light);
    font-size: small;
    color: white;
    border-radius: 5px;

    width: 100%;
    /* display: block; */
    align-items: center;
    white-space: nowrap;
    overflow: visible;
    margin: auto;
  }
  
  a.course p {
    margin: auto;
    text-align: justify;
    list-style-type: square;
    font-family:Arial, Helvetica, sans-serif;
    /* margin: 10%; */
    font-size: medium;
    color: var(--caramel-light);
  }

  ul.material {
    list-style-type: square;
    font-family:Arial, Helvetica, sans-serif;
    font-size: medium;
    color: var(--caramel-light);
    padding:0 10%;
    padding-bottom: 10%;
    /* display: block; */

  }
  ul.material li {
     
    float: left;
    clear: left;
    line-height: 0.5em;
    color: var(--caramel-light);
  }


  a.course li {
    font-family:Arial, Helvetica, sans-serif;
    font-size: medium;
    color: var(--caramel-light);
  }

  li.course-li {
    padding-right:5%;
    padding-bottom: 2%;
    margin: 0px;
  }

  .expand-content {
    overflow: hidden;
    max-height: 0;
    max-width: 0;
    transition: max-height 0.4s ease;
    transition: max-width 0.4s ease;
    background: #ffffff;
    margin-top: 5px;
    padding: 0 20px;
    border-style: dashed;
    /* border-radius: 0 0 6px 6px; */
    border-color: var(--caramel-light);
    z-index: 1;
    position: absolute;
  }
  .expand-content p {
    text-align: justify;
    white-space: normal;
    word-wrap: break-word;
  }


  a.course:hover .expand-content {
    max-height: 250px;
    max-width: 600px;
    padding: 0 20px;
    border-style:solid;
    z-index: 1000;
  }

  a.course:hover-fake .expand-content {
    max-height: 250px;
    max-width: 600px;
    padding: 0 20px;
    border-style:solid;
    z-index: 1000;
  }

  li a:hover {
    background-color: var(--rust);
    color: white;
    border-radius: 5px;
    transition: ease-in-out;
    transition-duration: 100ms;
  } 

  .header-education {
    height: 100vh; /* occupe tout l'écran */
    /* background: url('images/pawel-czerwinski-lkUIMowfVt4-unsplash.jpg') no-repeat center center/cover; */
    background: url('images/pawel-czerwinski-RL6635ZURy0-unsplash.jpg') no-repeat center center/cover;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .header-education h1 {
    font-family: 'Bogart-bold', Arial, Helvetica, sans-serif;
    font-size: 3em;
  }

  footer {
    margin-top: 20px;
    background-color: var(--caramel);
    color: white;
    text-align: center;
    align-items: center;
    height: 10rem;
    align-content: center;
  }

.popup-hidden {
  display: none;
}

#popupOverlay {
  display: none; /* Hide by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.6);
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

/* This class is added via JS to show the popup */
#popupOverlay.active {
  display: flex; /* Now it's visible AND centered */
}

.popup-content {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 600px;
  width: 90%;
  position: relative; /* So the close button is positioned within */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.close-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #333;
}


