html{ 
    font-size: max(1.8vw,12px);
    font-family: 'Source Sans Pro', serif;
}

*,
*::before,
*::after { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

/******************* headings and mark */
p{
    line-height: 1.5em;
    margin: 0.5% 1% 1% 1%;
}

h1 {
    font-size: max(3vw,18px);
    margin: 2% 1% 0% 1%;
}

section > h1 {
    margin-top: 0;
    padding-top: 1%;
    margin-bottom: 0;
}

h2 + h1 {
    padding-top: 0;
}

h2{
    margin: 1%;
    font-size:max(2vw,16px);
    font-family: Comic Sans MS, serif;
    font-weight: normal;
}

h3{
   font-size: max(1.8vw,12px);
   margin: 1%;
   color: rgba(84,176,226,1);
}


mark {
  position: relative;
  background-color: transparent;
}

mark::after {
  background-color: rgba(84,176,226,0.25);
  content: "";
  position: absolute;
  width: calc(100% + 4px);
  height: 60%;
  left: -2px;
  bottom: 0;
  z-index: 0;
  transform: rotate(-2deg);
} 

@media (max-width: 398px) {
mark {
  background-color: rgba(84,176,226,0.25);
}
mark::after {
    background-color: transparent;
}
}


/******************* images */
img{
    border-radius: 5px;
    padding: 1%;
}

video{
    border-radius: 5px;
}

/**** images tool use */
#img-set1, #img-set2{
    display: flex;
    align-items: top;
    flex-wrap: wrap;
    justify-content: space-around;
}
#img-set1 img, #img-set2 img, #img-set2 video{
    max-width: 100%;
}

#img-set1 figure{
    max-width: 20%;
    min-width: 200px;
}

#img-set2 figure{
    width: min(400px, 95%);
}


/**** images project */

#project img{
    width: min(700px, 95%);
}


.static {
  position:absolute;
  background: white;
}

.static:hover {
  opacity:0;
}

/**** images people */
.img2 {
    width: 50px;
}

.img1 {
    width: 95%;
    max-width: 300px;
    height: auto;
    max-height: 125px;
    object-fit: contain;
}

.img3 {
    width: 95%;
    max-width: 300px;
}

.link1{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1%;
}

.link1 a:hover{
    filter: brightness(0.7);
}

/**** figures */
figure{
    text-align: center;
}

figcaption{
    color: grey;
    margin-top: 0;
    margin-bottom: 1%;
}

figcaption a
{
    color: grey;
    text-decoration: none;
}

figcaption a:hover
{
    color: grey;
    text-decoration: underline;
}


/******************* links */
a {
    text-decoration: underline;
    color: black;}

a:visited {
    color: black;}

a:hover{
   color: #1A89BA;}


/******************* header */
#banner{
    background-image: url("images/banner.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

@media (max-width: 740px) {
    header h1 {
    display: none;
}
header {
    justify-content: center;
}
}

@media (max-width: 420px) {
#banner{
    display: flex;
}
header #logo-project{ 
    width: 50%;
}
header #logo-lab{ 
    width: 100%;
}
}

header h1{
    font-weight: bold;
    font-size:max(5vw,18px);
    text-shadow: 2px 2px 0px rgba(222,222,222, 0.5);
    padding-left: 1%;
}

header #logo-project{ 
    max-width: 160px;
}

header #logo-lab{ 
    max-width: 300px;
}

/******************* nav  */
nav li {
 list-style: none;
 font-family: Comic Sans MS, serif;

}

nav a{
    text-decoration: none;
    color: black;
}

nav a:hover{
   background-color: rgba(222,222,222, 0.5);
   color: black;
   border-radius: 2px;
}

.menu {
    display: flex;
    justify-content: space-between;
    z-index: 100;
    padding: 1%;
    padding-top: 0px;
}

input[type=checkbox]{
 display: none;
} 

.hamburger {
 display: none;
 user-select: none;
}

@media (max-width: 420px) {
.menu { 
 display:none;
 position: absolute;
 background-color: rgba(84,176,226,0.90);
 right: 0;
 text-align: right;
 padding: 1%;

}

.menu li:hover {
 display: inline-block;
 background-color:rgba(222,222,222, 0.5);
 border-radius: 2px;
}
.menu li + li {
 margin-top: 20px;
}
input[type=checkbox]:checked ~ .menu{
 display: block;

}
.hamburger {
 display: block;
 font-size: 30px;
 width: 30px;
 border: 1px solid black;
 
}
}

/******************* footer */
footer{
    background-color: rgba(84,176,226,1);
    background-image: url("images/banner.jpg");
    background-repeat: no-repeat;
    background-size: cover;

}

footer p{
    font-size: max(1.2vw, 10px);
    color: grey;
    margin-bottom: 0px;
    padding-bottom: 1vw;
}



/******************* index */
#index{
    text-align: center;
}

.videos{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.videos figure{
    width:  min(95%, 500px);
}

.videos video{
    max-width: 100%;
}


/******************* news */
.news-date{
    color: grey;
    line-height: 1rem;
    font-size: 0.8rem;
}

/******************* people */
#people{
    text-align: center;
    background-image: url("images/long-flou_png.png");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;

}

#people p {
    width: min(900px, 95%);
    margin: auto;
}

/******************* form */
#form{
    text-align: center;
    background-image: url("images/long-flou_png.png");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;

}

#form p{
    width: min(1300px, 95%);
    margin-right: auto;
    margin-left: auto;
}


#form ul {
  list-style-position: inside;
  margin-right: auto;
  margin-left: auto;
  width: min(1300px, 95%);
  text-align: left;
}

.before-list {
    margin-bottom: 0%;
}


