#wpadminbar {
	opacity: .3;
}

#wpadminbar:hover {
	opacity: 1;
}

body {
	padding: 0;
}


/* header */

#header_wrapper {
	
}

#header {
	
}

#branding {
	
}

.site-branding .site-title img {
	width: 300px;
	height: 100px;
	display: block;
}


/* header */
header.entry-header {
	background-repeat: no-repeat;
	background-size: cover;
}

header.title_padding {
	padding: 30px 0;
}

#primary-menu li {
	margin-bottom: 0;
}



/* main content */
h1 {
	line-height: 1.2em;
}

h2 {
	line-height: 1.2em;	
}

h3 {
	line-height: 1.2em;
}

h4 {
	line-height: 1.2em;
}

.mt-0 {
	margin-top: 0;
}

#main_wrapper {
	
}

#main {
	
}

#main #container {
	
}

#main .main-aside {
	
}

.hentry {
	margin: 0;
}

#hero_wrapper {
	position: relative;
	z-index: 20;
}

.home_hero_text_wrapper {
	display: table;
	height: 100%;
	vertical-align: middle;
	position: relative;
}

.home_hero_text_wrapper .home_hero_text {
	display: table-cell;
	height: 100%;
	vertical-align: middle;
}

.home_hero_text .hero_title {
	font-size: 26pt;
}

.home_hero_text .hero_text {
	font-size: 16pt;
	font-weight: 100;
}

p, ul, ol, li, pre, form, select, address, embed {
	margin: 0 0 20px 0;
	font-size: 16px;
	font-weight: 300;
}

.large {
	font-size: 130%;
}

.small, .caption {
	font-size: 80%;
}

li {
	margin-bottom: 10px;
}

ul li ul {
	margin-top: 10px;
}
	
img {
	max-width: 100%;
	height: auto;
	display: block;
}

#main_wrapper p:last-of-type {
	margin-bottom: 0;
}

.home_page .entry-content {
	padding-top: 30px;
}

.home_page .entry-content p:last-of-type {
	margin-bottom: 0;
}

.cleardiv {
	clear: both;
}


/* nav */

ul.menu {
	padding: 0;
}

.widget_pages ul li,
ul.menu li {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

ul.menu li a {
	padding: 0 5px;
}


/* columns */

.content_cols .content_wrapper {
	display: flex;
	flex-wrap: nowrap;
	align-content: space-between;
	align-items: flex-start;
	column-gap: 5%;
}

.content_cols .content_wrapper.valign_top {
	align-items: flex-start;
}

.content_cols .content_wrapper.valign_middle {
	align-items: center;
}

.content_cols .content_wrapper.valign_bottom {
	align-items: flex-end;
}

.content_2cols .content_col {
	width: 50%;
}

.content_2cols.width-narrowleft .content_col-first {
	width: 30%;
}
.content_2cols.width-narrowleft .content_col-second {
	width: 70%;
}

.content_2cols.width-narrowright .content_col-first {
	width: 70%;
}
.content_2cols.width-narrowright .content_col-second {
	width: 30%;
}

.content_3cols .content_col {
	width: 33%;
}

.content_4cols .content_col {
	width: 25%;
}



/* sidebar */

.sidebar_box_padding {
	padding: 20px;
}

.sidebar_box_padding p:last-of-type {
	margin-bottom: 0;
}


/* content sections */

.bottom_content_area {
	padding: 0;
	background-repeat: no-repeat;
	background-size: cover;
}

.bottom_content_padding {
	clear: both;
	height: auto;
	padding-top: 50px;
	padding-bottom: 50px;
	background-size: cover;
	background-position: center center;
}

.bottom_content_area.single_image img {
	display: block;
	max-width: none;
	width: 100%;
	height: auto;
}


/* blog */

.comments-link {
	padding-left: 30px;
}


/* forms */

input:not([type=submit]):not([type=file]):not([type=checkbox]), textarea {
	display: block;
	border: 1px solid #ccc;
	padding: 3px;
	width: 100%;
}

.wpcf7-form.sent .contact_form {
	display: none;
}




/* FAQ */

.faq_wrapper {
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.faq_wrapper:last-of-type {
	margin-bottom: 60px;
}

.faq_wrapper .faq-q {
	font-weight: bold;
	margin: 0;
	font-weight: bold;
	cursor: pointer;
}

.faq_wrapper .faq-a {
	margin-top: 10px;
	padding-left: 20px;
	display: none;
}

.faq_wrapper.open .faq-a {
	display: block;
}



/* footer */

footer#footer .widget {
	margin: 0;
}

footer#footer p:last-of-type {
	margin-bottom: 0;
}


/* let's get responsive! */

/* Desktops */
@media screen and (min-width: 1200px) {

	.desktop {
		display: block !important;
	}
	
	.mobile {
		display: none !important;
	}

	body {
		min-width:1200px;
	}

	header .site-branding, 
	#site-navigation .menu,
	.full-width #main, 
	.full-width #main #container, 
	#main_wrapper,
	.home_hero_text_wrapper,
	body.home #main #container,
	.content_wrapper {
		width: 1140px;
		margin: 0 auto !important;
		float: none;
	}
	
	body.home #main,
	body.page-template-template-page-fullwidth #main,
	body.page-template-template-page-fullwidth #main_wrapper {
		width: 100%;
	}
	
	#site-navigation.main-navigation ul {
		display: block !important;
	}
	
	ul.menu li {
		display: inline-block;
	}

	#mobile_menu_icon {
	}
	
	#site-navigation .menu li {
		float: left;
		position: relative;
	}
	
	#branding {
		width: 50%;
		float: left;
	}
	
	#branding .top_nav {
		width: 50%;
		float: right;
	}
	
	#site-navigation {
		clear: both;
	}

	#primary-menu li a {
		padding: 0 10px;
		height: 40px;
		line-height: 40px;
	}
	
	#primary-menu .sub-menu li a {
		padding: 10px 10px;
		height: auto;
		line-height: 1.2em;
	}
	
	.main-navigation ul ul a {
		width: 200px;
	}

	#site-navigation .menu li .sub-menu,
	#site-navigation .menu li .sub-menu li .sub-menu {
		display: none;
	}
	
	#site-navigation .menu li .sub-menu {
		position: absolute;
		width: 200px;
		background: #333;
		z-index: 100;
		padding: 0;
	}

	#site-navigation .menu li.hover .sub-menu {
		display: block;
	}
	
	#site-navigation .menu li:last-of-type.hover .sub-menu {
		right: 0;
	}

	.menu li .sub-menu li {
		display: block;
		float: none;
		width: 100%;
	}

	.main-navigation ul ul {
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		float: left;
		position: absolute;
		top: 100%;
		left: -999em;
		z-index: 99999;
	}

	/*
	.hero_item {
		position: relative;
		display: table;
		height: 100%;
		width: 100%;
		overflow: hidden;
		background-size: cover;
		background-position: center center;
	}
	
	.hero_item img.hero_image {
		visibility: hidden;
		display: none;
	}
	
	.home_hero_text_wrapper {
		position: relative;
	}
	*/
	
	#primary {
		float: left;
		width: 65%;
	}
	
	#primary.full_width {
		float: none;
		width: 100%;
	}
	
	#secondary {
		float: left;
		width: 30%;
		margin-left: 5%;
	}

	#secondary {
		float: left;
		width: 30%;
		margin-left: 5%;
	}
	
	#content.sidebar_pos-left #primary {
		float: right;
		width: 65%;
	}

	#content.sidebar_pos-left #secondary {
		float: left;
		width: 30%;
		margin-left: 0;
		margin-right: 5%;
	}

	.bottom_content_wrapper {
		clear: both;
		margin-bottom: 0;
	}
	
	.bottom_content_area.content_2cols.width-full .content_wrapper {
		width: 100%;
	}
		
	footer .footer_section {
		float: left;
		width: 30%;
		margin-left: 5%;
	}

	footer .footer_section.footer_section1 {
		margin-left: 0;
	}
	
	
}


/* mobile styles */
@media only screen and (max-width: 1199px) {
	
	.mobile {
		display: block !important;
	}
	
	.desktop {
		display: none !important;
	}
	
	.alignright, img.alignright,
	.alignleft, img.alignleft {
		display: block;
		float: none;
		margin: 0 auto 20px auto;
	}
	
	.header_links,
	#main,
	#secondary,
	h1.page_title,
	.bottom_content_wrapper .bottom_content_area,
	.faq_wrapper,
	.bottom_content_wrapper .entry-content,
	#footer {
		padding-right: 20px;
		padding-left: 20px;
		width: auto !important;
	}

	.bottom_content_area.single_image {
		padding-right: 0;
		padding-left: 0;
	}	
	
	.site-branding {
		width: 80%;
		margin: 10px 0 0 20px;
	}
	
	#site-navigation #mobile_menu_icon {
		height: 40px;
		width: 40px;
		line-height: 40px;
		padding-left: 50px;
		background: url(../img/mobile_menu_icon-dark.png) 5px center no-repeat;
		background-size: 40px 40px;
		display: block;
		cursor: pointer;
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		border-radius: 3px;
		position: absolute;
		top: 10px;
		right: 10px;
	}
	
	body.admin-bar #site-navigation #mobile_menu_icon {
		top: 60px;
	}
	
	#site-navigation .menu-main-nav-container {
		position: relative;
		margin-top: 9px;
		margin: 0;
	}
		
	#site-navigation .menu {
		display: none;
	}
	
	#site-navigation ul.menu li a {
		padding: 5px 0 5px 20px;
	}

	.menu li {
		float: none;
	}
	
	body.mobile_menu #primary-menu .sub-menu {
		display: none;
		padding-left: 20px;
	}
	
	#site-navigation .menu li a {
		display: block;
	}
	
	#menu-header-nav {
		display: table;
		margin: 0 auto;
	}
	
	#menu-header-nav li {
		display: inline-block;
	}

	#branding .top_nav {
		display: none;
	}
	
	/*
	#hero_wrapper .hero_item {
		background-image: none !important;
		color: #fff;
	}
	
	.hero_item img.hero_image {
		height: auto;
		width: 100%;
	}
	
	.home_hero_text {
		padding: 10px;
	}
	
	.home_hero_text .hero_title {
		font-size: 22pt;
		margin-bottom: 0;
	}
	
	.home_hero_text .hero_text {
		font-size: 14pt;
	}
	*/
	
	.cycle-pager {
		display: none;
	}

	.bottom_content_area.single_image img.mobile {
		display: none !important;
	}
	
	.bottom_content_area.single_image img.desktop {
		display: block !important;
	}
	
	.bottom_content_area.content_2cols.width-full {
		padding-left: 0;
		padding-right: 0;
	}
	
	#footer {
		text-align: center;
	}
	
}


/* small screen styles */
@media only screen and (max-width: 799px) {
	
	
	.content_cols .content_wrapper {
		flex-direction: column;
	}
	
	.content_cols.rev_mobile_cols .content_wrapper {
		flex-direction: column-reverse;
	}
	
	.content_cols .content_col {
		width: 100% !important;
	}
	
	.bottom_content_area.single_image img.mobile {
		display: block !important;
	}
	
	.bottom_content_area.single_image img.desktop {
		display: none !important;
	}

}