/**
 * Fundamentum Plugin Skin Addon: Basic - Layout: Navigation
 */

 /**
  * 5.0 Navigation
  * -----------------------------------------------------------------------------
  */
  .menu-toggle {
	position:absolute;
	top: 2.5rem;
	right:1.5rem;
	padding:0;
	display:block;
	width:5rem;
	height:5rem;
	overflow:hidden;
	border-radius:0;
	line-height:5rem;
	text-align:center;
	background-color:transparent;
    box-sizing:content-box;
}
.menu-toggle.has-label {
	line-height:1;
	font-size:1.2rem;
}
.menu-toggle:before {
	color:#555;
	content:"\f419";
	line-height:5rem;
	width:5rem;
	font-size:2.5rem;
    vertical-align:middle;
}
.menu-toggle.active:before {
	content:"\f405";
	font-size:4.5rem;
	position:relative;
	top:1px;
	left:-1px;
}
.menu-toggle.has-label:before {
	line-height:2rem;
}

.menu-header-main > [class*="container"],
.menu-header-sub > [class*="container"] {
	display:none;
}
.menu-header-main > .active,
.menu-header-sub > .active {
	display:block;
}

.menu-header-main {
	float:left;
	display:block;
	vertical-align:middle;
}

.menu,
.sub-menu {
	margin-bottom:0;
	padding-left:0;
}
.menu-item {
	display:block;
}
.menu-item > a {
	padding:1.5rem 1.5rem 1.5rem 0;
	display:block;
	white-space:nowrap;
}

.menu-header-main {
	width:100%;
	margin: 0;
}
.site-header-row-main .menu-header-container {
	padding-bottom: 1.5rem;
}
.site-header-row-main .menu {
	position:relative;
	z-index:1;
}
.site-header-row-main .menu:after,
.site-header-row-sub .menu:after {
	content:"";
	display:block;
	clear:both;
}
.site-header-row-main .menu > .menu-item,
.site-header-row-sub .menu > .menu-item {
	position:relative;
	display:block;
	-webkit-transform-style:preserve-3d;
	-moz-transform-style:preserve-3d;
	-ms-transform-style:preserve-3d;
	-o-transform-style:preserve-3d;
	transform-style:preserve-3d;
	-webkit-perspective:800;
	-moz-perspective:800;
	-ms-perspective:800;
	-o-perspective:800;
	perspective:800;
	-webkit-perspective-origin:50% 100%;
	-moz-perspective-origin:50% 100%;
	-ms-perspective-origin:50% 100%;
	-o-perspective-origin:50% 100%;
	perspective-origin:50% 100%;
}
.site-header-row-main .menu > .menu-item-has-children > a:after,
.site-header-row-sub .menu > .menu-item-has-children > a:after {
	content:"\f431";
	margin-left:0.5rem;
	display:inline-block;
	vertical-align:middle;
}
.site-header-row-sub .menu > .menu-item-has-children > a:after {vertical-align:bottom;}
.site-header-row-main .menu > .current-menu-item:after,
.site-header-row-main .menu > .current-menu-parent:after,
.site-header-row-main .menu > .current-menu-ancestor:after {
	content:"";
	position:absolute;
	z-index:-1;
	top:100%;
	left:50%;
	margin-left:-3rem;
	display:block;
	width:0;
	height:0;
	border-top:1rem solid #f1f1f1;
	border-left:3rem solid transparent;
	border-right:3rem solid transparent;
	border-bottom:0;
}
.site-header-row-main .menu > .menu-item > .sub-menu,
.site-header-row-sub .menu > .menu-item > .sub-menu {
	position:absolute;
	margin-top:1rem;
	min-width:100%;
	opacity:0;
	visibility:hidden;
	transform:translateZ(6rem) rotateX(30deg);
	transition:margin-top 200ms, opacity 300ms, visibility 300ms;
	transition:margin-top 200ms, opacity 300ms, transform 200ms, visibility 300ms;
}
.site-header-row-main .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
.site-header-row-main .menu > .menu-item > .sub-menu.active,
.site-header-row-sub .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
.site-header-row-sub .menu > .menu-item > .sub-menu.active {
	position:relative;
	margin-top:0;
	opacity:1;
	transform:translateZ(0) rotateX(0);
	visibility:visible;
}
/* Same as block above to support browsers that don't support :focus-within yet */
.site-header-row-main .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu,
.site-header-row-sub .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu {
	position:relative;
	margin-top:0;
	opacity:1;
	transform:translateZ(0) rotateX(0);
	visibility:visible;
}
.site-header-row-main .sub-menu a,
.site-header-row-sub .sub-menu a {
	padding:1rem 3rem 1rem 1.5rem;
}

.site-header-row-sub .menu > .menu-item > a {
	border-bottom: 2px solid transparent;
}
.site-header-row-sub .menu > .menu-item > a:hover,
.site-header-row-sub .menu > .menu-item > a:focus,
.site-header-row-sub .menu > .current-menu-item > a,
.site-header-row-sub .menu > .current-menu-parent > a,
.site-header-row-sub .menu > .current-menu-ancestor > a {
	border-bottom:2px solid #337ab7;
}

.site-main .menu a,
.site-footer .menu a {
	margin-left:-1.5rem;
	padding:0.5rem 1.5rem;
	transition:margin-left 300ms;
}
.site-main .menu a:hover,
.site-main .menu a:focus,
.site-footer .menu a:hover,
.site-footer .menu a:focus {
	margin-left:0;
}
.menu-left .sub-menu,
.menu-right .sub-menu,
.menu-footer-main .sub-menu {
	padding-left:1.5rem;
}

.breadcrumbs-menu {
    position:relative;
    z-index:10;
    display:inline-block;
    margin:0;
    padding:0;
}
.breadcrumbs-menu > .menu-item {
    position:relative;
    padding:0 1.5rem;
    display:block;
    -webkit-transform-style:preserve-3d;
	-moz-transform-style:preserve-3d;
	-ms-transform-style:preserve-3d;
	-o-transform-style:preserve-3d;
	transform-style:preserve-3d;
	-webkit-perspective:800;
	-moz-perspective:800;
	-ms-perspective:800;
	-o-perspective:800;
	perspective:800;
	-webkit-perspective-origin:50% 100%;
	-moz-perspective-origin:50% 100%;
	-ms-perspective-origin:50% 100%;
	-o-perspective-origin:50% 100%;
	perspective-origin:50% 100%;
}
.breadcrumbs-menu > .menu-item:hover {
    cursor:pointer;
}
.breadcrumbs-menu .children {
    position:absolute;
    top:100%;
    left:0;
    margin:1rem 0 0 0;
    padding:0;
    visibility:hidden;
    opacity:0;
    transition:opacity 300ms, visibility 300ms;
	transform:translateZ(6rem) rotateX(30deg);
	transition:margin 200ms, opacity 300ms, visibility 300ms;
	transition:margin 200ms, opacity 300ms, transform 200ms, visibility 300ms;
}
.breadcrumbs-menu > .menu-item:hover .children {
    margin:0;
    opacity:1;
    visibility:visible;
    transform:translateZ(0) rotateX(0);
}
/* Same as block above to support browsers that don't support :focus-within yet */
.breadcrumbs:focus-within .menu-item .children {
    margin:0;
    opacity:1;
    visibility:visible;
    transform:translateZ(0) rotateX(0);
}
.breadcrumbs-menu .children .menu-item a {
	padding:1rem 1.5rem;
}



/**
 * 6.7 Post/Image/Paging Navigation
 * -----------------------------------------------------------------------------
 */
.nav-links-next-previous {
	margin-top:1.5rem;
	margin-bottom:1.5rem;
	border-style:solid;
	border-width:2px;
}
.nav-links-title {
    padding-left:1.5rem;
    padding-right:1.5rem;
}
.nav-links-previous,
.nav-links-next {
	width:50%;
}
.nav-links-previous {float:left;}
.nav-links-next {float:right;}
.nav-links-image-container {position:relative;}
.nav-links-image {display:block;}
.nav-links-previous-arrow.genericon,
.nav-links-next-arrow.genericon {
	position:absolute;
	top:0;
	width:100%;
	height:100%;
	vertical-align:bottom;
}
.nav-links-previous-arrow.genericon {left:0;}
.nav-links-next-arrow {right:0;}
.nav-links-previous-arrow.genericon:before,
.nav-links-next-arrow.genericon:before {
	position:absolute;
	top:50%;
	margin-top:-1.5rem;
}
.nav-links-previous-arrow.genericon:before {
	left:50%;
	margin-left:-2.5rem;
}
.nav-links-next-arrow.genericon:before {
	right:50%;
	margin-right:-2.5rem;
}
.nav-links-list {
	padding:0;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.nav-links-list-item {
	display:block;
	flex-basis:0;
	flex-grow:0;
	flex-shrink:0;
	min-width:100%;
}
.nav-links-list .nav-links-title {
	padding-left:0;
	padding-right:0;
	white-space:normal;
	overflow:visible;
}



/* Small devices (tablets, 768px and up) */
@media (min-width:768px) and (max-width:991px) {
	.nav-links-list-item {
		margin:15px;
		min-width:50%;
		min-width:calc(1/2 * 100% - (1 - 1/2) * 30px);
	}
	.nav-links-list-item:first-child,
	.nav-links-list-item:nth-child(2n + 1) {
		margin-left:0;
	}
	.nav-links-list-item:last-child,
	.nav-links-list-item:nth-child(2n) {
		margin-right:0;
	}
}



/* Medium devices (desktops, 992 and up) with low vertical resolution */
@media (min-width:992px) and (max-height:800px) {
	.site-header-row-main .menu > .menu-item > .sub-menu,
	.site-header-row-sub .menu > .menu-item > .sub-menu {
		max-height:40rem;
		max-height:calc(100vh - 200px);
		overflow-y:scroll;
	}
}



/* Medium devices (desktops, 992px and up) */
@media (min-width:992px) {
	/**
	 * 5.0 Navigation
	 * -----------------------------------------------------------------------------
	 */
	.no-header-drawer .menu-toggle,
 	.no-header-drawer .menu-toggle.active {
 		display:none;
 	}

	.has-header-fixed-left .menu-header-main,
	.has-header-fixed-right .menu-header-main {
		margin-left:-15px;
		margin-right:-15px;
		float:none;
		display:block;
	}
	.menu-header-main > [class*="container"],
	.menu-header-sub > [class*="container"] {
		display:block;
	}

	.menu-item > a {
		padding:1.5rem;
	}
	.site-header-row-main .menu-header-container {
		padding-bottom:0;
	}
	.menu-header-main {
		margin-bottom:0;
		width:auto;
	}
	.site-header-row-main .menu {
		position:static;
		z-index:initial;
	}
	.site-header-row-main .menu > .menu-item,
	.site-header-row-sub .menu > .menu-item {float:left;}
	.has-header-fixed-left .site-header-row-main .menu > .menu-item,
	.has-header-fixed-left .site-header-row-sub .menu > .menu-item,
	.has-header-fixed-right .site-header-row-main .menu > .menu-item,
	.has-header-fixed-right .site-header-row-sub .menu > .menu-item {float:none;}
	.site-header-row-main .menu > .menu-item > .sub-menu,
	.site-header-row-sub .menu > .menu-item > .sub-menu {
		position:absolute;
		top:100%;
		left:0;
		max-height:40rem;
		max-height:calc(100vh - 200px);
		overflow-y:auto;
	}
	.has-header-fixed-left .site-header-row-main .menu > .menu-item > .sub-menu,
	.has-header-fixed-left .site-header-row-sub .menu > .menu-item > .sub-menu {
		top:0;
		left:100%;
	}
	.has-header-fixed-right .site-header-row-main .menu > .menu-item > .sub-menu,
	.has-header-fixed-right .site-header-row-sub .menu > .menu-item > .sub-menu {
		top:0;
		left:-100%;
	}
	.has-header-fixed-left .site-header-row-main .menu > .menu-item-has-children > a:after,
	.has-header-fixed-left .site-header-row-sub .menu > .menu-item-has-children > a:after {
		transform:rotate(-90deg);
	}
	.has-header-fixed-right .site-header-row-main .menu > .menu-item-has-children > a:after,
	.has-header-fixed-right .site-header-row-sub .menu > .menu-item-has-children > a:after {
		transform:rotate(90deg);
	}
	.has-header-fixed-left .site-header-row-main .menu > .current-menu-item:after,
	.has-header-fixed-left .site-header-row-main .menu > .current-menu-parent:after,
	.has-header-fixed-left .site-header-row-main .menu > .current-menu-ancestor:after {
		top:50%;
		left:100%;
		margin-top:-3rem;
		margin-left:0;
		border-top:3rem solid transparent;
		border-left:1rem solid #f1f1f1;
		border-right:0;
		border-bottom:3rem solid transparent;
	}
	.has-header-fixed-right .site-header-row-main .menu > .current-menu-item:after,
	.has-header-fixed-right .site-header-row-main .menu > .current-menu-parent:after,
	.has-header-fixed-right .site-header-row-main .menu > .current-menu-ancestor:after {
		top:50%;
		left:-1rem;
		margin-top:-3rem;
		margin-left:0;
		border-top:3rem solid transparent;
		border-left:0;
		border-right:1rem solid #f1f1f1;
		border-bottom:3rem solid transparent;
	}
	.site-header-row-main .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
	.site-header-row-main .menu > .menu-item > .sub-menu.active,
	.site-header-row-sub .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
	.site-header-row-sub .menu > .menu-item > .sub-menu.active {
		position:absolute;
	}
	/* Same as block above to support browsers that don't support :focus-within yet */
	.site-header-row-main .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu,
	.site-header-row-sub .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu {
		position:absolute;
	}

	.menu-header-main {
		display:inline-block;
		vertical-align:middle;
	}
	.site-header-row-main .menu > .menu-item:before {
		content:"";
		position:absolute;
		left:1.5rem;
		right:1.5rem;
		bottom:0;
		display:block;
		height:2px;
		opacity:0;
		transition:bottom 300ms, opacity 300ms;
	}
	.site-header-row-main .menu > .menu-item:hover:before,
	.site-header-row-main .menu > .menu-item.active:before,
	.site-header-row-main .menu > .menu-item.focus:before {
		bottom:1.5rem;
		opacity:1;
	}
	.site-header-row-main .menu > .menu-item > a {
		padding-top:0;
		padding-bottom:0;
	}
	.has-header-fixed-left .site-header-row-main .menu > .menu-item > .sub-menu,
	.has-header-fixed-left .site-header-row-sub .menu > .menu-item > .sub-menu {
		margin-top:0;
		margin-left:1rem;
		transform:translateZ(6rem) rotateY(-30deg);
		transition:margin-left 200ms, opacity 300ms, visibility 300ms;
		transition:margin-left 200ms, opacity 300ms, transform 200ms, visibility 300ms;
	}
	.has-header-fixed-left .site-header-row-main .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
	.has-header-fixed-left .site-header-row-main .menu > .menu-item > .sub-menu.active,
	.has-header-fixed-left .site-header-row-sub .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
	.has-header-fixed-left .site-header-row-sub .menu > .menu-item > .sub-menu.active {
		margin-left:0;
		transform:translateZ(0) rotateZ(0);
	}
	/* Same as block above to support browsers that don't support :focus-within yet */
	.has-header-fixed-left .site-header-row-main .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu,
	.has-header-fixed-left .site-header-row-sub .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu {
		margin-left:0;
		transform:translateZ(0) rotateZ(0);
	}
	.has-header-fixed-right .site-header-row-main .menu > .menu-item > .sub-menu,
	.has-header-fixed-right .site-header-row-sub .menu > .menu-item > .sub-menu {
		margin-top:0;
		margin-right:1rem;
		transform:translateZ(6rem) rotateY(30deg);
		transition:margin-right 200ms, opacity 300ms, visibility 300ms;
		transition:margin-right 200ms, opacity 300ms, transform 200ms, visibility 300ms;
	}
	.has-header-fixed-right .site-header-row-main .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
	.has-header-fixed-right .site-header-row-main .menu > .menu-item > .sub-menu.active,
	.has-header-fixed-right .site-header-row-sub .usable-navigation-no-js .menu > .menu-item:hover > .sub-menu,
	.has-header-fixed-right .site-header-row-sub .menu > .menu-item > .sub-menu.active {
		margin-right:0;
		transform:translateZ(0) rotateZ(0);
	}
	/* Same as block above to support browsers that don't support :focus-within yet */
	.has-header-fixed-right .site-header-row-main .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu,
	.has-header-fixed-right .site-header-row-sub .usable-navigation-no-js .menu > .menu-item:focus-within > .sub-menu {
		margin-right:0;
		transform:translateZ(0) rotateZ(0);
	}

	.site-main .menu a,
	.site-footer .menu a {
		padding:0.5rem 1.5rem;
	}

	.menu-header-sub {
		float:left;
		margin-right:1.5rem;
	}
	.has-header-fixed-left .menu-header-sub,
	.has-header-fixed-right .menu-header-sub {
		margin-left:-15px;
		margin-right:-15px;
		float:none;
		display:block;
	}

	.menu-header-drawer .site-header-row-drawer .menu {
		display:flex;
		flex-wrap:wrap;
	}
	.menu-header-drawer .site-header-row-drawer .menu > .menu-item {
		flex-grow:1;
		flex-basis:0;
		min-width:calc(25% - 30px);
	}



	/**
	 * 6.7 Post/Image/Paging Navigation
	 * -----------------------------------------------------------------------------
	 */
	.nav-links-next-previous {
		border-style:solid;
		border-width:1px;
	}
	.nav-links-previous,
	.nav-links-next {position:relative;}
	.nav-links-previous {
		border-right-style:solid;
		border-right-width:1px;
	}
	.nav-links-image-container {float:left;}
	.nav-links-next .nav-links-image-container {float:right;}
	.nav-links-next-previous .nav-links-image {
		width:10rem;
		height:auto;
	}
	.nav-links-previous .genericon,
	.nav-links-next .genericon {
		opacity:0;
		transition:opacity 300ms;
	}
	.nav-links-previous:hover .genericon,
	.nav-links-next:hover .genericon {opacity:1;}
	.nav-links-list-item {
		margin:15px;
		min-width:25%;
		min-width:calc(1/4 * 100% - (1 - 1/4) * 30px);
	}
	.nav-links-list-item:first-child,
	.nav-links-list-item:nth-child(4n + 1) {
		margin-left:0;
	}
	.nav-links-list-item:last-child,
	.nav-links-list-item:nth-child(4n) {
		margin-right:0;
	}
}
