/* MENU */
/* generals */

.site-logo {
    position: relative;
    z-index: 5;
    min-height: 76px;
    max-width: 227px;
    height: auto;
    width: auto;
    padding: 0 0.5rem 0 0.5rem;
}

.site-logo img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    height: auto;
    width: auto;
}

.site-logo-2nd {
    height: 100%;
    position: relative;
    z-index: 5;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.site-logo-2nd svg {
    height: auto;
    width: auto;
}

.site a.nav-link,
.site a.dropdown-item {
    color: var(--bs-tertiary) !important;
    font-weight: 500;
    font-size: 18px;
    transition: all 0.3s ease-in-out;
}

.site .desktop-nav a.nav-link:hover,
.site .desktop-nav a.dropdown-item:hover {
    color: var(--bs-primary) !important;
    transition: all 0.3s ease-in-out;
}

.site a.nav-link.active,
.site a.dropdown-item.active {
    color: var(--bs-tertiary) !important;
    font-weight: 700;
    background-color: transparent;
}

@media (max-width: 768px) {
    .site-link {
        margin-left: 1rem;
    }
}

@media (min-width: 992px) {
    .site-header .navbar-nav .menu-item .nav-link {
        padding: 0.5rem 1.2rem;
    }
}

header.site-header {
    position: fixed;
    width: 100%;
    z-index: 7;
}

header.site-header::after {
    content: '';
    display: block;
    position: absolute;
    background-color: white;
    width: 100%;
    height: var(--nav-height);
    right: 0%;
    top: 0%;
    box-shadow: 0px -2px 10px #00000040;
}

@media (min-width: 1200px) {
    header.site-header::after {
        z-index: -1;
    }
}

.navbar .navbar-nav {
    flex-direction: row;
    align-items: stretch;
}

.navbar-nav .current-menu-item {
    font-weight: 700;
}

.header-container {
    position: relative;
}

.navbar.navbar-expand-xl {
    position: initial !important;
    align-items: stretch;
    padding: 0;
}

.navbar-nav>.menu-item {
    align-content: center;
    height: 100%;
}

.navbar .navbar-nav .sub-menu {
    border: none;
}

.navbar .navbar-nav .menu-item .sub-menu.show {
    display: flex;
    flex-wrap: wrap;
}

a.nav-link {
    cursor: pointer;
}

.navbar .navbar-nav .menu-item-has-children>a.dropdown-toggle {
    pointer-events: none;
}

/* ------ FIRST SUBMENU - (fullwidth) ------ */

.navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
    width: max-content;
    max-width: 330px;
    box-shadow: 0 0 4px #00000040;
    z-index: -1;
}

.navbar .navbar-nav>.menu-item:hover>.sub-menu {
    display: flex;
    flex-direction: column;
    min-width: 100%;
    top: 100%;
    border-radius: 0;
}

.navbar .navbar-nav>.menu-item>.sub-menu .menu-item {
    position: relative;
    min-height: 42px;
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.navbar .navbar-nav>.menu-item>.sub-menu {
    background-color: white;
    left: 0;
    justify-content: space-between;
}

.navbar .navbar-nav .sub-menu .menu-item a {
    display: flex !important;
    align-items: center;
}

.navbar .navbar-nav .sub-menu .menu-item:hover {
    background-color: var(--bs-light) !important;
}

.navbar .navbar-nav .sub-menu .menu-item a::after {
    content: '';
    min-width: 25px;
    height: 25px;
    margin-left: .4rem;
}

.navbar .navbar-nav .sub-menu .menu-item:hover>a>span {
    color: var(--bs-primary);
}

.navbar .navbar-nav .sub-menu .menu-item>a:not(.dropdown-toggle)::after {
    content: '';
    min-width: 20px;
    height: 20px;
    margin-left: .4rem;
}

.navbar .navbar-nav .sub-menu .menu-item:hover>a:not(.dropdown-toggle)::after {
    content: '';
    min-width: 20px;
    height: 20px;
    mask-image: url('data:image/svg+xml,<svg width="19" height="15" viewBox="0 0 19 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M12.2246 0.292893L18.5885 6.65685C18.9791 7.04738 18.9791 7.68054 18.5885 8.07107L12.2246 14.435C11.8341 14.8256 11.2009 14.8256 10.8104 14.435C10.4198 14.0445 10.4198 13.4113 10.8104 13.0208L15.4672 8.36396L1 8.36396C0.447715 8.36396 0 7.91625 0 7.36396C0 6.81168 0.447715 6.36396 1 6.36396L15.4672 6.36396L10.8104 1.70711C10.4198 1.31658 10.4198 0.683418 10.8104 0.292893C11.2009 -0.0976311 11.8341 -0.0976311 12.2246 0.292893Z" fill="%238D2342"/></svg>');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--bs-primary);
    border: none;
    vertical-align: middle;
    transition: transform 0.3s ease-in-out;
    margin-left: .4rem;
}

.navbar .navbar-nav .dropdown-menu.show {
    display: none !important;
}

/* ------ 2ND SUBMENU (LAST) ------ */

.navbar .navbar-nav .menu-item:hover .sub-menu .sub-menu {
    position: absolute;
}

.navbar .navbar-nav .sub-menu>.menu-item:hover>.sub-menu {
    display: flex;
    flex-direction: column;
    top: -.5rem;
    left: 100%;
    border-radius: 0;
}

/* 2nd menu links */

.navbar .navbar-nav .sub-menu li.menu-item a {
    padding: 6px 0px;
    display: block;
}

.navbar .navbar-nav .sub-menu li.menu-item a {
    color: var(--bs-nav-link-color);
}

.navbar .navbar-nav .dropdown-item:hover {
    background: none;
}

/* dropdown */

.dropdown {
    position: relative !important;
}

.nav-link.dropdown-toggle {
    display: flex;
    align-items: center;
    white-space: wrap;
}

.dropdown-toggle::after {
    content: "";
    min-width: 30px;
    height: 30px;
    mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M12.5,5.75,8,10.25,3.5,5.75" fill="none" stroke="%23656565" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></svg>');
    mask-size: contain;
    background-color: var(--bs-tertiary);
    border: none;
    vertical-align: middle;
    transition: transform 0.2s ease-in-out;
}

.desktop-nav .sub-menu .menu-item:hover .dropdown-toggle>span {
    color: var(--bs-primary);
}

.desktop-nav .sub-menu .menu-item:hover .dropdown-toggle::after {
    background-color: var(--bs-primary);
    transition: transform 0.2s ease-in-out;
    transform: rotate(-90deg);
}

@media (max-width: 1200px) {
    .dropdown-toggle::after {
        min-width: 30px;
        height: 30px;
    }
}

.dropdown-toggle.active::after {
    background-color: var(--bs-tertiary) !important;
}

.dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(-90deg);
}

/* mobile menu */
.navbar-collapse .dropdown-item:hover {
    background-color: transparent !important;
}

.navbar-collapse .dropdown-item:focus {
    background-color: transparent !important;
}

.navbar-collapse ul {
    list-style-type: none;
    padding: 0;
}

.navbar-collapse.collapse:not(.show) {
    height: 0;
}

.header-parent-opened {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

.sub-menu.show {
    position: initial !important;
    transform: none !important;
}

.navbar-collapse .nav-link {
    display: flex;
    align-items: center;
}

.navbar-collapse .sub-menu .nav-link.dropdown-toggle {
    flex: 1;
    color: var(--bs-black);
}

.navbar-collapse .sub-menu {
    background: none;
    border: none;
    padding-left: 20px;
}

.navbar-collapse .sub-menu .menu-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.navbar-collapse .sub-menu .menu-item .sub-menu {
    flex-basis: 100%;
    padding-bottom: 2rem;
    padding-top: 0.5rem;
}

.navbar-collapse .sub-menu .menu-item .sub-menu a {
    padding: 0.6rem 1rem;
}

.navbar-collapse .navbar-nav:first-child .nav-link {
    padding: 0.8rem 0;
}

/* hamburger icon */
.menu-toggler {
    background: none;
    z-index: 2;
}

.ham {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 400ms;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.hamRotate.active {
    transform: rotate(45deg);
}

.hamRotate180.active {
    transform: rotate(180deg);
}

.line {
    fill: none;
    transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
    stroke: var(--bs-secondary);
    stroke-width: 4.5;
    stroke-linecap: round;
}

.hamRotate.active .line {
    stroke: var(--bs-secondary);
    transition: all 0.5s ease-in-out;
}

.ham8 .top {
    stroke-dasharray: 40 160;
}

.ham8 .middle {
    stroke-dasharray: 40 142;
    transform-origin: 50%;
    transition: transform 400ms;
}

.ham8 .bottom {
    stroke-dasharray: 40 85;
    transform-origin: 50%;
    transition: transform 400ms, stroke-dashoffset 400ms;
}

.ham8.active .top {
    stroke-dashoffset: -64px;
}

.ham8.active .middle {
    /*stroke-dashoffset: -20px;*/
    transform: rotate(90deg);
}

.ham8.active .bottom {
    stroke-dashoffset: -64px;
}