/*@import url('https://fonts.googleapis.com/css2?family=Acme&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato&display=swap');*/
:root {
--global--font-primary: var(--font-headings, 'Acme', sans-serif);
/*--global--font-secondary: var(--font-base, 'Raleway', sans-serif);*/
--global--font-secondary: var(--font-base, 'Lato', sans-serif);
--primary--font-color: #34558B;
--primary--font-color-transparent: rgba(52,85,139,0.95);
--secondary--font-color: #333333;
--secondary--font-size: 19px;
--secondary--line-height: 32px;
--colore-bianco: #ffffff;
--colore-grigio: #ffffff73;
}
body { background: transparent; }
img, p {will-change: transform, opacity, scroll-position;}
/*p {will-change: transform;}*/
br.double { content: " "; display: block; margin: 15px 0; }
.container { max-width: 1350px; width: 100%; padding-left: 40px; padding-right: 40px; }
.row { margin-left: -40px; margin-right: -40px; }
[class^='col-'] { padding-right: 40px; padding-left: 40px; }
body p { font-family: var(--global--font-secondary); color: var(--secondary--font-color); font-size: var(--secondary--font-size); line-height: var(--secondary--line-height); font-size: var(--secondary--font-size) }
h1, h2, h3, h4, h5, h6, span.acme { font-family: var(--global--font-primary); color: var(--primary--font-color); }
span.acme { font-size: 21px; }
#header-site { display: flex; align-items: center; justify-content: center; width: 100%; height: 140px; z-index: 9999; background-color: var(--primary--font-color); font-family: var(--global--font-primary); line-height: 1; background: linear-gradient(180deg, rgba(52,85,139,1) 0%, rgba(52,85,139,1) 95%, rgba(255,255,255,0) 100%); }
#generica #header-site { background: linear-gradient(180deg, var(--colore-bianco), var(--colore-bianco) 95%, var(--colore-bianco) 100%); }
#header-site a { color: var(--colore-bianco); text-transform: uppercase; font-size: 22px; display: block; position: relative; opacity: 0.7; -webkit-transition: opacity 1s ease-in-out; -moz-transition: opacity .2s ease-in-out; -ms-transition: opacity .2s ease-in-out; -o-transition: opacity .2s ease-in-out; transition: opacity .2s ease-in-out; }
#header-site a:hover, #header-site a:active, #header-site a:visited, #header-site a:focus, #header-site a.attivo { text-decoration: none !important; opacity: 1; }
#header-site a.attivo h1 img { -webkit-filter: drop-shadow(2px 2px 3px rgba(255, 255, 255, 0.5));  filter: drop-shadow(2px 2px 3px rgba(255, 255, 255, 0.5)); }
#riga-menu { display: flex; align-items: center; }
#header-site span { -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: var(--colore-bianco); color: var(--colore-grigio); }
#main-menu { width: 72%; display: flex; align-items: center; text-align: center; }
#header-site span { font-size: 2.2vw; }
#contenitore-logo { width: 21%; margin-right: 5%; overflow: hidden; }
#header-site .racconto-menu a { font-size: 1.6vw; }
#header-site .cosa-menu a { font-size: 1.7vw; }
#header-site .come-menu a { font-size: 1.2vw; }
#header-site .scrivere-menu a { font-size: 1.2vw; }
#header-site .scrivere-menu span { font-size: 2.6vw; }
#header-site .parliamone-menu a { font-size: 1.2vw; }
#hamburger { display: none; }
#footer-site { padding-top: 40px; padding-bottom: 40px; text-align: center; position: relative; z-index: 99; background-color: var(--primary--font-color); color: var(--colore-bianco); background: linear-gradient(360deg, rgba(52,85,139,1) 0%, rgba(52,85,139,1) 98%, rgba(255,255,255,0) 100%); line-height: 1.8; }
#footer-site a { color: var(--colore-bianco); text-decoration: underline }
.social-icon { transition: 0.3s; display: inline-block; width: 45px; margin: 0 5px; }
.social-icon img { width: 100%; }
.social-icon:hover { opacity: 0.8; }
#main { padding: 160px 0 0 0; position: relative; }
#generica #main { padding: 0; }
#main .container { margin-bottom: 15px; }
#main .container, #main .container .row, #main .container .row .illustrazione, #main .container .row .testo { min-height: calc(100vh - 160px); }
#generica #main .container, #generica #main .container .row .testo { min-height: calc(100vh - 180px); }
#generica #main .container .row .testo h2 { font-size: 48px; margin-bottom: 0; }
#generica #main .container .row .testo p:last-child { margin-top: 0; }
#generica #main .container .row .testo p #torna-al-sito { font-size: 22px; }
#generica .sezione { margin-bottom: 0; }
#generica .testo a { text-decoration: underline; font-family: var(--global--font-primary); color: var(--primary--font-color); }
#generica .testo a:hover { text-decoration: none; }
#generica .testo { min-height: auto !important; position: relative; top: 0; }
#generica .illustrazione { width: 45%; }
#generica .illustrazione img { position: absolute; right:0; bottom:0; max-width: 100%; max-height: 100%; opacity: 1; }
#main .container .row { display: flex; align-items: center }
.testo { position: relative; z-index: 50; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
#sezione-ciao .testo { left: 41.66666667%; }
.testo h2 { font-size: 30px; }
.sezione { position: relative; max-width: 1920px; margin: 0 auto; }
.illustrazione { position: absolute; right: 0; top: 0; width: 43%; height: 100%; overflow: hidden }
#illustrazione-sezione-ciao { right: unset; left: 0; }
.illustrazione .imageMap { position: relative; }
/*.illustrazione img { position: fixed; width: 100%; max-width: 820px; height: auto; bottom:0; right: 0; z-index: 9; will-change: transform, opacity; }*/
.illustrazione img { position: fixed; max-width: 45%; height: auto; max-height: calc(100% - 140px); bottom:0; right: 0; z-index: 9; will-change: transform, opacity; opacity: 0; }
#illustrazione-sezione-ciao img { left: 0; right: unset; -webkit-transform: scaleX(-1); transform: scaleX(-1); }
/* PARAPENDIO */
.illustrazione .soggetto.animazione-css-on { animation: float 2s infinite ease-out; animation-delay: 0.5s; }
.illustrazione .sfondo { z-index: 9; }
@keyframes float {
	0% {
		transform: translate(0px, 0px);
		-webkit-transform: translate(0px, 0px);
	}
	50% {
		transform: translate(-10px, 10px);
		-webkit-transform: translate(-10px, 10px);
	}
	100% {
		transform: translate(0px, 0px);
		-webkit-transform: translate(0px, 0px);
	}
}
/* SOFFIO */
.illustrazione .soggetto, .illustrazione .polline, .illustrazione .soggetto, #farfalle { z-index: 10; }
.illustrazione .polline { opacity: 0; display: none; }
.illustrazione .polline.animazione-css-on { animation: leafanimation 2s infinite linear 0.5s; display: block; }
@keyframes leafanimation {
	0% {opacity: 1; transform: scale(1); bottom:0; right: 0; }
 	50% {opacity: 0.5; transform: scale(1.5) skew(10deg, 10deg); bottom:20px; right: -200px;}
	100% {opacity: 0; transform: scale(1.8); bottom:30px; right: -300px; }
}
#contenitore-logo { opacity: 1 !important; position: relative; }
#contenitore-logo h1 { margin-bottom: 0; font-size: 40px; margin-top: 0px; position: relative; color: var(--colore-grigio); }
#contenitore-logo h1 img { width: 100%; }
#contenitore-logo h1 b { position: absolute; left:0; top:0; opacity: 0; }
#contenitore-logo p { text-align: center; display: block; font-size: 1.04vw; font-size: 0.96vw; font-style: italic; text-transform: initial; font-weight: 400; margin: 0; color: var(--colore-bianco); position: absolute; bottom: -6%; bottom: -4%; }
#contattami { position: relative; z-index: 999; animation: MoveUpDown 0.8s linear infinite; opacity: 1; transition: 0.5s; margin: 0 auto; display: table; }
#contattami:hover { opacity: 0.8; }
#contattami img { width: 50px; -webkit-filter: drop-shadow(5px 5px 5px var(--primary--font-color)); filter: drop-shadow(5px 5px 5px var(--primary--font-color)); transform: rotate(180deg); }
@keyframes MoveUpDown {
	0%, 100% {
		bottom: -30px;
	}
	50% {
		bottom: -50px;
	}
}
#main-menu > div { flex: 1 1 auto; text-align: center; margin: 5px; }
#layer-sfumato { position: fixed; z-index: 99; background: linear-gradient(180deg, var(--colore-bianco), var(--colore-bianco), #ffffff41); width: 100%; height: 20%; left:0; top:0; }
@media screen and (min-width: 1921px) {
	#header-site span { font-size: 38px; }
	#contenitore-logo { font-size: 20.16px; }
	#header-site .racconto-menu a { font-size: 30.72px; }
	#header-site .cosa-menu a { font-size: 32.64px; }
	#header-site .come-menu a { font-size: 23.04px; }
	#header-site .scrivere-menu a { font-size: 23.04px; }
	#header-site .scrivere-menu span { font-size: 49.92px; }
	#header-site .parliamone-menu a { font-size: 23.04px; }
	#contenitore-logo p { font-size: 17.28px; }
	.illustrazione img { right: unset; left: calc(50% + 140px); }
	#sezione-ciao .illustrazione img { right: calc(50% + 140px); left: unset; }
}
@media screen and (max-width: 1023px) {
	#header-site .racconto-menu a { font-size: 33px; }
	#header-site .cosa-menu a { font-size: 35px; }
	#header-site .come-menu a { font-size: 25px; }
	#header-site .scrivere-menu a { font-size: 21px; }
	#header-site .racconto-menu span, #header-site .cosa-menu a span,	#header-site .come-menu span,	#header-site .scrivere-menu span { font-size: 45px; }
	#header-site { height: 100px; overflow: hidden; }
	#header-site.attivo { background: var(--primary--font-color-transparent); }
	#hamburger { display: block; position: absolute !important; right: 40px !important; top: 15px!important; width: 32px; height: 22px; -webkit-transform: rotate(0deg);  -moz-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; -o-transition: .5s ease-in-out; transition: .5s ease-in-out; cursor: pointer; opacity: 1 !important }
	#hamburger:hover { opacity: 0.8 !important; }
	#hamburger span { display: block; position: absolute; height: 2px; width: 50%; background: #ffffff; opacity: 1; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg);
	-o-transform: rotate(0deg); transform: rotate(0deg); -webkit-transition: .25s ease-in-out; -moz-transition: .25s ease-in-out; -o-transition: .25s ease-in-out;transition: .25s ease-in-out; }
	#hamburger span:nth-child(even) { left: 50%; border-radius: 0 9px 9px 0; }
	#hamburger span:nth-child(odd) { left: 0px; border-radius: 9px 0 0 9px; }
	#hamburger span:nth-child(1), #hamburger span:nth-child(2) { top: 0px; }
	#hamburger span:nth-child(3), #hamburger span:nth-child(4) { top: 11px; }
	#hamburger span:nth-child(5), #hamburger span:nth-child(6) { top: 22px; }
	#hamburger.attivo span:nth-child(1),#hamburger.attivo span:nth-child(6) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
	#hamburger.attivo span:nth-child(2),#hamburger.attivo span:nth-child(5) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
	#hamburger.attivo span:nth-child(1) { left: 5px; top: 7px; }
	#hamburger.attivo span:nth-child(2) { left: calc(50% - 5px); top: 7px; }
	#hamburger.attivo span:nth-child(3) { left: -50%; opacity: 0; }
	#hamburger.attivo span:nth-child(4) { left: 100%; opacity: 0; }
	#hamburger.attivo span:nth-child(5) { left: 5px; top: 13px; }
	#hamburger.attivo span:nth-child(6) { left: calc(50% - 5px); top: 13px; }
	#riga-menu { flex-direction: column; align-items: flex-start; }
	#main-menu { background-color: var(--primary--font-color-transparent); position: fixed; flex-direction: column; left:0; width: 100%; height:0px; top: 100px; overflow: hidden; -moz-transition: height .2s; -ms-transition: height .2s; -o-transition: height .2s; -webkit-transition: height .2s; transition: height .2s; flex-direction: column; align-items: center; justify-content: center; overflow: auto; }
	#main-menu.attivo { height: calc(100vh - 100px); }
	#main-menu.attivo > div { margin: 15px 0; flex: unset; }
	#contenitore-logo { margin: 0; max-width: 220px; width: 100%; }
	#contenitore-logo p { font-size: 14px; }
	#main { padding-top: 100px; }
	#main .container, #main .container .row, #main .container .row .illustrazione, #main .container .row .testo { min-height: auto }
	#main .container .row { display: flex; flex-direction: column; }
	#main .container .row .testo { width: 100%; order: 2; align-items: flex-start;  min-height: calc(100vh - 100px - 253px);  z-index: 10; }
	#main .container .row .testo.form { min-height: unset; }
	.sezione { margin-bottom: 180px; }
	#sezione-ciao .testo { left: 0; }
	.testo h2 { display: block; margin-bottom:0; font-size: 30px; }
	.illustrazione { position: relative; width: 100%; order: 1; position: -webkit-sticky; position: -moz-sticky; position: -o-sticky; position: -ms-sticky; position: sticky; top: 100px; min-height: calc(100vh - 290px) !important; z-index: 1; }
	.illustrazione img { position: relative; width: 100%; height: auto; max-width: unset; max-height: unset; }
	.illustrazione .soggetto, .illustrazione .accessorio, .illustrazione .polline, #farfalle, .illustrazione .gamba-sinistra, .illustrazione .gamba-destra, .illustrazione .foglio, #personaggio-macchina-da-scrivere, #braccio-dx,	#braccio-sx, #nuvola-macchina-da-scrivere, #macchina-da-scrivere, #bottiglia, #sole, #mare, #personaggio, #fumo { position: absolute; top: 0; }
	#layer-sfumato  { height: 20%; }
	#footer-site { position: relative; left: 0; bottom: 0; }
	#generica .illustrazione { width: 100%; position: relative; top: 0; overflow: visible; min-height: unset !important; }
	#generica .illustrazione img { max-height: unset; position: relative; }
}
@media screen and (max-width: 576px) {
	#main-menu.attivo > div { margin: 10px 0; }
	#header-site .parliamone-menu img { height: 70px; }
	#header-site .racconto-menu a { font-size: 27px; }
	#header-site .cosa-menu a { font-size: 28.5px; }
	#header-site .come-menu a { font-size: 20.5px; }
	#header-site .scrivere-menu a { font-size: 16.2px; }
	#header-site .racconto-menu span, #header-site .cosa-menu a span, #header-site .come-menu span, #header-site .scrivere-menu span { font-size: 38px; }
	.container { padding-left: 20px; padding-right: 20px; }
	.row { margin-left: -20px; margin-right: -20px; }
	[class^='col-'] { padding-right: 20px; padding-left: 20px; }
	#hamburger { right: 20px !important; }
	.testo p { font-size:16px; line-height: 28px; }
	span.acme { font-size: 18px; }
	.illustrazione { padding-left:0; padding-right: 0; }
}
.illustrazione .sfondo-diamante, .illustrazione .sfondo-macchina-da-scrivere, .illustrazione .sfondo-mare { z-index: 10; }
 #nuvola-macchina-da-scrivere { z-index: 15; }
 #macchina-da-scrivere { z-index: 16; }
#braccio-dx, #braccio-sx { z-index: 18; }
.illustrazione .accessorio, .illustrazione .gamba-sinistra, .illustrazione .gamba-destra, .illustrazione .foglio, #personaggio-macchina-da-scrivere, #bottiglia, #sole, #mare, #fumo, #personaggio { z-index: 20; }
#braccio-dx { animation: rotation-dx 0.7s infinite ease-in-out; transform-origin: 50% 50%; }
#braccio-sx { animation: rotation-sx 0.7s infinite ease-in-out; transform-origin: 50% 50%; }
@keyframes rotation-sx {
	0% {
		transform: rotate(1deg);
	}
	50% {
		transform: rotate(-3deg);
	}
	100% {
		transform: rotate(1deg);
	}
}
@keyframes rotation-dx {
	0% {
		transform: rotate(-2deg);
	}
	50% {
		transform: rotate(2deg);
	}
	100% {
		transform: rotate(-2deg);
	}
}
.illustrazione .gamba-sinistra { animation: rotation-left 1.5s infinite ease-in-out; transform-origin: 74% 45%; }
.illustrazione .gamba-destra { animation: rotation-right 1.5s infinite ease-in-out; transform-origin: 70% 42%; }
@keyframes rotation-left {
	0% {
		transform: rotate(-1deg);
	}
	50% {
		transform: rotate(15deg);
	}
	100% {
		transform: rotate(-1deg);
	}
}
@keyframes rotation-right {
	0% {
		transform: rotate(-8deg);
	}
	50% {
		transform: rotate(-24deg);
	}
	100% {
		transform: rotate(-8deg);
	}
}
.illustrazione .foglio { bottom: 7%; right: 6%; display: none; }
@media screen and (max-width: 1023px) {
	.illustrazione .foglio { right: 11%; top: -5%; bottom: unset; }
}
.illustrazione .foglio.animazione-css-on { display: block; }
#foglio-01.animazione-css-on { animation: sheetanimation 1.5s linear infinite; }
#foglio-02.animazione-css-on { animation: sheetanimation 2s linear infinite; }
#foglio-03.animazione-css-on { animation: sheetanimation 2.5s linear infinite; }
#foglio-04.animazione-css-on { animation: sheetanimation 3s linear infinite; }
@keyframes sheetanimation {
	0% { opacity: 1; transform: scale(0) rotate(0); }
	25% { opacity: 0.5; transform: scale(0.25) rotate(0); }
 50% {opacity: 0.75; transform: scale(0.75) rotate(-2deg) skew(5deg, 5deg); }
100% {opacity: 1; transform: scale(1) rotate(-1deg) skew(10deg, 10deg); }
}
#fumo { display: none; }
#fumo.animazione-css-on { animation: steam 2s linear infinite; transform-origin: 67% 40%; display: block; }
@keyframes steam {
	0% { transform: scale(0); opacity: 1; }
	25% { transform: scale(.3); opacity: .65; }
	75% { transform: scale(.8); opacity: .15; }
	100% { transform: scale(1); opacity: 0; }
}
#bottiglia { animation: boat 1.5s linear infinite; transform-origin: 10% 50%; }
@keyframes boat{
	0%{
		transform: rotate(0);
	}
	50%{
		transform: rotate(-3deg);
	}
	100%{
		transform: rotate(0);
	}
}
#contenitore-credits { text-align: center; display: none; }
#testo-credits { max-width: 720px; margin: 20px auto; }
#contenitore-credits p { text-align: center; color: var(--colore-bianco); font-size: 14px; padding: 0; margin-bottom: 15px;	line-height: 1.4; }
#contenitore-credits p a { font-weight: 800; }
#footer-site .copy  { font-family: var(--global--font-primary); font-size: 16px; }
@media screen and (max-width: 1023px) {
	#contenitore-credits p { font-size: 13px; }
}
#contatti { width: 100%; }
#contatti .error input, #contatti .error .ms-options-wrap button { border-color: red; }
#contatti .error .etichetta, #contatti .error span, #messaggi-errore { color: red; }
#messaggio-invio { color: green; }
#messaggio-invio, #messaggi-errore { font-size: 16px; margin-top: 15px; }
#contatti label, #contatti input, #contatti textarea, .ms-options-wrap > button:focus, .ms-options-wrap > button {	width: 100%; display: block; }
#contatti .etichetta { margin-left: 7px; top: 12px;	position: relative;	z-index: 99; background: #ffffff;	padding: 3px 6px; }
#contatti input, #contatti textarea, .ms-options-wrap > button:focus, .ms-options-wrap > button { padding: 6px 10px 8px 11px;	margin-top: 0px; font-family: var(--global--font-secondary); color: var(--secondary--font-color); font-size: 16px; border: 2px solid var(--primary--font-color);	border-radius: 3px;	position: relative;	background-color: var(--colore-bianco);	text-align: left;	padding-top: 10px; }
.ms-options-wrap > button span { color: var(--secondary--font-color); }
#contatti input::placeholder, #contatti textarea::placeholder, #label-come-posso-aiutarti span { font-size: 16px; color: gray; }
#label-come-posso-aiutarti .etichetta { color: var(--primary--font-color); }
.ms-has-selections span { color: var(--secondary--font-color) !important; }
#label-come-posso-aiutarti { position: relative; }
#label-come-posso-aiutarti ul label { font-family: var(--global--font-secondary); color: var(--secondary--font-color); font-size: 16px; }
#contatti label { font-family: var(--global--font-primary); font-size: 17px; color: var(--primary--font-color); margin-bottom: 25px; margin-top: 8px; }
#contatti a { text-decoration: underline; color: var(--primary--font-color); position: relative; z-index: 99; }
#contatti a:hover { text-decoration: none; }
#contatti .custom-checkbox { display: flex; align-items: center; clear: both; position: relative; }
#contatti .custom-checkbox input { margin: 0; padding: 0;	position: absolute;	opacity: 0;	cursor: pointer; }
#label-privacy-policy span { width: calc(100% - 28px); font-family: var(--global--font-secondary); color: var(--secondary--font-color); font-size: 16px; }
#label-privacy-policy input, #label-privacy-policy span { display: inline-block; }
/* Styling Checkbox Starts */
.custom-checkbox .checkbox-custom { height: 18px; width: 18px; margin-right: 10px; background-color: transparent; border-radius: 3px; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; border: 2px solid var(--primary--font-color); }
.custom-checkbox input:checked ~ .checkbox-custom { background-color: var(--primary--font-color); border-radius: 3px; -webkit-transform: rotate(0deg) scale(1); -ms-transform: rotate(0deg) scale(1); transform: rotate(0deg) scale(1); opacity:1; border: 2px solid var(--primary--font-color); }
.custom-checkbox .checkbox-custom::after { position: absolute; content: ""; left: 12px; top: 12px; height: 0px; width: 0px; border-radius: 3px; border: solid var(--colore-bianco); border-width: 0 3px 3px 0; -webkit-transform: rotate(0deg) scale(0); -ms-transform: rotate(0deg) scale(0); transform: rotate(0deg) scale(0); opacity:1; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; }
.custom-checkbox input:checked ~ .checkbox-custom::after { -webkit-transform: rotate(45deg) scale(1); -ms-transform: rotate(45deg) scale(1); transform: rotate(45deg) scale(1); opacity:1; left: 5px; top: 0px; width: 5px; height: 12px; border: solid var(--colore-bianco); border-width: 0 2px 2px 0; background-color: transparent; border-radius: 0; }
/* For Ripple Effect */
.custom-checkbox .checkbox-custom::before { position: absolute; content: ""; left: 5px; top: 0px; width: 0px; height: 0px; border-radius: 3px; border: 2px solid var(--primary--font-color); -webkit-transform: scale(0); -ms-transform: scale(0); transform: scale(0); }
.custom-checkbox input:checked ~ .checkbox-custom::before { left: 5px; top: 0px; width: 18px; height: 18px; border-radius: 3px; -webkit-transform: scale(3); -ms-transform: scale(3); transform: scale(3); opacity:0; z-index: 999; transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; }
#invia { font-family: var(--global--font-primary); color: var(--secondary--font-color); font-size: var(--secondary--font-size); background-color: var(--primary--font-color); color: var(--colore-bianco); border: 0; border-radius: 3px; padding: 10px 40px; text-transform: uppercase; }
#invia:disabled,
#invia[disabled] { opacity: 0.6; }
/* select multipla */
.ms-options-wrap, .ms-options-wrap * { box-sizing: border-box; }
.ms-options-wrap > button:focus, .ms-options-wrap > button { outline-offset: -2px; white-space: nowrap; }
.ms-options-wrap > button > span { display: inline-block; }
.ms-options-wrap > button[disabled] { background-color: #e5e9ed; color: #808080; opacity: 0.6; }
.ms-options-wrap > button:after { content: ' '; height: 0; position: absolute; top: 50%; right: 5px; width: 0; border: 6px solid rgba(0, 0, 0, 0); border-top-color: #999;    margin-top: -3px; }
.ms-options-wrap.ms-has-selections > button { color: #333; }
.ms-options-wrap > .ms-options { position: absolute; left: 0; width: 100%; margin-top: 1px; min-height: 165px !important; margin-bottom: 20px; background: white; z-index: 2000; border: 1px solid #aaa; overflow: auto; display: none; }
.ms-options-wrap.ms-active > .ms-options { display: block; }
.ms-options-wrap > .ms-options > .ms-search input { width: 100%; padding: 4px 5px; border: none; border-bottom: 1px groove; outline: none; }
.ms-options-wrap > .ms-options .ms-selectall { display: inline-block; font-size: 14px; text-transform: lowercase; text-decoration: none; }
.ms-options-wrap > .ms-options .ms-selectall:hover { text-decoration: underline; }
.ms-options-wrap > .ms-options > .ms-selectall.global { margin: 14px 14px 10px 14px; font-family: var(--global--font-secondary); }
.ms-options-wrap > .ms-options > .ms-selectall.global::first-letter { text-transform: uppercase; }
.ms-options-wrap > .ms-options > ul, .ms-options-wrap > .ms-options > ul > li.optgroup ul { list-style-type: none; padding: 0; margin: 0; }
.ms-options-wrap > .ms-options > ul li.ms-hidden { display: none; }
.ms-options-wrap > .ms-options > ul > li.optgroup { padding: 5px; }
.ms-options-wrap > .ms-options > ul > li.optgroup + li.optgroup { border-top: 1px solid #aaa; }
.ms-options-wrap > .ms-options > ul > li.optgroup .label { display: block; padding: 5px 0 0 0; font-weight: bold; }
.ms-options-wrap > .ms-options > ul label { position: relative; display: inline-block; width: 100%; padding: 5px 10px; margin: 1px 0 1px 0 !important; border: 1px dotted transparent; }
.ms-options-wrap > .ms-options.checkbox-autofit > ul label, .ms-options-wrap > .ms-options.hide-checkbox > ul label { padding: 4px; }
.ms-options-wrap > .ms-options > ul input[type="checkbox"] { margin: 0 5px 0 0; position: absolute; left: 4px; top: 7px; }
.ms-options-wrap > .ms-options.hide-checkbox > ul input[type="checkbox"] { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); }
@media screen and (max-width: 1023px) {
	#invia { margin: 0 auto; display: inherit; }
	#messaggi-errore,
	#messaggio-invio { width: 100%; text-align: center }
	#contatti { margin-top: 16px; }
}
@media screen and (max-width: 480px) {
	#contatti label { margin-bottom: 15px; }
}