@keyframes fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

* {
	box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html, body {
	font-family: STIXTwoText, Times, serif;
	font-size: 20px;
	line-height: 1.25em;
}

body {
	padding: 28px;
}

h1 {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25em;
}

h2 {
	font-size: inherit;
	font-weight: 400;
}

.container {
	width: 60%;
	margin: 0 auto;
}

hr {
	border: 1px solid black;
}

a:link {color: black; text-decoration:underline;}
a:visited {color: black; text-decoration:underline;}
a:hover {color: black; text-decoration:underline;}
a:active {color: black; text-decoration:underline;}

.french,
.paragraph-number,
.reference {
	font-family: Univers W01, Helvetica, Arial, sans;
	font-size: 0.7em;
	line-height: 1.25em;
	margin-top: -1.3333em;
	display: block;
	position: absolute;
}

.french,
.reference {
	width: calc(15% + 15px);
	padding: 0 20px;
	opacity: 0;
	transition: 150ms opacity;
}

.french {
	left: 0;
}

.reference {
	right: 0;
	color: black;
	z-index: 999;
}

.alt-text:first-child .reference {
	padding-top: 0;
}

.alt-text.active .reference {
	padding-top: 0;
}

.alt-text:not(:first-child).show .reference {
	padding-top: 1.7em;
}

.paragraph-number {
	left: 0;
	width: calc(20% + 15px);
	color: silver;
	padding: 0 5px;
	text-align: right;
}

.joined {
	color: silver;
}

.reference {
	text-align: left;
	opacity: 0;
	transition: 150ms opacity;
}

.reference-content {
	opacity: 0;
}

.reference-collapse {
	opacity: 0;
}

.reference-collapse,
.reference-expand {
	cursor: pointer;
}

.block-quote .french,
p .paragraph-number,
.reference {
	padding-top: 1.45em;
}

.translations .alt-text::before {
	content: "";
}

.translations.expand .alt-text::before {
	content: " / ";
	color: silver;
}

.translations.expand .alt-text:first-child::before {
	content: "";
}

.block-quote .translations.expand .alt-text::before {
	content: "\A \A";
	white-space: pre;
}

.block-quote .translations.expand .alt-text:first-child::before {
	content: "";
}

.alt-text, .or {
	color: silver;
	display: none;
	cursor: pointer;
	transition: color 300ms;
}

.translations:hover .alt-text {
	color: silver;
}

.translations .alt-text:hover {
	color: blue;
}

.alt-text.active {
	color: blue;
	display: inline;
}

.show {
	display: inline;
}

.block-quote {
	margin-left: 30px;
	margin-right: 30px;
}

.footnote,
.paragraph-number {
	font-size: 0.7em;
	line-height: 1.2em;
}

sup {
	vertical-align: top; 
	font-size: 0.6em;
	padding-left: 0.1em;
	position: relative;
	top: -0.5em;
	z-index: 0;
}

sup[id^="fn-body-"] a {
    text-decoration: none;
    color: inherit;
}

sup[id^="fn-body-"] a {
	text-decoration: none;
	color: inherit;
}

p[id^="fn-footer-"] a {
	text-decoration: none;
	color: inherit;
}

/*ol {
  margin: 0;
  padding: 0;
}

ol ol {
  margin-left: 2em;
}

li {
  list-style-position: inside;
  padding: 0;
}

li::before {
  content: "";
  width: 14px;
  display: inline-block;
}

li::marker {
	content: counter(list-item)"\a0\a0";
}*/

.fn-number {
	display: inline-block;
	width: 20px;
}

/* test animation */

.show {
	display: inline;
}

.active.show .letter {
	display: inline;
	opacity: 1;
}

.show .letter {
	display: none;
	opacity: 0;
}

.show .letter.show {
	display: inline;
	transition: opacity 200ms;
}

.show .letter.show.fade-in {
	opacity: 1;
}

.button {
	position: fixed;
	z-index: 999;
	display: block;
}

.button.about {
	top: 30px;
	right: 30px;
	cursor: pointer;
}

.about a {
	text-decoration: none;
	color: inherit;
}

.button.archive {
	top: 56px;
	right: 30px;
	cursor: pointer;
}

.button.print {
	bottom: 30px;
	right: 30px;
	cursor: pointer;
}

.button.archive a {
	text-decoration: none;
	color: inherit;
}

.button:hover {
	opacity: 0.5;
}

.popup {
	width: 45%;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #E5E4E2;
	color: black;
	transition: opacity 250ms;
	z-index: 999;
}

.popup-inner {
	padding-top: 0.5rem;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
	padding-bottom: 0.5rem;
	position: relative;
}

.popup-close {
	position: absolute;
	top: 0px;
	right: 10px;
	border-radius: 360px;
	cursor: pointer;
	font-family: sans-serif;
	font-weight: 200;
	pointer-events: all;
}

.popup.introduction {
	opacity: 0;
	animation-name: fade-in;
	animation-duration: 250ms;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	animation-delay: 1000ms;
}

.popup.success {
	opacity: 0;
	pointer-events: none;
}

.print-to-pdf {
	cursor: pointer;
	color: blue;
	pointer-events: all;
}

.arrow {
	position: absolute;
	left: 0;
	width: calc(20% + 15px);
	color: silver;
	padding: 0 5px;
	text-align: right;
	opacity: 0;
}

@media print {
	.popup {
		 visibility: hidden;
	}

	.button {
		visibility: hidden;
 	}

 .reference,
 .french {
	visibility: hidden;
 }

 .container {
	width: 90%;
 }

 .paragraph-number {
	width: calc(5% + 15px);
 }
}