/*
	(c)2012 - visuallizard.com

	General styles. Template, view, plugin specific, etc.
*/

.case {
	/* For demonstrations only. Remove on production */
	margin: 0 0 20px 0;
}
.content-button {
	display: block;
	position: relative;
	width: 80%;
	max-width: 250px;
	padding: 1em;
	margin: 0px 10% 1em 10%;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	text-align: center;
	text-decoration: none;
	background: rgba(9, 140, 186, 0.5);
	color: #062d54;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
	.content-button:hover {
		background: #098cba;
		color: #fff;
	}
p.highlight { padding: 1em; background: rgba(222, 191, 80, 0.5); }
.center { text-align: center; }

iframe { max-width: 100%; max-height: 600px; }
ol[type="A"] { list-style: upper-alpha; }
ol[type="a"] { list-style: lower-alpha; }
ol[type="i"] { list-style: lower-roman; }
ol[type="I"] { list-style: upper-roman; }


/* !social media styles */
ul.social {
	display: flex;
	position: relative;
	justify-content: flex-start;
	align-items: center;
	column-gap: 1rem;
	width: 40%;
	padding: 0;
	margin: 1em 0;
	list-style: none;
}
	ul.social li {
		display: block;
		position: relative;
		flex: 0 0 25%;
		max-width: 25%;
		padding: 0;
		margin: 0;
		text-align: center;
	}
		ul.social li a {
			display: block;
			position: relative;
			width: 3.5rem;
			height: 3.5rem;
			margin: 0;
			border-radius: 100%;
			font-size: 2rem;
			line-height: 2;
			text-decoration: none;
			color: #fff;
			-webkit-transition: all 0.25s ease;
			-moz-transition: all 0.25s ease;
			transition: all 0.25s ease;
		}
		ul.social li.twitter a { background: #4099ff; }
		ul.social li.facebook a { background: #3b5998; }
		ul.social li.linkedin a { background: #0a66c2; }
		ul.social li a:hover {
			background: #999;
		}


/* !search form - header */
#search-block {
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	row-gap: 1rem;
	flex: 0 0 45%;
	width: 45%;
	padding: 0;
	margin: 0;
}
	#search-block ul.social {
		justify-self: flex-start;
		flex: 0 0 35%;
		max-width: 35%;
		margin: 0;
	}
		#search-block ul.social li a {
			width: 2rem;
			height: 2rem;
			font-size: 1rem;
			line-height: 2.25;
		}
	#search-block form.search-form {
		display: flex;
		position: relative;
		justify-content: flex-end;
		align-items: center;
		flex: 0 0 60%;
		max-width: 60%;
		padding: 0;
		margin: 0;
	}
		#search-block form.search-form div.input.text {
			display: block;
			position: relative;
			float: left;
			width: 85%;
			padding: 0;
			margin: 0;
		}
			#search-block form.search-form div.input.text label.overlabel-apply {
				top: 5px;
			}
			#search-block form.search-form div.input.text input[type="text"] {
				width: 100%;
				height: 30px;
				padding: 0 0.5em;
				margin: 0;
				border: none;
				border-radius: 0;
				box-shadow: none;
				line-height: 30px;
			}
		#search-block form.search-form div.submit {
			display: block;
			position: relative;
			float: right;
			width: 15%;
			padding: 0;
			margin: 0;
		}
			#search-block form.search-form div.submit input[type="submit"] {
				display: block;
				position: relative;
				float: left;
				width: 100%;
				height: 30px;
				padding: 0;
				margin: 0;
				border: none;
				border-radius: 0;
				background: #f4f4f4;
			}
	#search-block p.call {
		display: block;
		position: relative;
		float: left;
		width: 100%;
		margin: 0 0 1em 0;
		font-size: 14px;
		line-height: 20px;
		text-align: center;
		color: #f0f0f0;
	}
		#search-block p.call a { text-decoration: none; }
	#search-block ul#member-links {
		display: flex;
		position: relative;
		clear: both;
		float: left;
		width: 100%;
		padding: 0;
		margin: 0;
		list-style: none;
		font-size: 18px;
	}
		#search-block ul#member-links li {
			display: block;
			position: relative;
			float: left;
			flex-grow: 1;
			padding: 0;
			margin: 0;
			border-left: 1px solid #fff;
			text-transform: uppercase;
			text-align: center;
		}
		#search-block ul#member-links li:first-of-type { border: none; }
		#search-block ul#member-links li a { color: #fff; text-decoration: none; }


/* !search result styles */
div.result-block {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 1em;
	margin: 0;
	border-top: 1px solid #098cba;
}
div.result-block:first-of-type { border: none; }
	.result-block h3 {
		font-size: 22px;
		line-height: 28px;
		margin: 0 0 0.5em 0;
	}
		.result-block h3 a { text-decoration: none; }
	.result-block p { margin: 0; }


/* !banner styles */
ul.banners {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	list-style: none;
}
	ul.banners li {
		display: block;
		position: relative;
		z-index: 1;
		float: left;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
	}
		ul.banners li img {
			display: block;
			position: relative;
			width: 100%;
			height: auto;
		}
		ul.banners li div.banner-copy {
			display: block;
			position: absolute;
			top: 35%;
			right: 12.5%;
			max-width: 50%;
			padding: 2em;
			margin: 0;
			background: rgba(9, 140, 186, 0.7);
			color: #fff;
		}
			ul.banners li div.banner-copy h2 {
				font-size: 2.2em;
				font-weight: 600;
				text-align: center;
				color: #fff;
			}
			ul.banners li div.banner-copy p {
				margin: 0;
				font-size: 1.4em;
				text-align: center;
			}
/* additional Slick Slider defaults (project specific) */
.slick-arrow {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 100;
	background: rgba(255,255,255,0);
	width: 3%;
	text-indent: -10em;
	overflow: hidden;
	border: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 50% auto;
	color: rgba(255,255,255,0.7);
	transition: all .2s;
	opacity: .8;
	cursor: pointer;
}
.slick-next {
	top: 0;
	left: 97%;
	bottom: 0;
	right: 0;
	border-green;
}
.slick-prev:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -8px;
	border: none;
	border-right: 16px solid #fff;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
}
.slick-next:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -8px;
	border: none;
	border-left: 16px solid #fff;
	border-top: 16px solid transparent;
	border-bottom: 16px solid transparent;
}


/* !quicklinks styles */
ul#quicklinks {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 0;
	margin: -80px 0 0 0;
	list-style: none;
}
	ul#quicklinks li {
		display: block;
		position: relative;
		flex-basis: 32%;
		max-width: 32%;
		padding: 0.5em;
		margin: 0;
		border: 3px solid #ccc;
		font-size: 1.4em;
		font-weight: 600;
		text-align: center;
	}
	ul#quicklinks li:first-of-type { margin-left: 0; }
	ul#quicklinks li#ql_1 { border: 3px solid #000; background: rgba(255,255,255,0.5); }
	ul#quicklinks li#ql_2 { border: 3px solid #098cba; background: rgba(9, 140, 186, 0.3); }
	ul#quicklinks li#ql_3 { border: 3px solid #000; background: rgba(0, 0, 0, 0.5); }
		ul#quicklinks li a {
			display: block;
			position: relative;
			width: 100%;
			min-height: 210px;
			padding: 2.5em 1em;
			margin: 0;
			text-decoration: none;
			line-height: 1em;
			background: #ccc;
			color: #fff;
			-webkit-transition: all 0.25s ease;
			-moz-transition: all 0.25s ease;
			transition: all 0.25s ease;
		}
		ul#quicklinks li#ql_1 a { padding-top: 3em; border: 1px solid #000; background: rgba(255, 255, 255, 0.5); color: #000; }
		ul#quicklinks li#ql_2 a { padding-top: 3.5em; border: 1px solid #098cba; background: rgba(9, 140, 186, 0.7); }
		ul#quicklinks li#ql_3 a { border: 1px solid #fff; background: rgba(0, 0, 0, 0.7); color: #fff; }
		ul#quicklinks li#ql_1 a:hover { background: rgba(255, 255, 255, 0.8); }
		ul#quicklinks li#ql_2 a:hover { background: rgba(9, 140, 186, 1); }
		ul#quicklinks li#ql_3 a:hover { background: rgba(0, 0, 0, 1); }
		ul#quicklinks li a span { font-size: 0.8em; font-weight: 300; }
		ul#quicklinks li#ql_1 a img { width: 60px; margin: -25px auto 15px auto; }
		ul#quicklinks li#ql_3 a img { width: 100px; margin: -25px auto 15px auto; }


/* !sponsors block styles */
.sponsors a {
	display: block;
	position: relative;
	flex-basis: 49%;
	max-width: 49%;
	padding: 2rem 3rem;
	margin: 0;
}
	.sponsors a img { width: 100%; }
	.sponsors a.content-button {
		flex-basis: 40%;
		max-width: 40%;
		margin: 0 auto;
		font-size: 1.5rem;
		font-weight: 600;
	}


/* !news module styles */
.news-list {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
	.news-list .brief {
		display: block;
		position: relative;
		float: left;
		width: 100%;
		padding: 1em 0;
		margin: 0;
		border-top: 1px dotted #999;
	}
	.news-list .brief:first-of-type { padding-top: 0; border: none; }
		.news-list .brief p { margin: 0; }
#banner-block #latest-news h2 { color: #fff; }
#banner-block #latest-news .news-list .brief { border-top: 1px dotted #fff; }
#banner-block #latest-news h3 { font-size: 20px; color: #fff; }
#banner-block #latest-news .news-list .brief h3 a { color: #fff; text-decoration: none; -webkit-transition: all 0.25s ease; -moz-transition: all 0.25s ease; transition: all 0.25s ease; }
#banner-block #latest-news .news-list .brief:hover h3 a { text-decoration: underline; letter-spacing: 1px; }


/* !staff styles */
.staff-group {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
	.staff-group .staffer {
		display: block;
		position: relative;
		float: left;
		width: 49%;
		padding: 1em 0;
		margin: 0;
		border-bottom: 1px dotted #999;
	}
	.staff-group .staffer:nth-of-type(2n) { float: right; }
		.staff-group .staffer img {
			display: block;
			position: relative;
			float: left;
			width: 40%;
			padding: 0;
			margin: 0;
			background: #062d54;
		}
		.staff-group .staffer p.contact-info {
			display: block;
			position: relative;
			float: right;
			width: 56%;
		}


/* !faq styles */
.faq-set {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	margin: 1em 0;
}
	.faq-set h4 {
		display: block;
		position: relative;
		clear: both;
		float: left;
		width: 100%;
		padding: 1em 0 0.25em 0;
		margin: 0;
		border-top: 1px dotted #999;
		line-height: 26px;
	}
	.faq-set h4:first-of-type { padding: 0 0 0.25em 0; border: none; }
	.faq-set .faq-answer {
		display: block;
		position: relative;
		clear: both;
		float: left;
		width: 100%;
		padding: 0;
		margin: 0;
	}


/* !document list styles */
h3.docset {
	display: block;
	position: relative;
	clear: both;
	float: left;
}
ul.document-list {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0 0 1.5em 0;
}
	ul.document-list li {
		display: block;
		position: relative;
		float: left;
		width: 100%;
		padding: 0;
		margin: 0;
		border-top: 1px solid #999;
	}
	ul.document-list li:first-of-type { border: none; }
		ul.document-list li a,
		ul.document-list li span {
			display: block;
			position: relative;
			width: 100%;
			padding: 0.5em;
			margin: 0;
			text-decoration: none;
			-webkit-transition: all 0.25s ease;
			-moz-transition: all 0.25s ease;
			transition: all 0.25s ease;
		}
		ul.document-list li a:hover { background: rgba(0,0,0,0.1); }


/* !contact form styles */
.contact-form {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 2em;
	margin: 0 0 1.5em 0;
	background: #f4f4f4;
}
.contact-form form.standard {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
	.contact-form form.standard .input.text,
	.contact-form form.standard .input.textarea {
		display: block;
		position: relative;
		float: left;
		width: 48%;
		padding: 0;
		margin: 0 0 1em 0;
	}
	.contact-form form.standard .input.textarea { width: 100%; }
	.contact-form form.standard .input.text:nth-of-type(2n) {
		float: right;
	}
	.contact-form form.standard .input label {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 0 0 0.5em 0;
		font-size: 16px;
	}
	.contact-form form.standard .input input[type="text"],
	.contact-form form.standard .input input[type="email"],
	.contact-form form.standard .input textarea {
		width: 100%;
		margin: 0;
		font-size: 16px;
		line-height: 24px;
	}
	.contact-form form.standard input[type="submit"] {
		display: block;
		position: relative;
		float: left;
		width: 40%;
		padding: 1em 0;
		margin: 0 30%;
		border: none;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		font-size: 18px;
		text-transform: uppercase;
		text-shadow: none;
		background: #098cba;
		color: #fff;
	}


/* !footer styles */
.tag h4,
.tag p {
	margin: 0;
	color: #fff;
}
.tag h4 {
	margin-top: 1.25rem;
	font-size: 1.5rem;
}
