/***************** 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: #1d1d1b;
	-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: 48px;
	padding-bottom: 48px;
}

.pad-small{
	padding-top: 44px;
	padding-bottom: 44px;
}

.pad-bottom{
	margin-bottom: 88px;
}

/** TYPO **/

.text-white{
	color: #fff;
}

h1, h2, h3, h4, h5, h6{
	letter-spacing: 10px;
	text-transform: uppercase;
	margin-right: -10px;
}

/** ELEMENTS **/

.hr {
	background-color: #1d1d1b;
	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 #1d1d1b;
	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;
	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: #a61d48;
	}

#logo{
	padding-top: 20px;
}

#logo1 {
	padding-bottom: 40px;
}
/***************** 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: 0px;
	left: 0px;
	min-width: 100%;
	min-height: 100%;
	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: 10px;
	height: 350px;
    padding-left: 10px;
    padding-right: 10px;
}

.slider-tile i{
	font-size: 2.5em;
}

.slider-tile h5{
	margin-top: 5px;
	margin-bottom: 5px;
}

.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 3; /* Safari and Chrome */
	-moz-columns:100px 3; /* Firefox */
	font-weight: 300;
	margin-bottom: 66px;
	text-align: justify;
}

.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 #1d1d1b;
	border-right: 3px solid #1d1d1b;
	border-bottom: 3px solid #1d1d1b;
	max-height: 132px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
}

.service:hover{
	border-right: 1px solid #1d1d1b;
	border-bottom: 1px solid #1d1d1b;
	top: 2px;
	left: 2px;
	
}

.open-service {
	max-height: 680px !important;
	border-right: 3px solid #1d1d1b;
	border-bottom: 3px solid #1d1d1b;
}

.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;
}


.centered-images {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px; /* Spazio tra le immagini */
	flex-wrap: nowrap; /* Impedisce il wrap su più righe */
	overflow-x: auto; /* Aggiunge lo scorrimento orizzontale se necessario */
}

	.centered-images .columns {
		flex: 0 0 auto; /* Assicura che ogni colonna mantenga la sua dimensione */
	}

.work-img-holder img {
	max-width: 100%;
	height: auto;
	display: block;
}



/***************** 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;
	margin-bottom: 11px;
}

#contact-details li a{
	color: #fff;
}

#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: 100%;
	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);
}

#contact-form #food {
	overflow: hidden;
	width: 100%;
	float: right;
	border-right: 3px solid #666;
	border-bottom: 3px solid #666;
	border-top: 1px solid #666;
	border-left: 1px solid #666;
	padding: 5px;
	margin-bottom: 11px;
	background-color: rgba(255,255,255,0.5);
}

#form-food {
	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;
}

#contact-form #people {
	overflow: hidden;
	width: 48%;
	float: right;
	border-right: 3px solid #666;
	border-bottom: 3px solid #666;
	border-top: 1px solid #666;
	border-left: 1px solid #666;
	padding: 5px;
	margin-bottom: 11px;
	background-color: rgba(255,255,255,0.5);
}

#form-people {
	width: 80%;
	float: left;
	margin-bottom: 0px;
	border: none;
	background-color: rgba(0,0,0,0);
}


#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;
}