/* Base HTML and Body styles for proper rendering */
html {
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
}

/* Universal box-sizing for consistent layout */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

:after, :before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* General link styles */
a {
    background-color: transparent;
    color: #337ab7;
    text-decoration: none;
}

a:active, a:hover {
    outline: 0;
    color: #23527c;
    text-decoration: underline;
}

a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

/* Image styles */
img {
    border: 0;
    vertical-align: middle;
    display: block; /* For .logo */
    max-width: 100%; /* For .logo */
    height: auto; /* For .logo */
}

/* Hidden content for screen readers */
.hidden {
    display: none !important;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Container and Row for Bootstrap grid system */
.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

/* Bootstrap Grid Columns (minimal set for header structure) */
.col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    float: left;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

/* Clearfix for floated elements */
.row:after, .row:before {
    display: table;
    content: " ";
}

.row:after {
    clear: both;
}

/* Header specific styles */
.header {
    /* Add any specific header styles here if needed, e.g., background, padding */
}

.nav-container {
    /* Add any specific nav-container styles here if needed */
}

/* Navbar base styles */
.navbar {
    position: relative;
    min-height: 50px;
    margin-bottom: 20px; /* Default Bootstrap margin, might be overridden by bootsnav */
    border: 1px solid transparent;
}

.navbar-fixed-top {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
    top: 0;
    border-width: 0 0 1px;
}

/* Navbar header (logo and toggle button) */
.navbar-header {
    float: left; /* Default for larger screens */
    margin-left: 3%; /* Inline style from HTML, but good to note */
}

/* Navbar brand (logo link) */
.navbar-brand {
    float: left;
    height: 50px;
    padding: 15px 15px;
    font-size: 18px;
    line-height: 20px;
}

.navbar-brand:focus, .navbar-brand:hover {
    text-decoration: none;
}

.navbar-brand > img {
    display: block;
}

/* Navbar toggle button (hamburger icon) */
.navbar-toggle {
    position: relative;
    float: right;
    padding: 9px 10px;
    margin-top: 8px;
    margin-right: 15px;
    margin-bottom: 8px;
    background-color: transparent;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
}

.navbar-toggle:focus {
    outline: 0;
}

.navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
}

.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px;
}

/* Navbar collapse (menu items) */
.navbar-collapse {
    padding-right: 15px;
    padding-left: 15px;
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
    display: none; /* Default for .collapse */
}

.navbar-collapse.in {
    overflow-y: auto;
    display: block; /* When menu is open */
}

/* Navbar navigation list */
.navbar-nav {
    margin: 7.5px -15px; /* Default Bootstrap margin */
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

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

.navbar-nav > li > a {
    position: relative;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 20px;
}

.navbar-nav > li > a:focus, .navbar-nav > li > a:hover {
    text-decoration: none;
    background-color: #eee; /* Default Bootstrap hover */
}

/* Dropdown menu styles */
.dropdown {
    position: relative;
}

.dropdown-toggle:focus {
    outline: 0;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 320px; /* From bootsnav.css, overriding Bootstrap's 160px */
    padding: 5px 0;
    margin: 2px 0 0;
    font-size: 12px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: 4px;
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}

.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
    color: #262626;
    text-decoration: none;
    background-color: #f5f5f5;
}

.open > .dropdown-menu {
    display: block;
}

/* Specific styles for the provided HTML */
.mmmyaccount-menu {
    display: block !important; /* Overrides bootsnav default for these specific list items */
    opacity: 1 !important; /* Ensures visibility */
}

.arrow-up {
    /* Placeholder for arrow-up styles if needed */
}

/* Font Awesome icon styles (for the SVG) */
.fa {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* Specific SVG icon fill color */
#test_menu {
    fill: rgb(63, 206, 211);
}

/* Bootsnav specific overrides and additions */
nav.navbar.bootsnav {
    margin-bottom: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    background-color: #fff;
    border: none;
    border-bottom: solid 1px #e0e0e0;
    z-index: 9;
}

nav.navbar.bootsnav ul.nav > li > a {
    color: #6f6f6f;
    background-color: transparent;
}

nav.navbar.bootsnav ul.nav li.active > a,
nav.navbar.bootsnav ul.nav li.active > a:focus,
nav.navbar.bootsnav ul.nav li.active > a:hover,
nav.navbar.bootsnav ul.nav li.megamenu-fw > a:focus,
nav.navbar.bootsnav ul.nav li.megamenu-fw > a:hover {
    background-color: transparent;
}

nav.navbar.bootsnav .navbar-toggle {
    background-color: #fff !important;
    border: none;
    padding: 0;
    font-size: 18px;
    position: relative;
    top: 5px;
}

nav.navbar.bootsnav ul.nav .dropdown-menu .dropdown-menu {
    top: 0;
    left: 100%;
}

nav.navbar.bootsnav ul.nav ul.dropdown-menu > li > a {
    white-space: normal;
}

nav.navbar.bootsnav.navbar-fixed {
    position: fixed;
    display: block;
    width: 100%;
}

nav.navbar.bootsnav.no-background {
    -webkit-transition: all 1s ease-in-out;
    -moz-transition: all 1s ease-in-out;
    -o-transition: all 1s ease-in-out;
    -ms-transition: all 1s ease-in-out;
    transition: all 1s ease-in-out;
}

/* Megamenu specific styles */
nav.bootsnav .dropdown.megamenu-fw {
    position: static;
}

nav.bootsnav .megamenu-fw .dropdown-menu {
    left: auto;
}

nav.bootsnav .megamenu-content {
    padding: 15px;
    width: 100% !important;
    border-radius: 10px !important; /* Inline style from HTML, but good to note */
}

nav.bootsnav .megamenu-content .title {
    margin-top: 0;
}

nav.bootsnav .dropdown.megamenu-fw .dropdown-menu {
    left: 0;
    right: 0;
}

/* Media Queries for Responsiveness */

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .container {
        width: 750px;
    }

    .navbar {
        border-radius: 4px;
    }

    .navbar-header {
        float: left;
    }

    .navbar-collapse {
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
        display: block !important; /* Override .collapse for larger screens */
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;
    }

    .navbar-collapse.in {
        overflow-y: visible;
    }

    .navbar-fixed-bottom .navbar-collapse, .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse {
        padding-right: 0;
        padding-left: 0;
    }

    .container > .navbar-collapse, .container > .navbar-header {
        margin-right: 0;
        margin-left: 0;
    }

    .navbar-toggle {
        display: none; /* Hide hamburger on larger screens */
    }

    .navbar-nav {
        float: left;
    }

    .navbar-nav > li {
        float: left;
    }

    .navbar-nav > li > a {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .navbar-right {
        float: right !important;
        margin-right: -15px;
    }

    .navbar-right ~ .navbar-right {
        margin-right: 0;
    }

    nav.navbar.bootsnav ul.nav > li > a {
        padding: 30px 15px; /* Adjust padding for desktop */
        font-weight: 600;
    }

    nav.navbar.bootsnav ul.nav .dropdown-menu .dropdown-menu {
        margin-top: -2px;
    }

    nav.navbar.bootsnav ul.nav.navbar-right .dropdown-menu .dropdown-menu {
        left: -200px; /* Adjust for right-aligned sub-menus */
    }

    nav.navbar.bootsnav li.dropdown ul.dropdown-menu {
        -moz-box-shadow: 0 0 0;
        -webkit-box-shadow: 0 0 0;
        -o-box-shadow: 0 0 0;
        box-shadow: 0 0 0;
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
        -o-border-radius: 0;
        border-radius: 0;
        padding: 0;
        width: 200px;
        background: #fff;
        border: solid 1px #e0e0e0;
        border-top: solid 5px;
    }

    nav.navbar.bootsnav li.dropdown ul.dropdown-menu > li a:hover {
        background-color: transparent;
    }

    nav.navbar.bootsnav li.dropdown ul.dropdown-menu > li > a {
        padding: 10px 15px;
        border-bottom: solid 1px #eee;
        color: #6f6f6f;
    }

    nav.navbar.bootsnav li.dropdown ul.dropdown-menu > li:last-child > a {
        border-bottom: none;
    }

    nav.navbar.bootsnav ul.navbar-right li.dropdown ul.dropdown-menu li a {
        text-align: left;
    }

    nav.navbar.bootsnav ul.dropdown-menu.megamenu-content {
        padding: 0 15px !important;
    }

    nav.navbar.bootsnav ul.dropdown-menu.megamenu-content > li {
        padding: 25px 0 20px;
    }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

/* Extra small devices (phones, less than 768px) */
@media (max-width: 767px) {
    .navbar-header {
        float: none;
        display: block;
        text-align: center;
        padding-left: 30px;
        padding-right: 30px;
    }

    .navbar-toggle {
        display: inline-block;
        float: left;
        margin-right: -200px; /* Adjust to position toggle button */
        margin-top: 10px;
    }

    .navbar-collapse {
        border: none;
        margin-bottom: 0;
        max-height: 350px; /* Limit height for scrollable menu */
        overflow-y: auto !important;
    }

    .navbar-collapse.collapse {
        display: none !important;
    }

    .navbar-collapse.collapse.in {
        display: block !important;
    }

    .navbar-nav {
        float: none !important;
        padding-left: 30px;
        padding-right: 30px;
        margin: 0 -15px;
    }

    .navbar-nav > li {
        float: none;
    }

    .navbar-nav > li > a {
        display: block;
        width: 100%;
        border-bottom: solid 1px #e0e0e0;
        padding: 10px 0;
        border-top: solid 1px #e0e0e0;
        margin-bottom: -1px;
    }

    .navbar-nav > li:first-child > a {
        border-top: none;
    }

    nav.navbar.bootsnav ul.navbar-nav.navbar-left > li:last-child > ul.dropdown-menu {
        border-bottom: solid 1px #e0e0e0;
    }

    nav.navbar.bootsnav ul.nav li.dropdown li a.dropdown-toggle {
        float: none !important;
        position: relative;
        display: block;
        width: 100%;
    }

    nav.navbar.bootsnav ul.nav li.dropdown ul.dropdown-menu {
        width: 100%;
        position: relative !important;
        background-color: transparent;
        float: none;
        border: none;
        padding: 0 0 0 15px !important;
        margin: 0 0 -1px 0 !important;
        -moz-box-shadow: 0 0 0;
        -webkit-box-shadow: 0 0 0;
        -o-box-shadow: 0 0 0;
        box-shadow: 0 0 0;
        -moz-border-radius: 0 0 0;
        -webkit-border-radius: 0 0 0;
        -o-border-radius: 0 0 0;
        border-radius: 0 0 0;
    }

    nav.navbar.bootsnav ul.nav li.dropdown ul.dropdown-menu > li > a {
        display: block;
        width: 100%;
        border-bottom: solid 1px #e0e0e0;
        padding: 10px 0;
        color: #6f6f6f;
    }

    nav.navbar.bootsnav ul.nav ul.dropdown-menu li a:focus,
    nav.navbar.bootsnav ul.nav ul.dropdown-menu li a:hover {
        background-color: transparent;
    }

    nav.navbar.bootsnav ul.nav ul.dropdown-menu ul.dropdown-menu {
        float: none !important;
        left: 0;
        padding: 0 0 0 15px;
        position: relative;
        background: 0 0;
        width: 100%;
    }

    nav.navbar.bootsnav .dropdown .megamenu-content .col-menu .title {
        padding: 10px 15px 10px 0;
        line-height: 24px;
        text-transform: none;
        font-weight: 400;
        letter-spacing: 0;
        margin-bottom: 0;
        cursor: pointer;
        border-bottom: solid 1px #e0e0e0;
        color: #6f6f6f;
    }

    nav.navbar.bootsnav .dropdown .megamenu-content .col-menu ul > li > a {
        display: block;
        width: 100%;
        border-bottom: solid 1px #e0e0e0;
        padding: 8px 0;
    }

    nav.bootsnav .megamenu-content {
        padding: 0;
    }

    nav.bootsnav .megamenu-content .col-menu {
        padding-bottom: 0;
    }

    nav.bootsnav .megamenu-content .title {
        cursor: pointer;
        display: block;
        padding: 10px 15px;
        margin-bottom: 0;
        font-weight: 400;
    }

    nav.bootsnav .megamenu-content .content {
        display: block;
    }
}

/* Specific adjustments for tablets (768px to 991px) - often duplicated from mobile for consistency */
@media (min-width: 768px) and (max-width: 991px) {
    nav.navbar.bootsnav .navbar-brand {
        display: inline-block;
        float: none !important;
        margin: 0 !important;
    }

    nav.navbar.bootsnav .navbar-header {
        float: none;
        display: block;
        text-align: center;
        padding-left: 30px;
        padding-right: 30px;
    }

    nav.navbar.bootsnav .navbar-toggle {
        display: inline-block;
        float: left;
        margin-right: -200px;
        margin-top: 10px;
    }

    nav.navbar.bootsnav .navbar-collapse {
        border: none;
        margin-bottom: 0;
        max-height: 350px;
        overflow-y: auto !important;
    }

    nav.navbar.bootsnav .navbar-collapse.collapse {
        display: none !important;
    }

    nav.navbar.bootsnav .navbar-collapse.collapse.in {
        display: block !important;
    }

    nav.navbar.bootsnav .navbar-nav {
        float: none !important;
        padding-left: 30px;
        padding-right: 30px;
        margin: 0 -15px;
    }

    nav.navbar.bootsnav .navbar-nav > li {
        float: none;
    }

    nav.navbar.bootsnav .navbar-nav > li > a {
        display: block;
        width: 100%;
        border-bottom: solid 1px #e0e0e0;
        padding: 10px 0;
        border-top: solid 1px #e0e0e0;
        margin-bottom: -1px;
    }

    nav.navbar.bootsnav .navbar-nav > li:first-child > a {
        border-top: none;
    }

    nav.navbar.bootsnav ul.navbar-nav.navbar-left > li:last-child > ul.dropdown-menu {
        border-bottom: solid 1px #e0e0e0;
    }

    nav.navbar.bootsnav ul.nav li.dropdown li a.dropdown-toggle {
        float: none !important;
        position: relative;
        display: block;
        width: 100%;
    }

    nav.navbar.bootsnav ul.nav li.dropdown ul.dropdown-menu {
        width: 100%;
        position: relative !important;
        background-color: transparent;
        float: none;
        border: none;
        padding: 0 0 0 15px !important;
        margin: 0 0 -1px 0 !important;
        -moz-box-shadow: 0 0 0;
        -webkit-box-shadow: 0 0 0;
        -o-box-shadow: 0 0 0;
        box-shadow: 0 0 0;
        -moz-border-radius: 0 0 0;
        -webkit-border-radius: 0 0 0;
        -o-border-radius: 0 0 0;
        border-radius: 0 0 0;
    }

    nav.navbar.bootsnav ul.nav li.dropdown ul.dropdown-menu > li > a {
        display: block;
        width: 100%;
        border-bottom: solid 1px #e0e0e0;
        padding: 10px 0;
        color: #6f6f6f;
    }

    nav.navbar.bootsnav ul.nav ul.dropdown-menu li a:focus,
    nav.navbar.bootsnav ul.nav ul.dropdown-menu li a:hover {
        background-color: transparent;
    }

    nav.navbar.bootsnav ul.nav ul.dropdown-menu ul.dropdown-menu {
        float: none !important;
        left: 0;
        padding: 0 0 0 15px;
        position: relative;
        background: 0 0;
        width: 100%;
    }

    nav.navbar.bootsnav .dropdown .megamenu-content .col-menu .title {
        padding: 10px 15px 10px 0;
        line-height: 24px;
        text-transform: none;
        font-weight: 400;
        letter-spacing: 0;
        margin-bottom: 0;
        cursor: pointer;
        border-bottom: solid 1px #e0e0e0;
        color: #6f6f6f;
    }

    nav.navbar.bootsnav .dropdown .megamenu-content .col-menu ul > li > a {
        display: block;
        width: 100%;
        border-bottom: solid 1px #e0e0e0;
        padding: 8px 0;
    }

    nav.bootsnav .megamenu-content {
        padding: 0;
    }

    nav.bootsnav .megamenu-content .col-menu {
        padding-bottom: 0;
    }

    nav.bootsnav .megamenu-content .title {
        cursor: pointer;
        display: block;
        padding: 10px 15px;
        margin-bottom: 0;
        font-weight: 400;
    }

    nav.bootsnav .megamenu-content .content {
        display: block;
    }
}
