div.menu {
    background-color: #403234;
}

div.menu a {
    display: inline-block;
    margin-left: 50px;
}

/* *************************************************************** */
/* Gestion des liens du menu */

a[class*='principalLink'] {
    position: relative;
    display: inline-block;
    font-size: 1.5em;
    text-decoration: none;
    color: #fff;
}

a.principalLink:hover,
a.principalLink:active,
a.principalLink:visited {
    color: #f7f3f5;
}

a.principalLink:before {
    content: '';
    position: absolute;
    left: 18x;
    width: 30px;
    height: 2px;
    background-color: #e2c2b3;
    bottom: -1px;
}

a.principalLink:after {
    content: '';
    position: absolute;
    width: 80%;
    height: 2px;
    left: 18px;
    background-color: #e2c2b3;
    bottom: -1px;
    transform-origin: bottom left;
    transition: transform 0.65s ease-out;
    transform: scaleX(0);
}

a.principalLink:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

a.principalLink-active,
a.principalLink-active:active,
a.principalLink-active:visited {
    border-radius: 15px;
    padding: 10px 15px;
    border: 1px solid #e2c2b3;
    color: #fff;
    padding: 7px 12px;
}

/* *************************************************************** */
/* dropdown menu */

div.menu .dropdown-menu.show {
    margin-left: 40%;
}

div.menu .dropdown-toggle {
    color: #fff !important;
    font-size: 1.5em;
}

div.menu div.dropdown-menu a.dropdown-item,
div.menu div.dropdown-menu a.dropdown-item:active,
div.menu div.dropdown-menu a.dropdown-item:visited {
    left: 0%;
    text-align: left;
    color: #403234;
    background-color: #fff;
}

div.menu div.dropdown-menu a.dropdown-item:hover {
    font-weight: bold;
}

div.menu div.dropdown-menu a,
div.menu div.dropdown-menu a:active,
div.menu div.dropdown-menu a:visited {
    margin-left: 0;
    color: #403234;
    font-size: 1.1em;
}

div.menu div.dropdown-menu a.link-center {
    border-bottom: 1px solid #e2c2b3;
}

/* *************************************************************** */
/* Menu hamburger */

button.navbar-toggler {
    background-color: #fff !important;
    border: 1px solid #fff;
}

/* ********************************************** */

/* ********************************************** */

@media (max-width: 991px) {

    div.menu {
        width: 100% !important;
        margin-top: 0 !important;
        margin-left: 0 !important;
        height: 110%;
    }

    div.menu a {
        margin-left: 0px;
    }

    div.menu .dropdown-menu.show {
        margin-left: 0;
        width: 50%;
    }

    a.principalLink:after,
    a.principalLink:before {
        display: none !important;
    }

    a.principalLink-active {
        border-radius: 0;
        border: none;
        border-left: 2px solid #fff;
    }
}