.establishment-logo {
  background-image: url(https://s3.unistra.fr/immersup-rouen-prod/prod/2024/logo-univ-rouen-normandie-noir.png?AWSAccessKeyId=0SZ48G128YWRP5PGZ8NF&Signature=g4oJHSh9%2BpcHE60%2BDNiEYrlDdDY%3D&Expires=2731408914);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 75px;
  width: 215px;
  padding: 0px;
  margin: 0px;
  margin-left: -200px;
}

body {
  margin: 0;
  font-family: Arial, sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

.page-header {
background-color: #fff !important;
}

small,
.small {
  font-size: 100%;
  font-weight: 400;
}

.sticky-top {
 background-color: #072A3E !important;
 }
 
.btn,
#navbarDropdownUser {
  background-color: #FF7D5C !important;
  color: #072A3E !important;
  border : 1px solid #FF7D5C  !important;
  border-radius: 1.25rem !important;
  margin-right : 4px !important;
}

.btn:hover,
#navbarDropdownUser:hover {
  background-color: #072A3E !important;
  color: #fff !important;
  border : 1px solid #fff !important;
}

#navbarDropdownProcedure, #navbarDropdownOffer, #navbarDropdownCourses,
#navbarDropdownEvents, #navbarDropdownHighSchool, #navbarDropdownStats, .nav-link {
  color : #fff !important; 
}

#navbarDropdownStats {
  margin-top : 4px !important;
}
.domains > .col header {
  color : #fff !important;
}

.domains > .col:nth-child(5n+1) header {
  background-color: #9ad2cb !important;
}
.domains > .col:nth-child(5n+2) header {
  background-color: #e6302f !important;
}
.domains > .col:nth-child(5n+3) header {
  background-color: #7c519c !important;
}
.domains > .col:nth-child(5n+4) header {
  background-color: #81aab7 !important;
}
.domains > .col:nth-child(5n+5) header {
  background-color: #ef8e22 !important;
}

.domain-title {
  text-align: center;
  font-weight : bold;
}

.card-header .more-less-title .btn-link {
  display: inline-block !important;
  text-align: center !important;
  min-width: auto !important; 
  max-width: fit-content !important;
  padding: 10px 20px !important; 
  margin: 0 auto !important;
  white-space: normal !important; 
  word-wrap: break-word !important; 
}

 .more-less-title > button::after {
        position: initial !important;
  }

head::before {
  content: url(https://s3.unistra.fr/immersup-rouen-prod/prod/2025/campus_ouvert_comp.jpg?AWSAccessKeyId=0SZ48G128YWRP5PGZ8NF&Signature=7KJH1jrxafBDzET7bdpT2sBBu1s%3D&Expires=2762961839);
  display: none;
}

.main-title {
  background-image: url(https://s3.unistra.fr/immersup-rouen-prod/prod/2025/campus_ouvert_comp.jpg?AWSAccessKeyId=0SZ48G128YWRP5PGZ8NF&Signature=7KJH1jrxafBDzET7bdpT2sBBu1s%3D&Expires=2762961839) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center top !important;
  width: 100% !important;
  height: 100vh !important;
  color: #fff !important;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.main-title.inside {
  max-height: 30vh;
  min-height: 20vh;
  background-position: center center !important;
  }
.presentation {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between;
  align-items: center !important;
  width: 100% !important;
  height: 115vh;
  position: relative;
  }
  
   .presentation-top {
    margin-top: -15rem;
  }
  
.presentation-top p:first-child {
  color: #fff !important;
  background-color: #072a3e !important;
  margin-top: 15rem !important;
  text-transform: uppercase !important;
  font-weight: bolder !important;
  white-space: nowrap !important;
  padding: 5px 10px !important;
  width: fit-content !important;
  

}

.presentation-top p:last-child {
  color: #fff !important;
  background-color: #072a3e !important;
  text-transform: uppercase !important;
  font-weight: bolder !important;
  padding: 5px 10px !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 50px !important; 
}

.info {
  margin-top : 15.625rem;
}

.row .presentation h2 {
  /*margin-top: 400px !important;*/
  text-align: center !important;
  position: absolute;
  bottom:0;
  left:0;

} 

.row .presentation h2 span {
  color: #fff !important;
  background-color: #FF7D5C !important; 
  display: inline-block;
  padding: 0.5rem;
  max-width: 100%;
  box-sizing: border-box;
  word-wrap: break-word;
}

.presentation p:nth-of-type(3),
.presentation p:nth-of-type(4),
.presentation p:nth-of-type(5) {
    display: none; 
}

.additional-info {
    margin-top: 50px; 
    margin-left: auto; 
    margin-right: auto; 
    max-width: 90%; 
    color: black !important;
  
}
}


.additional-paragraph {
    margin: 5px 0;
    color: black; 
    font-size: 1.2rem;
    text-align: justify; 
    color: black !important;
}

.icon-text-container {
    display: flex; 
    align-items: center; 
}

.icon {
    margin-right: 10px; 
}


.navbar-toggler .fa-bars {
  display: block;
}

.navbar-toggler .fa-times {
  display: none;
}


.navbar-toggler:not(.collapsed) .fa-bars {
  display: none;
}

.navbar-toggler:not(.collapsed) .fa-times {
  display: block; 
}


.navbar-toggler i {
  display: block;
  text-align: center;
  width: 100%;
}

.inside .container .row p {
  background-color: rgba(75,75,75, 0.75);
  width: max-content;
  display: inline-block;
  padding: inherit;
}

  .py-5 .container .row {
    display: flex !important;
    justify-content: center !important;
  }
  
select {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

select option {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#myImmersionsTab .nav-link {
background-color : #007bff;
color: #fff;
margin-right : 2px;
}

#immersions_to_come_wrapper button {
margin-right: 5px;
}

 #navbarDropdownUser + .dropdown-menu .dropdown-item {
  display: block;
  width: 100%;
  padding: .25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: right;
  white-space: nowrap;
  background-color: #f4f4f4;
  border: 0;
}

 #navbarDropdownUser + .dropdown-menu .dropdown-item:hover {
  background-color: #cfd1d2;
}

@media (max-width: 480px)  {
  .establishment-logo {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .presentation {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    padding: 20px;
    box-sizing: border-box;
  }

 .presentation-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 1rem;
    margin-top: -15rem;
  }
  
.presentation-top p:first-child {
    margin-top : 15rem !important; 
    white-space: normal !important; 
    text-align: center !important; 
    width: 100% !important; 
    max-width: 90% !important; 
        }

  .presentation-top p:last-child {
        margin-bottom: 50px !important; 
        flex-wrap: nowrap !important;
    }

  .row .presentation h2 {
        white-space: normal !important; 
        width: 100% !important; 
        max-width: 90% !important; 
        text-align: center !important; 
        margin-top: auto !important; 
        padding-top: 20px !important; 
        font-size: 1.5rem;
    }
  
  .row .presentation h2 span {
        white-space: normal !important; 
        background-color: FF7D5C !important;
    } 

  .additional-info {
        position: relative !important; 
        top: -120px !important;
    } 

.additional-paragraph {
    margin: 0;
    font-size: 1rem;
    text-align: inherit; 
   }
   
.navbar-brand {
        color: #fff !important; 
    }

.icon {
        display: none !important; 
    }
    
.col-md-3:nth-of-type(2) .info-description h4,
.col-md-3:nth-of-type(3) .info-description h4,
.col-md-3:nth-of-type(4) .info-description h4{
    margin-top: -150px;
}
.col-md-3:nth-of-type(1) .info {
     margin-top: 300px;
  }
  
  .more-less-title > button::after {
        position: initial !important;
  }
  
  #procedure_group_txt {
      margin-top: -20vh;
    }
} 

@media (max-width: 767px) {
.navbar-nav {
  display: flex;
}

.nav-item.dropdown {
  flex: 1; /* tous les boutons prennent la même largeur */
  text-align: center; /* centre le texte */
  padding : 4px;
}

.nav-item.dropdown .nav-link {
  width: 100%;

}
.nav-item.dropdown {
  position: relative;
}

/* Bouton du menu */
.nav-item.dropdown .nav-link {
  display: inline-block;
  border: 1px solid #FF7D5C;
  border-radius: 1.25rem;
  background-color: #FF7D5C;
  color: white;
  transition: all 0.3s ease;

}

/* Menu déroulant */
.nav-item.dropdown .dropdown-menu {
  margin-top: 0; /* pour coller au bouton */
  border: 1px solid #FF7D5C;
  border-top-left-radius: 0; /* coins du haut déjà ronds sur le bouton */
  border-top-right-radius: 0;
  border-bottom-left-radius: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  background-color: #FF7D5C;
  overflow: hidden; /* pour éviter les décalages visuels */
}

/* Hover sur le bouton */
.nav-item.dropdown:hover .nav-link {
  background-color: #212529;
  border-color: #212529;
  color: white;
}

/* Hover sur le menu (quand ouvert) */
.nav-item.dropdown:hover .dropdown-menu {
  background-color: #212529;
  border-color: #212529;
}

.nav-item .nav-link[href="/faq"],
.nav-item .nav-link[href="/core/stats/"],
.nav-item .nav-link[href="/admin/"] {
  border: 1px solid #FF7D5C;
  border-radius: 1.25rem !important;
  background-color : #FF7D5C;
}
.nav-item .nav-link[href="/faq"]:hover,
.nav-item .nav-link[href="/core/stats/"]:hover,
.nav-item .nav-link[href="/admin/"]:hover {
  border: 1px solid #fff;
  background-color : #072A3E;
}

}

@media (min-width: 481px) and (max-width: 767px) {
.establishment-logo {
    margin-left: auto !important;
    margin-right: auto !important;
  }

.presentation {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    padding: 20px;
    box-sizing: border-box;
  }

.presentation-top {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
.presentation-top p:first-child {
    margin-top : 15rem !important; 
    white-space: normal !important; 
    text-align: center !important; 
    width: 100% !important; 
    max-width: 90% !important; 
        }

.presentation-top p:last-child {
        margin-bottom: 50px !important; 
    }

.row .presentation h2 {
        white-space: normal !important; 
        width: 100% !important; 
        max-width: 90% !important; 
        text-align: center !important; 
        margin-top: auto !important; 
        padding-top: 20px !important; 
    }
  
.row .presentation h2 span {
        white-space: normal !important; 
        background-color: FF7D5C !important;
    }

.additional-info {
        position: relative !important; 
        top: -140px !important;
    }

.additional-paragraph {
    margin: 0;
    font-size: 1rem;
    text-align: inherit; 
   }
   
.navbar-brand {
        color: #fff !important; 
    }

.icon {
        display: none !important; 
    }
    
 .col-md-3:nth-of-type(2) .info-description h4,
 .col-md-3:nth-of-type(3) .info-description h4,
 .col-md-3:nth-of-type(4) .info-description h4{
     margin-top: -150px;
 }
.col-md-3:nth-of-type(1) .info {
     margin-top: 300px;
   }
  
  .more-less-title > button::after {
        position: initial !important;
  }
  }



@media (min-width: 768px) and (max-width: 991px) { 
  .establishment-logo { 
    margin-left: auto !important; margin-right: auto !important; display: block; 
    } 
  .navbar-brand { 
    color: #fff !important; 
    } 
  .presentation { 
    margin-top: 40vh !important; 
    } 
  .presentation-top { 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    margin-top: -25rem; 
    } 
  .presentation-top p:first-child { 
    margin-top: 1rem !important; 
    white-space: normal !important; 
    text-align: center !important; 
    width: 100% !important; 
    max-width: 90% !important; 
    } 
    .presentation-top p:last-child { 
      margin-bottom: 50px !important;
      }
  .row .presentation h2 { 
    margin-bottom: 300px; 
    } 
  .row .presentation h2 span { 
    white-space: normal !important; 
    background-color: FF7D5C !important;
    } 
  .additional-info { 
    position: relative !important; 
    top: -550px !important; 
    } 
  .additional-paragraph { 
    font-size: 1rem; 
    text-align: inherit; 
    } 
  .additional-paragraph:nth-of-type(2) { 
    margin-left: 0 !important; 
    } 
    
  .icon { 
    display: none !important; 
    } 
    
  .col-md-3:nth-of-type(1) .info, 
  .col-md-3:nth-of-type(2) .info, 
  .col-md-3:nth-of-type(3) .info { 
  margin-top: 280px !important;
  } 

  .col-md-3:nth-of-type(4) { 
  margin-top: 250px !important;
  padding-left : 50px;
  display : flex;
  margin-left : 20px;
  }
  
  .row { 
    display: flex; 
    flex-wrap: wrap; 
    align-items: flex-start; 
  } 
  
  .col-md-3 { 
   flex: 1 1 22%; 
    box-sizing: border-box; 
    padding: 10px;
    }
    
    
 #navbarDropdownProcedure, #navbarDropdownOffer, #navbarDropdownCourses,
#navbarDropdownEvents, #navbarDropdownHighSchool, #navbarDropdownStats, .nav-link {
  margin-bottom : 8px;
}

 .dropdown-menu-right {
    bottom : 50px;
  }
  
.nav-item .nav-link[href="/faq"],
.nav-item .nav-link[href="/core/stats/"],
.nav-item .nav-link[href="/admin/"] {
  border: 1px solid #FF7D5C;
  border-radius: 1.25rem !important;
  background-color : #FF7D5C;
}
.nav-item .nav-link[href="/faq"]:hover,
.nav-item .nav-link[href="/core/stats/"]:hover,
.nav-item .nav-link[href="/admin/"]:hover {
  border: 1px solid #fff;
  background-color : #072A3E;
}

.nav-item .nav-link[href="/core/stats/"]{
    margin-right : 4px;
  }
  
  .nav-item .nav-link[href="/core/stats/"],
  .nav-item .nav-link[href="/admin/"] {
  
    margin-top : 4px;

  }
}



 @media (min-width: 992px)  {

  .additional-info {
         position: relative !important; 
         top: -150px !important;
         color: black !important;
     }
    
 .additional-info > p.additional-paragraph:nth-of-type(1),
  .additional-info > p.additional-paragraph:nth-of-type(2) {
     margin-left: 22px !important; 
 }

.icon {
    margin-right: 10px; 
    margin-top: -24px;
}
  #navbarDropdownProcedure, #navbarDropdownOffer, #navbarDropdownCourses,
#navbarDropdownEvents, #navbarDropdownHighSchool, #navbarDropdownStats, .nav-link {
  margin-bottom : 8px;
}

#navbarDropdownStats {
   margin-top: -1px !important; 
}
 .dropdown-menu-right {
    bottom : 0;
  }
  
.nav-item .nav-link[href="/faq"],
.nav-item .nav-link[href="/core/stats/"],
.nav-item .nav-link[href="/admin/"] {
  border: 1px solid #FF7D5C;
  border-radius: 1.25rem !important;
  background-color : #FF7D5C;
}
.nav-item .nav-link[href="/faq"]:hover,
.nav-item .nav-link[href="/core/stats/"]:hover,
.nav-item .nav-link[href="/admin/"]:hover {
  border: 1px solid #fff;
  background-color : #072A3E;
}

  .nav-item .nav-link[href="/faq"] {
  margin-right : 4px;
}

.nav-item .nav-link[href="/core/stats/"]{
    margin-right : 4px;
  }
    .container .row  .col-md-3 {
     display: flex;
    justify-content:center;
     align-items: center;
   }
 
.container .presentation {
     max-width : 3500px;
 }
 
      
  .col-md-3:nth-of-type(1) .info, 
  .col-md-3:nth-of-type(2) .info, 
  .col-md-3:nth-of-type(3) .info { 
  margin-top: 280px !important;
  } 

  .col-md-3:nth-of-type(4) { 
  margin-top: 185px !important;
  padding-left : 50px;
  display : flex;
  flex: wrap;
  }
  
  .row { 
    display: flex; 
    flex-wrap: wrap; 
    align-items: flex-start; 
  } 
  
  .col-md-3 { 
   flex: 1 1 22%; 
    box-sizing: border-box; 
    padding: 10px;
    }
    
}

@media (min-width: 1200px) {
  .container .row  .col-md-3 {
     display: flex;
    justify-content:center;
     align-items: center;
   }
 
.container .presentation {
     max-width : 3500px;
 }
.icon {
    margin-right: 10px; 
    margin-top: 1px;
}

 .container .row .col-md-3 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 30px;
  }
}


@media (min-width: 1700px) {
    .main-title.inside {
    background-position: center 35% !important;
  }
}


