*{
    margin: 0;
    padding: 0;
}
body {
	font-family: 'Open Sans', sans-serif;
	color:#333;
	background-color: #fff;
	height:100%;
	min-height:100%;
	font-size: 1em;
	overflow-x: hidden;
	text-rendering: optimizelegibility;
}

.claim{
	font-family: 'IBM Plex Sans Condensed', sans-serif;
	position:absolute;
	bottom:5%;
	left:50%;
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 80%;
	text-align: center;
	font-weight: 400;
	font-size:3em;
	color:#000;
	/*--color:#fff;
	text-shadow: 0px 1px 1px #000;--*/
	z-index:1;
}
.wrapper-home{
	position: absolute;
	top:100%;
	margin:0;
	width:100%;
	background-color: #fff;
}
.wrapper{
	position: absolute;
	top:10%;
	margin:0;
	width:100%;
	background-color: #fff;
}
#page-content{
	margin-top:100px;
}
section{
	margin:0 auto;
	width:100%;
}
h1{
	font-family: 'IBM Plex Sans Condensed', sans-serif;
	margin:60px 0px;
	color:#ccc;
}
p{
	margin-bottom: 20px;
	color:#000;
}
a{
	text-decoration: none;
	color:#f56d1b;
}
a:hover{
	text-decoration: none;
	color:#000;
}

.clearer{
	clear:both;
	height:100px;
}

footer{
	height:100px;
	background-color: #878787;
	color:#ccc;
	padding:50px;
	text-align: center;
	margin-top:50px;
}
footer a{
	color:#ddd;
	text-decoration: none;
	transition: all 1.2s ease-out;
	text-transform: uppercase;
}
footer a:hover{
	color:#fff;
	letter-spacing: 1px;
	transition: all .3s;
}
.credits{
	font-size:.7em;
	color:#aaa;
	text-transform: uppercase;
}
.credits a{
	text-decoration: none;
	color:#aaa;
}
.credits a:hover{
	color:#fff;
}
a.mega-menu-link, .mega-custom-icon{
	transition: all 1.2s ease-out !important;
}
a.mega-menu-link:hover, .mega-custom-icon:hover{
	transition: all .3s !important;
}
a.boxed-link{
	font-size:1.2em;
	letter-spacing: 1px;
	font-family: 'IBM Plex Sans Condensed', sans-serif;
	border: 1px solid black;
	padding:20px 10px;
	background-color: #fff; 
	color:#000;
}
a.boxed-link:hover{
	color: #f56d1b; 
}
#final-links{
	width:100%;
	text-align: center;
	margin-top:50px;
	margin-bottom: 100px;
}
nav{
	z-index: 99;
}
/*---------------- SCROLL DOWN ARROW ------------*/
@keyframes pulse 
  {       
    0% {opacity: .3;}
    20% {opacity: 1;}
    25% {opacity: .5;}
    30% {opacity: 1;}
    50% {opacity: .3;}
    100% {opacity: .3;}
  }
@-ms-keyframes pulse 
  {       
    0% {opacity: .3;}
    20% {opacity: 1;}
    25% {opacity: .5;}
    30% {opacity: 1;}
    50% {opacity: .3;}
    100% {opacity: .3;}
  }
@-moz-keyframes pulse 
  {       
    0% {opacity: .3;}
    20% {opacity: 1;}
    25% {opacity: .5;}
    30% {opacity: 1;}
    50% {opacity: .3;}
    100% {opacity: .3;}
  }
@-webkit-keyframes pulse 
  {       
    0% {opacity: .3;}
    20% {opacity: 1;}
    25% {opacity: .5;}
    30% {opacity: 1;}
    50% {opacity: .3;}
    100% {opacity: .3;}
  }
.scrollDown{
	z-index: 1;
	position: absolute;
	bottom: -10px;
	left: 50%;
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
.scrollDown img{
	-webkit-animation: pulse 2s linear infinite;
    -moz-animation: pulse 2s linear infinite; 
    -ms-animation: pulse 2s linear infinite; 
    animation: pulse 2s linear infinite; 
}
.scrollDown img:hover{
	-webkit-animation: none;
    -moz-animation: none;
    -ms-animation: none;
    animation: none;
    opacity: 1;
    transform: translateY(3px);
}

/*---------------- CONTENUTI --------------------*/

h1#titoli{
	font-family: 'IBM Plex Sans Condensed', sans-serif;
	color: #000;
	font-size: 2.5em;
	font-weight: 400;
	text-align: center;
	text-transform: uppercase;
	margin: 100px auto 0 auto;
	width: fit-content;
}
#testi{
	font-family: 'Open Sans', sans-serif;
	color:#666;
	font-size: 1.2em;
	
	text-align: center;
	line-height: 35px;
	width:60%;
	margin:0 auto;
}
#contenuti, #contenuti p{
	font-family: 'Open Sans', sans-serif;
	color:#666;
	font-size: 1em;
	text-align: center;
	line-height: 25px;
	width:100%;
	margin:0 auto;
}
#contenuti p:first-child{
	margin-top:60px;
}
#contenuti h1{
	font-family: 'IBM Plex Sans Condensed', sans-serif;
	color: #000;
	font-size: 2em;
	font-weight: 400;
	text-align: center;
	line-height: 45px;
	margin: 25px auto;
}
#contenuti h2{
	font-family: 'IBM Plex Sans Condensed', sans-serif;
	color: #000;
	font-size: 1.4em;
	font-weight: 400;
	text-align: center;
	line-height: 25px;
	margin: 25px auto;
}
#contenuti strong{
	color: #000;
	font-size: 1.7em;
	line-height: 25px;
	margin-top:20px;
}
#home_portfolio, #about_portfolio{
	width:100%;
	height:100%;
	margin:3% auto;
}
#home_portfolio img, #about_portfolio img{
	width:100%;
	height:100%;
}
#pdf{
	opacity:.7;
	transition: all 1s ease-out !important;
}
#pdf:hover{
	opacity:1;
	transition: all .3s !important;
}
/* ----------------- VIDEO --------------------- */
.embed-container { 
	position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;
	
    background-repeat: no-repeat;
    background-position: 50% 50%;
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	-o-background-size: cover !important;
	background-size: cover !important;
} 
.embed-container iframe, .embed-container object, .embed-container embed { 
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
}

/* ----------------- STUDIO ---------------------------- */

#studio{
	width:100%;
	height:auto;
	margin:50px auto 50px auto;
	text-align: left;
}
#studio-img{
	width:100%;
	height:auto;
	text-align: center;
}
#studio-img img{
	width:100%;
	height:auto;
}
.swiper-container{
	margin-top:60px;
}
.swiper-button-next,
.swiper-button-prev {
    background-color: #fff !important;
}
.swiper-button-prev{
    background-image: url("../img/scrollLeft.png");
}
.swiper-button-next{
    background-image: url("../img/scrollRight.png");
}
.swiper-button-prev:hover{
    background-image: url("../img/scrollLeft.png");
    transform: translateX(-5px);
}
.swiper-button-next:hover{
    background-image: url("../img/scrollRight.png");
    transform: translateX(5px);
}


/*------------------- GALLERY ----------------------*/

#gallery{
	position: absolute;
	top:10%;
	width:100%;
	height:auto;
	margin:0px;
	text-align: left;
}
#gallery-img{
	width:100%;
	height:auto;
	text-align: center;
}
#gallery-img img{
	width:100%;
	height:auto;
}

/* ----------------- PORTFOLIO --------------------- */

.portfolio{
	position:relative;
	width: 100%;
	margin: 75px auto;
}
.portfolio_img{
	float: left;
	width:49%;
	border: .5em solid white;
	padding: 0;
	overflow: hidden;
	position: relative;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
.portfolio_img_cont{
	width:100%;
	overflow: hidden;
	transition: all .5s ease-out;
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	-o-background-size: cover !important;
	background-size: cover !important;
}
.portfolio_img_cont img{
	width:100%;
	transition: all 2s ease-out;
}
.portfolio_img:hover > .portfolio_img_cont{
	animation: flash .2s;
	transform: scale(1.03);
	transition: all .2s ease-out;
}
.portfolio_img:hover > .portfolio-overlay p{
	background-color: rgba(255,255,255,1);
	transition: all .2s ease-out;
}
@keyframes flash 
  {       
    0% {filter: brightness(1.2) contrast(1.2);}
    100% {filter: brightness(1) contrast(1);}
  }
@-ms-keyframes flash 
  {       
    0% {filter: brightness(1.2) contrast(1.2);}
    100% {filter: brightness(1) contrast(1);}
  }
@-moz-keyframes flash 
  {       
    0% {filter: brightness(1.2) contrast(1.2);}
    100% {filter: brightness(1) contrast(1);}
  }
@-webkit-keyframes flash 
  {       
    0% {filter: brightness(1.2) contrast(1.2);}
    100% {filter: brightness(1) contrast(1);}
  }
a.portfolio-link{
	border:0px;
}
.portfolio-overlay{
	z-index:5;
	position: absolute;
	text-align: center;
	bottom: 10px;
	left: 20px;
	font-family: 'Open Sans', sans-serif;
	cursor: pointer;
}
.portfolio-overlay p{
	background-color: rgba(255,255,255,.6);
	padding:6px 10px;
	font-size: 1.5em;
	color:#000;
	transition: all 1.2s ease-out;
}

/* ----------------- CASE HISTORY --------------------- */

.wrapper-case{
	position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #fff;
}
.parallax_section {
  margin:0;
  height: 800px;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-position: 100% auto;
  position: relative;
}
.parallax_image {
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: top;
  height: 100%;
}
#case-content{
	font-family: 'Open Sans', sans-serif;
	color:#666;
	font-size: 1em;
	text-align: center;
	line-height: 25px;
	width:100%;
	margin:3% auto;
}
#case-content h1 p{
	font-family: 'Open Sans', sans-serif;
	color: #000;
	font-size: 1em;
	padding-top:15px;
	text-align: center;
	text-transform: uppercase;
	margin: 100px auto 0 auto;
	width: fit-content;
}
.case-main{
	width: 300px;
    height: auto;
    margin: -100px auto 100px auto;
    border: 10px solid #fff;
    position: relative;
    z-index: 2;
}
.case-main img{
	width: 100%;
    height: auto;
}
.case_img_cont_title{
	margin-top:50px;
}
.case_img_cont_title img{
	width: auto !important;
    height: auto !important;
}
.case_img{
	float: left;
	width:49%;
	margin: .5%;
	padding: 0;
	overflow: hidden;
	position: relative;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
.case_img_cont{
	width:100%;
	overflow: hidden;
	transition: all .5s ease-out;
	-webkit-background-size: cover !important;
	-moz-background-size: cover !important;
	-o-background-size: cover !important;
	background-size: cover !important;
}
.case_img_cont img{
	width:100%;
}

/* ----------------- CONTATTI --------------------- */
.contact{
	width:70%;
	margin:150px auto 50px auto;
	
}
#maps{
	float:left;
	width:50%;
	margin:0%;	
}
#modulo{
	float:left;
	width:48%;
	margin: 0 1%;
}
#form-content{
	width:90%;
	margin:0 auto;
}
input {
	padding: 10px;
	font-size: 1.2em;
	color: #666;
	border: 1px solid #ccc;
	margin: 10px auto 0px auto;
	font-family: 'Open Sans', sans-serif;
}
input[type=text],input[type=tel],input[type=email]{
	width:100%;
}
textarea{
	width:100%;
	padding: 10px;
	font-size: 1.2em;
	color: #666;
	height: 200px;
	border: 1px solid #ccc;
	margin: 20px auto 0 auto;
	font-family: 'Open Sans', sans-serif;
}
.legal{
	width:100%;
}
.legal label input{
	display: inline-block;
	float:left;
}
.legal label input[type=checkbox]{
	display: inline-block;
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
.legal label input[type=checkbox]:checked{
	background-color: #000;
}
.legal label span{
	display: inline-block;
	float:left;
	width: 80%;
    margin-left: 20px;
    margin-top: 10px;
}
#form-content a{
	text-decoration: none;
	color: #d50b18;
	transition: all 1.2s ease-out;
	margin:10px 0;
}
#form-content a:hover{
	color: #54b8db;
	transition: all .3s;
}
input[type=submit]{
	background-color: #000;
	color:#fff;
	transition: all 1.2s ease-out;
}
input[type=submit]:hover{
	background-color: #666;
	color:#000;
	transition: all .3s;
}
.legal-info{
	text-align:left !important;
}
.legal-info h2{
	font-size:1.5em;
	margin-bottom:50px;
}
/* ----------------- MEDIA QUERIES --------------------- */

@media only screen and (max-width: 1366px) {
	.claim{
		transform: unset;
	    bottom: 0;
	    left:0;
	    margin: 0;
		width:100%;
		text-align: center;
		font-size:1.5em;
		color:#fff;
		background-color: #000;
	}
}
@media all and (max-width: 920px) {
	#maps{
		width:100%;
	}
	#modulo{
		width:100%;
	}
	#gallery{
		position: relative;
	}
	.wrapper{
		position: relative;
	}
}
@media all and (max-width: 800px) {
	.portfolio{
		width: 99%;
	}
	.portfolio_img{
		width:100%;
	}
	.wrapper-home{
		top:100%;
		margin:0;
		width:100%;
		background-color: #fff;
	}
	.embed-container { 
	    position: absolute;
	    height: 100%;
	    overflow: hidden;
	    max-width: none;
	    width: 100%;
	    margin: 0;
	}
}
@media all and (max-width: 600px) {
	.portfolio{
		width: 99%;
	}
	.portfolio_img{
		float: left;
		width:100%;
		
	}
	footer {
    	height: 150px;
    }
}