@font-face {
	font-family: 'BebasNeueBold';
	src: 	url('../fonts/BebasNeue/bebasneue_bold-webfont.eot');
	src: 	url('../fonts/BebasNeue/bebasneue_bold-webfont.eot?#iefix') format('embedded-opentype'),
			url('../fonts/BebasNeue/bebasneue_bold-webfont.ttf') format('truetype'),
			url('../fonts/BebasNeue/bebasneue_bold-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}

body {
	font-family: Arial, sans-serif;
}

h3 {
	margin: auto;
	padding: 25px;
	font-size: 1.15em;
}

h1 {
	position: relative;
	padding-top: 40px;
	text-align: center;
	font-size: 3.5em;
}

.container {
	text-align: center;
	color: white;
}

.header {
	height: 0;
	position: relative;
	padding-bottom: 43.9%;
	overflow: hidden;
}

.header:before {
	content: '';
	position: absolute;
	background: url('../img/banners/dotted-overlay.png') repeat;
	border-radius: 5px;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

img.background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: -100;
}


.header > img.logo {
	position: absolute;
	right: 0;
	height: 105px;
	margin-top: 25px;
	margin-right: 25px;
	width: auto;
	max-width: 422px;
	z-index: 1;
}

.tagline {
	position: absolute;
	margin: auto;
	margin-bottom: 248px;
	bottom: 0;
	height: auto;
	width: 100%;
}

h4 {
	font-size: 5.2em;
}

h5 {
	font-size: 6.5em;
}

h4, h5 {
	font-family: BebasNeueBold;
	text-align: center;
	position: relative;
	color: white;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0px;
	margin-bottom: -5px;
}

.navbuttons {
	position: absolute;
	bottom: 0;
	height: auto;
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
}

.navbuttons > a > button {
	font-size: 1em;
	width: 100px;
	height: 35px;
	border: solid 2px #01aef0;
	background: none;
	color: white;
	margin: 10px 5px;
}

.navbuttons > a:hover > button,
.navbuttons > a:focus > button {
	background-color: #01aef0;
	text-decoration: none;
	-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
			-ms-transition: all 0.2s ease-out;
				transition: all 0.2s ease-out;
}

.navbuttons > button.down {
	background: none;
	display: block;
	border: none;
	position: relative;
	margin: 10px auto;
}

.navbuttons > button:hover > a > img,
.navbuttons > button:focus > a > img {
	opacity: 0.85;
	-webkit-transform: scale(1.05);
		-moz-transform: scale(1.05);
			-ms-transform: scale(1.05);
				transform: scale(1.05);
	-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
			-ms-transition: all 0.2s ease-out;
				transition: all 0.2s ease-out;
}

#about {
	background: url('../img/pattern.png') repeat;
}

#about .container{
	color: #333; !important;
	padding-bottom: 60px;
}

.container.custom-container {
	width: 96%;
	margin: 0 auto;
}

.aboutcolumn {
	padding: 0 5vw;
}

#services {
	background-image: url('../img/banners/grey-banner.jpg');
	background-position: center;
	overflow: hidden;
}

.serviceslist {
	margin-top: 50px;
	padding-bottom: 80px;
	padding-left: 40px;
	padding-right: 40px;
}

p {
	font-size: 1.15em;
}

img.about {
	display: block;
	margin: 0px auto;
	margin-bottom: 25px;
}

p.about {
	text-align: center;
}

#contact .container {
	color: #333;
}

#contact .col-sm-6:first-of-type {
	padding-right: 6.5px;
}

#contact .col-sm-6:last-of-type {
	padding-left: 6.5px;
}

.contact {
	background-color: #f1f1f1;
	padding-bottom: 40px;
}

.contact > img.background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: auto;
	z-index: -100;
}

.contact > .containertext {
	position: absolute;

}

.contacttext > .container > p {
	position: relative;
	text-align: center;
}

form {
	margin: 60px auto;
	position: relative;
	text-align: left;
	height: auto;
}

.row {
	width: 100%;
	margin: 0;
}

.form-control-feedback {
	visibility: hidden;
	position: relative;
	top: auto;
	right: auto;
	margin-top: -37px;
	margin-right: -10px;
	float: right;
}

.has-error .form-control-feedback {
	visibility: visible;
}

.has-error > input {
	padding-right: 30px; 
}

@-webkit-keyframes autofill {
	to {
		color: #333;
		background: transparent;
	}
}

input.form-control:-webkit-autofill {
	-webkit-animation-name: autofill;
	-webkit-animation-fill-mode: both;
}

input.form-control, textarea.form-control {
	margin: 10px auto;
	width: 100%;
	background: none;
	border: none;
	font-size: 1.15em;
	outline: none !important;
	box-shadow: none !important;
	color: #333;
	padding: 0;
	height: auto;
	border-radius: 0;
	-webkit-box-sizing: border-box; /* For legacy WebKit based browsers */
		-moz-box-sizing: border-box; /* For legacy (Firefox <29) Gecko based browsers */
			-ms-box-sizing: border-box;
				box-sizing: border-box;
}

textarea.form-control {
	height: 199px;
}

input.form-control::-webkit-input-placeholder, 
textarea.form-control::-webkit-input-placeholder {
	color: #333;
	opacity: 1;
}

input.form-control::-moz-placeholder, 
textarea.form-control::-moz-placeholder {
	color: #333;
	opacity: 1;
}

input.form-control:-ms-input-placeholder, 
textarea.form-control:-ms-input-placeholder {
	color: #333;
	opacity: 1;
}

input.form-control:-moz-placeholder, 
textarea.form-control:-moz-placeholder {
	color: #333;
	opacity: 1;
}

input.form-control {
	padding-right: 20px;
}
textarea.form-control {
	padding: 1px 0;
	resize: none;
}

.submit > input.button {
	float: right;
	font-size: 1em;
	border: solid 2px #01aef0;
	background-color: #01aef0;
	color: white;
	padding: 5px 20px;
	width: 100px;
	height: 35px; 
}

.submit > input.button:hover,
.submit > input.button:focus {
	background: none;
	color: #333;
	
	-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
			-ms-transition: all 0.2s ease-out;
				transition: all 0.2s ease-out;
} 

.field, .textfield {
	display: block;
	width: auto;
	max-width: 380px;
	margin: 15px auto;
	border: solid 1px #333;
	padding: 0 15px;
	color: #333;
}

.field {
	margin-right: 0;
}

.textfield {
	margin-left: 0;
}

.submit {
	display: block;
	margin: 0 auto;
	margin-left: 0;
	height: 35px;
	width: auto;
	max-width: 380px;
	color: #333;
}

input.form-control:hover,
input.form-control:focus,
textarea.form-control:hover,
textarea.form-control:focus {
	border: none;
	box-shadow: none;
	outline: none;
}

.loaderholder {
	height: 35px;
	width: auto;
	max-width: 380px;
	padding: 7.5px 0;
	padding-right: 110px;
	margin: auto;
	margin-top: -35px;
	margin-left: 0;
}

.loader {
	float: right;
    border: 1px solid #333; /* Light grey */
    border-top: 1px solid #01aef0; /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.footer {
	background-color: #1f1f1f;
	padding: 10px 0;
	text-align: center;
}

.footer > .container {
	margin: 0 auto;
}

.logo > img.logo {
	position: absolute;
	right: 0;
	top: 0;
	height: 120px;
	width: auto;
	max-width: 422px;
	padding-top: 20px;
	padding-right: 20px;
}

.text {
	vertical-align: middle;
	top: 0;
	width: auto;
	height: 120px;
	text-align: left;
	color: white;
	padding-top: 25px; 
	padding-bottom: 25px;
}

.text a {
	color: #00adef;
}

.text > p {
	font-size: 1em;
	display: block;
	margin-bottom: 5px;
}

.text > p:last-of-type {
	margin-bottom: 0px;
}

footer {
	color: white;
	margin-top: 20px;
	margin-bottom: 15px;
	font-size: 0.8em;
} 

.help-block {
	position: absolute;
	font-size: .7em;
	color: #C00000;
	margin-top: -15px;
	visibility: visible;
}

#contact .modal {
	color: white;
}

.modal-header {
	padding: 10px;
	background: none;
	border: none;
}

.close {
	opacity: inherit;
	color: inherit;
	text-shadow: none;
}

.modal-content-success .close:hover,
.modal-content-success .close:focus {
	opacity: inherit;
	color: #00F300;
}

.modal-content-warning .close:hover,
.modal-content-warning .close:focus {
	opacity: inherit;
	color: #FF7E00;
}

.modal-content {
	background-color: rgba(0,0,0,0.5);
	border-radius: 0;
}

.modal-content-success {
	border: solid 2px #00F300;
}

.modal-content-warning {
	border: solid 2px #FF7E00;
}

.modal-body {
	padding: 10px;
	padding-top: 0;
	background: none;
	border-radius: 0;
}

.modal h2, .modal p {
	margin: 0;
}

.hidden2{
	opacity:0;
}

.visible2{
	opacity:1;
}

@media (max-width: 1200px) {
	.tagline {
		margin-bottom: 180px;
	}

	h4 {
		font-size: 4.8em;
	}

	h5 {
		font-size: 6em;
	}

	.aboutcolumn {
		padding: 0 2.5vw;
	}
}

@media (max-width: 992px) {
	.header > img.logo {
		margin-top: 20px;
	}

	.tagline {
		margin-bottom: 130px;
	}

	h4 {
		font-size: 4.15em;
	}

	h5 {
		font-size: 5.2em;
	}
}

@media (max-width: 767px) {
	.header {
		height: 330px;
		display: block;
		padding-bottom: 0;
		background-image: url("../img/banners/header-banner.jpg");
		background-size: cover;
		background-position: center;
	}

	img.background {
		display: none;
	}

	.header > img.logo {
		display: block;
		position: relative;
		max-height: 70px;
		height: 25vw;
		margin: 20px auto;
		width: auto;
		z-index: 1;
	}

	img.logo {
		height: 103.672px;
	}

	.tagline {
		margin-bottom: 100px;
	}

	h4 {
		font-size: 3.6em;
	}

	h5 {
		font-size: 4.5em;
	}

	h1 {
		font-size: 2em;
	}

	img.about {
		width: 100px;
		height: auto;
		margin-bottom: 10px;
	}

	h3 {
		font-size: 1em;
		width: 100%;
		max-width: 520px;
		margin: 20px auto;
	}

	p {
		font-size: 1em;
	}

	button.down {
		display: none !important;
	}
	
	#about .container {
		padding-bottom: 50px;
	}

	#aboutcontainer {
		width: auto;
		margin-left: 0;
		margin-right: 0;
	}

	.aboutcolumn {
		padding-top: 35px;
	}

	.aboutcolumn:first-of-type {
		padding-top: 0;
	}	

	.serviceslist {
		margin-top: 20px;
		padding-bottom: 50px;
	}

	form {
		margin: 50px 0;
		margin-top: 40px;
		width: 100%;
		height: auto;
		display: block;
	}

	.field, .textfield, .submit {
		margin: 15px auto;
	}

	input.form-control, 
	textarea.form-control {
		font-size: 1em;
	}

	#contact {
		padding-bottom: 0;
	}

	#contact .col-sm-6:first-of-type {
		padding: inherit;
	}

	#contact .col-sm-6:last-of-type {
		padding: inherit;
		margin-top: -15px;
	}

	.loaderholder {
		margin: 15px auto;
		margin-top: -50px;
	}

	.logo, .logo > img.logo {
		height: 100px;
		margin: auto;
		position: static;
	}

	.logo > img.logo {
		padding: 10px 0;
	}

	.text {
		text-align: center;
		margin: 0 auto;
		padding-top: 0;
		padding-bottom: 0;
		height: auto;
		width: 100%;
	}
}

@media (max-width: 578px) {
	.tagline {
		top: 117px;
		bottom: auto;
	}

	h4 {
		font-size: 8.75vw;
	}

	h5 {
		font-size: 10.9vw;
	}
}

