/* NAVIGATION */


/* NON-PHONES (content area over 783 pixels) */
@media screen and (min-width: 783px) {

	#header .menu > li:hover > ul, #header .menu > li:focus > ul, #header .menu > li:focus-within > ul {
		min-width: calc(100% + 1.5em);
	}

	#header:not(.menu_align_below) .menu > li:last-of-type:hover > ul, #header:not(.menu_align_below) .menu > li:last-of-type:focus > ul, #header:not(.menu_align_below) .menu > li:last-of-type:focus-within > ul {
		right: 0; left: auto;
	}
	#header:not(.menu_align_below) .menu > li:last-of-type:hover > ul:after, #header:not(.menu_align_below) .menu > li:last-of-type:focus > ul:after, #header:not(.menu_align_below) .menu > li:last-of-type:focus-within > ul:after {
		right: 21px; left: auto;
	}

	#header:not(.menu_align_below) .menu > li:last-of-type:hover > ul, #header:not(.menu_align_below) .menu > li:last-of-type:focus > ul, #header:not(.menu_align_below) .menu > li:last-of-type:focus-within > ul {
		text-align: right;
	}

	#nav_handle { display: none; }

	#nav_wrapper { }

	#primary_navigation {
		font-size: 110%;
		position: absolute; top: auto; right: calc(6rem - 15px); bottom: 0; left: auto;
		text-align: right;
		width: auto;
		z-index: 2;
	}

	body.locking_header.scrolled:not(.hamburger_on_scroll) #primary_navigation {
		font-size: 13px;
		line-height: 20px;
		top: 50%; bottom: auto;
		transform: translateY(-50%);
	}

		#primary_navigation > div {
			display: inline-block;
			list-style: none;
			margin: 0;
			opacity: 1;
			padding: 0;
			position: relative;
			text-align: left;
			white-space: nowrap;
			width: auto;
			z-index: 2;
		}
		
		#primary_navigation svg { max-width: 100%; }

	#auxiliary_navigation {
		font-size: 80%;
		position: absolute; top: 0; right: calc(6rem - 15px); bottom: auto; left: auto;
		text-align: right;
		width: auto;
		z-index: 2;
	}
	
	#header.menu_align_below #auxiliary_navigation {
		font-size: 13px;
		line-height: 20px;
		top: calc(50% - 2.9em) !important; bottom: auto;
	}

	body.locking_header.scrolled #auxiliary_navigation {
		display: none;
	}

		#auxiliary_navigation > div {
			display: inline-block;
			list-style: none;
			margin: 0;
			opacity: 1;
			padding: 0;
			position: relative;
			text-align: left;
			width: auto;
			z-index: 2;
		}

		#header .search_open > div {
			opacity: 0;
			z-index: -9999;
		}

		#header .search {
			display: inline-block;
			margin: 0;
			vertical-align: middle;
			white-space: nowrap;
			width: 44px;
			z-index: 1;
		}
		
		#header .search_open .search {
			margin-top: 2px; /* Fudge */
			width: 200px;
			z-index: 3;
		}
		
			#header .search input[type=text] {
				opacity: 0;
			}

			#header .search_open .search input[type=text] {
				opacity: 1;
			}
	
	#contact .social_media_links:not(.text) { position: relative; top: -1em; }
			
	/* Adapted from navigation_phone for .hamburger_on_scroll */

	body.hamburger_on_scroll.scrolled #nav_handle,
	body.hamburger_on_scroll.scrolled_alt #nav_handle
	{
		cursor: context-menu;
		display: block;
		height: 44px;
		padding: 0;
		position: absolute; top: 50%; right: 3rem;
		transform: translateY(-50%);
		width: 44px;
	}
	body.hamburger_on_scroll.nav_open #nav_handle { cursor: pointer; }

	body.hamburger_on_scroll.scrolled:not(.nav_open) #nav_wrapper,
	body.hamburger_on_scroll.scrolled_alt:not(.nav_open) #nav_wrapper
	{
		display: none;
	}

	body.hamburger_on_scroll.scrolled.nav_open #nav_wrapper,
	body.hamburger_on_scroll.scrolled_alt.nav_open #nav_wrapper
	{
		box-shadow: -1px 1px 1px rgba(0,0,0,0.1),  -3px 3px 3px rgba(0,0,0,0.05);
		display: block;
		height: auto;
		max-width: 320px;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 1.5rem 1.5rem 1.5rem 0.5rem !important;
		position: absolute; top: 100%; right: 0; bottom: auto; left: auto;
		width: 80%;
	}

		body.hamburger_on_scroll #nav_handle .hamburger { padding: 10px 0 !important; }
	
		body.hamburger_on_scroll .hamburger-inner,
		body.hamburger_on_scroll .hamburger-inner:after,
		body.hamburger_on_scroll .hamburger-inner:before {
			height: 4px !important;
			width: 30px !important;
		}
	
		body.hamburger_on_scroll #nav_handle .hamburger .menu-label {
			display: block;
			height: 1px;
			opacity: 0;
			overflow: hidden;
			position: absolute; top: 0; left: 0;
			text-indent: -9999px;
			width: 1px;
		}

		body.hamburger_on_scroll.nav_open #header .menu * {
			background-color: transparent !important;
			border: none !important;
			box-shadow: none !important;
			font-size: 16px !important;
			line-height: 32px !important;
			padding: 0 !important;
			position: relative !important;
			top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
			white-space: normal !important;
		}
		
		body.hamburger_on_scroll.nav_open #header .menu { display: block !important; }
		body.hamburger_on_scroll.nav_open .search_open .menu { opacity: 1; width: auto; }

			body.hamburger_on_scroll.nav_open #header .menu li:not(.no_phone) { display: block; }

			body.hamburger_on_scroll.nav_open #header .menu li.menu-item-has-children {
				cursor: context-menu;
				position: relative;
			}
			
			body.hamburger_on_scroll.nav_open #header .menu > li { display: block; }
			
			body.hamburger_on_scroll.nav_open #header .menu li.menu-item-has-children:before {
				background: transparent url('../images/ui/toggle_white_closed.svg') center center no-repeat;
				background-size: 14px 14px;
				content: '';
				display: block;
				height: 2em;
				position: absolute; top: 0; left: 0;
				transition: transform 0.25s ease;
				transform-origin: 50% 50%;
				width: 22px;
			}
			body.hamburger_on_scroll.nav_open #header .menu li.menu-item-has-children.open:before
			{ transform: rotate(90deg); }
			
				body.hamburger_on_scroll.nav_open #header .menu li.menu-item-has-children > *
				{ cursor: initial; }

				body.hamburger_on_scroll.nav_open #header .menu a {
					display: inline-block !important;
					line-height: 24px !important;
					margin: 0 0 0 24px !important;
					padding: 4px 0 !important;
				}

				body.hamburger_on_scroll.nav_open #header .menu li:hover > ul
				{ display: none !important; }

				body.hamburger_on_scroll.nav_open #header .menu li.open > ul {
					display: block !important;
					margin: 0 0 0 16px !important;
				}
				
				body.hamburger_on_scroll.nav_open #header .menu > li:hover > ul,
				body.hamburger_on_scroll.nav_open #header .menu > li:focus > ul,
				body.hamburger_on_scroll.nav_open #header .menu > li:focus-within > ul {
					min-width: 0;
				}
					
		body.hamburger_on_scroll.nav_open #primary_navigation {
			display: block;
			height: auto;
			margin-bottom: 10px;
			padding: 0 15px;
			position: relative; top: auto; right: auto; bottom: auto; left: auto;
			text-align: left;
		}

		body.hamburger_on_scroll.nav_open #auxiliary_navigation {
			border-top: 1px solid rgba(255,255,255,0.5);
			display: block;
			height: auto;
			padding: 10px 15px 0 15px;
			position: relative; top: auto; right: auto; bottom: auto; left: auto;
			text-align: left;
		}
		
		body.hamburger_on_scroll.nav_open #auxiliary_navigation.social_media_links li:not(.no_phone) {
			display: inline-block !important;
		}
		
			body.hamburger_on_scroll.nav_open #auxiliary_navigation.social_media_links li:not(.no_phone) a {
				position: absolute !important; top: 0 !important; left: 0 !important;
				margin-left: 0 !important;
			}

			body.hamburger_on_scroll.nav_open #header .search {
				display: block;
				margin: 1.5em 24px 0 24px;
				top: 0;
				width: auto !important;
				z-index: 3;
			}

				body.hamburger_on_scroll.nav_open #header .search input[type=text] {
					border-radius: 2px;
					font-size: 16px;
					height: 32px;
					line-height: 32px;
					opacity: 1;
					width: 100%;
				}
			
				body.hamburger_on_scroll.nav_open #header .search .svg_wrapper {
					top: 2px;
				}

	
}


/* CSS3 MEDIA QUERIES */

/* NON-PHONES ONLY (content area 783 or greater) */
@media screen and (min-width: 783px) {

	body.narrow_content_margin #primary_navigation { right: calc(3rem - 15px); }
	body.narrow_content_margin #auxiliary_navigation { right: calc(3rem - 15px); }

}


/* LARGE SCREENS (content area over 1600 pixels) */
@media screen and (min-width: 1600px) {

	#auxiliary_navigation, #primary_navigation { right: calc(6rem - 15px); }

	#header .search_open .search { width: 280px; }

	#header .search input[type=text] {
		font-size: 14px;
		height: 32px;
		line-height: 24px;
		padding: 4px 36px 4px 6px;
	}

	#header .search .svg_wrapper, #footer .search .svg_wrapper {
		margin-top: 5px;
	}

	#header nav.search_open .search .svg_wrapper, #footer .search .svg_wrapper {
		height: 32px;
		margin-top: 0;
	}

}


/* SMALLER COMPUTERS (content area under 1200 pixels) */
@media screen and (max-width: 1200px) and (min-width: 783px) {

}


/* TABLETS (content area under 1024 pixels) */
@media screen and (max-width: 1024px) and (min-width: 783px) {

	#auxiliary_navigation, #primary_navigation { right: calc(4rem - 15px); }

}
