html {
    scroll-behavior: smooth;
}

h1 {
    font-family: 'Montserrat Subrayada', sans-serif;
}
h2::after {
    margin: 20px auto 0px;
    content: "";
    display: block;
    height: 4px;
    width: 40px;
    background-color: #20478A;
    box-sizing: border-box;
}
header h2 {
    color: white;
}
header h2:after {
    display: none;
}
h2 {
    font-weight: 600 !important;
}
h2,h3,h4,a,p {
    font-family: 'Montserrat', sans-serif;
}

h1, h2, h3, h4 {
    color: #20478A;
    text-align: center;
}
p {
    text-align: justify;
}

.w-29 {
    width: 29% !important;
}

.navbar {
    padding: 0 !important;
}
.navbar img.navbar-corner {
    position: absolute;
    top: 0;
}
.navbar img.navbar-corner.left {
    left: 0;
}
.navbar img.navbar-corner.right {
    right: 0;
}

.navbar-header {
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.navbar-toggler:focus,
.navbar-toggler:active {
    outline: 0;
}

.navbar .navbar-collapse a::after {
    margin: 0px auto 0px;
    content: "";
    display: block;
    height: 2px;
    width: 0px;
    background-color: #cbd3da;
    box-sizing: border-box;
    float: inherit;
}
.navbar .navbar-collapse a:hover::after {
    transition: width 0.4s;
    width: 100%;
}
header {
    position: relative;
}
header::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
header .header-content {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    color: rgb(51,51,51);
}
header .header-content h1 {
    font-size: 60px;
    font-weight: 700;
    /* letter-spacing: 3px; */
    color: white;
}


header .img-header-container {
    height: calc(100vh);
    background-color: rgba(0,0,0,0.2);
}
header .img-header-container img {
    width: 100%;
    height: 100%;
    position: fixed;
    object-fit: cover;
    z-index: -1;
}

section {
    padding-top: 50px;
    background-color: white;
}
header#accueil {
    border-bottom: 1px solid rgb(51,51,51);
}

section .row img {
    display: block;
    margin: auto;
    width: 80%;
} 

section#problematiques p {
    margin: auto;
    width: 90%;
}

.custom-popover {
    position: absolute;
    cursor: pointer;
    border: 1px dotted #20478A;
}
.custom-popover:hover {
    border: 3px solid #20478A;
    background-color: #28A5C522; 
}

.carousel-item p {
    margin: 25px auto auto;
    width: 70%;
}
.carousel-control-next-icon,
.carousel-control-prev-icon {
  filter: invert(1);
}
div#supervision_container {
    margin: 25px auto auto;
}

section#enjeux {
    overflow-x: hidden;
}

section#equipe p {
    text-align: center;
    margin: 10px auto 50px;
}
section#equipe small {
    text-align: center;
}


.square {
    position: relative;
    margin: auto;
    width: 50%;
}
.square:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
section#equipe img.trombi {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
}
div.partners {
    padding-bottom: 50px;
}
div.partners img {
    width: auto;
}
div.partners img.insa {
    max-height: 5em;
}
div.partners img.psh {
    max-height: 7em;
}
footer img {
    display: block;
    max-height: 7em;
    width: auto;
    margin: 40px auto;
}

@media only screen and (max-width: 992px) {
    .navbar-header {
        float: none;
        width: 100%;
    }
    header .header-content {
        width: 100%;
    }
    .navbar-toggler {
        display: block;
    }
    .navbar-corner {
        display: none;
    }
    section#enjeux img {
        width: 50%;
    }
}
@media only screen and (max-width: 480px) {
    header .header-content {
        width: 80%;
    }
    header .header-content h1 {
        font-size: 50px;
    }
}

.back-to-top.btn-primary, .back-to-top.btn-primary:active, .back-to-top.btn-primary:visited {
    background-color: #28A5C5 !important;
}
.back-to-top.btn-primary:hover {
    background-color: #20478A !important;
}

.back-to-top {
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
}
