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

:root {
    /* TAVOLOZZA (2026-10-06): indaco-viola, con il fucsia per i dettagli.
       Prima era il verde di una prova fatta per Sinafo. Demo e' soprattutto un
       ambiente di test: un colore che nessun cliente usa fa capire a colpo
       d'occhio dove si e', e non si lavora per sbaglio nel backend sbagliato.
       Il viola scelto regge il testo bianco sopra (circa 6:1); il verde di
       prima, #33CC66, sul bianco stava a 2.1:1 e i titoli si leggevano male. */
    --color-body-text: #000;
    --color-body-bg: #fff;
    --color-accent: #6a3fd9;              /* indaco-viola: titoli, pulsanti, voce attiva */
    --color-accent-strong: #4b2aa8;       /* piu' scuro: fondi delle intestazioni di tabella */
    --color-highlight: #c026d3;           /* fucsia: passaggio del mouse e piccoli dettagli */
    /* sulle barre scure (menu, breadcrumb) il viola non si leggerebbe: li' si
       usa questa variante chiara */
    --color-accent-on-dark: #e9b3ff;
    --color-overlay-dark: rgba(34,24,72,0.85);
    --color-overlay-dark-solid: rgba(34,24,72,1.0);
    --color-overlay-light: rgba(255,255,255,0.8);
    --color-overlay-light-strong: rgba(255,255,255,0.9);
    --color-session-text: #6a5ba8;
    --color-session-text-dark: #2a1d5c;
    --color-header-accent: #c026d3;
    --color-header-menu-bg: #2a1d5c;
    --color-footer-text: #2a1d5c;
    --color-footer-link: #6a3fd9;
    --color-footer-link-hover: #c026d3;
    --color-footer-evidence-bg: #333;
    --color-logos-border: #b9a8f5;
    --color-link-text: #5b34cf;
    /* il focus deve superare il 3:1 sul bianco: il viola lo supera (circa 6:1) */
    --color-focus-outline: #6a3fd9;
    --color-danger: #CC0033;
    /* colore dei link dentro #article: governato da qui e non scritto a mano
       in article.css, cosi' segue la tavolozza (si vede anche nel login). */
    --color-article-link: #5b34cf;
    /* pulsanti di amministrazione: li disegna il framework (css/awvIcons.css),
       ma il colore lo decide il sito da qui. Se queste due non ci fossero, il
       FW ripiegherebbe su --color-accent e #fff. */
    --awv-admin-bg: #6a3fd9;
    --awv-admin-text: #fff;
}

body{color:var(--color-body-text);background-color: var(--color-body-bg); font-size: 100%; font-family: 'Roboto', sans-serif;margin: 0 auto; padding: 0; }
img{text-decoration:none; border-style: none; }
#global{background:var(--color-overlay-light);margin: 0; padding: 0; }
#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; }

.dropdown-notification          { height: 40px; line-height: 40px; position: relative; top: -40px; transition: top .2s; /* don't forget to use prefixes */ }
.dropdown-notification.active   { top: 0; }

/* BARRA LINGUA */
#flag{background:transparent;}
#flag{position:absolute;height:27px;}
#flag ul.lang{text-align:right;margin:0px;padding:2px 5px;}
#flag ul.lang li.flag{display:inline;margin-left:1px;padding:0px 4px 0px 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 piu' 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; z-index: 1001; pointer-events: none; }
#session p{ background: transparent; color: var(--color-session-text-dark) !important; font-size: 0.6em;height: 40px; margin: 0 0 0 30px !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{background:transparent;width:100%;clear:both;padding:0px 0px 0px 0px;}

#header{background: var(--color-overlay-dark);border-radius:0;margin:0 auto;padding: 0;clear: both;position:relative;}
#header h1{color:#ddd;font-family:'Roboto',sans-serif;font-size:2.0em;font-weight:bold;z-index:1;height:70px;margin: 0 0 0 20px;}
#header h1 a{color:#ddd;text-decoration: none; }
#header h1 a:hover{color:#ddd;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;}
#header ul.headmenu li          { display: inline; letter-spacing: 0px; margin: 0 4px; padding: 0 5px; }
#header ul.headmenu li a        { color: #fff; }
#header ul.headmenu li a        { font-weight: bold; text-decoration: none; }
#header ul.headmenu li a:hover  { color: #fff; }
#header ul.headmenu li a:hover  { font-weight: bold; text-decoration: none; }
/* Logo di Demo (2026-10-10): marchio + scritta, versione chiara per la barra
   scura (images/logo_demo_chiaro.png, sorgente .svg accanto). Niente piu'
   riquadro bianco dietro: il logo sta sulla barra, senza prevalere. */
#header img.logo                { background: none; margin: 17px 3px 0 24px; height: 36px; width: auto; max-height: none; float: left; border-style: none; }

#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          { position: absolute; left: 10px; top: 10px; width: auto; height: auto;
                                    background: #fff; color: #000; padding: 8px 16px; z-index: 2000;
                                    text-decoration: none; border-radius: 3px; }

/* SEARCH BAR */
#headerbox #search              { margin: 0; padding: 0; }
#headerbox #search form         { width:100%; margin: 0; padding: 0; height: auto; border-top: 1px #ccc solid; border-bottom: 1px #ccc solid;}
/* La lente era graphics/bg_search.png (60x60 nera su trasparente), messa come
   secondo sfondo dell'input. Ora e' disegnata sul fieldset con due pseudo-
   elementi - il cerchio e il manico - e prende --color-accent, cosi' ogni sito
   se la ritrova del proprio colore senza rifare l'immagine.
   `pointer-events: none` perche' e' decorazione: il click deve arrivare
   all'input sotto, non fermarsi sull'icona. */
#headerbox #search fieldset     { width:100%; margin: 0; padding: 0; border: 0; position: relative; }
#headerbox #search fieldset::before,
#headerbox #search fieldset::after { content: ""; position: absolute; pointer-events: none; background: transparent; }
/* il cerchio della lente */
#headerbox #search fieldset::before { right: 12px; top: 50%; width: 11px; height: 11px; margin-top: -8px;
               border: 2px solid var(--color-accent, #6a3fd9); border-radius: 50%; }
/* il manico, in diagonale sotto al cerchio */
#headerbox #search fieldset::after  { right: 10px; top: 50%; width: 2px; height: 7px; margin-top: 3px;
               background: var(--color-accent, #6a3fd9); border-radius: 1px; transform: rotate(-45deg); transform-origin: top center; }
/* box-sizing esplicito: il padding destro serve a non far finire il testo
   digitato sotto la lente, ma senza border-box i 30px si sommerebbero al 98%
   di larghezza e il campo sborderebbe dall'header. */
#headerbox #search input        { width: 98%; height: 30px; box-sizing: border-box; background: var(--color-overlay-light);
               margin: 0; padding: 0 30px 0 1%; border-radius: 0; border: 0; border-bottom: 1px; font-size: 1.2em; }

/* BREADCRUMB (markup: <nav><ol class="navigator">) */
/* Una riga leggera sopra il titolo, nella stessa colonna del testo (10%),
   non piu' una striscia scura sotto la testata con il testo a 0.7em spaziato
   e schiacciato a sinistra (2026-10-12). */
#breadcrumbs{background:transparent;height:auto;clear:both;padding:0 10%;margin:22px 0 14px;}
#breadcrumbs ol.navigator{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;
  color:#4b5563;font-size:.85em;letter-spacing:normal;text-align:left;}
#breadcrumbs ol.navigator li{display:inline;margin:0;padding:0;}
#breadcrumbs ol.navigator li.item::before,
#breadcrumbs ol.navigator li.current::before{content:"\203A";margin:0 .55em;color:#9ca3af;}
#breadcrumbs ol.navigator li a{color:var(--color-accent);font-weight:500;text-decoration:none;}
#breadcrumbs ol.navigator a:hover,
#breadcrumbs ol.navigator a:focus-visible{text-decoration:underline;}
#breadcrumbs ol.navigator li.current{color:#374151;font-weight:600;}
#breadcrumbs p.nav{ font-size: .85em; font-weight: 600; 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;text-align:center;}
#navcontainer ul.navlist{background:transparent;font-family:'Roboto', sans-serif;font-size:1.2em;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;position:relative;}
#navcontainer ul.navlist li a{color:#fff;}
#navcontainer ul.navlist li:hover a{color:var(--color-accent-on-dark);}
#navcontainer ul.navlist li.current a{color:var(--color-accent-on-dark); }
#navcontainer ul.navlist li.evidence a{color:#eee;background:var(--color-overlay-dark);}
#navcontainer ul.navlist li a,
#navcontainer ul.navlist li.current a,
#navcontainer ul.navlist li.evidence a{display:block;text-decoration:none;}

/* Bottone menu mobile (markup: <nav id="navcontainer"><button class="nav-toggle">...<ul id="navlist-list" class="navlist">):
   nascosto su desktop, mostrato sotto la breakpoint tablet (vedi media query). */
.nav-toggle{display:none;background:var(--color-overlay-dark-solid);color:#fff;border:0;border-radius:6px;width:44px;height:44px;font-size:1.4em;line-height:1;cursor:pointer;}
.nav-toggle:hover{background:#333;}

/* MAIN MENU': NAVLIST - DROPDOWN MENU'
   Niente display:none/visibility:hidden sul sottomenu: entrambi toglierebbero i link
   dal tab order e li renderebbero irraggiungibili da tastiera, rendendo inutile
   :focus-within. Restano nel flusso (clippati con max-height+overflow) cosi il
   focus su un link interno li rivela, non solo il passaggio del mouse. */
#navcontainer ul.navlist ul.subnav     { opacity:0; max-height:0; overflow:hidden;
                                          background:var(--color-overlay-dark); list-style:none; border-radius:0px; padding:0;
                                          position:absolute; top:100%; z-index:999; transition:opacity .15s ease; }
#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 ul.subnav li{border-top:0px solid #333;border-bottom:1px solid #333;min-width:250px;font-size:0.8em;float:none;position:relative; }
#navcontainer ul.navlist ul.subnav li a{background:var(--color-overlay-dark);color:#fff;text-align:left;padding:5px 40px;}
#navcontainer ul.navlist ul.subnav li a:hover{background:var(--color-overlay-dark-solid);color:var(--color-accent-on-dark);}

/* Menu mobile a tendina (sotto i 769px): pulsante in alto a sinistra allineato
   col logo, tendina a larghezza piena con testo a sinistra, righe separate da
   bordo, sottomenu indentato su sfondo piu' scuro, voce corrente con barra
   laterale invece del semplice colore (piu' leggibile su sfondo scuro). */
@media only screen and (max-width: 768px) {
#navcontainer{position:static;}
.nav-toggle{position:absolute;top:18px;left:12px;z-index:1000;display:inline-flex;align-items:center;justify-content:center;margin:0;}
#navcontainer ul.navlist{display:none;position:static;width:100%;background:var(--color-overlay-dark-solid);text-align:left;font-size:1em;letter-spacing:normal;}
#navcontainer ul.navlist.is-open{display:block;}
#navcontainer ul.navlist li{float:none;border-top:1px solid rgba(255,255,255,0.12);}
#navcontainer ul.navlist li:first-child{border-top:0;}
#navcontainer ul.navlist li a,
#navcontainer ul.navlist li:hover a,
#navcontainer ul.navlist li:focus-within a{color:#fff;padding:14px 20px;}
#navcontainer ul.navlist li.current a{color:#fff;font-weight:700;border-left:4px solid var(--color-accent-on-dark);padding-left:16px;background:rgba(255,255,255,0.06);}
#navcontainer ul.navlist ul.subnav{opacity:1;max-height:none;overflow:visible;position:static;background:rgba(0,0,0,0.2);}
#navcontainer ul.navlist ul.subnav li{border-top:1px solid rgba(255,255,255,0.08);min-width:0;font-size:0.9em;}
#navcontainer ul.navlist ul.subnav li a{padding:12px 20px 12px 36px;color:rgba(255,255,255,0.85);background:transparent;}
#navcontainer ul.navlist ul.subnav li a:hover{background:rgba(255,255,255,0.08);color:#fff;}
#nav{display:none;}
}

/* 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;}
#content 		{ 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% }
#login 			{ 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: relative; width: 100%; }
#nav h2{color: #333;font-size: 1.4em; font-weight: bold; margin-top: 25px; padding-left: 0px; }
#nav ul.menu{background: var(--color-overlay-dark);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-decoration: none;white-space: normal; list-style-type: none; list-style-image: none; display: list-item; }
#nav ul.menu li{ display: inline-block;letter-spacing:2px; }
#nav ul.menu li.head a{ background: transparent; border-radius: 0; color: #fff; font-weight: 700; text-align: center; padding: 8px 10px 8px 20px; margin: 0; }
#nav ul.menu li.title a{ background: transparent; color: #fff; font-weight: 400; border-left: 0px solid #961919;white-space: normal; padding: 8px 7px; margin: 0 3px; }
#nav ul.menu li.title a:hover{ color: var(--color-accent-on-dark); }
#nav ul.menu li.title.current a{ color: #fff; }
#nav ul.menu li.item a{ background: transparent; color: #fff; font-weight: 400;padding: 8px 7px; margin: 0 3px; }
#nav ul.menu li.item a:hover{ color: var(--color-accent-on-dark); }
#nav ul.menu li.item.current a{ color: #fff; }

/* FOOTER */
#footerbox 				{ background: transparent; }
#footerbox 				{ clear: both; padding: 0; }
#footer 				{ background: var(--color-overlay-light-strong); }
#footer 				{ margin: 0 auto; clear: both; }
#footer p 				{ color: var(--color-link-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-text); background: transparent; text-align: center; font-family: 'BenchNine', sans-serif; font-size: 1.4em; }
#footer ul.footmenu                     { list-style: none; padding: 3px 5px 0 5px; }
#footer ul.footmenu li                  { background: transparent;font-size: 0.9em; letter-spacing: 2px; }
#footer ul.footmenu li                  { 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; }
#footer ul.footmenu li a                { margin: 4px 0 0 0; padding: 4px 20px; }
#footer ul.footmenu li a:hover          { color: var(--color-footer-link-hover); background: transparent; text-decoration: none; }
#footer ul.footmenu li.current a        { color: var(--color-footer-link-hover); 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-link-hover); background: var(--color-footer-evidence-bg); text-decoration: none; }
#footer ul.logos{background:transparent;list-style:none;margin:0px 2px;padding:0;float:right;font-size:1.0em;line-height:1.2em;}
#footer ul.logos li{display:inline;}
#footer ul.logos li img{padding:0px 3px;margin:0 20px;top:0px;max-height:40px;}

/*Logos*/
#logos{width:100%;border-top:2px solid var(--color-logos-border);border-bottom:2px solid var(--color-logos-border);text-align:center;padding:15px 0;}
#logos ul.logos{background:transparent;list-style:none;margin:0px 50px 0 0;padding:0;font-size:1.0em;line-height:1.2em;}
#logos ul.logos li{background:transparent;display:inline;margin:0;}
#logos ul.logos li img{padding:0px 3px;margin:0 20px;top:0px;max-height:60px;}

/*Social Icons*/
#social                                 { background-color: transparent; margin: 10px 0; text-align: center; }
#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; }
/* div#social ul.social li a            { position: absolute; } */
#social ul.social li img{width:32px;left:0px;padding:0;margin:0;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;}

/* Codice per SMARTPHONE max 320 px  */
/* Chi e' collegato ha la barra utente in cima (#session, 25px, sovrapposta):
   la testata scende della stessa misura, cosi' il logo non ci finisce sotto. */
body:has(#session) #header { padding-top: 25px; }

/* #flag sempre a destra, anche su mobile: a sinistra finiva sopra il
   distintivo della barra utente, che a destra lascia 150px liberi apposta. */
@media only screen and (max-width: 320px) {

#header,
#container02,
#footer,
#company{width:100%;}
#social{margin: 0; }
#social ul{padding: 0; }

#header h1{text-align:center;height:80px;}
#header img.logo{float:none;margin:22px auto 0;height:32px;}

#flag{background:transparent;top:0px;right:0px;left:auto;width:auto;margin:0;}

#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%;}
#social{margin:0;}
#social ul{padding:0;}

#header h1{text-align:center;height:80px;}
#header img.logo{float:none;margin:22px auto 0;height:32px;}

#flag{background:transparent;top:0px;right:0px;left:auto;width:auto;margin:0;}

#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%; }
#social ul				{ padding: 0; }

#header h1{text-align:center;height:80px;}
#header img.logo{float:none;margin:22px auto 0;height:32px;}

#flag{top:0px;right:0px;left:auto;}

#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, DESKTOP e oltre: menu orizzontale con dropdown al posto del toggle mobile */
@media only screen and (min-width: 769px) {

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

#flag                                           { float: right; top: 0px; right: 0px;}
/* Il menu e' largo quanto la pagina e centrato: senza margini passava sopra il
   logo quando si allarga (da collegati c'e' "Amministrazione" in piu' e va su
   due righe). A sinistra lo spazio del logo, a destra quello delle lingue. */
#navcontainer                                   { box-sizing: border-box; padding: 0 70px 0 210px; }
/* da collegati la barra utente occupa i primi 25px: il menu scende con la testata */
body:has(#session) #navcontainer                { top: 45px; }

#navcontainer                                   { height: 0; }
#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: 769px) and (max-width: 1024px) {
#navcontainer ul.navlist{font-size: 1.4em;padding-left:15%;}
}

/* fra 769 e 1199px, con lo spazio riservato al logo, il menu non stava piu' in
   una riga: lettere un po' meno spaziate e corpo appena piu' piccolo */
@media only screen and (min-width: 769px) and (max-width: 1199px) {
#navcontainer ul.navlist { font-size: 1.1em; letter-spacing: 1px; }
}
