
@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-SemiboldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-Extrabold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'OpenSans';
  src: local('-'),
       url('../fnt/OpenSans-ExtraboldItalic.ttf') format('truetype');
  font-weight: 800;
  font-style: italic;
}

@font-face {
  font-family: 'DejaVuSansMono';
  src: local('-'),
       url('../fnt/DejaVuSansMono.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'DejaVuSansMono';
  src: local('-'),
       url('../fnt/DejaVuSansMono-Oblique.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'DejaVuSansMono';
  src: local('-'),
       url('../fnt/DejaVuSansMono-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: 'DejaVuSansMono';
  src: local('-'),
       url('../fnt/DejaVuSansMono-BoldOblique.ttf') format('truetype');
  font-weight: bold;
  font-style: italic;
}

.here {
color: #dde0e8;
/* color: #ffdd00; giallo cromo */
/* color: #ee9c00; arancio link */
}

.ipa {
/* color: #a44834; */
/* background: #00ffff; */
}

/* .sha {
box-shadow: 0.4px 1px 6px 0px #000000;
} */

body {
margin: 0px;
padding: 0px;
background-color: #fefefe;
/* background-color: #cb934b;
background-image: url('../img/bg.wood.jpg');
background-position: top center;
background-repeat: repeat
background-size: 100%; */
}

blockquote, div, dl, dt, dd, figure, figcaption, iframe, img, p, ol, ul, li {
margin: 0px;
border: 0px;
padding: 0px;
}

del.black {
background: #000;
text-decoration: none;
}

del.grey {
background: #888;
text-decoration: none;
}

div.clr {
clear: both;
height: 0px;
}

p.top {
margin-top: 15px;
margin-bottom: 12px;
margin-right: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 11px;
font-weight: normal;
/* font-size: 11.5px;
font-weight: bold; */
line-height: 13px;
letter-spacing: 0.2px;
text-align: right;
color: #552200;
/* color: #cb934b; */
}

p.top strong {
color: #a44834;
}

p.abstract {
font-style: italic;
hyphens: auto;
}

p#abstract {
font-style: italic;
hyphens: auto;
}

p#comment {
/* color: #a44834; */
}

p#fineprint {
/* font-size: 14px; */
}

div.box {
width: 966px;
margin-left: auto;
margin-right: auto;
}

div#head {
height: 220px;
/* background-image: url('../img/bg.div.head.jpg');
background-position: top center;
background-repeat: no-repeat; */
}

div.overheader {
padding-top: 0px;
padding-bottom: 36px;
padding-left: 0px;
padding-right: 0px;
}

div.overheader a {
color: #CA5705;
text-decoration: none;
}

div.overheader p {
margin-top: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 16px;
/* letter-spacing: 0.2px; */
text-align: justify;
color: #222;
}

div.overheader p.left {
float: left;
width: 440px;
margin-bottom: 0px;
text-align: left;
}

div.overheader p.right {
float: right;
width: 440px;
margin-bottom: 0px;
text-align: right;
}

div.title {
height: 169px; /* not 170 for visual correction */
/* background-image: url('../img/bg.div.title.jpg');
background-position: top 30px left;
background-repeat: no-repeat; */
}

div.title h1 {
margin-top: -15px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 44px;
font-weight: normal;
font-style: normal;
text-align: left;
letter-spacing: 0.9px;
color: #ab4834;
}

div.title h2 {
margin-top: 30px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 40px;
font-weight: normal;
font-style: normal;
text-align: left;
letter-spacing: 0.7px;
color: #ab4834;
}

div.title p {
margin-top: 23px;  /* irrelevant as it is corrected by the following div.title h2 + p */
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
/* line-height: 23px; */
text-align: justify;
color: #222;
/* color: #222222; */
}

div.title h1 + h2 {
margin-top: -3px;
}

div.title h2 + p {    /* why does div.title h2 + div.title p produce a different result? */
margin-top: 20px;     /* this point is the reason why Firefox in Linux gives a different vertical spacing than Windows browsers */
}

div#logo {
float: left;
width: 160px;
height: 160px;
background-image: url('../img/logo.png');
background-position: top left;
background-repeat: no-repeat;
}

div#tools {
float: right;
width: 766px;
}

/* div#tools :first-child {
margin-top: 0px;
}  ridefiniva il margine di div.title h1  */

div.menu {
height: 30px;
padding-top: 30px;
padding-left: 0px;
padding-right: 0px;
}

div.menu div.left {
float: left;
}

div.menu div.right {
float: right;
}

div.menu .spc {
margin-right: 25px;
}

div.menu .current {    /* non più usato */
color: #ab4834;
}

div.menu a {
color: #CA5705;
/* color: #222; */
text-decoration: none;
}

div.menu a:hover {
color: #ee9c00;
text-decoration: none;
}

div.menu a:visited {
color: #CA5705;
/* color: #ffffff; questa dimenticanza faceva sparire le parole cliccate */
text-decoration: none;
}

div.menu a:visited:hover {
color: #ee9c00;
text-decoration: none;
}

div.menu p {
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.2px;
line-height: 16px;
text-align: left;
color: #222;
}

div.menu strong {
color: #fff;
}

div.content {
/* background-image: url('../img/bg.div.content.jpg');
background-position: top center;
background-repeat: no-repeat;
background-color: #84b661;  adapted to bg.div.content.jpg */
}

/* Per main e ads ho lasciato le div.pad perché
   1. Toglierle incasinava la regolazione delle altezze, e avrei dovuto scrivere una funzione più complicata
   2. Hanno senso. Lasciarle permette di intervallare sezioni con e senza padding:
      nelle prime il testo, nelle seconde pubblicità o altro */

div.main {
float: left;
width: 656px;
/* background-image: url('../img/bg.div.main.gif');
background-position: top left;
background-repeat: no-repeat;
background-color: #e9e8e6; */
}

div.main div.pad {
padding-top: 30px;
padding-bottom: 30px;
/* padding-bottom: 20px;
padding-left: 40px;
padding-right: 30px; */
}

/* per togliere il padding non basta rimuovere le istruzioni, occorre specificare 0px
   a meno che non lo si sia fatto già prima per una div generica  */

div.main :first-child {
margin-top: 0px;
}

/* perché toglierlo e metterlo non cambia nulla?
   (il margine è predefinito 0 per il paragrafo generico, ma per quello in div.main a 20)
   perché il margine di 20px collassa col padding di 30px - rimuovendo il padding si nota la differenza */

div.main .small {
font-size: 17px;
line-height: 24px;
}

div.main .smaller {
font-size: 16px;
line-height: 23px;
}

/* div.main */
a {
color: #CA5705;
/* color: #0066B8; blu */
text-decoration: none;
}

/* div.main */
a:hover {
color: #EE9C00;
/* color: #B97900; */
/* color: #33BBFF; blu */
text-decoration: none;
}

/* div.main */
a:visited {
color: #873600;
/* color: #004488; blu */
text-decoration: none;
}

/* div.main */
a:visited:hover {
color: #EE9C00;
/* color: #33BBFF; blu */
text-decoration: none;
}

div.main abbr {
font-variant: none;
text-decoration: none;
}

div.main h1, div.main h2, div.main h3, div.main h4, div.main h5, div.main h6 {
/* margin-top: 26px; */
margin-top: 26px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
/* font-family: "Times New Roman", Times, serif; */
/* font-family: OpenSans, Arial, Helvetica, Sans, sans-serif; */
/* font-family: AppleGaramond, "Times New Roman", Times, serif; un po' condensato */
/* font-family: EBGaramond, "Times New Roman", Times, serif; */
/* font-weight: 800; OpenSans */
/* font-weight: 800; opensans */
font-weight: normal;
font-style: normal;
text-align: left;
color: #ab4834;
/* color: #8c4834; */
/* color: #6c4834; */
}

div.main h1 {
/* font-size: 44px; */
/* font-size: 42px; */
/* font-size: 32px; */
font-size: 43px;
/* letter-spacing: 0.9px; */
}

div.main h2 {
/* font-size: 40px; */
/* font-size: 38px; */
/* font-size: 30px; */
font-size: 36px;
/* letter-spacing: 0.7px; */
}

div.main h3 {
/* font-size: 36px; */
/* font-size: 34px; */
/* font-size: 28px; */
font-size: 30px;
/* letter-spacing: 0.6px; */
}

div.main h4 {
/* font-size: 32px; */
/* font-size: 30px; */
/* font-size: 26px; */
font-size: 25px;
/* letter-spacing: 0.5px; */
}

div.main h5 {
/* font-size: 28px; */
/* font-size: 24px; */
font-size: 21px;
/* letter-spacing: 0.4px; */
}

div.main h6 {
/* font-size: 24px; */
/* font-size: 22px; */
font-size: 18px;
/* letter-spacing: 0.3px; */
}

div.main h1 + h2 {
margin-top: 10px;
}

div.main h2 + h3 {
margin-top: 10px;
}

div.main h3 + h4 {
margin-top: 10px;
}

div.main h4 + h5 {
margin-top: 10px;
}

div.main h5 + h6 {
margin-top: 10px;
}

div.main h1 + p {
margin-top: 15px;
}

div.main h2 + p {
margin-top: 15px;
}

div.main h3 + p {
margin-top: 15px;
}

div.main h4 + p {
margin-top: 12px;
}

div.main h5 + p {
margin-top: 10px;
}

div.main h6 + p {
margin-top: 10px;
}

div.main dl {
margin-top: 26px;
/* margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px; */
}

div.main dt {
margin-top: 26px;
/* margin-top: 20px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px; */
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
font-weight: bold;
color: #ab4834;
/* color: maroon;
color: #52443C; */
text-align: left;
line-height: 26px;
}

div.main dd {
/* margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px; */
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
color: #222;
text-align: justify;
line-height: 26px;
hyphens: auto;
}

div.main ol {
margin-top: 26px;
margin-left: 40px;
}

div.main ol li {
margin-top: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
text-align: justify;
color: #222;
line-height: 26px;
hyphens: auto;
}

div.main ol li p:first-child {
margin-top: 26px;
}

div.main ul {
margin-top: 26px;
margin-left: 40px;
}

div.main ul li {
margin-top: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
text-align: justify;
color: #222;
line-height: 26px;
hyphens: auto;
}

/* div.main ul li p {
margin-top: 26px;
} */

div.main ul li p:first-child {
margin-top: 26px;
}

div.main p {
margin-top: 26px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
text-align: justify;
color: #222;
line-height: 26px;
/* line-height: 20px; */
hyphens: auto;
}

div.main p.comment {
font-style: italic;
color: #a44834;
}

div.main p sup, div.main p sub {
font-size: 12px;
/* font-weight: bold; */
line-height: 100%;
}

div.main p.note {
/* margin-top: 20px; */
font-size: 17px;
line-height: 24px;
}

/* h# + p.note p.note + p.note */

div.main p.center {
text-align: center;
}

div.main p.sig {
width: 280px;
margin-left: auto;
margin-right: 20px;
text-align: left;
}

div.main blockquote {
margin-top: 26px;
margin-bottom: 0px;
margin-left: 40px;
margin-right: 40px;
}

div.main pre {
margin-top: 26px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
text-align: left;
color: #222;
line-height: 26px;
}

div.main figure {
display: block;
margin-top: 26px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
text-align: center;
}

div.main figure figcaption {
display: block;
/* width: 600px; */
margin-top: 10px;
margin-bottom: 0px;
margin-left: 40px;  /* auto if width is specified */
margin-right: 40px;
}

div.main figure figcaption p {
font-size: 17px;
line-height: 24px;
}

div.main img {
display: inline;
vertical-align: top;
text-align: center;
}

table, caption, col, colgroup, thead, th, tboby, tr, td, tfoot {
margin: 0px;
border: 0px;
border-collapse: collapse;
padding: 0px;
}

table th, table td {
padding-top: 5px;
padding-bottom: 5px;
vertical-align: top;
}

table caption {
margin-bottom: 10px;
color: #ab4834;  /* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
}

table caption p {
font-weight: bold;
color: #ab4834;  /* <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< */
/* hyphens: auto; */
}

table.tran caption {
margin-bottom: 5px;
}

table.tran th, table.tran td {
padding-left: 15px;
padding-right: 15px;
padding-bottom: 0px;
}

table.tran th:first-child, table.tran td:first-child {
padding-left: 0px;
}

table.tran th:last-child, table.tran td:last-child {
padding-right: 0px;
}

table.tran tr:last-child {
}

table.bord caption {
margin-left: 11px;
}

table.bord th, table.bord td {
border: 1px solid #999;
padding-left: 10px;
padding-right: 10px;
}

table.open caption {
margin-bottom: 5px;
}

table.open thead tr {
border-bottom: 1px solid #222;
}

table.open tbody tr {
border-top: 1px solid #999;
border-bottom: 1px solid #999;
}

table.open tfoot {
border-bottom: 1px solid #222;
}

table.open th, table.open td {
padding-left: 15px;
padding-right: 15px;
}

table.open th:first-child, table.open td:first-child {
padding-left: 0px;
}

table.open th:last-child, table.open td:last-child {
padding-right: 0px;
}

div.main table {
margin-top: 26px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
text-align: justify;
color: #222;
/* line-height: 26px; fa avvicinare le righe degli H# su più righe */
/* line-height: 20px; */
}

div.main b {
line-height: 100%;
}

div.main cite {
line-height: 100%;
font-style: italic;
}

div.main code {
font-family: DejaVuSansMono, monospace;
line-height: 100%;
color: #a44834;
}

div.main kbd {
font-family: DejaVuSansMono, monospace;
line-height: 100%;
color: #a44834;
}

div.main i {
line-height: 100%;
}

div.main em {
line-height: 100%;
/* color: #8c4834; */
}

div.main samp {
font-family: DejaVuSansMono, monospace;
line-height: 100%;
color: #a44834;
}

div.main tt {
font-family: DejaVuSansMono, monospace;
line-height: 100%;   /* why black instead of the same color as P? Even adding color: #222;, even to body - è lo stesso mistero di caption */
}

div.main strong {
line-height: 100%;
color: #a44834;
/* color: #8c4834; */
/* color: #52443C; */
}

div.ads {
float: right;
width: 310px;
/* background: linear-gradient(transparent, #afca6e); #b4e661 */
}

div.ads div.pad {
padding-top: 30px;
padding-bottom: 30px;    /* was 20px */
padding-left: 40px;
padding-right: 0px;
}

div.ads :first-child {
margin-top: 0px;
}

div.ads div.inc {
margin-top: 26px;
}

div.ads div.inc :first-child {
margin-top: 0px;
}

div.ads .small {
font-size: 17px;
line-height: 24px;
}

div.ads a {
color: #C2570A;
/* color: #C2570A; */  /* like #CA5705 in DIV.main, corrected */
text-decoration: none;
}

div.ads a:hover {
color: #EE9C00;
text-decoration: none;
}

div.ads a:visited {
color: #873600;
text-decoration: none;
}

div.ads a:visited:hover {
color: #EE9C00;
text-decoration: none;
}

div.ads h1, div.ads h2, div.ads h3, div.ads h4, div.ads h5, div.ads h6 {
margin-top: 17px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
/* font-weight: 800; OpenSans */
/* font-weight: 800; opensans */
font-weight: bold;
font-style: normal;
text-align: left;
color: #23481a;
}

div.ads h1 {
font-size: 21px;
}

div.ads h2 {
font-size: 18px;
}

div.ads h3 {
font-size: 16px;
}

div.ads h4 {
font-size: 15px;
}

div.ads h5 {
font-size: 15px;
}

div.ads h6 {
font-size: 15px;
}

div.ads h1 + h2 {
margin-top: 5px;
}

div.ads h2 + h3 {
margin-top: 5px;
}

div.ads h3 + h4 {
margin-top: 5px;
}

div.ads h4 + h5 {
margin-top: 5px;
}

div.ads h5 + h6 {
margin-top: 5px;
}

div.ads dl {
margin-top: 23px;
}

div.ads dt {
margin-top: 10px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 17px;
font-weight: bold;
line-height: 20px;
color: #23481a;
text-align: left;
}

div.ads dd {
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 17px;
line-height: 20px;
color: #222;
text-align: left;
}

div.ads p {
margin-top: 26px;
margin-bottom: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 18px;
line-height: 26px;
text-align: justify;
color: #222;
hyphens: auto;
}

div.ads b {
line-height: 100%;
}

div.ads i {
line-height: 100%;
}

div.ads em {
color: #23481a;
line-height: 100%;
}

div.ads strong {
color: #a44834;
line-height: 100%;
}

div.ads div.ad {
width: 310px;
height: 310px;
/* margin-top: 10px; */                    /* first child is 0 */
background-position: center center;
background-repeat: no-repeat;
}

div.ads img {
margin: 0px;
border: none;
padding: 0px;
}

div#foot {
/* background-color: #01A165;
background-image: url('../img/bg.div.foot.jpg');
background-position: bottom center;
background-repeat: no-repeat; */
}

div.footer {
padding-top: 0px;   /* con l'originale 25px il contenuto era troppo distante dal menu inferiore */
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
}

div.c1c2 {
float: left;
width: 468px;
}

div.c3c4 {
float: right;
width: 468px;
}

div.c1 {
float: left;
width: 219px;
}

div.c2 {
float: right;
width: 219px;
}

div.c3 {
float: left;
width: 219px;
}

div.c4 {
float: right;
width: 219px;
}

div.footer a {
color: #CA5705;
/* color: #222; */
text-decoration: none;
}

div.footer a:visited {
color: #CA5705;
/* color: #222; */
text-decoration: none;
}

div.footer a:hover {
color: #ee9c00;
text-decoration: none;
}

div.footer a:visited:hover {
color: #ee9c00;
text-decoration: none;
}

div.footer p {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.2px;
line-height: 23px;
text-align: left;
color: #222;
}

div.footer p.fade {
color: #666;
}

div.footer p.spc {
line-height: 10px;
}

div.c4 p {
text-align: right;
}

div.underfooter {
padding-top: 0px;
padding-bottom: 25px;
padding-left: 0px;
padding-right: 0px;
}

div.underfooter a {
color: #CA5705;
text-decoration: none;
}

div.underfooter p {
margin-top: 30px;
font-family: OpenSans, Arial, Helvetica, Sans, sans-serif;
font-size: 16px;
/* letter-spacing: 0.2px; */
text-align: justify;
color: #222;
}

div.underfooter p.left {
float: left;
width: 440px;
margin-top: 20px;
text-align: left;
}

div.underfooter p.right {
float: right;
width: 440px;
margin-top: 20px;
text-align: right;
}

