/* 
   navigation.css
   
   Maintains a navigation bar that follows close to the navigation elements of uamshealth.com. Supports submenus. We 
   are intentionally deviating from the parent theme in one main area: mobile navigation. They have a menu that expands
   in the main canvas, whereas we would rather put the menu in an offcanvas drawer that slides in when clicked on. 
*/

.nav, .navbar-nav {
    --bs-nav-pills-link-active-bg: var(--uams-primary-red);
    --bs-nav-link-color: var(--uams-primary-red);
    --bs-nav-link-hover-color: var(--uams-primary-red-hover);
    --bs-nav-link-font-weight: 400;
    --bs-nav-underline-link-active-color: var(--uams-primary-red);
}

.main-navbar {
    --bs-navbar-padding-y: 0;
    --bs-navbar-padding-x: 1.5rem;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
    border-top: 2px solid #f0eeef;
}

.main-navbar .navbar-nav {
    --bs-nav-link-padding-y: 1.125rem;
    --bs-nav-link-padding-x: 0.75rem;
    --bs-nav-link-font-size: 1.25rem;
}

.main-navbar  .navbar-nav .nav-link {
    line-height: 1;
    --bs-nav-link-font-weight: 500;
}

.navbar a {
    text-decoration: none;
}

.navbar a:focus, .navbar a:hover {
    text-decoration: underline;
}

.main-navbar .offcanvas-body {
    /* reset bootstrap padding because we want the borders of nav items and background of submenus to extend edge-to-edge */
    padding-left: 0;
    padding-right: 0;
    
    /* reset bootstrap padding because there is too much spacing between header and menu */
    padding-top: 0;
}

.main-navbar .dropdown-menu {
    width: max-content; /* encourages text to not wrap in drop down menus unless max-width is hit */
    --bs-dropdown-border-radius: 0.25rem;
    --bs-dropdown-border-color: rgba(0, 0, 0, 0.15);
    --bs-dropdown-padding-y: 0.625rem;
    --bs-dropdown-item-padding-x: 1.25rem;
    --bs-dropdown-item-padding-y: 0.75rem;
    --bs-dropdown-font-size: var(--bs-body-font-size);
    --bs-dropdown-link-hover-bg: #f5f3f4;
}

.main-navbar .nav-item .nav-item-flex {
    display: flex;
    align-items: center;
}

.main-navbar .nav-item .nav-item-flex .fa-caret-down {
    display: none;
    padding-right: var(--bs-navbar-nav-link-padding-x);
}

.main-navbar .dropdown > .dropdown-menu {
    min-width: 100%;
}

.main-navbar .dropdown-item {
    white-space: normal;
    font-weight: 300;
}

.main-navbar .nav-link .fa-caret-down {
    display: none;
    margin-left: 0.5rem;
}

.main-navbar .btn.dropdown-toggle-btn {
    color: var(--bs-nav-link-color);
    font-size: 1.5rem;
    --bs-btn-padding-x: 0.25rem;
    --bs-btn-padding-y: 0.25rem;
}

.main-navbar .dropdown.opening > .dropdown-menu,
.main-navbar .dropdown.closing > .dropdown-menu,
.main-navbar .dropend.opening > .dropdown-menu,
.main-navbar .dropend.closing > .dropdown-menu
{
    display: block;
    opacity: 0;
}

.main-navbar .dropdown.closing > .dropdown-menu,
.main-navbar .dropend.closing > .dropdown-menu{
    pointer-events: none;
}

.main-navbar .dropdown.open > .dropdown-menu,
.main-navbar .dropend.open > .dropdown-menu{
    display: block;
    opacity: 1;
}

.main-navbar .dropend > .dropdown-menu {
    left: calc(100% - 2px);
    top: calc(2px - var(--bs-dropdown-padding-y) - var(--bs-border-width));
}

.main-navbar .dropend > .dropdown-item {
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
}

.main-navbar .dropdown-menu a:hover {
    text-decoration: none;
}

/* set the plus square to minus square when open */
.main-navbar .dropdown.open .dropdown-toggle-btn > .fa-plus-square:before {
    content: "\f146";
}


@media screen and (min-width: 992px) {
    .main-navbar .nav-item .nav-item-flex .fa-caret-down {
        display: block;
    }

    .main-navbar .btn.dropdown-toggle-btn {
        display: none;
    }

    .main-navbar .nav-link .fa-caret-down {
        display: inline-block;
    }

    .main-navbar .dropdown > .dropdown-menu,
    .main-navbar .dropend > .dropdown-menu
    {
        opacity: 0;
        transition: opacity 0.33s;
        box-shadow: var(--bs-box-shadow-sm);
    }
}

@media screen and (max-width: 991px) {
    .main-navbar .nav-link .fa-caret-down {
        display: none;
    }

    .main-navbar .nav-item-flex {
        padding-left: var(--bs-offcanvas-padding-x);
        padding-right: var(--bs-offcanvas-padding-x);
    }

    .main-navbar .nav-item .nav-item-flex .nav-link {
        flex-grow: 1;
    }

    .main-navbar .nav-item:first-child {
        border-top: 1px solid rgba(0,0,0,0.15);
    }
    
    .main-navbar .nav-item {
        border-bottom: 1px solid rgba(0,0,0,0.15);
    }

    .main-navbar .dropdown-menu {
        --bs-dropdown-bg:#faf8f9;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        border-radius: 0;
        max-width: 100%;
    }

    .main-navbar .dropend .dropdown-menu {
        --bs-dropdown-bg: #f0eeef;
        width: 100%;
        border-bottom: 1px solid rgba(0,0,0,0.15);
    }

    /* set the caret to point down when open */
    .main-navbar .dropend.open > .dropdown-item > .fa-caret-right:before {
        content: "\f0d7";
    }
}