/*
* === GLOBAL STYLES ===
*/

*, *:before, *:after {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
}

html, body {
	height: 100%;
}

body {
	font-family: 'Open Sans', sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 2em;
	min-width: 1024px;
}

a {
	font-weight: bold;
	text-decoration: none;
}

input:not([type=submit]):not([type=file]), textarea {
   	font-size: 16px !important;
}

img {
	border: 1px solid #000;
	max-width: 100%;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}



/*
* === BROWSER FIXES ===
*/

/* remove iOS / Safari input element rounding */
input {
    border-radius: 0;
}

/* fix bug in chrome that shrinks images with max-width in tables */
td img {
	max-width: none;
}



/*
* === CUSTOM CLASSES ===
*/

.caption {
	font-weight: 300;
	line-height: normal;
}

.justify {
	text-align: justify;
}

.marginAuto {
	margin: 0 auto;
}

.middle {
	vertical-align: middle;
}

.noBorder {
	border: none;
}

.noMargin {
	margin: 0;
}

.noPadding {
	padding: 0;
}



/*
* === SECTION STYLES ===
*/

.navbar-custom {
	background: #000 !important;
	padding: 15px;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.navbar-custom .navbar-right {
	padding-right: 10px;
}

.navbar-custom .navbar-toggle {
	background-color: #000;
	border-color: #fff;
}

.navbar-custom .navbar-toggle .icon-bar {
	background-color: #fff;
}

.navbar-custom .navbar-toggle:hover,
.navbar-custom .navbar-toggle:focus {
	background-color: #fff;
	color: #000;
}

.navbar-custom .navbar-toggle:hover .icon-bar,
.navbar-custom .navbar-toggle:focus .icon-bar {
	background-color: #000;
}

.navbar-custom li {
	text-align: center;
}

.navbar-custom li a {
	color: #fff;
	font-weight: 400;
}

.navbar-custom li a:hover, .navbar-custom li a:focus {
	background-color: #000;
	outline: 0;
}

.navbar-custom li a:hover {
	color: #ec2227;
}

.sticky {
	padding: 10px;
	-webkit-box-shadow: 0 1px 4px 0px #000000;
   	-moz-box-shadow: 0 1px 4px 0px #000000;
    box-shadow: 0 1px 4px 0px #000000;
}

#logo {
	border: 0;
	vertical-align: middle;
	width: 300px;
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

.sticky #logo {
	width: 200px;
}

#top {
	background: transparent url('/images/cover.jpg') no-repeat center center;
	background-size: cover;
	height: 100%;
	min-height: 600px;
	position: relative;
	text-align: center;
}

#taglineTop, #taglineBottom {
	left: 0;
	position: absolute;
	text-align: center;
	width: 100%;
}

#taglineTop {
	font-size: 4em;
	font-weight: 300;
	top: 105px;
}

#taglineBottom {
	bottom: 60px;
	color: #fff;
	font-size: 3em;
	font-weight: 400;
	text-shadow: -1px 1px 1px #000;
}

.container-fluid {
	padding-bottom: 20px;
}

.container-fluid > header h3 {
	color: #000;
	font-size: 2em;
	font-weight: 300;
	margin: 20px;
	text-align: center;
}

h1 {
	margin: 0;
}

h4 {
	font-size: 1.5em;
}

h5 {
	font-size: 1.2em;
}

#who, #what, #services, #work, #clients, #contact {
	padding-top: 25px;
}

#clients {
	padding-bottom: 25px;
}

#clients a {
	font-size: 1em;
	font-weight: 400;
	text-transform: uppercase;
}

#clients a img {
	opacity: .9;
}

#who > div, #what > div, #services > div, #work > div, #contact > div {
	padding: 25px;
}

#who img {
	width: 250px;
}

#who p {
	margin: 1.5em 0;
}

#who a, #clients a {
	color: #000;
}

#who a, #clients a, #clients a img {
	-webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

#who a:hover, #clients a:hover {
	color: #ec2227;
	text-decoration: none;
}

#clients a:hover img {
	opacity: 1;
}

#work /* #what, #contact */ {
	background: #eee;
}

#contact .btn.btn-danger {
	background-color: #ce4844;
}

footer a {
	color: rgba(255,255,255,1);
	margin: 0 15px;
}

footer a:hover {
	color: rgba(255,255,255,.7);
}

footer {
	background: #000;
	color: #fff;
	padding: 20px;
	text-align: center;
	vertical-align: middle;
	/* padding: 10px 0 0 0; */
	/* text-align: center; */
}



@media (min-width: 1px) {
	body {
		min-width: 320px;
	}
}



@media (max-width: 991px) { 
	#taglineTop {
		top: 110px;
	}

	#taglineBottom {
		bottom: 75px;
	}

	/* [class*="col-"]:not(:first-child) {
		margin-top: 50px;
	} */
}



@media (max-width: 767px) {
	#taglineTop {
		font-size: 3em;
	}

	#taglineBottom {
		bottom: 90px;
		font-size: 2.25em;
	}

	#who > div, #what > div, #services > div, #contact > div {
		padding: 0 !important;
	}

	[class*="col-"]:not(:first-child) {
		margin-top: 50px;
	}
}



@media (max-width: 640px) {
	#taglineTop {
		font-size: 2.5em;
	}

	#taglineBottom {
		bottom: 90px;
		font-size: 2em;
	}
}



@media (max-width: 480px) {
	.navbar-custom {
		padding: 10px;
	}

	#logo {
		width: 200px;
	}

	#taglineTop {
		font-size: 1.8em;
	}

	#taglineBottom {
		bottom: 90px;
		font-size: 1.5em;
	}
}



@media (max-width: 360px) {
	#taglineTop {
		font-size: 1.6em;
	}

	#taglineBottom {
		bottom: 90px;
		font-size: 1.4em;
	}
}