html, body { height: 100%; }
body { background-color: #fdfdfd; font-family: 'Open Sans', sans-serif; }

/* navbar / banner */
.fixed-navbar { background: #000; border-bottom: solid 2px #d6d226; }
OFF.fixed-navbar-shadow { box-shadow: 0px 2px 10px #999; }
.banner { display: table; width: 100%; -webkit-transition: height 0.5s; -moz-transition: height 0.5s; transition: height 0.5s; }
.banner-condensed { height: 60px !important; margin-top: 0px !important; }
.banner .logo-wrapper { display: table-cell; vertical-align: middle; }
.banner .logo img { -webkit-transition: width 0.5s; -moz-transition: width 0.5s; transition: width 0.5s; width: 250px; margin-top: 5px; margin-bottom: 5px; }
.banner .logo-name img { -webkit-transition: width 0.5s, height 0.5s; -moz-transition: width 0.5s, height 0.5s; transition: width 0.5s, height 0.5s; width: 250px; height: 19px; margin-top: 5px; margin-bottom: 10px; }


/* menu */
.menu { display: table-cell; vertical-align: middle; text-align: right; font-size: 16px; font-weight: 400; }
.menu ul { margin: 0; padding: 0; list-style: none; }
.menu a { color: #fff; transition: all 0.35s ease-in-out; text-decoration: none; margin-left: 30px; OFFpadding: 10px 20px 10px 20px; border-radius: 3px; }
.menu a:hover { color: #d6d226; }
.menu .active { color: #d6d226; }
.menu li { display:inline-block; margin-left: 5px; }
.menu li:first-child { margin-left: 0px; }
.menu .fab { font-size: 1.9em; vertical-align: -10%; }
.menu .phone { font-size: 1.5em; font-weight: 200; margin-bottom: 1px; }
.menu .phone i { margin-right: 5px; }

/* mobile menu */
.mobilemenu { }
.mobilemenu a { display: block; border-bottom: solid #333132 1px; cursor: pointer; line-height: 54px; height: 54px; color: #fff; padding-left: 20px; padding-right: 20px; }
.mobilemenu a:first-child { border-top: solid #333132 1px; }
.mobilemenu a:hover { color: #d6d226; text-decoration: none; }
.mobilemenu a.section { color: #0082cc; }
.mobilemenu a.active { color: #d6d226; }
.mobilemenu .sub-menu { display: none; }
.mobilemenu .sub-menu-open { display: block; }
.mobilemenu .sub-menu .menu-item { padding-left: 20px; }
.mobilemenu .submenu-toggle { font-size: 1.2em; margin-top: -5px; color: #fff; }
.mobilemenu .submenu { display: none; }
.mobilemenu .submenu-open { display: block; }
.mobilemenu .submenu a { padding-left: 20px; }
.mobilemenu .submenu a:hover { color: #00a9e7; }
.mobilemenu .submenu a.current { color: #00a9e7; }
.mobilemenu .submenu-toggle { font-size: 1.2em; margin-top: -5px; color: #fff; }	
.mobilemenu-toggle { cursor: pointer; }
.mobilemenu-open { margin-left: 15px; margin-top: -4px; font-size: 20px; color: #fff; }
.mobilemenu-close { margin-left: 15px; margin-top: -4px; padding-left: 4px; font-size: 20px; display: none; color: #fff; }


/* content */
.content { font-size: 16px; }
.content a:hover { text-decoration: none; }
.content h1, h2, h3 { font-weight: 300; }
.content h2 { font-size: 24px; line-height: 125%; }


/* footer */
.footer-wrapper { background-color: #333; margin-top: 30px;}
.footer { display: table; width: 100%; font-weight: 300; }
.footer .logo { display: table-cell; vertical-align: middle; text-align: right; display: inline-block; }
.footer .logo img { height: 40px; margin-bottom: 10px; }
.footer .footer-menu-wrapper { display: table-cell; vertical-align: middle; text-align: right; }
.footer .footer-menu { text-align: right; margin-bottom: 4px; font-size: 12px; }
.footer .copyright { color: #fff; font-size: 10px; }

.footer .services { white-space: nowrap; color: #fff; font-size: 12px; }
.footer .services a { color: #fff; transition: all 0.3s ease-in-out; text-decoration: none; }
.footer .services a:hover { color: #5d93ec; }


/* parallax */
.parallax {	min-height: 40vh; background: transparent; display: table; width: 100%; }
.parallax h1 { color: white; margin: 0px; text-align: center; display: table-cell; vertical-align: middle; font-weight: 400; font-size: 40px; text-shadow: 1px 1px 4px #000; }


/* hover bg image zoom - generic */
.bgimg-zoom { overflow: hidden;	}
.bgimg-zoom-img { width: 100%; height: 100%; background-position: center; background-size: cover; -webkit-transition: all .5s; -moz-transition: all .5s; -o-transition: all .5s; transition: all .5s; }
.bgimg-zoom:hover .bgimg-zoom-img,
.bgimg-zoom:focus .bgimg-zoom-img { transform: scale(1.05); }
.bgimg-zoom:hover .bgimg-zoom-img:before,
.bgimg-zoom:focus .bgimg-zoom-img:before { display: block; }

.bgimg-zoom a { display: none; } /* optional link */
.bgimg-zoom:hover a,
.bgimg-zoom:focus a { display: block; }

.bgimg-zoom .bgimg-zoom-img-overlay { width: 100%; height: 100%; } /* optional opaque overlay */				
.bgimg-zoom .bgimg-zoom-img-overlay:before { content: ""; display: none; height: 100%; width: 100%; position: absolute; top: 0; left: 0; }


/* background slide button */
a.btn-slide, button.btn-slide { border: 1px solid #5376b5; border-radius: 0; background: transparent; text-align: center; color: #5376b5 !important; display: inline-block; text-decoration: none; padding: 5px 10px; letter-spacing: 1px; font-size: 1em; transition: all 0.2s ease-in-out; position: relative; }
a.btn-slide:hover, button.btn-slide:hover { color: #fff !important; z-index: 1; font-weight: inherit; }
a.btn-slide:before, button.btn-slide:before { content: ""; position: absolute; background: #5376b5; bottom: 0; left: 0; right: 100%; top: 0; z-index: -1; -webkit-transition: all 0.15s ease-in-out; transition: all 0.15s ease-in-out;	} 
a.btn-slide:hover:before, button.btn-slide:hover:before { right: 0; }


/* hero image */
.hero-image-wrapper { position: relative; }
.hero-image-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 99; background-color: #000; opacity: 0; }
.hero-image-overlay-20 { opacity: 0.2; }
.hero-image-overlay-40 { opacity: 0.4; }
.hero-image-overlay-60 { opacity: 0.6; }
.hero-image-overlay-80 { opacity: 0.8; }
.hero-image-wrapper .hero-image { background-color: #000; background-size: cover; background-position: center; height: 100%; width: 100%; }
.hero-image-wrapper .hero-image-scroll-wrapper { position: absolute; bottom: 10px; width: 100%; text-align: center; z-index: 100; }
.hero-image-wrapper .hero-image-scroll { color: #fff; font-size: 48px; cursor: pointer; }
.hero-image-wrapper h1 { color: #fff; margin: 0px; text-align: center; position: absolute; width: 100%; padding-left: 10%; padding-right: 10%; bottom: 25%; font-weight: 300; z-index: 100; }
.hero-image-wrapper a { color: #fff; text-shadow: 2px 2px 4px #000; }
.hero-image-wrapper a:hover { color: #ddd; text-decoration: none; }
@media only screen and (min-width : 1px) { 
	.hero-image-wrapper h1 { font-size: 26px; margin-top: -18px; } 
}
@media only screen and (min-width : 768px) { 
	.hero-image-wrapper h1 { font-size: 48px; margin-top: -24px; } 
}
@media only screen and (min-width : 992px) { 
}
@media only screen and (min-width : 1200px) { 
}
@media only screen and (min-width : 1900px) { 
}	


/* hero image slideshow */
.hero-image-slideshow { width: 100%; height: 100%; }
.hero-image-slide { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: none; }
.hero-image-slide:first-child { display: block; }
.hero-image-slide h1 i { display: inline-block; vertical-align: -0.1em; }


/* HOME */
.home-calltoaction { margin-top: 40px; }
.home-calltoaction a { font-weight: 400 !important; }
.home-calltoaction .col-xs-12 { padding-bottom: 10px; }
@media only screen and (max-width : 767px) { 
	.home-calltoaction .left-column { text-align: center; }
	.home-calltoaction .right-column { text-align: center; }
}
@media only screen and (min-width : 768px) { 
	.home-calltoaction .col-xs-12:first-child { border-right: solid 1px #666; }
	.home-calltoaction .left-column { text-align: right; padding-right: 20px; }
	.home-calltoaction .right-column { text-align: left; padding-left: 20px;}
}
@media only screen and (min-width : 992px) { 
	.home-calltoaction .left-column { text-align: right; padding-right: 40px; }
	.home-calltoaction .right-column { text-align: left; padding-left: 40px;}
}
@media only screen and (min-width : 1200px) { 
}
@media only screen and (min-width : 1900px) { 
}

.home-service-zoom-img .bgimg-zoom-img { height: 320px; background-color: black; /* fallback color */ }
.home-service-zoom-img a { font-size: 25px; text-align: center; color: #ffffff !important; cursor: pointer; }
.home-service-zoom-img-overlay:before { background-color: rgba(52,73,94,0.55); }

.home-service { margin-bottom: 30px; }
.home-service h2 { margin: 0; color: #fff; text-align: center; font-weight: 300; font-size: 24px; position: relative; top: 50%; transform: translateY(-50%); text-shadow: 2px 2px 4px #000; }
.home-service .description { margin-top: 5px; }
.home-service .description a { white-space: nowrap; }
.home-service .description i { display: inline-block; vertical-align: -0.1em; }
.home-service .bgimg-zoom { cursor: pointer; }

@media only screen and (max-width : 767px) { 
	.home-service h2 { font-size: 18px; }
	.home-service .description { font-size: 1em; }
}
@media only screen and (min-width : 768px) { 
	.home-service h2 { font-size: 24px; }
	.home-service .description { font-size: 1.1em; }
}
@media only screen and (min-width : 992px) { 
}
@media only screen and (min-width : 1200px) { 
}
@media only screen and (min-width : 1900px) { 
}


/* SERVICES */
.enquiry-form { background: #5c5c5c; padding: 20px; }					
.enquiry-form input[type="text"] { display: block; width: 100%; padding: 4px; margin-bottom: 15px; border: 0px; border-radius: 3px; font-size: 14px; }
.enquiry-form input[type="text"]::placeholder, input[type="email"]::placeholder { color: #bbb; }
.enquiry-form input[type="text"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder { color: #bbb; }
.enquiry-form .error::-webkit-input-placeholder { color: #ff9933 !important; }
.enquiry-form .error::-moz-placeholder { color: #ff9933 !important; }
.enquiry-form textarea { display: block; border: 0px; padding: 4px; width: 100%; resize: none; border-radius: 3px; height: 70px; margin-bottom: 15px; font-size: 14px; }
.enquiry-form textarea::placeholder { color: #bbb; }
.enquiry-form textarea::-webkit-input-placeholder { color: #bbb; }
.enquiry-form button { padding: 10px 15px 10px 15px; margin-top: 20px; background: #fff; border: 0px; }
.enquiry-form h2 { margin-top: 0px; margin-bottom: 20px; color: #fff; }
.enquiry-form h3 { color: #339933; margin-bottom: 15px; font-size: 18px; }


/* gallery */
.gallery img { margin-bottom: 30px; cursor: pointer; }

/* video */
.video-overlay { background: #000; width: 100%; height: 100%; position: fixed; z-index: 10000; padding: 40px; display: none; }
.video-overlay-close { position: absolute; top: 10px; right: 10px; color: #fff; }
.video-overlay-close i { cursor: pointer; }

/* responsive adjustments */
@media only screen and (min-width : 1px) { 
	.banner { height: 110px; }
	.footer { padding-top: 15px; padding-bottom: 15px; }
}
@media only screen and (min-width : 768px) { 
	.footer { padding-top: 25px; padding-bottom: 25px; }
}
@media only screen and (min-width : 992px) { 
	.banner { height: 150px; }
}
@media only screen and (min-width : 1200px) { 

}
@media only screen and (min-width : 1900px) { 
}		


/* CONTACT */
.contact-form { margin-top: 30px; }
.contact-form input[type="text"] { display: block; width: 100%; padding: 4px; margin-bottom: 15px; border: 0px; border-radius: 3px; }
.contact-form input[type="text"]::placeholder, input[type="email"]::placeholder { color: #bbb; }
.contact-form input[type="text"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder { color: #bbb; }

.contact-form .error::-webkit-input-placeholder { color: #ff9933 !important; }
.contact-form .error::-moz-placeholder { color: #ff9933 !important; }

.contact-form textarea { display: block; border: 0px; padding: 4px; width: 100%; resize: none; border-radius: 3px; height: 80px; margin-bottom: 15px; }
.contact-form textarea::placeholder { color: #bbb; }
.contact-form textarea::-webkit-input-placeholder { color: #bbb; }
.contact-form button { padding: 15px 30px 15px 30px; margin-top: 30px; }
.contact-form h2 { margin-top: 0px; margin-bottom: 20px; }
.contact-form h3 { color: #339933; margin-bottom: 15px; }

.contact-details { margin-bottom: 30px; }
.contact-details i { margin-top: 30px; margin-bottom: 10px; color: #666; }
.contact-details p { font-size: 0.95em; }

@media only screen and (min-width : 1px) { 
	.contact-details i { font-size: 3em; }
}
@media only screen and (min-width : 768px) { 
	.contact-details i { font-size: 5em; }
}
@media only screen and (min-width : 992px) { 
}
@media only screen and (min-width : 1200px) { 
}
@media only screen and (min-width : 1900px) { 
}


/* UTILITIES */

/* vertical align element within parent container */
.vertical-align { position: relative; top: 50%; transform: translateY(-50%); }

/* remove bootstrap row gutters */ 
.no-gutter > [class*='col-'] { padding-right:0; padding-left:0; }
