/* NAVIGATION
================================*/
/* BREAKPOINT ORIGINAL 992 PX */
/* BREAKPOINT APRES MODIF : 1500px */

.navigation {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: initial;
    align-items: initial;
    width: 100%;
    height: 7vh;
    padding: 0;
    position: relative;
    line-height: initial;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    box-sizing: border-box;
    background-color: #ffffff;
    transition: background 0.3s;
    -webkit-box-shadow: 0px 1px 6px -2px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 1px 6px -2px rgba(0,0,0,0.2);
    box-shadow: 0px 1px 6px -2px rgba(0,0,0,0.2);
}

.navigation *,
.navigation *:before,
.navigation *:after {
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    text-decoration: none;
}

.navigation.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 19998;
}

.navigation.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    will-change: opacity;
    z-index: 19998;
}

.navigation > .container {
    display: -ms-flexbox;
    display: flex;
}

/* MOBILE HEADER
================================*/
.navigation-header {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media (min-width: 1500px) {
    .navigation-header {
        display: none;
    }
}

/* OVERLAY PANEL
================================*/
.overlay-panel {
    width: 0;
    height: 0;
    position: fixed;
    left: 0;
    top: 0;
    opacity: 0;
    z-index: -999999;
    transition: opacity 0.8s;
}

.overlay-panel.is-visible {
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 19999;
}

.overlay-panel.is-invisible {
    opacity: 0;
}

@media (min-width: 1500px) {
    .overlay-panel.is-visible {
        display: none !important;
    }
}

/* NAVIGATION LOGO
================================*/
.navigation-logo {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: start;
}

.navigation-logo a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: start;
}

.navigation-logo a img {
    position:absolute;
    top:1em;
    left:0.5em;
    height: 5.5rem;
    display: block;
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 425px) {
    .navigation-logo a img {
        left:0.5rem;
        height: 6.5rem;
    }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {


}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}

@media (min-width: 1500px) {
    .navigation-logo a img {
        height: 6em;
    }

}

.navigation-logo-top .navigation-body .navigation-logo img {
    width: auto;
    height: auto;
}

.navigation-header .navigation-logo {
    padding: 0 1rem;
}

.navigation-logo.navigation-item a img {
    width: auto;
    height: auto;
}

/* NAVIGATION BUTTON TOGGLER
================================*/
.navigation-button-toggler {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    cursor: pointer;
}

.navigation-button-toggler .hamburger-icon {
    width: 20px;
    height: 2px;
    display: inline-block;
    font-style: normal;
    color: #555d65;
    box-shadow: inset 0 0 0 32px, 0 -6px, 0 6px;
}

/* NAVIGATION BODY
================================*/
.navigation-body {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: -100%;
    overflow-x: hidden;
    overflow-y: auto;
    background-color: #ffffff;
    z-index: 20000;
    transition: left 0.8s cubic-bezier(0.1, 0.1, 0.1, 0.1), right 0.8s cubic-bezier(0.1, 0.1, 0.1, 0.1);
}

/* Masque le logo de navigation-body en dessous de 1500px */
/* Le Logo de navigation-header est affiché en dessous de 1500px */
.navigation-body > .navigation-body-header > .navigation-logo {
    display:none;
}

@media (min-width: 500px) {
    .navigation-body {
        width: 320px;
    }
}

@media (min-width: 1500px) {
    .navigation-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        position: relative;
        left: auto;
        overflow: visible;
        z-index: auto;
        background-color: transparent;
        transition: all 0s ease 0s;
    }
    /* Affiche le logo de navigation-body au dessus de 1500px */
    /* Le Logo de navigation-header est masqué au dessus de 1500px */
    .navigation-body > .navigation-body-header > .navigation-logo {
        display:block;
    }
}

.navigation-body.offcanvas-right {
    left: auto;
    right: -100%;
}

@media (min-width: 1500px) {
    .navigation-body.offcanvas-right {
        right: auto;
    }
}

.navigation-body.is-visible {
    left: 0;
    transition: left 0.8s, right 0.8s;
}

.navigation-body.offcanvas-right.is-visible {
    right: 0;
    left: auto;
}

@media (min-width: 1500px) {
    .navigation-body.offcanvas-right.is-visible {
        right: auto;
    }
}

.navigation-body.is-invisible {
    left: -100%;
}

.navigation-body.offcanvas-right.is-invisible {
    right: -100%;
}

.navigation-body.scroll-momentum {
    -webkit-overflow-scrolling: touch;
}

@media (min-width: 1500px) {
    .navigation-centered .navigation-body {
        -ms-flex-pack: center;
        justify-content: center;
    }
    .navigation-justified .navigation-body {
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .navigation-logo-top .navigation-body {
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.navigation-body-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 16px;
    border-bottom: solid 1px #e9ecef;
}

@media (min-width: 1500px) {
    .navigation-body-header {
        border: none;
    }
    .navigation-centered .navigation-body-header {
        padding: 0;
    }
    .navigation-logo-top .navigation-body-header {
        padding-top: 20px;
    }
}

.navigation-body-close-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    width: 30px;
    height: 30px;
    margin-left: auto;
    padding-bottom: 2px;
    line-height: initial;
    text-align: center;
    font-size: 25px;
    color: #555d65;
    cursor: pointer;
}

@media (min-width: 1500px) {
    .navigation-body-close-button {
        display: none;
    }
}

.navigation-body-section {
    width: 100%;
    padding: 16px;
    display: inline-flex;
    -ms-flex-direction: column;
    flex-direction: column;
}

@media (min-width: 1500px) {
    .navigation-body-section {
        width: auto;
        display: inline-block;
    }
}

.navigation-body-section + .navigation-body-section {
    padding-top: 0;
}

@media (min-width: 1500px) {
    .navigation-body-section + .navigation-body-section {
        padding-top: 16px;
    }
}

/* NAVIGATION MENU
================================*/
.navigation-menu {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0rem;
    display: inline-block;
    float: left;
}

@media (min-width: 1500px) {
    .navigation-menu {
        width: auto;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
    }
    .navigation .navigation-menu {
        -ms-flex-item-align: stretch;
        align-self: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
    .navigation-logo-top .navigation-menu {
        -ms-flex-pack: center;
        justify-content: center;
    }
}

/* Navbar item */
.navigation-item {
    width: 100%;
    margin: 0;
    float: left;
    display: inline-block;
}

@media (min-width: 1500px) {
    .navigation-item {
        width: auto;
    }
}

/* Navbar link */
.navigation-link {
    width: 100%;
    padding: 13px 16px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-size: 1rem;
    font-weight: 400;
    /*text-transform: uppercase;*/
    letter-spacing: 0.3px;
    color: #616161;
    border-bottom: solid 1px #e9ecef;
    transition: color 0.3s;
}

.navigation-link:visited {
    color: #616161;
}

@media (min-width: 1500px) {
    .navigation-item:last-child .navigation-link {
        border-top: none;
        border-bottom: none;
    }
}

.navigation-item:not(.navigation-brand-text):hover .navigation-link,
.navigation-item:not(.navigation-brand-text):focus .navigation-link,
.navigation-item:not(.navigation-brand-text).is-active .navigation-link {
    text-decoration: none !important;
    color: #82868B;
    background-color: transparent;
}

@media (min-width: 1500px) {
    .navigation-link {
        height: 100%;
        padding: 10px 16px;
        line-height: 60px;
        border: none;
        color: #777B81;
    }
    .navigation-link:visited {
        color: #777B81;
    }
}

.navigation-menu.navigation-social-menu + .navigation-menu:not(.navigation-social-menu) .navigation-item:first-child .navigation-link {
    border-top: solid 1px #e9ecef;
}

@media (min-width: 1500px) {
    .navigation-menu.navigation-social-menu + .navigation-menu:not(.navigation-social-menu) .navigation-item:first-child .navigation-link {
        border-top: none;
    }
}

.navigation-link i {
    width: 28px;
    float: left;
    text-align: center;
    font-size: 24px;
    line-height: 0;
}

.navigation-link i[class*=fa] {
    font-size: 21px;
}

@media (min-width: 1500px) {
    .navigation-link i {
        width: auto;
    }
}

.navigation-link i + span {
    padding-left: 8px;
}

.navigation-icon-item .navigation-link {
    padding: 13px 16px;
}

@media (min-width: 1500px) {
    .navigation-icon-item .navigation-link {
        width: 100%;
        margin: 0;
        padding: 25px 25.6px;
        border-left: solid 1px #e9ecef;
    }
}

@media (min-width: 1500px) {
    .navigation-icon-item .navigation-link span:not(.submenu-indicator) {
        display: none;
    }
}

@media (min-width: 1500px) {
    .navigation-icon-item .navigation-link .navigation-badge {
        right: 10px;
    }
}

@media (min-width: 1500px) {
    .navigation-icon-item .navigation-link i {
        width: 20px;
        height: 26px;
        margin: 0;
        line-height: 26px;
        text-align: center;
        float: left;
        font-size: 25.6px;
    }
    .navigation-icon-item .navigation-link i[class*=fa] {
        width: auto;
        font-size: 21px;
    }
}

.navigation-avatar-item .navigation-link {
    font-size: 12px;
    font-weight: bold;
}

.navigation-avatar-item .navigation-link img {
    width: 48px;
    border: solid 2px #7367F0;
    border-radius: 50%;
}

.navigation-avatar-item .navigation-link span {
    margin-left: 8px;
}

.navigation-body-section + .navigation-menu:not(.navigation-social-menu) > .navigation-item:first-child > .navigation-link {
    border-top: solid 1px #e9ecef;
}

@media (min-width: 1500px) {
    .navigation-body-section + .navigation-menu:not(.navigation-social-menu) > .navigation-item:first-child > .navigation-link {
        border-top: none;
    }
}

/* SUBMENU INDICATOR
================================*/
.submenu-indicator {
    width: 46px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20000;
}

@media (min-width: 1500px) {
    .submenu-indicator {
        width: 15px;
        height: 6px;
        margin-left: 6px;
        float: right;
        position: relative;
    }
    li:not(.navigation-icon-item) span:not(.navigation-badge) + .submenu-indicator,
    li:not(.navigation-icon-item) i + span + .navigation-badge + .submenu-indicator {
        margin-left: 0;
    }
}

.submenu-indicator:after {
    height: 6px;
    width: 6px;
    margin: -4px 0 0 5px;
    top: 50%;
    left: 50%;
    content: "";
    position: absolute;
    border-style: solid;
    border-width: 0 1px 1px 0;
    border-color: transparent #555d65 #555d65 transparent;
    transform: rotate(45deg);
    transition: border 0.3s, transform 0.3s;
}

.navigation-item:hover > .navigation-link > .submenu-indicator:after,
.navigation-item:focus > .navigation-link > .submenu-indicator:after,
.navigation-item.is-active > .navigation-link > .submenu-indicator:after {
    border-color: transparent #7367F0 #7367F0 transparent;
}

.submenu-indicator.is-active:after {
    transform: rotate(-135deg);
}

@media (min-width: 1500px) {
    .submenu-indicator.is-active:after {
        transform: rotate(45deg);
    }
}


/* NAVIGATION DROPDOWN
================================*/
.navigation-dropdown {
    width: 100%;
    max-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
    position: static;
    display: block;
    z-index: 20001;
    background-color: #fcfdfd;
    transition: max-height 2s cubic-bezier(0, 1, 0, 1);
}

.navigation-dropdown.is-visible {
    max-height: 2500px;
    transition: max-height 5s ease-out;
}

@media (min-width: 1500px) {
    .navigation-dropdown {
        position: absolute;
        width:280px;
        display: inline-block;
        opacity: 0;
        box-shadow: 0 12px 20px -5px rgba(0, 0, 0, 0.05);
        transition: opacity 0.3s linear, max-height 0s linear 0.4s;
    }
    .nav-drop-lng {
        width:180px;
    }
    .navigation-dropdown.is-visible {
        opacity: 1;
        overflow: visible;
        transition: opacity 0.3s linear, max-height 0s linear;
    }
    .navigation-item > .navigation-dropdown {
        box-shadow: inset 0 1px 0 #e9ecef, 0 12px 20px -5px rgba(0, 0, 0, 0.05);
    }
}

.navigation-dropdown .navigation-dropdown {
    left: 100%;
}

.navigation-dropdown .navigation-dropdown-left {
    right: 100%;
    left: auto;
}

.navigation-dropdown-item {
    width: 100%;
    margin: 0;
    float: left;
    display: inline-block;
}

.navigation-dropdown-link {
    width: 100%;
    display: inline-block;
    position: relative;
    font-size: 1rem;
    font-weight:400;
    color: #777B81;
    border-bottom: solid 1px #e9ecef;
    transition: color 0.3s, background 0.3s;
}

.navigation-dropdown-link:visited {
    color: #777B81;
}

.navigation-dropdown-item:hover > .navigation-dropdown-link,
.navigation-dropdown-item:focus > .navigation-dropdown-link,
.navigation-dropdown-item.is-active > .navigation-dropdown-link {
    text-decoration: none !important;
    color: #7367F0;
    background-color: #f5f6f8;
}

.navigation-dropdown-link {
    padding: 14px 19px;
}

.navigation-dropdown-link + ul .navigation-dropdown-link {
    padding-left: 32px;
}

.navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link {
    padding-left: 48px;
}

.navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link {
    padding-left: 48px;
}

.navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link {
    padding-left: 64px;
}

.navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link + ul .navigation-dropdown-link {
    padding-left: 128px;
}

@media (min-width: 1500px) {
    .navigation-dropdown-link {
        padding-left: 19px !important;
        border-bottom: none;
    }
}

.navigation-dropdown-link > .submenu-indicator {
    right: 0;
    top: 0;
    position: absolute;
}

.navigation-dropdown-item:hover > .navigation-dropdown-link > .submenu-indicator:after,
.navigation-dropdown-item:focus > .navigation-dropdown-link > .submenu-indicator:after,
.navigation-dropdown-item.is-active > .navigation-dropdown-link > .submenu-indicator:after {
    border-color: transparent #7367F0 #7367F0 transparent;
}

@media (min-width: 1500px) {
    .navigation-dropdown-link > .submenu-indicator {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
    }
    .navigation-dropdown-link > .submenu-indicator:after {
        transform: rotate(-45deg);
    }
    .navigation-dropdown-link > .submenu-indicator.submenu-indicator-left:after {
        transform: rotate(135deg);
    }
}


/* UTILITIES
================================*/
.align-to-right {
    margin-left: auto !important;
}

.align-to-left {
    margin-right: auto !important;
}

.margin-top {
    margin-top: 1rem !important;
}

@media (min-width: 1500px) {
    .margin-top {
        margin-top: 0 !important;
    }
}

@media (max-width: 991px) {
    .hide-on-portrait {
        display: none !important;
    }
}

@media (min-width: 1500px) {
    .hide-on-landscape {
        display: none !important;
    }
}
