/*! Teinte.css, generic TEI styling, https://github.com/oeuvres/teinte   */


/*
 * Part of Teinte https://github.com/oeuvres/teinte
 * Copyright (c) 2024 frederic.glorieux@fictif.org & Centre Jean Piaget / Université de Genève
 * Copyright (c) 2020 frederic.glorieux@fictif.org
 * Copyright (c) 2013 frederic.glorieux@fictif.org & LABEX OBVIL
 * Copyright (c) 2012 frederic.glorieux@fictif.org
 * Copyright (c) 2007 frederic.glorieux@fictif.org & École Nationale des Chartes
 * BSD-3-Clause https://opensource.org/licenses/BSD-3-Clause
 */

:root {
  /* master colors */
  --color-accent: #be1622;
  --color-bg: #fff;
  --color-bg-active: #e2ded0;
  --color-bg-alt: #f5f5f5;
  --color-border: #e2ded0;
  --color-border-alt: #c9c6bb;
  --color-hover: rgba(255, 255, 255, 0.3);
  --color-hover-alt: rgba(226, 222, 208, 0.3);
  --color-shadow: rgba(0, 0, 0, 0.25);
  --color-text: #181a1b;
  --color-text-alt: #757575;

  /* Declined colors */
  --color-button-bg-active: var(--color-bg-active);
  --color-button-hover: var(--color-hover);
  --color-button-bg: var(--color-toolbar-bg);
  --color-button-border: var(--color-border);
  --color-button-focus: var(--color-accent);
  --color-button-shadow: var(--color-shadow);
  --color-button-text: var(--color-text);
  --color-link: var(--color-accent);
  --color-toolbar-bg: var(--color-bg);
  --color-toolbar-text: var(--color-text);


  --ui-font-family: system-ui, sans-serif;
}

/* Reset CSS */

html,
body {
  /* needed to keep fixed units with large tables */
  max-width: 100vw;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}

img,
table {
  max-width: 100%;
  height: auto;
}

html {
  font-size: 100%;
  background: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
  font-optical-sizing: auto;
  box-sizing: border-box;
}

*,
*:after,
*:before {
  box-sizing: inherit;
}


audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

table,
td,
code,
dd {
  font-size: inherit;
  font-family: inherit;
}

article::after,
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

blockquote,
dd,
p.p,
div.p,
.argument,
.availability,
div.bibl,
li.bibl,
p.bibl,
.dialogue li,
.justify,
aside.note,
div.note,
div.stage {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  hyphenate-limit-chars: 8 3 4;
}

.note,
table.data,
table.table,
table.search,
.witness {
  font-family: var(--ui-font-family);
}

.bookmark,
.cb,
div.biblverse span.lb::after,
.mark a.prev,
.mark a.next,
.noselect,
.noteback,
.noteref,
.pb,
small.l,
small.l-n,
.unselectable {
  font-family: var(--ui-font-family);
  user-select: none;
}


/* html5 default, in alphabetic order */

:target {
  outline: none;
}

a:target,
mark:target,
b.mark:target {
  background-color: var(--color-bg-alt);
}

.note:target,
.marginnote:target,
.l:target {
  border: 0.1pt solid var(--color-border);
}

article a {
  background-color: transparent;
  text-decoration: none;
  color: var(--color-link);
}

article a:hover {
  background-color: var(--color-hover);
  color: var(--color-text);
  border-color: inherit;
  text-decoration: none;
}

article a:active,
article a:hover {
  outline: none;
}

a img {
  border: none;
}

nav a {
  border-bottom: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

acronym {
  font-variant: small-caps;
}

address {
  font-style: normal;
  line-height: 1.1;
}

article {
  page-break-after: always;
  clear: both;
}

aside header {
  border: none;
  padding-right: 1em;
}

blockquote.q,
blockquote.quote {
  margin: 0 0 0 0.5em;
  padding: 0.4em 0em 0.6em 1em;
  line-height: 1.2;
  color: var(--color-text-alt);
}

blockquote.q {
  font-style: italic;
}

blockquote.q i,
blockquote.q em {
  font-style: normal;
}

cite {
  font-style: normal;
}

summary {
  cursor: pointer;
}

summary i {
  font-weight: 100;
}

dfn {
  font-style: normal;
}

dl.dl dt {
  font-weight: 900;
}

dl.dl dd {
  margin-top: 0em;
  margin-bottom: 0.5em;
}

fieldset {
  margin: 2em 0 1em 0;
  padding: 0 0.5em 0.5em 0.5em;
}

fieldset div {
  line-height: 1.1;
  margin: 0.25em 0;
}

fieldset blockquote {
  margin: 0.25em 0 0 0;
}

fieldset ul {
  margin: 0.25em 0 0 0;
}

figcaption {
  display: block;
  padding: 6px 8px;
}

figcaption.head {
  background: var(--color-text-alt);
  text-align: center;
  hyphens: none;
}

figcaption a:hover {
  background-color: var(--color-bg);
}

figcaption img {
  float: right;
  display: block;
  padding-left: 6px;
  margin-right: -10px;
  margin-top: -8px;
}

figure {
  display: block;
  position: relative;
  line-height: 1.05;
  margin: 0;
  text-align: left;
  margin-top: 1em;
  margin-bottom: 1em;
}

figure:after {
  content: " ";
  visibility: hidden;
  display: block;
  clear: both;
  height: 0;
}

figure.w25 {
  width: 25%;
  float: left;
  clear: both;
}

figure.w33 {
  width: 33%;
  float: left;
  clear: both;
}

figure.w50 {
  width: 50%;
  float: left;
  clear: both;
}

figure.w75 {
  width: 75%;
  float: none;
  margin-left: auto;
  margin-right: auto;
}

figure.center {
  float: none;
  margin-left: auto;
  margin-right: auto;
}

figure.left {
  float: left;
  margin: 15px 15px 8px 0;
}

figure.right {
  float: right;
  margin: 15px 0 8px 15px;
  clear: both;
}

figure>img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

figure a {
  text-decoration: none;
  border-bottom: none;
}

figure a:hover {
  text-decoration: none;
  border-bottom: none;
}

figure h1 {
  font-size: inherit;
  font-weight: bold;
  margin: 1em 0 0.5em 0;
  text-align: center;
  hyphens: none;
}

figure h2 {
  font-size: inherit;
  font-weight: bold;
  margin: 1em 0 0.5em 0;
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  hyphens: none;
  page-break-after: avoid;
  page-break-inside: avoid;
  orphans: 0;
}

a.bookmark {
  font-size: 60%;
  visibility: hidden;
}

h1:hover a.bookmark,
h2:hover a.bookmark,
h3:hover a.bookmark,
h4:hover a.bookmark,
h5:hover a.bookmark,
h6:hover a.bookmark,
a.bookmark:hover {
  opacity: 0.5;
  visibility: visible;
}

h1 {
  font-size: 130%;
  font-weight: 600;
  padding-top: calc(1em / 1.3);
  margin-top: 0;
  text-align: center;
  hyphens: none;
  line-height: 1.15;
}

h1 small {
  font-weight: normal;
  opacity: 1;
  letter-spacing: normal;
  font-variant: normal;
  text-shadow: none;
}

h1 a,
h1 a:link,
h1 a:visited,
h2 a,
h2 a:link,
h2 a:visited,
h3 a,
h3 a:link,
h3 a:visited {
  text-decoration: none;
  color: inherit;
}

h2 {
  clear: both;
  font-size: 130%;
  margin: calc(1em / 1.3) 0 calc(1em / 1.3) 0;
  padding: calc(0.5em / 1.3);
  line-height: 1.5;
  text-align: center;
  hyphens: none;
  font-weight: 600;
}

h3 {
  font-size: 117%;
  clear: both;
  font-weight: bold;
  margin-top: calc(2em/1.17);
  margin-bottom: calc(1em/1.17);
  padding-top: 0;
  text-indent: 0;
}

h5,
h6 {
  font-size: 100%;
}

footer h4 {
  margin-top: 0;
  margin-bottom: 0;
}


header {
  clear: both;
}

article>header {
  margin-bottom: 2em;
}

header.center {
  text-align: center;
}

header.center h1 {
  font-weight: normal;
  border: none;
}


header.center>* {
  line-height: 1.2em;
}

header.center .titleresp {
  font-size: 1.5em;
}

hr {
  height: 0;
  overflow: visible;
  color: var(--color-border);
  border-left: none;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border-alt);
}

hr.clear {
  visibility: hidden;
  height: 0;
}

i i,
i em,
em i,
em em {
  font-style: normal;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
}

p img {
  vertical-align: top;
}

kbd {
  font-family: inherit;
  font-variant: small-caps;
}

li.item {
  line-height: 1.2;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

li.item>p:first-child {
  text-indent: 0;
}

li.item p {
  margin: 0;
}

li.item pre {
  margin: 0;
}

li.item blockquote {
  margin: 1em 0 1em 0;
}

li.item blockquote p {
  text-indent: 2em;
}

legend {
  background: var(--color-bg);
  white-space: normal;
  font-size: 1.05em;
  color: var(--color-text-alt);
  font-weight: bold;
  padding: 0 calc(0.5em/1.05);
  margin: calc(0.5em/1.05) 0;
  text-decoration: underline;
}

mark,
b.mark,
a.mark {
  background-color: var(--color-bg-alt);
  font-weight: bold;
}

menu a {
  border-bottom-color: transparent;
}

menu li {
  margin-bottom: 0;
  margin-top: 0;
  line-height: 1.1;
  list-style: none;
}

menu ul {
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

menu ul li {
  line-height: 1.05;
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

nav blockquote,
nav dl {
  padding-left: 0;
  margin-left: 0;
  padding-right: 0;
  margin-right: 0;
}

nav h1 {
  padding: 0.1em;
  color: inherit;
  text-align: left;
  margin: 1em 0.8em 0.5em 0;
  letter-spacing: 0.4em;
}

nav hr {
  margin: 1em 0 0 0;
  width: 100%;
  border-top-color: var(--color-bg);
  border-bottom-color: var(--color-border);
}

nav li {
  text-align: left;
}

nav li.front {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px var(--color-bg) solid;
}

nav li.back {
  margin-top: 0.5em;
  padding-top: 0.5em;
  border-top: 1px var(--color-bg) solid;
}

nav header {
  font-size: 120%;
  display: block;
  padding: 1px calc(0.5em/1.20);
  margin-bottom: calc(0.5em/1.20);
  margin-top: calc(0.5em/1.20);
  font-weight: bold;
  border: 1px var(--color-bg) solid;
  border-right: none;
  border-radius: 0;
  border-top-left-radius: calc(0.5em/1.20);
  border-bottom-left-radius: calc(0.5em/1.20);
}


optgroup {
  font-weight: bold;
}

.footnote p,
p.p,
div.p,
.dialogue li {
  margin: 0;
  text-align: justify;
}

pre {
  overflow: auto;
  white-space: pre;
}

pre .label {
  font-family: inherit;
}

pre {
  width: 95%;
  line-height: 1;
  border-left: 1px dotted var(--color-border);
  padding-left: 10px;
  overflow: auto;
  overflow-y: hidden;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: '';
}

q.quote {
  font-style: italic;
}

q.quote em,
q.quote i,
q.quote q {
  font-style: normal;
}

samp {
  font-family: inherit;
  font-style: italic;
}

section {
  display: block;
  clear: both;
  margin-bottom: 3em;
}

small {
  font-weight: normal;
  font-size: 80%;
}

sup,
sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  font-variant: normal;
  text-transform: none;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

svg:not(:root) {
  overflow: hidden;
}


/** Forms */

button,
input,
optgroup,
textarea {
  font: inherit;
  margin: 0;
}

form a {
  text-decoration: none;
  border-bottom: none;
}

form label {
  padding: 0;
  line-height: 1;
}

form h1 {
  margin: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[readonly],
input.readonly {
  background: var(--color-bg-active);
}

input[type="checkbox"],
input[type="radio"] {
  padding: 0;
}

input.year {
  width: 3em;
}

textarea {
  overflow: auto;
  display: block;
}

textarea[readonly],
textarea.readonly {
  font-size: 110%;
  padding: 1em;
  height: 10em;
  width: 90%;
  border: 1px var(--color-border) solid;
}


/** TEI classes, in TEI element name order */

section.act.verse {
  width: 27em;
}

h1.act,
h2.act,
h1.castList,
h2.castList {
  text-transform: uppercase;
}

.actor {
  font-variant: small-caps;
}

.roleDesc {
  font-style: italic;
}

.argument {
  margin: calc(2em/1.05) 0 calc(3em/1.05) 0;
  font-size: 105%;
  text-indent: 0;
  font-style: italic;
  text-align: justify
}

.argument em,
.argument i {
  font-style: normal;
}

p.argument {
  font-style: normal;
  text-indent: 2em;
}

.argument p {
  text-indent: 0;
}

.availability {
  margin:  0 0 1em 0;
  text-align: justify;
}

.availability p.p {
  text-indent: 0;
}

/* .back p, .front p {text-indent: 0;} no indent in paratext */

section>.bibl,
article>.bibl,
figcaption.bibl {
  text-indent: -2em;
  padding-left: 2em;
  padding-right: 0.5em;
  margin-top: 1em;
  margin-bottom: 1em;
}

figcaption.bibl {
  font-style: normal;
  text-align: left;
  padding: 0 0 0 2em;
}

figure.bibl {
  margin: 0;
  padding: 0;
  border: none;
}

li.bibl {
  list-style: circle;
  font-size: 90%;
}


/* like li.witness */

blockquote .bibl {
  text-align: right;
  margin-top: 0.5em;
  line-height: 1.1;
}

.quote.l .bibl {
  margin-left: 4em;
  text-align: left;
  margin-right: 15%;
}

.byline {
  text-align: right;
  margin-left: 2em;
  text-indent: 0;
}

aside .byline {
  margin-top: 0;
  text-align: left;
  margin: 0 20% 0 0;
}

.byline .docAuthor {
  font-variant: small-caps;
}

p.caption {
  font-weight: bold;
}

#personnages {
  page-break-after: always;
}

ul.castList {
  list-style: none;
}


/* numbering */

.cb,
.pb,
.ed,
small.l,
small.l-n {
  font-weight: normal;
  font-style: normal;
  color: grey;
  margin-top: 0;
  margin-bottom: 0;
  text-indent: 0;
  text-decoration: none;
  border: none;
  font-size: 80%;
}

article>.pb,
footer>.pb,
header>.pb,
section>.pb {
  float: left;
  margin-right: 0.5em;
  margin-top: 0.3em;
}

a.pb {
  color: var(--color-text-alt);
}

a.pb:hover {
  background-color: var(--color-bg);
}

.lb {
  color: var(--color-text-alt);
  font-size: 80%;
}

.l-n {
  position: absolute;
  left: 0.7em;
  color: var(--color-text-alt);
  font-size: 80%;
}

.choice {
  background-color: var(--color-bg-active)
}

h1.collection,
h1.collection-sub {
  font-weight: normal;
  padding: 0;
  margin: 0;
}

h1.collection {
  text-transform: uppercase;
}

.dateline {
  margin: 2em 0;
  text-align: right;
  text-indent: 0;
}

div.docAuthor {
  text-align: center;
  hyphens: none;
  font-variant: small-caps;
  font-size: 150%;
}

div.docDate {
  text-align: center;
  hyphens: none;
}

div.docImprint {
  text-align: center;
  hyphens: none;
}

.docTitle {
  margin: 1em 1em 4em 1em;
}

aside .docDate {
  float: right;
}

.epigraph {
  margin: calc(2em/0.92) 0 calc(3em/0.92) calc(5em/0.92);
  font-size: 92%;
}

.epigraph .bibl {
  text-align: right;
}

.entry>* {
  margin-left: 2em;
}

.entry>.form {
  font-weight: bold;
  margin-left: 0;
}

li.item {
  line-height: 1.2;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.fileDesc,
.fileDesc>p {
  text-align: center;
  hyphens: none;
  text-indent: 0;
}

.fileDesc label {
  font-weight: bold;
}

.fileDesc>.titleStmt {
  text-align: center;
  hyphens: none;
  margin: 0 0 5em 0;
}

.titlePart {
  font-size: 200%;
  margin-top: 0.5em;
}

.titlePart.sub {
  font-style: italic;
  margin-top: 0em;
}

.titleStmt>p {
  text-align: center;
  hyphens: none;
  text-indent: 0;
}

.titleStmt h1 {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 1em;
  margin-bottom: 1em;
}

.titleStmt div {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.fileDesc>.editionStmt,
.fileDesc>.publicationStmt,
.fileDesc>.sourceDesc {
  text-align: left;
  line-height: 1.2;
}

.floatingText {
  font-size: 80%;
  line-height: 1.2;
  padding: 0% 1% 1% 5%;
  background-color: var(--color-bg-active);
}

.footnotes {
  margin-top: 3em;
  margin-bottom: 1em;
}

hr.footnotes {
  width: 15%;
  text-align: left;
  margin-right: auto;
  margin-left: 0;
}

.foreign {
  font-style: italic;
}

.forename {
  font-variant: normal;
}

p.formula {
  text-indent: 2em;
}

div.l dfn.gloss {
  display: block;
  position: absolute;
  padding: 5px 5px 5px 5px;
  border-radius: 10px;
  line-height: 1.1;
  text-align: left;
  float: right;
  margin-left: 25em;
  width: 250px;
  font-size: small;
  background-color: var(--color-bg-active);
  text-indent: 0;
}

p dfn.gloss,
div.gloss {
  padding: 5px 5px 5px 5px;
  border-radius: 10px;
  line-height: 1.1;
  text-align: left;
  font-size: small;
  background-color: var(--color-bg-active);
  text-indent: 0;
}

div.index {
  background-color: var(--color-bg-alt);
  padding: 0.2em 1em;
}

li.item {
  line-height: 1.2;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.lg>.lg:first-of-type>.l:first-of-type {
  text-indent: 0;
}

.l.indent {
  text-indent: -1em;
}


/* metric */

.l.hendeca {
  margin-left: 0.5em;
}

.l10,
.l.deca {
  margin-left: 1.0em;
}

.l9,
.l.ennea {
  margin-left: 1.5em;
}

.l8,
.l.octo {
  margin-left: 2.0em;
}

.l.hepta {
  margin-left: 2.5em;
}

.l6,
.l.hexa {
  margin-left: 3.0em;
}

.l5,
.l.penta {
  margin-left: 3.5em;
}

.l4,
.l.tetra {
  margin-left: 4.0em;
}

.l3,
.l.tri {
  margin-left: 4.5em;
}

.l2,
.l.dis {
  margin-left: 5.0em;
  text-indent: 0;
  padding-left: 0;
}

.l.penta_el {
  margin-left: 3.0em;
  text-indent: 0;
  padding-left: 0;
}

.l.promythium {
  margin-bottom: 1em;
  text-indent: 0;
  padding-left: 0;
}

.l.epimythium {
  margin-top: 1em;
  text-indent: 0;
  padding-left: 0;
}

.p.manuscrits {
  font-size: 80%;
  margin-top: calc(2em/0.80);
  background-color: var(--color-bg-alt);
  border-radius: 8px;
}

.l .vertical {
  font-size: 170%;
  font-weight: bold;
  display: inline-block;
  transform-origin: top right 0;
  margin-top: 1em;
  position: absolute;
  transform: rotate(90deg);
}

label.label {
  font-weight: bold;
}

p.label,
div.label {
  font-size: 150%;
  margin: 1em 0 0.5em 0;
  line-height: 1.05;
  text-align: center;
  hyphens: none;
  text-indent: 0;
  padding-left: 0;
  font-weight: bold;
}

blockquote.quote .label {
  margin: 0.5em 0 0.25em 2em;
}

figure .label {
  text-align: right;
  margin-top: 0;
}

.listBibl h4 {
  font-weight: normal;
  font-style: italic;
}

.listBibl li.desc,
.listBibl li.note {
  list-style-type: none;
  padding-left: 0;
  margin-left: 0;
}

div.lg {
  margin-top: 1em;
  margin-bottom: 1em;
}

.marginnote {
  float: right;
  text-indent: 0;
  clear: both;
  margin: 1px -10em 1px 1em;
  border: 1px var(--color-border) solid;
  box-shadow: 10px 0px 10px var(--color-bg-active);
  padding: 0.1em 0.5em;
  background: var(--color-hover);
  z-index: 5;
  position: relative;
  width: 15em;
  text-align: right;
  line-height: 1.2;
}

.marginnote a {
  border: none;
  text-decoration: none;
}

.note {
  font-size: 90%;
  line-height: 1.25;
  margin: 1px 0 calc(1em / 0.9) 0;
  clear: both;
  position: relative;
}

.note blockquote {
  margin: 0.5em 0em 0.5em 2em;
}

.note p {
  margin: 0;
  line-height: inherit;
  text-indent: 1em;
}

.note p:first-of-type,
.note p.noindent,
.note p.autofirst {
  text-indent: 0;
}

p.note {
  text-indent: 0;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.notes-abc,
.notes-123,
.notes-misc {
  margin-top: 0.5em;
}

.note-page {
  font-size: 80%;
}

.note-margin-left {
  float: left;
  margin-left: -2em;
  margin-right: 0.5em;
}

.noteref,
.noteback {
  text-decoration: none;
  border-bottom: none;
  font-style: normal;
  font-variant: normal;
  padding-right: .1em;
  /* note sep */
}

.noteref {
  border-radius: 50%;
  border: 1px solid var(--color-accent);
  color: var(--color-accent) !important;
  font-size: 80%;
  line-height: 100%;
  vertical-align: baseline;
  top: unset;
  padding: 0 0.3ex;
}

.noteref:hover {
  color: inherit !important;
}

.noteref sup {
  font-size: 100%;
  vertical-align: baseline;
  top: 0;
}

.noteback {
  display: inline-block;
  vertical-align: baseline;
  padding: 0 0.3ex;
  border-radius: 50%;
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
  font-size: 80%;
  line-height: 100%;
  top: unset;
}

.noteback:hover {
  border-color: var(--color-accent);
  color: var(--color-accent) !important;
}

span.num {
  font-family: inherit;
  line-height: 1;
  font-variant: small-caps;
}

span.num sup {
  font-variant: normal;
}

.opener {
  margin-bottom: 1em;
}

/*
div.part-Y {text-indent: 3em;}
.l.part-M {margin-left: 3em; text-indent: 0; padding-left: 0;}
.l.part-F {margin-left: 6em; text-indent: 0; padding-left: 0;}
*/

div.salute,
p.salute {
  margin: 1em 0 1em 0;
  text-align: left;
  text-indent: 2em;
}

.letter .salute {
  text-align: left;
  font-style: inherit;
}

.signed {
  margin-top: 2em;
  margin-bottom: 2em;
  text-indent: 0;
  text-align: right;
}

.sp p {
  text-indent: 0;
  margin-bottom: 0.3em;
}

.sp blockquote {
  margin-left: 2em;
  font-style: italic;
}

.sp {
  orphans: 2;
  widows: 2;
}

.sp.float {
  margin: 0.5em 0;
}

.sp .speaker {
  margin: 0;
  font-variant: small-caps;
  text-align: center;
  font-weight: 250;
}

.sp.float div.speaker {
  /* pb with justify in short columns */
  float: left;
  margin: 0;
  text-indent: 0;
  line-height: inherit;
}

.sp.float div.speaker::after {
  content: ' — ';
  font-weight: 300;
}

.sp .lg {
  margin-top: 0;
  margin-bottom: 0;
}

.sp .lg+.lg {
  margin-top: 0.7em;
}

.sp.center {
  hyphens: none;
  margin: 0.5em 0;
}

.sp.center .speaker {
  margin: 0;
}

.speaker i,
.speaker em {
  font-weight: inherit;
  font-variant: normal;
  text-transform: none;
}

.stage {
  font-style: italic;
  font-variant: normal;
  font-weight: 300;
}

.stage .i,
.stage i,
.stage em {
  font-style: normal;
}

div.stage {
  text-align: justify;
  text-indent: 2em;
}

.scene>.stage {
  font-size: 150%;
  font-style: normal;
  text-align: center;
  margin-bottom: calc(1em / 1.5);
  ;
  text-indent: 0;
}

.scene>.stage i,
.scene>.stage em {
  font-style: italic;
}



.sp.center>.stage {
  hyphens: none;
  text-align: center;
}

.stage.indent {
  text-indent: 3em;
}

div.stage.sc {
  font-style: normal;
  text-align: center;
  hyphens: none;
  font-size: 105%;
  margin-bottom: calc(0.5em / 1.05);
}

div.stage.right {
  margin-top: 0;
  margin-bottom: 0;
  text-indent: 0;
  margin-left: 30%;
  text-align: justify;
  text-align-last: right;
  hyphens: none;
}

blockquote>div.stage.sc {
  text-align: left;
}

h1.i,
h2.sub,
h2.i,
h3.sub,
h4.sub,
h5.sub,
h6.sub {
  font-style: italic;
  font-weight: normal;
  border: none;
  margin-top: 0;
  padding-top: 0;
}

.act h2,
.scene h3 {
  margin-top: 0;
  padding: 0;
  margin-bottom: 1em;
  font-weight: normal;
  text-align: center;
  hyphens: none;
  margin-left: auto;
  margin-right: auto;
  text-transform: uppercase;
  font-size: 200%;
}

.subtitle {
  font-style: italic;
  font-weight: normal;
  text-align: center;
  hyphens: none;
  font-size: 200%;
  margin-bottom: calc(2em / 2);
}

section section .subtitle {
  font-size: 150%;
}

.surname {
  font-variant: small-caps;
}

.title {
  font-style: italic;
}

.title abbr {
  font-variant: small-caps;
}

.title em,
.title i,
.title .title,
.title .sc {
  font-style: normal;
}

i .title,
.i .title {
  font-style: normal;
}

.titlePage {
  text-align: center;
  hyphens: none;
}

.titlePage h1.sub {
  font-weight: normal;
  margin-top: 0;
  padding-top: 0;
}

.titlePage .byline {
  margin-top: 2em;
  margin-top: 2em;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  hyphens: none;
}

.titlePage .docAuthor {
  font-size: 150%;
  font-variant: small-caps;
  margin: calc(1em / 1.5) 0;
}

.titlePage figure {
  border: none;
  margin-top: 5em;
  font-weight: normal;
}

.titlePage>.docImprint {
  font-size: 100%;
  line-height: 1.5;
  margin-top: 1em;
}

.titlePage div.rights {
  font-size: 100%;
}

.titlePage p,
.titlePage blockquote,
.titlePage .l {
  text-align: center;
  hyphens: none;
  text-indent: 0;
  margin-left: 0;
  margin-right: 0;
}

.titlePage p {
  margin-top: 1em;
  margin-top: 1em;
}

.titlePart {
  font-size: 200%;
  margin-top: calc(1em / 2);
}

.titlePart.sub {
  font-style: italic;
  margin-top: 0em;
}

.titleStmt>p {
  text-align: center;
  hyphens: none;
  text-indent: 0;
}

.titleStmt h1 {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 1em;
  margin-bottom: 1em;
  border: none;
}

.titleStmt div {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.trailer {
  font-style: italic;
  text-align: center;
  hyphens: none;
  text-indent: 0;
}

.witness {
  list-style: square;
  font-size: 90%;
}

.witness label,
a.wit,
i.wit,
a.msDesc {
  font-style: italic;
  color: inherit;
}


/**
 * @rend, @type useful classes, in alphabetic order
 */

p.p {
  text-indent: 2em;
}

p.p.no {
  text-indent: 0;
  margin-top: 1em;
}

ul,
ol {
  padding-left: 2em;
}

li.label {
  /* non numerated item */
  list-style-type: none;
  text-align: center;
  margin-top: 1em;
  margin-bottom: 0.5em;
  display: block;
}

li.label i {
  font-weight: bold;
}

ol>li.label {
  counter-increment: none;
}

p.p.no {
  text-indent: 0;
}

.milestone.no::before {
  content: "\a";
  white-space: pre;
}

small.no {
  font-weight: 900;
  font-style: normal;
  width: 3em;
}

.alert {
  color: var(--color-accent);
  font-size: 120%;
}

section.article {
  border-bottom: 2px white solid;
  margin-top: 0;
  padding-top: 2em;
}

section.article h2 {
  margin-top: 0;
}

.b,
.bold {
  font-weight: bold;
}

.big {
  font-size: 130%;
}

div.border,
blockquote.border {
  margin: 1em 0;
  border: 1px solid var(--color-border);
  padding: 0.5em 1.5em;
}

div.center,
p.center,
blockquote.center>* {
  text-align: center;
  hyphens: none;
  text-indent: 0;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}

.center.border {
  padding: 0.2em 0.5em;
  display: table;
}

.center h1,
.center h2,
.center h3,
.center h4,
.center .l,
.center p {
  text-align: inherit;
  text-indent: 0;
}

.center li {
  text-align: left;
}

span.center {
  display: block;
  hyphens: none;
}

.clear {
  clear: both;
}

.clear:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.dialogue {
  margin: 0;
  padding: 0;
}

.dialogue li {
  text-align: justify;
  margin-top: 0;
  margin-bottom: 0;
}

hr.dots {
  border: none;
  border-bottom: 2.6px dotted var(--color-border);
}

.p.dropcap,
.l.dropcap {
  text-indent: 0;
  padding-left: 0;
}

.dropcap::first-letter {
  display: block;
  font-weight: bold;
  padding-top: 10px;
  margin-right: 5px;
  font-size: 3.5em;
  float: left;
  line-height: 1;
}

p.initial4::first-letter {
  display: block;
  font-weight: bold;
  margin-top: -0.8em;
  margin-left: -0.2em;
  margin-right: 5px;
  font-size: 6em;
  float: left;
  line-height: 1;
}

p.initial2::first-letter {
  display: block;
  font-weight: bold;
  font-size: 2.8em;
  float: left;
  line-height: 1;
  padding-top: 0.2em;
  margin-right: 0.2em;
}

span.initial2,
span.initial4 {
  font-variant: small-caps;
  font-weight: bold;
}

.i .dropcap::first-letter {
  margin-right: 10px;
}

p.dropcap {
  margin-top: 1em;
}

span.exquote {
  font-style: normal;
}


/* seg[@type='exquote'] */

.hanging,
p.hanging {
  margin-left: 2em;
  text-indent: -2em
}

.he {
  direction: rtl;
  display: inline-block;
}

.i,
.italic {
  font-style: italic;
}

.i i,
.italic i,
.i em,
.italic em,
.i .title,
.italic .title {
  font-style: normal
}

div.left {
  text-align: left;
}

.larger {
  font-size: larger;
  font-weight: bold;
}

.lmarg1 {
  margin-left: 2em;
}

.lmarg2 {
  margin-left: 3em;
}

.lmarg3 {
  margin-left: 4.5em;
}

.lmarg4 {
  margin-left: 6em;
}

.lmarg25 {
  margin-left: 25%;
}

.lmarg50 {
  margin-left: 50%;
}

.ls,
.letter-spacing {
  letter-spacing: 0.2em;
}

h1.main {
  margin-top: 2em;
}

.margin {
  margin-left: 20%;
  text-indent: 0
}

.noborder {
  border: none;
}

.normal,
div.normal,
.n {
  quotes: '' '';
  color: inherit;
  font-weight: normal;
  font-style: normal;
  text-decoration: none;
  border-bottom: none;
  font-variant: normal;
  text-transform: none;
}

body.nota {
  box-shadow: 10px 0px 50px var(--color-bg-active);
  height: auto;
  width: 5em;
  margin: 3em auto 2em auto;
  padding: 1em;
  background: var(--color-bg);
}

p.lmarg1,
p.lmarg2,
p.lmarg3,
p.lmarg4,
p.lmarg25,
p.lmarg50 {
  text-indent: 0;
}

p.noindent,
p.autofirst {
  text-indent: 0;
}

.dinkus,
div.ornament {
  line-height: 0.95;
  margin: 1em 5em;
  text-align: center;
  hyphens: none;
}

.dinkus,
.ornament.star {
  letter-spacing: 0.6em;
}

.lg div.ornament {
  text-align: left;
}

.overline {
  text-decoration: overline;
}

.page-break-before {
  page-break-before: always;
  margin-top: 6em;
  height: 5em;
  border-top: 1px var(--color-border) solid;
}

.page-break-after {
  page-break-after: always;
}

.page-spacer {
  margin-top: 6em;
  height: 5em;
  border-top: 1px var(--color-border) solid;
}

.questions {
  margin: 1em 0 1em 0;
}

div.question,
p.question {
  font-weight: 300;
  text-align: justify;
  font-style: italic;
  text-align: left;
  font-size: 95%;
  line-height: inherit;
}

div.question i,
p.question i,
div.question em,
p.question em {
  font-style: normal;
}


.l.refrain {
  font-style: italic;
}

p.right {
  margin-bottom: 1em;
  text-align: right;
}

p img {
  margin-right: 0.25em;
}

img.right {
  float: right;
  margin-right: 0;
  margin-left: 0.25em;
}

.sb {
  font-size: 200%;
  margin: calc(1em / 2);
  text-indent: 0;
}

.sc,
.smallcaps,
.small-caps,
.pmaj {
  font-variant: small-caps;
}

blockquote .sc,
.i .sc {
  font-style: normal;
}

.sc.i {
  font-style: italic;
}

.small {
  font-size: 70%;
}

h1.sub {
  font-size: 100%;
  padding-top: 0;
}

.title i {
  font-style: normal
}

.u,
.underline {
  text-decoration: underline;
}

.uc,
.uppercase,
.maj {
  text-transform: uppercase;
}

nav.prevnext {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  display: flex;
}

nav.prevnext div.prev,
nav.prevnext div.next {
  width: 50%;
  padding: 0 1em;
}

nav.prevnext div.prev {
  text-align: left;
}

nav.prevnext div.next {
  text-align: right;
}

a.next>span,
a.prev>span {
  display: table-cell;
  vertical-align: middle;
}

a.prev,
a.next {
  border-bottom: none;
}

.mark a.prev,
.mark a.next {
  color: var(--color-text-alt);
}

.mark a.prev:hover,
.mark a:hover.next {
  color: inherit;
  text-decoration: none;
}

nav.breadcrumb {
  padding: 2px 2px;
}

.breadcrumb a {
  padding: 1px 0.25em;
}

.breadcrumb a:hover {
  background-color: var(--color-hover);
  color: var(--color-text);
}

/* list styles  */

ul.none,
ol.none,
ul.simple,
ol.simple {
  list-style-type: none;
}

.dialogue {
  list-style-type: none;
}

.circle {
  list-style-type: circle
}

.decimal {
  list-style-type: decimal
}

.decimal-leading-zero {
  list-style-type: decimal-leading-zero
}

.lower-alpha {
  list-style-type: lower-alpha
}

.lower-greek {
  list-style-type: lower-greek
}

ol.a,
.lower-latin {
  list-style-type: lower-latin
}

ol.i,
.lower-roman {
  list-style-type: lower-roman
}

.square {
  list-style-type: square;
}

.upper-alpha {
  list-style-type: upper-alpha;
}

ol.A,
.upper-latin {
  list-style-type: upper-latin;
}

ol.I,
.upper-roman {
  list-style-type: upper-roman;
}

.upper-roman>li {
  margin-top: 1em;
  margin-bottom: 1em;
}

footer ol,
footer ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* Tables */

.table-container {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* for smooth scroll on iOS */
}

.table-container table {
  border-collapse: collapse;
  width: max-content;
  /* ensures table is as wide as needed */
  min-width: 100%;
  /* prevents collapsing when table is small */
}

table a {
  border: none;
}

table a:hover {
  border-width: 0;
}

thead {
  background-color: var(--color-bg-active);
}

tfoot {
  border-top: solid 1px var(--color-text);
}

table.data,
table.table,
table.search {
  border: 1px solid;
  border-color: var(--color-border);
  margin-top: 1em;
  margin-bottom: 2em;
  border-collapse: collapse;
}

table.text,
table.table {
  width: 100%;
}

table.data {
  font-size: 85%;
  line-height: 1.1;
}

caption {
  font-size: 110%;
  color: inherit;
  font-weight: bold;
  text-align: center;
  hyphens: none;
  padding: 4px 2px 2px 2px;
}

th {
  padding: 1px 0.5em;
}

td.data p {
  text-align: left;
  text-indent: 0;
}

th.border,
td.border {
  border: var(--color-border) 1px solid;
  padding: 2px 0.5em;
}

td.left,
th.left {
  text-align: left;
}

td.center,
th.center {
  text-align: center;
  hyphens: none;
}

td.right,
th.right {
  text-align: right;
}

td.top,
th.top {
  vertical-align: top;
}

td.middle,
th.middle {
  vertical-align: middle;
}

td.bottom,
th.bottom {
  vertical-align: bottom;
}

table.table td {
  padding: 1px 0.5em;
  border-top: 1px var(--color-border) solid;
  border-left: 1px var(--color-border) solid;
}

table.table pre {
  font-size: 110%;
  white-space: normal;
}

table.table p {
  line-height: 1.1;
}

table.table th,
table.data th {
  vertical-align: middle;
  text-align: right;
  padding: 5px 0.5em 5px 0.5em;
  background-color: var(--color-bg-alt);
  border: none;
  border-right: 2px var(--color-bg) solid;
  border-bottom: 2px var(--color-bg) solid;
}

table.data td {
  padding: 1px 0.25em 1px 0.5em;
  text-align: right;
  border-bottom: 1px solid var(--color-border);
  border-top: 1px solid var(--color-border);
  border-left: 1px solid var(--color-text);
  border-right: 1px solid var(--color-text);
}

table.data tr:hover,
table.data tr:hover th {
  background-color: var(--color-bg-alt);
}

table.data td a {
  padding: 1px 0.5em;
  display: block;
}

table.data td a:hover {
  background-color: var(--color-bg-alt);
}

table.table tr.head td {
  padding-top: 0.5em;
  border-left: none;
  border-right: none;
  font-style: italic;
}

table.table tr.head td.data {
  font-style: normal;
  font-weight: bold;
}

thead td,
table.data thead td {
  background-color: var(--color-bg);
  padding: 5px 0.5em;
  border-bottom: var(--color-bg) solid 1px;
}

table.table tr:hover td,
table.table tr:hover th {
  background: var(--color-bg);
  color: var(--color-text);
}

table.table tr:hover {
  outline: 1px var(--color-accent) solid;
}

table.noborder,
table.noborder td,
table.noborder td {
  border: none;
}

table.graph th {
  font-weight: normal;
  background-color: var(--color-bg-alt);
}

li.mark,
.footnotes div.mark {
  padding-top: 1em;
  border: 1px var(--color-border) solid;
  background-color: var(--color-bg-alt);
  padding: 1px;
}

div.embed {
  padding: 6px;
  border: 1px solid var(--color-border);
}

figcaption.embedjs {
  cursor: pointer;
}

figcaption.embedjs:before {
  float: left;
  margin-left: -2em;
  content: '▶';
}

figcaption.less:before {
  float: left;
  margin-left: -2em;
  content: '◿';
}

/* toc */

.toc {
  max-width: 100%;
  margin: 0;
  padding: calc(0.5em * 1.05) 0;
  background: var(--color-bg);
  font-size: 105%;
  font-family: var(--ui-font-family);
  font-weight: 100;
}

.toc ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toc li {
  margin: 0;
  padding: 0;
}

.toc li {
  border-top: 1px solid var(--color-border);
}

.toc a {
  display: block;
  padding: 1em 1.25em;
  color: inherit;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  border-radius: 0.5em;
  /* Improve tap highlight on iOS */
  -webkit-tap-highlight-color: rgba(34, 34, 34, 0.1);
}

.toc a:hover {
  text-decoration: none;
}

.toc a:active,
.toc a:focus {
  background-color: var(--color-bg-active);
  color: var(--color-link);
  outline: none;
}

.toc ol {
  border-bottom: 1px solid var(--color-border);
}

.toc ol ol {
  margin-left: 1.2em;
  border-left: 1px solid var(--color-border);
  border-bottom: none;
}

@media (max-width: 600px) {
  .toc a {
    padding: 1em 0.7em;
    font-size: 100%;
  }

  .toc ol ol {
    margin-left: 0.9em;
  }
}

/* XML code */
fieldset.comment pre {
  color: #008;
}

div.comment {
  white-space: normal;
}

dd.code {
  margin: 0;
  padding: 0;
  padding-left: 1em;
  border-left: 1px dotted var(--color-border);
}

.pre .text {
  background: var(--color-bg-alt);
  color: var(--color-text-alt);
}

pre.xml span.text,
pre.xml .val,
pre.xml .cdata {
  color: #444;
}

pre.xml .cdata {
  color: red
}

pre.xml .ns {
  color: #000080;
  font-weight: 100;
}

dt {
  font-weight: bold;
}

dl.xml {
  margin: 0;
  padding: 0;
}

dl.xml dt {
  font-weight: normal;
}


/** specific wide screen, not for print or phone */

@media screen {
  section>.note {
    margin: 1em 0 1em 0;
    padding-left: 2em;
  }

  .footnotes .note {
    padding: 0.5em 0.5em 0.5em 2.5em;
    margin: 0;
  }

  .noteback {
    display: inline-block;
    position: absolute;
    text-align: right;
    margin: 0.3em 0 0 -2em;
  }

  aside.marginnote {
    margin-right: -2.5em;
    width: 20em;
  }
}

/* common width (320px, 375px, 414px, 600px, 768px, 1024px, 1280px, 1440px, 1920px, 2560px) */

@media (max-width: 600px) {

  /* for mobiles */
  blockquote,
  dd,
  p.p,
  div.p,
  .argument,
  .availability,
  div.bibl,
  li.bibl,
  p.bibl,
  .dialogue li,
  .justify,
  aside.note,
  div.note,
  div.stage {
    text-align: left;
    text-indent: 0;
  }

  p.p {
    margin: 0.5em 0 1em 0;
  }

}

@media (min-width: 900px) {}

@media (min-width: 1200px) {}

@media (min-width: 1800px) {}

/** wide screens */

@media screen and (min-width: 1024px) {
  aside.marginnote {
    margin-right: -10em;
  }
}

@media print {
  @page {
    margin: 20mm 10mm 20mm 10mm;
    /* @bottom-right break c5 */
  }

  html {
    background-color: transparent;
    margin: 0px;
  }

  body {
    margin: 0px;
    padding: 0px;
  }

  section.act,
  section.chapter,
  section.preface {
    column-count: 2;
    column-gap: 2em;
    column-rule: 1pt var(--color-border) solid;
  }

  section.act,
  section.chapter,
  section.dedication,
  section.footnotes,
  section.preface {
    page-break-before: always;
  }

  .dialogue li {
    line-height: 1.3;
  }

  .speaker,
  .stage {
    text-align: center;
    hyphens: none;
  }

  .stage {
    font-size: 95%;
  }

  blockquote.q,
  blockquote.quote {
    margin-left: 1em;
    margin-right: 0;
  }

  ul,
  ol {
    padding-left: 1em;
    margin-left: 0;
  }

  li {
    padding-left: 0;
    margin-left: 0;
  }

  p,
  div.p,
  .dialogue li,
  h3,
  h4 {
    text-indent: 2em;
    text-indent: 2em;
  }

  figure {
    padding-top: 0;
    padding-bottom: 0;
    border: solid 1pt var(--color-border);
  }

  figcaption {
    padding-top: 0;
    padding-bottom: 0;
  }

  .sp.float {
    margin-bottom: 0;
  }

  .pb {
    position: static;
    background: transparent;
    float: none;
    margin: 0;
  }

  section .pb,
  article .pb {
    float: left;
    line-height: inherit;
    margin-right: 0.5em;
  }
}

/**
 * For mouse media
 */

@media (pointer: fine) {

  a:hover {
    text-decoration: none;
  }

}