@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300italic,300,400italic,600,600italic,700,700italic);


/* CSS Reset
================================================== */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, 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;}body {line-height: 1;}ol, ul {list-style: none;}table {border-collapse: collapse;border-spacing: 0;}

/* #Basic Styles
================================================== */
* {box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box;}
body {font-size:18px; font-family: 'Source Sans Pro', sans-serif; line-height:1.4em; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
p { margin:0 0 15px 0;}

/* #Typography
================================================== */
h1, h2, h3, h4, h5 {line-height:1.4em; margin-bottom:8px;}
h1, .lgHeading {font-size:33px; color:#006a90;}
h2 {font-size:28px;}
h3 {font-size:24px; }
h4 {font-size:22px;}
h2.smaller {font-size: 22px;}
strong, b {font-weight:bold;}
em, i {font-style:italic;}
.center {text-align: center;}
.Haddress {height: 187px; margin-bottom: 20px;}
.Haddress img {vertical-align: middle; padding-top:30px;}
.small {font-size: 10px;}
.sr-only {display: none;}
/* #Links
================================================== */
a {text-decoration:none; color:#006a90; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s;}
a:hover {color:#004159;}

/* #YouTube/iFrame Video Wrapper
================================================== */
.videoWrapper {position: relative; padding-bottom: 56.25%; height: 0;}
.videoWrapper iframe {position: absolute; top: 0; left: 0; width: 100%;	height: 100%;}

/* #Lists
================================================== */
ul, ol {display:block; margin:10px 0 15px 40px;}
ol { list-style-type: decimal }
ul {list-style-type:disc;}
ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 }
li {display: list-item;}

/* #Images
================================================== */
img {max-width:100%; height:auto; border:none;}
#lightbox img {max-width:none;}
a img {-webkit-transition-duration: 0s; -moz-transition-duration: 0s; transition-duration: 0s;}
a:hover img {-moz-opacity: 0.80; opacity: 0.80; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=80); filter:progid:DXImageTransform.Microsoft.Alpha(opacity=80);}


/* #Buttons
================================================== */
.button, .frs-widget .frs-btn, .frs-dialog .frs-btn, .ion-form button {background-color:#004159; padding:9px 40px; color:#fff; font-size:18px; margin:10px 0; display:inline-block; cursor:pointer; height:auto; width:auto; border:none; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; text-align:center; -webkit-box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.35); -moz-box-shadow:0px 3px 7px 0px rgba(0, 0, 0, 0.35); box-shadow:0px 3px 7px 0px rgba(0, 0, 0, 0.35);}
.button:hover, .frs-widget .frs-btn:hover, .frs-dialog .frs-btn:hover, .ion-form button:hover {color:#fff; -moz-opacity: 0.90; opacity: 0.90; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=90); filter:progid:DXImageTransform.Microsoft.Alpha(opacity=90);}
.button + .button {margin-left:10px;}
.button:active {position:relative;top:1px;}

/* #Misc
================================================== */
.lt {float:left;}
.rt {float:right;}
.clr {clear:both;}
.posRel {position:relative;}
.posAbs {position:absolute;}
.height25 {height:25px;}
.system-message, .system-error-message {margin:0;}
img.content {float:left; margin:5px 12px 5px 0; border:1px solid #CCC; padding:5px;}
img.content-no {float:left; margin:5px 12px 5px 0;}
img.content-no-bio {float:left; margin:5px 35px 5px 0;}
iframe {width:100%;}
.caret-r {width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid #000; display:inline-block; margin-left:5px;}

hr {width:100%; display:block; margin:25px 0; border:none; background-color:#d7d7d7; height:1px; clear:both;}


/* #Twirl Downs
================================================== */
.twirl {color:#1a394e; font-size:22px; font-weight:400; padding:8px 35px 8px 15px; border:solid 1px #cccccc; background:#ffffff; position:relative; cursor:pointer;}
.twirl span {position:absolute; top:8px; right:15px; font-size:32px;}
.twirlContent {display:none; margin-bottom:15px;}

/* #Table
================================================== */
table { border-collapse: collapse; border-spacing: 0; max-width: 100%; background-color: transparent; }
.table { width: 100%; margin-bottom: 20px; }
.table thead th { vertical-align: bottom; }
.table td, .table th {  padding: 8px; line-height: 20px; text-align: left; vertical-align: top; border-top: 1px solid #dddddd; }
.table th { font-weight: bold; }
.table tr:first-child th { border-top: 0px; }
/* Striped table */
.table-striped tbody > tr:nth-child(odd) > td, .table-striped tbody > tr:nth-child(odd) > th { background-color: #f9f9f9; }
/* Bordered table */
.table-bordered { border: 1px solid #dddddd; border-collapse: separate; border-left: 0; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.table-bordered th, .table-bordered td { border-left: 1px solid #dddddd; }
/* Condensed Table */
.table-condensed th, .table-condensed td { padding: 4px 5px; }
/* Hover Table */
.table-hover tbody > tr:hover { background-color: #f3f3f3; }



/* #Layout
================================================== */
.container {width:1120px; margin:0 auto;}
#hdr {width:100%; padding:0 0 20px; background-color:#fff; border-bottom:3px solid #247b9c;}
#nav {width:100%; background-color:#707070; background-color:rgba(112,112,112,.8); text-align:center;}
#banner {width:100%; position:relative; height:400px; background:url(../images/banner.jpg) no-repeat center top; background-size:cover;}
#bannerSub {width:100%; position:relative; height:285px; background:url(../images/banner.jpg) no-repeat center center; background-size:cover;}
#bannerSub.military {width:100%; position:relative; height:285px; background:url(../images/military-banner.jpeg) no-repeat center center; background-size:cover;}

#main {width:100%; padding:35px 0;}
#ftr {width:100%; padding:35px 0; background-color:#707070; color:#fff;}

/* #Columns
================================================== */
.evenCol {width:50%;}
#main-lt {width:60%; float:left;}
#main-rt {width:35%; float:right;}
#split-lt {width:69%; float:left;}
#split-rt {width:27%; float:right; text-align:center;}
.lt-col {width:65%; float:left;}
.rt-col {width:30%; float:right;}


/* #Hdr
================================================== */
#hdr .rt {text-align:right;}
.logo {margin-top:20px; float:left;}
#hdrLinks {font-size:0; line-height:0;}
#hdrLinks a {display:inline-block; font-size:16px; line-height:1.5em; padding:3px 10px; color:#448fac; background-color:#f2f2f2; border:1px solid #e2e2e2; text-transform:uppercase;}
#hdrLinks a:hover {color:#fff; background-color:#448fac;}
#hdrLinks a + a {border-left:none;}
#hdr .google-icon {width: 35%;}
#phone {font-size:28px; color:#247b9c; padding-top:20px;}
#social img {margin:0 1px;}
#social {padding-top:10px;}


/* #Nav
================================================== */

/* Nav Height */
#nav > ul, #nav > ul > li, #nav > ul > li > a {height:50px; line-height:50px;}

/* Main Nav */
#nav ul {text-align:left; list-style:none; margin:0 auto; text-transform:uppercase; max-width: 950px;}
#nav > ul {font-size:0; line-height:0; width:1120px; margin:0 auto;}
#nav > ul > li {display:inline-block; position:relative; z-index:50; font-size:0; line-height:0;}
#nav > ul > li > a {font-size:17px; color:#fff; display:inline-block; padding:0 20px; -webkit-transition-duration: 0s; -moz-transition-duration: 0s; transition-duration: 0s;}
#nav > ul > li > a:hover, #nav > ul > li:hover > a {background-color:#006a90;}

/* Drop Down */
#nav > ul > li > ul {display:none; position:absolute; white-space: nowrap; z-index:75; text-align:left; background-color:#006a90; top:100%; left:0; min-width:100%;}
#nav > ul > li:hover > ul {display:block;}
#nav > ul > li > ul > li, #nav > ul > li > ul > li a {height:35px; line-height:35px; display:block;}
#nav > ul > li > ul > li > a {font-size:17px; color:#fff; padding:0 20px;}
#nav > ul > li > ul > li:hover {background-color:#247b9c;}

#nav select {display: none;  position:relative; min-width:200px; padding:4px 4px; font-size:18px;}

#nav ul li.login {float:right;}
#nav > ul > li.login > ul {left:auto; right:0;}
#nav > ul > li.login > a:after {content:''; width: 0; height: 0; border-style: solid; border-width: 10px 6px 0 6px; border-color: #c4c4c3 transparent transparent transparent; display:inline-block; margin-left:8px;}


/* #Callouts
================================================== */
#callouts {width:100%; margin-top:-210px; position:relative; z-index:1000;}
.callout {width:33.3333%; float:left; text-align:center;}
#callouts .container .callout:nth-child(1) {text-align:left;}
#callouts .container .callout:nth-child(3) {text-align:right;}

/* #home
================================================== */
#home-address .row { display: grid; grid-template-columns: repeat(auto-fill, clamp(250px, 33%, 400px)); justify-content: center; }
#home-testimonials {width:100%; background-color:#f2f2f2; border-top:1px solid #e2e2e2; padding:35px 0; font-size:16px;}
/* Home Blog */
#home-blog { padding: 80px 0; }
#home-blog .row { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 550px)); gap: 15px; }
#home-blog .col { }
#home-blog .post-title { margin: 0 0 15px; font-size: 24px; font-weight: bold; }
#home-blog .post-body .featured-image {height: 322px; overflow: hidden;}
.home-blog-post + .home-blog-post {margin-top:35px;}
.home-blog-post-left {float:left; margin:0 25px 0 0; width:34%;}

.homeAddress {font-size:18px; text-align:center; line-height:1.4em; background:#f2f2f2; padding:25px 0px; border:1px solid #e2e2e2; height: 100%;}
.homeAddress h4 {color:#006a90; margin-bottom:0;}
.homeAddress p {margin:0; font-size: 16px;}
.eBook {position: relative; z-index: 50; margin-top: -8px;}



/* #Ftr
================================================== */
#ftr {font-size:14px;}
#ftr h4 {font-size:18px;}
.address {display: inline-block; vertical-align:top;}
.address + .address {margin-left:40px;}
#ftr .rt {text-align:right;}
#ftr ul {display:block; margin:0; padding:0; list-style:none; text-transform:uppercase;}
#ftr .lt > ul > li {display:inline-block; vertical-align:top;}
#ftr .lt > ul > li + li {margin-left:40px;}
#ftr .lt > ul > li > a {font-size:18px; cursor:default;}
#ftr .lt > ul > li > a:hover {text-decoration:none;}
#ftr .rt img {margin:0 1px;}

#copy {width:100%; padding:25px 0; text-align:center; font-size:14px; color:#fff; background-color:#4d4849; line-height:1.3em;}
#copy a, #ftr a {color:#fff;}
#copy a:hover, #ftr a:hover {color:#fff; text-decoration:underline;}


/* #BC FAQ
================================================== */
.faq-question {margin:0px 0px 5px 0px; padding:0px; font-size:18px; font-weight:bold;}
.faq-answer {margin-bottom:20px;}

/* #Areas
================================================== */
ul.areas { margin:0px 10px; padding:0px; text-align:left;}
ul.areas li { list-style:none; float:left; width:16%; padding:4px 2%; margin:0px;}


/* #Box
================================================== */
.box {padding:25px; border-top:solid 1px #d7d7d7; background:#f2f2f2;}



/* #Rotator
================================================== */
.rotate {padding:0; position:relative; z-index:15; width:100%; height:681px; display:block; margin:0 auto;}
.rotate li:first-child { display:block; }
.rotate li { display:none; margin:0; position:absolute; list-style:none; left:50%; margin-left:-1000px;}
.rotate li img {max-width:none;}


/* #BC Blog
================================================== */
.blog-container {width:100%; margin:0 auto;}
.blog h2 {font-size:26px; color:#0f79a3;}
.blog a {color:#0f79a3;}

.side-panel h4 {font-size:20px;}
.BlogRecentPost li, .BlogTagList li, .BlogPostArchive li {font-size:15px; line-height:1.4em; margin:0 0 14px;}


/* #Browser Happy
================================================== */
.browsehappy {background: #ccc; color: #000; padding: 20px 0; text-align:center;}

/* #Additional
================================================== */
.lt.span30, .lt.span35, .lt.span40, .lt.span45, .lt.span50, .lt.span55, .lt.span60, .lt.span65, .lt.span70 { padding:0 4% 35px 0; }
.rt.span30, .rt.span35, .rt.span40, .rt.span45, .rt.span50, .rt.span55, .rt.span60, .rt.span65, .rt.span70 { padding:0 0 35px 4%; }
/*.lt.span30.Haddress { padding:0 0 35px 0 !important; }*/
.rt.span30.Haddress { padding:0 0 35px 0 !important;}
.span70 { width:65%; }
.span65 { width:60%; }
.span60 { width:55%; }
.span55 { width:50%; }
.span50 { width:45%; }
.span45 { width:40%; }
.span40 { width:35%; }
.span35 { width:30%; }
.span30 { width:25%; }
.layout .span33 { float:left; width:33%; padding:0 0% 35px 0; }
.layout .span33:last-child { float:right; padding-right:0; }
.lt.separator { border-right:solid 1px #d8d8d8; }
.rt.separator { border-left:solid 1px #d8d8d8; }

/* #Site Specific Styles
================================================== */




/* #Media Queries
================================================== */
@media screen and (max-width: 1060px) {
	.container {width:98%;}
	#nav ul     { display: none; }
	#nav select { display: inline-block; margin:10px 0;}
	#nav {text-align:center;}
}


@media screen and (max-width: 770px) {
	#main .container > .evenCol, #main-rt, #main-lt, #split-rt, #split-lt, .blog-container .post-list, .blog-container .side-panel, .rt-col, .lt-col {width:100%; float:none; margin-bottom:30px;}
	.blog-container .side-panel {text-align:center;}
	#callouts {margin-top:30px;}
	#banner {height:285px;}
	.home-blog-post-left {float:none; margin:10px 0 20px; width:100%; text-align:center;}

	#ftr .lt, #ftr .rt {width:100%; float:none; text-align:center;}
	#ftr .rt {margin-top:25px;}
	#ftr .height25 + .height25 {display:none;}

	.homeAddress + a {text-align:center; display:block;}
    /* #Additional
    ================================================== */
	.span70, .span65, .span30, .span35, .span60, .span55, .span50, .span45, .span40, .span33 { float:none; width:100%; padding-left:0!important; padding-right:0!important; margin-left:0!important; margin-right:0!important; border:none!important; text-align:left!important; }
}

@media screen and (max-width: 700px) {
	.logo {float:none;}
	#hdr .rt {text-align:center; float:none; width:100%;}
	#hdr {text-align:center;}
}

@media screen and (max-width: 600px) {
	#main {text-align:center;}
	#main ul, #main ol {text-align:left;}
	#main .blog-container .side-panel ul {text-align:center;}
	.button {padding:9px 0px; width:100%; margin:10px auto;}
	.button + .button {margin-left:0;}
	img.content, img.content-no {float:none; display:block; margin:15px auto;}
	.table td, .table th {text-align:center;}
	#phone {font-size:28px; color:#247b9c; padding-top:20px; margin: 0px 10px;}
	#hdrLinks a {display:inline-block; font-size:20px; line-height:1.5em; padding:3px 10px; color:#448fac; background-color:#f2f2f2; border:1px solid #e2e2e2; text-transform:uppercase;}
	#hdr .google-icon {width: 20%;}
	#welcome h1 {font-size: 28px;}
}

@media screen and (max-width: 480px) {
	.callout, #callouts .container .callout:nth-child(1), #callouts .container .callout:nth-child(3) {width:100%; float:none; text-align:center;}
	#ftr .lt > ul > li, .address {display:block;}
	#ftr .lt > ul > li + li, .address + .address {margin:25px 0 0;}
}

.ion-form {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align: left;

	.ion-form-group {
		display: block;
		margin-bottom: 1em;

		&.ion-is-required {
			label:first-child:after {
				display: inline-block;
				content: '*';
				color: #dc3545;
				margin-left: .5em;
			}
		}

		&.ion-is-invalid{
			color: #dc3545;

			input[type='text'],
			input[type='email'],
			input[type='tel'] {
				border-color: #dc3545;
			}
		}

		label {
			width: 100%;
			display:inline-block;
			max-width: 100%;
			margin-bottom:5px;
			font-weight:700;
			font-size:1em;
			border-bottom:none;
			color:#000;
		}

		input[type='text'],
		input[type='email'],
		input[type='tel'] {
			border-radius: 3px;
			width: 100%;
			padding: .5em .5em;
			border: 1px solid #cecece;
		}

		input[type='radio'],
		input[type='checkbox']{
			margin-right: 0.5em;
		}

		select {
			width: 100%;
			height: 2.5em;
		 	background-color: #fff;
			border: 1px solid #cecece;
		}

		textarea {
			width: 100%;
		 	height: 10em;
			border: 1px solid #cecece;
			border-radius: 3px;
			padding: .5em .5em;
		}
	}

	button {
		width: 100%;
		border: 1px solid #037fd9;
		background-color: #037fd9;
		color: #ffffff;
		padding: .5em .5em;
		transition: background-color .5s, background .5s, color .5s;

		&:hover{
			background-color: #ffffff;
			color: #037fd9;
		}
	}

	&.ion-form-horizontal {
		.ion-form-group{
			display: flex;
		}
	}
}
