@import url('/fonts/opensans.css');
@import url('/fonts/dancing-script.css');

/* spinnaker-regular - latin */
@font-face {
  font-family: 'Spinnaker';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/spinnaker-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/spinnaker-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/spinnaker-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/spinnaker-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/spinnaker-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/spinnaker-v17-latin-regular.svg#Spinnaker') format('svg'); /* Legacy iOS */
}

.dancing-script {
  font-family: "Dancing Script", cursive;
  font-optical-sizing: auto;
  font-weight: auto;
  font-style: normal;
}


html {
	scroll-behavior: smooth;
}


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, font, 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 {
	margin: 0px;
	padding: 0px;
	border: 0px;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;

}

html {
	scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
    outline: none;
}

/*** FONTS ***/

h1, h2, h3 {
	font-family: 'Open Sans', sans-serif;
	font-weight: normal;
    line-height: normal;
}

body , .btn , input , label , select , textarea , .contact-absolute , h4 {
	font-family: 'Open Sans', sans-serif;
}

:root {
	--size1: 65px;
	--height1: 75px;
	--size2: 36px;
	--height2: 46px;
	--size3: 27px;
	--height3: 37px;
	--size4: 19px;
	--height4: 29px;
	--size5: 14px;
	--height5: 24px;

	--verde1: #008e50;
	--verde1trasparente1: #008e50DD;
	--verde1trasparente2: #008e5044;
	--verde2: #00b868;
	--verde3: #00a35c;
	--grigioscuro: #444;
	--grigio1: #dfdfdf;
	--grigio2: #dfdfdf44;
	--grigio3: #dfdfdfAA;
	--grigio4: #ccccccc4;
	/* --oro1: #ce9f52; */
	--diversamenteverde1: #008e50;
}

h1 , .slogan , .font-45 {
    font-size: var(--size1);
	line-height: var(--height1);
    font-weight: 700;
}

.sameheight-slogan .slogan {
	line-height: 65px;
}

h2 , h3 , .font-60 , .right-txt2 {
	font-size: var(--size2);
	line-height: var(--height2);
    font-weight: 700;
}

.font-24 , .titolo-servizi , .titolo-testimonianze , .titolino , .titolino-servizi , .testimonianza-box .fa-quote-left , .testimonianza-box .fa-quote-right , .titolo-posizione , .titolo-servizi-bianco , .slogan-software , .titolo-news , .contatore-numero {
    font-size: var(--size3);
	line-height: var(--height3);
	font-weight: 500;
}

.link-menu {
  font-size: var(--size3);
  line-height: var(--height3);
  font-weight: 500;
}

body , .btn , input , label , select , textarea , .contact-absolute , h4 , p , .contact-absolute , .testo-testo {
    font-size: var(--size4);
	line-height: var(--height4);
	color: var(--grigioscuro);
}

.small-footer , .used-brand , .menu-accesibilita , .data-news {
	font-size: var(--size5);
	line-height: var(--height5);
	font-weight: 200;
}

.txt-cnt {
	font-size: var(--size5);
	line-height: var(--height5);
}

/*** FINE ***/

.sameheight-slogan {
	display: flex;
	gap: 20px;
	flex-direction: column;
}

.sameheight-slogan .btn , .sameheight-slogan .btn-oro {
	width: fit-content;
	margin-top: 8px;
}

h1 {
    margin-bottom: 50px;
}

.icona_piede {
    color: var(--verde1);
}

a {
	color: #000;
    text-decoration: none;
    outline: none;

	transition: color .4s;
}

.verde a {
	color: #fff;
	text-decoration: underline;
}

a:hover {
	color: var(--verde1);
    text-decoration: none;
}

.verde a:hover {
	color: #fff;
	text-decoration: underline;
}

.colored-link {
	color: var(--verde1);
    text-decoration: none;
}

.photo-background {
  background-image: url('/img/background.jpg');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.background-image {
	padding: 90px 0;
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
}

.background-image:before {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--grigio3);
}

.background-image .container {
	position: relative;
	z-index: 1;
}

#diconodinoi-nocarousel {
	display: flex;
	justify-content: center;
}

.recensioni {
	padding: 90px 0;
}

.filter {
  background-color: rgba(0, 0, 0, 0.60);
  padding: 90px 0px;
}

.inner-lavoraconnoi {
	text-align: center;
}

.box-recensione {
	max-width: 600px;
	margin: 0 auto;
	padding: 40px;
	box-sizing: border-box;
	border-radius: 0;
	position: relative;
	padding-top: 120px;
	padding-right: 40px;
	padding-left: 0;
	border-right: 1px solid var(--verde1);
}

.box-recensione:before {
	font-family: "Font Awesome 6 Free"; font-weight: 900;
	font-size: 45px;
	color: var(--verde1);
	position: absolute;
}
.video-news-dettaglio {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	background-color: #000;
}
.box-recensione:before{
	content: "\f10d";
	top: 40px;
	left: 0;
}

#diconodinoi-nocarousel .box-recensione {
	margin: 0;
    flex: 0 0 500px;
}

#diconodinoi-nocarousel .box-recensione:last-child {
	border-right: none;
	padding-right: 0;
	margin-left: 40px;
	flex: 0 0 460px;
}

.firma-recensione {
	display: flex;
	gap: 20px;
	align-items: center;
}

.firma-recensione-immagine {
	flex: 0 0 70px;
	height: 70px;
	overflow: hidden;
}

.firma-recensione-immagine > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 0;
}

.firma-recensione-nome {

}

.box-con-video {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: center;
}

.preview-video {
  position: relative;
  display: block;
  flex: 0 0 380px;
  max-width: 100%;
  line-height: 0;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.35);
}
.preview-video img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s ease;
}
.preview-video:hover img { transform: scale(1.05); }

.play-overlay {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 66px; height: 66px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  color: #1a1a1a;
  font-size: 20px;
  padding-left: 4px;
  transition: background .3s ease, transform .3s ease;
}
.preview-video:hover .play-overlay {
  background: #fff;
  transform: translate(-50%,-50%) scale(1.1);
}

.testo-rassegna {
  flex: 1 1 320px;
  text-align: left;
}
.sottotitolo-box {
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
  margin: 12px 0 24px;
  max-width: 420px;
}

@media (max-width: 900px) {
  .box-con-video { gap: 26px; }
  .testo-rassegna { text-align: center; }
  .sottotitolo-box { margin-left: auto; margin-right: auto; }
}

.privacy-p p {
	margin-bottom: 30px !important;
}

.privacy-p h2, .privacy-p h3 {
	margin-bottom: 10px !important;
	font-size: var(--size3);
	line-height: var(--height3);
}

.servizio-home {
  float: left;
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 3%;
  display: block;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  /*-webkit-transition: all .2s linear;
  -moz-transition: all .2s linear;
  -o-transition: all .2s linear;*/
  transition: all .2s linear;
  height: 450px;
  border-radius: 3px;
}

.sport{
  color: var(--verde1);
  font-size: 50px;
}

.overlay-absolute {
  -webkit-transition: all .6s ease;
  -moz-transition: all .6s ease;
  -o-transition: all .6s ease;
  transition: all .6s ease;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 3;
  text-align: center;
  color: #fff;
  border-radius: 3px;
}

.overlay-absolute2 {
  -webkit-transition: all .6s ease;
  -moz-transition: all .6s ease;
  -o-transition: all .6s ease;
  transition: all .6s ease;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 100%;
  z-index: 3;
  text-align: center;
  color: #fff;
  border-radius: 3px;
}

.display-table {
  display: table;
  width: 100%;
  height: 100%;
}

.display-table-cell2 {
  display: table-cell;
  vertical-align: middle;
  padding: 10px 40px;
}

.overlay-absolute2 {
  text-align: center;
  color: #fff;
}

.servizio-home::after {
  content: '';
  background-color: rgba(0, 0, 0, .2);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  border-radius: 3px;
  transition: all .2s linear;
}

.servizio-home.last {
  margin-right: 0;
}

img {
    max-width: 100%;
}

.titolo-servizi-bianco {
    color: #ffffff;
	text-transform: uppercase;
}

.container {
	max-width: 1600px;
	margin: 0 auto;
}

.container.small {
	max-width: 1100px;
}

#certificazioni {
	text-align: center;
}

.container-certificazioni {
	max-width: 1440px;
	margin: 0 auto;
	text-align: center;
}

section , header {
	position: relative;
}

.white-pad {
	margin: 80px 0;
}

.striscia-dx.white-pad {
	margin: 120px 0;
}

.due-colonne-text {
	column-count: 2;
	column-gap: 80px;
}

.box {
	padding: 40px;
}

.elenco-posizioni {
	margin-bottom: 40px;
}

.mega-button {
	background-color: var(--grigio1);
	color: var(--verde1);
	padding: 20px;
	text-align: center;
	cursor: pointer;
	border: 1px solid var(--grigio1);
	transition: background-color .4s , color .4s;
}

a.mega-button {
	text-decoration: none;
}


#popup {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  z-index: 10000;
}

.popup {
	background-image: url('/img/macchina-colorata.jpg');
  background-color: #000;
  border: #aaa 1px solid;
  z-index: 10001;
  max-width: 800px;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  padding: 50px;
  background-position: center center;
  background-size: cover;
  background-image: -webkit-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
  background-image: -moz-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)),url('/img/macchina-colorata.jpg');
  background-image: -ms-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
  background-image: -o-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
  background-image: linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
  font-size: 22px;
}

.popup {
  text-align: center;
  color: #fff;
  font-size: 22px;
}

.popup .btn {
  display: block;
}
a.mega-button:hover {
	text-decoration: none;
	background-color: var(--verde1);
	color: #fff;
}

.verde a.mega-button:hover {
	text-decoration: none;
	background-color: var(--verde1);
	color: #fff;
}

.mega-button i {
	font-size: 60px;
	margin-bottom: 20px;
}

.verde .mega-button {
	background-color: #fff;
	color: var(--verde1);
	border: 2px solid #fff;
}

.contact-absolute .btn {
	display: inline-block;
	background-color: var(--verde1);
	border: 1px solid var(--verde1);
	color: #fff;
	padding: 10px 20px;
	cursor: pointer;
	transition: background-color .4s , color .4s;
	border-radius: 0px;
}

.btn-oro , .btn {
	display: inline-block;
	background-color: var(--diversamenteverde1);
	border: 1px solid var(--diversamenteverde1);
	color: #fff;
	padding: 10px 20px;
	cursor: pointer;
	transition: background-color .4s , color .4s;
	border-radius: 0px;
	text-align: center;
}

.oro {
	color: #fff;
}

.btn-oro:hover , .btn:hover {
	background-color: #fff;
	color: var(--diversamenteverde1);
	border: 1px solid var(--diversamenteverde1);
}

.nero .btn.bianco {
	border: 1px solid #444;
	background-color: #44444400;
	color: #444;
	width: fit-content;
    margin: 0 auto;
}

.nero .btn.bianco:hover {
	background-color: #444444;
	color: #fff;
}

.btn.bianco {
	border: 1px solid #fff;
    background-color: #ffffff00;
    color: #fff;
    width: fit-content;
    margin: 0 auto;
}

.btn.bianco:hover {
	background-color: #ffffffff;
    color: var(--verde1);
}

.simply-scroll-list li img {
	width: 100px;
	height: 100px;
	object-fit: contain;
}

.sub_menu li.brand-menu {
  width: 19.66%;
}

.sub_menu li.brand-menu {
  width: 24%;
  display: inline-block;
}

.sub_menu.marchi li.brand-menu {
	width: auto;
}

.used-brand {
    color: #000;
    display: block;
    text-align: left;
    text-transform: uppercase;
}

.used-brand .svg-inline--fa {
	color: var(--verde1);
    padding-right: 10px;
}

header {
	background-size: cover;
	background-position: center;
}

.contact-absolute .btn {
	background-color: var(--verde1) !important;
	color: #fff !important;
	border: 1px solid #fff !important;
}

.contact-absolute .btn:hover {
	background-color: #fff !important;
	color: var(--verde1) !important;
	border: 1px solid var(--verde1) !important;
}

.btn.big {
	padding: 20px 40px;
	border: #fff 1px solid;
}

.colored {
	background-color: #008e50a1;
	color: #fff;
}

.colored a {
	color: #fff;
}

.citazione {
	color: #fff;
}

.link-box {
	display: block;
}

.filtro {
	background-color: #0000005c;
	width: 100%;
	height: 100%;
	position: relative;
	color: #fff;
}

.container-servizi .mini-box-sx .filtro {
	position: absolute;
	top: 0;
	left: 0;
}

.fake-filtro {
	background-color: #00000000 !important;
}

.filtro.bianco {
	background-color: #0000005c;
	transition: background-color .5s;
	border-radius: 0px;
}

.filtro.grigio {
	background-color: var(--grigio4);
}

.filtro.verde {
	background-color: #008e50bb;
}

.filtro.verde2 {
	background-color: var(--verde1trasparente2);
}

.biancoscuro {
	background-color: #000000bb !important;
	border-radius: 0px;
}

.titolo-section.bianco {
	color: #ffffff;
}

.titolo-section2.bianco {
	color: #ffffff;
}

.titolo-section.centrato {
	text-align: center;
}

.last {
	margin-right: 0 !important;
}

.ultimo {
	margin-bottom: 0 !important;
}

.nascosto {
	display: none;
}

.footer-container {
	font-size: 15px;
}

.clear {
	clear: both;
}

.titolo-section , .titolo-section2 , .blu , .segna-periodo {
	color: var(--verde1);
}

.titolo-section-bianco {
	color: #ffffff;
}

.testo-testimonianze.tipo {
	color: #fff;
	position: absolute;
	top: 0;
	right: 0;
	text-align: center;
	padding: 10px 20px;
	background-color: var(--verde1);
	border-radius: 0 0 0 20px;
}


.immagini-rassegna {
  height: 100%;
  background-size: cover;
  background-position: center;
  background-image: url('/uplrassegnastampa/1-tirreno-volley.jpg');
  height: 200px;
  width: 100%;
}

.centro {
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.input {
	border: 1px solid var(--grigio1);
    box-sizing: border-box;
    width: 100%;
    padding: 10px 20px;
    background-color: #F7F7F7;
    text-align: left;
}

.form-mini {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.form-mini .fullspan {
	grid-column: 1 / 3;
}

#form-demo .input {
	background-color: var(--grigio1);
}

textarea {
    resize: vertical
}

.field input , .field select {
	padding: 30px 20px 10px 20px;
	-webkit-appearance: initial;
}

.field.nolabel input , .field.nolabel select {
	padding: 10px 20px 10px 20px;
}

.field select {
	-webkit-appearance: initial;
}

.field-select {
	position: relative;
}

.field-select::after {
	content: '>';
	font-family: Spinnaker, sans-serif;
	font-size: 17px;
	color: #333;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	right: 10px;
	top: 18px;
	padding: 0 0 2px;
	/* border-bottom: 1px solid #999; */

	position: absolute;
	pointer-events: none;
}

.field:not(.nolabel) .input::placeholder {
	opacity: 0;
	transition: .2s opacity;
}

.field:not(.nolabel) .input:focus::placeholder {
	opacity: 1;
}

.field:not(.nolabel) .input:not(:placeholder-shown) {
	/* border: #222 1px solid; */
}

.field:not(.nolabel) .input:not(:placeholder-shown) + label , .field .input:focus + label {
	top: 10px;
}

.field {
	position: relative;
}

.field label {
	position: absolute;
	top: 25px;
	left: 20px;
	line-height: 13px;
	transition: .2s top;
	cursor: text;
	color: #444;
}

.field.nolabel label {
	opacity: 0;
}

#form {
	position: relative;
}

#loading {
	POSITION: absolute;
	width: 100%;
	height: 100%;
	background-size: 50px 50px;
	background-position: center;
	background-repeat: no-repeat;
	background-color: #f0f7f9AA;
	display: none;
}

.round-box {
	display: inline-block;
	background-color: #fff;
	color: var(--verde1);
	line-height: 40px;
	width: 40px;
	text-align: center;
	font-size: 20px;
	border-radius: 50%;
}

.round-box .fab , .round-box .fa-brands {
	line-height: 40px;
}

.slogan , .titolo-section, .titolo-section-bianco, .titolo-section2 {
	font-style: italic;
	text-transform: uppercase;
}

/*********************/

.header-container {
	position: fixed;
	width: 100%;
	top: 20px;
	left: 0;
	z-index: 1;
	color: var(--verde1);
	display: flex;
	justify-content: space-between;
	align-items: center;

	transition: top .4s;
}

.logo-container {
	background-color: var(--verde1);
	padding: 10px 30px 10px 10px;
	border-radius: 50px 0 0 50px;
}

.btn-header-container {
	position: absolute;
	right: 0;
	width: 100%;
	background-color: var(--grigio2);
	text-align: right;
	z-index: 0;

	transition: background-color .4s;
}

.inner-btn-header {
	display: inline-block;
	/*background-color: var(--verde1);
	border: 1px solid var(--verde1);*/
	background-color: var(--diversamenteverde1);
	border: 1px solid var(--diversamenteverde1);
	padding: 20.5px 0;
	width: 320px;
	text-align: center;
	color: #fff;
	box-sizing: border-box;

	transition: background-color .4s , color .4s;
}

.inner-btn-header:hover {
	background-color: #fff;
	color: var(--diversamenteverde1);
}

.header-container .container {
	position: relative;
}

.header-legal {
	padding-bottom: 130px;
}

.header-legal .header-container {
	background-color: #FFFFFFff;
	box-shadow: 0 0 20px #66666644;
}

.header-map {
	margin-bottom: 0;
}

.header-map .header-container {
	color: var(--verde1);
	color: #FFF;
}

#legal-page ul {
	margin-left: 20px;
}

.menu-principale-box , .link-menu {
	color: #fff;
	box-sizing: border-box;
}

.link-menu:not(:first-child) {
	margin-bottom: 30px;
}

.link-menu a {
	color: #fff;
}

.about-box {
	padding-top: 120px;
	padding-bottom: 120px;
	padding-right: 0;
	background-size: cover;
	background-position: center;
	border-radius: 0px;
}

.txt-about-box {
	max-width: 700px;
	margin-left: auto;
	border-radius: 0px;
}

.txt-btn , .titolo-section , .titolo-section2, .titolino , .titolino-servizi , .segna-periodo, .titolo-section-bianco {
	padding-bottom: 40px;
}

.menu-accesibilita {
	background-color: var(--grigio2);
	padding: 5px 0;
	text-align: right;
	border-bottom: 1px solid var(--verde1);
}

.elemento-accessibilita {
	display: inline-block;
	padding-left: 15px;
	vertical-align: middle;
}

.elemento-accessibilita i {
	font-size: 15px;
}

header {
	z-index: 10;
}

.header {
	height: 500px;
	box-shadow: 0 0 20px #66666644;
}

.header-home {
	height: 100vh;
}

.header-home.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	display: none;
}

.spazio-vuoto {
	display: none;
	height: 0;
}

.spazio-vuoto {
	display: none;
	height: calc(100vh - 80px);
}

.header-home.minus {
	height: 600px;
	position: relative;
	margin-bottom: 80px;
}

.spazio-vuoto.minus {
	height: 600px;
}

.header-home.null , .header-home.fixed {
	position: fixed;
	height: 156px;
	background-color: #fff;
}

.header-home.nomargin {
	margin-bottom: 0;
}

.spazio-vuoto.null:not(.contatti-page) {
	height: 156px;
	display: block;
}

.header-home.null .img-header-container , .header-home.null .fake-filtro , .header-home.fixed .img-header-container , .header-home.fixed .fake-filtro {
	display: none;
}

#menu-button , #chiudi-menu-button {
	cursor: pointer;
}

.logo-img {
	height: 80px;
	width: auto;
	display: block;
	margin: 0 auto;
}

.colonna {
	-webkit-column-count: 3;
	-moz-column-count: 3;
	column-count: 3;
	-webkit-column-gap: 40px;
	-moz-column-gap: 40px;
	column-gap: 40px;
}

.img-header-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1 !important;
}

.img-header-inner .owl-nav {
	display: none;
}

.img-header {
	width: 100%;
	height: 100vh;
	background-size: cover;
	background-position: center;
	position: relative;
}

.minus .img-header {
	height: 600px;
}

.img-header::after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #0000005c;
}

.menu-principale-container {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1000;

	display: flex;
	flex-wrap: wrap;

	transition: width .4s , height .4s;
}

.menu-principale-container .menu-principale-box {
	opacity: 1;
	transition: opacity 1.2s ease-in;

	background-size: cover;
	background-position: center;
}

.menu-principale-container.chiuso .menu-principale-box {
	opacity: 0;
}

.menu-principale-container.chiuso {
	width: 0px;
	height: 0px;
}

.menu-principale-box {
	flex: 1 1 200px;
	position: relative;
}

.menu-principale {
	list-style: none;
	padding-left: 0;
	padding-top: 100px;
}

.box-menu {
	position: absolute;
	bottom: 0;
	left: 0;
}

.elemento-menu {
	margin-bottom: 20px;
}

.menu-button-container {
	color: #ffffff;
	font-size: 46px;
	padding: 10px;
	width: 100%;
	max-width: 70px;
	margin-left: 20px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--verde1);

	transition: margin-left 0.4s , max-width .4s;
}

/* .fixed .menu-button-container {
	max-width: 70px !important;
} */

#trigger {
	display: inline-block;
	font-size: 45px;
}

#trigger a {
	color: #ffffff;
}

#close {
	font-size: 45px;
	cursor: pointer;
	line-height: 100px;
}

.menu-container {
	position: fixed;
	top: 0;
	right: 100%;
	width: 100%;
	height: 100%;
	z-index: 1001;
	background-color: var(--verde1trasparente1);
	padding-top: 20px;

	transition: right .4s;
}

.menu-container.aperto {
	right: 0;
}

.menu-container ul {
	list-style: none;
}

.menu-container ul li {
	padding: 0;
}

#presentazione-home-section {
	background-size: cover;
	background-position: center;
}

.decorated {
	border-left: 2px solid var(--verde1);
	padding-left: 40px;
	padding-right: 41px;
	margin-bottom: 40px;
}

.decorated.full {
	padding-right: 0;
}

.verde .decorated {
	border-left: 2px solid #fff;
}

.due-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 80px;
}

.due-colonne.non-equal {
	display: flex;
}

.due-colonne.buttons {
	gap: 40px;
}

.due-colonne-testo {
	column-count: 2;
	column-gap: 40px;
}

.due-colonne-immagine {
	align-self: center;
	text-align: center;
}

.due-colonne-immagine img {
	max-width: 400px;
	height: auto;
}

.tre-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
}

.quattro-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
}

.container-loghi-partner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	align-items: center;
	gap: 80px;
	justify-items: center;
}

.container-loghi-partner img {
  max-width: 100%;
}

.container-loghi-partner > div {
	text-align: center;
}

.txt-con-logo {
	display: flex;
	gap: 40px;
	padding-bottom: 40px;
}

.txt-con-logo .titolino {
	padding-bottom: 0;
}

.txt-con-logo > * {
	min-width: 0;
}

.txt-con-logo span {
	flex: 1 1 100%;
}

.txt-con-logo a {
	flex: 0 0 200px;
	align-self: center;
}

.txt-con-logo a img {
	width: 100%;
	height: auto;
	display: block;
}

.partners-container {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.elemento-partner {
	display: flex;
}

.elemento-partner:last-child {
	margin-bottom: 0;
}

.elemento-partner .img-partner , .elemento-partner .txt-partner {
	float: left;
}

.elemento-partner .img-partner {
	flex: 0 0 30%;
	padding-right: 80px;
	border-right: 1px solid var(--verde1);
	margin-right: 80px;
	text-align: right;
	max-width: 250px;
}

.elemento-partner .img-partner img {
	width: auto;
	max-width: 100%;
	height: 150px;
	object-fit: contain;
}

.elemento-partner .txt-partner {
	flex: 1 0 0;
}

.elemento-partner .txt-partner .titolino {
	display: block;
}

.container-vertical-slider {
	position: relative;
	padding: 50px 0 30px 0;
}

.freccine-container .freccia-su , .freccine-container .freccia-giu {
	position: absolute;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 30px;
	cursor: pointer;
	color: var(--verde1);
}

.verde .freccine-container .freccia-su , .verde .freccine-container .freccia-giu {
	color: #fff;
}

.freccine-container .freccia-su {
	top: 0;
}

.freccine-container .freccia-giu {
	bottom: 0;
}

.square-list {
	list-style: none;
}

.square-list li {
	padding-left: 0;
}

.square-list .fa-square-full {
	font-size: 10px;
	color: var(--verde1);
	vertical-align: middle;
}

.verde .square-list .fa-square-full {
	color: #fff;
}

.img-presentazione {
	max-width: 300px;
}

.img-presentazione img {
	height: auto;
	width: 100%;
}

.partner .img-presentazione {
	width: auto;
	height: 200px;
	background-color: #fff;
}

.partner .img-presentazione img {
	height: 100%;
	width: 100%;
	object-fit: contain;
}

.maxed-column {
	max-width: 100%;
	flex-grow: 1;
}

.bandiera-dx {
	position: absolute;
	top: 100px;
	right: 0;
	width: calc(50% + 50px);
	background-color: var(--grigio1);
	padding: 40px;
}

.striscia-dx {
	margin-left: auto;
}

.striscia-sx {
	margin-right: auto;
}

.striscia-dx , .striscia-sx {
	background-color: var(--grigio1);
	margin-top: 80px;
	margin-bottom: 80px;
	height: 220px;
}

.striscia-dx .container {
	margin: 0 auto 0 0;
	max-width: 1640px;
}

.striscia-sx .container {
	margin: 0 0 0 auto;
	max-width: 1640px;
}

.mini-box-sx {
	position: relative;
	height: 300px;
	box-sizing: border-box;
	display: block;
	display: flex;
	align-items: center;
	background-position: center;
	background-size: cover;
}

.inner-mini-box-sx {
	text-align: center;
	width: 100%;
	position: relative;
	color: #fff;
}

.nero .inner-mini-box-sx {
	color: #444;
}

.nero .titolo-servizi {
	color: var(--verde1);
}

.inner-mini-box-sx .titolino {
	display: block;
	color: #fff;
}

#servizi {
	background-color: var(--grigio1);
	padding: 80px 0;
	margin-right: auto;
}

#news , #case-history {
	background-color: var(--grigio1);
	padding: 40px 0 0 0;
	margin-bottom: 80px;
	margin-right: auto;
}

#servizi.verde {
	background-color: var(--verde1);
	color: #fff;
}

#servizi .titolo-section {
	padding-bottom: 40px;
}

#lista-moduli {
	margin-bottom: 20px;
}

#lista-moduli .testo-servizi , #lista-moduli2 .testo-servizi {
	height: 0;
	min-height: 0;
	overflow: hidden;
}

.background-grigio {
	background-color: var(--grigio1);
}

.img-news {
	width: 100%;
	height: 200px;
	background-position: center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.img-rassegna {
	width: 100%;
	height: 200px;
	background-position: center;
	background-size: cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.img-news-dettaglio {
	width: 100%;
	height: auto;
}

.titolo-news {
	color: var(--verde1);
	font-weight: 500;
	display: block;
	line-height: var(--size3);
}

.testo-news {
	display: block;
	color: #444;
	flex: 1 0 0;
	/* height: var(--height4);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap; */
}

.data-news {
	display: block;
	color: #444;
	margin-bottom: 10px;
}

#news.verde {
	background-color: var(--verde1);
	color: #fff;
}

#news .titolo-section , #case-history .titolo-section {
	padding-bottom: 0;
}

.titolo-section2 {
	padding-bottom: 40px;
	padding-top: 40px;
}

#news .container , #case-history .container {
	margin: 0 auto 0 40px;
	max-width: 1640px;
}

.banda-verde {
	background-color: var(--verde1);
	color: #fff;
	padding: 40px 0 40px 0;
	margin-bottom: 80px;
	margin-right: auto;
}

.banda-verde .container {
	margin: 0 40px 0 auto;
}

.banda-grigia {
	background-color: #dfdfdf;
	padding: 40px 0 40px 0;
	margin-bottom: 80px;
	margin-right: auto;
}

.banda-grigia .container {
	margin: 0 40px 0 auto;
}

.container-servizi {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
	margin-right: 40px;
}

.container-servizi.container-mini-box {
	grid-template-columns: 1fr 1fr;
}

.container-servizi.container-rassegna-box {
	grid-template-columns: 1fr;
}


#page-news .container-servizi {
	margin-right: 0;
}

.striscia-dx .container-servizi {
	left: 40px;
}

.striscia-dx .container-servizi , .striscia-sx .container-servizi {
	position: relative;
	top: -40px;
}

.box-news {
	color: #000;
	position: relative;
	top: 40px;
	box-shadow: 0 0 40px #22222244;
}

#container-news , #container-case-history {
	position: relative;
	left: -40px;
	padding: 0 40px;
}

#container-news.owl-carousel::after , #container-case-history.owl-carousel::after {
	/*content: " ";
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: calc(100% - 80px);
	background: rgb(223,223,223);
	background: linear-gradient(90deg, rgba(223,223,223,0) 0%, rgba(223,223,223,1) 90%, rgba(223,223,223,1) 100%);*/
}

#container-news.owl-carousel::before , #container-case-history.owl-carousel::before {
	/*content: " ";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 40px;
	height: 80px;
	background: rgb(255,255,255);
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
	z-index: 1;*/
}

#container-news .box-news , #container-case-history .box-news {
	position: static;
	top: 0;
	box-shadow: none;
}

#container-news .owl-nav [class*='owl-'] , #container-case-history .owl-nav [class*='owl-'] {
	color: var(--verde1);
	display: inline-block;
	cursor: pointer;
	position: absolute;
	top: 50%;
	z-index: 3;
	font-size: 40px;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

#container-news .owl-prev , #container-case-history .owl-prev {
	left: -40px;
}

#container-news .owl-next , #container-case-history .owl-next {
	right: -40px;
}

.inner-news-shadow {
	margin: 40px 0 40px 40px;
	box-shadow: 0 0 40px #22222244;
	position: relative;
}

.box-servizi {
	background-color: var(--verde1);
	color: #fff;
	position: relative;
	top: 40px;
	box-shadow: 0 0 40px #22222244;
	background-size: cover;
	background-position: center;
}

.owl-item .box-servizi {
	position: static;
	top: 0;
}

.box-servizi-sfondo {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	z-index: -1;

	transition: filter .4s;
}

.box-servizi.nero {
	color: #444;
}

.box-servizi.disabled .filter {
	background-color: var(--grigio4) !important;
}

.box-servizi .filter-grigio {
	background-color: #53535388;
}

.box-servizi:hover {
	color: #fff;
}

.box-servizi.nero:hover {
	color: #444;
}

.box-servizi {
	--elem1: #00b678c4;
	--elem2: #00a264c4;
	--elem3: #008e50c4;
	--elem4: #007a3dc4;
	--elem5: #006629c4;
	--elem6: #005215c4;
}

/***/

.box-servizi:nth-child(1) .filter {
	background-color: var(--elem1);
	height: 100%;
}

.box-servizi:nth-child(2) .filter {
	background-color: var(--elem2);
	height: 100%;
}

.box-servizi:nth-child(3) .filter {
	background-color: var(--elem3);
	height: 100%;
}

/***/

.box-servizi:nth-child(4) .filter {
	background-color: var(--elem6);
	height: 100%;
}

.box-servizi:nth-child(5) .filter {
	background-color: var(--elem5);
	height: 100%;
}

.box-servizi:nth-child(6) .filter {
	background-color: var(--elem4);
	height: 100%;
}

/***/

.box-servizi:nth-child(7) .filter {
	background-color: var(--elem5);
	height: 100%;
}

.box-servizi:nth-child(8) .filter {
	background-color: var(--elem4);
	height: 100%;
}

.box-servizi:nth-child(9) .filter {
	background-color: var(--elem3);
	height: 100%;
}

/***/

.box-servizi:nth-child(10) .filter {
	background-color: var(--elem2);
	height: 100%;
}

.box-servizi:nth-child(11) .filter {
	background-color: var(--elem1);
	height: 100%;
}

.box-servizi:nth-child(12) .filter {
	background-color: var(--elem2);
	height: 100%;
}

/***/

.box-servizi:nth-child(13) .filter {
	background-color: var(--elem3);
	height: 100%;
}

.box-servizi:nth-child(14) .filter {
	background-color: var(--elem4);
	height: 100%;
}

.box-servizi:nth-child(15) .filter {
	background-color: var(--elem5);
	height: 100%;
}

/***/

.box-servizi:nth-child(16) .filter {
	background-color: var(--elem4);
	height: 100%;
}

.box-servizi:nth-child(17) .filter {
	background-color: var(--elem5);
	height: 100%;
}

.box-servizi:nth-child(18) .filter {
	background-color: var(--elem6);
	height: 100%;
}

/* .box-servizi:nth-child(6n-5) .filter {
	background-color: #00b678c4;
	height: 100%;
}

.box-servizi:nth-child(6n-4) .filter {
	background-color: #00a264c4;
	height: 100%;
}

.box-servizi:nth-child(6n-3) .filter {
	background-color: #008e50c4;
	height: 100%;
}

.box-servizi:nth-child(6n-2) .filter {
	background-color: #007a3dc4;
	height: 100%;
}

.box-servizi:nth-child(6n-1) .filter {
	background-color: #006629c4;
	height: 100%;
}
.box-servizi:nth-child(6n-0) .filter {
	background-color: #005215c4;
	height: 100%;
} */

.center-servizi-container {
	display: flex;
	align-items: center;
	min-height: 250px;
}

.center-servizi {
	width: 100%;
}

.ico-inner1 , .ico-inner2 {
	background-color: #008e50;
	border-radius: 50%;
	width: 30px;
	text-align: center;
}

.ico-inner1 .fas , .ico-inner2 .fas {
	color: #fff;
	line-height: 30px;
}

.inner-servizi {
	text-align: center;
	padding: 40px;
	height: 100%;
	display: flex;
    flex-direction: column;
}

.inner-servizi.center-servizi-container {
	flex-direction: initial;
}

.inner-servizi:not(.center-servizi-container) .titolo-servizi {
	display: block;
	min-height: calc(var(--height3) * 2);
}

.inner-news {
	position: relative;
	z-index: 1;
	text-align: center;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	height: 100%;
}

.inner-news .btn-oro , .inner-news .btn {
	width: fit-content;
}

.tip {
	margin-bottom: 40px;
}

.testo-servizi {
	box-sizing: border-box;
	display: block;
	line-height: 30px;
	flex-grow: 1;
	margin-bottom: 20px;

	transition: min-height .4s;
}

#lista-moduli .box-servizi , #lista-moduli2 .box-servizi {
	overflow: hidden;
}

#lista-moduli .titolo-servizi , #lista-moduli2 .titolo-servizi {
	min-height: 0;
}

#lista-moduli .inner-servizi , #lista-moduli2 .inner-servizi {
	min-height: 260px;
	justify-content: center;
	padding: 20px;
}

#lista-moduli .box-servizi .filter-grigio {
	transition: background-color .4s;
}

#lista-moduli .box-servizi.blurred .box-servizi-sfondo , #lista-moduli2 .box-servizi.blurred .box-servizi-sfondo {
	filter: grayscale(100%);
}

#lista-moduli .box-servizi:hover .filter-grigio , #lista-moduli2 .box-servizi:hover .filter-grigio {
	background-color: var(--verde1trasparente1);
}

#lista-moduli .box-servizi:hover .testo-servizi , #lista-moduli2 .box-servizi:hover .testo-servizi {
	min-height: 80px;
	padding-top: 20px;
	direction: initial;
}

.box-servizi .btn {
	border: 1px solid #fff;
	background-color: #ffffff00;
	color: #fff;
	width: fit-content;
    margin: 0 auto;
}

.box-servizi .btn:hover {
	background-color: #ffffffff;
	color: var(--verde1);
}

.box-servizi.nero .btn {
	border: 1px solid #444;
	background-color: #44444400;
	color: #444;
	width: fit-content;
    margin: 0 auto;
}

.box-servizi.nero .btn:hover {
	background-color: #444444;
	color: #fff;
}

.testimonianza-box {
	height: 400px;
	position: relative;
	text-align: center;
	width: 400px;
	border-radius: 0px;
}

.testimonianza-box .centro {
	padding-left: 80px;
	padding-right: 80px;
}

.testimonianza-box .fa-quote-left {
	position: absolute;
	left: 40px;
	top: 0;
}

.autore-testimonianza {
	position: absolute;
	bottom: 40px;
	right: 40px;
}

.testimonianza-box .fa-quote-right {
	position: absolute;
	right: 40px;
	bottom: 0;
}

.txt-cnt .link-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.header-home .container {
	position: relative;
	height: 100%;
}

.slogan-container {
	display: flex;
	justify-content: center;
	align-items: center;
}

.fascia-sx-header {
	position: absolute;
	top: 0;
	left: 0;
	background-color: var(--verde1);
	height: 100%;
}

.fascia-dx-header {
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--grigio2);
	/*height: calc(100% + 150px);*/
	height: calc(100% + 80px);
}

.fascia-bottom-header {
	background-color: #fff;
	position: absolute;
	top: 100%;
	right: 0;
	width: 100%;
	height: 80px;
	z-index: -1;
	/*z-index: -1;*/
}

.banda-software {
	display: flex;
	gap: 40px;
}

.software-slogan-container {
	display: flex;
	gap: 40px;
	flex-grow: 1;
}

.slogan-software {
	color: #fff;
	flex-grow: 1;
}

/*.quadrato-dx-header {
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--verde1);
	height: 150px;
	width: 150px;
}*/

.quadrato-dx-header {
  position: absolute;
  top: -70px;
  right: 0;
  /*background-color: var(--verde1);*/
	background-color: var(--diversamenteverde1);
  height: 150px;
  width: 150px;
}

.figura-container {
	position: absolute;
	right: 0;
	height: 100%;
	width: 50%;
}

.figura {
	/*max-width: 350px;*/
	max-width: 70%;
	margin: 0 auto;
	margin-right: auto;
	height: 100%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin-right: 0px;
}

#home-news {
	display: flex;
	height: 300px;
	position: relative;
}

.news-container {
	/* float: left; */
	width: 100%;
	position: absolute;
	right: 0px;
	top: -100px;
	width: 70%;
	/*overflow-x: hidden;
	overflow-y: auto;
	min-height: 400px;*/
}

.fa-file-pdf , .fa-file-alt {
	color: #F40F02;
}

.img-left {
	float: left;
	width: calc(50% - 20px);
	margin-right: 40px;
}

.img-left img {
	border-radius: 0px;
	margin-bottom: 40px;
}

.img-center {
	margin-bottom: 40px;
}

.img-center img {
	float: left;
	display: block;
	width: calc(25% - 30px);
	height: 300px;
	object-fit: cover;
	margin-right: 40px;
	border-radius: 0px;
}

.img-center img.last {
	margin-right: 0;
}

.txt-right {
	float: left;
	width: calc(50% - 20px);
	margin-right: 0px;
}

.txt-center {
	text-align: left;
}

.footer-container , #newsletter .container , #ostello .container {
	padding: 25px 0;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 40px;
}

.box-foot {
	padding-left: 40px;
	border-left: 1px solid var(--verde1);
	position: relative;
}

.box-foot .titolino {
	color: var(--verde1);
}

footer > .container a.footer-btn {
	background-color: var(--diversamenteverde1);
	border: 1px solid var(--diversamenteverde1);
	padding: 10px 20px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin-top: 40px;

	transition: color .4s , background-color .4s;
}

.footer-btn2 {
	position: absolute;
	bottom: 40px;
	right: 40px;
	background-color: var(--diversamenteverde1);
	border: 1px solid var(--diversamenteverde1);
	padding: 10px 20px;
	color: #fff;
	cursor: pointer;

	transition: color .4s , background-color .4s;
}

footer > .container a.footer-btn:hover {
	color: var(--diversamenteverde1);
	background-color: #fff;
}

.footer-btn.up-btn {
	bottom: auto;
	top: -30px;
	font-size: 40px;
	line-height: 60px;
	width: 60px;
	padding: 0;
	text-align: center;
}

.footer-btn.up-btn i {
	line-height: 60px;
}

.footer-btn2:hover {
	color: var(--diversamenteverde1);
	background-color: #fff;
}

.footer-btn2.up-btn {
	bottom: auto;
	top: -30px;
	font-size: 40px;
	line-height: 60px;
	width: 60px;
	padding: 0;
	text-align: center;
}

.footer-btn2.up-btn i {
	line-height: 60px;
}

.ico-txt-container {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 5px;
}

.txt-inner {
	flex: 1 0 0;
}

.box-foot .titolino .titolino-servizi {
	padding-bottom: 10px;
}

.titolino-servizi {
	color: var(--verde1);
	font-style: italic;
}

.rosso {
	color: var(--verde1);
}

.rossorosso {
	color: #ff6666;
}

.menu-foot {
	padding-left: 0;
	list-style: none;
}

.box-foot .titolino .titolino-servizi {
	display: block;
}

.elemento-menu-foot {
	padding-bottom: 5px;
}

.elemento-menu-foot:last-child {
	padding-bottom: 0;
}

.orario {
	border-collapse: collapse;
}

.orario tr:last-child .giorno , .orario tr:last-child .ora {
	border-bottom: none;
}

.giorno, .ora {
    border-bottom: 1px solid #0a0a0a;
    padding: 10px;
}

.giorno {
    font-style: italic;
}

footer {
	/* background-color: var(--verde1); */
	margin-top: 160px;
	position: relative;
}

footer:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 60%;
	background-color: var(--verde1);
	z-index: -1;
}

footer.nomargin {
	margin-top: 0;
	position: relative;
	top: -40px;
}

footer > .container {
	background-color: var(--grigio1);
	color: var(--grigioscuro);
	position: relative;
	/* top: -15px; */
	max-width: none;
	margin-left: 0;
}

footer > .container a {
	color: var(--grigioscuro);
}

footer > .container .footer-btn .footer-btn2 {
	color: #fff;
}

footer > .container .footer-btn:hover .footer-btn2:hover {
	color: var(--diversamenteverde1);
}

.small-footer {
	padding: 10px 0 100px 0;
	/* background-color: var(--verde1); */
	color: #fff;
}

.small-footer a {
	color: #fff;
}

.link-small-footer {
	list-style: none;
	padding-left: 0;
	float: right;
}

.link-small-footer li {
	display: inline-block;
	padding-left: 20px;
}

.copy {
	float: left;
}

.container-mappa-contatti > .container {
	height: 100vh;
	display: flex;
	align-items: center;
}

#map {
	height: 100vh;
	min-height: 600px;
	width: 100%;
	z-index: 0;
}

#mappa-section {
	position: relative;
}

.container-mappa-contatti {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mappa-contatti {
	max-width: 400px;
	background-color: #fff;
	padding: 20px 0;
}

.mappa-contatti > div {
	padding: 20px 40px;
}

#calcola-itinerario-cnt {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

#calcola-itinerario-cnt .field {
	margin-bottom: 0;
}

.over-map {
	background-color: var(--verde1);
	color: #fff;
	padding: 20px;
}

.over-map-inner {
	float: left;
	width: calc(50% - 20px);
	text-align: center;
	padding: 20px;
}

.over-map-inner-sx {
	border-right: 1px solid #fff;
	margin-right: 20px;
}

.over-map a {
	color: #fff;
}

.contact-absolute {
    background: #fff;
    max-width: 400px;
    color: #000;
    z-index: 1001;
    position: absolute;
    top: 170px;
    left: 0;
}

.contact-absolute .titolino .titolino-servizi {
	padding-bottom: 20px;
}

.contact-absolute a {
	color: #000 !important;
}

.contact-absolute #richiesta_cnt {
    text-align: left;
}

#richiesta_cnt label {
    display: none;
}

.contact-absolute #richiesta_cnt .input {
    border: 1px solid #DEDEDE;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 20px;
    background-color: #F7F7F7;
    -webkit-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    margin-bottom: 20px;
    text-align: left;
    border-radius: 5px;
}

.box-news .img-left , .box-news .txt-right {
	height: 100%;
	width: 50%;
	margin-right: 0;
}

.box-news .img-left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px 0 0 10px;
}

.box-news .txt-right {
	position: relative;
	border-radius: 0 10px 10px 0;
}

.box-news .btn {
	position: absolute;
	bottom: 40px;
	right: 40px;
}

#newsletter {
	margin-bottom: 0;
	text-align: center;
	box-shadow: inset 1px 4px 9px -6px #66666644;
}

#newsletter .container {
	max-width: 600px;
}

.newsletter-txt {
	display: block;
	margin-bottom: 40px;
}

#ostello {
	margin-bottom: 0;
	text-align: left;
	box-shadow: inset 1px 4px 9px -6px #66666644;
}

#ostello .container {
	max-width: 1440px;
}

.ostello-txt {
	display: block;
	margin-bottom: 40px;
}

.left_50 , .dispo_captcha {
	float: left;
	width: calc(50% - 20px);
	margin-right: 40px;
}

.testo-testo-dx {
    float: right;
    width: Calc(50% - 15px);
    padding-bottom: 30px;
    box-sizing: border-box;
}

.testo-testo {
    float: left;
    text-align: left;
    width: Calc(50% - 15px);
    padding-bottom: 30px;
    box-sizing: border-box;
}

.box50 {
	width: calc(50% - 30px);
	margin-right: 30px;
	margin-bottom: 30px;
	box-sizing: border-box;
}

.box50.last {
	margin-right: 0;
}

.gallery-cnt{
	width: 100%;
	background-color: #fff;
}

.gallery-cnt-item{
	padding-top: 0px;
	display: block;
	position: relative;
	float: left;
	width: Calc(25% - 23px);
	margin-right: 30px;
	padding-bottom: 30px;
	box-sizing: border-box;
}

.gallery-cnt-item a{
	display: block;
	padding-top: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: #fff;
	box-sizing: border-box;
}

#presentazione-home {
	display: grid;
	grid-template-columns: 1fr 1px 340px 1px auto;
	gap: 40px;
}

#presentazione-home > * {
	min-width: 0;
}

.linea-verticale-home {
	background-color: var(--verde1);
}

.right_50 {
	float: left;
	width: calc(50% - 20px);
	margin-right: 0;
}

.right {
	text-align: right;
}

.decorated-banda-right {
	background-color: var(--verde1);
	padding: 40px;
	width: calc(100% + 80px);
	position: relative;
	left: -40px;
}

.realperson-challenge {
	float: left;
	width: calc(50% - 20px) !important;
	border: 1px solid var(--grigio1);
	background-color: #F7F7F7;
	margin-right: 40px;
	padding-top: 9px !important;
	padding-bottom: 8px;
}

#form-demo .realperson-challenge {
	background-color: var(--grigio1);
}

#defaultReal {
	float: left;
	width: calc(50% - 20px);
	margin-right: 0;
}

.box-foot .round-box {
	margin-right: 20px;
}

.owl-carousel {
    touch-action: manipulation;
}

#testimonianze div[class*="owl"]:not(.owl-controls) {
	height: 100%;
}

#testimonianze .owl-controls * {
	height: auto !important;
}

#testimonianze .owl-controls .owl-nav [class*='owl-'] {
	color: var(--verde1);
	display: inline-block;
	cursor: pointer;
	position: absolute;
	top: 50%;
	z-index: 3;
	font-size: 40px;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

#testimonianze .owl-prev {
	left: -40px;
}

#testimonianze .owl-next {
	right: -40px;
}

.mobile {
	display: none;
}

.container-bottom-button-big {
	position: fixed;
	bottom: 30px;
	right: 30px;
	display: flex;
	gap: 20px;
	z-index: 1000;
}

.bottom-button-big {
	background-color: var(--verde1);
	color: #fff;
	box-shadow: 0 0 10px #22222288;
	width: 60px;
	line-height: 60px;
	font-size: 30px;
	text-align: center;
	border-radius: 50%;
	transition: box-shadow .4s;
}

.bottom-button-big:hover {
	box-shadow: 0 0 30px #22222288;
	color: #fff;
}

.bottom-button-big i {
	line-height: 60px;
}

.button-cookies2 {
	width: 60px !important;
	height: 60px !important;
}

.button-cookies2 img {
	margin-top: 15px !important;
}

#formcv {
	max-width: 600px;
	padding: 40px;
	box-sizing: border-box;
	margin: 20px auto 0 auto;
	background-color: #dfdfdf;
}

#formcv .titolo-posizione {
	margin-bottom: 20px;
}

#formcv input {
	margin-bottom: 20px;
}

#formcv .fileupload input {
	margin-top: 20px;
}

.container-loghi-azienda-foot > a {
	display: block;
	margin-bottom: 20px;
	width: 180px;
	height: 80px;
	background-color: var(--verde1);
	padding: 20px;
}

.container-loghi-azienda-foot > a:last-child {
	margin-bottom: 0;
}

.logo-azienda-foot {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.container-contatori {
	align-items: center;
}

.container-contatori , .contatore-outer {
	width: 100%;
}

.contatore-outer:not(:last-child) {
	margin-bottom: 20px;
}

.contatore-inner {
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
	width: 100%;
}

.contatore-numero {
	background-color: var(--verde1trasparente1);
	opacity: 0.8;
	width: 100%;
	padding-top: 130px;
	position: relative;
	line-height: 100px;
	border-radius: 50%;
	max-width: 130px;
	max-height: 130px;
	margin: 0 auto;
}

.contatore-titolo {
	color: var(--grigioscuro);
}

.contatore-numero > span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#output > ul {
	padding-left: 20px;
}

.container-software-pagina-software {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 40px;
}

.container-software-pagina-software > .colonna {
	column-count: 2;
}

.container-software-pagina-software-immagine {
	align-self: center;
	justify-self: center;
}

@media all and (max-width: 600px) {
	.nomobile {
		display: none;
	}
}

@media all and (max-width: 1600px) {
	:root {
		--margine1: 40px;
		--margine1inverso: -40px;
	}
	.container:not(.small) {
		margin: 0 var(--margine1);
	}
	footer > .container:not(.small) {
		margin-left: 0;
	}
	#news, #case-history {
		margin-left: var(--margine1);
		margin-right: 0;
	}
	#container-news {
		padding-right: var(--margine1);
	}
	#container-news .owl-prev, #container-case-history .owl-prev {
		left: 0px;
	}
	#container-news .owl-next, #container-case-history .owl-next {
		right: var(--margine1);
	}
	#container-news.owl-carousel::before, #container-case-history.owl-carousel::before {
		right: var(--margine1);
	}
	#container-news.owl-carousel::after, #container-case-history.owl-carousel::after {
		right: var(--margine1);
	}
	.btn-header-container {
		right: var(--margine1inverso);
		width: calc(100% + var(--margine1));
	}
	.striscia-dx {
		margin-left: 0;
		padding-right: 0;
	}
	.striscia-dx .container-servizi {
		left: 0;
	}
	#presentazione {
		margin-bottom: 40px;
	}
	.footer-container {
		padding-left: var(--margine1);
	}
	.container-servizi {
		margin-right: 0;
	}
	.contatti-page .filtro {
		display: none;
	}
}

@media all and (max-width: 1390px) {
	.footer-container {
		grid-template-columns: 1fr 1fr auto 1fr;
	}
}

@media all and (max-width: 1200px) {
	.container.small {
		margin: 0 var(--margine1);
	}
	.container-servizi {
		grid-template-columns: 1fr 1fr;
	}
	.footer-container {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
	}
	.box-foot {
		float: none;
		width: 100%;
		padding-right: 0;
	}
	.txt-cnt {
		position: relative;
	}
}

@media all and (max-width: 1200px) {
	.footer-container {
		grid-template-columns: 1fr 1fr;
	}
	.container-loghi-partner {
		grid-template-columns: 1fr 1fr 1fr;
	}
	.colonna {
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
		-webkit-column-gap: 40px;
		-moz-column-gap: 40px;
		column-gap: 40px;
	}
	.elemento-partner .img-partner {
		padding-right: 40px;
		margin-right: 40px;
	}
}

@media all and (max-width: 1050px) {
	#presentazione-home {
		grid-template-columns: 1fr 1px 340px;
	}
	.last-linea-verticale {
		display: none;
	}
	.container-contatori {
		grid-column: span 3;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		margin-top: 40px;
	}
	.contatore-outer:not(:last-child) {
		margin-bottom: 0;
	}
	.due-colonne-text {
		gap: 40px;
	}
	#diconodinoi-nocarousel .box-recensione , #diconodinoi-nocarousel .box-recensione:last-child {
		flex: 1 0 0;
	}
}

@media all and (max-width: 1000px) {
	.banda-software {
		flex-direction: column;
	}
	.container-mappa-contatti {
		position: static;
	}
	.container-mappa-contatti > .container {
		justify-content: center;
	}
	#btni-software {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

@media all and (max-width: 900px) {
	.colonna {
		-webkit-column-count: 1;
		-moz-column-count: 1;
		column-count: 1;
	}
	.quattro-colonne {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media all and (max-width: 800px) {
	#presentazione-home {
		grid-template-columns: 1fr;
	}
	.linea-verticale-home {
		display: none;
	}
	.container-contatori {
		grid-column: initial;
	}
	.presentazione-home-txt , .elenco-tecnologie-home {
		padding-bottom: var(--margine1);
		border-bottom: 1px solid var(--verde1);
	}
	.software-slogan-container {
		flex-direction: column;
	}
	.slogan-software {
		text-align: center;
	}
	.txt-con-logo {
		flex-direction: column-reverse;
	}
	.txt-con-logo a {
		flex: 1 0 0;
	}
	.txt-con-logo a img {
		max-width: 300px;
		max-height: 100px;
	}
	.copy , .link-small-footer {
		float: none;
	}
	.link-small-footer {
		display: flex;
		gap: 20px;
		margin-top: 20px;
	}
	.link-small-footer li {
		padding-left: 0;
	}
	.dispo_captcha {
		width: 100%;
	}
}

@media all and (max-width: 710px) {
	#box-foot-orario , #box-foot-aziende {
		grid-column: span 2;
	}
	#box-foot-aziende .nomobile {
		display: none;
	}
	#box-foot-aziende , #box-foot-orario {
		padding-left: 0;
		border-left: none;
		text-align: center;
		padding-right: var(--margine1);
	}
	#box-foot-orario .orario {
		margin-left: auto;
		margin-right: auto;
	}
	#box-foot-aziende .container-loghi-azienda-foot > a {
		margin-left: auto;
		margin-right: auto;
	}
	.elemento-partner {
		flex-direction: column;
		gap: var(--margine1);
	}
	.elemento-partner .img-partner {
		padding-right: 0;
		margin-right: 0;
		border-right: none;
		padding-bottom: var(--margine1);
		border-bottom: 1px solid var(--verde1);
		width: 100%;
		max-width: 100%;
		text-align: center;
	}
}

@media all and (max-width: 600px) {
	/*
	.container-servizi , .footer-container , .container-servizi.container-mini-box {
		grid-template-columns: 1fr;
	}
	*/
	.popup {
    background-color: #000;
    border: #aaa 1px solid;
    z-index: 10001;
    max-width: 400px;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    padding: 37px;
    background-image: url('/img/macchina-colorata.jpg');
    background-position: center center;
    background-size: cover;
    background-image: -webkit-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
    background-image: -moz-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)),url('/img/macchina-colorata.jpg');
    background-image: -ms-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
    background-image: -o-linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
    background-image: linear-gradient(top left, rgba(0,0,0, 0.1), rgba(0, 0, 0, 1)), url('/img/macchina-colorata.jpg');
    font-size: 17px;
  }
	.container-loghi-partner {
		grid-template-columns: 1fr 1fr;
	}
	#presentazione-home {
		flex-direction: column;
	}
	:root {
		--size1: 36px;
		--height1: 40px;
		--size2: 27px;
		--height2: 30px;
		--size3: 17px;
		--height3: 22px;
		--size4: 17px;
		--height4: 22px;
		--size5: 14px;
		--height5: 20px;

		--margine1: 20px;
	}
	.logo-container {
		padding: 0;
	}
	.logo-img {
		height: 86px;
		padding: var(--margine1);
	}
	.btn-header-container {
		width: calc(100% + (var(--margine1) * 2));
		right: calc(var(--margine1) * -1);
	}
	.inner-btn-header {
		width: auto;
		padding-left: var(--margine1);
		padding-right: var(--margine1);
	}
	.quadrato-dx-header {
		width: 100px;
		height: 100px;
		top: -50px;
	}
	.fascia-bottom-header {
		height: 50px;
	}
	.img-header , .header-home {
		height: 100vh;
	}
	.decorated {
		padding-left: var(--margine1);
		padding-right: var(--margine1);
	}
	.decorated-banda-right {
		padding: var(--margine1);
		width: calc(100% + (var(--margine1) * 2));
		left: calc(var(--margine1) * -1);
	}
	#presentazione-home {
		gap: var(--margine1);
	}
	#news .container, #case-history .container {
		margin: 0 auto 0 var(--margine1);
	}
	.inner-news-shadow {
		margin: var(--margine1) 0 var(--margine1) var(--margine1);
		box-shadow: 0 0 var(--margine1) #22222244;
	}
	.txt-cnt , .box-foot {
		min-height: 0;
	}
	.box-foot {
		padding-left: var(--margine1);
		padding-right: var(--margine1);
	}
	.box-foot:not(:last-child) {
		padding-bottom: var(--margine1);
	}
	.txt-cnt img {
		width: 100% !important;
	}
	.striscia-dx, .striscia-sx {
		height: auto;
	}
	.footer-btn {
		display: inline-block;
		position: static;
		margin-top: var(--margine1);
	}
	.menu-container {
		padding: var(--margine1) 0;
		max-width: 100%;
	}
	.menu-container.aperto {
		left: 0;
	}
	.container-bottom-button-big {
		right: var(--margine1);
		bottom: var(--margine1);
	}
	.button-cookies2 {
		left: var(--margine1) !important;
		bottom: var(--margine1) !important;
	}
	.contatore-numero {
		padding-top: 80px;
		max-width: 80px;
		max-height: 80px;
	}
	.quattro-colonne {
		grid-template-columns: 1fr 1fr;
	}
	#diconodinoi-nocarousel .box-recensione {
		padding-right: 20px;
	}
	#diconodinoi-nocarousel .box-recensione:last-child {
		margin-left: 20px;
	}
}

@media all and (max-width: 500px) {
	.inner-btn-header {
		width: 100%;
	}
	#presentazione-home {
		padding-right: 0;
		padding-top: var(--margine1);
	}
	.due-colonne-text {
		column-count: 1;
	}
	.container-servizi , .footer-container , .container-servizi.container-mini-box {
		grid-template-columns: 1fr;
	}
	#box-foot-orario , #box-foot-aziende {
		grid-column: initial;
	}
	.link-small-footer {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		text-align: center;
	}
	#box-foot-aziende , #box-foot-orario {
		padding-left: var(--margine1);
		border-left: 1px solid var(--verde1);
		text-align: left;
		padding-right: var(--margine1);
	}
	#box-foot-orario .orario {
		margin-left: 0;
	}
	#box-foot-aziende .container-loghi-azienda-foot > a {
		margin-left: 0;
	}
	.container-contatori {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	#diconodinoi-nocarousel {
		flex-direction: column;
		gap: 20px;
	}
	#diconodinoi-nocarousel .box-recensione {
		padding-right: 0;
		border-right: none;
		padding-top: 80px;
	}
	#diconodinoi-nocarousel .box-recensione:before {
		top: 0;
	}
	#diconodinoi-nocarousel .box-recensione:first-child {
		padding-bottom: 20px;
		border-bottom: 1px solid var(--verde1);
	}
	#diconodinoi-nocarousel .box-recensione:last-child {
		margin-left: 0;
	}
}
@media (max-width: 767px) {
  .mini-box-sx {
    height: auto;
    min-height: 0;
    padding: 30px 20px;
  }

  .box-con-video {
    flex-direction: column;
    gap: 22px;
  }

  .preview-video {
    flex: 0 0 auto;
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
  }

  .play-overlay {
    width: 54px;
    height: 54px;
    font-size: 17px;
  }

  .testo-rassegna {
    flex: 0 0 auto;
    width: 100%;
    text-align: center;
  }

  .sottotitolo-box {
    font-size: 15px;
    margin: 10px auto 20px;
  }
  .due-colonne {
  display: block;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
}
}