/*
Customizations to r3417 theme

Colors:
Main yellow:	#fbc400
Dark yellow:	#c59600
Brown:			#967964
Mid-gray:		#6c6864
Warm silver:	#c0b8b3
Beige:			#e3dfd8
Red:			#ed1a3b
Dark red:		#bd0d32

*/


/* STANDARD HTML */

body * {
	font-family: Dosis, sans-serif;
	font-weight: 400;
}

b, strong { font-weight: 700; }

h1, h2, h3, h4, h5, h6, #header *, #footer * {
	font-family: Oswald, sans-serif;
	font-weight: 300 !important;
}


/* CUSTOM CSS CLASSES */

.tiles .tile .image {
	border-radius: 0.5em;
	overflow: hidden;
}


/* DOM ELEMENTS */

#header {
	background-size: 100% 100%;
	border-bottom: 1px solid rgba(0,0,0,0.2) !important;
}

#header *, #footer * {
	text-transform: uppercase;
}

body #logo.background_image, body #header.logo_align_ #logo, body #header.logo_align_left #logo, body.locking_header.scrolled #header #logo, body.locking_header.scrolled_alt #logo,
body.wide-header:not(.logo_flush_left) #header.logo_align_ #logo, body.wide-header:not(.logo_flush_left) #header.logo_align_left #logo, body.wide-header:not(.logo_flush_left).locking_header.scrolled #header.logo_align_left #logo, body.wide-header:not(.logo_flush_left).locking_header.scrolled_alt #header.logo_align_left #logo, body.wide-header:not(.logo_flush_left).locking_header.scrolled #header.logo_align_ #logo, body.wide-header:not(.logo_flush_left).locking_header.scrolled_alt #header.logo_align_ #logo
{
	left: 0 !important;
}

#header .search .svg_wrapper, #footer .search .svg_wrapper {
	margin-top: 0 !important;
}

#footer #contact * {
	text-transform: none;
}


/* PLUGINS */


/* CSS3 MEDIA QUERIES */


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

	#header .search_open > div {
		display: none !important;
	}

	#header #nav_wrapper .social_media_links:not(.text) {
		background: white;
		border-top-right-radius: 0.5em;
		border-top-left-radius: 0.5em;
		box-shadow: 0 -1px 2px rgba(0,0,0,0.15);
		/*opacity: 0.5;*/
		position: fixed; top: auto; right: 0; bottom: 0; left: auto;
		/*transition: opacity 0.333s ease;*/
	}
	/*#header #nav_wrapper .social_media_links:not(.text):hover {
		opacity: 1;
	}*/
		
	body.admin-bar #header #nav_wrapper .social_media_links:not(.text) * {
		transition: none !important;
	}
	
	#header #nav_wrapper .social_media_links:not(.text) li {
		margin: 7px !important;
	}
	
	#popover.bottom-right, #popover.bottom-right.open {
		bottom: 60px;
	}

}


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

}


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

}
@media screen and (max-width: 1200px) and (min-width: 783px) {

}


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

}
@media screen and (max-width: 1024px) and (min-width: 783px) {

	#logo.background_image {
		left: -50px !important;
	}
	
	#primary_navigation, #auxiliary_navigation, #nav_handle {
		right: 1rem !important;
	}
	
	body.header_navigation_rounded_corners #header .menu > li {
		margin-left: 0;
	}

	#header .menu > li > a {
		padding: 0.5em 10px;
	}
	
	#header .search {
		width: 32px;
	}

}


/* PHONES (content area under 782 pixels) */
@media screen and (max-width: 782px) {

	#header {
		background-color: #ffffff;
		background-position: left top;
		background-size: 100% 59px;
		background-repeat: repeat-x;
	}
	
	/* Extra classes to override !important in Customizer */
	#header.no_scaling.menu_align_middle #logo.background_image, body.scrolled #logo.background_image, body.scrolled_alt #logo.background_image {
		height: 60px !important;
		max-height: 60px !important;
		top: calc(58px / 2) !important;
	}
	
	body.nav_open #nav_wrapper {
		margin-top: 80px;
	}
	
	#header #nav_wrapper .social_media_links:not(.text) {
		margin-left: 24px;
	}
	
	/* AdThrive's CSS is screwing up the placement of the social media links on mobile because it's not differentiating by breakpoint */
	body.phone:not(.adthrive-disable-all) #auxiliary_navigation, body.phone.adthrive-disable-all #auxiliary_navigation {
		bottom: 0 !important;
	}

}


/* Make mobile navigation style work at larger screen sizes (adapted from navigation_mobile.css in the theme) */

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

	body.nav_open { overflow: hidden; }

	#nav_handle {
		cursor: context-menu;
		display: block;
		height: 44px;
		padding: 0;
		position: absolute; top: 50%; right: 6rem; bottom: auto; left: auto;
		transform: translateY(-50%);
		width: 44px;
		z-index: 2;
	}
	#nav_handle { cursor: pointer; }

		#nav_handle .hamburger { padding: 10px 0 !important; }
	
		.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before {
			height: 4px !important;
			width: 30px !important;
		}

		#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.nav_open { overflow-y: scroll; }

	#header { }

	body.admin-bar.nav_open #header { top: 32px; }

		#header .menu { display: block !important; }
		body.nav_open .search_open .menu { opacity: 1; width: auto; }

			#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;
			}
	
			#header .menu li:not(.no_phone) { display: block; }

			#header .menu li.menu-item-has-children {
				cursor: context-menu;
				position: relative;
			}
		
			#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;
			}
			#header .menu li.menu-item-has-children.open::before {
				transform: rotate(90deg);
			}
		
				#header .menu li.menu-item-has-children > * { cursor: initial; }

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

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

				#header .menu li.open > ul {
					display: block !important;
					margin: 0 0 0 16px !important;
				}
				
	#nav_wrapper { display: none; }

	#nav_wrapper {
		display: block;
		min-height: 400px !important;
		max-width: 100%;
		min-width: 350px;
		position: fixed; top: 0; right: -110%; bottom: 0; left: auto;
		transition: all 0.5s ease;
	}
	body.nav_open #nav_wrapper {
		right: 0; left: auto;
	}

		#primary_navigation, #auxiliary_navigation { display: none; }

		#primary_navigation {
			display: block;
			height: auto;
			margin-bottom: 10px;
			padding: 0 0 0 44px !important;
			position: relative !important; top: 120px !important; right: auto !important; bottom: auto !important; left: auto !important;
			text-align: left;
			transform: none !important;
		}

		#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;
		}

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

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

}
