/*------>>> TABLE OF CONTENTS <<<-------
    - PRIMARY NAVIGATION
    - BREAD CRUMBS
    - SECONDARY NAVIGATION
*/


/************************************
/*----------------------------------
/*  PRIMARY NAVIGATION
/*----------------------------------
/*************************************/


/*---> Navigation Utility Bar <---*/
.primary-nav {
    margin-left:auto;
    margin-right:auto;
    width:calc(100% - 1.25rem);
	display:block;
	position:absolute;
    top:100%;
    left:0;
    right:0;
	z-index:1;
}
.flexnav,
.flexnav ul {
	list-style:none;
} 
.flexnav {
    background:var(--color-nav-accent01);
	width:100%;	
	max-height:0;
	overflow:hidden;
	position:absolute;
	top:100%;	
	margin:0 auto;
	padding:0;
	-webkit-box-shadow:var(--box-shadow-default);
	-moz-box-shadow:var(--box-shadow-default);
	box-shadow:var(--box-shadow-default);
	-webkit-transform-style:preserve-3d;
	transform-style:preserve-3d;
	-webkit-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-moz-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-ms-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
}  
.flexnav.opacity {
	opacity:1;
}
.flexnav.flexnav-show {
	opacity:1;
	padding:0;	
	max-height:2000px;
	-webkit-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-moz-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-ms-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
}
.flexnav.one-page {
	max-width:200px;
	position:fixed;
	top:50px;
	right:5%;
}
.flexnav li {
	overflow:hidden;
	position:relative;
	font-size:100%;
}
.flexnav li::before {
    display:none; /* Reset from base styles */
}
.flexnav li a {
	display:block;
	position:relative;
	overflow:hidden;
	padding:0.688rem 1.25rem;
	margin:0;
	font-size:var(--font-size-nav-02);
	font-weight:600;
	color:var(--color-primary-dark);
	text-align:left;
	line-height:1.2;
	z-index:2;
}
.flexnav > li > a {
    font-size:var(--font-size-nav-01);
}
.flexnav .navOnlyLink {
    cursor:default;
}
.flexnav li:has(.flexnav-btn-link) {
    padding:0.688rem 1.25rem;
}
.flexnav li a.flexnav-btn-link,
.flexnav > li > a.flexnav-btn-link {
    background-color:var(--color-primary);
	display:inline-block;
	width:auto;
	padding:0.688rem 1.375rem;	
	margin:0;	
	font-size:var(--font-size-base);
	font-weight:600;
	color:var(--color-white);
	line-height:1;
	text-align:center;
    border-radius:var(--button-radius);
}
/*- nested UL -*/
.flexnav li ul {
	margin:0;
	width:100%;
	padding:0;
}
.flexnav li ul li {
	position:relative;
	overflow:hidden;
	font-size:100%;
}
.flexnav li ul.flexnav-show li {
	overflow:visible;
}
.flexnav li ul li a {
	padding-left:2.5rem;
}
.flexnav li ul li a {
	border:0;
}
/*- Third Level -*/
.flexnav li ul li ul li a {
	padding-left:3.750rem;
}
/*- drop down arrows -*/
.flexnav .touch-button {
	display:inline-block;
	width:50px; /* width of menu button */
	height:41px; /* height of li */
	position:absolute;
	top:0;
	right:0;
	background:transparent;
	z-index:999;
}
.flexnav .touch-button .touch-button-svg {
	fill:var(--color-base);
	width:25px;
	height:25px;
	position:absolute;
    inset:0;
    margin:auto;
	-webkit-transition:all 0.2s ease-in-out;
	transition:all 0.2s ease-in-out;
}
.flexnav .touch-button.active .touch-button-svg {
	transform:rotate(180deg);
}
.flexnav .touch-button:hover {
	cursor:pointer;
}
.flexnav .touch-button .navicon {
	display:none;
}
/*- menu button -*/
.menu-button {
    background:var(--color-primary);
	display:block;
	margin:0;
	width:54px;
	height:62px;
	position:relative;
	cursor:pointer;
	z-index:10000;
}
.menu-button.one-page {
	position:fixed;
	top:0;
	right:5%;
	padding-right:45px;
}
.menu-button .touch-button {
	display:block;
    margin:0 auto;
	width:26px;
	height:100%;
	position:absolute;
    left:0;
    right:0;
	top:0;
}
.menu-button .touch-button .navicon {
	display:block;
	height:3px;
	width:100%;
	position:absolute;
    inset:0;
    margin:auto;
	background:var(--color-white);
	-webkit-transition:background 0.2s;
	transition:background 0.2s;
	border-radius:3px;
}
.menu-button .touch-button .navicon::before {
	display:block;
	width:100%;
	height:3px;
	position:absolute;
	top:-9px;
	left:0;
	content:"";
	background-color:var(--color-white);
	-webkit-transition-property:top, -webkit-transform;
	transition-property:top, transform;
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:.3, 0s;
	border-radius:3px;
}
.menu-button .touch-button .navicon::after {
	display:block;
	width:100%;
	height:3px;
	position:absolute;
	left:0;
	bottom:-9px;
	content:"";
	background-color:var(--color-white);
	-webkit-transition-property:bottom, -webkit-transform;
	transition-property:bottom, transform;
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:.3s, 0s;
	border-radius:3px;
}
.menu-button .touch-button.active .navicon {
	background:transparent;
}
.menu-button .touch-button.active .navicon::before,
.menu-button .touch-button.active .navicon::after {
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:0s, 0.3s;
}
.menu-button .touch-button.active .navicon::before {
	top:0;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
.menu-button .touch-button.active .navicon::after {
	bottom:0;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
@media all and (min-width:1024px) {
    .flex-nav {
        background:transparent;
    }
    .primary-nav {
        margin:0;
        width:100%;
        position:static;
        top:initial;
        left:initial;
        right:initial;
		height:100%; /*- Height of masthead -*/
	}
	.flexnav {
		position:relative;
		top:auto;
		max-width:none;
		height:100%;
		max-height:100%;
		margin:0 auto 0 auto !important;
		overflow:visible;
		background:transparent;
		display:-webkit-box;
		display:-moz-box;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-around;
		justify-content:space-around;
		-ms-flex-line-pack:center;
		-webkit-align-content:center;
		align-content:center;
		box-shadow:none;
		border-radius:0;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
		transition:all 0.3s ease;
	}
	body.one-page {
		padding-top:70px;
	}
	.flexnav.opacity {
		opacity:1;
	}
	.flexnav.one-page {
		max-width:1080px;
		top:0;
		right:auto;
	}
	.flexnav li {
		display:block;
		position:relative;
		list-style:none;
		float:left;
		overflow:visible;
		/*flex-grow:1;*/
		height:100%;
	}
	.flexnav > li > a {
		padding:0.5rem 0.688rem;
		display:-webkit-flex;
		display:flex;
		-webkit-align-items:center;
		align-items:center;
		-webkit-justify-content:center;
		justify-content:center;
		background:transparent;
		color:var(--color-white);
		text-align:center;
		-webkit-transition:all 0.3s ease;
		transition:all 0.3s ease;
		border:0 !important;
	}
	.flexnav li > a::before {
		content:"";
		display:block;
		width:0; 
		height:100%;
		margin:0 auto;
		position:absolute;
		top:auto;
		bottom:0;
		left:0;
		right:0;
		background:var(--color-primary);
        border-radius:5px 5px 0 0;
		transition:all 0.3s ease-in-out;
		z-index:-1;
	}
    .flexnav > li:not(.item-with-ul) > a::before {
        border-radius:5px;
    }
	.flexnav li:hover > a::before,
	.flexnav li.active > a::before {
		width:100%; 
	}
	.flexnav li a:active {
		color:var(--color-primary-dark);
	}
	.flexnav li a:is(:active, :focus-visible) {
		text-decoration:none;
	}
	.flexnav li a:is(:focus-visible) {
		-webkit-box-shadow:inset 0 0 0 2px var(--color-primary);
		-moz-box-shadow:inset 0 0 0 4px var(--color-primary);
		box-shadow:inset 0 0 0 2px var(--color-primary);
	}
	/*- nested UL -*/
	.flexnav li ul {
		display:none;
        border-radius:0 0 5px 5px;
        -webkit-box-shadow:var(--box-shadow-default);
        -moz-box-shadow:var(--box-shadow-default);
        box-shadow:var(--box-shadow-default);
	}
	.flexnav li > ul {
		width:225px;
		position:absolute;
		top:100%;
		left:0;
		margin:0;
		background:var(--color-nav-accent01);
		padding:0.5rem 0;
	}
    .flexnav > li:nth-of-type(2) > ul { /* Insurance */
		width:325px;
	}
	.flexnav li > ul li {
		width:100%;
		height:auto;
	}
	.flexnav li > ul li a {
        padding:0.688rem 0.875rem !important;
		background:transparent;
	}
	.flexnav li > ul li a::before {
		content:"";
		display:block;
		width:0;
		max-width:100%;
		height:100%;
		margin:0 auto;
		position:absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		background:var(--color-primary);
        border-radius:0;
		transition:all 0.3s ease-in-out;
		z-index:-1;
	}
	.flexnav li ul li:hover > a,
	.flexnav li ul li > a.active {
		color:var(--color-white);
	}
	.flexnav li ul li:hover > a::before,
	.flexnav li ul li > a.active::before {
		width:100%; 
	}
	/*- Third Level -*/
	.flexnav li > ul li ul {
		top:-0.5rem; /* adjust for padding on ul */
		right:auto;
		left:100%;
		/*background:var(--color-nav-accent02);*/
	}
	/*- drop down arrows -*/
	.flexnav .touch-button {
		display:none;
	}
	.touch .flexnav .touch-button {
		display:block; 
	}
	.flexnav .touch-button {
		width:25px;
		height:14px;
		margin:0 auto;
		top:auto;
		left:0;
		right:0;
		bottom:0.188rem;
	}
	.item-with-ul .item-with-ul .touch-button { /* Second Level Touch Button */
		margin:0;
		top:50%;
		left:auto;
		right:0;
		bottom:auto;
		top:50%;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	.item-with-ul .item-with-ul .touch-button .touch-button-svg {
		transform:rotate(-90deg);
	}
	.item-with-ul .item-with-ul .touch-button.active .touch-button-svg {
		transform:rotate(90deg);
	}
    .flexnav > li .touch-button .touch-button-svg {
		fill:var(--color-white);
	}
	.flexnav li ul li .touch-button .touch-button-svg {
		fill:var(--color-base);
	}
	/*- menu button -*/
	.menu-button {
		display:none;
	}
}


/************************************
/*----------------------------------
/*  BREADCRUMBS
/*----------------------------------
/*************************************/


.bread-crumbs {
	position:relative;
	isolation:isolate;
}
nav.breadcrumb {
    padding:1.25rem 0 2.813rem;
}
nav.breadcrumb ol {
    font-size:0; /* Fix whitespace for li */
}
nav.breadcrumb ol li {
    line-height:1.625;
}
nav.breadcrumb ol li:not(:last-child)::after {
	content: "\00A0\002F\00A0";
}
nav.breadcrumb ol li,
nav.breadcrumb ol li a {
    font-size:var(--font-size-small);
	font-weight:400;
}
nav.breadcrumb ol li,
/* Inherit hover color from baseStyles.css */
nav.breadcrumb ol li:not(:last-of-type) a:not(:hover, :active, :focus-visible) {
	color:var(--color-base);
}
nav.breadcrumb ol li:last-of-type a {
    font-weight:700;
}


/************************************
/*----------------------------------
/*  SECONDARY NAVIGATION
/*----------------------------------
/*************************************/


.secondary-nav { /* nav */
}
.secondary-nav__list {
    margin-right:-0.625rem;
    margin-left:-0.625rem;
    margin-bottom:calc(var(--margin-vert-default) - 1rem);
    display:flex;
    flex-flow:row wrap;
    font-size:0; /* Fix whitespace for li */
    list-style:none;
}
.secondary-nav__list li {
    padding-right:0.625rem;
    padding-left:0.625rem;
    margin-bottom:1rem;
	flex:0 0 50%;
    -webkit-transition: 500ms all ease-in-out;
	-o-transition: 500ms all ease-in-out;
	transition: 500ms all ease-in-out;
}
.secondary-nav__list li a {
    padding:0.688rem 0.313rem;
    display:block;
    height:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:1.063rem;
    font-weight:600;
	line-height:1;
    text-align:center;
}
.secondary-nav__list li a,
.secondary-nav__list li a:is(:focus, :focus-visible) {
	color:var(--color-primary-dark);
}
.secondary-nav__list li a:is(:active, :focus, :focus-visible) {
	text-decoration:none;
}
.secondary-nav__list li a,
.secondary-nav__list li a:is(:focus, :focus-visible) {
	background-color:var(--color-gray-accent-dark);
}
.secondary-nav__list li a:is(:hover, :active) {
    background-color:var(--color-gray-accent-darker);
    color:var(--color-white);
}
.secondary-nav__list li a:active {
	box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-gray-accent-darker);
}
.secondary-nav__list li a:is(:focus, :focus-visible) {
    outline:0;
}
.secondary-nav__list li a:is(:focus-visible) {
	box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-gray-accent-dark);
}
.secondary-nav__list li:nth-child(n+21) {
	opacity:0;
	display:none;
}
.secondary-nav__full-view li:nth-child(n+21) {
	opacity:1;
	display:block;
}
@media all and (min-width:640px) {
    .secondary-nav__list li  {
        flex:0 0 33.33333%;
    }
}
@media all and (min-width:640px) and (max-width:1023px) {
    .secondary-nav__list li:nth-child(n+9),
    .secondary-nav__full-view li:nth-child(n+9) {
        opacity:1;
        display:block;
    }
    .secondary-nav__list li:nth-child(n+10) {
        opacity: 0;
        display:none;
    }
    .secondary-nav__full-view li:nth-child(n+10) {
        opacity:1;
        display:block;
    }
}
@media all and (min-width:1024px) {
    .secondary-nav__list li  {
        flex:0 0 25%;
    }
}






