@-webkit-keyframes connected_colors {
  0% {
    background-color: var(--connected-green);
  }
  14% {
    background-color: var(--connected-yellow);
  }
  29% {
    background-color: var(--connected-orange);
  }
  43% {
    background-color: var(--connected-red);
  }
  57% {
    background-color: var(--connected-purple);
  }
  71% {
    background-color: var(--connected-blue);
  }
  86% {
    background-color: var(--relay-blue);
  }
  100% {
    background-color: var(--connected-green);
  }
}
@keyframes connected_colors {
  0% {
    background-color: var(--connected-green);
  }
  14% {
    background-color: var(--connected-yellow);
  }
  29% {
    background-color: var(--connected-orange);
  }
  43% {
    background-color: var(--connected-red);
  }
  57% {
    background-color: var(--connected-purple);
  }
  71% {
    background-color: var(--connected-blue);
  }
  86% {
    background-color: var(--relay-blue);
  }
  100% {
    background-color: var(--connected-green);
  }
}
@-webkit-keyframes rotateInThirds {
  0%, 30% {
    -webkit-transform: translateX(0px) translateY(0px) rotate(0deg);
    transform: translateX(0px) translateY(0px) rotate(0deg);
  }
  33% {
    -webkit-transform: translateX(2px) translateY(2px) rotate(129deg);
    transform: translateX(2px) translateY(2px) rotate(129deg);
  }
  35%, 63% {
    -webkit-transform: translateX(2px) translateY(2px) rotate(120deg);
    transform: translateX(2px) translateY(2px) rotate(120deg);
  }
  66% {
    -webkit-transform: translateX(-2px) translateY(1px) rotate(249deg);
    transform: translateX(-2px) translateY(1px) rotate(249deg);
  }
  68%, 96% {
    -webkit-transform: translateX(-2px) translateY(1px) rotate(240deg);
    transform: translateX(-2px) translateY(1px) rotate(240deg);
  }
  98% {
    -webkit-transform: translateX(0px) translateY(0px) rotate(369deg);
    transform: translateX(0px) translateY(0px) rotate(369deg);
  }
  100% {
    -webkit-transform: translateX(0px) translateY(0px) rotate(360deg);
    transform: translateX(0px) translateY(0px) rotate(360deg);
  }
}
@keyframes rotateInThirds {
  0%, 30% {
    -webkit-transform: translateX(0px) translateY(0px) rotate(0deg);
    transform: translateX(0px) translateY(0px) rotate(0deg);
  }
  33% {
    -webkit-transform: translateX(2px) translateY(2px) rotate(129deg);
    transform: translateX(2px) translateY(2px) rotate(129deg);
  }
  35%, 63% {
    -webkit-transform: translateX(2px) translateY(2px) rotate(120deg);
    transform: translateX(2px) translateY(2px) rotate(120deg);
  }
  66% {
    -webkit-transform: translateX(-2px) translateY(1px) rotate(249deg);
    transform: translateX(-2px) translateY(1px) rotate(249deg);
  }
  68%, 96% {
    -webkit-transform: translateX(-2px) translateY(1px) rotate(240deg);
    transform: translateX(-2px) translateY(1px) rotate(240deg);
  }
  98% {
    -webkit-transform: translateX(0px) translateY(0px) rotate(369deg);
    transform: translateX(0px) translateY(0px) rotate(369deg);
  }
  100% {
    -webkit-transform: translateX(0px) translateY(0px) rotate(360deg);
    transform: translateX(0px) translateY(0px) rotate(360deg);
  }
}
@-webkit-keyframes rotateInHalfs {
  0%, 45% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(2px) rotate(190deg);
    transform: translateY(2px) rotate(190deg);
  }
  55%, 90% {
    -webkit-transform: translateY(2px) rotate(180deg);
    transform: translateY(2px) rotate(180deg);
  }
  95% {
    -webkit-transform: translateY(0px) rotate(370deg);
    transform: translateY(0px) rotate(370deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(360deg);
    transform: translateY(0px) rotate(360deg);
  }
}
@keyframes rotateInHalfs {
  0%, 45% {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(2px) rotate(190deg);
    transform: translateY(2px) rotate(190deg);
  }
  55%, 90% {
    -webkit-transform: translateY(2px) rotate(180deg);
    transform: translateY(2px) rotate(180deg);
  }
  95% {
    -webkit-transform: translateY(0px) rotate(370deg);
    transform: translateY(0px) rotate(370deg);
  }
  100% {
    -webkit-transform: translateY(0px) rotate(360deg);
    transform: translateY(0px) rotate(360deg);
  }
}
@-webkit-keyframes buzz_out {
  10% {
    -webkit-transform: translateX(1.5px) rotate(2deg);
    transform: translateX(1.5px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-1.5px) rotate(-2deg);
    transform: translateX(-1.5px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(1.5px) rotate(2deg);
    transform: translateX(1.5px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-1.5px) rotate(-2deg);
    transform: translateX(-1.5px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(1px) rotate(1deg);
    transform: translateX(1px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-1px) rotate(-1deg);
    transform: translateX(-1px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(1px) rotate(1deg);
    transform: translateX(1px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-1px) rotate(-1deg);
    transform: translateX(-1px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(0.5px) rotate(0);
    transform: translateX(0.5px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-0.5px) rotate(0);
    transform: translateX(-0.5px) rotate(0);
  }
}
@keyframes buzz_out {
  10% {
    -webkit-transform: translateX(1.5px) rotate(2deg);
    transform: translateX(1.5px) rotate(2deg);
  }
  20% {
    -webkit-transform: translateX(-1.5px) rotate(-2deg);
    transform: translateX(-1.5px) rotate(-2deg);
  }
  30% {
    -webkit-transform: translateX(1.5px) rotate(2deg);
    transform: translateX(1.5px) rotate(2deg);
  }
  40% {
    -webkit-transform: translateX(-1.5px) rotate(-2deg);
    transform: translateX(-1.5px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(1px) rotate(1deg);
    transform: translateX(1px) rotate(1deg);
  }
  60% {
    -webkit-transform: translateX(-1px) rotate(-1deg);
    transform: translateX(-1px) rotate(-1deg);
  }
  70% {
    -webkit-transform: translateX(1px) rotate(1deg);
    transform: translateX(1px) rotate(1deg);
  }
  80% {
    -webkit-transform: translateX(-1px) rotate(-1deg);
    transform: translateX(-1px) rotate(-1deg);
  }
  90% {
    -webkit-transform: translateX(0.5px) rotate(0);
    transform: translateX(0.5px) rotate(0);
  }
  100% {
    -webkit-transform: translateX(-0.5px) rotate(0);
    transform: translateX(-0.5px) rotate(0);
  }
}
@-webkit-keyframes rotateCoin {
  to {
    -webkit-transform: rotateY(360deg);
    transform: rotateY(360deg);
  }
}
@keyframes rotateCoin {
  to {
    -webkit-transform: rotateY(360deg);
    transform: rotateY(360deg);
  }
}
@-webkit-keyframes pulsePurple {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(var(--connected-purple-rgb), 0.7);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(var(--connected-purple-rgb), 0);
  }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(var(--connected-purple-rgb), 0);
  }
}
@keyframes pulsePurple {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(var(--connected-purple-rgb), 0.7);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    box-shadow: 0 0 0 10px rgba(var(--connected-purple-rgb), 0);
  }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(var(--connected-purple-rgb), 0);
  }
}
@-webkit-keyframes slider_thumb_hint {
  0%, 100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
  }
  25% {
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  75% {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}
@keyframes slider_thumb_hint {
  0%, 100% {
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
  }
  25% {
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
  }
  75% {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
  }
}
@-webkit-keyframes slider_label_hint {
  0%, 100% {
    opacity: 0;
  }
  20%, 80% {
    opacity: 1;
  }
}
@keyframes slider_label_hint {
  0%, 100% {
    opacity: 0;
  }
  20%, 80% {
    opacity: 1;
  }
}
@-webkit-keyframes pop {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
@keyframes pop {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}
@-webkit-keyframes pop2 {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@keyframes pop2 {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@-webkit-keyframes ring_gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes ring_gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-webkit-keyframes rule_highlight {
  0%, 5% {
    color: var(--connected-blue);
  }
  10%, 12% {
    color: var(--document-text-color);
  }
  15%, 17% {
    color: var(--connected-blue);
  }
  20%, 22% {
    color: var(--document-text-color);
  }
  25%, 27% {
    color: var(--connected-blue);
  }
  30%, 32% {
    color: var(--document-text-color);
  }
  35%, 90% {
    color: var(--connected-blue);
  }
  100% {
    color: var(--document-text-color);
  }
}
@keyframes rule_highlight {
  0%, 5% {
    color: var(--connected-blue);
  }
  10%, 12% {
    color: var(--document-text-color);
  }
  15%, 17% {
    color: var(--connected-blue);
  }
  20%, 22% {
    color: var(--document-text-color);
  }
  25%, 27% {
    color: var(--connected-blue);
  }
  30%, 32% {
    color: var(--document-text-color);
  }
  35%, 90% {
    color: var(--connected-blue);
  }
  100% {
    color: var(--document-text-color);
  }
}
@-webkit-keyframes pick_highlight {
  0%, 5% {
    background: var(--element-active-color);
  }
  10%, 12% {
    background: var(--element-neutral-color);
  }
  15%, 17% {
    background: var(--element-active-color);
  }
  20%, 22% {
    background: var(--element-neutral-color);
  }
  25%, 27% {
    background: var(--element-active-color);
  }
  30%, 32% {
    background: var(--element-neutral-color);
  }
  35%, 90% {
    background: var(--element-active-color);
  }
  100% {
    background: var(--element-active-color);
  }
}
@keyframes pick_highlight {
  0%, 5% {
    background: var(--element-active-color);
  }
  10%, 12% {
    background: var(--element-neutral-color);
  }
  15%, 17% {
    background: var(--element-active-color);
  }
  20%, 22% {
    background: var(--element-neutral-color);
  }
  25%, 27% {
    background: var(--element-active-color);
  }
  30%, 32% {
    background: var(--element-neutral-color);
  }
  35%, 90% {
    background: var(--element-active-color);
  }
  100% {
    background: var(--element-active-color);
  }
}
:root {
  --safe-top: env(safe-area-inset-top);
  --connected-green-rgb: 68, 153, 52;
  --connected-yellow-rgb: 252, 194, 0;
  --connected-orange-rgb: 239, 123, 0;
  --connected-red-rgb: 229, 31, 46;
  --connected-purple-rgb: 157, 52, 137;
  --connected-blue-rgb: 13, 135, 202;
  --connected-grey-rgb: 107, 138, 164;
  --relay-blue-rgb: 51, 63, 72;
  --connected-green: rgb(var(--connected-green-rgb));
  --connected-yellow: rgb(var(--connected-yellow-rgb));
  --connected-orange: rgb(var(--connected-orange-rgb));
  --connected-red: rgb(var(--connected-red-rgb));
  --connected-purple: rgb(var(--connected-purple-rgb));
  --connected-blue: rgb(var(--connected-blue-rgb));
  --connected-grey: rgb(var(--connected-grey-rgb));
  --relay-blue: rgb(var(--relay-blue-rgb));
  --eu-blue: #001489;
  --eu-yellow: #ffdd00;
  --text-primary-color: #31373d;
  --space-side-padding: 16px;
  --space-between-sm: 8px;
  --space-between-md: 16px;
  --space-between-lg: 32px;
  --space-between-xl: 44px;
  font-size: 14px;
  --background-color-rgb: 255, 255, 255;
  --background-color: rgb(var(--background-color-rgb));
  --text-secondary-color: #7b8a98;
  --link-color: #106dc6;
  --link-hover-color: #23527c;
  --element-neutral-color: rgba(0, 0, 0, 0);
  --element-hover-color: rgba(0, 0, 0, 0.05);
  --element-active-color: rgba(13, 135, 202, 0.1);
  --element-corner-radius: 8px;
  --element-padding: 8px;
  --element-padding-neg: -8px;
  --corner-radius: 4px;
  --graphic-border: 1px solid rgba(0, 0, 0, 0.1);
  --graphic-size: 60px;
  --document-background-color: var(--connected-blue);
  --document-text-color: #543404;
  --document-link-color: rgba(239, 123, 0, 0.7);
  --rounded-text: ui-rounded, "SF Pro Rounded", ui-sans-serif, -apple-system, BlinkMacSystemFont, system-ui,
  	"Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

@media (prefers-color-scheme: dark) {
  :root {
    --background-color-rgb: 0, 0, 0;
    --text-primary-color: #9baec1;
    --text-secondary-color: #637c96;
    --link-color: var(--connected-blue);
    --link-hover-color: #33adf1;
    --graphic-border: 1px solid rgba(255, 255, 255, 0.25);
    --element-neutral-color: rgba(255, 255, 255, 0);
    --element-hover-color: rgba(255, 255, 255, 0.1);
    --element-active-color: rgba(13, 135, 202, 0.3);
    --document-background-color: var(--relay-blue);
  }
}
@media screen and (min-width: 576px) {
  :root {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  :root {
    --graphic-size: 72px;
    --space-side-padding: 32px;
    --space-between-xl: 64px;
    font-size: 18px;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --graphic-size: 80px;
  }
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

input.clean,
button.clean,
select.clean {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  outline: inherit;
  -webkit-appearance: none;
}

input[type=checkbox].clean,
button.clean,
select.clean {
  cursor: pointer;
}

input[type=number],
input[type=text],
input[type=search] {
  font-size: max(16px, 1em);
}
input[type=number]::placeholder,
input[type=text]::placeholder,
input[type=search]::placeholder {
  color: var(--text-secondary-color);
  opacity: 1;
  font-weight: normal;
}
input[type=number]:-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder {
  color: var(--text-secondary-color);
  font-weight: normal;
}
input[type=number]::-ms-input-placeholder,
input[type=text]::-ms-input-placeholder,
input[type=search]::-ms-input-placeholder {
  color: var(--text-secondary-color);
  font-weight: normal;
}

input[type=number] {
  -moz-appearance: textfield;
}
input[type=number].clean::-webkit-inner-spin-button, input[type=number].clean::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

html,
body {
  overflow-x: hidden;
}

body {
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-feature-settings: "ss01" on, "ss02" on;
}

.container {
  width: 100vw;
  overflow-x: hidden;
  min-height: 100vh;
}
.container:before, .container:after {
  content: "";
  position: fixed;
  width: 100%;
  left: 0;
  height: 1000px;
  -webkit-transform: translate3d(0, 0, 0);
}
.container:before {
  top: -1000px;
}
.container:after {
  bottom: -1000px;
}

p {
  margin: 0;
}

section > p + p,
.section_article > p + p {
  margin-top: var(--space-between-md);
}

.top_button,
button.top_button {
  display: block;
  height: 40px;
  border-radius: 20px;
  color: var(--link-color);
  position: absolute;
  top: 20px;
  top: max(20px, env(safe-area-inset-top));
  z-index: 8;
  transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
}
@media (hover: hover) {
  .top_button:hover,
  button.top_button:hover {
    transform: scale(1.2);
  }
}
.top_button:focus, .top_button:active,
button.top_button:focus,
button.top_button:active {
  transform: scale(1.1);
}

.back_button {
  left: 20px;
}

#share_button {
  display: none;
  right: 20px;
}
#music_button + #share_button, #search_button + #share_button {
  right: 76px;
}

button.copy_direct_url {
  display: inline-flex;
  align-content: center;
  justify-content: center;
  padding: 0.5em;
  margin: -0.25em;
  border-radius: 50%;
  background: none;
  transition: 300ms opacity ease, 300ms background ease, 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
}
button.copy_direct_url > svg {
  height: 1em;
  width: 1em;
}
button.copy_direct_url:hover {
  background: var(--share-link-background);
  color: var(--share-link-color);
  transform: scale(1.05);
}
button.copy_direct_url:active {
  transform: scale(0.95);
}

.banner {
  text-align: center;
  color: white;
  padding: 8px 16px;
  background-color: var(--banner-color);
}
.banner p {
  max-width: 650px;
  margin-right: auto;
  margin-left: auto;
}
.banner b {
  font-size: 1.2rem;
}
.banner br + span {
  opacity: 0.8;
}
.banner.euies {
  background-color: var(--eu-blue);
  color: var(--eu-yellow);
}

.contrast {
  text-shadow: 0px 0px 4px rgba(82, 53, 0, 0.8);
  font-weight: 600;
}

.nowrap {
  white-space: nowrap;
}

.img_emoji {
  height: 1em;
  width: auto;
  display: inline;
}

span.need_space--xs,
span.need_space--sm {
  display: none;
}

@media screen and (min-width: 375px) {
  span.need_space--xs {
    display: inline;
  }
}
@media screen and (min-width: 576px) {
  span.need_space--sm {
    display: inline;
  }
  span.less_space--sm {
    display: none;
  }
}
main {
  max-width: 750px;
  margin: 0 auto;
  background-image: url(/images/parchment-border/light-top.png), url(/images/parchment-border/light-left.png), url(/images/parchment-border/light-right.png), url(/images/parchment-border/light-bottom.png), linear-gradient(170deg, #ffffff 0.21%, #f1f1f1 98.37%), url(/images/parchment-background.jpg);
  background-repeat: repeat-x, repeat-y, repeat-y, repeat-x, no-repeat, no-repeat;
  background-size: auto 32px, 32px auto, 32px auto, auto 32px, cover, cover;
  background-position: left top -65px, left -65px top, right -65px top, right bottom -65px, center, center;
  padding: 24px 24px 48px;
  color: var(--text-primary-color);
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35);
  transition-property: padding, color, background-position, box-shadow;
  transition-duration: 100ms, 500ms, 600ms, 600ms;
  transition-delay: 0, 0, 0, 600ms;
  transition-timing-function: ease-in-out;
}
main.charter {
  background-image: url(/images/parchment-border/charter-top.png), url(/images/parchment-border/charter-left.png), url(/images/parchment-border/charter-right.png), url(/images/parchment-border/charter-bottom.png), linear-gradient(170deg, #ffffff 0.21%, #f1f1f1 98.37%), url(/images/parchment-background.jpg);
}
@media (prefers-color-scheme: dark) {
  main, main.charter {
    background-image: url(/images/parchment-border/dark-top.png), url(/images/parchment-border/dark-left.png), url(/images/parchment-border/dark-right.png), url(/images/parchment-border/dark-bottom.png), linear-gradient(170deg, #0e0e0e 0.21%, #1e1e1e 98.37%), url(/images/parchment-background.jpg);
  }
}
@media screen and (min-width: 576px) {
  main {
    padding: 48px 48px 64px;
  }
}
@media screen and (min-width: 768px) {
  main {
    padding: 64px;
  }
}
main h1 {
  text-align: center;
  font-size: 3.7rem;
  line-height: 96%;
  margin: 0;
}
main h2 {
  font-size: 1.7rem;
  margin: var(--space-between-lg) 0 4px;
}
main em {
  opacity: 0.6;
}
@media screen and (min-width: 576px) {
  main {
    background-size: auto 64px, 64px auto, 64px auto, auto 64px, cover, cover;
  }
}
main.parchment {
  transition-duration: 100ms, 500ms, 600ms, 300ms;
  transition-delay: 0, 0, 300ms, 0ms;
  color: var(--document-text-color);
  box-shadow: none;
  background-image: url(/images/parchment-border/light-top.png), url(/images/parchment-border/light-left.png), url(/images/parchment-border/light-right.png), url(/images/parchment-border/light-bottom.png), radial-gradient(107.69% 64.1% at 50.13% 51.34%, rgba(255, 245, 225, 0.7) 0%, rgba(255, 218, 184, 0.7) 100%), url(/images/parchment-background.jpg);
  background-position: left top, left top, right top, right bottom, center, center;
  font-family: -apple-system-ui-serif, ui-serif, Georgia, serif;
}
main.parchment.charter {
  background-image: url(/images/parchment-border/charter-top.png), url(/images/parchment-border/charter-left.png), url(/images/parchment-border/charter-right.png), url(/images/parchment-border/charter-bottom.png), radial-gradient(107.69% 64.1% at 50.13% 51.34%, rgba(255, 245, 225, 0.7) 0%, rgba(255, 218, 184, 0.7) 100%), url(/images/parchment-background.jpg);
}
@media (prefers-color-scheme: dark) {
  main.parchment, main.parchment.charter {
    background-image: url(/images/parchment-border/dark-top.png), url(/images/parchment-border/dark-left.png), url(/images/parchment-border/dark-right.png), url(/images/parchment-border/dark-bottom.png), radial-gradient(107.69% 64.1% at 50.13% 51.34%, rgba(255, 227, 170, 0.7) 0%, rgba(255, 155, 63, 0.7) 100%), url(/images/parchment-background.jpg);
  }
}
main.parchment h1,
main.parchment h2 {
  font-family: "BlackChancery", cursive;
}
main .document_footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0 16px;
}
@media screen and (min-width: 576px) {
  main .document_footer {
    padding: 0;
  }
}
main .document_footer .signatures {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  margin-top: 32px;
  padding-right: 16px;
}
@media screen and (min-width: 576px) {
  main .document_footer .signatures {
    padding-left: 16px;
  }
}
main .document_footer .signatures .signature {
  width: 128px;
  margin-right: 32px;
  height: 80px;
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
}
@media screen and (min-width: 576px) {
  main .document_footer .signatures .signature {
    margin-right: 64px;
  }
}
main .document_footer .signatures .signature span {
  border-top: 1px dotted var(--text-primary-color);
  display: block;
  width: 100%;
  font-size: 0.75rem;
  opacity: 0.6;
  padding-top: 2px;
}
main .document_footer .signatures .signature img {
  filter: saturate(0%);
  flex-grow: 0;
  flex-shrink: 0;
}
@media (prefers-color-scheme: dark) {
  main .document_footer .signatures .signature img {
    filter: brightness(90);
    opacity: 0.7;
  }
}
main .document_footer img.seal {
  width: 24vw;
  max-width: 120px;
  align-self: flex-end;
  margin-bottom: -10px;
}
@media screen and (min-width: 576px) {
  main .document_footer img.seal {
    max-width: 150px;
  }
}
main .document_footer #ticci_seal {
  transform: rotate(9deg);
  filter: drop-shadow(1px 1px 0px rgba(0, 0, 0, 0.6));
}
main .document_footer #wax_seal {
  display: none;
  transform: rotate(-6deg);
  filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.4));
}
main.parchment .document_footer .signatures .signature span {
  border-color: var(--document-text-color);
}
main.parchment .document_footer .signatures .signature img {
  filter: unset;
  opacity: unset;
}
main.parchment #ticci_seal {
  display: none;
}
main.parchment #wax_seal {
  display: block;
}

.document_date {
  position: relative;
  text-align: center;
  margin: 5px 0 22px;
}

ol {
  margin: 0;
  padding-left: 2em;
}

#document_title,
ol.rules,
div.rule {
  margin-top: 0;
  margin-bottom: var(--space-between-md);
}

div.rule p del {
  text-align: center;
  text-decoration: none;
  display: block;
  opacity: 0.6;
}

main a {
  padding: 2px 4px;
  margin: -2px -4px;
  border-radius: 4px;
  transition: background 100ms;
  background: rgba(215, 164, 87, 0);
}

main:not(.parchment) a {
  text-decoration-color: var(--connected-blue);
}
main:not(.parchment) a:link, main:not(.parchment) a:visited {
  text-decoration-color: var(--connected-blue);
  color: inherit;
}
@media (hover: hover) {
  main:not(.parchment) a:hover, main:not(.parchment) a:focus {
    text-decoration-color: var(--link-hover-color);
    color: var(--link-hover-color);
    background: var(--element-hover-color);
  }
}
main:not(.parchment) a:active {
  text-decoration-color: var(--link-hover-color);
  color: var(--link-hover-color);
  background: var(--element-active-color);
}

main.parchment a {
  text-decoration-color: var(--document-link-color);
}
main.parchment a:link, main.parchment a:visited {
  text-decoration-color: var(--document-link-color);
  color: inherit;
}
@media (hover: hover) {
  main.parchment a:hover, main.parchment a:focus {
    text-decoration-color: var(--document-text-color);
    color: var(--document-text-color);
    background: var(--document-link-color);
  }
}
main.parchment a:active {
  text-decoration-color: black;
  color: black;
}

#slider_label_container {
  position: relative;
  display: block;
}
#slider_label_container span {
  display: block;
  text-align: center;
  margin-bottom: 16px;
}
#slider_label_container span#slider_hint {
  position: absolute;
  width: 100%;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  opacity: 0;
  -webkit-animation-name: slider_label_hint;
  animation-name: slider_label_hint;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
  -webkit-animation-duration: 4s;
  animation-duration: 4s;
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

aside.slider,
#slider_hint {
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  aside.slider,
  #slider_hint {
    background: black;
  }
}

aside.slider {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
aside.slider #rule_slider {
  padding: 8px 24px 24px;
  padding-bottom: max(24px, 16px + env(safe-area-inset-bottom));
  max-width: 650px;
  margin: 0 auto;
  color: var(--text-primary-color);
}
@media screen and (min-width: 768px) {
  aside.slider #rule_slider {
    padding: 16px 32px 24px;
    padding-bottom: max(24px, 16px + env(safe-area-inset-bottom));
  }
}
aside.slider #rule_slider input[type=range] {
  -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
  width: 100%; /* Specific width is required for Firefox. */
  background: transparent; /* Otherwise white in Chrome */
  outline: none;
}
aside.slider #rule_slider input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  cursor: ew-resize;
  margin-top: -20px;
  height: 44px;
  width: 52.8px;
  border: none;
  background: none;
  background-image: url("/images/connected-globe-on-light.png");
  background-size: 90% auto;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0px 1px 2px rgba(51, 63, 72, 0.6));
  box-shadow: none;
  -webkit-animation-name: slider_thumb_hint;
  animation-name: slider_thumb_hint;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
@media (hover: hover) {
  aside.slider #rule_slider input[type=range]::-webkit-slider-thumb {
    transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
  }
  aside.slider #rule_slider input[type=range]::-webkit-slider-thumb:hover {
    transform: scale(1.1);
  }
}
aside.slider #rule_slider input[type=range]::-webkit-slider-thumb:active {
  transform: scale(1.2);
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-webkit-slider-thumb {
    filter: drop-shadow(0px 0px 2px rgb(0, 0, 0));
    background-image: url("/images/connected-globe-on-dark.png");
  }
}
aside.slider #rule_slider input[type=range]::-moz-range-thumb {
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  cursor: ew-resize;
  margin-top: -20px;
  height: 44px;
  width: 52.8px;
  border: none;
  background: none;
  background-image: url("/images/connected-globe-on-light.png");
  background-size: 90% auto;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0px 1px 2px rgba(51, 63, 72, 0.6));
  box-shadow: none;
  -webkit-animation-name: slider_thumb_hint;
  animation-name: slider_thumb_hint;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
@media (hover: hover) {
  aside.slider #rule_slider input[type=range]::-moz-range-thumb {
    transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
  }
  aside.slider #rule_slider input[type=range]::-moz-range-thumb:hover {
    transform: scale(1.1);
  }
}
aside.slider #rule_slider input[type=range]::-moz-range-thumb:active {
  transform: scale(1.2);
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-moz-range-thumb {
    filter: drop-shadow(0px 0px 2px rgb(0, 0, 0));
    background-image: url("/images/connected-globe-on-dark.png");
  }
}
aside.slider #rule_slider input[type=range]::-ms-thumb {
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  cursor: ew-resize;
  margin-top: -20px;
  height: 44px;
  width: 52.8px;
  border: none;
  background: none;
  background-image: url("/images/connected-globe-on-light.png");
  background-size: 90% auto;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0px 1px 2px rgba(51, 63, 72, 0.6));
  box-shadow: none;
  -webkit-animation-name: slider_thumb_hint;
  animation-name: slider_thumb_hint;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}
@media (hover: hover) {
  aside.slider #rule_slider input[type=range]::-ms-thumb {
    transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
  }
  aside.slider #rule_slider input[type=range]::-ms-thumb:hover {
    transform: scale(1.1);
  }
}
aside.slider #rule_slider input[type=range]::-ms-thumb:active {
  transform: scale(1.2);
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-ms-thumb {
    filter: drop-shadow(0px 0px 2px rgb(0, 0, 0));
    background-image: url("/images/connected-globe-on-dark.png");
  }
}
aside.slider #rule_slider input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 4px;
  cursor: pointer;
  border-color: transparent;
  color: transparent;
  background: #d6d6d6;
  box-shadow: inset -1px 1px 2px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  aside.slider #rule_slider input[type=range]::-webkit-slider-runnable-track {
    height: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-webkit-slider-runnable-track {
    background: #515151;
  }
}
aside.slider #rule_slider input[type=range]::-moz-range-track {
  width: 100%;
  height: 4px;
  cursor: pointer;
  border-color: transparent;
  color: transparent;
  background: #d6d6d6;
  box-shadow: inset -1px 1px 2px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  aside.slider #rule_slider input[type=range]::-moz-range-track {
    height: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-moz-range-track {
    background: #515151;
  }
}
aside.slider #rule_slider input[type=range]::-ms-track {
  width: 100%;
  height: 4px;
  cursor: pointer;
  border-color: transparent;
  color: transparent;
  background: #d6d6d6;
  box-shadow: inset -1px 1px 2px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  aside.slider #rule_slider input[type=range]::-ms-track {
    height: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-ms-track {
    background: #515151;
  }
}
aside.slider #rule_slider input[type=range]::-ms-fill-lower {
  width: 100%;
  height: 4px;
  cursor: pointer;
  border-color: transparent;
  color: transparent;
  background: #d6d6d6;
  box-shadow: inset -1px 1px 2px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  aside.slider #rule_slider input[type=range]::-ms-fill-lower {
    height: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-ms-fill-lower {
    background: #515151;
  }
}
aside.slider #rule_slider input[type=range]::-ms-fill-upper {
  width: 100%;
  height: 4px;
  cursor: pointer;
  border-color: transparent;
  color: transparent;
  background: #d6d6d6;
  box-shadow: inset -1px 1px 2px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  aside.slider #rule_slider input[type=range]::-ms-fill-upper {
    height: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  aside.slider #rule_slider input[type=range]::-ms-fill-upper {
    background: #515151;
  }
}
aside.slider #rule_slider input[type=range]:focus {
  outline: none;
}
@media (prefers-color-scheme: dark) {
  aside.slider {
    box-shadow: none;
    border-top: 1px solid var(--text-primary-color);
  }
}

a:link, a:visited {
  color: var(--link-color);
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
@media (hover: hover) {
  a:hover {
    color: var(--link-hover-color);
  }
}
a:focus, a:active {
  color: var(--link-hover-color);
}

button.js_link {
  color: var(--link-color);
}
@media (hover: hover) {
  button.js_link:hover {
    color: var(--link-hover-color);
  }
}
button.js_link:focus, button.js_link:active {
  color: var(--link-hover-color);
}

.bill_footer a,
footer button,
.banner a,
footer a:not(#footer_corner),
nav a,
nav button.js_link {
  font-weight: 500;
}
.bill_footer a.js_link,
footer button.js_link,
.banner a.js_link,
footer a:not(#footer_corner).js_link,
nav a.js_link,
nav button.js_link.js_link {
  color: white;
  cursor: pointer;
  opacity: 0.8;
  text-decoration: underline;
  text-underline-offset: 0.14em;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.bill_footer a:link, .bill_footer a:visited,
footer button:link,
footer button:visited,
.banner a:link,
.banner a:visited,
footer a:not(#footer_corner):link,
footer a:not(#footer_corner):visited,
nav a:link,
nav a:visited,
nav button.js_link:link,
nav button.js_link:visited {
  color: white;
  opacity: 0.8;
}
@media (hover: hover) {
  .bill_footer a:hover,
  footer button:hover,
  .banner a:hover,
  footer a:not(#footer_corner):hover,
  nav a:hover,
  nav button.js_link:hover {
    opacity: 1;
  }
}
.bill_footer a:focus, .bill_footer a:active,
footer button:focus,
footer button:active,
.banner a:focus,
.banner a:active,
footer a:not(#footer_corner):focus,
footer a:not(#footer_corner):active,
nav a:focus,
nav a:active,
nav button.js_link:focus,
nav button.js_link:active {
  opacity: 1;
}

:root {
  --search-height: 48px;
}
@media screen and (min-width: 768px) {
  :root {
    --search-height: 56px;
  }
}

#custom_share_sheet,
#fixed_search {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  bottom: calc(-1 * env(safe-area-inset-top));
  padding: 40px var(--space-side-padding) var(--space-side-padding) var(--space-side-padding);
  pointer-events: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition-property: background, backdrop-filter, -webkit-backdrop-filter;
  transition-duration: 300ms;
  transition-timing-function: ease;
  background: rgba(0, 0, 0, 0);
}
#custom_share_sheet form,
#fixed_search form {
  transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
  transform: translateY(-160px);
}
#custom_share_sheet.open,
#fixed_search.open {
  pointer-events: unset;
  -webkit-user-select: initial;
  -ms-user-select: initial;
  user-select: initial;
  background: rgba(0, 0, 0, 0.7);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
@media (prefers-color-scheme: dark) {
  #custom_share_sheet.open,
  #fixed_search.open {
    background: rgba(106, 106, 106, 0.3);
  }
}
#custom_share_sheet.open form,
#fixed_search.open form {
  transform: translateY(200px);
  transform: translateY(calc(200px + env(safe-area-inset-top)));
}
@media screen and (min-width: 768px) {
  #custom_share_sheet.open form,
  #fixed_search.open form {
    transform: translateY(0px);
  }
}
@media screen and (min-width: 768px) and (min-height: 500px) {
  #custom_share_sheet.open form,
  #fixed_search.open form {
    transform: translateY(110px);
  }
}

.input_button_combo {
  width: 100%;
  position: relative;
}
.input_button_combo input[type=text],
.input_button_combo input[type=search] {
  width: 100%;
  box-shadow: 0px 1px 6px rgba(51, 63, 72, 0.5);
  background: var(--background-color);
  border-radius: calc(var(--search-height) / 2);
  height: var(--search-height);
  padding-right: var(--search-height);
  padding-left: 16px;
}
@media (prefers-color-scheme: dark) {
  .input_button_combo input[type=text],
  .input_button_combo input[type=search] {
    border: 1px solid var(--connected-blue);
  }
}
@media screen and (min-width: 768px) {
  .input_button_combo input[type=text],
  .input_button_combo input[type=search] {
    padding-left: 20px;
  }
}
.input_button_combo button {
  position: absolute;
  right: 4px;
  top: 4px;
}
@media screen and (min-width: 768px) {
  .input_button_combo button {
    right: 8px;
    top: 8px;
  }
}

#share_button,
#search_button {
  color: var(--link-color);
  z-index: 21;
}

#search_button {
  right: 20px;
}
#search_button svg {
  transition: 300ms opacity ease;
}
#search_button svg + svg {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#search_button.open {
  transform: rotate(180deg) scale(1);
  position: fixed;
}
@media (hover: hover) {
  #search_button.open:hover {
    transform: rotate(180deg) scale(1.2);
  }
}
#search_button.open:focus, #search_button.open:active {
  transform: rotate(180deg) scale(1.1);
}
#search_button.open svg {
  opacity: 0;
}
#search_button.open svg + svg {
  opacity: 1;
}

#share_button svg > g {
  -webkit-perspective: 100px;
  perspective: 100px;
}
#share_button svg > g > path {
  transform-origin: 0px;
  transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
}
#share_button.open svg > g > path:first-of-type {
  transform: translateY(-19px) rotateX(180deg);
}
#share_button.open svg > g > path:last-of-type {
  transform: translateY(4px);
}

#share_input {
  transition: 500ms border ease-in-out;
}

#custom_share_sheet {
  color: var(--text-primary-color);
}
#custom_share_sheet #share_field_combo button svg {
  transition: 300ms opacity ease;
}
#custom_share_sheet #share_field_combo button svg + svg {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#custom_share_sheet p {
  text-align: center;
  margin-top: 8px;
}
#custom_share_sheet p span {
  border: 2px solid var(--connected-green);
  background: var(--background-color);
  padding: 4px 16px;
  border-radius: 40px;
  opacity: 0;
  transition: 500ms opacity ease-in-out;
}

#custom_share_sheet.success p span {
  opacity: 1;
}
#custom_share_sheet.success #share_field_combo button {
  color: var(--connected-green);
}
#custom_share_sheet.success #share_field_combo button svg {
  opacity: 0;
}
#custom_share_sheet.success #share_field_combo button svg + svg {
  opacity: 1;
}
#custom_share_sheet.success #share_input {
  border-color: var(--connected-green);
}

button.top_button,
#share_button,
#close_button {
  color: var(--document-text-color);
}

#music_button {
  right: 20px;
}
#music_button svg.pause {
  display: none;
}
#music_button.is-playing {
  position: fixed;
}
#music_button.is-playing svg.play {
  display: none;
}
#music_button.is-playing svg.pause {
  display: block;
}

#close_button {
  position: fixed;
  bottom: 52px;
  bottom: max(52px, 44px + env(safe-area-inset-bottom));
  right: 0px;
  z-index: 13;
  top: unset;
  transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54), 300ms box-shadow ease-in-out, 300ms bottom ease-in-out, 300ms right ease-in-out;
  transform: scale(0.7) rotate(0deg);
}
#close_button:not(.show) {
  box-shadow: none;
}
#close_button:not(.show) svg path {
  transition: 300ms fill ease-in-out;
}
#close_button:not(.show) svg path:last-of-type {
  fill: var(--link-color);
}
#close_button:not(.show) svg path:first-of-type {
  fill: rgba(255, 255, 255, 0);
}
#close_button.show {
  box-shadow: 0px -1px 4px rgba(84, 52, 4, 0.5);
  transform: scale(1) translate(-20px, 32px) rotate(-180deg);
  transform: scale(1) translate(-20px, max(32px, 24px + env(safe-area-inset-bottom))) rotate(-180deg);
}
@media (hover: hover) {
  #close_button.show:hover {
    transform: scale(1.2) translate(-17px, 27px) rotate(-180deg);
    transform: scale(1.2) translate(-17px, max(27px, 20px + env(safe-area-inset-bottom))) rotate(-180deg);
  }
}
#close_button.show:focus, #close_button.show:active {
  transform: scale(1.1) translate(-18px, 29px) rotate(-180deg);
  transform: scale(1.1) translate(-18px, max(29px, 22px + env(safe-area-inset-bottom))) rotate(-180deg);
}
@media screen and (min-width: 768px) {
  #close_button {
    bottom: 20px;
    right: 20px;
    transform: scale(1) rotate(0deg);
  }
  #close_button.show {
    transform: rotate(-180deg);
  }
}
@media screen and (min-width: 768px) and (hover: hover) {
  #close_button.show:hover {
    transform: scale(1.2) rotate(-180deg);
  }
}
@media screen and (min-width: 768px) {
  #close_button.show:focus, #close_button.show:active {
    transform: scale(1.1) rotate(-180deg);
  }
}

aside.slider {
  padding-bottom: 100px;
  transform: translateY(100px);
  transition: 300ms transform cubic-bezier(0.68, 0.07, 0.27, 1.54);
}
aside.slider.hide {
  transform: translateY(230px);
}

@font-face {
  font-family: "BlackChancery";
  src: url("/fonts/BlackChancery.eot");
  src: url("/fonts/BlackChancery.eot?#iefix") format("embedded-opentype"), url("/fonts/BlackChancery.woff2") format("woff2"), url("/fonts/BlackChancery.woff") format("woff"), url("/fonts/BlackChancery.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
html {
  line-height: 1.5;
  background-color: var(--document-background-color);
}

.container {
  padding: var(--space-between-sm) var(--space-between-sm) 128px var(--space-between-sm);
  padding-top: calc(env(safe-area-inset-top) + var(--space-between-sm));
  padding-bottom: calc(env(safe-area-inset-bottom) + 128px);
  transition: 100ms padding ease-in-out;
}
@media screen and (min-width: 768px) {
  .container {
    padding-top: var(--space-side-padding);
    padding-top: calc(env(safe-area-inset-top) + var(--space-side-padding));
  }
}
.container:after {
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  .container:after {
    background: black;
  }
}

.banner {
  margin-left: calc(-1 * var(--space-between-sm));
  margin-right: calc(-1 * var(--space-between-sm));
  margin-bottom: var(--space-between-sm);
}

h2.rule_type,
.rule {
  max-height: 300px;
  opacity: 1;
  position: relative;
  transition-property: max-height, opacity;
  transition-duration: 750ms, 495ms;
  transition-delay: 0ms, 247.5ms;
  transition-timing-function: ease-in;
}
h2.rule_type.hidden,
.rule.hidden {
  max-height: 0px;
  opacity: 0;
  transition-timing-function: ease-out;
}
h2.rule_type.hidden.gone,
.rule.hidden.gone {
  display: none;
}
h2.rule_type:target,
.rule:target {
  color: var(--connected-blue);
  -webkit-animation: rule_highlight 10s linear forwards;
  animation: rule_highlight 10s linear forwards;
}

span.rule {
  display: inline-block;
  white-space: nowrap;
  max-height: unset;
  max-width: 320px;
  transition-property: max-width, opacity;
}
span.rule.wrap {
  white-space: initial;
  max-width: 700px;
  display: inline;
}
span.rule.hidden {
  max-height: unset;
  max-width: 0;
}

.top_button,
aside.slider {
  box-shadow: 0px 1px 4px rgba(84, 52, 4, 0.5);
}

p.bill_footer {
  text-align: center;
  margin: var(--space-side-padding) auto 0;
  color: white;
  opacity: 0.5;
  font-style: italic;
  max-width: 650px;
}

main {
  --share-link-color: white;
  --share-link-background: var(--link-color);
}
main.parchment {
  --share-link-color: var(--document-text-color);
  --share-link-background: var(--document-link-color);
}

.document_date:hover button.copy_direct_url,
div.rule:hover button.copy_direct_url,
li.rule:hover button.copy_direct_url {
  transition: 300ms opacity ease;
  opacity: 0.3;
}
.document_date button.copy_direct_url,
div.rule button.copy_direct_url,
li.rule button.copy_direct_url {
  position: absolute;
  top: 0;
  --left-position: -24px;
  opacity: 0;
}
.document_date button.copy_direct_url:hover,
div.rule button.copy_direct_url:hover,
li.rule button.copy_direct_url:hover {
  opacity: 0.6;
}
.document_date button.copy_direct_url:active,
div.rule button.copy_direct_url:active,
li.rule button.copy_direct_url:active {
  opacity: 1;
}

.document_date button.copy_direct_url {
  margin-left: 10px;
}

li.rule button.copy_direct_url {
  left: calc(-2em + var(--left-position));
}

div.rule button.copy_direct_url {
  left: var(--left-position);
}
