/*
	(c)2016 - visuallizard.com
	
	General Layout Styles.
	Sets major blocking (and minor styles) to genaral elements in the template.
	All can be removed and started from scratch or elemnts can be adjusted individually.
	
	Colors: 
		orange				#c68945
		light orange		#ffc649
		pale  orange		#fdd593
		dark  orange		#ee7624
*/

/* !Reset & Basics ============================== */
	
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		font: inherit;
		vertical-align: baseline; }
	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
		display: block; }
	body {
		line-height: 1; }
	ol, ul {
		list-style: none; }
	blockquote, q {
		quotes: none; }
	blockquote::before, blockquote::after,
	q::before, q::after {
		content: '';
		content: none; }
	table {
		border-collapse: collapse; 
		border-spacing: 0; }

	::selection { background: #85c446; color: #fff; text-shadow: none; }

/* !Basic Styles ============================== */
	html {
		font-size: 100%;
		overflow-y: scroll;
		box-sizing: border-box;
		-webkit-text-size-adjust: 100%;
		-ms-text-size-adjust: 100%;
	}
	/* Apply a natural box layout model to all elements */
	*, *:before, *:after {
		box-sizing: inherit;
	}
	body {
		background: #fff;
		font: 14px/23px "Roboto Condensed", sans-serif; 
		color: #1b202f;
		
		display: flex;
		min-height: 100vh;
		flex-direction: column;
	}
	main {
		flex: 1;
	}
	
	/* !Typography ============================== */
	h1, .h1,
	h2, .h2,
	h3, .h3,
	h4, .h4,
	h5, .h5,
	h6, .h6 { line-height: 1.3; }
	
	h1 a, .h1 a,
	h2 a, .h2 a,
	h3 a, .h3 a,
	h4 a, .h4 a,
	h5 a, .h5 a,
	h6 a, .h6 a { font-weight: inherit; text-decoration: none; color: inherit; }
	
	h1 a:hover, .h1 a:hover,
	h2 a:hover, .h2 a:hover,
	h3 a:hover, .h3 a:hover,
	h4 a:hover, .h4 a:hover,
	h5 a:hover, .h5 a:hover,
	h6 a:hover, .h6 a:hover { text-decoration: underline; color: #c68945; }
	
	h1, .h1 { font-size: 46px; margin-bottom: 14px;}
	h2, .h2 { font-size: 35px; margin-bottom: 1.65em; text-transform: uppercase; font-weight: bold; letter-spacing: 0.2em; }
	h3, .h3 { font-size: 18px; margin-bottom: 10px; font-family: "Bebas Neue", sans-serif; font-weight: 400; font-style: normal; /* Survery Book */ }
	h4, .h4 { font-size: 16px; margin-bottom: 1em; text-transform: uppercase; }
	h5, .h5 { font-size: 16px; margin-bottom: 1em; font-family: "Bebas Neue", sans-serif; font-weight: 400; font-style: normal; /* Survery Book */ }
	h6, .h6 { font-size: 14px; margin-bottom: 0; text-transform: uppercase; }

	p { margin: 0 0 1.5em 0; }
	p img { margin: 0; }
	p.lead { font-size: 21px; line-height: 27px; color: #777;  }

	i, em { font-style: italic; }
	b, strong { font-weight: bold; }
	small { font-size: 80%; }


	.button {
		cursor: pointer;
		display: inline-block;
		background-color: #c68945;
		padding: 4px 15px 5px;
		text-decoration: none;
		text-transform: uppercase;
		color: #fff;
		font-size: 13px;
		line-height: normal;
		border: none;
		
		transition: 0.1s linear all;
	}

/* Layout */
.container,
.home section.practices {
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 30px 0 30px;
}
	.home section.practices {
		padding: 5em 0 6em;
	}

/* Header */
	.site-header {
		position: relative;
/* 		position: fixed; top: 0; left: 0; right: 0; */ width: 100%;
		clear: both;
		margin: 0 auto;
		padding: 0;
		background: #1a202f;
		background: rgba(26,32,47,.95);
		color: #fff;
		z-index: 2;
	}
	.no-js .site-header {
		position: relative;
	}
		.site-header > .container {
			overflow: hidden;
			position: relative;
			padding: 42px 0 30px 0;
			
			transition: all 0.5s ease 0s;
		}
			.site-header.header-large > .container {
				padding-top: 42px;
				padding-bottom: 30px;
			}
			.site-header.header-small > .container {
				padding-top: 22px;
				padding-bottom: 22px;
			}
			.site-header.header-small h1 b {
				opacity: 0;
				height: 0;
				margin: 0;
				padding: 0;
			}
		
		.site-header h1 {
			display: block;
			float: left;
			margin: 0;
			padding: 0 10px 0 1px; /* 1px to contain outline visible */
 			max-width: 31%;
			font-size: 30px;
			
/* 			background: tomato; */
		}
			.site-header h1 .logo {
				display: block;
				text-decoration: none;
				cursor: pointer;
				color: #fff;
				outline-offset: 9px;
			}
				.site-header h1 img {
					display: block;
					width: 100%;
					height: auto;
				}
				.site-header h1 b {
					display: block;
					border-top: 1px solid rgba(255,255,255,.4);
					margin: 11px 0 0 4px;
					padding-top: 8px;
					max-width: 89%;
					
					font-family: "Roboto Condensed", sans-serif; 
					font-size: 10px;
					letter-spacing: .2em;
					text-transform: uppercase;
					opacity: .9;
					
					transition: all 0.5s ease 0s;
				}
		.site-header a {
			color: inherit;
		}
		.site-header a:hover,
		.site-header a:focus {
			color: #c68945;
		}
		
		
		/* Language toggle */
		.site-header .lang { }


/* 	Navigations */
	.main-nav {
		display: block;
		width: 60%;
		margin: 15px 0 0 0;
		float: right;
		
		font-family: "Roboto Condensed", sans-serif; 
		font-weight: 700;
		font-style: normal;
		font-size: 12px;
		letter-spacing: 0.2em;
		line-height: 1;
		
		transition: all 0.5s ease 0s;
	}
	.header-small .main-nav {
		margin-top: 5px;
	}
	.no-js .main-nav {
		margin-top: 30px;
	}
	
		.main-nav ul {
			margin: 0;
			padding: 0;
			list-style: none;
			
		}
			.nav_1 {
				float: left;
			}
			.nav_1 li {
				display: inline-block;
				position: relative;
				padding: 0;
				margin: 0;
				
				/* Hide only visually, but have it available for screen readers: h5bp.com/v */
				position: absolute;
				height: 1px;
				width: 1px; 
				overflow: hidden;
				clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
				clip: rect(1px, 1px, 1px, 1px);
			}
				.nav_1 li#nav_li_item_31,
				.nav_1 li#nav_li_item_133,
				.nav_1 li#nav_li_item_127,
				.nav_1 li#nav_li_item_129,
				.nav_1 li#nav_li_item_131 {
					position: static;
					width: auto;
					height: auto;
					overflow: visible;
					clip: auto;
				}
				.nav_1 li a {
					display: block;
					position: relative;
					padding: 0 10px;
					text-transform: uppercase;
					text-decoration: none;
					transition: color 0.5s ease 0s;
				}
				.nav_1 li.at > a,
				.nav_1 li:hover > a {
					color: #c68945;
				}
/* ! Subnav */
.subnav {
	clear: both;
	margin: 2.75em 0 5em 0;
}
	.subnav:empty {
		display: none;
	}
	.home .subnav {
		display: none;
	}
	.subnav ul {
		list-style: none;
		margin: 1em auto;
		text-align: center;
	}
		.subnav > ul > li {
			display: inline-block;
			margin: 0 1.5em;
			position: relative;
		}
		.subnav > ul > li a {
			display: block;
			padding: .5em 0 .8em 0;
			text-transform: uppercase;
			text-decoration: none;
			color: #1b202f;
			border-bottom: 3px solid transparent;
			font-size: 18px;
			line-height: 1;
			letter-spacing: .22em;
		}
		.subnav > ul > li.at    > a,
		.subnav > ul > li:hover > a {
			color: #c68945;
			
		}
		.subnav > ul > li.at    a {
			font-weight: bold;
			border-color: #c68945;
		}
		
		.subnav > ul ul {
			display: none;
		}
			.subnav > ul > li:hover ul {
				display: block;
				position: absolute;
				left: 0; top: 100%;
				width: 280px;
				background: indigo;
				padding: 10px;
				margin: 0;
				text-align: left;
				background: #c68945;
				z-index: 10;
			}
				.subnav > ul ul li {
					border-top: 1px solid #b56127;
				}
				.subnav > ul ul li:first-child {
					border-top: 0;
				}
				.subnav > ul ul a {
					color: #fff;
					font-size: 16px;
					line-height: 20px;
					padding: 13px 20px;
					border-bottom: 0;
					transition: background .3s ease-in-out 0s;
					letter-spacing: normal;
				}
				.subnav > ul ul a:hover {
					background: rgba(255,255,255,.2);
				}



/* ! Social	 */
	.social {
		margin: 0;
		padding: 0;
		list-style: none;
	}
		.social li {
			display: inline-block;
			vertical-align: middle;
		}
		.social li a {
			position: relative;
			display: block;
			font-size: 10px;
			width: 2em;
			height: 2em;
/* 			text-indent: 200%; */
			border-radius: 50%;
/* 			overflow: hidden; */
			
			background-color: #ccc;
			background-repeat: no-repeat;
			background-position: center center;
		}
			.social li a .icon {
				display: block;
				position: absolute;
				left: 0; right: 0; 
				top: 0; bottom: 0;
				
				width: 50%;
				height: 100%;
				margin: 0 auto;
				padding: 0;
			}
		.social li a:hover {
			fill:#c68945;
		}
		
		.main-nav .social {
			float: right;
			margin-left: 1em;
			margin-top: -5px;
		}


/* !Search form */
	.search-form {
		margin: 0;
		position: relative;
		transition: height .5s ease-in-out;
	}
		.search-form .input {
			display: inline-block;
			margin: 0;
		}
	
	.js .search-form {
		padding: 0;
		height: 0;
		width: 100%;
		background: #c68945;
		overflow: hidden;
		
		position: absolute;
		top: 100%;
	}
	.js .search-form.open {
		height: 50px;
	}
	.no-js .search-form {
		margin-bottom: 10px;
	}
		.search-form > .container {
			padding-left: 20%;
			padding-top: 8px;
		}
		.search-form > .input {
			vertical-align: top;
			overflow: hidden;
		}

			.search-form label {
				display: inline-block;
				vertical-align: middle;
				max-height: 1.5em;
				overflow: hidden;
				padding: 2px .5em 0 0;
				text-transform: uppercase;
				
				transition: all .5s ease-in-out;
				width: 40%;
				text-align: right;
				font-size: 1rem;
			}
		.search-form [type="text"] {
			display: inline-block;
			vertical-align: middle;
			background: none;
			border: none;
			border-bottom: 1px solid #fff;
			padding-bottom: 0;
			margin-bottom: 4px;
			color: #fff;
			color: rgb(26, 32, 47);
			letter-spacing: 0.05em;
			font-family: monospace;
			
			font-size: 16px;
			width: 55%;
		}
		.search-form [type="text"]:focus {
			box-shadow: none;
			border-top: 0;
			border-left: 0;
			border-right: 0;
			border-bottom: 2px solid #fff;
			margin-bottom: 3px;
		}
		.search-form [type="submit"] {
			display: inline-block;
			vertical-align: middle;
			width: 5%;
			min-width: 20px;
			height: 20px;
			padding: 0;
			color: #fff;
		}
		.search-form [type="submit"]:hover {
			border: 1px solid #ffe19e;
		}
		
		.form-toggle {
			display: inline-block;
			vertical-align: top;
			background: url(../../img/icons/icon-search-orange.svg) 50% 50% no-repeat transparent;
			color: #fff;
			border: none;
			cursor: pointer;
			text-transform: uppercase;
			padding: 0;
			margin: 0 0 0 0;
			
			width: 20px;
			height: 20px;
			overflow: hidden;
			text-indent: 300%;
		}
		.form-toggle:hover {
			background-image: url(../../img/icons/icon-search-white.svg);
		}


	.featured {
		position: relative;
/* 		background: tomato; */
		padding: 0;
		
		min-height: 40px;
	}


/* 	Colummns and Sections	*/
	main {
		padding: 0;
		position: relative;
		z-index: 0;
	}
		.people.display main {
			background: #bbb;
			overflow: hidden; /* prevent abs. positioned figure "leaking" */ 
		}
	
	.content {
		padding: 1.5em 0 5em 2em;
	}
		.content .primary {
			width: 70%;
			float: left;
		}
		.content .sidebar {
			width: 25%;
			float: right;
			padding-top: 7.5em;
		}
		.news   .content .sidebar,
		.people .content .sidebar { padding-top: 0; }
		.people         .content .primary { width: auto; float: none; }
		.people.display .content .primary { padding-top: 100px; }

/* Footer	 */
	.site-footer {
		clear: both;
		position: relative;
		padding: 55px 30px 30px;
		margin: 0;
		/* background: #d9d5d0; */
		background: #50575c;
		color: #fff;
		overflow: hidden;
		
		font-weight: 300;
		font-size: 16px;
		line-height: 1.5;
		letter-spacing: 0.075em;
	}
	
	footer .social { display: none; }
	
	footer .footer-column,
	footer .vcard,
	footer .foot_nav_1 {
		float: left;
		width: 23%;
		padding: 20px 3%;
		border-left: 1px solid #a3a19f;
		border-bottom: 1px solid #a3a19f;
/* 		min-height: 230px; */
		margin-bottom: 20px;
	}
		footer .footer-column {
			padding-left: 0;
			border-left: 0;
			width: 22.5%;
		}
			footer .logo {
				max-width: 200px;
				min-height: 200px;
				display: block;
				background-color: transparent;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-image: url(../../img/icon-dad-white.svg);
				text-indent: -200%;
				overflow: hidden;
				white-space: nowrap;
				border-left: 0;
				background-size: 100% auto;
				
				margin-top: -60px;
				margin-left: -40px;
			}
			
		footer .vcard {
			width: 25%;
		}
		footer .vcard > p:first-child {
			text-transform: uppercase;
			font-size: 12px;
		}
	
	.foot_nav_1 {
		list-style: none;
		margin: 0
	}
		.foot_nav_1 li {
		
		}
		.foot_nav_1 li a {
			text-decoration: none;
			color: inherit;
		}
	footer .copyright {
		clear: both;
		float: left;
		width: 50%;
		margin-top: 1.5em;
	}
.logos {
	list-style: none;
	margin: 0 5.5% 0 0;
	float: right;
}
	.logos li {
		display: inline-block;
		margin-left: 5px
	}
	
	.site-footer a:hover {
		color: #d7a569;
	}

/* Hide content that requires JavaScript unless JavaScript is running. */
/* body .requires-js { display: none; } */




/*  jQuery UI Layout helpers
----------------------------------*/
.ui-helper-hidden {
	display: none;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse;
}
.ui-helper-clearfix:after {
	clear: both;
}
.ui-helper-clearfix {
	min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
}

.ui-front {
	z-index: 100;
}



/*! CSS LIGHTBOX */

.css-lightbox {
	/** Default lightbox to hidden */
	display: none;

	/** Position and style */
	position: fixed;
	z-index: 9999;
	width: 100%;
	height: 100%;
	text-align: center;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
}
.css-lightbox img {
	/** Pad the lightbox image */
	max-width: 90%;
	max-height: 60%;
	margin-top: 10%;
}
.css-lightbox:target {
	/** Remove default browser outline */
	outline: none;

	/** Unhide lightbox **/
	display: block;
}