/*
Theme Name: Bills & Stoll
Author: Monster Design Co.
Author URI: http://monsterdesignco.com
Description: Custom Theme for Bills & Stoll

/* ------------------- FONTS -------------------

	font-family: 'Raleway', sans-serif;

*/

/* YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) - http://cssreset.com */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

/* ------------------- BASIC LAYOUT ------------------- */

body {
	color: #666666;
	font-weight: 400;
	font-family: 'Raleway', sans-serif;
	letter-spacing: .05em;
}

header {
	padding: 20px 1.5rem;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 99999999;
	background: url(images/header-bg.png) repeat-x;
	background-size: auto 100%;
}

.sub header {
	position: relative;
	top: 0;
	width: auto;
	z-index: 99999999;
	background: #fff;
	border-bottom: 1px solid #d6d6d6;
	padding: 20px 1.5rem 13px;
}

header.fixed {
	position: fixed;
	width: 100%;
	z-index: 999999999;
	background: #fff;
	border-bottom: 1px solid #d6d6d6;
	display: none;
	padding: 20px 1.5rem 13px;
}


header.fixed .logo img {
	width: 220px;
}

.announcement-banner {
	background: #00A7E1;
	color: #fff;
	text-align: center;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
	line-height: 1.3;
}

.announcement-banner a, .announcement-banner a:hover {
	color: #fff;
	font-weight: 700;
}

.announcement-banner strong {
	color: #fff;
}

.logo {
	position: relative;
	z-index: 99999;
}

.logo img {
	width: 240px;
}

nav {
	padding: 10px 0 0;
	float: right;
}

nav ul {
	padding: 0;
}

nav ul li {
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: .8125em;
	padding: 0 0 0 30px;
	position: relative;
	z-index: 99999;
	color: #fff;
}

nav ul li a {
	text-transform: uppercase;
	position: relative;
	z-index: 99999;
	color: #fff;
	font-weight: 600;
	padding-bottom: 6px;
	font-style: normal;
	
}

.fixed nav ul li a, .sub header nav ul li a {
	color: #404041;
}

.fixed nav ul li ul li a {
	color: #fff;
}


.menu-item.button {
	height: auto !important;
	padding: 0 0 0 30px !important;
	background: transparent !important;
}

.menu-item.button a {
	padding-left: 1.25em;
	padding-right: 1.25em;
	height: 35px;
	background: #00A7E1;
	font-size: .8125em;
	padding-top:6px;
	border-radius: 3px;
	color: #fff !important;
}

.menu-item.button a:hover {
	color: #fff !important;
}

.button ul.sub-menu {
	position: absolute !important;
	left: 0 !important;
	top: 26px !important;
	opacity: 0 !important;
	z-index: 999 !important;
	height: 0 !important;
	overflow: hidden !important;
	width: 100% !important;
	padding: 0 0 0 30px !important;
	bottom: 30px !important;
	-webkit-transition: all 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 0s !important;
	-moz-transition: all 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 0s !important;
	-ms-transition: all 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 0s !important;
	-o-transition: all 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 0s !important;
	transition: all 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 0s !important;
}

nav ul li:hover ul.sub-menu {
	top: 30px !important;
	opacity: 1 !important;
	height: 87px !important;
}

nav ul .button {
	position: relative;
	top: -4px;
}

nav ul li ul.sub-menu li {	
	display: block !important;
	text-align: center !important;
	border-bottom: 1px solid #00A7E1 !important;
	background: #86A7B9 !important;
	padding: 0 !important;
}

nav ul li ul.sub-menu li a {
	padding: 10px 0 !important;
	text-transform: none !important;
	color: #fff !important;
	display: block !important;
	background: transparent !important;
	height: auto !important;
}

nav ul li ul.sub-menu li:last-of-type {
	border: none !important;
}

nav ul li ul.sub-menu li:first-of-type a {
	padding-top: 15px !important;	
}
/*

.current-menu-item a {
	border-bottom: 2px solid #00A7E1;
}
*/

nav a:hover {
	color: inherit !important;
	border-bottom: 2px solid #00A7E1;
}

.fixed nav a:hover, .sub header nav a:hover {
	color: #404041 !important;
	}

nav ul li ul li a:hover {
	border-bottom: none;
}

.fixed nav ul li ul li a:hover {
	color: #fff !important;
}

.fixed nav ul li .button:hover {
	color: #fff !important;
}

.hero {
	position: relative;
}

.top-hero .hero-body {
	z-index: 9999999;
	background: rgba(0,0,0,.25)
}

.top-hero .title {
	font-size: 2.8em !important;
}

.top-hero .subtitle {
	font-size: 1.5em !important;
}

#slider, .slide {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.slide, .hero {
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-position: center center;
}

.is-success, .is-primary {
	background-color: #fff !important;
}

.hero-body {
	text-align: center;
}

.title:not(.is-spaced) + .subtitle {
    margin-top: -1rem;
}

.whitebox {
	background: #fff;
	width: 90%;
	max-width: 750px;
	margin: 0 auto;
	padding: 60px 30px 50px;
}

.whitebox * {
	color: #666 !important;
}

.service-box {
	background: #E6E6E6;
	padding: 50px;
	text-align: center;
	position: relative;
}

.service-box img {
	margin-bottom: 10px;
}

.service-box a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99;
}

#accordion h3 {
	cursor: pointer;
	padding-top: 50px;
	margin-top: 50px;
	padding-bottom: 4px;
	border-top: 1px solid #E6E6E6;
	background: url(images/acc-plus.png) no-repeat right 46px;
	background-size: 38px 38px;
}


#accordion h3:first-of-type {
	padding-top: 4px;
	margin-top: 0;
	border-top: none;
	background: url(images/acc-plus.png) no-repeat right center;
	background-size: 38px 38px;
}

#accordion .ui-accordion-header-active {
	background: url(images/acc-minus.png) no-repeat right 46px;
	background-size: 38px 38px;
}

#accordion .ui-accordion-header-active:first-child {
	background: url(images/acc-minus.png) no-repeat right center;
	background-size: 38px 38px;
}

.blue-box {
	padding: 10px;
	background: #86A7B9;
	color: #fff;
}

.blue-box.withpad {
	padding: 30px;
}

.blue-box h3 {
	color: #666666;
}

.blue-box hr {
	border: none;
	border-bottom: 1px solid #fff;
	margin: 35px 0;
}

.full-height {
	height: 100%;
}

.full-link {
	
}

.window {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.7);
	z-index: 9999999999;
	display: none;
}

.service-desc {
	background: #86A7B9;
	color: #fff;
	padding: 60px 30px 50px;
	width: 90%;
	max-width: 750px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%); /* IE 9 */
	-webkit-transform: translate(-50%,-50%); /* Chrome, Safari, Opera */
	-moz-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
}

.service-desc .close {
	position: fixed;
	right: 20px !important;
	top: 20px;
	width: 30px !important;
	height: 30px;
	left: auto;
	font-size: 1.5em;
	color: #fff;
}

.service-desc .close:hover {
	color: inherit !important;
}

.management h6 {
	margin: 15px 0 0;
	text-align: center;
}

.management img {
	margin-top: 10px;
}

.social {
	background: #E6E6E6;
	padding-top: 1.5rem !important;
	padding-bottom: 1.5rem !important;
	text-align: center;
	line-height: 1;
}

.social img {
	width: 32px;
	height: 32px;
	display: inline-block;
}

.social a {
	display: inline-block;
}

footer p {
	text-transform: uppercase;
	font-size: .75em;
	margin-bottom: 30px !important;
	margin-bottom: 40px !important;
}

.blue-box :first-child {
	margin-top: 0;
}

.mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #04A6E1;
	z-index: 999999999999999999;
	display: none;
	bottom: 0;
}

.mobile-menu nav {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	padding: 0;
	width: 90%;
	transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%); /* IE 9 */
	-webkit-transform: translate(-50%,-50%); /* Chrome, Safari, Opera */
	-moz-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
}


.mobile-menu ul li, .mobile-menu ul li.prevent a {
	text-align: center;
	list-style-type: none;
	font-weight: 700;
	text-transform: uppercase !important;
	display: block;
	padding: 0;
	margin: 10px 0;
	font-size: 1em;
	color: #666666;
}

.mobile-menu ul li a {
	color: #fff;
	font-size: 1.25em;
	text-transform: none !important;

}

.mobile-menu a:hover {
	color: #fff !important;
}

.mobile-menu ul li.prevent a:hover {
	color: #666666 !important;
	border-bottom: none;
}

.mobile-menu ul {
	margin: 30px 0;
}

.mobile-menu h6 {
	margin-top: 0;
}


.mobile-menu li a {
	color: #fff;
}

.close-link {
	color: #fff;
	position: absolute;
	right: 50px;
	top: 50px;
	font-size: 1.25em;
	z-index: 9999999;
}

.menu-btn {
	color: #fff;
	font-size: 1.25em;
	display: none;
	float: right;
	padding: 0;
	z-index: 9999;
	position: relative;
	top: -10px;
}

.fixed .menu-btn, .sub header .menu-btn {
	color: #404041;
	top: 0;
}

.menu-btn:hover {
	color: #fff !important;
	border: none !important;
}

.fixed .menu-btn:hover, .sub header .menu-btn {
	color: #404041 !important;
	border: none !important;
}

input[type=text] {
	border: 1px solid #E6E6E6;
	background: #F2F2F2;
	padding: 12px 20px !important;
	width: 100% !important;
	font-size: .9375em !important;
}

textarea {
	border: 1px solid #E6E6E6 !important;
	background: #F2F2F2 !important;
	padding: 12px 20px !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	font-size: .9375em !important;
}

label {
	display: none !important;
}

form, .gform_confirmation_message {
	margin-top: 35px !important;
}

input[type=submit] {
	background: #00A7E1;
	border-radius: 3px !important;
	color: #fff;
	font-size: .8125rem !important;
	text-transform: uppercase;
	font-weight: 600;
	padding-left: 1.25em;
	padding-right: 1.25em;
	height: 33px;
	border: none;
}

input[type=submit]:hover {
	color: #fff !important;
}

.blue-box a {
	color: inherit !important;
}

/* ------------------- TEXT STYLES ------------------- */

h1, h1.title {
	text-transform: uppercase;
	font-size: 2.3rem;
}

h2 {
	font-size: 1.5rem;
	font-weight: 700;
	position: relative;
	text-align: center;
	margin-bottom: 55px;
	text-transform: uppercase;
}

h2::after {
	content: " ";
	width: 50px;
	border-bottom: 2px solid #00A7E1;
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	-ms-transform: translateX(-50%); /* IE 9 */
	-webkit-transform: translateX(-50%); /* Chrome, Safari, Opera */
	-moz-transform: translateX(-50%);
	-o-transform: translateX(-50%);
}

h3 {
	font-size: 1.3125em;
	font-weight: 700;
	color: #00A7E1;
	text-transform: uppercase;
}

h4 {
	font-size: 1.125em;
	font-weight: 700;
}

h5 {
	text-transform: uppercase;
	color: #333333;
	font-weight: 700;
	font-size: 1em;
	line-height: 1.3;
}

h6 {
	font-weight: 700;
	font-size: 1em;
	line-height: 1.3;
	margin: 35px 0;
}

p {
	font-size: .9375em;
	line-height: 140%;
	margin: 35px 0;
}

a {
	outline: none;
	text-decoration: none;
	color: #00A7E1;
	outline: 0 none !important;
}

.read-more {
	color: inherit;
	font-weight: 700;
	font-style: italic;
}


 a:focus, a:active, h3:focus, h3:active { outline: 0 none !important; }

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

strong em, em strong {
	font-weight: 700;
	font-style: italic;
}

ul, ol {
	padding-left: 20px;
}

ul li, ol li {
	font-size: .875em;
	line-height: 140%;
	margin: 15px 0;
}

ul li {
	list-style-type: disc;
}

ol li {
	list-style-type: decimal;	
}

/* ------------------- MISC STYLES ------------------- */

hr.hidden {
	clear: both; 
	visibility: hidden;
	margin: 0;
	border: none;
	height: 0;
}

.alignleft {
	float: left;
	margin: 0 15px 5px 0;
}

.alignright {
	float: right;
	margin: 0 0 5px 15px;
}

.half {
	width: 48%;
}

.half-col {
	width: 50%;
}

.two-thirds {
	width: 65%;
}

.one-third {
	width: 31%;
}

.third-col {
	width: 33%;
}

.third-col:nth-child(3n+2) {
	width: 34%;
}

.quarter {
	width: 22%;
	margin-right: 4%;
}

.quarter:nth-child(4n) {
	margin-right: 0;
}

.left {
	float: left;
}

.right {
	float: right;
}

img {
	max-width: 100%;
}

.button.is-same {
	font-size: inherit;
	padding-left: 1.25em;
	padding-right: 1.25em;
	height: 35px
}

.button.is-blue {
	background: #00A7E1;
}

.button.is-dark:hover {
	background: #00A7E1;
	color: inherit;
}

.centered {
	text-align: center;
}

.section {
    padding: 5rem 1.5rem;
}

.container :last-child {
	margin-bottom: 0;
}

hr {
	border: none;
	border-bottom: 1px solid #E6E6E6;
	margin: 50px 0;
}

.fancybox-container {
	z-index: 99999999999 !important;	
}

.fancybox-button {
	z-index: 999999999999 !important;	
}

.border-frame {
	border: 1px solid #fff;
	padding: 50px;
}

.sgpb-theme-6-overlay {
	background: none !important;
	background-color: transparent !important;
	display: none !important;
}

.sgpb-popup-dialog-main-div-theme-wrapper-6 {
	top: auto !important;
	left: auto !important;
	bottom: 50px !important;
	right: 50px !important;
	z-index: 9999999999 !important;
}

.sgpb-theme-6-content.sgpb-content {
	background: #00A7E1 !important;
	box-shadow: #646161 0px 0px 20px 1px !important;
	width: auto !important;
	padding-bottom: 0 !important;
}

.sg-popup-builder-content {
	padding: 0 20px !important;
}


.sg-popup-builder-content p, .sg-popup-builder-content h4 {
	margin: 15px 0 !important;
	color: #fff;
}

.sg-popup-builder-content strong {
	color: #fff !important;
	
}

.sg-popup-builder-content .button {
	background: #fff !important;
	color: #00A7E1 !important;
	font-size: .75em !important;
	text-transform: uppercase;
	font-weight: bold !important;
	top: -5px; 
	margin-left: 5px;
}

.full-link {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99;
}

/* ------------------- MEDIA QUERIES ------------------- */

@media all and (max-width: 900px) {
	header nav ul {
		display: none;
	}
	
	.menu-btn {
		display: block;
	}
	
}


@media all and (max-width: 768px) {
	.hero .hero-body {
		padding-bottom: 11rem;
		padding-top: 11rem;
	}
	.top-hero .title {
		font-size: 2.3em !important;
	}
	
	.top-hero .subtitle {
		font-size: 1.2em !important;
	}
}