header[role="banner"] {
    padding-top: 5px;
    padding-bottom: 5px;
}

header[role="banner"] {
    top: 0px;
    left: 0;
    right: 0;
    position: sticky;
    z-index: 1100;
}

header[role="banner"]::before {
    content: "";
    opacity: 0;
}

header[role="banner"].sticky::before {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    opacity: 1;
    position: absolute;
    background: var(--app-background-default);
    transition: opacity 300ms;
    border-bottom: 1px solid var(--app-color-border-gray-ligth);
}

#header-container-logo {
    z-index: 0;
}

#header-container-logo .logo {
    height: 51px;
    width: 200px;
}

#header-container-logo path {
    fill: #271a38;
}

.navbar-collapse {
    width: 100%;
}

header .navbar {
    flex: 1;
    justify-content: flex-end;
    padding: 0;
}

.navbar-nav {
    align-items: center;
    justify-content: center;
}

.navbar-nav>li {
    position: relative;
}

.navbar-collapse-links {
    flex: 1;
}

.header-navbar-nav hr {
    width: 1px;
    border: none;
    height: 32px;
    margin: 0.75rem 0.75rem;
    display: block;
    background: var(--app-color-border-gray-ligth);
}


/** Sub menu **/

.nav-sub-menu {
    padding: 0.75rem;
    list-style: none;
    margin: 0px;
    position: absolute;
    background-color: #FFF;
    width: 480px;
    z-index: 2;
    left: -6px;
    opacity: 0;
    visibility: hidden;
    transform-origin: center bottom;
    transition: opacity 195ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.navbar-nav li.active .nav-sub-menu {
    opacity: 1;
    visibility: visible;
    transition: opacity 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}

.nav-sub-menu hr {
    height: 3px;
    margin: 0.3rem 0.3rem;
    display: block;
    padding: 0;
    background-color: #dad9dc;
    border-width: 0px 0px thin;
    border-style: solid;
    border-color: rgb(218, 217, 220);
    width: auto;
}

.nav-sub-menu li {
    margin: 0;
    list-style-type: none;
}

.nav-sub-menu>li {
    margin: 0;
    padding: 0;
}

.nav-sub-menu ul {
    padding-left: 0;
}

.nav-sub-menu>li>span,
.list-title {
    font-family: Inter, Inter-Bold;
    font-size: 1.25rem;
    letter-spacing: 0px;
    line-height: 8px;
    font-weight: 700;
    color: var(--app-color-text-gray);
    display: inline-block;
}

.nav-sub-menu>li>span {
    text-transform: uppercase;
    padding: 0.75rem;
}

.nav-sub-menu>li img {
    width: 36px;
    margin-right: 1rem;
}

.nav-sub-menu>li a {
    display: flex;
    align-items: center;
    padding: 0.75rem;
}

.nav-sub-menu>li li:hover,
.nav-sub-menu>li:last-child:hover {
    background-color: var(--app-color-border-gray-high-ligth);
}

.navbar-nav>li.active svg path {
    fill: var(--app-color-text-accent);
}

.navbar-nav>li.active a {
    color: var(--app-color-text-accent);
}

.navbar-nav>li.active a .arrow-down-icon {
    transform: rotate(180deg);
    transition: 300ms ease;
}

.nav-sub-menu>li:last-child a {
    justify-content: end;
}

.nav-sub-menu>li:last-child a {
    justify-content: start;
}

.list-title {
    color: var(--app-color-text-primary);
    font-size: 1.125rem;
    text-transform: uppercase;
}

.list-content {
    letter-spacing: 1px;
    line-height: 15px;
    color: var(--app-color-text-primary);
}

.responsive-menu-button {
    margin-left: -0.75rem;
    margin-right: 0.5rem;
}

.roundedButtonLigthGray {
    border-radius: 50%;
    flex: 0 0 auto;
    overflow: visible;
    padding: 12px;
    transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
    text-align: center;
    display: inline-block;
}

.roundedButtonLigthGray:hover {
    background-color: var(--app-color-background-gray-high-ligth);
}

.responsive-menu-button svg {
    width: 1.5em;
    height: 1.5em;
    position: relative;
}

.nav-sub-menu-responsive {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
    /* transition: height 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; */
}

.nav-item.active .nav-sub-menu-responsive {
    /* max-height: min-content; */
    transition: max-height 0.25s ease-in;
}

@media (min-width: 375px) {

    #header-container-logo .logo {
        width: 185px;
    }

    .navbar-collapse-contact-link {
        text-align: right;
    }

    .responsive-menu-button {
        padding: 12px;
        display: inline-block;
    }

    .responsive-menu-button svg {
        width: 1.5em;
        height: 1.5em;
        position: relative;
    }

    .navbar-collapse-contact-link {
        display: none;
    }
}

@media (min-width: 768px) {
    #header-container-logo .logo {
        width: 210px;
    }
}

@media (min-width: 992px) {
    #header-container-logo .logo {
        width: 210px;
    }

    .responsive-menu-button {
        display: none;
    }
}

@media (min-width: 1280px) {
    #header-container-logo .logo {
        width: 370px;
    }

    .constraint-box {
        max-width: 1168px;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width:767px) {
    body {
        width: auto;
    }

    .engagement-section-sub-container .bloc-type-twins .bloc-type-twins-first img {
        height: 192px;
        display: flex;
        margin: 2% 0 0 13%;
    }
}