@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@200;400;900&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

body {
    width: 100%;
    height: 100%;
	font-family: 'Raleway', sans-serif;
    color: #000;
    background: #fff;
	font-weight: 400;
 }

html {
    width: 100%;
    height: 100%;
}

 .wrapper {
    width: 90%;
	margin: 0 auto;
	display: grid;
	padding: 0 5% 0 5% 0;
 }

.wrapper-bike{
	top: 0;
    min-height: 125px;
    background: url("../img/bg-bike.svg") no-repeat bottom center;
    background-size: cover;
	margin-top: 20px;
}

.wrapper-ubm {padding-bottom: 50px;
    background: url("../img/bg-bolle.svg") no-repeat bottom center #b0d16f;
 	background-size: contain;
	min-height: 670px;}

#mainheader {
    text-align: left;
    background: #fff;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    will-change: transform;
    -webkit-box-shadow: 0 0 5px #c1c7cc;
    box-shadow: 0 0 5px #c1c7cc;
    height: 120px;
    overflow: hidden;
}
	
	 .logo {
		padding-top: 15px;
		padding-bottom: 15px;
		 float: left;
		}
	 .logo img {
		height:30px;
		}
.line-logo {
		border-left:1px solid #ccc;
		float: left;
	height: 35px;
	margin-top: 15px;
	margin-left:30px;
	margin-right:30px;
		}

	 .loadingup {
		height:70px;
		}

.supergraphic {
    top: 0;
    background: url(../img/supergraphic.svg) 50% 50%;
    background-size: cover;
	height: 8px;
    }
	 
h1 {
    font-size: 40px;
	font-weight: 900;
	color: #000;
	text-align: center;
	padding-top: 50px;
}

h2 {
	font-size: 25px;
	text-align: center;
	font-weight: 900;
	color: #c8d23e;
	padding-bottom: 30px;
}

.line-h2 {
	background: url("../img/line-h2.svg") no-repeat top center;
}

h3 {
	font-size: 21px;
	text-align: center;
	color: #fff;
	font-weight: 900;
	padding-bottom: 20px;
}

h4 {
	font-size: 20px;
	text-align: center;
	color: #fff;
	font-weight: 900;
	margin: 10px;
}
	 
p {
	font-size: 18px;
	text-align: center;
	color: #000;
	line-height: 1.3em;
}

#services .services-item span {font-size: 15px;}

.verde {color: #c8d23e;}
.bianco {color: #fff;}

a {color:#a1d08c; font-weight: 900;}
a:hover {color:#000;}

b {font-weight: 900;}
i {font-style: italic;}

.gradient-text {
  background-color: #a1d08c;
	
  /* Create the gradient. */
  background: linear-gradient(90deg, #a1d08c, #c8d23f);
  
  /* Set the background size and repeat properties. */
  background-size: 100%;
  background-repeat: repeat;

  /* Use the text as a mask for the background. */
  /* This will show the gradient as a text color rather than element bg. */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; 
  -moz-background-clip: text;
  -moz-text-fill-color: transparent;
}

a.block { display:block;text-decoration: none;}

.icon-play {
	margin: 0 auto;
  width: 60px;
  height: 60px;
  line-height: 30px;
  text-align: center;
	background: rgba(161,208,141,1);
    background: -moz-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(161,208,141,1)), color-stop(50%, rgba(200,210,62,1)), color-stop(100%, rgba(200,210,62,1)));
    background: -webkit-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: -o-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: -ms-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: linear-gradient(to right, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a1d08d', endColorstr='#c8d23e', GradientType=1 );
  color: #fff;
  border-radius: 50%;
  margin-bottom: 10px;
	margin-top: 30px;
}

.box-sx {
	width: 100%;	
	float: none;
	clear: both;
	}

.box-dx {
	width: 90%;	
	float: none;
	clear: both;
	padding: 0 5% 0 5%;
	}

.box-sx img {
	margin:0 auto;
	width: 250px;
	padding-top: 50px;
	}

.box-sx, .box-dx p {
	color: #fff;
	text-align: center;
	}

.box-sx, .box-dx h5 {
	color: #fff;
	text-align: center;
	font-weight: 900;
	font-size: 17px;
	padding-bottom: 10px;
	}

.box-sx, .box-dx h3 {
	color: #fff;
	text-align: center;
	font-size: 24px;
	padding-bottom: 0px;
	}

.box-sx, .box-dx h2 {
	color: #fff;
	text-align: center;
	font-size: 30px;
	padding-bottom: 10px;
	padding-top: 10px;
	}

#center {width: 100%; margin: 0 auto;}
#center-logo {width: 300px; margin: 0 auto;}

.loading {
		height:40px;
		}

.policy {margin-top: 35px}


/* Services */

#services {margin-top:30px;margin-bottom: 20px;}


#services .icon {
  width: 100px;
  height: 100px;
  display: inline-block;
  line-height: 50px;
  font-size: 20px;
  text-align: center;
	background: rgba(161,208,141,1);
    background: -moz-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: -webkit-gradient(left top, right top, color-stop(0%, rgba(161,208,141,1)), color-stop(50%, rgba(200,210,62,1)), color-stop(100%, rgba(200,210,62,1)));
    background: -webkit-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: -o-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: -ms-linear-gradient(left, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    background: linear-gradient(to right, rgba(161,208,141,1) 0%, rgba(200,210,62,1) 50%, rgba(200,210,62,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a1d08d', endColorstr='#c8d23e', GradientType=1 );
  color: #fff;
  border-radius: 50%;
  margin-bottom: 10px;
  -webkit-box-shadow: 0 0 5px #c1c7cc;
  box-shadow: 0 0 5px #c1c7cc;
}

#services img {
  width: 100px;
  height: 100px;
}

#services .services-item {
  width: 100%;	
  text-align: center;
}

#services .services-item p {
	line-height: 1.1em;
	padding-bottom: 20px;
}

#fade {
  visibility: hidden; 
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 1201;
  -moz-opacity: 0.8;
  opacity: .80;
  filter: alpha(opacity=80);
}

#fade {
  visibility: hidden; 
  opacity: 0;
  transition: opacity 1s;  
      }

#light {
  display: block;
  width: 80vw;
  background: black;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1202;
  overflow: visible;
}

#boxclose {
  float: right;
  cursor: pointer;
  border-radius: 20px;
  display: inline-block;
  line-height: 0px;
  padding: 20px;
  position: absolute;
  right: -20px;
  top: -20px;
  z-index: 1002;
  background:url("../img/close.svg") no-repeat;
}

#fade.visible {
  visibility: visible; 
  opacity: 1;
}

.boxclose:before {
  content: "";
}

#fade:hover ~ #boxclose {
  display:none;
}

#footer {
    border-top: 1px solid #000;
    background: #fff;
    padding: 70px 0;
	margin-top: 50px;
 }
 
  #footer p {
    text-align: center;
	font-size: 12px;
	 color: #000;
	  padding-bottom: 0px;
 }

#videoBGwrap {
  position: absolute;
  top:70px;
}

#videoBG {
width: 100vw;
  height: 50vh;
  object-fit: cover;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}

#videoBGover{
  position: absolute;
  background: black;
  opacity: 0.6;
  width: 100%;
  height: 100%;
  z-index: 100;
}

#header {
  width: 100%;
  height: 47vh;
  padding-top: 70px;
  position: relative;
  overflow: hidden;
}

#mainheader {
    height: 70px;
}

#intro {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1000;
top: 50%;
margin-top: -100px;
}

#intro p {
  color: #fff;
  text-align: center;
 font-weight: 200;
	font-size: 16px;
}

video#VideoBosch {
  /* override other styles to make responsive */
    width: 80vw;
  
}

.videoWrapper {
position: relative;
padding-bottom: 56.25%;

}
iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
  
}
@media screen and (min-width:500px){
#videoBGwrap {
  position: absolute;
  top:70px;
}
	
#videoBG {
  height: 100vh;
}
	
  #header {
    width: 100%;
    height: 80vh;
	padding-top: 70px;
  }	
	
.wrapper-bike{
    min-height: 300px;
}
	
p {
	font-size: 10px;
}
	
#services .services-item span {
	font-size: 9px;
}
	
h2 {
	font-size: 26px;
}
	
#footer p {
	font-size: 9px;
}

}

@media screen and (min-width:768px){
.wrapper{
    width: 100%;
	padding: 0;
}
	#center-logo {width: 495px; margin: 0 auto;}
	
	 .logo {
		padding-top: 25px;
		padding-bottom: 25px;
		}
	 .logo img {
		height:50px;
		}
	
	.line-logo {
	height: 65px;
	margin-top: 20px;
	margin-left:50px;
	margin-right:50px;
		}
	
	.line-h2 {
	padding-top: 30px;
	margin-left: 30px;
	margin-right: 30px;
}
	
	.loading {
		height:47px;
		}
	
.wrapper-bike{
    min-height: 245px;
}
	
#mainheader {
    height: 115px;
}
	
#videoBGwrap {
  position: absolute;
  top:110px;
}
	
#videoBG {
  height: 100vh;
}
	
	#services {margin-top:50px;margin-bottom: 60px;}
	
  #header {
    width: 100%;
    height: 100vh;
	padding-top: 110px;
  }	 
	
.wrapper-ubm {
	min-height: 700px;}
	
h1 {
    font-size: 45px;
	padding-top: 50px;
}

h2 {
	font-size: 30px;
	padding-bottom: 40px;
}

h3 {
	font-size: 28px;
}

h4 {
	font-size: 21px;
	margin-top: 20px;
	margin-bottom: 20px;
}
	 
p {
	font-size: 16px;
}

#services .services-item span {
	font-size: 15px;
}
	
#services .services-item {
	width: 33%;	
	float: left;
	}
	 
	#services .services-item p {
	  font-size: 20px;
	  width: 200px;
	  margin: 0 auto;
	padding-bottom: 0px;
	}
	
.box-sx img {
	width: 300px;
	padding-top: 25px;
	}
	
	 .loadingup {
		height:130px;
		}

  #footer p {
	font-size: 14px;
 }

}

@media screen and (min-width:960px){
    .wrapper {
        width: 860px;
    }
	
#center {width: 800px; margin: 0 auto;}

  #header {
    width: 100%;
    height: 50vh;
	padding-top: 110px;
  }	
	
  #videoBG {
    width: 100vw;
    height: 100vh;
  }
	
#videoBGwrap {
  position: absolute;
  top:70px;
}
	
.box-sx {
	width: 40%;	
	float: left;
	clear: none;
	padding-top: 30px;
	padding-bottom: 30px;
	}
	
.box-dx {
	width: 60%;	
	float: left;
	clear: none;
	padding: 30px 0 30px 0;
	}
	
.box-sx img {
	width: 300px;
	padding-top: 25px;
	}
	
.box-sx, .box-dx p {
	color: #fff;
	text-align: left;
	}

.box-sx, .box-dx h5 {
	color: #fff;
	text-align: left;
	font-weight: 900;
	font-size: 25px;
	padding-bottom: 20px;
	}

.box-sx, .box-dx h3 {
	color: #fff;
	text-align: left;
	font-size: 30px;
	}

.box-sx, .box-dx h2 {
	color: #fff;
	text-align: left;
	padding-bottom: 15px;
	font-size: 45px;
	}
	
h1 {
    font-size: 55px;
	padding-top: 70px;
}
	
h4 {
	padding: 0;
	font-size: 27px;
}
	
h2 {
	font-size: 38px;
}
p {
	font-size: 18px;
}
	
#services .services-item span {
	font-size: 17px;
}
	
	#services .services-item p {
	  font-size: 21px;
	}
	
.wrapper-bike{
    min-height: 345px;
}
	
.wrapper-ubm {
	min-height: 550px;}
	
	.loading {
		height:59px;
		}

}

@media screen and (min-width:1100px){
  #header {
    width: 100%;
    height: 80vh;
	  padding-top: 120px;
  }	
	
#mainheader {
    height: 120px;
}
	
.supergraphic {
	height: 15px;
    }
	
.wrapper {
    width: 1000px;
}
	
.line-h2 {
	margin-left: 35px;
	margin-right: 35px;
}
	
#center {width: 900px; margin: 0 auto;}
	  
 .cta {
	font-size: 26px;
 }
	
	#services .services-item p {
	  width: 300px;
	  font-size: 22px;
	}
	
.box-sx img {
	width: 350px;
	margin-right: 20px;
	padding-top: 0px;
	}
p {
	font-size: 23px;
}
	
#services .services-item span {
	font-size: 19px;
}
	
	.loading {
		height:54px;
		}
	
.a-capo1 {
	width: 700px;
	margin: 0 auto;
	display: block;
}
	
.a-capo2 {
	width: 860px;
	margin: 0 auto;
	display: block;
}
	
.a-capo3 {
	width: 910px;
	margin: 0 auto;
	display: block;
}
	
} 

@media screen and (min-width:1360px){
 .wrapper {
    width: 1200px;
 }
	
  #header {
    width: 100%;
    height: 80vh;
	  padding-top: 120px;
  }	
	
#center {width: 1000px; margin: 0 auto;}
	    
h1 {
    font-size: 70px;
}
	
	 .loadingup {
		height:150px;
		}
h4 {
	font-size: 30px;
}
	
h2 {
	font-size: 50px;
}
	
.line-h2 {
	margin-left: 40px;
	margin-right: 40px;
}
	
#intro {
	top: 45%;}
	
.wrapper-bike{
    min-height: 700px;
}
	
.wrapper-ubm {
	min-height: 700px;}
	
p {
	font-size: 25px;
}
	
#services .services-item span {
	font-size: 21px;
}

#services .icon {
  width: 150px;
  height: 150px;
}

#services img {
  width: 150px;
  height: 150px;
}
	
	
	.loading {
		height:57px;
		}
	
}
