/**** Fonts ****/
/*@font-face {
	font-family: 'ff-tisa-web-pro';
	src: url('../fonts/ff-tisa-web-pro.eot');
	src: url('../fonts/ff-tisa-web-pro.woff') format('woff'), url('../fonts/ff-tisa-web-pro.ttf') format('truetype'), url('../fonts/ff-tisa-web-pro.svg') format('svg');
	font-weight: normal;
	font-style: normal;
}*/
/**** Config ****/
/**** Mixins ****/
/**** Body ****/
html { font-size: 18px; }

body { font-size: 0.95em; font-family: "Montserrat", sans-serif; }

/**** Elements ****/
p { margin: 0px; padding: 0px 0px 1px; }

ul { margin-bottom: 15px; }

/**** Links ****/
a, a:link, a:active, a:hover, a:visited { color: #00946c; text-decoration: none; border: none; }

a:hover { color: #daa900; text-decoration: underline; }

/**** Headings ****/
h1, h2, h3, h4, h5, h6 { margin: 5px 0px 5px; padding: 0px; color: #00946c; font-family: "Montserrat", sans-serif; line-height: 1.1em; font-weight: 700; }

h1 { font-size: 38px; line-height: 41px; letter-spacing: -.2pt; font-weight: bold; color: #3a3b3b; text-transform: uppercase; }
@media only screen and (max-width: 640px) { h1 { font-size: 31px; line-height: auto; } }

h2 { font-size: 32px; font-weight: 200; }
@media only screen and (max-width: 640px) { h2 { font-size: 26px; } }

h3 { font-size: 38px; line-height: 41px; letter-spacing: -.1pt; color: #daa900; }
@media only screen and (max-width: 640px) { h3 { font-size: 31px; line-height: 34px; } }

h4 { font-size: 25px; color: #daa900; font-weight: 200; }
@media only screen and (max-width: 640px) { h4 { font-size: 23px; } }

h5 { font-size: 22px; }
@media only screen and (max-width: 640px) { h5 { font-size: 20px; } }

h6 { font-size: 20px; color: #00946c; }
@media only screen and (max-width: 640px) { h6 { font-size: 18px; } }

/**** Forms ****/
input[type=text], input[type=password], input[type=email], input[type=url], input[type=number], input[type=date], input[type=datetime], textarea, select { border: none; border-bottom: 1px solid #adadad; -webkit-box-shadow: none; -moz-box-shadow: none; font-family: "Montserrat", sans-serif; font-size: 18px; padding: 8px 10px; height: auto; width: 350px; max-width: 100%; box-sizing: border-box; }

textarea { height: 200px; }

::placeholder, :-ms-input-placeholder, ::-ms-input-placeholder { color: #adadad; }

.form-label, .form-captcha-help { font-family: "Montserrat", sans-serif; font-size: 18px; color: #adadad; }

.button, a.button, input[type=submit], input[type=button] { display: inline-block; padding: 10px 20px; background: #00946c; color: #fff; border: none; text-transform: uppercase; font-weight: bold; font-family: "Montserrat", sans-serif; font-size: 18px; line-height: 18px; }
.button:hover, a.button:hover, input[type=submit]:hover, input[type=button]:hover { text-decoration: none; }

.core-tiny { font-size: 12px; }

/**** Menu ****/
/* Clear */
.menu:after { content: "."; display: block; line-height: 1px; font-size: 1px; clear: both; visibility: hidden; }

/* Horizontal - structure */
.menu-horizontal > ul, .menu-horizontal > ul li, .menu-horizontal > ul ul { list-style: none; margin: 0; padding: 0; }

.menu-horizontal > ul { position: relative; z-index: 197; float: left; }

.menu-horizontal > ul li { float: left; line-height: 1.3em; vertical-align: middle; zoom: 1; }

.menu-horizontal > ul li.hover, #header .menu-horizontal > ul li:hover { position: relative; z-index: 199; cursor: default; }

.menu-horizontal > ul ul { visibility: hidden; position: absolute; top: 100%; left: 0; z-index: 198; width: 100%; }

.menu-horizontal > ul ul li { float: none; }

.menu-horizontal > ul ul ul { top: 1px; left: 99%; }

.menu-horizontal > ul li:hover > ul { visibility: visible; display: block; }

/* Horizontal - basic styling */
.menu-horizontal a, .menu-horizontal a:hover { display: block; padding: 3px 4px; text-decoration: none; }

/* Vertical */
.menu-vertical ul { list-style: none; margin: 0; padding: 0; }

/**** Body ****/
#body { max-width: 2160px; margin: 0px auto; position: relative; overflow: hidden; }

/**** Container ****/
.container { width: 100%; max-width: 2160px; margin: 0px auto; position: relative; }

/**** Header ****/
#header { position: fixed; z-index: 100; height: 90px; width: 100%; max-width: 2160px; background: #00946c; }
#header.header-fixed { box-shadow: 0 0 2px 0 rgba(56, 69, 84, 0.2); }

.body-home #header { background: none; }
.body-home #header.header-fixed { background: rgba(255, 255, 255, 0.95); }
.body-home #header.header-fixed #logo a { height: 90px; margin-left: 13.6%; margin-top: 0px; background-image: url(../images/logo-black.png); }
.body-home #header.header-fixed #menu-main a { color: #231f20; }
.body-home #header #logo a { margin-left: 19.4%; }

#header-spacer { height: 90px; }

#logo a { float: left; width: 12.5%; margin-left: 13.6%; margin-top: -19px; background: url(../images/logo-white.png) no-repeat left center; background-size: 100% auto; height: 130px; display: block; }
@media only screen and (max-width: 1024px) { #logo a { margin-left: 12%; } }
@media only screen and (max-width: 768px) { #logo a { float: none; width: 100%; margin: 3px 0 0 15px; max-width: 200px; height: 85px; background-image: url(../images/logo-black.png); } }

/**** Menu ****/
#menu-icon { width: 40px; height: 40px; background: url(../images/icon-menu-black.png) no-repeat center center; background-size: 100%; position: absolute; z-index: 3; right: 30px; top: 30px; display: none; }
@media only screen and (max-width: 768px) { #menu-icon { top: 15px; right: 15px; display: block; } }

#menu-main { z-index: 4; float: right; max-width: 63%; margin-right: 13%; -webkit-transition: all 500ms ease-in-out; -moz-transition: all 500ms ease-in-out; -o-transition: all 500ms ease-in-out; transition: all 500ms ease-in-out; }
#menu-main ul, #menu-main li { list-style: none; margin: 0px; padding: 0px; }
#menu-main a { margin: 25px 4px; font-family: "Montserrat", sans-serif; padding: 10px 15px; font-size: 15px; line-height: 16px; letter-spacing: -.1pt; font-weight: bold; color: #fff; text-transform: uppercase; display: block; }
#menu-main a:hover { color: #00946c; text-decoration: none; }
#menu-main > ul > li.menu-selected > a, #menu-main > ul > li.menu-child-selected > a { border: 2px solid #00946c; padding: 8px 13px; }
#menu-main li.menu-selected > a, #menu-main li.menu-child-selected > a { color: #00946c; }
#menu-main ul ul { background: #fff; position: absolute; width: 300px; padding: 10px 0px; }
#menu-main ul ul a { color: #3a3b3b; border: 0px; margin: 0px; padding: 5px 25px; font-size: 17px; line-height: 18px; font-family: "Montserrat", sans-serif; font-weight: 300; text-transform: none; }
@media only screen and (max-width: 1024px) { #menu-main { margin-right: 12%; max-width: 66%; }
  #menu-main a { margin: 25px 0px; padding: 10px; } }
@media only screen and (max-width: 768px) { #menu-main { position: absolute; width: 300px; max-width: auto; margin-left: -300px; left: 0px; top: 90px; float: none; background: rgba(255, 255, 255, 0.95); box-shadow: 0 0 2px 0 rgba(56, 69, 84, 0.2); padding: 10px 5px; }
  #menu-main.menu-open { margin-left: 0px; }
  #menu-main li { float: none; }
  #menu-main a { color: #231f20; margin: 0px; }
  #menu-main ul { visibility: visible; background: none; }
  #menu-main ul ul { width: 100%; position: static; padding: 0px; }
  #menu-main ul ul a { font-size: 15px; line-height: 15px; padding: 4px 25px; } }

#menu-logo { margin: 30px 0px 0px -10px; }

/**** Banner ****/
.banner { position: relative; z-index: 2; margin-top: -100px; margin-bottom: 40px; overflow: hidden; }
.banner .banner-top { width: 40%; height: 800px; background: #00946c; position: absolute; z-index: 4; left: 0px; top: -800px; }
@media only screen and (max-width: 640px) { .banner .banner-top { width: 50%; } }
.banner .banner-bottom { width: 65%; height: 1000px; background: #daa900; position: absolute; z-index: 3; left: 0px; bottom: -1000px; }
@media only screen and (max-width: 640px) { .banner .banner-bottom { width: 85%; } }
.banner .banner-heading { position: absolute; z-index: 5; bottom: 30px; left: 32px; }
.banner .banner-heading h1 { color: #fff; font-size: 60px; }
@media only screen and (max-width: 1024px) { .banner .banner-heading { bottom: 20px; }
  .banner .banner-heading h1 { font-size: 40px; } }
@media only screen and (max-width: 640px) { .banner .banner-heading { bottom: 10px; left: 15px; }
  .banner .banner-heading h1 { font-size: 30px; } }

.banner-spacer { margin-bottom: 80px; }

/**** Content ****/
#content { max-width: 2160px; }

/**** Footer ****/
#footer { padding-top: 60px; min-height: 150px; background: url(../images/footer.png?1) center top no-repeat; z-index: 3; position: relative; color: #adadad; /*#footer-contact {
	margin-bottom:25px;
}

#footer-social {
	.icon {
		height:20px;
		margin-bottom:5px;
	}
	.stButton .sharethis {
		color:$color-gray-light;
		font-size:15px !important;
		font-family:$font;
		padding-left:24px;
	}
}*/ }
#footer a { color: #adadad; }
#footer #footer-logo { max-width: 300px; margin-bottom: 40px; }

#copyright { background: #00946c; color: #fff; padding: 30px 30px; }
#copyright a { color: #fff; }

/**** Share ****/
#body .stButton { margin: 0px 1px; }

/**** Icons ****/
.icon { width: 17px; height: 17px; background-size: 17px 17px; background-repeat: no-repeat; background-position: left center; display: inline-block; }

.icon-text { width: auto; padding-left: 24px; }

.icon-facebook { background-image: url("../images/icon-facebook.png"); }

/**** Font Resize ****/
.font-resize a { font-size: 1.2em; line-height: 1.2em; vertical-align: middle; }

/**** Search ****/
.search-box-form-input { width: 120px; vertical-align: middle; }

.search-box .search-box-form-submit { vertical-align: middle; }

/**** Services ****/
.page-code-services { color: #fff; }
.page-code-services h6, .page-code-services a, .page-code-services a:hover { color: #fff; }
.page-code-services p { max-width: 70%; margin: 0px auto; }
@media only screen and (max-width: 768px) { .page-code-services p { max-width: none; } }

/*.page > table > tbody > tr > td:nth-child(1) {
	&> table > tbody > tr > td > ul,
	&> ul {
		margin:0px 0px 10px;
		padding:0px;
		
		&> li {
			margin:4px 4px 4px 0px;
			color:#fff;
			list-style:none;
			font-family:$font-fancy;
			font-weight:500;
			background:url('../images/li-b-r.png') no-repeat right center;
			padding-right:12px;
			
			&:hover {
				background-image:url('../images/li-b-r-h.png?1');
			}
			
			a,
			a:link,
			a:visited,
			a:active,
			a:hover {
				display:block;
				color:#fff;
				//padding:7px 10px 5px 30px;
				//background:url('../images/li-2.png') no-repeat 10px 10px $color-teal;
				padding:6px 0px 5px 32px;
				background:url('../images/li-b-l.png') no-repeat left center;
			}
			a:hover { 
				//background-color:$color-yellow;
				background-image:url('../images/li-b-l-h.png?2');
				text-decoration:none;
			}
		}
	}
}*/
/**** Pages ****/
.page, #footer > .container > .row { max-width: 76%; margin: 0px auto; padding: 75px 30px; }
@media only screen and (max-width: 1024px) { .page, #footer > .container > .row { max-width: 78%; } }
@media only screen and (max-width: 768px) { .page, #footer > .container > .row { max-width: 100%; padding: 40px 15px; }
  .page > table > tbody > tr > td, #footer > .container > .row > table > tbody > tr > td { display: block; width: 100% !important; } }

.page-section { background-size: 100%; background-position: center top; background-repeat: no-repeat; }
.page-section:nth-child(even) { background-color: #fafafa; }
.page-section:nth-child(even).page-section-background { background-color: transparent; }
@media only screen and (max-width: 640px) { .page-section { background-size: auto 100%; } }

.page-text { padding: 40px; background: #fafafa; }

.page-text-left { width: 50%; }
@media only screen and (max-width: 640px) { .page-text-left { width: auto; margin: -40px -15px; padding: 40px 15px; background: #fff; } }

/*.page {
	&> table {
		margin-bottom:-150px;
		margin-top:-100px;
		
		&> tbody > tr > td {
			//display:block;
			//float:left;
			
			&:nth-child(1) {
				width:70%;
				padding:100px 25px 150px 30px;
				
				@media only screen and (max-width: 640px) {
					display:block;
					width:100%;
					padding:70px 15px 30px;
				}
			}
			&:nth-child(2) {
				display:none;
			}
			&:nth-child(3) {
				padding:100px 30px 75px 60px;
				position:relative;
				z-index:1;
				background:url(../images/right.png?3) no-repeat left top;
				color:#fff;
				width:30% !important;
				
				h1, h2, h3, h4, h5, h6 {
					color:$color-yellow-light;
				}
				a,
				a:link,
				a:active,
				a:visited {
					//color:$color-teal-light;
					color:#fff;
					text-decoration:underline;
				}
				a:hover {
					color:$color-yellow-light;
				}
	
				@media only screen and (max-width: 640px) {
					display:block;
					width:100% !important;
					background:$color-gray;
					padding:30px 15px 70px;
				}
			}
		}
	}
}*/
/**** Boxes ****/
/*.boxes {
	max-width:none;
}
.box {
	cursor:pointer;
	
	.box-image {
		img {
			width:100%;
		}
	}
	.box-text {
		color:#fff;
		padding:25px 40px 40px;
		background:$color-yellow;
		height:250px;
		font-family:"Raleway", "Century Gothic", sans-serif;
		font-size:18px;
		
		h2 {
			color:#fff;
			font-size:40px;
		}
	}
	
	&.column+.column:last-child {
		float:left;
	}
	
	&:nth-child(1) {
		.box-text {
			//@include angle(before,true,12deg);
		}
	}
	&:nth-child(2) {
		.box-text {
			//@include angle(before,true,6deg);
			background:$color-teal;
		}
	}
	&:nth-child(3) {
		.box-text {
			//@include angle(before,true,9deg);
		}
	}
}*/
/**** Pieces ****/
#pieces { margin-top: -90px; }
#pieces .piece { /*// Manually fading in via javascript as animation not working on this
&.piece-visible {
	.piece-content {
		opacity:1;
	}
}*/ }
#pieces .piece img.piece-image { width: 100%; height: 100%; visibility: hidden; }
#pieces .piece .pi_container img { max-width: none; }
#pieces .piece .piece-content { position: absolute; z-index: 10; top: 20%; left: 20%; width: 60%; color: #fff; visibility: visible; opacity: 0; -webkit-transition: all 500ms ease-in-out; -moz-transition: all 500ms ease-in-out; -o-transition: all 500ms ease-in-out; transition: all 500ms ease-in-out; }
#pieces .piece .piece-content h1 { color: #fff; }
@media only screen and (max-width: 768px) { #pieces { margin: 0px -22%; }
  #pieces .piece .piece-content { top: 5%; }
  #pieces .piece .piece-content h1 { font-size: 26px; line-height: 28px; }
  #pieces .piece .piece-content h2 { color: #fff; font-size: 22px; } }

/**** Table Icons ****/
.table-icons td { padding: 10px 15px 40px; }
.table-icons img { max-width: 100px; }
.table-icons p { line-height: 1.1em; }
@media only screen and (max-width: 640px) { .table-icons td { display: block; } }

/**** Carousel - Testimonials ****/
.page-section-testimonials { background: url(../images/background-work-3.gif) left top repeat; }
.page-section-testimonials .carousel-slide { background: url(../images/white-95.png) center center repeat; }
.page-section-testimonials .carousel-text { padding: 50px; }
.page-section-testimonials .scroller-buttons { position: static; }
.page-section-testimonials .scroller-buttons .scroller-button { width: 48px; height: 48px; top: 135px; position: absolute; background-size: 100%; background-repeat: no-repeat; background-position: center center; }
.page-section-testimonials .scroller-buttons .scroller-button.scroller-button-left { left: -65px; background-image: url(../images/arrow-left-1.png); }
.page-section-testimonials .scroller-buttons .scroller-button.scroller-button-right { right: -65px; background-image: url(../images/arrow-right-1.png); }
@media only screen and (max-width: 640px) { .page-section-testimonials .page { padding: 40px; }
  .page-section-testimonials .carousel-text { padding: 20px; }
  .page-section-testimonials .scroller-buttons .scroller-button { width: 28px; height: 28px; top: 200px; }
  .page-section-testimonials .scroller-buttons .scroller-button.scroller-button-left { left: -34px; }
  .page-section-testimonials .scroller-buttons .scroller-button.scroller-button-right { right: -34px; } }

/**** Staff ****/
#content .page-section-staff { background: #3a3b3b; color: #fff; }
#content .page-section-staff h1 { color: #fff; }

.staffs { margin-top: 50px; }
.staffs .staff { margin: 0px 12px 50px; height: 390px; background: #fff; }
@media only screen and (min-width: 1700px) { .staffs .staff { height: 410px; } }
@media only screen and (min-width: 1900px) { .staffs .staff { height: 450px; } }
@media only screen and (min-width: 2100px) { .staffs .staff { height: 490px; } }
@media only screen and (max-width: 1024px) { .staffs .staff { height: 475px; } }
@media only screen and (max-width: 768px) { .staffs .staff { height: 470px; } }
@media only screen and (max-width: 375px) { .staffs .staff { height: 450px; } }
@media only screen and (max-width: 320px) { .staffs .staff { height: 410px; } }
.staffs .staff-image { position: relative; height: 210px; overflow: hidden; margin-bottom: 20px; display: block; }
.staffs .staff-image img { width: 100%; }
@media only screen and (min-width: 1500px) { .staffs .staff-image { height: 220px; } }
@media only screen and (min-width: 1700px) { .staffs .staff-image { height: 250px; } }
@media only screen and (min-width: 1900px) { .staffs .staff-image { height: 290px; } }
@media only screen and (min-width: 2100px) { .staffs .staff-image { height: 320px; } }
@media only screen and (max-width: 1300px) { .staffs .staff-image { height: 180px; } }
@media only screen and (max-width: 1024px) { .staffs .staff-image { height: 310px; } }
@media only screen and (max-width: 768px) { .staffs .staff-image { height: 300px; } }
@media only screen and (max-width: 375px) { .staffs .staff-image { height: 285px; } }
@media only screen and (max-width: 320px) { .staffs .staff-image { height: 240px; } }
.staffs .staff-image-angle { position: absolute; left: 0; bottom: -1px; width: 101%; height: 80px; background: url(../images/staff-image-angle.png) no-repeat left bottom; }
.staffs h2 { text-align: center; font-size: 24px; }
.staffs .staff-position { color: #adadad; font-size: 14px; text-align: center; }
.staffs .staff-link { text-align: center; }
.staffs .button { margin: 20px auto 0px; }
.staffs #staff-openings h2 { font-size: 18px; }

.staff-full .staff-full-right { float: right; max-width: 35%; margin: 0px 0px 10px 20px; font-size: 13px; }
.staff-full h6 { margin-top: 15px; }

/**** Contact ****/
.contact-form { margin-top: 50px; }
.contact-form .form-row { margin-bottom: 30px; }
.contact-form .form-row-inline { margin-bottom: 0; }
.contact-form .form-row-inline.form-row-checkbox { padding: 6px 10px 0 0; }
.contact-form .form-row-inline input[type=text].form-input-number { width: 65px; }
.contact-form textarea { height: 70px; }

.contact-form-submit { margin-top: 30px; text-align: center; }

/*!/*##end##*/
