/* DS Feller Company Custom CSS Document */
/* Created by Studio Zeep */
/* Last updated 9 March 2014 by Justin Herrin */


html {
	margin: 0;
	padding: 0;
 	background-color: #e2e2e2;
}
body {
	font-family: 'Source Sans Pro', arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	margin: 0;
	padding: 0;
	color: #333;
	line-height: 1.8em;
}

/* for those older non-HTML5 browsers */
header, nav, section, article, figure, figcaption, aside, footer {
	display: block;
}

/* global clearfix */
.clr { clear: both; }


/*** Global Styles ***/
a { color: #17479E; text-decoration: none; }
a:hover { color: #113577; }

h1, h2, h3, h4 {
	color: #17479E;
	font-weight: normal;
	margin: 0;
	padding: 0 0 10px 0;
	line-height: 1.3em;
}

h2 { font-size: 22px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; }

p { margin: 0; padding: 0 0 25px 0; }

ul, ol { margin: 0; padding: 0 0 25px 25px; }

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	border: 0;
	border-top: 1px solid #ccc;
	width: 100%;
	padding: 0;
	margin: 10px 0 30px 0;
}

img { max-width: 100%; height: auto; vertical-align: top; }
img.picborder { border:1px solid #000; padding:0; }
img.img-responsive { display: block; max-width: 100%; height: auto; }

/* Font Weight Variations */
.light { font-weight: 300; }
.bold { font-weight: 600; }
.boldest { font-weight: 700; }

.italic { font-style: italic; }

.lead {
	padding-bottom: 20px;
	font-size: 20px;
	font-weight: 200;
	line-height: 1.4em;
}

.align-right { text-align: right; }
.align-center { text-align: center; }
.pull-right { float: right !important; }
.pull-left { float: left !important; }
.hide { display: none !important; }


/*** Button Styles ***/
.btn {
	background-color: #8AB03D;
	color: #fff;
	text-decoration: none;
	line-height: 20px;
	padding: 12px 15px;
	text-transform: uppercase;
}


/*** Alert Styles ***/
.alert { padding: 15px; margin-bottom: 30px; border: 1px solid transparent; border-radius: 4px; font-size: 1.1em; }
.alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
.alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; }
.alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; }
.alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }



/*** Form Element Styles ***/
.required { color: #c00000; }
label { font-weight: bold; }
input[type="text"],
input[type="email"],
input[type="date"],
input[type="submit"] {
	font-family: 'Source Sans Pro', arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	padding: 7px 4%;
	border:1px solid #ccc;
}
input[type="text"],
input[type="email"] {
	width: 90%;
}
input[type="submit"] {
	border: none;
	line-height: 20px;
	padding: 12px 15px;
}
input[type="submit"]:hover {
	color: #113577;
}

.commentsbox {
	font-family: 'Source Sans Pro', arial, sans-serif;
	font-weight: 400;
	font-size: 16px;
	padding: 7px 4%;
	width: 90%;
	min-height: 150px;
	border:1px solid #ccc;
}

div#feller-recaptcha { padding: 0 0 25px 0; margin: 0; }




/*** Main Body Wrapper Div Styles ***/
#wrapper {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}


/*** Header Styles ***/
header {
	background-color: #17479E;
	border-bottom: 8px solid #7491C5;
	width: 92.1875%; /* 1180 / 1280 */ 
	padding: 0 3.90625%; /* 50 / 1280 */
	margin: 0;
	color: #fff;
}
.header-col-left { width:270px; float:left; margin:0 10px 0 0; padding:0; }
.header-col-left img { max-width:100%; vertical-align:top; border:0; margin:0; padding:0; }
.header-col-left a { display:block; }

.header-col-middle { float:left; }
nav { margin:0; padding:0; }
nav ul { list-style:none; margin:0; padding:0; border-left:1px solid #1B407D; border-right:1px solid #3362B3; }
nav ul li { display: table-cell; padding:0; margin:0; border-left:1px solid #3362B3; border-right:1px solid #1B407D; }
nav ul li:hover,
nav ul li.item-active { background-color:#113577; }
nav ul li a { display:block; padding:0 25px; line-height:90px; color:#fff; }
nav ul li a:hover { background-color:#113577; color:#fff; }

.header-col-right { width:250px; float:right; margin:0; padding:0; }




/*** Main Content Container Styles ***/
#container {
	width: 92.1875%; /* 1180 / 1280 */
	padding: 30px 3.90625%; /* 50 / 1280 */
	margin: 0;
	text-align: left;
	background-color: #fff;
}
#container-homepage {
	width: 92.1875%; /* 1180 / 1280 */
	padding: 30px 3.90625% 0 3.90625%; /* 50 / 1280 */
	margin: 0;
	text-align: left;
	background-color: #fff;
}


/*** Breadcrumbs Styles ***/
.breadcrumb {
	padding: 4px 0;
	margin: 0 0 20px 0;
	color: #7491C5;
	list-style: none;
}
.breadcrumb > li {
	display: inline-block;
}
.breadcrumb > li + li:before {
	padding: 0 5px;
	color: #ccc;
	content: "/\00a0";
}
.breadcrumb > .active { color: #999; }
.breadcrumb a { color: #7491C5; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }



/*** Content Boxes Styles ***/
.contentbox-right { width:260px; float:right; margin:0 0 10px 50px; text-align:center; }
.contentbox-right p + p { padding-bottom: 10px; }
.contentbox-right h3 { padding-bottom: 0; margin-top: -10px; }


/*** Columns ***/
.row { padding:0; margin:0; }
.row:before,
.row:after { display: table; content: " "; }
.row:after { clear: both; }

.homepage-col-pic {
	float:left;
	max-width: 462px;
	padding: 0;
	margin: 0 20px 0 0;
}
.homepage-col-text {
	float: right;
	width: -moz-calc(100% - 482px);
	width: -webkit-calc(100% - 482px);
	width: calc(100% - 482px);
	padding: 0;
	margin: 0;
}
.homepage-push { padding-top: 50px; }

.cols2 {
	float: left;
	width: 46.875%; /* 600 / 1280 */
	padding: 0 1.5625%; /* 20 / 1280 */
	margin: 0;
}

.cols3 {
	float: left;
	width: 30.158730158730157%; /* 380 / 1260 */
	padding: 0 	1.5873015873015872%; /* 20 / 1260 */
	margin: 0;
}


/* Google Map Styles */
.fluid-map {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 ratio map */
	height: 0;
}
.fluid-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}


/*** Sidebar Columns Setup  ***/
aside.sidebar {
	float: left;
	width: 250px;
	margin: 0 50px 0 0;
	padding: 0;
}
div.sidebar-maincontent {
	float: right;
	/* set column width to be 100% minus the set 300px (250 wide and 50 right margin) for the sidebar column */
	width: -moz-calc(100% - 300px);
	width: -webkit-calc(100% - 300px);
	width: calc(100% - 300px);
	margin: 0; 
	padding: 0;
	text-align: left;
}

/* Sidebar Navigation */
ul.sidebar-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.sidebar-nav li {
	list-style: none;
	margin: 0;
	padding: 5px 10px;
	background-color: #17479E;
	border-bottom: 1px solid #113577;
}
ul.sidebar-nav li:hover,
ul.sidebar-nav li.active {
	background-color: #7491C5;
}
ul.sidebar-nav li:last-child {
	border-bottom: none;
}
ul.sidebar-nav li a {
	display: block;
	color: #fff;
	text-decoration: none;
}


/*** Footer Styles ***/
footer {
	background-color: #17479E;
	border-top: 8px solid #7491C5;
	width: 92.1875%; /* 1180 / 1280 */
	padding: 10px 3.90625%; /* 50 / 1280 */
	margin: 0;
	font-size: .85em;
	color: #fff;
}

footer a { color: #fff; text-decoration: none; }
footer a:hover { color: #7491C5; }

.footer-col-left { float: left; margin-right: 70px; }

.footer-col-middle { float: left; }
.footer-col-middle ul { list-style:none; margin:0; padding:0; }
.footer-col-middle ul li { float:left; padding:0; margin:0 10px; }

.footer-col-right { float: right; }



/*** Glyphicons Styles ***/
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-search:before { content: "\e003"; }
.glyphicon-chevron-right:before { content: "\e080"; }



/*****************************************************/
/*** Use CSS Media Queries to Make Site Responsive ***/
/*****************************************************/

@media only screen and (max-width:1080px) {
	.footer-col-left { width: 100% }
	.footer-col-middle { float: left; width: 70%; }
	.footer-col-middle ul li:first-child { margin-left:0; }
	.footer-col-right { float: right; width: 30%; text-align: right; }
}

/* Styles for smaller nav bar */
@media only screen and (max-width:940px) and (min-width: 642px) {
	.header-col-left { width:180px; float:left; margin:0 20px 0 0; padding:0; }
	.header-col-middle { 
		/* set column width to be 100% minus the set 280px (270 wide and 10 right margin) for the header-col-left */
		width: -moz-calc(100% - 200px);
		width: -webkit-calc(100% - 200px);
		width: calc(100% - 200px);
	}
	nav ul { width: 100%; }
	nav ul li { padding:0; display: table-cell; width: 1%; text-align: center; }
	nav ul li a { padding:0 9%; display: block; white-space: nowrap; font-size: 14px; line-height:70px; }

	.homepage-push { padding-top: 20px; }
}

@media only screen and (max-width:820px) {
	.homepage-col-pic { float:none; width: 100%; max-width: none; padding: 0; margin: 0; text-align: center; }
	.homepage-col-text { float: none; width: 100%; padding: 0; margin: 0; text-align: center; }
	/* Invert Heading Tags */
	.homepage-push { padding-top: 0; }
	.inverse { background-color:#17479E; color:#fff; padding: 15px 20px; margin: 0 0 20px 0; }
	#container-homepage .bold { font-weight: 300; }
	
}

@media only screen and (min-width:641px) {
	.hidden-desktop { display: none; }
}

/* Styles for tablet portrait views and below */
@media only screen and (max-width:640px) {
	
	/* Header Columns */
	.header-col-left { float: none; width: 100%; margin: 0; padding: 10px 0 0 0; }
	.header-col-left a { display: inline-block; }
	.header-col-middle { float: none; width: 100%; margin: 0; }
	.header-col-right { float: none; width: 100%; margin: 0; text-align: center; }
	/* .header-col-right { display: none; } */

	/* Main Nav */
	nav { margin:0; padding:0; }
	nav ul { list-style:none; margin:0; padding:0; border-left:none; border-right:none; }
	nav ul li { float:left; padding:0; margin:0; border-left:none; border-right:none; }
	nav ul li:hover { background-color:#113577; }
	nav ul li a { padding:0; font-size: 16px; line-height:normal; color:#fff; }
	nav ul li a:hover { background-color:#113577; color:#fff; }

	/* Sidebar Columns */
	div.sidebar-maincontent { float: none; width: 100%; margin: 0 0 50px 0; padding: 0; }
	aside.sidebar { float: none; width: 100%; margin: 0 0 20px 0; padding: 0; }

	/* Content Stuff */
	.cols2 { float: none; width: 100%; padding: 0 0 20px 0; margin: 0; }
	.cols3 { float: none; width: 100%; padding: 0 0 20px 0; margin: 0; }

	.contentbox-right { width:100%; float:none; margin:0 0 20px 0; text-align:center; }

	/* Footer Columns */
	.footer-col-left { float: none; width: 100%; margin: 0 0 15px 0; text-align: center; }

	.footer-col-middle { float: none; width: 100%; margin: 0 0 35px 0; }
	.footer-col-middle ul { list-style:none; margin:0; padding:0; border-top: 1px dashed #3362B3; }
	.footer-col-middle ul li { float:none; display: block; padding:2px 0; margin:0; border-bottom: 1px dashed #3362B3; }
	.footer-col-middle ul li:hover { background-color:#113577; }
	.footer-col-middle ul li a { display: block; padding:2px 6px; color: #fff; }

	.footer-col-right { float: none; width: 100%; margin:0 0 20px 0; text-align: center; }
	.footer-col-right > span { display: none; }
	.footer-col-right .footer-phone { background-color: #8AB03D; color: #fff; text-decoration: none; line-height: 20px; padding: 12px 15px; text-transform: uppercase; }	

}
