/***************** PSEUDO & GENERAl CLASSES ***************/

body{  -webkit-font-smoothing: antialiased; }
input{ -webkit-appearance: none; }


#loader{ 
	opacity: 1; 
	position: absolute; 
	width: 100%; 
	height: 100%; 
	background-color: #fff; 
	z-index: 2000;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	transition: all .5s ease;
}
#progress-bar {
	height: 10px;
	background-color: #f8cd00;
	-webkit-transition: width .5s ease;
	-moz-transition: width .5s ease;
	transition: width .5s ease;
	position: relative;
	top: 400px;
	width: 0px;
}
.hide-loader{ opacity: 0 !important; z-index: -1 !important; }

/** SPACING **/

.pad-large{
	padding-top: 88px;
	padding-bottom: 88px;
}

.pad-small{
	padding-top: 44px;
	padding-bottom: 44px;
}

.pad-bottom{
	margin-bottom: 88px;
}

/** TYPO **/

.text-white{
	color: #fff !important;
}

h1, h2, h3, h4, h5, h6{
	letter-spacing: 10px;
	text-transform: uppercase;
	margin-right: -10px;
}

/** ELEMENTS **/

.hr {
	background-color: #f8cd00;
	height: 1px;
	margin: 0px auto;
}

.thick-hr{
	background-color: #222;
	height: 6px;
	margin: 0px auto;
}

.btn {
	border: 1px solid #2c2559;
	border-right: 3px solid;
	border-bottom: 3px solid;
	padding: 15px;
	display: inline-block;
	cursor: pointer;
	position: relative;
}

.btn:hover{
	border-right: 1px solid;
	border-bottom: 1px solid;
	top: 2px;
	left: 2px;

}

.btn-wrapper{
	display: inline-block;
}

.page-header .box-heading {
	font-family: 'Petrona';
	font-size: 14px;
	padding: 10px;
	border: 1px solid #285370;
	margin-bottom: 22px;
	display: inline-block;
}

.page-header .hr{
	margin-top: 22px;
}

#quote-divider{
	background: url('../img/location.jpg');
	background-size: cover;
	background-attachment: fixed;
	position: relative;
    background-position:center;
}

#quote-divider:before{
	content:'';
	width: 100%;
	height: 100%;
	background-color:rgba(0,0,0,0.3);
	position: absolute;
}

#quote-divider .large-8{
	padding-top: 88px;
	padding-bottom: 88px;
}

#quote-divider .thick-hr{
	margin: 0px;
	margin-top: 22px;
	margin-bottom: 32px;
	background-color: #fff;
}

#quote-divider .btn-wrapper{
	margin-right: 11px;
}

#quote-divider .btn{
	border-color: #fff;
	color: #fff !important;
	letter-spacing: 3px;
	font-size: 12px;
}

#quote-divider .btn i{
	margin-right: 5px;
}

#clients{
	background: url('../img/sez-img-bg.jpg');
	background-size: cover;
	background-attachment: fixed;
	position: relative;
}

#clients:before{
	content:'';
	width: 100%;
	height: 100%;
	background-color:rgba(0,0,0,0.3);
	position: absolute;
}

#clients .large-12{
	margin-top: 88px;
	margin-bottom: 44px;
}

#clients .large-12 .hr{
	background-color: #fff;
	margin-top: 22px;
}

.client{
	margin-bottom: 88px;
}

.client img{
	width: 80%;
}

.client .pad{
	position: relative;
	bottom: 20px;
}





/***************** NAVIGATION ***************/

.mobile-nav{
	display: none;
}

#nav{
	max-height: 90px;
	min-height: 90px;
	overflow: hidden;
	background-color: #fff;
	position: fixed;
	top: 0px;
	z-index: 200;
	width: 100%;
	text-align: center;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	transition: all .5s ease;
}

.open-nav{
	max-height: 300px !important;
}

.open-menu{
	display: none !important;
}

.navigation{
	overflow: hidden;
	list-style: none;
	padding-top: 37px;
	display: inline-block;
	margin-bottom: 0px;
}

.navigation li{
	float: left;
	margin-right: 44px;
	font-size: 0.7em;
	text-transform: uppercase;
	letter-spacing: 4px;
}

.navigation li:last-child{
	margin-right: 0px;
}

	.navigation li a {
		color: #285370;
	}

#logo{
	padding-top: 20px;
}

/***************** HOME ***************/

#home{
	overflow: hidden;
}

#home-slider{
	position: relative;
	overflow: hidden;
	margin-top: 90px;
}

#home-slider .slides li{
	padding-top: 150px;
	padding-bottom: 150px;
	background-size: cover !important;
	background-position: center;
}

#home-slider .flex-direction-nav .flex-prev {
	left: -44px;
	opacity: 0.7;
	top: 48%;
}

#home-slider .flex-direction-nav .flex-next {
	right: -44px;
	opacity: 0.7;
	top: 48%;
}

#home-slider:hover .flex-direction-nav .flex-prev {
	left: 44px;
}

#home-slider:hover .flex-direction-nav .flex-next {
	right: 44px;
}

.slider-bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; 
	object-position: center; 
	z-index: -1;
}


#home-slider1 {
	position: relative;
	overflow: hidden;
	margin-top: 30px;
	margin-bottom: 90px;
}

	#home-slider1 .slides li {
		padding-top: 300px;
		padding-bottom: 200px;
		background-size: cover !important;
		background-position: center;
	}


.slider-bg1 {
	position: absolute;
	top: 0px;
	left: 0px;
	min-width: 100%;
	min-height: 100%;
	z-index: -1;
}

.tile-wrapper{
	border: 1px solid rgba(255,255,255,0.8);
	padding: 10px;
	width: 350px;
	height: 350px;
	margin: 0px auto;
}

.tile-wrapper-noborder{
	border: 0px solid rgba(255,255,255,0.8);
	padding: 10px;
	width: 350px;
	height: 350px;
	margin: 0px auto;
}

.slider-tile{
	width: 100%;
	background-color: rgba(255,255,255,0.8);
	margin: 0px auto;
	text-align: center;
	padding-top: 20px;
	height: 330px;
}

.slider-tile i{
	font-size: 2.5em;
}

.slider-tile h5{
	margin-top: 11px;
	margin-bottom: 22px;
}

.slider-tile .hr{
	margin-bottom: 44px;
}

.slider-tile .biline{
	width: 60%;
	font-weight: 300;
	margin: 0px auto;
	font-family: 'Petrona';
}

/***************** ABOUT ***************/

#about-text{
	columns:100px 3;
	-webkit-columns:100px 1; /* Safari and Chrome */
	-moz-columns:100px 1; /* Firefox */
	font-weight: 300;
	margin-bottom: 66px;
	text-align: center;
}

.team-member{
	opacity: 0.7;
	text-align: center;
	padding: 10px;
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	transition: all .2s ease;
	cursor: pointer;
}

.team-member:hover{
	opacity: 1;

}

.team-member span{
	font-size: 14px;
}

.team-member .hr{
	margin-top: 11px;
	margin-bottom: 11px;
}

.team-social{
	list-style: none;
	overflow: hidden;
	margin: 0px auto;
	margin-bottom: 0px;
	display: inline-block;
}

.team-social li{
	float: left;
	margin-right: 5px;
}

.team-social a{
	color: #222;
}

.team-social i{
	font-size: 36px;
}

.team-social li:last-child{
	margin-right: 0px;
}

.team-img-wrapper{
	margin: 0px auto;
	margin-bottom: 11px;
}

.team-img-holder img{
	width: 80%;
}


.team-member h6{
	letter-spacing: 7px;
	margin-right: -7px;
	margin-bottom: 5px;
}

/***************** SERVICES ***************/

.services-row{
	margin-bottom: 22px;
}

.services-row:last-child{
	margin-bottom: 0px;
}

.service {
	padding: 15px;
	border: 1px solid #285370;
	border-right: 3px solid #285370;
	border-bottom: 3px solid #285370;
	max-height: 132px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
}

.service:hover{
	border-right: 1px solid #285370;
	border-bottom: 1px solid #285370;
	top: 2px;
	left: 2px;
	
}

.open-service {
	max-height: 680px !important;
	border-right: 3px solid #285370;
	border-bottom: 3px solid #285370;
}

.open-service .hr{
	opacity: 1 !important;
}

.open-service p{
	opacity: 1 !important;
}

.service i{
	font-size: 42px;
}

.service h5{
	margin-top: 22px;
	letter-spacing: 7px;
	margin-right: -7px;
}

.service .hr{
	margin-top: 22px;
	margin-bottom: 22px;
	opacity: 0;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
}

.service p{
	opacity: 0;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	transition: all .3s;
	margin-bottom: 7px;
}



/***************** WORK ***************/
.work-row{
	margin-bottom: 30px;
}

.work-img-holder{
	width: 100%;
	height: 300px;
	overflow: hidden;
	position: relative;
}

.work-img-holder img{
	width: 100%;
}

.work-overlay{
	width: 100%;
	height: 100%;
	left: 0%;
	top: 0%;
	background-color: rgba(255,255,255,0.8);
	padding: 180px 15px 15px 15px;
	position: absolute;
	font-weight: 300;
	opacity: 0;
	cursor: pointer;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	transition: all .2s;
}

.work-overlay h6{
	letter-spacing: 7px;
	margin-right: -7px;
}	

.work-overlay .hr{
	margin: 0px;
	margin-top: 11px;
	margin-bottom: 11px;
}

.work-img-holder:hover .work-overlay{
	opacity: 1;
	width: 94%;
	height: 94%;
	top: 3%;
	left: 3%;
}

.project{
	max-height: 0px;
	overflow: hidden;
	-webkit-transition: all .8s;
	-moz-transition: all .8s;
	transition: all .8s;
}

.open-project{
	max-height: 1000px !important;
}

.close-project{
	margin-top: 88px;
	margin-bottom: 44px;
	cursor: pointer;
}

.close-project i{
	font-size: 62px;
}

.work-slider{
	position: relative;
}

.project-img-holder{
	/**width: 630px;**/
	max-width:100%;
	height: 630px;
	overflow: hidden;
	margin: 0px auto;
}

.work-slider .flex-direction-nav a{
	top: 46%;
}

.work-slider .flex-direction-nav a:before {
	color: #222;
}

.project-details{
	margin-bottom: 44px;
}

.project-details .hr{
	margin-top: 22px;
	margin-bottom: 22px;
}

.project-details p{
	width: 50%;
	display:block;
	margin: 0px auto;
}	

/***************** CONTACT ***************/

#contact{
	position: relative;
	z-index: 1;
}

#contact-holder{
	padding-top: 88px;
	padding-bottom: 88px;
	overflow: hidden;
	background-color: rgba(255,255,255,0.6);
	position: relative;
	z-index: 2;
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	transition: all .5s;
	opacity: 1;
}

.contact-fade{
	opacity: 0 !important;
	z-index: -1 !important;
}



#map-toggle{
	position: absolute;
	z-index: 3;
	top: 44px;
	right: 44px;
	letter-spacing: 3px;
	font-size: 12px;
}

#contact iframe{
	border: none;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
	top: 0px;
}

#contact-details{
	overflow: hidden;
	list-style: none;
}

#contact-details li{
	float: left;
	margin-right: 11px;
	padding: 10px 10px 13px 10px;
	background-color: #1d1d1b;
	color: #fff !important;
	margin-bottom: 11px;
}

#contact-details li a{
	color: #fff !important;
}

#contact-form #name {
	overflow: hidden;
	width: 48%;
	margin-right: 2%;
	float: left;
	border-right: 3px solid #2c2559;
	border-bottom: 3px solid #2c2559;
	border-top: 1px solid #2c2559;
	border-left: 1px solid #2c2559;
	padding: 5px;
	margin-bottom: 11px;
	background-color: rgba(255,255,255,0.5);
}

#form-name{
	width: 80%;
	float: left;
	margin-bottom: 0px;
	border: none;
	background-color: rgba(0,0,0,0);
}

#contact-form #email {
	overflow: hidden;
	width: 48%;
	float: right;
	border-right: 3px solid #2c2559;
	border-bottom: 3px solid #2c2559;
	border-top: 1px solid #2c2559;
	border-left: 1px solid #2c2559;
	padding: 5px;
	margin-bottom: 11px;
	background-color: rgba(255,255,255,0.5);
}

#form-email{
	width: 80%;
	float: left;
	margin-bottom: 0px;
	border: none;
	background-color: rgba(0,0,0,0);
}

.form-icon{
	border-right: 2px solid #222;
	float: left;
	margin-right: 11px;
	padding-right: 3px;
}	

.form-icon i{
	font-size: 29px;
}

#email .form-icon i{
	position: relative;
	bottom: 2px;
}

#message {
	border-right: 3px solid #2c2559;
	border-bottom: 3px solid #2c2559;
	border-top: 1px solid #2c2559;
	border-left: 1px solid #2c2559;
	padding: 5px;
	margin-bottom: 11px;
	overflow: hidden;
	background-color: rgba(255,255,255,0.5);
	width: 100%;
	float: none;
	clear: both;
}

#form-message{
	float: left;
	width: 88%;
	height: 100px;
	border: none;
	background-color: rgba(0,0,0,0);
}

#contact-form .btn-wrapper{
	font-size: 12px;
	letter-spacing: 3px;
	float: right;
}

#details-error{
	padding: 10px;
	background-color: #ba2f2f;
	display: inline-block;
	float: left;
	display: none;
}

#form-sent{
	padding: 10px;
	background-color: #2fba53;
	display: inline-block;
	float: left;
	display: none;
}

#footer{
	margin-top: 44px;
}

#footer .hr{
	margin-bottom: 22px;
}

#footer-social{
	overflow: hidden;
	list-style: none;
	margin-bottom: 22px;
	display: inline-block;
}

#footer-social li a{
	color: #222;
}

#footer-social li{
	float: left;
	margin-right: 11px;
}

#footer-social li:last-child{
	margin-right: 0px;
}

#footer-social li i{
	font-size: 40px;
}

#footer span{
	float: none;
	clear: both;
}

.logo-text{
	font-weight: bold;
	letter-spacing: 3px;
	margin-right: -3px;
}

#copy-text{
	opacity: 0.4;
	font-size: 12px;
}
/************** SMARTPHONES ****************/

@media only screen and (max-width: 767px){

	.hide-for-small{ display: none; }
	.mobile-nav{ display: block; }
	.navigation{ padding-bottom: 22px; }
	.navigation li{ float: none; margin-bottom: 11px; overflow: hidden; }
	.open-menu {
		display: block !important;
		position: absolute;
		right: 22px;
		top: 31px;
		cursor: pointer;
		z-index: 0
	}
	.navigation li a{ float: left; }

	.tile-wrapper{ width: 100%; }
	#home-slider .slides li{ padding-top: 50px; padding-bottom: 50px; }
	

	.slider-bg {
		object-position: top; /* Adjust the focus of the image for smaller screens */
	}

	@media only screen and (max-width: 767px) and (orientation: landscape) {
		#home-slider .slides li {
			padding-bottom: 0; /* Remove the padding-top */
            padding-top: 0;
            margin-top: 30px;
		}

		#nav {
			padding-bottom: 1.5rem; /* Extra padding to prevent overlap */
            max-height: 125px;
		}

		#home-slider {
			/*margin-top: 1.5rem;*/
		}
	}

    #home-slider1 .slides li{ padding-top: 0px; padding-bottom: 0px; background-position: center !important; }
	.slider-bg1{ max-width: 200%; }
	#about-text{
		columns: 100px 1;
		-webkit-columns: 100px 1;
		-moz-columns: 100px 1;
	}

	#quote-divider {
		background: url('../img/location.jpg');
		background-size: cover;
		position: relative;
		background-position: center;
	}
	
	.team-img-holder img{ width: 50% }
	.service{ margin-bottom: 11px; }
	.services-row{ margin-bottom: 0px; }
	.client{ margin-bottom: 22px; }
	.client img{ width: 50%; }
	.work-item{ margin-bottom: 22px; }
	.work-row{ margin-bottom: 0px; }
	.project-details p{ width: 100%; }
	.project-img-holder{ width: 100%; height:630px; }
	#map-toggle{ right: auto; left: 30%; }
	#contact-holder{ padding-top: 110px; }
	#contact-form #name{ width: 100%; margin-right: 0px; }
	#contact-form #email{ width: 100%; margin-right: 0px; }
	.flex-direction-nav a{ display: none; }

}



/****************** TABLETS (portrait and landscape) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) {

	#clients{  background-attachment: scroll; }
	#quote-divider{ background-attachment: scroll; }

}

/***************** TABLETS (portrait) ----------- */
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : portrait) {

	.navigation li{ margin-right: 32px; }
	.service h5{ 1em }
	.service{ max-height: 154px; }
	.work-overlay{ padding: 100px 15px 15px 15px; }
	.work-img-holder{ height: 220px; }
	#form-name{ width: 70%; }
	#form-email{ width: 70%; }

}










