/*--------------------------------------------------
Non-Google Web Font Load
--------------------------------------------------*/
@font-face {
}
/*--------------------------------------------------
Global Body Elements
--------------------------------------------------*/
body {
	font: normal 0.9375em/1.75 "Montserrat", Arial, Helvetica, sans-serif;
	text-decoration: none;
	color: #555;
	font-weight: 400;
	position: relative;
	background: #fff;
	min-height: 100%;
}
body .bkgd {
	overflow: hidden;
}
section:not(#flexFeatures) { /*Allows for the parallax background to be visible*/
	background: #fff;
}
#top {
	min-height: 100%;
	position: relative;
}
.fullScreen {
	min-width: 100%;
	clear: both;
}
.wrap {
	max-width: 1200px !important;
	margin: 0 auto;
	clear: both;
}
*, .row *:after, *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
*:hover {
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
.clearfix:before, .clearfix:after {
	content: '';
	display: table;
	clear: both;
}
/*--------------------------------------------------
Scroll to Top Element
--------------------------------------------------*/
.backToTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	background: rgba(0,0,0,0.7);
	width: 40px;
	height: 40px;
	border-radius: 100px;
	display: none;
	text-align: center;
	z-index: 99999;
}
.backToTop:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 25px;
	line-height: 40px;
	color: #fff;
	content: '\f062';
}
.backToTop:hover {
	background: rgba(0,0,0,0.9);
	text-decoration: none;
}
/*--------------------------------------------------
Typography Elements
--------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
	font-family: 'Archivo Narrow', sans-serif;
	line-height: 1.25em;
	margin-bottom: 15px;
}
.activeBg h1, .activeBg h2, .activeBg h3, .activeBg h4, .activeBg h5, .activeBg h6 {
	color: #fff !important;
}
h1 {
	font-size: 2.5em;
}
#mainContainer h1.pageTitle {
	background: #fff;
}
.page-template-page-flexible-features #mainContainer h1.pageTitle {
	margin: 0px;
}
h2 {
	font-size: 2.25em;
}
h3 {
	font-size: 1.875em;
}
h4 {
	font-size: 1.5em;
}
h5 {
	font-size: 1.25em;
}
h6 {
	font-size: 1.125em;
}
p {
	margin: 0 0 30px;
	padding: 0;
}
p:empty {
	display: none;
}
p:last-of-type {
	margin: 0;
}
/*p:last-of-type + * {
	margin-top: 30px;	
}*/
/*br {
	display: block;
	width: 100%;
	margin-bottom: 20px;
}*/
strong {
	font-weight: 700;
}
/*--------------------------------------------------
Blockquote
--------------------------------------------------*/
blockquote {
	padding: 30px;
	background: #f9f9f9;
	margin: 0 0 30px;
	position: relative;
	clear: both;
}
blockquote::before {
	content: open-quote;
	font-size: 46px;
	height: 36px;
	margin: 0;
	position: absolute;
	top: 50%;
	left: 22px;
	padding: 10px;
	display: block;
	background: #e8e8e8;
	line-height: 38px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
blockquote p {
	border-left: solid 3px #ccc;
	padding-left: 30px !important;
	margin-bottom: 0;
}
/*--------------------------------------------------
Horizontal Rule
--------------------------------------------------*/
hr {
	padding: 30px 0px 0px 0px;
	margin: 0px 0px 30px 0px;
	border: none;
	border-bottom: solid 1px #ccc;
	clear: both;
}
/*--------------------------------------------------
Tables
--------------------------------------------------*/
/*--------------------------------------------------
Tables
--------------------------------------------------*/
table {
	width: 100%;
	padding: 0;
	margin: 0 0 30px;
	border: none;
}
/*--------------------------------------------------
List: Ordered & Unordered
--------------------------------------------------*/
ul, ol {
	margin: 0 0 30px 0px;
	padding: 0 0 0 30px;
	position: relative;
}
ul li, ol li {
	padding: 0;
	margin-bottom: 10px;
}
ul li:empty, ol li:empty {
	display: none;
}
li > ul, li > ol {
	margin-bottom: 0;
}
/*--------------------------------------------------
Links: General, Global, Read More, Pagination
--------------------------------------------------*/
a {
	text-decoration: none;
	position: relative;
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
a:hover, a:focus, a:active {
	outline: 0;
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
a.globalLink, a.read-more {
	padding: 10px 30px;
	margin: 0;
	color: #fff;
	font-weight: 400;
	display: inline-block;
	text-align: center;
	position: relative;
	border-radius: 50px;
}
a.globalLink:hover, a.read-more:hover {
	color: #fff !important;
}
a.globalLink:hover:before, a.read-more:hover:before {
	content: '';
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.15);
	border-radius: 50px;
}
a.globalLink + *, .row a.read-more + * {
	margin-top: 20px;
}
a.globalLink span {
	position: relative;
	z-index: 10;
}
/*--------------------------------------------------
Meta Data: Date & Categories
--------------------------------------------------*/
.metaData {
	display: inline-block;
	padding: 0;
	margin: 5px 0 0;
	font-weight: 600;
}
.break {
	display: inline-block;
	padding: 0 10px;
}
.categories, .tags, 
/*--------------------------------------------------
Featured Image Settings
--------------------------------------------------*/
.featuredImgContainer {
	max-height: 540px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.featuredImg {
	height: 0;
	padding-bottom: 36.25%;
	margin: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: block;
}
.home .featuredImg, .archive .featuredImg {
	padding-bottom: 56.25%;
	margin: 0 0 20px;
}
.featuredImgContainer .featuredImg, .archive .featuredImg {
	margin: 0px;
}
/*--------------------------------------------------
Global Container Width Settings
--------------------------------------------------*/
.row {
	padding: 0;
	position: relative;
}
.row.margin {
	margin: 0 -15px;
}
/*@media screen and (max-width:1240px) {
.row {
	padding: 20px;
}
#mainContainer .row {
	padding: 0px;
}
}*/
.row:before, .row:after {
	content: '';
	display: table;
	clear: both;
}
.col-100 {
	max-width: 100%;
	float: none;
}
.col-92 {
	max-width: 91.66%;
}
.col-83 {
	max-width: 83.33%;
}
.col-80 {
	max-width: 80%;
}
.col-75 {
	max-width: 75%;
}
.col-67 {
	max-width: 66.67%;
}
.col-58 {
	max-width: 58.33%;
}
.col-50 {
	max-width: 50%;
}
.col-42 {
	max-width: 41.66%;
}
.col-33 {
	max-width: 33.33%;
}
.col-25 {
	max-width: 25%;
}
.col-20 {
	max-width: 20%;
}
.col-17 {
	max-width: 16.66%;
}
.col-8 {
	max-width: 8.33%;
}
[class*="col-"] {
	float: left;
	display: block;
	padding: 0;
	margin: 0;
	position: relative;
	width: 100%;
	overflow: hidden;
}
.row.margin [class*="col-"], .row.margin li[class*="col-"] {
	padding: 0 0;
	margin: 0 0 30px;
}
[class*="col-"] .colContent {
	margin: 0;
	padding: 20px;
	position: relative;
}
.row [class*="col-"] .colContent, .row.margin [class*="col-"] .colContent {
	margin: 0;
}
/*--------------------------------------------------
Image Settings & Alignment
--------------------------------------------------*/
img {
	width: auto;
	height: auto;
	max-width: 100%;
	padding: 0px;
	margin: 0px 0px 30px;
	position: relative;
	display: block;
}
img[align=left] {
	margin: 0 30px 30px 0;
}
img[align=right] {
	margin: 0 0 30px 30px;
}
img[align=center] {
	margin: 0 auto 30px;
}
img.alignleft {
	float: left;
	margin: 0px 30px 30px 0;
}
img.alignright {
	float: right;
	margin: 0px 0 30px 30px;
}
img.aligncenter {
	float: none;
	margin: 0 auto 30px;
}
.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail {
	max-width: 100%;
	height: auto;
}
.alignleft {
	display: inline;
	float: left;
	margin-right: 15px
}
.alignright {
	display: inline;
	float: right;
	margin-left: 15px
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center
}
.left {
	float: left;
}
.right {
	float: right;
}
/*--------------------------------------------------
Global Element Centered Classes
--------------------------------------------------*/
.centerXY {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.centerY {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.centerX {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
/*--------------------------------------------------
iFrame & Embed Element s
--------------------------------------------------*/
embed, iframe, object {
	max-width: 100%;
}
.responsiveVideo {
	display: block;
	margin: 0;
	padding: 0 0 56.25% !important;
	position: relative;
	width: 100%;
}
.responsiveVideo iframe, li.video iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	border: none;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.youtube-player {
	position: relative;
	padding-bottom: 56.25%;
	margin: 0 !important;
	height: 0;
	overflow: hidden;
	width: 100%;
	background: #000;
}
.youtube-player div[data-id] {
	padding: 0 0 56.25%;
}
.youtube-player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	background: transparent;
}
.youtube-player .play {
	height: 72px;
	width: 72px;
	left: 50%;
	top: 50%;
	margin-left: -36px;
	margin-top: -36px;
	position: absolute;
	background: url(images/play-icon.png) no-repeat;
	cursor: pointer;
	z-index: 10;
}
.youtube-player img {
	bottom: 0;
	display: block;
	left: 0;
	margin: auto;
	max-width: 100%;
	width: 100%;
	position: absolute;
	right: 0;
	top: 0;
	border: none;
	height: auto;
	cursor: pointer;
	-webkit-transition: .4s all;
	-moz-transition: .4s all;
	transition: .4s all;
}
.youtube-player img:hover, .youtube-player .play:hover + img {
	-webkit-filter: brightness(75%);
	filter: brightness(75%);
}
.map {
	display: block;
	position: relative;
	padding: 0 0 36.25%;
	margin: 0;
	width: 100%;
}
.map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
/*--------------------------------------------------
Form Elements
--------------------------------------------------*/
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], select, textarea {
	width: 100%;
	font-family: inherit;
	font-size: 1em;
	padding: 20px;
	margin: 0px;
	border: solid 1px rgba(0,0,0,0.2);
	color: inherit;
	background: #fff;
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
.activeBg .gform_body input[type="text"], .activeBg .gform_body input[type="email"], .activeBg .gform_body input[type="url"], .activeBg .gform_body input[type="password"], .activeBg .gform_body input[type="search"], .activeBg .gform_body input[type="number"], .activeBg .gform_body input[type="tel"], .activeBg .gform_body input[type="range"], .activeBg .gform_body input[type="date"], .activeBg .gform_body input[type="month"], .activeBg .gform_body input[type="week"], .activeBg .gform_body input[type="time"], .activeBg .gform_body input[type="datetime"], .activeBg .gform_body input[type="datetime-local"], .activeBg .gform_body input[type="color"], .activeBg .gform_body textarea {
	color: #444;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="range"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, select:focus, textarea:focus {
	background: #f9f9f9;
	-webkit-transition: all 0.2s; /* Safari and Chrome */
	transition: all 0.2s;
}
input[type="button"], input[type="reset"], input[type="submit"] {
	border: none !important;
	color: #fff;
	padding: 20px 0px;
	font-size: 0.875em;
	line-height: 0.875em;
	text-transform: uppercase;
	border-radius: 0;
	background:#001d75;
}
form#searchform {
	position: relative;
	overflow: auto;
}
input[type="button"]:hover, input[type="button"]:active, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:active, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus {
	cursor: pointer;
}
#newsletter input[type=email] {
	width: 80%;
	float: left;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
}
#newsletter input[type=email] + input[type=submit] {
	width: 20%;
	float: left;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 0px;
}
/*--------------------------------------------------
Gravity Forms Plugin Elements
--------------------------------------------------*/
.gform_wrapper {
	max-width: 640px !important;
	margin: 0px !important;
}
#gform_wrapper_1 {
	max-width: 750px !important;
	margin: 0px !important;
}
#gform_wrapper_1 .gfield_label_before_complex {width: 28%;display: inline-block;vertical-align: middle;}
#gform_wrapper_1 .ginput_container_list {width: 70%;display: inline-block;vertical-align: middle;}
#gform_wrapper_1 .ginput_container_list thead {display: none;}
#gform_wrapper_1 .show-head .ginput_container_list thead {display: block;}
#gform_wrapper_1 .table-head {width: 72%;float: right;}
#gform_wrapper_1 .table-head li {list-style: none !important;font-weight: 700;display: block;width: 33.2%;padding: 0 15px 0 0;float: left;text-align: center;}
#gform_wrapper_1 .table-head ul {list-style: none !important;margin: 20px 0 !important;float: left;width: 100%;}
#gform_wrapper_1 table.gfield_list tr, #gform_wrapper_1 table.gfield_list tr.gfield_list_row_odd:first-child {padding-top: 0;margin: 0;border: none;}
#gform_wrapper_1 table.gfield_list td {display: table-cell;margin: 0;padding-top: 0;padding-bottom: 0;}
#gform_wrapper_1 ul.gform_fields.form_sublabel_below table.gfield_list td:after {display: none;}

div.ginput_complex {
	width: 100% !important;
}
.gform_body, .gform_footer {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	font-size: 0.875em !important;
	clear: none !important;
}
.gform_wrapper .top_label div.ginput_container {
	margin: 0px !important;
}
.gform_body li {
	margin: 0px 0px 0px !important;
}
.ginput_container_name span {
	padding-right: 0px !important;
	margin-right: 2% !important;
	width: 48% !important;
}
.ginput_container_name span + span {
	width: 48% !important;
}
.gform_wrapper textarea {
	padding: 20px !important;
}
.ginput_container_name span:nth-of-type(2) {
	margin-right: 0px !important;
}
.gform_wrapper ul.gform_fields li.gfield {
	padding-right: 0px !important;
	margin-bottom: 15px !important;
}
.gform_wrapper textarea.medium {
	height: 180px !important;
}
.gform_wrapper .top_label li.gfield.gf_left_half, .gform_wrapper .top_label li.gfield.gf_right_half {
	display: -moz-inline-stack;
	display: inline-block;
	vertical-align: top;
	width: 49% !important;
	padding-right: 16px;
	float: none;
}
.gform_wrapper .top_label li.gfield.gf_left_half {
	margin-right: 2% !important;
}
.gform_body label .gfield_required {
	display: inline-block !important;
}
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
	padding: 15px !important;
}
.gform_wrapper.gf_browser_gecko select {
	padding: 17px 20px !important;
	line-height: inherit !important;
}
.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type="submit"] {
	width: 100% !important;
}
.g-recaptcha {
	-webkit-transform-origin: left top;
	transform-origin: left top;
}
/*--------------------------------------------------
Jquery Enabled Custom Select Form Elements
--------------------------------------------------*/
.select-hidden {
	display: none;
	visibility: hidden;
	padding-right: 10px;
}
.select {
	cursor: pointer;
	display: inline-block;
	position: relative;
	font-size: 13px;
	color: #999;
	height: 50px;
	width: 100%;
}
.select-styled {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #fff;
	padding: 15px;
	-moz-transition: all 0.2s ease-in;
	-o-transition: all 0.2s ease-in;
	-webkit-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
	border-radius: 0px;
	border: solid 1px #ccc;
	text-align: left;
	font-size: 0.875em;
	line-height: 20px;
}
.select-styled:after {
	content: "";
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-color: #ccc transparent transparent transparent;
	position: absolute;
	top: 55%;
	right: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.select-styled:hover {
	background-color: rgba(0,0,0,0.05);
}
.select-styled:active, .select-styled.active {
	background-color: rgba(0,0,0,0.05);
}
.select-options {
	display: none;
	position: absolute;
	top: 105%;
	right: 0;
	left: 0;
	z-index: 999;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
.select-options li {
	margin: 0;
	padding: 15px;
	border-top: 1px solid #e8e8e8;
}
.select-options li:hover {
}
.select-options li {
	display: block;
	padding: 10px 15px;
	color: #fff;
	-moz-transition: all 0.15s ease-in;
	-o-transition: all 0.15s ease-in;
	-webkit-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
}
.select-options li a:hover {
	color: #003451;
	background: #fff;
}
.select-options li[rel="hide"], .select-options li:first-of-type {
	display: none;
}
/*--------------------------------------------------
Blog Pagniation Elements
--------------------------------------------------*/
.pagination {
	clear: both;
	text-align: center;
}
.pagination .page-numbers {
	display: inline-block;
}
.pagination a, .pagination a:hover, .pagination.active a, .pagination.disabled {
	cursor: pointer;
	padding: 12px;
	padding: 0.75rem;
	color: #fff;
	text-decoration: none;
}
.pagination .current {
	cursor: pointer;
	padding: 12px;
	padding: 0.75rem;
}
.pagination a:hover, .pagination.active a {
}
/*--------------------------------------------------
Widgets Styles
--------------------------------------------------*/
[class*="widget_"] ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
[class*="widget_"] ul li {
	margin: 0;
	padding: 0;
	border-top: solid 1px #ccc;	
}
[class*="widget_"] li.page_item_has_children a + ul {
	border-top: solid 1px #ccc;	
}
[class*="widget_"] ul li:first-child{
	border: none;
}
[class*="widget_"] ul li a {
	display: block;
	padding: 10px 20px 10px 0px;
	position: relative;
	font-size: 1em;
}
[class*="widget_"] ul li a:before {
	content: '\f105';
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-size: 0.875em;
	line-height: 0.875rem;
	display: block;
	color: #444;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
[class*="widget_"] ul li a:hover:before {
	right: 15px;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
[class*="widget_"] ul li a:hover {
	background: rgba(0,0,0,0.2);
	padding-left: 10px;
}
.widget_calendar {}
.widget_calendar caption {
	text-align: left;
	padding: 15px 0;
	font-size: 1.125em;
	font-weight: 600;
}
.widget_calendar tr {
	text-align: center;
}
.widget_calendar td a {
	display: block;
	background: rgba(0,0,0,0.05);
}
.widget_calendar td a:hover {
	background: rgba(0,0,0,0.8);
}
.widget_calendar #today {
	font-weight: 700;
}

.widget_custom_html {}
.gform_widget {}
.widget_recent_comments {}
.widget_search {}
.widget_tag_cloud {}
.widget_text {}
.widget_media_video {}

/*--------------------------------------------------
The Event Calendar Plugin // Shortcode Elements
--------------------------------------------------*/
ul.ecs-event-list {
	list-style-type: none;
}
ul.ecs-event-list li.ecs-event {
	background: #216620;
	max-width: calc(33.33% - 15px);
	width: 100%;
	margin: 0 0 0 20px;
}
ul.ecs-event-list li.ecs-event:first-child {
	margin-left: 0;
}
ul.ecs-event-list li.ecs-event a {
}
ul.ecs-event-list li.ecs-event a img {
}
ul.ecs-event-list li.ecs-event h4 a {
}
ul.ecs-event-list li.ecs-event .duration.time {
}
ul.ecs-event-list li.ecs-event .duration.time .tribe-event-time {
}
ul.ecs-event-list li.ecs-event .duration.time .timezone {
}
ul.ecs-event-list + .ecs-all-events {
}

/*--------------------------------------------------
Mobile Resposive > 1024px
--------------------------------------------------*/
@media screen and (max-width:1024px) {
body {
	font: normal 0.9375em/1.5 "Montserrat", Arial, Helvetica, sans-serif;
}
.single #mainContainer h1 {
	margin: 0 0 30px;
}
h2 {
	font-size: 2em;
}
h3 {
	font-size: 1.675em;
}
h4 {
	font-size: 1.3em;
}
h5 {
	font-size: 1.15em;
}
h6 {
	font-size: 1em;
}
.featuredImgContainer .featuredImg {
	padding-bottom: 46%;
}
.single .featuredImgContainer {
    margin: 0 -30px 30px;
}
#mainContainer .row.margin {
	padding: 0px;
}
#gform_wrapper_1 .table-head li {padding: 0 9px 0 0;}
}

@media screen and (max-width:767px) {
.row article[class*="col-"], .row.margin article[class*="col-"], #mainContent [class*="col-"] {
	max-width: 100%;
	margin: 0 0 30px;
	height: auto;
}
.row article[class*="col-"]:last-of-type {
	margin: 0px;
}
footer [class*="col-"] {
	max-width: 100%;
}
}
