:root{

	--blue:#22428A;
	--yellow:#F7EF34;
	--red:#ec3327;
	--standard:30px;
	--double:60px;
	--triple:90px;
	--mini:10px;
}

::selection {
    background: var(--blue);
    color: #fff;
}

.wpcf7-list-item-label:before, .wpcf7-list-item-label:after, .wpcf7{
	line-height: 1;
}

*{
	margin:0px;
	padding:0px;
}

body{
	overflow-x: hidden;
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
}

h1, h2, h3, h4{
	font-family: 'Montserrat', sans-serif;
	font-weight:700;
	line-height: 1;
}

a img{
	border:0px;
}

a{
	text-decoration:none;
	transition: all 0.7s ease 0s;
	color:#000;
}

a:focus, a:hover, a:active{
	color:#000;
}

ul{
	list-style-type:none;
}

footer{
	background-color:#3b3b3b;
	padding-top:20px;
	padding-bottom:20px;
	color:#fff;
	font-size:12px;
}

footer p{
	color: #f4f4f4;
	font-size:12px;
	margin-bottom:0px;
}

.padding-0{
	padding:0;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #ffb900;
    background-color: #ffb900;
	padding:15px 30px;
	border-radius:5px;
}

.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
}

.center{
	text-align:center;
}

.clear{
	clear:both;
}

.parallax {
    background: transparent;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.wpcf7-form div.wpcf7-mail-sent-ok {
    border: 0px;
}

.wpcf7-form div.wpcf7-response-output {
    clear: both;
    margin: 0px 0px 30px 0px;
    padding: 0;
}

.wpcf7-form-control-wrap span.wpcf7-not-valid-tip{
    display:none;
}

.wpcf7-form div.wpcf7-validation-errors {
    border: 0px;
}

input[type="text"].wpcf7-not-valid, input[type="email"].wpcf7-not-valid, textarea.wpcf7-not-valid,select.wpcf7-not-valid{
    border:1px solid red;
}

.wpcf7-form-control-wrap span.wpcf7-not-valid input[type="checkbox"]{
	outline: 1px solid red;
}

.wpcf7-form-control-wrap {
    color: #fff;
    font-size: 12px;
}

input[type="submit"] {
	transition: all 0.7s ease 0s;
	cursor:pointer;
	background: #8779D6 !important;	
	color:#fff;
	border:1px solid #8779D6;
	font-size:14px;
	border:0px !important;
	width: 100%;
	padding: 7px 0;
	border-radius: 0;
	margin-bottom:10px;
	margin-top:60px;
}

input[type="submit"]:hover, input[type="submit"]:active, input[type="submit"]:focus {
    background-color:#8779D6;
	border:1px solid #8779D6;
	color:#fff;

}

.form span.wpcf7-list-item {
    margin: 0px;
	margin-top:0px;
}

span.wpcf7-list-item {
    margin: 0;
}

.wpcf7-form-control-wrap {
    color: #fff;
	font-size:12px;
}

input.btn-primary{
	margin-bottom:10px;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #999 !important;
	opacity: 1; /* Firefox */
  }
  
  :-ms-input-placeholder { /* Internet Explorer 10-11 */
	color: #999 !important;
  }
  
  ::-ms-input-placeholder { /* Microsoft Edge */
	color: #999 !important;
  }

  select:required:invalid {
	color: #999 !important;
  }
  option[value=""][disabled] {
	display: none;
  }

textarea{
	height:50px !important;
}

.form-control {
    color: #fff;
	background-color: #6A6A6A;
	border:0;
    background-image: none;
	margin-bottom:0px;
	box-shadow:none;
	margin-bottom:5px;
	border-radius: 0;
	font-size:12px;
}

.jumbotron{
	padding:0;
	position:relative;
	background-position:center center;
	height:100vh;
	background-repeat: no-repeat;
	background-size: cover;
}

select.form-control:not([size]):not([multiple]) {
	height: 30px;
  }

.mb-mini{
	margin-bottom:10px;
}

.p-tb{
	padding-top:30px;
	padding-bottom:30px;
}

.desktop{
	display:block;
}

.mobile{
	display:none;
}

.mb-standard{
	margin-bottom:var(--standard);
}

.pb-mini{
	padding-bottom:var(--mini);
}

.pt-standard{
	padding-top:var(--standard);
}

.pb-standard{
	padding-bottom:var(--standard);
}

.pt-double{
	padding-top:var(--double);
}

.pb-double{
	padding-bottom:var(--double);
}

.pt-triple{
	padding-top:var(--triple);
}

.pb-triple{
	padding-bottom:var(--triple);
}

.pl-standard{
	padding-left:var(--standard);
}

.pr-standard{
	padding-right:var(--standard);
}

.ptb-mini{
	padding-top:var(--mini);
	padding-bottom:var(--mini);
}

.wpcf7 .ajax-loader{
	display:block !important;
}

.visual{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.visual p{
	color:#fff;
	font-size: 21px;
	line-height: 1.5;
}

.visual h2{
	color:#fff;
}

#form p{
	margin-bottom:0px;
	line-height: 1;
}

.wpcf7-spinner{
	position: absolute;
}

.wpcf7-form{
	margin-top:var(--mini);
}

.wpcf7-radio.wpcf7-not-valid label{
	border-bottom:1px solid red;
}

.wpcf7-radio label{
	margin-right:30px;
}

.wpcf7-response-output{
	display:none;
}

.wpcf7-radio label span{
	font-size:20px;
	line-height: 1.5;
}

#logo{
	margin-top:var(--mini);
	margin-bottom:var(--mini);
	height:60px;
}

#visual{
	background-color:#F5F8FB;
}

#visual img{
	border-left:8px solid #fff;
	border-right:8px solid #fff;
}

.shadow{
	box-shadow: -1px 10px 44px -3px rgba(158,158,158,0.75);
	-webkit-box-shadow: -1px 10px 44px -3px rgba(158,158,158,0.75);
	-moz-box-shadow: -1px 10px 44px -3px rgba(158,158,158,0.75);
	padding:var(--standard);
	background-color:#fff;
}

.col-md-4, .col-md-8{
	position:relative;
}

#epilazione{
	position: absolute;
	top: 0;
	left: -70px;
	z-index: 9;
	background-color: #fff;
	width: 100%;
}

#form{
	background-color: #3B3B3B;
	color:#fff;
	padding:40px;
	position: absolute;
	top: -486px;
	width: 92%;
	z-index: 9;
}

#form h3{
	font-weight: 400;
	margin-bottom: 30px;
	text-align: center;
	font-size: 20px;
}

.container.container-visual {
	max-width: 1158px;
}

.section-puzzle{
	margin-top:60px;
	margin-bottom:120px;
}

section{
	margin-top:60px;
	margin-bottom:0px;
}

h2{
	font-size:26px;
}

#ragazze{
	width: calc(100% + 40px);
	position: absolute;
	z-index: 0;
	left: -56px;
	max-width: calc(100% + 40px);
}

#tecnologie{
	position:relative;
	z-index: 1;
}

.sottotitolo{
	margin-bottom:60px;
}

.icon img{
	margin-bottom:20px;
	height: 70px;
}

.icon p{
	margin-bottom:20px;
}

.icon{
	padding-left:30px;
	padding-right: 30px;
}

#map{
	width:100%;
	height: 500px;
	margin-bottom:60px;
}

#recensioni{
	border-top:5px solid #7E7E7E;
	border-bottom:5px solid #7E7E7E;
	margin-top:50px;
	margin-bottom:60px;
}

#last{
	margin-top:60px;
	margin-bottom:50px;
}

.slick-prev, .slick-next, .gallery-prev, .gallery-next{
	z-index:99;
}

.slick-prev, .gallery-prev {
    left: 20px;
}

.slick-next, .gallery-next {
    right: 20px;
}

.gallery-prev, .gallery-next {
    font-size: 50px;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    border: none;
    outline: none;
    background: transparent;
}

i{
	color:#ccc;
}

#last p{
	padding-top:120px;
}

.btn-primary,.btn-primary:hover,.btn-primary:focus,.btn-primary:active{
	background-color:#8779D6 !important;
	border-color:#8779D6 !important;
	color:#fff !important;
	padding: 5px 30px !important;
	border-radius: 0px !important;
	margin-top:50px;
}

.grazie{
	position:absolute;
	top:0px;
	left:50px;
	width:300px;
	text-align: left;
}

.grazie #logo{
	border:0;
}

#visual img {
	border-left: 0px;
	border-right: 0px;
  }

.form-control::-webkit-input-placeholder{color:#fff !important;opacity:1 !important}.form-control::-moz-placeholder{color:#fff !important;opacity:1 !important}.form-control:-ms-input-placeholder{color:#fff !important;opacity:1 !important}.form-control::-ms-input-placeholder{color:#fff !important;opacity:1 !important}.form-control::placeholder{color:#fff !important;opacity:1 !important}

@media only screen and (max-width : 1400px){

}

@media only screen and (max-width : 1200px){
	
}
 
@media only screen and (max-width : 991px){
	.row-eq-height{
		display:block;
	}
	
	.desktop{
		display:none;
	}
	
	.mobile{
		display:block;
	}

	#form{
		position:relative;
		top:0;
		width: 100%;
	}

	.section-puzzle {
		margin-top: 20px;
		margin-bottom: 30px;
	}

	.mobile .shadow{
		margin-left:30px;
		margin-right:30px;
		position:relative;
		margin-top:-30px;
		z-index: 2;
		margin-bottom: 60px;;
	}

	.container.mobile img{
		width: 100%;
	}

	.sottotitolo{
		margin-top:30px;
	}

	#last p {
		padding-top: 30px;
	}
	
}
 
@media only screen and (max-width : 767px){
	
}
 
@media only screen and (max-width : 480px){

}
 
@media only screen and (max-width : 320px){

}
