body, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, pre, code, blockquote, figure {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin:10%;
	padding:0;
	border-width:0;
	hyphens: none;
}

/* Contenitore dell'immagine */
figure {
	display: table;
	margin: 60px auto;
}

/* Immagine */
figure img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* Didascalia */
figure figcaption {
	display: table-caption;
	caption-side: bottom;
	margin-top:15px;
	text-align: left;
	color: #000000;
	font-size:16px;
	line-height:1.2;
}

/* Contenitore responsivo per scorrimento orizzontale */
.table-container {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	margin: 60px auto;
	padding-bottom: 5px
}

.table-container table {
    margin: 0 auto;      /* centra */
}

/* Tabella */
table {
    border-collapse: collapse;
    font-size: 14px;
    text-align: center;
}

/* Caption */
table caption {
    caption-side: top;
    margin-bottom: 15px;
    font-size: 16px;
    line-height: 1.2;
    text-align: left;
}

/* Celle generiche */
table th,
table td {
    border: 1px solid #ccc;
    padding: 5px;
    vertical-align: middle;
    white-space: normal;
}

/* Prima colonna allineata a sinistra (classe "first-col" aggiunta dallo script di esportazione,
   che tiene conto delle celle unite in verticale) */
table td.first-col,
table th.first-col {
    text-align: left;
}

/* Header */
table th {
    background-color: #f2f2f2;
    font-weight: bold;
    border-top-width: 3px;
    border-bottom-width: 3px;
    padding: 10px;
}

td.separation-row {
    border-bottom-width: 3px;
}
/* Ultima riga corpo (bordo inferiore più spesso): anche le celle unite in verticale che arrivano
   in fondo (classe "last-row", verificata dallo script di esportazione) */
tbody tr:last-child td,
tbody td.last-row,
tbody th.last-row {
    border-bottom-width: 3px;
}

/* Footer */
tfoot td {
    padding: 5px 0 0 0;      /* spazio sopra il contenuto */
    border: none;           /* elimina bordo superiore */
    text-align: left;
    font-size: 14px;
    line-height: 1.2;
}

/* Apici e pedici senza aumentare l'interlinea: spostati con position invece che con vertical-align */
sup,
sub {
  position: relative;
  vertical-align: baseline;
  font-size: 0.75em;
  line-height: 0;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}

.orcid {
  width: 24px;
  height: 24px;
}
._idFootnoteLink {
  vertical-align: super;
  font-size: 0.75em;
  line-height: 0;
}
p.formula {
  display: block;
  overflow-x: auto;
  max-width: 100%;
  white-space: nowrap;
}

p.section {
	-epub-hyphens:none;
	color:#000000;
	font-family:Helvetica, sans-serif;
	font-size:24px;
	font-style:normal;
	font-variant:normal;
	font-weight:300;
	line-height:1.2;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.title {
	-epub-hyphens:none;
	color:#000000;
	font-size:40px;
	font-style:normal;
	font-variant:normal;
	font-weight:bold;
	line-height:1.2;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.secondary_title {
	-epub-hyphens:none;
	color:#000000;
	font-size:30px;
	font-style:normal;
	font-variant:normal;
	font-weight:bold;
	line-height:1.2;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:15px;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.authors {
	color:#000000;
	font-size:20px;
	font-style:normal;
	font-variant:small-caps;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:6px;
	margin-left:0;
	margin-right:0;
	margin-top:28px;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.affiliations {
	color:#000000;
	font-size:16px;
	font-style:italic;
	font-variant:normal;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.email {
	color:#000000;
	font-size:16px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.abstract {
	color:#000000;
	font-size:17px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.3;
	margin-bottom:0;
	margin-left:30px;
	margin-right:30px;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.keywords {
	color:#000000;
	font-size:17px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.3;
	margin-bottom:0;
	margin-left:30px;
	margin-right:30px;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
/* Abstract e keywords: blocco unico con sfondo grigio leggero (anche con più paragrafi consecutivi) */
p.abstract,
p.keywords {
	background-color:#f3f3f3;
	padding:8px 20px;
}
/* primo paragrafo del blocco: spazio sopra */
:not(.abstract):not(.keywords) + p.abstract,
:not(.abstract):not(.keywords) + p.keywords {
	margin-top:20px;
	padding-top:18px;
}
/* ultimo paragrafo del blocco: spazio sotto */
p.abstract:last-child,
p.keywords:last-child,
p.abstract:has(+ :not(.abstract):not(.keywords)),
p.keywords:has(+ :not(.abstract):not(.keywords)) {
	padding-bottom:18px;
	margin-bottom:20px;
}
p.dates {
	color:#000000;
	font-size:16px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:30px;
	margin-left:0;
	margin-right:0;
	margin-top:0;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
}
p.TOC1 {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:5px;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.TOC2 {
	color:#000000;
	font-size:18px;
	font-style:italic;
	font-variant:normal;
	font-weight:normal;
	line-height:1.2;
	margin-bottom:0;
	margin-left:15px;
	margin-right:0;
	margin-top:5px;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.title1 {
	-epub-hyphens:none;
	color:#000000;
	font-size:22px;
	font-style:normal;
	font-variant:normal;
	font-weight:bold;
	line-height:1.2;
	margin-bottom:12px;
	margin-left:0;
	margin-right:0;
	margin-top:24px;                /* spazio sopra il filetto... */
	border-top:1px solid #cccccc;   /* filetto grigio sopra il titolo */
	padding-top:24px;               /* ...uguale allo spazio sotto: filetto a metà */
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-decoration:none;
	text-indent:0;
	text-transform:normal;
	widows:1;
}
/* L'elemento subito prima di title1 non aggiunge margine: lo spazio sopra il filetto è solo quello del titolo */
*:has(+ p.title1) {
	margin-bottom:0 !important;
}
p.title2 {
	color:#000000;
	font-size:22px;
	font-style:italic;
	font-variant:normal;
	font-weight:normal;
	line-height:1.1;
	margin-bottom:11px;
	margin-left:0;
	margin-right:0;
	margin-top:28px;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
p.text {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.6;
	margin-bottom:0.8em;            /* mezzo rigo tra i paragrafi (interlinea 1.6 / 2) */
	margin-left:0;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;                  /* nessun rientro della prima riga */
	text-transform:none;
	widows:1;
}
p.text_indent1 {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.6;
	margin-bottom:0;
	margin-left:30px;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:-30px;
	text-transform:none;
	widows:1;
}
p.text_indent2 {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.6;
	margin-bottom:0;
	margin-left:60px;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:-60px;
	text-transform:none;
	widows:1;
}
p.text_no_indent {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.6;
	margin-bottom:0;
	margin-left:0px;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0px;
	text-transform:none;
	widows:1;
}
p.quoted_text {
	color:#000000;
	font-size:16px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.6;
	margin-bottom:15px;
	margin-left:30px;
	margin-right:30px;
	margin-top:15px;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
	widows:1;
}
/* più paragrafi quoted_text consecutivi formano un unico blocco: spazio solo prima del primo e dopo l'ultimo */
p.quoted_text + p.quoted_text { margin-top: 0; }
p.quoted_text:has(+ p.quoted_text) { margin-bottom: 0; }
p.bibliography {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.4;
	margin-bottom:5px;
	margin-left:25px;
	margin-right:0;
	margin-top:0;
	orphans:1;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:-25px;
	text-transform:none;
	widows:1;
}
p.note {
	font-size:18px;
	border-style:solid;
	margin-bottom:0;
	margin-left:0;
	margin-right:0;
	margin-top:15px;
	border-width:0;
}
p.formula {
	color:#000000;
	font-size:18px;
	font-style:normal;
	font-variant:normal;
	font-weight:normal;
	line-height:1.6;
	margin-bottom:15px;
	margin-left:0;
	margin-right:0;
	margin-top:15px;
	padding-bottom:5px;
	padding-right:50px;
	page-break-after:auto;
	page-break-before:auto;
	text-align:left;
	text-align-last:left;
	text-decoration:none;
	text-indent:0;
	text-transform:none;
}
span.tabdx {
	margin-right: 10%;
	position: absolute;
	right: 0;
}
span.link {
	color:#000000;
}


/* ===== Chiave dicotomica (stile InDesign "k1 chiave dicotomica", class "key"; struttura creata dalla regola KY dello script 10)
   numero | descrizione ....... risultato (specie o link al distico) ===== */
p.key {
	display: flow-root;               /* contiene il risultato flottante */
	position: relative;
	margin: 0 0 0.3em;
	padding-left: 2em;                /* spazio per il numero */
	font-size: 16px;
	line-height: 1.5;
	text-indent: 0;
	text-align: left;
	background-color: #fff;
	/* puntini di guida: una riga punteggiata sul fondo del paragrafo (cioè sull'ultima riga),
	   coperta dal testo; restano visibili solo tra la fine della descrizione e il risultato */
	background-image: linear-gradient(to right, #777 1px, transparent 1px);
	background-size: 4px 1px;
	background-repeat: repeat-x;
	background-origin: content-box;
	background-clip: content-box;
	background-position: left bottom 0.4em;
}
p.key-alt { margin-bottom: 0.9em; }  /* spazio dopo ogni distico */
p.key .key-num { position: absolute; left: 0; top: 0; }
p.key .key-text { background-color: inherit; padding-right: 0.3em; }   /* copre i puntini sotto il testo */
p.key .key-dots { display: none; }
p.key .key-res {                      /* specie o numero del distico, a destra sull'ultima riga */
	float: right;
	background-color: inherit;
	padding-left: 0.3em;
	white-space: nowrap;
}
p.key .key-res a { font-weight: bold; text-decoration: none; }
p.key.key-current { background-color: #fff6d6; } /* distico raggiunto con il link; un clic altrove toglie l'evidenziazione */
@media (max-width: 600px) {           /* su telefono il risultato va sotto la descrizione, senza puntini */
	p.key { background-image: none; }
	p.key .key-res { float: none; display: block; padding-left: 0; }
}

/* ===== Titoli e tondo =====
   I titoli sono già in grassetto: un eventuale <strong> (HTML esportati prima della regola TF40) non lo raddoppia */
p.title strong, p.secondary_title strong, p.title1 strong, th strong { font-weight: inherit; }
/* parole in tondo dentro paragrafi corsivi (title2, affiliations...): <span class="upright"> creato dalla regola TF41 */
.upright { font-style: normal; }
