/************************************/
/* STILI SITO: COLORI BORDI E FONTS */
/************************************/

/* Tavolozza del sito. Stessi valori che prima erano scritti a mano regola per
   regola (screen.3.css): cambia solo che ora si governano da qui, come in
   CMS aWV Demo. Il rosa ha due varianti quasi identiche (#E0047A e #E0017A),
   tenute distinte perche' la grafica deve restare quella di prima. */
:root {
    --color-body-text: #000;
    --color-accent: #E0047A;
    --color-accent-alt: #E0017A;
    --color-nav-link: #2E80D4;
    --color-evidence-bg: rgba(255,0,127,0.9);
    --color-overlay-light: rgba(255,255,255,0.8);
    --color-overlay-light-strong: rgba(255,255,255,0.9);
    --color-overlay-dark: rgba(43,43,43,0.8);
    --color-overlay-mid: rgba(85,85,85,0.8);
    --color-home-text: #425AB2;
    --color-session-text: #629D83;
    --color-session-text-dark: #003366;
    --color-header-accent: #CC0033;
    --color-header-menu-bg: #990000;
    --color-footer-text: #006FDA;
    --color-footer-link: #2E80D4;
    --color-footer-evidence-bg: #3283D5;
    --color-footer-evidence-hover: #2a6aaa;
    --color-link-text: #006FDA;
    --color-focus-outline: #1a73e8;
    --color-danger: #CC0033;
    --color-article-link: #E0047A;
    /* pulsanti di amministrazione: li disegna il framework (css/awvIcons.css),
       il colore lo decide il sito. #333399 e' quello dei vecchi bg_adm_*.png. */
    --awv-admin-bg: #333399;
    --awv-admin-text: #fff;
}

body{background: transparent; color: var(--color-body-text); font-size: 95%; font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;margin: 0 auto; padding: 0; }

img{text-decoration: none; border-style: none; }

#global{border: none 0px #000;background: transparent; -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover;margin: 0px auto; padding: 0px 0px;}
#bg{position: fixed; top: 0; left: 0; min-width: 100%; min-height: 100%; z-index: -5000; }
#clear{clear: both; }

:focus-visible { outline: 2px solid var(--color-focus-outline); outline-offset: 2px; }

/* BARRA LINGUA */
#flag{ background: transparent;position: absolute; float: right; width: 150px; height: 27px; top: 0px; right: 0px;}
#flag ul.lang { text-align: right;float: right; margin: 0px; padding: 2px 5px;}
#flag ul.lang li.flag   { display: inline; margin-left: 1px;  padding: 0 4px; }

/* SESSIONE UTENTE */
/* pointer-events:none sul contenitore (resta a piena larghezza solo come sfondo
   semi-trasparente) + pointer-events:auto sui soli link: cosi' la barra non
   blocca i click su logo/menu sottostanti nelle zone senza testo. */
#session{background:var(--color-overlay-light);color:var(--color-session-text) !important;position:absolute;width:100%;height:25px;top:0px;right:0;margin:0;padding:0 150px 0 0;pointer-events:none;}
#session p{background:transparent;color:var(--color-session-text-dark) !important; font-size: 0.6em;margin: 0 !important;padding:5px 0 0 0 !important;text-align:right;}
#session a{pointer-events:auto;}
#session img.logout{padding:0px 10px 0px 10px;margin: 0px 0px 0px 0px;max-width:16px;}

/* HEADER */
#headerbox{position:fixed;background:var(--color-overlay-light);width:100%;clear:both;padding:0;z-index:999;}

#header{background:transparent;border-radius: 0; }
#header{margin: 0 auto; padding: 0; clear: both; }
#header h1{color:#ccc;font-family: 'BenchNine', sans-serif;overflow:auto;font-size:2.0em;font-weight:bold;height: 75px; margin: 0 0 0 20px; }
#header h1 a{color:#ccc;text-decoration:none;float:left;}
#header h1 a:hover{color: #ccc;text-decoration: none; }
#header p{color: var(--color-header-accent); font-size: 0.8em; line-height: 1.1em; font-weight: bold;padding: 15px 0 0 12px; }
#header ul.headmenu{ background: var(--color-header-menu-bg);list-style: none; margin: 55px 4px 0px 4px;  padding: 3px 5px 0; float: right; }
#header ul.headmenu li{ font-size: 0.7em; line-height: 1.0em;display: inline; letter-spacing: 0px; margin: 0 4px; padding: 0 5px; }
#header ul.headmenu li a{ color: #fff;font-weight: bold; text-decoration: none; text-transform: uppercase; }
#header ul.headmenu li a:hover{ color: #fff;font-weight: bold; text-decoration: none; }
#header img.logo{ margin: 0 0 0 8%; max-height: 100px;display:block;border-style: none;position: absolute; }

#header ul.logos{ background: none; position: absolute; list-style: none; margin: 5px 2px;  padding: 0; right: 0; top: 0; }
#header ul.logos li{ display: inline; }
#header ul.logos li img{ padding: 0 3px; margin: 0; top: 0; }

/* SKIP LINK: fuori schermo di default, torna visibile quando riceve il focus da tastiera */
#header a#skipnav{ position: absolute; left: -9000px; top: auto; }
#header a#skipnav:focus{ left: 10px; top: 10px; width: auto; height: auto;
                         background: #fff; color: #000; padding: 8px 16px; z-index: 2000;
                         text-decoration: none; border-radius: 3px; }

/* BREADCRUMB (markup: <nav><ol class="navigator">) */
#logbar{background:transparent;border-top: 0 none #6DB41D; border-bottom: 1px solid #455094;height: 20px; clear: both; padding: 0 2px; margin: 0; }
#logbar ol.navigator{color:#008217;font-size: 0.6em; line-height: 0.8em;text-align: left; float: left; letter-spacing: 1px; list-style: none; margin: 0; padding: 0px 0px 0px 0px;}
#logbar ol.navigator li.head{display: inline; margin-left: 1px;  padding: 0px 0px 0px 0px; }
#logbar ol.navigator li.item{display: inline; margin-left: 1px;  padding: 0px 0px 0px 20px; }
#logbar ol.navigator li a{color: #008217; font-weight: bold;text-decoration: none; margin-left: 0px; }
#logbar ol.navigator a:hover{color: #008217;text-decoration: underline;}
#logbar p.nav{font-size: 0.8em; font-weight: 700; text-align: left; }

/* MAIN MENU': NAVLIST (markup: <nav id="navcontainer"><button class="nav-toggle">...<ul id="navlist-list" class="navlist">) */
#navcontainer{background:transparent;padding:0;margin:0;position:absolute;width:100%;top:20px;height:30px;text-align:center;}
#navcontainer ul.navlist{background:transparent;font-family:'Benchnine', sans-serif;font-size:1.4em;text-transform:uppercase;letter-spacing:2px;margin:0;padding:0 20px;list-style:none;position:relative;display:inline-table;}
#navcontainer ul.navlist:after{content:"";clear:both;display:block;}
#navcontainer ul.navlist li{float:left;}
#navcontainer ul.navlist li a{color:var(--color-nav-link);}
#navcontainer ul.navlist li:hover a{color:var(--color-accent);}
#navcontainer ul.navlist li.current a{color:var(--color-accent);}
#navcontainer ul.navlist li.evidence a{color:#fff;background: var(--color-evidence-bg);}
#navcontainer ul.navlist li a,
#navcontainer ul.navlist li.current a,
#navcontainer ul.navlist li.evidence a{display:block;text-decoration:none;}

/* Bottone del menu mobile, generato dal FW (aWVmenu) e gestito da js/navToggle.js:
   prende il posto di jQuery slicknav. Nascosto su desktop, compare sotto i
   1025px (vedi le media query) con lo stesso aspetto del vecchio pulsante
   slicknav: riquadro bianco con tre lineette blu. */
.nav-toggle{display:none;}

/* MAIN MENU': NAVLIST - DROPDOWN MENU'
   Niente display:none sul sottomenu: toglierebbe i link dal tab order e li
   renderebbe irraggiungibili da tastiera. Restano nel flusso, clippati con
   max-height+overflow, cosi' anche il focus su un link interno li rivela, non
   solo il passaggio del mouse (stesso schema di CMS aWV Demo). */
#navcontainer ul.navlist ul.subnav{opacity:0;max-height:0;overflow:hidden;background:var(--color-overlay-light);list-style: none; border-radius: 0px; padding: 0; position: absolute; top: 100%;}
#navcontainer ul.navlist ul.subnav li{ border-top: 0px solid #eff6ff; border-bottom: 1px solid #ccc; min-width: 250px; font-size: 0.8em;float: none; position: relative; }
#navcontainer ul.navlist ul.subnav li a{color:var(--color-nav-link);background:var(--color-overlay-light);text-align:left;padding:5px 40px;}
#navcontainer ul.navlist ul.subnav li a:hover{color:#fff;background: var(--color-evidence-bg);}
#navcontainer ul.navlist ul.subnav li.current a{color:#fff;background: var(--color-evidence-bg);}

/*CONTENITORI*/
#container01{background: var(--color-overlay-light-strong); margin: 0 auto 0; padding: 0; }
#container02{background: var(--color-overlay-light-strong); margin-right: auto; margin-left: auto; padding: 0; overflow: auto; }
#content{background: transparent; text-align: left; margin: 0; padding: 0; height: auto !important;  /* per tutti i browser */ height: 440px; /* per IE5.x e IE6 */ min-height: 440px;  /* per tutti i browser */ }
#login{text-align: left; width: 100%;height: auto !important;  /* per tutti i browser */ height: 390px; /* per IE5.x e IE6 */ min-height: 390px;  /* per tutti i browser */ }
#home{text-align: left; width: 100% }

/* NAVIGAZIONE VERTICALE - SOTTOMENU' */
#nav {background:transparent;font-family:'BenchNine', sans-serif;text-align:center;padding:0;margin:0;position:fixed;top:90px;width:100%;}
#nav h2{color:var(--color-accent-alt);font-size: 1.4em;font-weight:bold;text-transform:uppercase;margin-top:25px;padding-left:0px;}
#nav ul.menu{background:var(--color-overlay-light);width:98%;text-align:center;list-style-type: none; padding: 0 1% 0; margin: 0; }
#nav ul.menu a{font-size:1.2em; line-height: 1.2em; text-transform: uppercase; text-decoration: none;white-space: normal; list-style-type: none; list-style-image: none; display: list-item; }
#nav ul.menu li{ display:inline-block; }
#nav ul.menu li.head a{ background:transparent;border-radius:0;color:var(--color-nav-link); font-weight: 700;text-transform: uppercase; text-align: center; padding: 8px 10px 8px 20px; margin: 0; }
#nav ul.menu li.title a{background:transparent;color:var(--color-nav-link);font-weight: 400;white-space: normal; padding: 8px 7px; margin: 0 3px; }
#nav ul.menu li.title a:hover{color:var(--color-accent-alt);}
#nav ul.menu li.title.current a{color: var(--color-accent-alt);}
#nav ul.menu li.item a{background: transparent;color:var(--color-nav-link);font-weight: 400;padding: 8px 7px; margin: 0 3px; }
#nav ul.menu li.item a:hover{color: var(--color-accent-alt);}
#nav ul.menu li.item.current a{color: var(--color-accent-alt);}

/* FOOTER */
#footerbox 	{ background: transparent;clear: both; padding: 0; }
#footer 	{ background: var(--color-overlay-light-strong);margin: 0 auto; clear: both; }
#footer p 	{ color: var(--color-footer-text); }
#footer p.link a { color: #fff; background: var(--color-link-text); }
#footer p.link a:hover{ color: #fff; background: var(--color-link-text) none; }

#footer ul.footmenu{color: var(--color-footer-link); background: transparent; text-align: center; font-family: 'BenchNine', sans-serif; font-size: 1.4em;list-style: none; padding: 3px 5px 0 5px; }
#footer ul.footmenu li{background: transparent;font-size: 0.9em; text-transform: uppercase; letter-spacing: 2px; display: inline; margin: 0 4px; padding: 0 5px 0 15px; }
#footer ul.footmenu li a{color: var(--color-footer-link);background: transparent; font-weight: 400; text-decoration: none;margin: 4px 0 0 0; padding: 4px 20px; }
#footer ul.footmenu li a:hover{color: var(--color-accent-alt); background: transparent; text-decoration: none; }
#footer ul.footmenu li.current a{color: var(--color-accent-alt); background: transparent; font-weight: 400; text-decoration: none; }
#footer ul.footmenu li.evidence a{color: #fff; background: var(--color-footer-evidence-bg); text-decoration: none; }
#footer ul.footmenu li.evidence a:hover{color: var(--color-footer-evidence-hover); background: var(--color-footer-evidence-bg); text-decoration: none; }
#footer ul.logos{ background: transparent; list-style: none; margin: 0px 2px;  padding: 0; float: left; font-size: 1.0em; line-height: 1.2em; }
#footer ul.logos li{ display: inline; }
#footer ul.logos li img{ padding: 0px 3px; margin: 0; top: 0px; }

/*Social Icons*/
#social                                 { background-color: #fff; opacity: 0.9; }
#social ul.social                       { text-align: center; list-style: none; display: inline-block; margin: 5px auto; }
#social ul.social li                    { padding: 0px; display: inline; position: relative; margin: 0 10px; }
#social ul.social li img                { left: 0px; padding: 0; margin: 0; width: 32px; border: none; overflow: hidden; }

/*COMPANY*/
#company{ background: var(--color-overlay-light-strong); color: #333; border-radius: 0; font-size: 0.7em; text-align: center; clear: both; margin: 0 auto; padding: 20px 0 5px 0; }
#company p 			{ color: #333; text-align: center; font-size: 0.8em; margin: 0 auto; }
#company a			{ color: #000; text-decoration: none; font-weight: 400;  }
#company strong                 { color: #333; font-weight: 500; }
#company img                    { margin: 0px 10px; }
#company ul.logos               { background: transparent; clear:both; list-style: none; text-align: center; margin: 5px;  padding: 0;}
#company ul.logos li 		{ background: transparent; display: inline; margin: 0; }
#company ul.logos li img 	{ padding: 0px 3px; margin: 0; top: 0px; }


/* PAGINE INTERNE SU DESKTOP: il contenuto parte sotto l'header fisso (75px).
   Lo faceva il JS di common/bg_cont.php su ogni pagina; dal commit 640fd5f del
   FW lo fa solo se la pagina ha un'immagine in testata (senza, su mobile
   lasciava 135px di vuoto). Qui si ricostruisce la resa di prima per le pagine
   senza immagine, e solo da 1025px in su, dove l'header e' davvero fisso.
   Con l'immagine il JS mette lo stesso valore inline, che comunque prevale.
   In home non c'e' #article: lo slider resta sotto l'header, come prima. */
@media only screen and (min-width: 1025px) {
#container01:has(#article){padding-top:75px;}
}

/* MENU MOBILE (fino a 1024px, la stessa soglia a cui prima entrava slicknav)
   Riproduce la resa di slicknav: una barra bianca in cima alla pagina, sopra
   il logo, con il pulsante a destra; la lista si apre nel flusso della pagina
   (spinge giu' il contenuto, non si sovrappone), voci blu che su hover passano
   al rosa pieno. Il <nav> sta dopo #header nel markup: con flex + order:-1
   sale sopra al logo come faceva la barra che slicknav appendeva al body.
   I sottomenu, che slicknav teneva chiusi dietro una freccetta, qui sono
   aperti e rientrati: sono solo quattro voci e cosi' restano raggiungibili. */
@media only screen and (max-width: 1024px) {
#headerbox{display:flex;flex-direction:column;}
#navcontainer{order:-1;position:static;width:auto;height:auto;background:#fff;padding:5px;text-align:right;font-family:'Arya',sans-serif;}
.nav-toggle{display:inline-block;width:36px;height:25px;margin:5px 5px 6px;padding:0;border:0;border-radius:4px;cursor:pointer;
            background:linear-gradient(var(--color-nav-link),var(--color-nav-link)) center 7px/17px 2px no-repeat,
                       linear-gradient(var(--color-nav-link),var(--color-nav-link)) center 12px/17px 2px no-repeat,
                       linear-gradient(var(--color-nav-link),var(--color-nav-link)) center 17px/17px 2px no-repeat,
                       #fff;}
.nav-toggle span{display:none;}
#navcontainer ul.navlist{display:none;position:static;width:auto;padding:0;font-family:'Arya',sans-serif;font-size:1.6em;text-transform:none;letter-spacing:normal;text-align:left;}
#navcontainer ul.navlist.is-open{display:block;}
#navcontainer ul.navlist li{float:none;}
#navcontainer ul.navlist li a,
#navcontainer ul.navlist li:hover a,
#navcontainer ul.navlist li.current a{color:var(--color-nav-link);background:transparent;padding:5px 10px;margin:2px 5px;}
#navcontainer ul.navlist li a:hover{color:#fff;background:var(--color-accent-alt);}
#navcontainer ul.navlist ul.subnav{opacity:1;max-height:none;overflow:visible;position:static;background:transparent;margin:0 0 0 20px;}
#navcontainer ul.navlist ul.subnav li{border:0;min-width:0;font-size:1em;}
#navcontainer ul.navlist ul.subnav li a,
#navcontainer ul.navlist ul.subnav li.current a{color:var(--color-nav-link);background:transparent;padding:5px 10px;}
#navcontainer ul.navlist ul.subnav li a:hover{color:#fff;background:var(--color-accent-alt);}
}

/* Codice per SMARTPHONE max 320 px  */
@media only screen and (max-width: 320px) {

#header,
#search,
#container02,
#footer,
#company                            { width: 100%; }
#session{right:auto;left:0;width:80%;padding:0;}
#social                             { margin: 0; }
#social ul                          { padding: 0; }

#headerbox{position: relative !important;z-index: 0;}
#header h1{text-align:center;height:90px;margin:0;}
#header h1 a{float: none;}
#header img.logo{float:none;height:80px;position:relative;display:inline-block;margin:0 auto;}

#flag{background:transparent;top:0px;left:0px;width:auto;margin:5px;}
#nav{display:none;}

#content                            { margin-left: 0px; }

#social ul.social li img            { height: 32px; }

#footer ul.footmenu                 { width: 95%; margin: 0; }
#footer ul.footmenu li              { display: list-item; text-align: center; }
}
/* Codice per SMARTPHONE 321 – 480 px */
@media only screen and (min-width: 321px) and (max-width: 480px) {

#header,
#search,
#container02,
#footer,
#company{width:100%;}
#session{right:auto;left:0;width:80%;padding:0;}
#social{margin:0;}
#social ul{padding:0;}

#headerbox{position: relative !important;z-index: 0;}
#header h1{text-align:center;height:90px;margin:0;}
#header h1 a{float: none;}
#header img.logo{float:none;height:80px;position:relative;display:inline-block;margin:0 auto;}

#flag{background:transparent;top:0px;left:0px;width:auto;margin:5px;}
#nav{display:none;}
#content                            { margin-left: 0px; }

#social ul.social li img            { height: 32px; }

#footer ul.footmenu                 { width: 95%; margin: 0; }
#footer ul.footmenu li              { display: list-item; text-align: center; }
}
/* Codice per TABLET VERT 481 – 768 px */
@media only screen and (min-width: 481px) and (max-width: 768px) {

#header,
#search,
#container02,
#footer,
#company{width: 100%;}
#session{right:auto;left:0;width:80%;padding:0;}
#social{margin: 0;}
#social ul{padding: 0;}

#headerbox{position: relative !important;z-index: 0;}
#header h1{text-align:center;height:90px;margin:0;}
#header h1 a{float: none;}
#header img.logo{float:none;height:80px;position:relative;display:inline-block;margin:0 auto;}

#flag{top:5px;left:0px;}
#nav{display:none;}
#content                            { margin-left: 0px; }

#social ul.social li img            { height: 32px; }

#footer ul.footmenu                 { width: 95%; margin: 0; }
#footer ul.footmenu li              { display: list-item; text-align: center; }
}
/* Codice per TABLET ORIZ 769 – 1024 px */
@media only screen and (min-width: 769px) and (max-width: 1024px) {

#header,
#search,
#container02,
#footer,
#company{width:100%;}
#session{right:auto;left:0;width:80%;padding:0;}

#headerbox{position: relative !important;z-index: 0;}
#header h1{text-align:center;height:90px;position:relative;margin:0;}
#header h1 a{float: none;}
#header img.logo{float:none;height:80px;display:inline-block;margin:0 auto;}

#flag{float:right;top:0px;right:0px;}

#nav{display:none;}
#content                            { margin-left: 0px; }

#footer ul.footmenu                             { margin: 0 4px; }
}
/* Codice per DESKTOP 1025 1240 px  */
@media only screen and (min-width: 1025px) and (max-width: 1240px)  {

    #header,
    #search,
    #container02,
    #footer,
    #company                                        { width: 100%; }

    #flag                                           { float: right; top: 0px; right: 0px;}

    #navcontainer                                   { height: 0; }
    #navcontainer ul.navlist li:hover > ul.subnav,
    #navcontainer ul.navlist li:focus-within > ul.subnav { opacity: 1; max-height: none; overflow: visible; }
    #navcontainer ul.navlist li a,
    #navcontainer ul.navlist li.current a,
    #navcontainer ul.navlist li.evidence a          { padding: 5px 12px; }

    #footer ul.footmenu                             { margin: 0 4px; }
}

@media only screen and (min-width: 1241px) {
    #header,
    #search,
    #container02,
    #footer,
    #company                                        { width: 100%; }

    #flag                                           { float: right; top: 0px; right: 0px;}

    #navcontainer                                   { height: 0; }
    #navcontainer ul.navlist li:hover > ul.subnav,
    #navcontainer ul.navlist li:focus-within > ul.subnav { opacity: 1; max-height: none; overflow: visible; }
    #navcontainer ul.navlist li a,
    #navcontainer ul.navlist li.current a,
    #navcontainer ul.navlist li.evidence a          { padding: 5px 12px; }

    #footer ul.footmenu                             { margin: 0 4px; }
}
