.site-nav {
	padding: 20px;
	position: relative;
	z-index: 3;
	background: #fff;
	height: 84px;
	box-sizing: border-box;
}

.site-nav-open .site-nav {
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.13);
}

.site-nav-open .site-nav:after {
	content: "";
    position: absolute;
    top: 100%;
    left: 0;
    height: 3px;
    width: 100%;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.13);
    z-index: 11;
    margin-top: -3px;
}

.site-nav .container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	align-items: center;
}

.site-nav .logo,
.site-nav .logo img {
	width: 110px;
}

.site-nav .button {
	padding-left: 14px;
	padding-right: 14px;
}

.site-nav .icon-close,
.site-nav-open .site-nav .icon-menu {
	display: none;
}

.site-nav-open .site-nav .icon-close {
	display: inline-block;
	padding-left: 4px;
}

.site-nav .menu-header-menu-container {
	position: fixed;
	z-index: 9;
	right: -100%;
	background: #435790;
	width: calc(100% - 68px);
	top: 123px;
	box-sizing: border-box;
	color: #fff;
	font-family: "PT Serif", serif;
	transition: right .2s linear, width .2s linear;
}

.admin-bar .site-nav .menu-header-menu-container {
	top: 169px;
}

.site-nav .menu-header-menu-container {
	height: calc(100vh - 123px);
}

.admin-bar .site-nav .menu-header-menu-container {
	height: calc(100vh - 169px);
}

.site-nav .sub-menu {
	height: 100%;
}

.site-nav .menu-header-menu-container > ul > li > a {
	color: inherit;
	font-size: 15px;
	display: block;
	padding: 21px 70px 21px 50px;
	position: relative;
	transition: background .2s linear, color .2s linear;
}

.site-nav .menu-header-menu-container > ul > li:hover > a,
.site-nav .menu-header-menu-container > ul > li.open > a {
	background: #2f4173;
}

.site-nav .menu-header-menu-container > ul > li > a i {
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
}

.site-nav-open .site-nav .menu-header-menu-container {
	right: 0;
}

.site-nav-second-level .site-nav .menu-header-menu-container {
	width: 100%;
}

.site-nav-second-level .site-nav .menu-header-menu-container > ul > li > a {
	padding-left: 70px;
	color: #435790;
}

.site-nav-second-level .site-nav .menu-header-menu-container > ul > li.open > a {
	color: #2f4174;
}

.site-nav-second-level .site-nav .menu-header-menu-container > ul > li > a i {
	color: #fff;
}

.site-nav-open .site-nav .button {
	background: #d8393d;
	color: #fff;
}

.site-nav-open .site-nav .link-home {
	display: none;
}

.site-nav .sub-menu {
	width: calc(100vw - 65px);
	background: #fff;
	position: absolute;
	z-index: 10;
	left: 100%;
	top: 0;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	transition: left .2s linear;
}

.site-nav-second-level .site-nav .open > .sub-menu {
	left: 65px;
}

.site-nav .sub-menu > li > a {
	position: relative;
	padding: 20px 25px 19px;
	display: block;
	border-bottom: 1px solid #dee3f6;
	font-weight: 600;
	font-family: "Soleil", sans-serif;
	font-size: 14px;
	text-transform: uppercase;
	color: #435790;
	letter-spacing: 1.4px;
	transition: background .2s linear;
}

.site-nav .sub-menu > li.open > a,
.site-nav .sub-menu > li:hover > a {
	background: #f6f7fc;
}

.site-nav .sub-menu > li > a:after {
	content: "\e914";
	font-family: "libertysavingsbank" !important;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: #c7cce6;
	font-size: 8px;
	transition: transform .2s linear, color .2s linear;
}

.site-nav .sub-menu > li > .sub-menu a:after {
	content: none;
}

.site-nav .sub-menu > li.open > a:after {
	transform: rotate(180deg) translateY(50%);
}

.site-nav .sub-menu .sub-menu {
	background: #f6f7fc;
	left: auto;
	position: static;
	height: auto;
	display: none;
	overflow: visible;
	-webkit-overflow-scrolling: auto;
}

.site-nav .sub-menu .sub-menu a {
	border: 0;
	font-family: "PT Serif", sans-serif;
	font-size: 15px;
	color: #666;
	letter-spacing: 0;
	padding: 10px 40px;
	font-weight: normal;
	text-transform: none;
}

.site-nav .sub-menu .sub-menu a:hover {
	color: #000;
}

.site-nav .sub-menu .sub-menu > :first-child > a {
	padding-top: 20px;
}
.site-nav .sub-menu .sub-menu > :last-child > a {
	padding-bottom: 20px;
}

.site-nav .sub-menu .sub-menu a:before {
	content: "";
	height: 6px;
	width: 6px;
	box-sizing: border-box;
	border: 1.5px solid #d8393d;
	border-radius: 50%;
	position: absolute;
	left: 25px;
	top: 16px;
}

.site-nav .sub-menu .sub-menu > :first-child > a:before {
	top: 26px;
}

.site-nav-second-level .site-nav .sub-menu .sub-menu a:after {
	content: none;
}

.site-nav-second-level .site-nav .sub-menu .sub-menu {
	border-bottom: 1px solid #dee3f6;
}

.site-nav .back {
	position: fixed;
	bottom: 20px;
	margin-left: 15px;
	display: inline-block;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 10px;
	letter-spacing: 0.8px;
	text-align: center;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s linear, visibility .2s linear;
}

.site-nav-second-level .site-nav .back {
	opacity: 1;
	visibility: visible;
	transition-delay: .2s;
}

.site-nav .back.back i {
	display: block;
    margin-bottom: 10px;
    font-size: 20px;
    position: static;
    top: auto;
    transform: none;
    text-align: center;
}

.site-nav .back.back.back a {
	color: #fff;
	padding: 0;
	font-size: 10px;
	font-family: "Soleil", sans-serif;
}

.site-nav .back.back.back a:hover {
	background: transparent;
}

@media screen and (min-width: 520px) {
	.site-nav {
		height: 104px;
		padding: 25px 30px;
	}
	
	.site-nav .menu-header-menu-container {
		width: 220px;
		top: 143px;
	}
	
	.site-nav-second-level .site-nav .menu-header-menu-container {
		width: 565px;
		right: -250px;
	}
	
	.site-nav-second-level .site-nav .menu > li {
		white-space: nowrap;
	}
	
	.site-nav.site-nav .sub-menu {
		width: 250px;
		overflow: visible;
	}
	
	.site-nav .sub-menu > li > a:after {
		content: "\e913";
		font-size: 13px;
	}
	
	.site-nav .sub-menu > li.open > a:after,
	.site-nav .sub-menu > li:hover > a:after {
		color: #435790;
		transform: translateY(-50%);
	}
	
	.site-nav.site-nav .sub-menu .sub-menu {
		position: absolute;
		top: 0;
		left: 100%;
		display: block !important;
		visibility: hidden;
		border-left: 1px solid #dee3f6;
		box-sizing: border-box;
		white-space: normal;
	}
	
	.site-nav-second-level .site-nav .sub-menu .open .sub-menu {
		visibility: visible;
	}
	
	.site-nav-third-level .site-nav .menu-header-menu-container {
		right: 0;
	}
	
	.admin-bar .site-nav .menu-header-menu-container {
		top: 189px;
	}
	
	.site-nav .logo,
	.site-nav .logo img {
		width: 138px;
	}
}

@media screen and (max-width: 767px) {
	.site-nav .sub-menu {
		padding-bottom: 80px; /* Add some padding to the bottom of sub menus to adjust for mobile phone bottom nav elements */
	}
}

@media screen and (min-width: 783px) {
	.site-nav .menu-header-menu-container {
		top: 143px;
	}
	
	.admin-bar .site-nav .menu-header-menu-container {
		top: 175px;
	}
}

@media screen and (min-width: 520px) and (max-width: 1023px) {
	.site-nav.site-nav .sub-menu .sub-menu {
		height: 100% !important;
	}
}

@media screen and (max-width: 1023px) {
	.alert-bar-open .site-nav .menu > li > .sub-menu {
		height: calc(100vh - 241px) !important;
	}
	
	.alert-bar-closed .site-nav .menu > li > .sub-menu,
	.site-nav .menu > li > .sub-menu {
		height: calc(100vh - 123px) !important;
	}
}

@media screen and (min-width: 1024px) {
	.site-nav {
		height: 100px;
		padding: 0 30px;
	}
	
	.site-nav .container {
		max-width: 1100px;
	}
	
	.site-nav .logo {
		width: 138px;
		padding: 25px 0;
	}
	
	.site-nav .button {
		display: none;
	}
	
	.site-nav.site-nav.site-nav .menu-header-menu-container {
		position: static;
		display: block;
		height: auto;
		background: transparent;
		width: auto;
		margin-top: 0 !important;
	}
	
	.site-nav-open .site-nav .link-home {
		display: block;
	}
	
	.site-nav .menu {
		display: -ms-flexbox;
		display: flex;
	}
	
	.site-nav .menu > li {
		position: relative;
	}
	
	.site-nav .menu-header-menu-container > ul > li > a,
	.site-nav-second-level .site-nav .menu-header-menu-container > ul > li > a {
		color: #666;
		white-space: nowrap;
		padding: 36px 20px;
	}
	
	.site-nav .menu-header-menu-container > ul > li.last > a {
		padding-right: 0;
	}
	
	.site-nav .menu-header-menu-container > ul > li.current-menu-item > a {
		color: #435790;
	}
	
	.site-nav .menu-header-menu-container > ul > li:hover > a,
	.site-nav-second-level .site-nav .menu-header-menu-container > ul > li:hover > a,
	.site-nav .menu-header-menu-container > ul > li.open > a,
	.site-nav-second-level .site-nav .menu-header-menu-container > ul > li.open > a {
		background: transparent;
		color: #db3738;
	}
	
	.site-nav .menu-header-menu-container > ul > li > a i {
		margin-right: 10px;
		display: inline-block;
		position: static;
		transform: translateY(3px);
	}
	
	.site-nav .menu-header-menu-container > ul > li > a i,
	.site-nav-second-level .site-nav .menu-header-menu-container > ul > li > a i {
		color: inherit;
	}
	
	.site-nav .sub-menu {
		height: auto;
		opacity: 0;
		visibility: hidden;
		left: auto;
	}

	.site-nav.site-nav .menu > li:hover > .sub-menu {
		top: 100%;
		margin-top: -3px;
		opacity: 1;
		visibility: visible;
		left: auto;
		border-top: 3px solid #d8393d;
		transition: opacity .2s linear, visibility .2s linear;
	}
	
	/*
	.site-nav.site-nav .sub-menu:before {
	    content: "";
	    position: absolute;
	    top: 0;
	    left: 0;
	    height: 100%;
	    width: 500px;
	    background: linear-gradient(90deg, #fff 249px, #f6f7fc 250px);
	    display: block;
		z-index: -1;
	}
	
	.site-nav.site-nav .sub-menu li:hover .sub-menu:before {
		left: -251px;
	}
	*/
	
	.site-nav.site-nav .sub-menu:after {
		content: "";
		position: absolute;
	    top: -2px;
	    left: 0;
	    width: 100%;
	    height: 2px;
	    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.13);
	    display: block;
	}
	
	.site-nav.site-nav .sub-menu li > .sub-menu {
		left: 98%;
	}
	
	.site-nav.site-nav .last .sub-menu li > .sub-menu {
		left: -98%;
	}
	
	.site-nav.site-nav .sub-menu li:hover > .sub-menu {
		visibility: visible;
		opacity: 1;
		left: 100%;
		transition: left .2s linear, opacity .2s linear, visibility .2s linear;
	}
	
	.site-nav.site-nav .last .sub-menu li:hover > .sub-menu {
		left: -100%;
	}
	
	.site-nav .sub-menu .sub-menu .sub-menu {
		display: none !important;
	}
	
	.site-nav .back {
		display: none;
	}
	
	.menu-item-97 > .sub-menu {
		left: -28px !important;
	}
	
	.menu-item-96 > .sub-menu {
		left: 16px !important;
	}
	
	.menu-item-618 > .sub-menu {
		left: -38px !important;
	}
}

@media screen and (min-width: 1440px) {
	.site-nav .menu-header-menu-container > ul > li > a,
	.site-nav-second-level .site-nav .menu-header-menu-container > ul > li > a {
		padding: 36px 25px;
	}
}