@charset "utf-8";
@import url("https://use.typekit.net/gvf8rzl.css");

:root{ --linkArticoli:#de582c; --grigio:#dadada; --fucsia:#df1995; --blu:#003a5d; --verde:#5cb756; --grigioScuro:#d0d0d0; --bianco:#FFFFFF; --nero:#0A0A0A; }

*{ font-family: "rubik", sans-serif; font-weight: 300; font-style: normal; }
html{ scroll-behavior:smooth; }
hr{ border-bottom:1px solid var(--blu); margin:16px auto; }

#smallHeader .title-bar{ background-color:var(--blu); }
#smallHeader .icoMenu{ width:36px; }
.off-canvas .close-button{ color:var(--bianco); }
.off-canvas{ background-color:var(--blu); }
.off-canvas.position-right.is-transition-push{ box-shadow:none; }
.off-canvas li:first-child{ margin-top:56px; }
.off-canvas li a{ color:var(--bianco); border-top:1px solid var(--bianco); }
.off-canvas li a.smallSubmenu, .off-canvas li a.smallSubmenu_lastItem{ font-weight:normal; border-top:none; padding-left:36px; }
.off-canvas li:first-child a{ border-top:none; }
.off-canvas li:last-child a{ border-bottom:1px solid var(--bianco); }

.menuContainer{ position:sticky; top:0; z-index:1000; background-color:var(--bianco); box-shadow:2px 3px 5px 1px #bbbbbb; padding:48px 0 24px 0; }
.searchContainer{ width:100%; margin:0 auto 16px auto; }
.searchContainer > div{ display:inline-block; width:220px; border:1px solid var(--grigio); border-radius:4px; padding:0 4px 0 0; }
.searchContainer > div input[type="text"]{ display:inline; height:22px; width:194px; padding:0 4px; margin:0; border:none; box-shadow:none; font-size:14px; color:var(--grigio); }
.searchContainer > div input[type="text"]:focus{ color:var(--nero); }
.searchContainer > div img{ width:20px; cursor:pointer; filter:brightness(0) invert(0.67); }

/* Menu */
.dropdown.menu.expanded{ gap:8px; }
.dropdown.menu > li > a{ font-size:14px; font-weight:normal; text-transform:uppercase; padding:0.7rem 0.5rem; color:var(--nero); transition:color 250ms ease-out; }
.dropdown.menu.expanded > li > a{ position:relative; border-bottom:0; text-align:center; white-space:nowrap; }
.dropdown.menu.expanded > li > a::before { content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background-color:var(--grigio); border-radius:4px; transition:background-color 250ms ease-out; } /* Filetto grigio */
.dropdown.menu.expanded > li:hover > a{ color: var(--fucsia); } /* Rollover voce principale: testo + filetto + freccia cambiano insieme */
.dropdown.menu.expanded > li:hover > a::before{ background-color: var(--fucsia); }
.dropdown.menu.expanded > li.is-active > a{ color:var(--fucsia); } /*Voce attiva */
.dropdown.menu.expanded > li.is-active > a::before, .dropdown.menu.expanded > li > a.is-active::before{ background-color:var(--fucsia); }
.dropdown.menu > li.is-dropdown-submenu-parent > a{ padding-right:1.8rem; } /* Freccia voci con sottomenu */
.dropdown.menu > li.is-dropdown-submenu-parent > a::after{ display:block; width:0; height:0; border-style:solid; border-width:6px; border-bottom-width:0; border-color:var(--grigioScuro) transparent transparent; content:""; right:8px; left:auto; margin-top:-3px; transition:border-color 250ms ease-out; }
.dropdown.menu.expanded > li.is-dropdown-submenu-parent:hover > a::after{ border-color: var(--fucsia) transparent transparent; } /* Freccia fucsia durante rollover */
.dropdown.menu.expanded > li.is-dropdown-submenu-parent.is-active > a::after{ border-color: var(--fucsia) transparent transparent; } /* Freccia fucsia se la voce principale è attiva */
.dropdown.menu .is-submenu-item.is-dropdown-submenu-item a{ font-size:14px; color: var(--nero); transition:color 250ms ease-out, background-color 250ms ease-out; } /* Sottomenu */
.dropdown.menu .is-submenu-item.is-dropdown-submenu-item a:hover, .dropdown.menu .is-submenu-item.is-dropdown-submenu-item a:focus { color: var(--bianco); background-color: var(--fucsia); }
.dropdown.menu.expanded > li > a, .dropdown.menu.expanded > li.is-dropdown-submenu-parent > a{ color:var(--nero); } /* evita flash di colori intermedi di default di Foundation  */
.dropdown.menu.expanded > li:hover > a, .dropdown.menu.expanded > li.is-active > a{ color: var(--fucsia) !important; }

/* Footer */
footer{ background-color:var(--blu); padding:32px 0 16px 0; }
footer .columnContainer{ width:280px; display:inline-block; text-align:left; margin-bottom:16px; }
footer div.t1{ font-weight:bold; color:var(--bianco); }
footer p { letter-spacing:0.03em;  color:var(--bianco); font-size:12px; line-height:16px; }
footer p a{ color:var(--bianco); text-decoration:underline; transition:all 250ms ease-out; }
footer p a:hover{ color:var(--grigio); }
footer .icoSocial{ width:20px; margin:2px 2px 0 0; }

/* Pagine */
#pageContainer{ margin:48px auto 48px auto; }
#pageContainer .t1{ font-size:32px; line-height:36px; font-weight:bold; color:var(--blu); margin:32px auto 64px auto; }
#pageContainer .summary{ font-size:18px; line-height:22px; color:var(--blu); margin-top:-48px; }
#pageContainer .t2{ font-size:20px; line-height:24px; font-weight:bold; color:var(--fucsia); margin:32px auto 4px auto; }
#pageContainer .t3{ font-size:16px; line-height:20px; font-weight:bold; color:var(--blu); margin-top:48px; }
#pageContainer a{ color:var(--nero); text-decoration:underline; transition:all 250ms ease-out; }
#pageContainer a:hover{ color:var(--blu); }
#pageContainer thead, .pageBody tbody, .pageBody tfoot{ border:1px solid var(--grigioScuro); }
#pageContainer tbody th { background-color:var(--blu); color:var(--bianco); vertical-align:middle; border:1px solid var(--blu); }
#pageContainer tbody tr{ border-bottom:1px solid #cdcdcd; background:none; }
#pageContainer td{ font-size:14px; line-height:20px; text-align:left; vertical-align:super; }

a.btn{ display:inline-flex; align-items:center; gap:8px; padding:4px 8px; border:1px solid var(--blu); border-radius:6px; background-color:var(--bianco); text-decoration:none !important; }
a.btn img{ width:20px; transition:filter 250ms ease-out;  }
a.btn span{ font-size:14px; font-weight:600; color:var(--blu) !important; transition:all 250ms ease-out; }
a.btn:hover{ background-color:var(--blu); }
a.btn:hover span{ color:var(--bianco) !important; }
a.btn:hover img{ filter:brightness(0) invert(1); }

/* Form */
label{ color:var(--blu); font-size:16px; font-weight:bold; line-height:24px; }
.isMandatory{ font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif; color:var(--fucsia); font-size:24px; line-height:24px; }
.button{ font-size:16px; padding:8px 16px; border-radius:6px; background-color:var(--blu); color:var(--bianco); transition: all 250ms ease-out; text-transform:uppercase; }
.button:hover{ background-color:var(--blu); }

/* Popup */
.reveal{ padding:0; background-color:var(--bianco); backdrop-filter:blur(5px); border-radius:4px; border:1px solid var(--bianco); }
.reveal .winTitle{ font-size:18px; text-align:left; background-color:var(--blu); font-weight:400; color:var(--bianco); padding:2px 48px 2px 16px; }
.reveal .close-button{ color:var(--bianco); top:0.05rem; right:1rem; font-size:1.6em; transition:all 450ms ease-in-out; }
.reveal .close-button:hover{ color:var(--nero); }
.reveal .cWinBody{ display:flex; align-items:center; padding:16px 16px 0 16px; }
.reveal .winIco{ max-width:96px; margin-right:16px; }
.reveal .winMsg{ font-size:16px; line-height:20px; color:var(--nero); font-weight:300; }
.reveal .cWinBtns{ display:flex; justify-content:flex-end; align-items:center; padding:4px 32px 16px 16px; }
.reveal .cWinBtns a{ background-color:var(--blu); display:inline; min-width:64px; margin:0 8px; padding:2px 16px; border-radius:16px; text-align:center; font-size:16px; color:var(--bianco); cursor:pointer; text-decoration:none; box-shadow:0 4px 4px 0 #BABABA; transition:all 450ms ease-in-out; }
.reveal .cWinBtns a:hover{ background-color:var(--blu); box-shadow:none; }

/* Privacy */
.reveal .privacyTxt{ padding:16px 16px 0 16px; overflow-y:auto; overflow-x:hidden; max-height:350px; height:90%; }
.reveal .privacyTxt thead, .reveal .privacyTxt tbody, .reveal .privacyTxt tfoot{ border:1px solid var(--grigioScuro); }
.reveal .privacyTxt tbody th { background-color:var(--blu); color:var(--bianco); vertical-align:middle; border:1px solid var(--blu); }
.reveal .privacyTxt tbody tr{ border-bottom:1px solid #cdcdcd; background:none; }
.reveal .privacyTxt td{ font-size:14px; line-height:20px; text-align:left; vertical-align:super; }
.reveal .privacyTxt p strong{ color: var(--blu); }
.reveal .privacyTxt a{ color:var(--nero); text-decoration:underline; }
.reveal .privacyTxt #note1, .reveal .privacyTxt #note2, .reveal .privacyTxt #note3, .reveal .privacyTxt #note4 { font-size:11px; line-height:14px; }
.reveal .winBtns{ padding:16px 32px 16px 16px; text-align:center; }
.reveal .winBtns a{ background-color:var(--blu); display:inline; min-width:64px; margin:0 8px; padding:2px 16px; border-radius:16px; text-align:center; font-size:16px; color:var(--bianco); cursor:pointer; text-decoration:none; box-shadow:0 4px 4px 0 #BABABA; transition:all 450ms ease-in-out; }
.reveal .winBtns a:hover{ background-color:var(--blu); box-shadow:none; }

/* Video popup */
.reveal.video{ max-width:70vw; width:70vw; top:2vw !important; }
.reveal.video .close-button{ color:var(--bianco); top:0; right:1rem; font-size:38px; transition:all 450ms ease-in-out; }
.reveal.video .close-button:hover{ color:var(--nero); }
.reveal.video .cVideoWinTitle{ padding:10px 16px; background-color:var(--blu); color:var(--bianco); font-size:22px; line-height:26px; }

@media screen and (max-width:640px){ 
	.expanded.row{ margin:0 auto; }
	.reveal.video{ max-width:none; width:auto; top:2vw !important; }
}