.header {
    box-sizing: border-box;
    padding: 0 8vw;
    position: fixed;
    transition: all .5s ease-out 0s;
    width: 100%;
    z-index: 9999;
}

.header.tall {
    background-color: rgba(54, 94, 134, 0.5);
}

.header.short {
    background-color: rgba(54, 94, 134, 0.9);
}

.header-wrapper {
    font-size: 0;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.header-logo {
    box-sizing: border-box;
    display: inline-block;
    padding: 0;
    vertical-align: middle;
    width: 20%;
}

.header-logo a {
    color: var(--color-primary-white);
    display: block;
}

.header-logo svg {
    height: auto;
    max-width: 130px;
    width: 100%;
}

.header-navigation {
    box-sizing: border-box;
    display: inline-block;
    font-size: var(--font-body);
    font-weight: 600;
    text-align: left;
    vertical-align: middle;
    width: 80%;
}

nav ul {
    display: block;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

nav ul li {
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    padding: 0 0.5rem;
    position: relative;
    vertical-align: middle;
    width: auto;
}

nav ul li:first-child {
    padding-left: 0;
}

nav ul li:last-child {
    padding-right: 0;
}

nav ul li a {
    box-sizing: border-box;
    color: var(--color-primary-white);
    display: block;
    min-height: 75px;
    padding: 3rem 1rem;
    position: relative;
    text-decoration: none;
}

nav ul li.current-menu-item > a,
nav ul li.current-menu-parent > a {
    background-color: var(--color-primary-white);
    color: var(--color-primary-secondary-blue);
}

nav ul li a::after {
    background-color: var(--color-primary-blue);
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    left: 0.5rem;
    bottom: 3rem;
    transition: all .5s ease-out 0s;
    width: 0;
}

nav ul.sub-menu li a::after {
    display: none;
}

nav ul li a:hover::after {
    transition: all .5s ease-out 0s;
    transform: scaleX(1.0);
    width: calc(100% - 1rem);
}

nav ul li.current-menu-item > a::after,
nav ul li.current-menu-parent > a::after {
    width: calc(100% - 1rem);
}

#menu-main-menu .sub-menu {
    background-color: var(--color-primary-blue);
    display: block;
    left: -9999px;
    padding: 15px;
    position: absolute;
    text-align: left;
    top: auto;
    width: 250px;
}

#menu-main-menu li:hover .sub-menu {
    left: 0;
}

#menu-main-menu .sub-menu li {
    border: none;
    display: block;
    margin: 0;
    padding: 0;
}

#menu-main-menu .sub-menu li a {
    background-image: none;
    background-position: left top;
    box-sizing: border-box;
    color: var(--color-primary-white);
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    min-height: 0;
    padding: 5px 15px;
    text-transform: none;
    transition: all 0.5s ease-out 0s;
    width: 100%;
}

#menu-main-menu .sub-menu li a:hover {
    background-color: var(--color-primary-white);
    color: var(--color-primary-secondary-blue);
    text-decoration: none;
}

#menu-main-menu .sub-menu li:last-child a {
    border-bottom: none;
}

#menu-main-menu ul.sub-menu li.current-menu-item > a {
    background-color: var(--color-primary-white);
    color: var(--color-primary-secondary-blue);
}

.header-features {
	box-sizing: border-box;
	display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 4;
}

/*** begin search styles ***/

.header-features .search {
    box-sizing: border-box;
    display: inline-block;
    font-size: 16px;
    position: relative;
    vertical-align: middle;
    width: 34px;
    z-index: 9999;
}

.header-features .search-field {
    background-color: transparent;
    background-image: url(../images/search-icon-white.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    border: none;
    cursor: pointer;
    height: 46px;
    margin: 0;
    padding: 0 0 0 34px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: width 400ms ease, background 400ms ease;
    width: 0;
}

.header-features .search-field:focus {
    background-color: var(--color-primary-white);
    background-image: url(../images/search-icon-gray.svg);
    background-position: 15px center;
    border: solid 1px var(--color-primary-white);
    color: var(--color-primary-gray);
    cursor: text;
    outline: 0;
    padding-left: 56px;
    width: 300px;
}

.search-submit {
    display: none;
}

/*** end search styles ***/

@media (max-width: 1402px) {
    
    .header,
    .header.short,
    .header.tall {
        background-color: rgba(54, 94, 134, 1);
        padding: 1rem 8vw;
        position: relative;
    }
    
    .header-logo {
        width: 100%;
    }
    
    .header-logo svg {
        max-width: 100px;
    }
    
    .header-features {
        right: calc(2rem + 44px);
    }
/* added 5/12/25 due to expansion of menu items */
	.header-navigation {
		font-size: 1.7rem;
	}
	nav ul li a {
		padding:3rem .5rem;
	}
}

@media (max-width: 1252px) {
	.header-navigation {
		font-size: 1.5rem;
	}
}
@media (max-width: 1134px) {
	.header-navigation {
		font-size: 1.3rem;
	}
}
@media (max-width: 1014px) {
	.header-navigation {
		font-size: 1.2rem;
	}
}