/*Defaults:*/
BODY{
	font-size:17px;
	margin:0;
	line-height:1.4;
	-webkit-text-size-adjust: 100%;
}

A,
A:active,
A:visited{
	text-decoration: none;
}
A:hover{
	text-decoration: underline;
}
A.read-more{
	display:none;
}
ARTICLE{
	display:inline-block;
	width:100%;
}
ARTICLE P:last-of-type{
	margin-bottom:0;
}
ARTICLE P:first-of-type{
/*	this comes second so that it overrides in the case there is only one P*/
	margin-bottom:15px;
}
DIV{
}
H1, H2, H3 ,H4 , H5 , H6, .home-slider .soliloquy-container H2{
	display:inline-block;
	width: 100%;
	line-height:1;
	font-weight:600;
	margin:0;
}
H1, #recent-posts-plus-2 H2, .home h3.gform_title{
	font-size:165%;
}
H2, .home-slider .soliloquy-container H2{
	font-size:150%;
}
H3{
	font-size:135%;
}
H4{
	font-size:120%;
	margin-bottom: 7px;
}
.page .faq-title h4{ font-size: 120% !important; line-height: 1.4 !important; color: #000;}
H5{
	font-size:105%;
margin-bottom: 7px;
}
H6{
	font-size:100%;
margin-bottom: 7px;
}
HR, .home .soliloquy-container hr.lt767{
	display: inline-block;
	height:1px; 
	width: 100%;
	border: 0 none;
    margin: 25px 0;
}
.home .soliloquy-container hr.lt767{ margin: 20px 0px; }
P + HR{ margin-top: 10px; }
P:last-of-type + HR{ margin-top: 25px; }
P:first-of-type + HR {margin-top: 16px;}
IFRAME{
}
IMG{
	display:inline-block;
	vertical-align:middle;
    max-width: 100%;
    height: auto;

}
IMG.alignleft,
IMG.aligncenter,
IMG.alignright,
IMG.alignnone{
	display:inline-block;
}
IMG.alignleft{
	float:left;
	margin: 0 15px 15px 0;
}
IMG.aligncenter{
	float:none;
	margin: 0 auto;
}
IMG.alignright{
	float:right;
	margin: 0 0 15px 15px;
}
IMG.alignnone{
	float:none;
	margin: 0 15px;
}
INPUT{
	/*defined later with the TEXTAREA*/
}
INPUT[type="submit"],
BUTTON,
.button{
    font-family: "Open Sans", arial, sans-serif;
	padding:7px 12px 6px;
	font-size: 100%;
	border-radius:5px;
	font-weight:bold;
	border: none;
}
INPUT[type="submit"]:hover,
BUTTON:hover,
.button:hover{
	cursor:pointer;

}

BODY.page:not(.home) #middle INPUT[type="submit"],
BODY.page:not(.home) #middle BUTTON, 
BODY.page:not(.home) #middle .button {margin-top: 10px;}

LABEL{
	font-size:80%;
}
LABEL.screen-reader-text{
	display:none;
}
P{
	margin: 0 0 20px 0;
	font-size:100%;
}
ARTICLE P:last-of-type{
	margin-bottom:0;
}
ARTICLE P:first-of-type{
/*	this comes second so that it overrides in the case there is only one P*/
	margin-bottom:20px;
}
.home #middle .gform_widget{ padding: 6px 10px 10px !important; }
INPUT, SELECT, TEXTAREA{
    font-family: "Open Sans", arial, sans-serif;
	border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 2px 5px 3px;
}
UL, OL{
	-webkit-margin-before: 0px;
    -webkit-margin-after: 0px;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0px;
	margin:0 0 0 20px;
}
.entry-content UL{ margin: 0 0 20px 20px; } 
.colsWrapperFull UL {margin-bottom: 0;}
.home-slider .soliloquy-outer-container,
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside,
.container{
	margin: 0 auto;
	clear:both;
	display:table; 
}

.home-slider .soliloquy-outer-container,
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside{
	background: transparent;
	padding: 0px;
}

.widget{
	box-sizing: border-box;
	margin:0;
	padding:0;
}
#comments{
	display:none;
}
#sidebar{
	display:none;
}
/*.gt1280,
.gt960,
.gt767,
.gt480{
	display:inline-block !important;
}*/
.lt1280,
.lt960,
.lt767,
.lt480{
	display:none !important;
}

/*Gravity Forms Defaults:*/
UL.gform_fields{
    list-style: none;
    margin: 0;
    padding: 0;
	display:block;
    -webkit-margin-before: 0px;
    -webkit-margin-after: 0px;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    -webkit-padding-start: 0px;
}
UL.gform_fields LABEL{
	display:inline-block;
	margin: 15px 0 5px;
	font-size:100%;
}
UL.gform_fields LI#field_1_1 LABEL{
	margin-top:0;
}
UL.gform_fields LI{
	/* display:table-row; */
}
UL.gform_fields LI.gf_left_half,
UL.gform_fields LI.gf_right_half{
	width: calc( (100% - 10px) / 2);
	float:left;
}
UL.gform_fields LI.gf_right_half{
	float:right;
}
UL.gform_fields INPUT,
UL.gform_fields SELECT,
UL.gform_fields TEXTAREA{
	width:100%;
	/* padding:5px; */
	box-sizing: border-box;
}
UL.gform_fields .gfield_html {
	clear:left;
}
UL.gform_fields .gfield_description{
	font-size:80%;
}
UL.gform_fields SELECT{
	clear:right;
	display:block;
}
UL.gfield_checkbox,
UL.gfield_radio{
	padding-left:0;
	list-style-type:none;
}
UL.gfield_checkbox LI,
UL.gfield_radio LI{
	display:block;
}
UL.gfield_checkbox LI LABEL,
UL.gfield_radio LI LABEL{
	margin: 0;
	float:left;
	font-size:80%;
	width:calc(100% - 25px);
	height:16px;
	display:inline-table;
}
UL.gfield_checkbox LI INPUT,
UL.gfield_radio LI INPUT{
	width:20px;
	padding: 0;
	margin:0;
	margin-top:3px;
	float:left;
	clear:left;
	box-sizing: content-box;
}
.gform_body .gform_validation_container{
	display:none;
	/*honeypot*/
}
IMG#gform_ajax_spinner_2{ 
	display:none; 
/*remove spinner*/
}

/*WooCommerce Compatibility:*/
BODY.woocommerce-page .entry-title,
BODY.woocommerce-page .page-title{
	display:block;
}
.woocommerce .woocommerce-breadcrumb{
	margin-top:15px;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt.disabled,
.woocommerce #respond input#submit.alt:disabled[disabled],
.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt:disabled[disabled],
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled[disabled],
 .woocommerce input.button.alt.disabled,
 .woocommerce input.button.alt:disabled[disabled] {
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce .cart .button:hover,
.woocommerce .cart input.button:hover,
.woocommerce .cart .button:active,
.woocommerce .cart input.button:active,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:active,
.woocommerce a.button.alt:active,
.woocommerce button.button.alt:active,
.woocommerce input.button.alt:active {
	cursor:pointer;
}

/*Basic Styles and Colors: Header*/
HEADER#header{
	display:block;
}
HEADER#header .container{
	position:relative;
}
HEADER#header A{
	/*text-decoration:none;*/
}
HEADER#header .separator{
	display:inline-block;
}
HEADER#header .logo{
	display:inline-block;
	vertical-align:bottom;
	padding: 30px 0;
}
HEADER#header .logo IMG {
	display:block;
	max-width: 550px;
	width:100%;
}
HEADER#header .widget{
	font-weight:400;
	color:black;
}
HEADER#header .icons{
	display:flex;
	justify-content:space-between;
}

/*Basic Styles and Colors: Menu*/
NAV#menu #search{
	display:none;
}
NAV#menu{
}

/* Menu CSS */
ul.main-menu .sub-menu{ display: none; }
ul.main-menu li.menu-item-has-children:hover > .sub-menu{ display: block; }

ul.main-menu{
	display:flex;
	justify-content: space-between;
}
ul.main-menu > LI{
	display:inherit;
	position:relative;
}
ul.main-menu  > LI > A{
	line-height:1;
	text-decoration:none;
	font-weight:bold;
}
ul.main-menu LI:hover,
ul.main-menu LI.current_page_item, ul.main-menu LI.current_page_parent{

}
ul.main-menu UL.sub-menu{
	z-index:51;
	list-style:none;
}
ul.main-menu UL.sub-menu LI{
}
ul.main-menu UL.sub-menu LI:last-of-type{
	border-bottom:0 none;
}
ul.main-menu UL.sub-menu LI A{
	text-decoration:none;
	display:block;
	/*color:#000;
	background: #fff;*/
}

/*Basic Styles and Colors: Home */
.home-slider .soliloquy-outer-container{
	display:block;
	/*margin-bottom: 20px;*/
}
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside{

}
.home-slider .soliloquy-container .soliloquy-caption .caption{
	box-sizing:border-box;
	color:white;
	font-weight:bold;
}
.home-slider .soliloquy-container .soliloquy-caption H1{
	display:block;
	font-weight:bold;
}
.home-slider .soliloquy-container .soliloquy-caption A{
	display:block;
}
.home-slider .soliloquy-container .soliloquy-caption A:hover{
	text-decoration:underline;
}

.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box .text {line-height: 1.4;}



.home-slider .container .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.left span, .home-slider .fullw .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.left span {
 position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left:0;
  padding: 0 20px; 
}

.home-slider .container .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.right span, .home-slider .fullw .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.right span {
 position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right:0;
  padding: 0 20px; 
}

header .twocols.right.textright {
    width: 600px;
}
header .twocols.left {
    width: 460px;
}

.services .container{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.services .widget{
	overflow:hidden;
}
.services .widget.service-1,
.services .widget.service-2,
.services .widget.service-3{
	position:relative;
}


.services .widget A{
	text-decoration:none;
}
.services .widget IMG{
	width:100%;
	max-width:100%;
	height:auto;
}
.services .widget .widget-title{
	width:100%;
	display:block;
	color:white;
	font-weight:bold;
}
.services .widget.service-1 .widget-title,
.services .widget.service-2 .widget-title{
	position:absolute;
	bottom:0px;
}

.home-hr HR{
	margin: 0;
}

#middle .home-1{
	box-sizing:border-box;
}
.home .entry-title{
/*override all other page title definitions for the home page*/
}
#middle .home-2{
	box-sizing:border-box;
}
.home-1 .home-sidebar-1{
	width:100%;
	box-sizing:border-box;
}
.home-1 .home-sidebar-1 .widget-title{
	color:#000;
	font-weight:bold;
	display:block;
}
.home-sidebar-1 .post {
	 margin-bottom: 20px;
    border-bottom: 1px solid #000;
    padding-bottom: 20px;
}

.home-sidebar-1 .post:last-of-type {border-bottom: none; padding-bottom: 0; margin-bottom: 0;}
.home-sidebar-1 .post:first-of-type {border-bottom: 1px solid #000; padding-bottom: 20px;}
.home-1 .post .title{
	font-weight:bold;
}
.home-sidebar-1 .excerpt {margin: 9px 0;}

.home-1 .post .excerpt P, .home-sidebar-1 .post .excerpt P{
	margin-bottom:0;
}
.home-1 .post A.link,
.home-1 .post A.link:hover{
	font-weight:bold;
	text-decoration:none;
}
.home-2 .home-sidebar-2{
	width:100%;
	box-sizing:border-box;
	color:#000;
	border-radius:23px;
	padding:17px;
	border: 2px solid #000;

}
.home-2 .home-sidebar-2 .widget-title,
.home-2 .home-sidebar-2 .gform_title{
	text-align:center;
	display:block;
	font-weight:bold;
}
.home-sidebar-2 INPUT[type="submit"]{
	display:block;
	margin: 0 auto;
	border:1px solid #c0c0c0;
	border-radius:0;
	color:black;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#dcdcdc+0,d2d2d2+22,a6a6a6+83,9e9e9e+100 */
background: rgb(220,220,220); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(220,220,220,1) 0%, rgba(210,210,210,1) 22%, rgba(166,166,166,1) 83%, rgba(158,158,158,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(220,220,220,1) 0%,rgba(210,210,210,1) 22%,rgba(166,166,166,1) 83%,rgba(158,158,158,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(220,220,220,1) 0%,rgba(210,210,210,1) 22%,rgba(166,166,166,1) 83%,rgba(158,158,158,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dcdcdc', endColorstr='#9e9e9e',GradientType=0 ); /* IE6-9 */
}
.home-sidebar-2 INPUT[type="submit"]:hover{
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#9e9e9e+0,a6a6a6+17,d2d2d2+78,dcdcdc+100 */
background: rgb(158,158,158); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(158,158,158,1) 0%, rgba(166,166,166,1) 17%, rgba(210,210,210,1) 78%, rgba(220,220,220,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(158,158,158,1) 0%,rgba(166,166,166,1) 17%,rgba(210,210,210,1) 78%,rgba(220,220,220,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(158,158,158,1) 0%,rgba(166,166,166,1) 17%,rgba(210,210,210,1) 78%,rgba(220,220,220,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9e9e9e', endColorstr='#dcdcdc',GradientType=0 ); /* IE6-9 */
}

/*Basic Styles and Colors: Generic Middle and Backpages*/

/* BACK PAGE TOP */
.page_top {margin: 0 auto; width: 1100px;}
.page_top .container{
	position:relative;
	/*width:100%;*/
	height: 400px;
	overflow: hidden;
	clear: both;
	display: inline-block;
	padding-bottom: 0px !important;
}
.page_top .container img{
	width: calc( 100% - 40px );
   max-width: calc( 100% - 40px );
   position: absolute;
    top: calc( 50% - 0px );
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    height: auto !important;
    padding: 0px 20px;

}
BODY:not(.home) HEADER.header A{
	text-decoration:none;
	color: inherit;
}
BODY:not(.home) HEADER.header .entry-title{
	display:block;	
}
BODY:not(.home) ARTICLE{
/*all backpages' ARTICLEs*/
	box-sizing:border-box;
	padding:0;
}
BODY.page ARTICLE:last-of-type P:last-of-type{
	/* .page because that EXCLUDES search/404 */
	margin-bottom:0;
}
BODY.page ARTICLE:last-of-type P:first-of-type{
	/* .page because that EXCLUDES search/404 */
	margin-bottom:20px;
}

BODY.page-template-custom_posts_category ARTICLE:last-of-type P:first-of-type {
    margin-bottom: 9px;
}

BODY:not(.home) ARTICLE ARTICLE:last-of-type{
	border-bottom: 0;
	padding-bottom:0;
}

/*Basic Styles and Colors: 404 page*/
BODY.error404 HEADER.header{
}
BODY.error404 HEADER.header .entry-title{
}
BODY.error404 ARTICLE{
}

/*Basic Styles and Colors: Search Results Page*/
BODY.search HEADER.header{
}
BODY.search HEADER.header .entry-title{
}
BODY.search ARTICLE{
}
BODY.search.search-results ARTICLE ARTICLE, BODY.page-template-testimonials ARTICLE ARTICLE{
	  margin-bottom: 20px;
	  padding-bottom: 20px;
}
BODY.search.search-results ARTICLE ARTICLE:first-of-type{
	padding-top:0;
}
BODY.search.search-results ARTICLE ARTICLE:last-of-type, BODY.page-template-testimonials ARTICLE ARTICLE:last-of-type{
	padding-bottom:0;
	margin-bottom: 0;
}
BODY.search.search-results ARTICLE ARTICLE P{
	margin-bottom:0;
}
BODY.search:not(.home) ARTICLE ARTICLE HEADER.header{
}
BODY.search:not(.home) ARTICLE ARTICLE HEADER.header .entry-title{
}
BODY.page-template-testimonials #middle H3{ margin-top: 10px;}

.search-results .result-title {margin-bottom: 15px;}

.search-results .result-title A,
.search-results .result-title A:hover{
	font-weight:normal;
	display:block;
	text-decoration:none;
	color: inherit;
}
FORM[role="search"] INPUT[type="text"]{
	width:  calc( 100% - 100px);
	 padding:8px 0;	
}
FORM[role="search"] INPUT[type="submit"]{
	float:right;
	margin-top:0;
}
.page .envira-gallery-theme-captioned .envira-gallery-captioned-data {
    background: transparent;
    border: none;
    min-height: 55px;
}
/*Basic Styles and Colors: Custom Blog Feed Page: */
BODY.page:not(.home) ARTICLE ARTICLE.custom_post HEADER.header{
	padding: 0px 0px 9px;
	margin-top: 15px;
	margin-bottom: 0;
}
.page-id-284 .read-more{ display: none; }
.page-id-284 .more-link.special{ display: block; margin-top:11px; }
BODY.page:not(.home) ARTICLE ARTICLE.custom_post HEADER.header .entry-title{
	font-size: 140%;
	color: #000;
}
.page-id-284 hr {
    margin-bottom: 15px;
}
.blog_content .entry-title,
.blog_content .entry-title:hover{
}
.blog_content ARTICLE{

}
ARTICLE ARTICLE.custom_post P:last-of-type{
	margin-bottom:15px;
}
.custom_post .thumbnail{
}
NAV.custom-pagination,
NAV#nav-below{
	text-align:Center;
}
NAV.custom-pagination .page-numbers.page-num{
	clear:both;
	display:block;
}

/*Basic Styles and Colors: Single Post Page:*/
BODY.single ARTICLE{
}
BODY.single .entry-title A,
BODY.single .entry-title A:hover{
	text-decoration:none;
	display:block;
}
.single .entry-content .attachment-post-thumbnail,
.single .entry-content .wp-post-image{
	max-width:100%;
	height:auto !important;
	padding: 15px 0;
	display: table;
	margin: 0 auto;
}
.single .entry-meta,
.single FOOTER.entry-footer,
.single #nav-below{
	display:none;
}

/*Basic Styles and Colors: Contact Page:*/
.contact_left, .contact_right{
	width: calc( 50% - 10px );
	float: left;
	margin: 0px auto 20px;
}
.contact_right{
	float: right;
}
.contact_right INPUT[type="submit"]{
	margin-top: 15px;
}

/*Basic Styles and Colors: Footer*/
FOOTER#footer{
	display:block;
	clear:both;
	padding: 20px 0px; /* Change padding to 0px 0px 20px; on a contained footer */
}
FOOTER .container {
    /*padding-top: 20px;*/ /* This is for a contained Footer */
}
FOOTER#footer A{
	/*color:#000;
	text-decoration:none;*/
}
FOOTER#footer A:hover{
	/*color:#000;
	text-decoration:underline;*/
}
FOOTER#footer .widget{
	display:inline-block;
	width: 100%;
}
FOOTER#footer .widget-title{

	display:block;
	font-weight:bold;
}
FOOTER#footer .icons {
    display: flex;
    justify-content: space-between;
    width: 142px;
    margin: 20px auto;
}
FOOTER#footer .logos{
	display:flex;
	justify-content:space-between;
}


FOOTER#footer .separator{
	display:inline-block;
}
.twocols{ margin-bottom: 0px; }

.home-slider .soliloquy-container .soliloquy-prev, .home-slider .soliloquy-container .soliloquy-next{ display: none; }
.home-slider .soliloquy-container:hover .soliloquy-prev, .home-slider .soliloquy-container:hover .soliloquy-next{ display: block; }




/*Temp Structures*/
.cont-pad{ padding: 0; width: 100%; }
.colsWrapperFull{ margin-bottom: 20px; }
FOOTER#footer .container .colsWrapperFull { 
	margin-bottom: 0px;
}

/* Header Structures */
.header-onethird,.header-twothird,.header-onehalf{ width: 100%; display:table; }
.header-onethird .textwidget, .header-twothird .textwidget, .header-onehalf .textwidget{ padding: 44px 0px 10px; }
.header-twothird .twocols.left{ width: calc( ( 100% / 3 ) - ( 20px / 2 ) ); }
.header-twothird .twocols.right{ width: calc( ( ( 100% / 3) * 2 ) - ( 20px / 2 ) ); }

/* Nav Structures */ 
.fw{ display: table; width: 100%;}
.notfw{ display:table; width: 100%; }

/* Slider Structures */
.home-slider .soliloquy-container .soliloquy-caption.soliloquy-caption-bottom{ width: 100%; height: 100%; }

.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside{position: relative; width: 100%; height: 100%; display: flex;}
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box{ position: absolute; padding: 20px; display:table; }
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box H2{ width: 100%; }
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.left{ left: 20px; top: 20px; height: calc( 100% - 40px ); }
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.right{ left: initial; right: 20px; top: 20px; height: calc( 100% - 40px ); }
.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.bottom{ left: 20px; bottom: 20px; }



.home-slider .fullw .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.left{ left: calc( ( 100% - 1100px + 40px ) / 2  ); width: calc( ( 1100px - 40px ) / 3 ); }
.home-slider .fullw .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.right{ left: initial; right: calc( ( 100% - 1100px + 40px ) / 2  );  width: calc( ( 1100px - 40px ) / 3 ); }
.home-slider .fullw .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.bottom{ padding: 14px 20px 16px; left: 50%; top: 71%; width: auto; transform: translate( -50%, -50% ); -webkit-transform: translate( -50%, -50% ); -ms-transform: translate( -50%, -50% ); }

.home-slider .container .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.left{ width: calc( ( 100% - 40px ) / 3 ); }
.home-slider .container .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.right{ width: calc( ( 100% - 40px ) / 3 ); }
.home-slider .container .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.bottom{ width: calc( 100% - 40px ); }
.home-slider .container .soliloquy-outer-container{ padding: 0px 20px; }


/* Home Structures */
.twocols.onethird{ width: calc( ( 100% / 3 ) - ( 20px / 2 ) ); }
.twocols.twothird{ width: calc( ( ( 100% / 3) * 2 ) - ( 20px / 2 ) ); }
.twocols.onefourth{ width: calc( ( 100% / 4 ) - ( 20px / 2 ) ); }
.twocols.threefourth{ width: calc( ( ( 100% / 4) * 3 ) - ( 20px / 2 ) ); }



.textleft{ text-align: left !important; }
.textright{ text-align: right !important; }
.textcenter{ text-align: center !important; }
.textwidget{ position: relative; }
.textwidget img{ max-width: 100%; }

.textwidget H1.below, .textwidget H2.below , .textwidget H3.below , .textwidget H4.below, .textwidget H5.below, .textwidget H6.below{ text-align:center; margin: 10px auto; }


.textwidget H1.overlay{ position: absolute; padding: 10px; margin:0px; text-align: center; width: calc( 100% - 20px ); left: 0px; bottom: 0px; z-index: 2;}
.textwidget H2.overlay{ position: absolute; padding: 10px; margin:0px; text-align: center; width: calc( 100% - 20px ); left: 0px; bottom: 0px; z-index: 2;}
.textwidget H3.overlay{ position: absolute; padding: 10px; margin:0px; text-align: center; width: calc( 100% - 20px ); left: 0px; bottom: 0px; z-index: 2;}
.textwidget H4.overlay{ position: absolute; padding: 10px; margin:0px; text-align: center; width: calc( 100% - 20px ); left: 0px; bottom: 0px; z-index: 2;}
.textwidget H5.overlay{ position: absolute; padding: 10px; margin:0px; text-align: center; width: calc( 100% - 20px ); left: 0px; bottom: 0px; z-index: 2;}
.textwidget H6.overlay{ position: absolute; padding: 10px; margin:0px; text-align: center; width: calc( 100% - 20px ); left: 0px; bottom: 0px; z-index: 2;}

header.header {
    margin: 20px 0px 10px;
}
.home header.header, .home #recent-posts-plus-2 H2, h3.gform_title  {
    margin: 0px 0px 10px;
}
#middle {
    padding-bottom: 0px;
}
#middle .container{ padding-bottom: 20px; }
.home #middle .cont-pad :last-child {
    margin-bottom: 0px;
}
.home label.gfield_label {
    display: none;
}
.home .gform_body {
    float: left;
    width: calc( 100% - 100px );
}
.gform_footer.top_label {
    float: right;
}
.home UL.gform_fields INPUT {
    padding: 9px 5px 8px;
}
.gform_heading {
    margin-bottom: 15px;
}
BODY.page:not(.home) ARTICLE ARTICLE.custom_post .threefourth HEADER.header {
    margin-top: 0px;
}



/* EVENTS CALAENDAR CSS*/
div.table.em-calendar div.td.eventless-today, div.table.em-calendar div.td.eventful-today{
	background-color: rgba(132, 132, 132, 0.25);
}
div.table.fullcalendar div.td.month_name,
div.table.fullcalendar div.tr.days-names div.td{
	text-align:center; 
	height:20px;
	min-height:20px;
}
div.table.fullcalendar div.td{
	width: calc( ( 100% / 7 ) - 2px - 8px ); /*minus border and padding*/
	max-width: calc( ( 100% / 7 ) - 2px - 8px );
	display:inline-block;
	float:left;
	border: 2px solid #000;
	border-left: none;
	border-bottom: none;
	min-height:50px;
	padding:2px 4px;
}
div.table.fullcalendar div.tbody div.tr div.td LI {
	list-style: none !important;
}
div.table.fullcalendar div.tr div.td:first-of-type {
    border-left: 2px solid #000;
}

div.table.fullcalendar div.tbody div.tr:last-of-type div.td {
    border-bottom: 2px solid #000;
}


div.table.fullcalendar div.tr{
	min-height:56px;
	height:auto;
	display:flex;
}
HTML[data-useragent*="div.trident"] div.table.fullcalendar div.td,
HTML[data-useragent*="IE 10"] div.table.fullcalendar div.td{
	width: calc( ( 100% / 7 ) - 2px - 8px - 1px ); 
}
div.table.fullcalendar div.td.month_name{
	float:none;
	width: calc( 100% - 2px - 8px ); /*minus border and padding*/
	max-width: calc( 100% - 2px - 8px - 1px ); /*minus border and padding*/
	background: #b3923c;
}
div.table.fullcalendar div.tr.days-names div.td {
    background: #e3d2a3;
}
HTML[data-useragent*="div.trident"] div.table.fullcalendar div.td.month_name,
HTML[data-useragent*="IE 10"] div.table.fullcalendar div.td.month_name{
	float:none;
	width: calc( 100% - 2px - 8px - 7px); 
	max-width: calc( 100% - 2px - 8px - 7px ); 
}
.cal_event{ margin:10px; }

div.table div.tr.days-names{
	min-height:20px;
}
div.table div.thead div.tr{
	min-height:20px;
}
div.table.fullcalendar div.td.eventless-pre,
div.table.fullcalendar div.td.eventless-post{
	color: #c1babb;
}
a.em-calnav.full-link.em-calnav-prev,
a.em-calnav.full-link.em-calnav-next {
	color: #fff; 
	text-decoration: none;
	}
	a.em-calnav.full-link.em-calnav-prev:hover,
a.em-calnav.full-link.em-calnav-next:hover {
	color: #fff; 
	text-decoration: underline;
	}


.mobile_list{ display:none; }


.css-events-list .event .title {
    float: left;
    margin-right: 5px;
}
.css-events-list .event{ padding-bottom: 10px; width: 50%; float: left; } 
.css-events-list .date { font-style: italic; clear: both; }

.singleContentBlock H3 {
    clear: none;
    margin: 0px 0px 10px;
}

.singleContentMap{ float: right; width: calc( 50% - 20px ); }
.singleContentMap .em-location-map-container {width: 100% !important;}
.singleContentBlock {
    width: 50%;
    display: table;
}

.wrapBreak{ width: 100%; }
.wrapBreak H1, .wrapBreak H2, .wrapBreak H3, .wrapBreak H4, .wrapBreak H5, .wrapBreak H6 {
    width: auto;
    clear: none;
    float: left;
    padding-right: 5px;
}
BODY.page ARTICLE:last-of-type P:last-of-type + .colsWrapperFull{ margin-top: 20px; }
UL.gfield_radio LI INPUT[type="text"] {
    width: calc( 100% - 35px );
    clear: right;
    padding: 3px 5px;
}
BODY.page ARTICLE:last-of-type P:last-of-type + .envira-gallery-wrap{ margin-top: 20px; }
strong.ul-title { margin-bottom: -15px; display: block; }
.home-sidebar-2 H1{ color: #103d57; }
.home-sidebar-2{ text-align: center; margin-top: 20px; }
.home-sidebar-2 P:last-of-type {
    margin-bottom: 0 !important;
}
a.post-edit-link {
    display: none;
}

.home-sidebar-3{ text-align: center; }
.home-sidebar-3 H2{ color:#103d57; }
.home-sidebar-3 H2::before{ background: url( ../images/downarrow.png) no-repeat; content: " "; display: inline-block; width: 23px; height: 23px; background-size: 100%; margin-right: 8px; }
.home-sidebar-3 H2::after{ background: url( ../images/downarrow.png) no-repeat; content: " "; display: inline-block; width: 23px; height: 23px; background-size: 100%; margin-left: 10px; }

h2.overlay.light {
    background: transparent;
    color: white;
    font-size: 1.3vw;
    bottom: initial;
    padding: 0;
    width: 100%;
    top: 50%;
    transform: translateY( -50% );
    -ms-transform: translateY( -50% );
    -webkit-transform: translateY( -50% );
    line-height: 1.4;
    padding: 10px 0;
}

.service-1:hover H2, .service-2:hover H2, .service-3:hover H2, .service-4:hover H2, .service-5:hover H2, .service-6:hover H2, .service-7:hover H2, .service-8:hover H2, .service-9:hover H2, .service-10:hover H2 {
    /*background: #103d57; */
}
.page-id-86 #middle .entry-content iframe {
    border: 1px solid #000 !important;
}
	.page-id-566 img.gfield_captcha {
    margin: 10px 0;
}

.home-sidebar-1 img {
    margin: 0 auto;
    display: table;
}


/*Responsive Structures:*/
@media only screen and (min-width: 0px) {
/*Initial Structures load first:*/
	.container{
		width: calc( 100% - 120px );
	}
	.home-scroller-sec {
    width: 1060px;
   
}
	
	/*Structures: Header*/

	/*Structures: Menu*/
	ul.main-menu{		
		margin:0;
		padding:0;
		border-top: 2px solid #b7b7b7;
	}
	ul.main-menu > LI{
		margin:0;
	}
	ul.main-menu  > LI > A{
		padding:13px 0 20px;
		font-size:18px;
	}
	ul.main-menu UL.sub-menu{
		position:absolute;
		top:100%;
		left:calc( ( 100% - 180px ) / 2);
		width: 180px;
		padding:0;
		margin: 0;
	}
	ul.main-menu UL.sub-menu LI A{
		padding:10px;
		text-align:center;
		font-size:16px;
	}
	
	/*Structures: Home */


}
@media only screen and (max-width: 1400px) {
header .twocols.right.textright {
    width: calc( 50% - 10px );
    font-size: 1.5vw;
}
header .twocols.left {
    width: calc( 50% - 10px );
}
ul.main-menu > LI > A {
    font-size: 85% !important;
}
ul.main-menu UL.sub-menu LI A{ font-size: 70% !important; }
.header-onethird .textwidget, .header-twothird .textwidget, .header-onehalf .textwidget {
    padding: 34px 0px 10px;
}
}

@media only screen and (max-width: 1140px) {
	.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box H2{ font-size: 1.9vw; }
	.home-slider .fullw .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box.bottom{ padding: 10px 10px 12px; }
/*wide-screen desktop computers and high-resolution mobile devices*/
	/*.container, .page_top{
		width: 960px;
	}
	.page_top .container{ height: 346px; }
	*/
	.home-scroller-sec {
    width: 920px;
   
}

/* Slider Resp */

	
	.gt1280{
		display:none !important;
	}
	.lt1280{
		display:inline-block !important;
	}
}

@media only screen and (max-width: 979px) {
		body{ font-size: 16px; }
/*desktop computers and modern mobile devices*/
	/*.container, .page_top{
		width: 748px;
	}
	.home-scroller-sec {
    width: 708px;
   
}*/

/* Slider Resp */


/*.page_top .container {height: 266px;}*/
	/*Structures: Header*/
	
	/*Structures: Menu*/
	ul.main-menu  > LI > A{
		font-size:15px;
	}
	ul.main-menu UL.sub-menu LI A{
		font-size:14px;
	}
	
	
	.gt960{
		display:none !important;
	}
	.lt960{
		display:inline-block !important;
	}
		H1, H2, H3 ,H4 , H5 , H6 {line-height: 1.3;}
}

@media only screen and (max-width: 767px) {

.page-id-524 #middle .entry-content .twocols.left,.page-id-526 #middle .entry-content .twocols.left,
.page-id-528 #middle .entry-content .twocols.left,.page-id-530 #middle .entry-content .twocols.left,
.page-id-532 #middle .entry-content .twocols.left,.page-id-544 #middle .entry-content .twocols.left,
.page-id-546 #middle .entry-content .twocols.left,.page-id-548 #middle .entry-content .twocols.left,
.page-id-550 #middle .entry-content .twocols.left,.page-id-554 #middle .entry-content .twocols.left,
.page-id-556 #middle .entry-content .twocols.left{ margin-bottom:0;}
	

	.colsWrapperFull.full.specialhome + .colsWrapperFull, .colsWrapperFull.full.specialhome + .colsWrapperFull + .colsWrapperFull {
    width: 342px;
    max-width: 100%;
    margin: 0 auto 20px;
}
h2.overlay.light{ font-size: 25px; }
	.home-slider .soliloquy-container .soliloquy-caption .soliloquy-caption-inside .slide_box H2 {
    font-size: 2.9vw;
}
header .twocols.right.textright {
    width: 100%;
    font-size: 100%;
}
header .twocols.left{ width: 100%; }
	NAV#menu .container .notfw{ height: 20px; } 
	NAV#menu .fw{ height: 20px; }
		
	/* if NAV has borders rather than a background */	
	/*NAV#menu .container .notfw{ height: 0px; }*/ 
	/*NAV#menu .fw{ height: 0px; }*/
	/*NAV#menu .container .notfw{ border-bottom: none; }*/
	/*NAV#menu .fw{ border-bottom: none; }*/
	/*BODY.home NAV#menu .container .notfw, BODY.home NAV#menu .container .fw {border: none;}*/

	
		body{ font-size: 15px; }
/*Tablets*/
	/*.container, .page_top{
		width: 420px;
	}
	.home-scroller-sec {
    width: 380px;
   
}*/

	.container{ width: calc( 100% - 40px ); }

	H1, H2, H3 ,H4 , H5 , H6 {line-height: 1.4;}
	
	.header-onethird, .header-twothird, .header-onehalf {padding-bottom: 20px; padding-top: 20px;}
.header-onethird .textwidget, .header-twothird .textwidget, .header-onehalf .textwidget {padding: 0;}	
	
	
	/*Structures: Header*/
	HEADER#header .logo{
		max-width:100%;
		float:none;
		margin: 0 auto;
		display:table;
		padding: 0;
	}
	HEADER#header .widget{
		text-align:center;
		float:none;
		clear:both;
		width:100%;
	}
	
	/*Structures: Home */

.page_top .container {height: 142px;}

	#middle .home-1{
		width: 100%;
		float:none;
		border:0 none;
		display:inline-block;
		text-align:center;
	}
	
	.home-1 UL{
		display:table;
		margin: 0 auto 10px;
		text-align:left;
	}
	#middle .home-2{
		float:none;
		border:0 none;
		display:block;
		margin: 20px auto 0;
		text-align:center;
	}
	
	
	/*Structures: Contact Page:*/
	.contact_left, 
	.contact_right{
        width: 100%;
        float: none;
        clear: both;
        display: table;
	}
	.contact_right INPUT[type="submit"]{
	}
		
	/*Structures: Footer*/
	FOOTER#footer .widget-title{
	}
	FOOTER#footer .textwidget{ text-align: center; }
	FOOTER#footer .footer-1{
		width: 100%;
		float: none;
		margin: 0 auto 20px;
		padding:20px 0 0 0;
		text-align: center;
	}
	FOOTER#footer .footer-2{
		width: 100%;
		float: none;
		margin: 0 auto 20px;
		padding:0;
		text-align: center;
	}
	FOOTER#footer .footer-1 .left,
	FOOTER#footer .footer-1 .right{
		text-align:left;
	}
	FOOTER#footer .footer-1 .right{
		text-align:right;
	}
	FOOTER#footer .logos{
		max-width:420px;
	}

	FOOTER#footer .icons .icon{
		margin: 10px 0 0 0;
	}
	FOOTER#footer .separator {
		display:table-column;
	}
	FOOTER#footer .footer-1, FOOTER#footer .footer-2, FOOTER#footer .footer-3 {margin: 0; padding: 0;}	
	
    img.alignleft,
    img.alignright,
    img.alignnone,
    .misc_content {
        float: none;
        clear: both;
        display: table;
        margin: 10px auto;
    }
    .twocols.left,
    .twocols.right,
    .threecols.left,
    .threecols.middle,
    .threecols.right,
    .fourcols.left,
    .fourcols.middle,
    .fourcols.right,
    .fivecols.left,
    .fivecols.middle,
    .fivecols.right,
    .header-twothird .twocols.left,
    .header-twothird .twocols.right{
        float: none;
        clear: both;
        display: table;
        margin: 0px auto 20px;
        width: 100%;
    }
    
     .twocols.right,
    .threecols.right,
    .fourcols.right,
    .fivecols.right,
    .header-twothird .twocols.right {margin-bottom: 0;}

    .twocols.left UL,
    .threecols.left UL,
    .threecols.middle UL,
    .fourcols.left UL,
    .fourcols.middle UL,
	 .fivecols.left UL,
    .fivecols.middle UL {
        margin-bottom: 0px;
    }
.twocols IMG, .threecols IMG, .fourcols IMG, .fivecols IMG {
    display: table;
    margin: 0px auto;
    max-width: 100%;
}   

#header .textwidget > a > img {
    display: inline-block;
} 

#footer .textwidget > a > IMG {
    display: inline-block;
} 
    
    .contact_left,
    .contact_right {
        width: 100%;
        float: none;
        clear: both;
        display: table;
    }
    .contact_left {
        margin: 0px auto 20px;
    }	
	
	
	
	
	.gt767{
		display:none !important;
	}
	.lt767{
		display:inline-block !important;
	}
	.mobile_list #middle{ padding-bottom:24px; }
.mobile_list .events_outer{
	display:inline-block;
	width:100%;
}

.mobile_list .em-pagination{ display:none; }

.mobile_list .event {
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-bottom: 15px;
}
.singleContentMap{ float: none; width: 100%; margin-bottom: 20px; }
.singleContentBlock { width: 100%; display: inline-block; }
.css-events-list .event{ width: 100%; } 
	.desktop_calendar{ display:none;}
.mobile_list{ display:inline-block; width: 100%; margin-right: 0px; }
.mobile_list .event{
	width: 100%;
}
}

@media only screen and (max-width: 479px) {
.colsWrapperFull.full.specialhome + .colsWrapperFull, .colsWrapperFull.full.specialhome + .colsWrapperFull + .colsWrapperFull{ width: 100%; max-width:342px; }
		.colsWrapperFull.full.specialhome + .colsWrapperFull { width: 100%; }

		H1, H2, H3, H4, H5, H6, .home-slider .soliloquy-container H2{ line-height: 1.4; }
	body{ font-size: 14px; }
/*Phones and older mobile devices*/
	/*.container, .page_top{
		width: 300px;
	}
		.home-scroller-sec {
    width: 260px;
   
}*/
	/*Structures: Header*/

	HEADER#header .separator{
		display:table-column;
	}
	


	.home-1 UL{
		display:table;
		margin: 0 auto 10px;
		text-align:left;
	}
.page_top .container {height: 98px;}
	
	/*Structures: Footer*/
	FOOTER#footer .footer-1 .left,
	FOOTER#footer .footer-1 .right{
		text-align:center;
		float:none;
		width:100%;
	}
	FOOTER#footer .logos{
		max-width:300px;
		flex-wrap:wrap;
	}
	FOOTER#footer .logos A.logo:last-of-type{
		margin-left: calc( (100% - 125px) / 2 );
		margin-top:10px;
	}

	FOOTER#footer .icons .icon{
		margin: 10px 0 0 0;
	}
	FOOTER#footer .separator {
		display:table-column;
	}
	.gt480{
		display:none !important;
	}
	.lt480{
		display:inline-block !important;
	}
}