/*font*/

@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100;8..144,200;8..144,300;8..144,400;8..144,500;8..144,600;8..144,700;8..144,800;8..144,900;8..144,1000&display=swap');

/*font-family: 'Roboto', sans-serif;*/

/*colori*/
:root {
  --main-dark-color: 		#121212;
  --main-light-color: 		#898989;
  --main-text-color: 		#121212;
  --secondary-text-color: 	#706F6F;
  --bianco: #ffffff;
  --nero: #000000;
}

body{
	display: flex;
	flex-direction: column;
	min-height: 100%;
	max-width: 1920px;
	margin: auto;
	min-height: 100vh;
}

.body{
	flex-grow: 9;
	margin-bottom: auto;
}

img{
	width:auto;
}
#about .immagine img{
	height: auto;
}
#settori img{
	height: 60px;
	width: 60px;
}

b{
	font-weight: 500;
}

a:not(.btn-primary-alt){
color: #006aac;
text-decoration: none;
}
a:not(.btn-primary-alt):hover{
	color: #006aac;
	text-decoration: underline;
}

.footbottom a{
	color: #072647!important;
}

/*elementi*/
html{
  overflow-x: hidden;
  max-width: 100vw;
  /*padding-top: 6em;*/
}
body{
	font-family: 'Roboto Flex', sans-serif;
	color: var(--main-text-color);
}

p{
	letter-spacing: 0px;
}

.header-cst{
	padding: 0 12px!important;
	height: 96px;
	border-bottom: 1px solid #e2e2e2;
}
.header-cst .navbar{
	padding: 0 12px!important;
	height: 100%;
}
.header-cst .navbar .container-fluid{
	padding-left: 0;
	padding-right: 0;
	height: 100%;
}

.header-cst .navbar .container-fluid #navbarsExample05 .navbar-nav{
	height: 100%;
}

.header-cst .navbar .container-fluid #navbarsExample05 .navbar-nav .nav-link{
	height: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	position: relative;
	letter-spacing: 2px;
}

.header-cst .navbar .container-fluid #navbarsExample05 .navbar-nav .nav-link.current:after{
	display: block;
	position: absolute;
	width: 100%;
	content: " ";
	bottom: -1px;
	height: 4px;
	background: #072647;
	left: 0;
}
.header-cst .navbar .container-fluid #navbarsExample05 .navbar-nav .nav-item{
	background-color: #fff;
}

.p0{
	padding-left: 0;
	padding-right: 0;
}

.text-block {
  position: relative;
  bottom: 20px;
  right: 20px;
  background-color: black;
  color: white;
  padding-left: 20px;
  padding-right: 20px;
}

.ctf{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

header{
  position: sticky;
  top: 0;
  z-index: 800;
  width: 100%;
  background: #fff;
  max-width: 2000px;
  margin-left:auto ;
  margin-right:auto ;
}

main{
  max-width: 1440px;
}

.testa{
	aspect-ratio: 17 / 7;
	overflow: hidden;
}

footer.ft-cst{
	max-width: 1440px;
	margin-left:auto ;
	margin-right:auto ;
	background-color: var(--main-dark-color);
	color: #fff!important;
	font-family: Roboto Flex;
	font-weight: 400;
	font-size: 15px;
	line-height: 20px;
	padding: 45px 20px;
	text-align: center;
}
footer.ft-cst a{
	color: #fff!important;
	text-decoration: none;
}
	
input{width: 100%}
img{max-width: 100%;}
.logo{
	max-height: 80px;
	margin-left: auto;
	display: block;
}

header .navbar-light .navbar-nav .nav-link{
	font-family: 'Roboto Flex', sans-serif;
	color: var(--main-text-color);
	font-size: 16px;
	line-height: 21px;
	font-weight: 400;
	/*text-transform: uppercase;*/
	margin-left: 25px;
	margin-right: 25px;
	text-decoration: none!important;
}

header .navbar-light .navbar-nav .dropdown-menu{
	border: 0!important;
	border-radius: 0!important;
	padding: 0!important;
}

header .navbar-light .navbar-nav .dropdown-menu .dropdown-item{
	color: var(--main-text-color);
	text-decoration: none!important;
	padding: 10px 20px;
}

.dropdown-item:active{
	background-color: #e9ecef;
}

header .navbar-light .navbar-nav .nav-link.current{
	color: var(--main-dark-color);
}

header .navbar-light .navbar-nav .nav-link:hover{
	color: #006aac;
}

.current {
  font-weight: 600 !important;
  color: #072647!important;
}

/*blocco hero*/
.mainimg{
	width: 100vw;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	max-width: 2000px;
}
.mainimg .hero-container{
	display: flex!important;
}
.mainimg img,
.mainimg video{width: 100%;}

/* blocco fluttuante per hero*/
.heroback{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.2);
}
.hero-text{
	position: absolute;
	bottom: 60px;
	left: 78px;
	color: #fff!important;
	font-size: 60px;
	line-height: 70px;
	font-weight: 500;
	max-width: 50%;
}
.hero-text b{
	font-weight: 800;
	color: #fff!important;
}

/*blocco introduttivo*/
.intro{
	padding-top: 100px;
	text-align: left;
	padding-bottom: 100px;
}

.mappa{
	border:0;
	width:100%;
	aspect-ratio: 10 / 3;
}

@media screen and (min-width: 992px){

	.testo .prd{
		padding-right: 20px;
	}
	.intro:not(.right){
    padding-left: 0px!important;
  }
  .intro.right{
    padding-right: 0px!important;
  }
  .pr15 {
	  padding-right: 15px!important;
	}
	.pl15 {
	  padding-left: 15px!important;
	}
}
.intro > h1{
	font-size: 48px;
	line-height: 70px;
	font-weight: 600;
	text-align: left;
	/*margin-bottom: 25px;*/
	margin-bottom: 0px;
}

.intro > h1 .alt-txt{
	font-weight: 400;
	font-size: 32px;
	display: block;
}

.intro > h2{
	font-weight: 300;
	font-size: 24px;
	line-height: 30px;
	text-align: left;
	/*color: var(--secondary-text-color);*/
	font-family: 'Roboto Flex', sans-serif;
	letter-spacing: 0px;
}

.intro > h2 .alt-txt {
  font-weight: 600;
}

/*stile bottone*/
.separatore{
	display: inline-block;
	margin-left: 8px!important;
	margin-right: 8px!important;
}
.btn{
	font-size: 18px;
	line-height: 27px;
	text-transform: uppercase;
}
.btn-outline-primary{
	color: var(--main-dark-color);
	border-color: var(--main-dark-color);
}
.btn-outline-primary:active, .btn-outline-primary.active:focus, .btn-outline-primary:focus, .btn-outline-primary:active:focus,.btn-outline-primary:hover{
	background-color: var(--main-light-color);
	border-color: var(--main-light-color);
	color: #fff;
}
.btn-outline-primary:active, .btn-outline-primary.active:focus, .btn-outline-primary:focus, .btn-outline-primary:active:focus{
	box-shadow: 0 0 0 .25rem rgba(147, 213, 0,.5);	
}
.btn-primary{
	background-color: var(--main-dark-color);
	border-color: var(--main-dark-color);
}

.btn-primary-alt{
	background-color: #006aac;
	border-color: #006aac;
}

.btn-primary:hover{
	background-color: var(--main-light-color);
	border-color: var(--main-light-color);
}
.btn-primary:active, .btn-primary.active:focus, .btn-primary:focus, .btn-primary:active:focus{
	background-color: var(--main-light-color);
	border-color: var(--main-light-color);
	box-shadow: 0 0 0 .25rem rgba(137, 137, 137,.5); 
}

.invia{margin-top: 40px;}



/*testo alternativo*/
.alt-txt{
	color: var(--main-dark-color);
    font-size: 45px;
}

.mainlink{
    font-size: 24px;
	color: #006aac !important;
	text-decoration: none;
}
.mainlink:hover{
	text-decoration: underline;
}

.nav-item:hover .dropdown-menu {
  display: block;
}

/*blocco benefit*/
.benefit{
	margin-bottom: 180px;
	margin-left: auto;
	margin-right: auto;
}
.singolo-benefit{
	text-align: center;
}

/*icone benefit*/
.icotype{
	width: 140px;
	margin: auto;
	display: block;
	margin-bottom: 24px;
}


/*riga mezza immagine*/
.halfimage{}
.halfimage > .image{padding: 0!important}
.halfimage > .text{
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	padding-left: 8.33333333%;
	padding-right: 8.333333333%;
}

/*blocco testo divisorio*/
.divisorio{
	margin-top: 100px;
	margin-bottom: 130px;
}
.dleft{align-content: left;}
.dright{align-content: right;}
.dcenter{align-content: center;}

.text {
	margin-top: 0!important;
}

.text-l{text-align: left;}
.text-r{text-align: right;}
.text-c{text-align: center;}


/*form di contatto*/
.contattaci{
	background-color: var(--secondary-text-color);
	padding: 68px;
}

.contattaci > .form textarea,
.contattaci > .form input:not([type="checkbox"]){
	line-height: 20px;
	font-size: 14px;
	padding: 19px 10px;
	border-radius: 4px 4px 0px 0px;
}
.contattaci > .form input:not([type="checkbox"]){
	margin-bottom: 24px;
}
.contattaci > .form textarea{
	margin-bottom: 25px;
}
.contattaci > .form textarea:focus,
.contattaci > .form input:not([type="checkbox"]):focus{
	outline: 2px solid var(--main-dark-color);
}

.contattaci > .form [type="checkbox"]{
margin-top: 7px;
}

.form-check-input:checked {
  background-color: var(--main-dark-color);
  border-color: var(--main-dark-color);
}
.form-check-input:focus {
  border-color: var(--main-light-color);
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(147, 213, 0,.5);
}


/*testi*/

.benefit h3{
	font-weight: 500;
	font-size: 20px;
	line-height: 30px;
}
.benefit p{
	font-family: 'Roboto Flex', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 19px;
}

.halfimage > .text > h2,
.divisorio > .text > h2{
	font-size: 60px;
	line-height: 70px;
	font-weight: 400;
	margin-bottom: 25px;
}

.secondary{
	font-family: 'Roboto Flex', sans-serif;
    font-size: 24px;
    line-height: 30px;
    font-weight: 300;
    margin-top: 20px;
}

.halfimage > .text > .secondary,
.divisorio > .text > .secondary{
	font-family: 'Roboto Flex', sans-serif;
	font-size: 24px;
	line-height: 34px;
	color: var(--secondary-text-color);
	margin-bottom: 36px;
}
.contattaci .titcontact{
	text-align: center;
}
.contattaci .titcontact h3{
	font-family: 'Roboto Flex', sans-serif;
	font-weight: 400;
	font-size: 40px;
	line-height: 47px;
	color: #fff;
	text-align: center;
}
.contattaci .numerotel{
	font-family: 'Roboto Flex', sans-serif;
	margin: 10px auto 25px;
	background-color: var(--main-dark-color);
	border: 1px solid var(--main-dark-color);
	box-sizing: border-box;
	border-radius: 4px;
	font-size: 14px;
	line-height: 21px;
	color: #fff!important;
	text-decoration: none!important;
	padding: 8px 32px;
	display: inline-block;
}
.contattaci .testonormale{
	font-family: 'Roboto Flex', sans-serif;
	font-size: 18px;
	line-height: 20px;
	color: #fff;
	margin: auto;
	margin-bottom: 35px;
	display: inline-block;
}

.contattaci > .form label{
	font-family: 'Roboto Flex', sans-serif;
	color: #fff;
	font-size: 16px;
	line-height: 18px;
	font-weight: 400;
}
.contattaci > .form label a{
	color: #fff;
}

input.text, input.search, input.file, textarea.textarea, select.select{
	font-family: 'Roboto Flex', sans-serif;
}


/*responsive*/

.img-mobile,
.hero-mobile{display: none;}


.separe{margin-top: 100px;}

.sedesingola b{
	font-weight: 500!important;
}

.gallery{
	margin: 50px auto 30px;
}

.text-start {
  padding-right: 2rem !important;
}

.g{
	padding-right: 0!important;
}

.sar{
	font-weight: 300;
	font-size: 24px;
	line-height: 30px;
	text-align: left;
	font-family: 'Roboto Flex', sans-serif;
	letter-spacing: 0px;
}

.min-h338{
    min-height: 338px;
    max-height: 338px;
    padding-top: 60%!important;
}

@media screen and (min-width: 991px){
	.header-cst .navbar .container-fluid #navbarsExample05{
		height: 100%;
	}
	.sar{
		padding-right: 10%;
	}
}
@media screen and (min-width: 768px){
	.divisorio-space{
		margin-top: 100px;
		margin-bottom: 130px;
	}
}
@media screen and (min-width: 768px) and (max-width: 991px){

	.row{
		margin-left: 0;
		margin-right: 0;
	}
	.hero-text {
	  font-size: 30px;
	  line-height: 35px;
	}
	
	.intro > h1 {
	  font-size: 30px;
	  line-height: 35px;
	  margin-left: auto;
	  margin-right: auto;
	  width: 75%;
	}
	
	.intro > h2 {
	  font-size: 25px;
	  line-height: 25px;
	  width: 75%;
	  margin-left: auto;
	  margin-right: auto;
	}
	
	.benefit h3 {
	  font-size: 17px;
	  line-height: 20px;
	}
	
	.benefit p {
	  font-size: 17px;
	}
	
	.icotype {
	  width: 90px;
	}
	
	.halfimage > .text > h2, .divisorio > .text > h2 {
	  font-size: 30px;
	  line-height: 35px;
	}
	
	.halfimage > .text > .secondary, .divisorio > .text > .secondary {
	  font-size: 16px;
	  line-height: 18px;
	}
	
	.btn {
	  font-size: 16px;
	  line-height: 22px;
	}
	
	.contattaci .titcontact h3 {
	  font-size: 25px;
	  line-height: 28px;
	}
	
	.intro {
	  padding-top: 100px;
	  padding-bottom: 75px;
	}
	
	.benefit {
	  margin-bottom: 90px;
	}
	
	.halfimage {
	  margin-top: 0;
	}
	
	.halfimage > .image {
	  margin-top: 0;
	}
	
	.divisorio {
	  margin-top: 70px;
	  margin-bottom: 90px;
	}
	
	.contattaci .testonormale {
	  font-size: 16px;
	}
	
	.singolo-benefit {
	  width: 50%;
	}
	
	.px-5 {
	  padding-right: 1.5rem !important;
	  padding-left: 1.5rem !important;
	}
	
	
	.form {
	  margin-left: auto;
	  margin-right: auto;
	}
	
	.contattaci > .form textarea, .contattaci > .form input:not([type="checkbox"]) {
	  padding: 12px 10px;
	}
	
	.contattaci > .form textarea {
	  margin-bottom: 18px;
	}
	
	.contattaci > .form input:not([type="checkbox"]) {
	  margin-bottom: 15px;
	}
	
	.invia {
	  margin-top: 20px;
	}
	
	.contattaci .numerotel {
	  margin: 0 auto 25px;
	}
    .contattaci .titcontact h3 {
      line-height: 32px;
    }
	#Field107 {
	  height: 150px;
	}
	.choice {
	  font-size: 14px;
	}
	#foli109 label{
		font-size: 14px!important;
	}

	.testo,
	.intro {
	  padding-bottom: 50px;
	}
}



.bottomprod .secondary {
  font-size: 24px;
  padding-right: 20%;
}
@media screen and (max-width: 767px){
    
    .min-h338{
    min-height: auto;
    padding-top: 10%!important;
    }

	.gallery{
		margin: 0px auto 30px;
	}

	.bottomprod:not(.grey) .intro{
		padding-bottom: 0!important;
	}

	.row{
		margin-left: 0;
		margin-right: 0;
	}
	.text-l{text-align: left;}
	.text-r{text-align: left;}
	.text-c{text-align: left;}

	.nomobile{display: none!important;}
	.lastmobile{
		order: 999;
	}
	.btn-outline-primary{
		color: #fff!important;
	}
	.col-sm-6{
		width: 50%;
	}
    .intro > h1 {
	font-size: 20px;
	line-height: 23px;
	}
	.intro {
	padding-top: 45px;
	}

	.secondary,
	.bottomprod .secondary,
	.intro > h2 {
	font-size: 18px;
	line-height: 23px;
	color: #000;
	}
	.mainlink {
	font-size: 18px;
	line-height: 23px;
	}
	
	.btn {
	font-size: 14px;
	line-height: 21px;
	}
	.benefit h3 {
	  font-size: 14px;
	  line-height: 15px;
	}
	.benefit p {
	  font-size: 14px;
	  line-height: 13px;
	}
	.icotype {
	  width: 100%;
	  max-width: 75px;
	}
	
	.testo,
	.intro {
	  padding-bottom: 50px;
	}

	.benefit {
	  margin-bottom: 51px;
	}
	.halfimage > .text > h2, .divisorio > .text > h2 {
	  font-size: 30px;
	  line-height: 36px;
	  margin-top: 27px;
	}
	.halfimage > .text > .secondary, .divisorio > .text > .secondary {
	  font-size: 16px;
	  line-height: 18px;
	}
	.halfimage > .text {
	  padding-left: 10.333%;
	  padding-right: 10.333%;
	}
	.divisorio {
	  margin-top: 48px;
	  margin-bottom: 0;
	  padding: 27px 20px 48px;
	  background-color: var(--secondary-text-color);
	}
	.px-5 {
	  padding-right: 1rem !important;
	  padding-left: 1rem !important;
	}
	.text .btn {
	  margin-left: auto;
	  margin-right: 10px;
	  float: right;
	}
	.divisorio h2, .divisorio .secondary {
	  color: #fff !important;
	}
	.button .btn {
	  float: none;
	  display: block;
	  margin-left: 0;
	  margin-right: 0;
	  width: 100%;
	}
	.button {
	  display: flex;
	}
	.doubletop{margin-top: calc(2 * var(--bs-gutter-y))!important;}
	.logo-cont{
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	.hero-text {
		bottom: 23px;
		left: 19px;
		font-size: 30px;
		line-height: 33px;
		max-width: Calc(100% - 38px);
	}
	.logo {
	  max-height: 60px;
	}
	.logomobile{
		margin-bottom: 45px;
	}
	.intro {
		padding-top: 43px;
	}
	.navbar-collapse{
		padding-top: 32px;
	}
	.navbar-collapse .nav-item{
		text-align: center;
	}
	.navbar-light .navbar-toggler{
		border: 0!important;
		outline: none;
		box-shadow: none;
	}
	.navbar.navbar-expand-lg{width: 100%}
	.img,
	.hero{display: none;}


	.img-mobile,
	.hero-mobile,
	.mobtxt{display: inline-block;}

	.img-mobile:not(.logomobile),
	.hero-mobile:not(.logomobile){width: 100%;}

	.contattaci .titcontact h3 {
	  font-size: 25px;
	  line-height: 30px;
	}
	
	.contattaci .testonormale {
	  font-size: 14px;
	}
	
	footer.ft-cst {
	  padding: 30px 20px;
	  font-size: 10px;
	  line-height: 15px;
	}


	.contattaci {
	  padding-left: 25px;
	  padding-right: 25px;
	}

	.contattaci > .form textarea, .contattaci > .form input:not([type="checkbox"]) {
	  padding: 10px 8px;
  	line-height: 17px;
	}
	
	.contattaci > .form input:not([type="checkbox"]) {
	  margin-bottom: 20px;
	}
	
	.contattaci > .form label {
	  font-size: 14px;
	}
	
	#Field107 {
	  height: 100px;
	}
	
	.choice {
	  font-size: 12px;
	  line-height: 15px;
	}
	
	.invia .text-c {
	  text-align: center;
	}

	#foli109 label{
		font-size: 12px!important;
		line-height: 15px!important;
	}

	.contattaci .numerotel {
	  margin: 0 auto 25px;
	}
	
	.invia {
	  margin-top: 20px;
	}
	
	.contattaci > .form textarea {
	  margin-bottom: 15px;
	}

	.mobtop{margin-top: 48px!important;}

}

.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.sedi .titolocat{
	margin-bottom: 48px;
}


/*.midfoot > div{
	margin-top: 65px;
}*/

.nodsk{display: none;}

.bg-image {
    position: relative;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
}

.mask {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-attachment: fixed;
  background: linear-gradient(to top, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
  transition: all 0.2s ease-in-out;
  background-size: 100% 50%;
	background-repeat: no-repeat;
	background-position: bottom;
}

.mask:hover {
  background-size: 100% 80%;
}

.mt10 {
    margin-top: 10px;
}
.p5 {
    padding-right: 5px!important;
    padding-left: 5px!important;
    padding-top: 5px!important;
    padding-bottom: 5px!important;
}
.p15 {
    padding-right: 15px!important;
    padding-left: 15px!important;
    padding-top: 15px!important;
    padding-bottom: 15px!important;
}
.rec{
    padding-right: 15px!important;
    padding-left: 15px!important;
    padding-top: 15px!important;
    padding-bottom: 15px!important;
}

.card p:last-child{
	margin-bottom: 0!important;
}

/* Bottom left text */
.bottom-left {
  position: absolute;
  bottom: 2rem;
  left: 1.5rem;
  font-size: 2.75em;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 0;
  left: 0%;
  padding-top: 2rem;
  padding-bottom: 1rem;
  padding-left: 16%;
  color: var(--main-text-color);
  text-align: center;
  background: #EDEDED;
  /*width: 600px;*/
  width: 33%;
  padding-right: 10px;
}
.arrow-top {
  margin-top: -100px;
}

.brands{
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
}

.brands h1{text-align: center;}

.brands .arrow-top {
  width: 110%;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: 0!important;
  transform: translate(-50%,-50%);
}
.brands .arrow-top > div{
	display: flex;
	justify-content: space-between;
}
.brands .arrow-top .prev1,
.brands .arrow-top .next1{
	width: auto!important;
	height: auto!important;
	border: 0!important;
	background-color: transparent;
}

.navigazionecarousel{
  margin-left: Calc(33% - 108px);
}
.prev1 {
  background: #ededed;
  color: #000;
  width: 100px;
  height: 100px;
  z-index: 799;
  position: relative;
  border: none;
  border-right: 1px solid #c6c6c6;
  transition: all 0.2s ease-in-out;
}
.next1 {
  background: #ededed;
  color: #000;
  width: 100px;
  height: 100px;
  z-index: 799;
  position: relative;
  border: none;
  transition: all 0.2s ease-in-out;
}

.prev1:hover,
.next1:hover{
  background: #c6c6c6;
}

.link-carosello{
	font-size: 4rem;
	line-height: 2rem;
	text-decoration: none!important;
	font-family: initial;
}

.descrizione{
	font-size: 18px;
	font-family: 'Roboto Flex', sans-serif;
}

.btn {
	transition: color .4s ease-in-out,background-color .4s ease-in-out,border-color .4s ease-in-out,box-shadow .4s ease-in-out;
}

footer{
	background-color: #EDEDED;
	padding: 40px 0;
	margin-top: 40px;
}

footer .navigator > div > ul{
	padding-left: 0;
}
footer .navigator > div > ul > li,
footer .navigator > div > div{
	padding: 8px 0;
	border-bottom: 1px solid #C6C6C6;
	color: #575757;
	list-style: none;
}
footer .navigator > div > ul > li{
	padding-left: 5px;
	padding-right: 5px;
}


footer .navigator > div > ul > li a,
footer .navigator > div > div a{
	color: #575757!important;
	text-decoration: none!important;
	transition: all 0.4s ease-in-out;
}

footer .navigator > div > ul > li a:hover,
footer .navigator > div > div a:hover{
	color: #878787!important;
	text-decoration: none!important;
}


.mt65{
	margin-top: 65px;
}

footer .midfoot > div >div:first-child{
	margin-bottom: 12px;
}

footer .midfoot .social{
	font-size: 22px;
	background-color: #c6c6c6;
	border-radius: 4px;
	line-height: 32px;
	height: 32px;
	width: 32px;
	display: inline-block;
	color: #fff!important;
	position: relative;
	transition: all 0.4s ease-in-out;
}
footer .midfoot .social:hover{
	background-color: #626262;
}
footer .midfoot .social i{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
footer .footbottom{
	margin-top: 80px;
}
footer .footbottom p{
	color: #575757;
	text-align: center;
}
footer .footbottom p a{
	color: #575757;
	text-decoration: none;
}
footer .footbottom p a:hover{
	color: #575757;
	text-decoration: underline;
}

.desc-item{
	font-size: 1.5rem;
}
.desc-item, .descrizione{
	letter-spacing: 0px;
}

.linkpos {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding-bottom: 1rem;
}

.nopadding{
	padding: 0!important;
}

.divis{margin-bottom: 33px!important}

.peace{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 100px!important;
}

.square{
	width: 100%;
	padding-top: 100%;
	position: relative;
	overflow: hidden;
}

.square div{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	text-align: center;
}
.square img{
	width: 100% !important;
  height: 100%;
  object-fit: cover;
}

.brands .square img{
	object-fit: contain!important;
	margin: auto!important;
}

.imgbig{
	width: 100%;
	float: left;
	padding: 5px;
	box-sizing: border-box;
}
.imgsmall{
	width: 50%;
	float: left;
	padding: 5px;
	box-sizing: border-box;
}

.grey{
	background-color: #EDEDED;
}

.midpart{
	margin: 100px auto 30px;
}

.navbar-light .navbar-toggler{
	border: 0;
}

input:not([type="checkbox"]), textarea {
	border-width: 0 0 1px 0;
	width: 100%;
	padding: 10px;
	margin: 5px 0 !important;
}
textarea::placeholder{
	vertical-align: bottom;
}

input[type="checkbox"]{
	width: unset!important;
}

.choice, .invia{
	margin-top: 15px
}

.invia input{
	display: inline-block;
	width: auto!important;
	padding-left: 30px;
	padding-right: 30px;
}

.bottomprod h2 .alt-txt {
  font-weight: 500 !important;
}

.carousel-control-next-icon, .carousel-control-prev-icon{
	filter: invert();
}

.midprod,
.bottomprod{
	margin-top: 100px;
}

.midprod{
	margin-bottom: 100px;
}

.bottomprod:not(.grey) .intro{
	padding-top: 0!important;
}

.carou{
	position: relative;
}

.boggo{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.boggo.intro{
	padding-top: 0!important;
	padding-bottom: 0!important;
}

.video-holder{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.video{
	width: 100%;
	aspect-ratio: 16/9;
}

.whatsapp-link{
  position: fixed;
  bottom: 2.5%;
  right: 2.5%;
  z-index: 801;
}

section.security-banner {
  background-color: var(--nero);
  width: 100%;
  height: 44px;
  text-align: center;
  color: var(--bianco);
}
section.security-banner a{
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
}
.security-banner-inner {
  display: inline-block;
  /*margin-top: 8px;*/
  margin-top: 0px;
}
.security-banner-inner .inner-float {
  float: left;
  margin: 0 0.5rem;
}
.security-banner-inner .inner-float img {
  /*max-height: 12px;*/
  max-height: 24px;
  margin-top: -3px;
}
.security-banner-inner .inner-float .logotop {
  max-height: none;
  max-width: 31px;
  margin-top: 0;
}

.security-banner-inner .inner-float p {
  color: var(--bianco);
  margin: 0;
  padding: 0;
  padding-top: 0px;
  font-family: 'Roboto Flex', sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 2px;
  padding-top: 5px;
}

.centro{
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}


.brands .owl-nav button {
  width: 32px;
  height: 32px;
  background-repeat: no-repeat!important;
  background-size: 100% 100%!important;
  background-position: center center!important;
}

.brands .owl-nav .owl-prev span,
.brands .owl-nav .owl-next span{
	display: none!important;
}

.brands .owl-nav .owl-prev {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")!important;
}
.brands .owl-nav .owl-next {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")!important;
}

.brands .owl-nav{
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 110%;
  display: flex;
  justify-content: space-between;
  left: 50%;
}

#exampleModal .modal-body{
	width: 80%;
	margin: 1rem auto;
}

.owl-stage .owl-item.cloned:last-child {
  display: none !important;
}

.owl-stage-outer{
	z-index: 99;
}

.area-riservata-btn {
   /* background: #fff;
    border: #fff;
    color: #000; */
    width: 100%;
    padding: 25px;
    font-size: 22px;
    text-align: left;
    letter-spacing: 2px;
}

.card h3 {
    background: #006aac;
    border: #006aac;
    color: #fff;
    width: 100%;
    padding: 25px;
    font-size: 22px;
    text-align: left;
    
}

.arrow {
    width: 60px;
    position: absolute;
    margin-top: -31px;
    /*margin-left: 60px;*/
    right: 30px;
}
.arbox{
	position: relative;
}

.p100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.pt30 {
    padding-top: 30px;
}

.pr30 {
    padding-right: 30px;
}


.flexed-centered{
	display: flex;
	justify-content: space-around;
}
.flexed-centered img{
	max-height: 80px;
}

@media (max-width: 1649px) {

	.arbox{
		width: 100%!important;
	}

	.area-riservata-btn{
		margin-bottom: 10px;
		position: relative;
	}

	.area-riservata-btn .arrow{
		top: 50%;
		right: 30px;
		transform: translateY(-50%);
		margin-top: 0!important;
		margin-left: 0!important;
	}

}

@media (min-width: 992px) {

}

@media (min-width: 768px) {
	.main-alt{
		line-height: 36px;
	}

  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}
@media (max-width: 767px) {
	.invia input,
	.btn{
		width: 100%!important;
	}

	.pm0{
		padding: 0!important;
	}
    
    .ico img{
		margin-top: 15px;
	}
    
    .p0m{
		padding-top: 0px;
	}
    
    
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-collapse {
    flex-grow: 0;
  }

	.intro.reorder.sedesingola form {padding-right: 20%;}
}
@media (max-width: 991px) {
	.mob-centered img{
		margin-right: auto;
	}

	.owly {
	  width: 80%;
	  margin: auto;
	}

	#area-riservata h1{
		margin-bottom: calc(.5rem + 20px);
	}

	.p100 {
	  padding-top: 50px;
	  padding-bottom: 50px;
	}
	
	.ar{
	  padding-left: 23px;
	  padding-right: 23px;
	  padding-bottom: 0px;
	}

	#about .immagine {
	  padding-bottom: 30px;
	}

	.grey{
	  padding: 50px 0 30px;
	}
	.grey .intro {
	  padding-top: 0;
	  padding-bottom: 20px;
	}

	.navbar-nav{
		background-color: #fff;
	}

	.security-banner-inner {
	  padding: 1rem 0.5rem;
	  margin: 2rem auto;
	  border-top: 1px solid var(--nero);
	  border-bottom: 1px solid var(--nero);
	  align-items: center;
	  width: 90%;
	}
	.security-banner-inner .inner-float p {
	  color: var(--nero);
	  margin: 0;
	  padding: 0;
	    padding-top: 0px;
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 500;
	  line-height: 20px;
	  letter-spacing: 2px;
	  padding-top: 0;
	}
	.security-banner-inner .inner-float img {
	  max-width: 31px;
	  max-height: none;
	}

	.whatsapp-link{
		bottom: 0;
	}

	.sar{
	  font-size: 16px;
	  line-height: 20px;
	  color: #000;
	}

	.next1,.prev1{
		width: 50px;
		height: 50px;
	}

	.mappa{
		aspect-ratio: 1 / 1;
	}

	.lavora .reorder.right {
		order: 1;
	}

	.lavora .reorder.sedesingola {
		order: 2;
	}

	.testa{
		aspect-ratio: auto;
		overflow: unset;
	}
	
	.divis>div{
		order: 2;
	}
	.divis>.imgpos{
		order: 1;
	}

	.ordera{order: 1;}
	.orderb{order: 2;}
	.orderc{order: 4;}
	.orderd{order: 3;}

	.imgsmall{
		padding: 5px!important;
	}

	h2 .alt-txt,
	.intro > h1{
		font-size: 32px;
		line-height: 40px;
	}
	.intro > h1 .alt-txt{
		font-weight: 400;
		font-size: 18px;
		display: block;
		line-height: 23px;
	}

	.bottom-left {
    position: absolute;
    bottom: 1rem;
    left: 1.5rem;
    font-size: 2em;
	}

	.navigazionecarousel{
		width: 100px!important;
		box-sizing: content-box!important;
	}
	.navigazionecarousel button{
		width: 50px;
		height: 50px;
	}
	.arrow-top {
	  margin-top: -50px!important;
	}
	.carousel-caption {
	  width: 33%!important;
	  padding-bottom: 2rem!important;
	  padding-left: 20px!important;
	}

	.carousel-caption h1{
		font-size: 24px;
		line-height: 28px;
	}

	.navigazionecarousel {
	  margin-left: Calc(33% - 61px)!important;
	}
	.carousel-control-next-icon, .carousel-control-prev-icon{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		background-repeat: no-repeat;
		background-size: 50% 50%;
		background-position: center center;
	}
	.descrizione{display: none!important;}
	.mnp{
		padding: 0!important;
	}
	.desc-item {
	  font-size: 16px!important;
	}
	.link-carosello {
	  font-size: 2rem!important;
	  line-height: 1rem!important;
	}
	.titolocat{
		margin-bottom: 20px!important;
	}
	.sedi .singola{
		margin-bottom: 40px!important;
	}
	.linkpos{
		justify-content: flex-start!important;
	}
	/*.nomobile{display: none!important;}*/
	.nodsk{display: inline-block!important; cursor: pointer;}
	.carou.nodsk{
	  display: block !important;
	  width: 80%;
	  margin: auto;
	}

	footer .navigator > div > div{
		width: 100%;
	}
	footer .navigator > div > ul{
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease-in;
		max-height: 0px;
		width: 100%;
		pointer-events: none;
		overflow: hidden;
	}
	footer .navigator > div.active > ul{
		max-height: 600px;
		opacity: 100%;
		visibility: visible;
		pointer-events: all;
	}
	.midfoot > div{
		margin-top: 20px!important;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.flexed-centered{flex-direction: row!important;}
	footer .midfoot > div > div:first-child{
		margin-bottom: 10px!important;
		text-align: left;
	}
	footer .midfoot > div .logo{
		margin: auto;
		display: block;
	}
	.midpart{
		margin: 30px auto 30px;
	}
	footer .footbottom {
	  margin-top: 30px;
	}
	header nav div{
	  position: relative;
	}
	
	#navbarsExample05 {
	  position: absolute;
	  width: 100%;
	  top: 100%;
	  padding: ;
	  padding-top: 0;
	}
	.peace{
		padding-top: 20px!important;
		padding-bottom: 40px!important;
	}
	.peace .secondary{
		margin-top: 0!important;
	}

	.nodsk{
		position: relative!important;
	  margin-bottom: 0!important;
	}
	.nodsk.arr:after {
	  display: block;
	  content: "";
	  width: 10px;
	  height: 10px;
	  position: absolute;
	  top: 46%;
	  right: 25px;
	  border-bottom: 2px solid #fff;
	  border-right: 2px solid #fff;
	  transition: all 0.4s ease-in-out;
	  transform: rotateY(0deg) rotateZ(45deg) translateY(-50%);
	}
	.active .nodsk:after {
	  transform: rotateX(-180deg) rotateZ(45deg) translateY(-50%);
	  margin-bottom: 8px!important;
	}

	.card > .rec{
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s ease-in;
		max-height: 0px;
		width: 100%;
		pointer-events: none;
		overflow: hidden;
		padding-left: 15px!important;
		padding-right: 15px!important;
		padding-top: 0px!important;
		padding-bottom: 0px!important;
	}
	.card.active > .rec{
		max-height: 600px;
		opacity: 100%;
		visibility: visible;
		pointer-events: all;
		padding-left: 15px!important;
		padding-right: 15px!important;
		padding-top: 15px!important;
		padding-bottom: 15px!important;
	}
	
	.bottomprod {
	  margin-top: 40px;
	}
	.bottomprod .secondary{
		padding-right: 0!important;
	}
}

@media screen and (max-width: 1151px) and (min-width: 992px){
	.carousel-caption {
	  width: 66%!important;
	}
	.navigazionecarousel {
	  margin-left: Calc(66% - 61px)!important;
	}
}

@media (max-width: 991px) and (min-width: 768px) {
	.bottomprod .intro > h2{
		margin-left: 0!important;
		margin-right: 0!important;
	}
	.bottomprod .intro.right{padding-top: 0;}
	.bottom-left {
    font-size: 1.5em;
	}
}

.hide{display: none!important;}

.bd-placeholder-img {
  font-size: 1.125rem;
  text-anchor: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

@media (min-width: 768px) {
  .bd-placeholder-img-lg {
    font-size: 3.5rem;
  }
}
@media (max-width: 767px) {
	.carousel-caption {
	  width: 66%!important;
	}
	.navigazionecarousel {
	  margin-left: Calc(66% - 61px)!important;
	}
	.flexed-centered img{
		max-height: 60px!important;
	}
}

.brands .square div{
	padding: 10px;
}