/**
 *	Project: South Engineering;
 *	Custom Stylesheets
 *	Author: Ionut Tatu - Back9 Creative;
 *	Version: 1.0;
 *	12.11.2018
 */



/* General */
body {
	font-family: 'Montserrat', sans-serif !important;
}
.page:not(.home) #content {
	padding: 0;
}
.has-sidebar:not(.error404) #primary {
	float: none;
	width: 100%;
}
.site-content {
	padding: 0;
}
body.page-two-column:not(.archive) #primary .entry-content {
	float: none;
	width: 100%;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  	font-weight: 300;
  	color: #5D5D5D;
  	font-style: italic;
}
::-moz-placeholder { /* Firefox 19+ */
  	font-weight: 300;
  	color: #5D5D5D;
  	font-style: italic;
}
:-ms-input-placeholder { /* IE 10+ */
  	font-weight: 300;
  	color: #5D5D5D;
  	font-style: italic;
}
:-moz-placeholder { /* Firefox 18- */
	font-weight: 300;
  	color: #5D5D5D;
  	font-style: italic;
}


/* Header */
.site-header {
	background-size: cover;
	background-position: 50% 50%;
	min-height: 100vh;
}
.navWrapper {
	background: rgba(0, 0, 0, .4);
	z-index: 1000 !important;
	transition: all .5s;
}
.is-sticky .navWrapper {
	transition: all .5s;
	background: rgba(0, 0, 0, .8);
}
#logo {
	max-height: 90px;
	width: 100%;
	margin: 15px 0;
}

/* Navigation */
.navigation-top {
	position: relative;
	background: transparent;
	border: none;
}
#top-menu {
	text-align: right;
}
.main-navigation a {
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	text-transform: uppercase;
	position: relative;
	padding: 5px 10px;
	transition: all .5s;
	line-height: 120px;
}
.main-navigation a i {
	font-size: 20px;
}
.main-navigation li {
	transition: all .5s;
	margin: 0 5px;
}
.main-navigation li:hover, 
.navigation-top .current-menu-item, 
.navigation-top .current_page_item {
	transition: all .5s;
}
.main-navigation a:hover, 
.main-navigation a:focus, 
.main-navigation a:active,
.navigation-top .current-menu-item > a, 
.navigation-top .current_page_item > a {
	color: #fff;
	text-decoration: none;
	transition: all .5s;
}


.heading {
	position: absolute;
	top: 120px;
	left: 0;
	width: 100%;
	height: calc(100% - 120px);
	display: flex;
	justify-content: center; /* align horizontal */
	align-items: center; /* align vertical */
}
.heading h1,
.heading h2,
.heading p {
	margin: 0;
	padding: 0;
	color: #fff;
}
.heading h1 {
	font-size: 75px;
	font-weight: 700;
	line-height: 75px;
}
.heading h2 {
	font-size: 50px;
	line-height: 55px;
	font-weight: 700;
}
.heading a {
	color: #fff;
	background: #3787A3;
	border: 1px solid #3787A3;
	font-size: 16px;
	text-transform: uppercase;
	padding: 10px 20px;
	font-weight: 700;
	margin-top: 30px;
	transition: all .6s;
	display: inline-block;
}
.heading a:hover,
.heading a:active,
.heading a:focus {
	transition: all .6s;
	background: rgba(55, 135, 163, 0.5);
	text-decoration: none;
	color: #fff;
}



.homeContent h2 {
	font-size: 38px;
	line-height: 50px;
	color: #000;
	margin: 0;
	text-transform: uppercase;
	font-weight: 700;
}
.homeContent .desc p {
	font-size: 16px;
	line-height: 24px;
	color: #000;
	margin: 0;
}
.homeContent .services {
	text-align: center;
	padding: 70px 0;
}
.homeContent .gallery {
	text-align: center;
	padding: 0 0 70px 0;
}
.homeContent .gallery .desc {
	margin-bottom: 50px;
}
.homeContent .gallery .items {
}
.homeContent .gallery .items .small img {
	margin-bottom: 23px;
}
.homeContent .gallery .items .large img {
	height: 443px;
}
.additionalImages {
	display: none;
}


.loadMore {
	background: #3787A3;
	border: 1px solid #3787A3;
	height: 50px;
	line-height: 50px;
	padding: 0 25px;
	color: #fff;
	font-size: 18px;
	text-transform: uppercase;
	font-weight: 700;
	transition: all .6s;
	display: inline-block;
	margin-top: 30px;
}
.loadMore:hover,
.loadMore:active,
.loadMore:focus {
	transition: all .6s;
	background: transparent;
	color: #3787A3;
	text-decoration: none;
}





.homeContent .about h2 {
	margin-bottom: 10px;
}
.contact {
	position: relative;
	background-position: 50% 50%;
	background-size: cover;
	margin-top: 50px;
}
.contact .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, .9);
}
.contact .container {
	padding: 80px 15px 100px 15px;
}
.contact .homeContent h2,
.contact .homeContent .desc {
	text-align: center;
}
.contact .homeContent .desc {
	margin-bottom: 70px;
}
.contact .details p {
	margin-bottom: 20px;
	font-size: 18px;
}
.contact .details p span {
	display: inline-block;
	width: 140px;
	font-weight: 700;
}
.contact .details p a {
	color: #000;
}
.contact .details p a.fb {
	text-decoration: underline;
}






.wpcf7 label {
	width: 100%;
}
.wpcf7 label span.lbl {
	font-size: 15px;
	color: #000;
	font-weight: 700;
	text-transform: uppercase;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
	border: 1px solid #ADADAD;
	background: transparent;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	font-weight: 500;
	padding: 10px 15px;
	height: 45px;
	color: #363636;
}
.wpcf7 textarea {
	height: 150px;
}
.wpcf7 input[type="submit"] {
	background: #3787A3;
	border: 1px solid #3787A3;
	padding: 7px 30px;
	font-size: 18px;
	color: #fff;
	font-weight: 700;
	text-transform: uppercase;
	height: 40px;
	transition: all .6s;
	margin-top: 18px;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:active,
.wpcf7 input[type="submit"]:focus {
	transition: all .6s;
	background: transparent;
	color: #3787A3;
}
div.wpcf7 .ajax-loader {
	display: block;
}




/* Footer */
.site-footer {
	border: none;
	margin: 0;
	background: #313131;
	padding: 60px 0;
}
footer p.copy {
	color: #fff;
	text-align: center;
	font-size: 16px;
	margin: 0;
	letter-spacing: 0.5px;
}
footer p.copy a {
	color: #fff;
	text-decoration: underline;
}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
	border: none;
	color: #ff0000;
	padding: 0;
	margin: 0;
}
div.wpcf7-mail-sent-ok {
    border: none;
    color: #398f14;
    margin: 0;
    padding: 0;
}


/* Media Queries */
/* Mobile First */
@media screen and (min-width: 320px) {

}

/* Mobile Only */
@media screen and (min-width: 320px) and (max-width: 767px) {
	.site-header {
		padding: 0;
		min-height: 420px;
	    background-position: 85% 50%;
	}
	.navWrap {
		padding: 0 !important;
	}
	#logo {
		width: 100%;
		display: block;
		margin: 15px auto;
	}

	.main-navigation {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1;
	}
	.main-navigation ul {
		background: transparent;
	}
	#top-menu {
		text-align: center;
		margin-top: 0;
		border: none;
		padding: 0;
	}
	.main-navigation a {
		line-height: 45px;
		color: #fff;
	}
	.navWrapper {
		padding: 0 !important;
	}
	.menu-toggle {
	    font-size: 38px;
	    padding: 2px 0;
        color: #4f1c27;
        width: 100%;
        text-align: right;
        margin: 0;
        color: #fff;
        position: absolute;
        top: -75px;
        right: 15px;
        background-color: transparent;
		width: auto;
		text-align: center;
	}
	.menu-toggle:hover, .menu-toggle:focus {
		outline: none;
	}
	.main-navigation li {
		border: none;
		margin: 0;
	}
	.main-navigation li.customIcon {
		background: rgba(0, 0, 0, .85);
	}
	.main-navigation li a {
		color: #5D5D5D;
	}
	.main-navigation li.customIcon a {
		color: #fff;
	}
	.main-navigation li:hover, .navigation-top .current-menu-item, .navigation-top .current_page_item {
		background: rgba(0, 0, 0, .85);
	}
	.main-navigation li:hover a, .navigation-top .current-menu-item a, .navigation-top .current_page_item a {
		color: #fff;
	}

	

	footer p.copy {
		font-size: 12px;
	}
	footer p.copy a {
		display: block;
	}

	.heading {
		top: 105px;
	}
	.heading h1 {
		font-size: 42px;
		line-height: 42px;
	}
	.heading h2 {
		font-size: 30px;
		line-height: 30px;
	}
	.heading a {
		width: 100%;
		text-align: center;
	}

	header .heading {
		height: 290px;
	}


	.homeContent h2 {
	    font-size: 34px;
	    line-height: 46px;
	}
	.homeContent .desc p {
		font-size: 15px;
		line-height: 21px;
	}

	.homeContent .services {
		padding: 50px 0;
	}
	.homeContent .gallery .desc {
		margin-bottom: 30px;
	}
	.homeContent .gallery {
		padding: 0 0 50px 0;
	}
	.additionalImages {
		margin-top: 30px;
	}
	#about img {
		margin-bottom: 15px;
	}
	.contact .container {
		padding: 50px 15px 50px 15px;
	}
	.contact .homeContent .desc {
		margin-bottom: 50px;
	}
	.wpcf7 {
		margin-top: 30px;
	}
	.wpcf7 input[type="submit"] {
		width: 100%;
	}

}

/* Table Portrait */
@media screen and (min-width: 768px) and (max-width: 991px) {
	.main-navigation a {
		line-height: 45px;
		padding: 0 20px;
	}
	#top-menu {
		text-align: center;
		margin-top: 15px;
	}
	#logo {
		display: block;
		margin: 15px auto 0 auto;
		max-width: 240px;
	}

	.site-header {
		padding: 0;
		min-height: 420px;
	}
	.heading {
		top: 135px;
		height: calc(100% - 135px);
	}
	.heading h1 {
		font-size: 48px;
		line-height: 52px;
	}
	.heading h2 {
		font-size: 34px;
		line-height: 40px;
	}
	.additionalImages {
		margin-top: 30px;
	}
	#about img {
		margin-bottom: 30px;
	}
	.wpcf7 input[type="submit"] {
		width: 100%;
	}
	
}
/* Table Landscape */
@media screen and (min-width: 992px) and (max-width: 1199px) {
	#top-menu {
		text-align: center;
	}
	.main-navigation a {
		line-height: 81px;
	}
	#logo {
		display: block;
		max-width: 240px;
		margin: 15px 0;
	}

	.site-header {
		padding: 0;
		min-height: 460px;
	}
	.heading {
	    top: 90px;
	    height: calc(100% - 90px);
	}
	.heading h1 {
		font-size: 48px;
		line-height: 52px;
	}
	.heading h2 {
		font-size: 34px;
		line-height: 40px;
	}
	.homeContent .gallery .items .large img {
	    height: 365px;
	    width: auto;
	}
	
}

/* Small Screen */
@media screen and (min-width: 1200px) and (max-width: 1400px) {
	#logo {
	    max-width: 260px;
	}
	.main-navigation a {
		line-height: 88px;
	}
	.site-header {
		padding: 0;
		min-height: 500px;
	}
	.heading {
	    top: 90px;
	    height: calc(100% - 90px);
	}
	.heading h1 {
		font-size: 48px;
		line-height: 52px;
	}
	.heading h2 {
		font-size: 34px;
		line-height: 40px;
	}
	
}
/* Medium Screen */
@media screen and (min-width: 1401px) and (max-width: 1700px) {
	
}
@media screen and (min-width: 1701px) and (max-width: 2000px) {

}
/* Large Screen */
@media screen and (min-width: 1701px) {

}

