/*\
|*|
|*|			:: Take Five! ::
|*|
|*|
|*|	A semantically-consistent pure-CSS slide renderer
|*|
|*|	https://github.com/madmurphy/takefive.css/
|*|
|*|	Version 3.1.5
|*|
|*|	(c) madmurphy333@gmail.com
|*|
|*|	**Take Five!** is free software. You can redistribute it and/or modify
|*|	it under the terms of the GPL license, version 3 or any later version.
|*|
|*|	https://www.gnu.org/licenses/gpl-3.0.html
|*|
\*/



/*\
|*|
|*|	The font used by Take Five!
|*|
\*/


@import url("fonts/victoria-typewriter/victoria-typewriter.css");



/*\
|*|
|*|	All screens
|*|
\*/


@media only screen {



	/*\
	|*|
	|*|	The viewport
	|*|
	\*/


	article.slide {
		position: fixed;
		top: 0;
		left: 0;
		visibility: hidden;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, .9);
		opacity: 0;
		padding: 9.5vh 1.88vmin 9.5vh calc(82% + .88vw);
		overflow: hidden;
		color: #fff;
		font-family: "Victoria Typewriter", courier, monospace;
		font-size: .8em;
		line-height: normal;
		z-index: 10000;
		transition: visibility 0s .5s, opacity .5s linear;
	}

	article.slide:target {
		visibility: visible;
		opacity: 1;
		transition: opacity 1s linear;
	}



	/*\
	|*|
	|*|	An "apparition" at the top left corner and an animated hashtag at the
	|*|	bottom right corner...
	|*|
	\*/


	article.slide::before {
		content: attr(data-context);
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		padding: 1.88vmin 71% 1.88vmin 1.88vmin;
		font-size: .85em;
		overflow: hidden;
		z-index: 10007;
	}

	article.slide[data-context]::before {
		transition: color 1s 2.5s linear;
	}

	article.slide[data-context]:not(:target)::before {
		color: transparent;
		transition: color .5s 0s linear;
	}

	article.slide::after {
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		margin: 1.88vmin;
		box-sizing: border-box;
		font-size: .95em;
		transition: bottom 1.5s ease;
		text-align: right;
		max-width: 50%;
		z-index: 10001;
	}

	article.slide:not(:target)::after {
		bottom: -80px;
	}

	article.slide:not(.no-hashtag)::after {
		content: "hashtag: #" attr(id);
	}



	/*\
	|*|
	|*|	Functional elements
	|*|
	\*/


	article.slide a[href], 
	article.slide a[href]:link,
	article.slide a[href]:hover,
	article.slide a[href]:active,
	article.slide a[href]:visited {
		color: inherit;
		text-decoration: none;
		font-weight: bold;
		background-color: transparent;
		border: none;
	}

	article.slide a[href][rel~="tag"]::before {
		content: "\2605";
		font-size: inherit;
	}


	/*  User-set labels for links  */

	article.slide a[href][data-label]:not(.no-label)::before {
		content: attr(data-label);
	}

	article.slide a[href]:not(.no-label)::before {
		margin-right: .3em;
	}



	/*\
	|*|
	|*|	The `<leeloo>` element
	|*|
	\*/


	/*

	Find the first semantically valid element to be centered in the slide, i.e.,
	`:not(nav):not(header):not(footer):not(aside)`, a.k.a. "the <leeloo> element".

	*/

	@keyframes slidein {

		from {
			transform: translate(-50%, -50%) scale(0.001);
		}

		to {
			transform: translate(-50%, -50%);
		}
	}

	@keyframes slideout {

		from {
			transform: translate(-50%, -50%);
		}

		to {
			transform: translate(-50%, -50%) scale(0.001);
		}

	}

	article.slide > :not(nav):not(header):not(footer):not(aside) {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@not_leeloo` ::
	*/
		position: absolute;
		box-sizing: border-box;
		left: 50%;
		top: 50%;
		width: auto;
		height: auto;
		max-height: calc(100% - 19vh);
		max-width: calc(64% - 1.76vw - 80px);
		margin: auto -50% auto auto;
		transform: translate(-50%, -50%);
		animation: 1s ease 0s 1 slidein;
		z-index: 10012;
	}

	article.slide:not(:target) > :not(nav):not(header):not(footer):not(aside) {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@not_closed_slide_leeloo` ::
	*/
		transform: translate(-50%, -50%) scale(0.001);
		animation: .5s ease 0s 1 slideout;
	}

	article.slide > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside) {
	/*
		:: UNSET PLACE `@not_leeloo` ::
	*/
		width: auto;
		height: auto;
		animation: none;
		transform: none;
	/*
		Kept values:

		- `max-height`, `max-width`, `box-sizing`; these will be re-assigned in
		  the *extend place* `@default_styles`
		- `position`, `left`, `top`, `margin`, `z-index`; these will be
		  re-assigned in the *extend place* `@not_one_of_five`
	*/
	}

	article.slide:not(:target) > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside) {
	/*
		:: UNSET PLACE `@not_closed_slide_leeloo` ::
	*/
		animation: none;
		transform: none;
	}


	/*  Generic content (any slide container except <section> and <article>)  */

	article.slide > :not(nav):not(header):not(footer):not(aside):not(section):not(article) {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@generic_content_not_leeloo` ::
	*/
		overflow: visible;
	}

	article.slide > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside):not(section):not(article) {
	/*
		:: UNSET PLACE `@generic_content_not_leeloo` ::
	*/
		overflow: revert;
	}


	/*  Text content (<section> and <article> slide containers)  */

	article.slide > article,
	article.slide > section {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@text_content_not_leeloo` ::
	*/
		overflow: auto;
		padding: .5em;
	}

	article.slide > :not(nav):not(header):not(footer):not(aside) ~ article,
	article.slide > :not(nav):not(header):not(footer):not(aside) ~ section {
	/*
		:: UNSET PLACE `@text_content_not_leeloo` ::
	*/
		padding: 0;
		overflow: visible;
		all: revert;
	}



	/*\
	|*|
	|*|	Everything else
	|*|
	\*/


	article.slide > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside),
	article.slide * {
	/*
		:: EXTEND PLACE `@default_styles` ::
	*/
		max-height: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}



	/*\
	|*|
	|*|	HTML5 semantic children
	|*|
	\*/


	/*  All direct children but <leeloo>, one <header>, one <nav>, one <footer> and one <aside>  */

	article.slide > nav:not(:first-of-type),
	article.slide > header:not(:first-of-type),
	article.slide > footer:not(:first-of-type),
	article.slide > aside:not(:first-of-type),
	article.slide > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside) {
	/*
		:: EXTEND PLACE `@not_one_of_five` ::
	*/
		position: relative;
		left: 0;
		top: 0;
		margin: 0;
		z-index: 10011;
	}


	/*  One <nav>, if present  */

	article.slide > nav:first-of-type {
		display: block;
		position: absolute;
		left: 1.88vmin;
		top: 13.3vh;
		box-sizing: border-box;
		width: calc(18% - 1.88vmin - .88vw);
		height: auto;
		margin: 0;
		overflow: visible;
		padding: 0;
		text-align: left;
	}


	/*  One <header>, if present  */

	article.slide > header:first-of-type {
		position: absolute;
		left: 0;
		right: 0;
		bottom: calc(.78vmin + 100% - 9.5vh);
		box-sizing: border-box;
		width: calc(100% - 3.76vmin);
		height: auto;
		margin: 0 auto;
		padding: 0 calc(18% - 1.88vmin + .88vw + 40px);
		text-align: center;
		overflow: visible;
		font-size: larger;
		z-index: 10002;		/*  the header is always under the clickable layer  */
	}


	/*  One <footer> and one <aside>, if present  */

	article.slide > footer:first-of-type,
	article.slide > aside:first-of-type {
		position: absolute;
		bottom: 6.2vh;
		box-sizing: border-box;
		width: calc(18% - 1.88vmin - .88vw);
		height: auto;
		margin: 0;
		max-height: calc(100% - 12.4vh);
		font-size: min(2.475vh, 1em);
		padding: 0;
		overflow: hidden;
	}

	article.slide > footer:first-of-type {
		right: 1.88vmin;
		z-index: 10010;
		text-align: right;

	}

	article.slide > aside:first-of-type {
		left: 1.88vmin;
		z-index: 10009;
		text-align: left;
	}

	article.slide.wrap > footer:first-of-type {
		z-index: 10004;

	}

	article.slide.wrap > aside:first-of-type {
		z-index: 10003;
	}

	article.slide.wrap > :not(nav):not(header):not(footer):not(aside) {
		z-index: 10006;
	}

	article.slide.wrap > nav:not(:first-of-type),
	article.slide.wrap > header:not(:first-of-type),
	article.slide.wrap > footer:not(:first-of-type),
	article.slide.wrap > aside:not(:first-of-type),
	article.slide.wrap > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside) {
		z-index: 10005;
	}



	/*\
	|*|
	|*|	HTML5 semantic sub-children
	|*|
	\*/


	/*  Header's sub-children  */

	article.slide > header:first-of-type * {
		text-align: center;
	}

	article.slide > header:first-of-type * {
		margin: .78vmin 0 0 0;
	}

	article.slide > header:first-of-type > :only-child {
		margin: .78vmin 0 .78vmin 0;
	}

	article.slide > footer:first-of-type > :last-child,
	article.slide > aside:first-of-type > :last-child {
		margin-bottom: 0;
	}


	/*  Navigation links  */

	article.slide > nav:first-of-type a[href].vision,
	article.slide > nav:first-of-type a[href][rel~="first"],
	article.slide > nav:first-of-type a[href][rel~="index"],
	article.slide > nav:first-of-type a[href][rel~="last"],
	article.slide > nav:first-of-type a[href][rel~="prev"],
	article.slide > nav:first-of-type a[href][rel~="next"],
	article.slide > nav:first-of-type a[href][rel~="attachment"],
	article.slide > nav:first-of-type a[href][rel~="bookmark"],
	article.slide > nav:first-of-type a[href][rel~="author"],
	article.slide > nav:first-of-type a[href][rel~="discussion"],
	article.slide > nav:first-of-type a[href][rel~="parent"],
	article.slide.foyer > nav:first-of-type a[href][rel~="parent"],
	article.slide > nav:first-of-type a[href][rel~="child"][rel~="parent"] {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		cursor: default;
		background-color: transparent;
		font-style: italic;
		box-sizing: border-box;
		text-align: right;
		border: none;
		box-shadow: none;
		color: transparent;
		width: auto;
		height: auto;
		border-radius: 0;
		margin: 1.88vmin calc(.78vmin + 50px) 1.88vmin 1.88vmin;
		padding: 0;
		visibility: hidden;
		transition: visibility 0s 1s, color 1s 0s linear;
	}

	article.slide > nav:first-of-type a[href].vision:hover,
	article.slide > nav:first-of-type a[href][rel~="first"]:hover,
	article.slide > nav:first-of-type a[href][rel~="index"]:hover,
	article.slide > nav:first-of-type a[href][rel~="last"]:hover,
	article.slide > nav:first-of-type a[href][rel~="prev"]:hover,
	article.slide > nav:first-of-type a[href][rel~="next"]:hover,
	article.slide > nav:first-of-type a[href][rel~="attachment"]:hover,
	article.slide > nav:first-of-type a[href][rel~="bookmark"]:hover,
	article.slide > nav:first-of-type a[href][rel~="author"]:hover,
	article.slide > nav:first-of-type a[href][rel~="discussion"]:hover,
	article.slide > nav:first-of-type a[href][rel~="parent"]:hover,
	article.slide.foyer > nav:first-of-type a[href][rel~="parent"]:hover,
	article.slide > nav:first-of-type a[href][rel~="child"][rel~="parent"]:hover {
		right: 0;
		visibility: inherit;
		color: #fff;
		transition: color 1s 0s linear;
		background-color: transparent;
	}

	article.slide > nav:first-of-type a[href][rel~="parent"]:hover {
		transition: color 1s .5s linear;
	}

	article.slide:not(.pinned) > nav:first-of-type a[href][rel~="parent"] {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 1.88vmin calc(.78vmin + 50px) 1.88vmin 1.88vmin;
		visibility: inherit;
		z-index: 10008;
	}


	/*  All links  */

	article.slide > nav:first-of-type a[href],
	article.slide > nav:first-of-type a[href][rel].tab,
	article.slide > nav:first-of-type a[href][rel].no-rel,
	article.slide.foyer > nav:first-of-type a[href] {
		display: block;
		position: relative;
		width: 142%;
		visibility: inherit;
		color: inherit;
		cursor: pointer;
		max-width: none;
		top: 0;
		right: 132%;
		margin: 0;
		padding: .133em .4em .133em 40%;
		border-top: 2px #fff solid;
		border-right: 2px #fff solid;
		border-radius: 0 8px 8px 0;
		box-shadow: 0 0 20px #000;
		box-sizing: border-box;
		text-align: right;
		transition: right .5s ease;
		background-color: rgba(25, 25, 25, .9);
		font-size: 1.1em;
		line-height: 1.2em;
		font-weight: normal;
		overflow: hidden;
		font-style: normal;
		z-index: 10014;
	}

	article.slide > nav:first-of-type a[href]:hover,
	article.slide > nav:first-of-type a[href][rel].tab:hover,
	article.slide > nav:first-of-type a[href][rel].no-rel:hover,
	article.slide.foyer > nav:first-of-type a[href]:hover {
		right: 40%;
		background-color: rgba(25, 25, 25, .9);
		color: inherit;
		transition: right .5s ease;
	}

	/*  Sub-gallery buttons  */

	article.slide > nav:first-of-type a[href].plate,
	article.slide > nav:first-of-type a[href][rel].plate,
	article.slide > nav:first-of-type a[href][rel~="child"] {
		position: relative;
		display: block;
		width: auto;
		height: auto;
		top: 0;
		right: 0;
		margin: 3.8vh 0 3.8vh 2.37vw;
		max-width: calc(100% - 4.74vw);
		padding: .5em;
		visibility: inherit;
		font-style: normal;
		cursor: pointer;
		color: inherit;
		border-radius: 8px;
		box-sizing: border-box;
		box-shadow: 0 0 20px #000;
		text-align: center;
		background-color: rgba(25, 25, 25, .9);
		border: 2px #fff solid;
		transition: background-color .5s linear, color .5s linear;
		z-index: 10013;
	}

	article.slide > nav:first-of-type a[href].plate:hover,
	article.slide > nav:first-of-type a[href][rel].plate:hover,
	article.slide > nav:first-of-type a[href][rel~="child"]:hover {
		background-color: #fff;
		color: #000;
		right: 0;
		transition: background-color .5s linear, color .5s linear;
	}


	/*  Labels of semantic links  */

	article.slide > nav:first-of-type a[href]:not(:empty)::before {
		display: block;
		font-size: .70em;
		font-style: normal;
		margin: 0;
	}


	/*  No `rel` attributes given  */

	article.slide > nav:first-of-type a[href]:not([rel])::before {
		content: "See also";
	}


	/*  Unknown `rel` attributes  */

	article.slide > nav:first-of-type a[href][rel]::before {
		content: attr(rel);
		text-transform: capitalize;
	}


	/*  Known `rel` attributes  */

	article.slide > nav:first-of-type a[href][rel~="tag"]::before {
		content: "Tagged content";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="discussion"]::before {
		content: "Comments";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="author"]::before {
		content: "Author";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="attachment"]::before {
		content: "Download";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="bookmark"]::before {
		content: "Share it!";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="index"]::before {
		content: "Index";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="first"]::before {
		content: "First slide";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="last"]::before {
		content: "Last slide";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="prev"]::before {
		content: "Previous slide";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="next"]::before {
		content: "Next slide";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="child"]::before {
		content: "More";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="parent"]::before {
		content: "Volver a";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="parent"]:empty::before {
		content: "Exit";
		text-transform: none;
	}

	article.slide > nav:first-of-type a[href][rel~="parent"]:not(.tab):not(.plate):not(.no-rel):empty::before {
		content: "Click to exit";
		text-transform: none;
	}


	/*  Remove default labels when necessary  */

	/*  High specificity here allows to create localization plugins easily  */
	article.slide:not(.flr):not(.flc) > nav:first-of-type a[href].no-label::before,
	article.slide:not(.flr):not(.flc) > nav:first-of-type a[href].no-label:not(.tab):not(.plate):not(.no-rel):empty::before,
	article.slide:not(.verbose) > nav:first-of-type a[href]:not([rel~="parent"]):not(.with-label):not(:empty)::before,
	article.slide:not(.verbose) > nav:first-of-type a[href].tab:not(.with-label):not(:empty)::before,
	article.slide:not(.verbose) > nav:first-of-type a[href].plate:not(.with-label):not(:empty)::before,
	article.slide:not(.verbose) > nav:first-of-type a[href].no-rel:not(.with-label):not(:empty)::before,
	article.slide.pinned:not(.verbose) > nav:first-of-type a[href][rel~="parent"]:not(.plate):not(.tab):not(.no-rel):not(.with-label):empty::before {
		content: none;
	}


	/*  Create user-given labels when necessary  */

	/*  High specificity here allows to create localization plugins easily  */
	article.slide:not(.flc) > nav:first-of-type a[href][data-label]:not([data-label=""]):not(.no-label)::before,
	article.slide:not(.flc) > nav:first-of-type a[href][data-label]:not([data-label=""]):not(.plate):not(.tab):not(.no-rel):not(.no-label):empty::before {
		content: attr(data-label);
		text-transform: none;
	}


	/*  Buttons  */

	article.slide > nav:first-of-type a[href]::after {
		content: none;
		position: fixed;
		display: block;
		margin: auto;
		width: 40px;
		height: 40px;
		text-align: center;
		z-index: 10014;
		transition: none;
		color: #fff;
		font-style: normal;
		cursor: pointer;
		line-height: 40px;
		font-size: 32px;
		transition: visibility 0s .5s;
	}

	article.slide:target > nav:first-of-type a[href]::after {
		visibility: visible;
		transition: none;
	}


	/*  Buttons generated by "Author" "Bookmark" "First" "Last" "Index" "Prev" "Next" - order matters!  */

	/*  Glyph slot `lctrl-b1`  */
	article.slide > nav:first-of-type a[href][rel~="discussion"]:not(.no-rel)::after {
		content: "\1F5E8";
		/*  try also: `content: "\1F4AD";`  */
		/*  try also: `content: "\1F5EF";`  */
		/*  try also: `content: "\1F5E3";`  */
		left: 18%;
		bottom: 9.5vh;
	}

	/*  Glyph slot `rctrl-b1`  */
	article.slide > nav:first-of-type a[href][rel~="attachment"]:not(.no-rel)::after {
		content: "\1F4CE";
		/*  try also: `content: "\1F4E5";`  */
		/*  try also: `content: "\2913";`  */
		left: calc(82% - 40px);
		bottom: 9.5vh;
	}

	/*  Glyph slot `lctrl-t1`  */
	article.slide > nav:first-of-type a[href][rel~="bookmark"]:not(.no-rel)::after {
		content: "\1F517";
		/*  try also: `content: "\1F3F7";`  */
		/*  try also: `content: "\1F4D1";`  */
		/*  try also: `content: "\1F516";`  */
		/*  try also: `content: "\1F587";`  */
		/*  try also: `content: "\1F4D6";`  */
		/*  try also: `content: "\2B50";`  */
		/*  try also: `content: "#";`  */
		left: 18%;
		top: 9.5vh;
	}

	/*  Glyph slot `rctrl-t1`  */
	article.slide > nav:first-of-type a[href][rel~="author"]:not(.no-rel)::after {
		content: "\2709\FE0F";
		/*  try also: `content: "\2709";`  */
		/*  try also: `content: "\FF20";`  */
		/*  try also: `content: "\270D\FE0F";`  */
		/*  try also: `content: "\270D";`  */
		/*  try also: `content: "\1FAB6";`  */
		/*  try also: `content: "\1F464";`  */
		/*  try also: `content: "\1F58B";`  */
		/*  try also: `content: "@";`  */
		left: calc(82% - 40px);
		top: 9.5vh;
	}

	/*  Glyph slot `bctrl-c2`  */
	article.slide > nav:first-of-type a[href][rel~="index"]:not(.no-rel)::after {
		content: "\2302";
		bottom: calc(9.03vh - 40px);
		left: calc(50% - 20px);
		font-size: 40px;
	}

	/*  Glyph slot `bctrl-c3`  */
	article.slide > nav:first-of-type a[href][rel~="last"]:not(.no-rel)::after {
		content: "\23ED";
		/*  try also: `content: "\21E5";`  */
		bottom: calc(9.03vh - 40px);
		left: calc(.78vmin + 50% + 20px);
		font-size: 24px;
	}

	/*  Glyph slot `bctrl-c1`  */
	article.slide > nav:first-of-type a[href][rel~="first"]:not(.no-rel)::after {
		content: "\23EE";
		/*  try also: `content: "\21E4";`  */
		bottom: calc(9.03vh - 40px);
		left: calc(50% - .78vmin - 60px);
		font-size: 24px;
	}

	/*  Glyph slot `lctrl-c1`  */
	article.slide > nav:first-of-type a[href][rel~="prev"]:not(.no-rel)::after {
		content: "\276E";
		left: 18%;
		top: 0;
		bottom: 0;
		height: 72px;
		line-height: 72px;
		font-size: 72px;
	}

	/*  Glyph slot `rctrl-c1`  */
	article.slide > nav:first-of-type a[href][rel~="next"]:not(.no-rel)::after {
		content: "\276F";
		left: calc(82% - 40px);
		top: 0;
		bottom: 0;
		height: 72px;
		line-height: 72px;
		font-size: 72px;
	}


	/*  Exit button  */

	/*  Glyph slot `ctrl-exit`  */
	article.slide > nav:first-of-type a[href][rel~="parent"]:not(.no-rel)::after {
		content: "\00D7";
		width: 50px;
		height: 40px;
		line-height: 40px;
		font-size: 32px;
		top: 0;
		right: 0;
		left: unset;
		bottom: unset;
		font-family: serif;
		z-index: 10030;
		transition: top 1.5s ease;
	}

	article.slide:not(:target) > nav:first-of-type a[href][rel~="parent"]:not(.no-rel)::after {
		top: -80px;
	}



	/*\
	|*|
	|*|	Content elements -- keep it short!
	|*|
	\*/


	/*  Multimedia  */

	article.slide figure {
		text-align: center;
		margin: 1em 2em;
	}

	article.slide figure figcaption {
		margin: .6em 0;
		font-style: normal;
		font-size: 1em;
	}

	article.slide img,
	article.slide svg,
	article.slide audio,
	article.slide video,
	article.slide iframe {
		border: 3px #fff solid;
		box-shadow: 0 0 20px #000;
		box-sizing: border-box;
		max-height: 75vh;
	}


	/*  Text content  */

	article.slide p,
	article.slide h1,
	article.slide h2,
	article.slide h3,
	article.slide h4,
	article.slide h5,
	article.slide h6,
	article.slide ol,
	article.slide ul,
	article.slide dl,
	article.slide pre {
		font-family: inherit;
		color: inherit;
		margin: 1em 0;
	}

	article.slide h1 {
		font-size: 1.5em;
		font-weight: bold;
	}

	article.slide h2 {
		font-size: 1.3em;
		font-weight: bold;
	}

	article.slide h3 {
		font-size: 1.18em;
		font-weight: bold;
	}

	article.slide h4 {
		font-size: 1.05em;
		font-weight: bold;
	}

	article.slide h5 {
		font-size: 1em;
		font-weight: bold;
	}

	article.slide h6 {
		font-size: 1em;
		font-style: italic;
	}

	article.slide hr {
		border: none;
		color: inherit;
		height: auto;
		width: auto;
		margin: 2em auto;
	}

	article.slide hr::before {
		content: "\2747\2747\2747";
		display: block;
		text-align: center;
		letter-spacing: 2em;
	}

	article.slide ul,
	article.slide ol,
	article.slide menu {
		padding: 0 0 0 2.5em;
	}


	/*  All `<blockquote>` elements  */

	article.slide blockquote {
		position: relative;
		color: #d0d0d0;
		font-style: italic;
		padding: 0 1.75em;
	}

	article.slide blockquote em {
		font-style: normal;
	}

	article.slide > blockquote {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@blockquote_not_leeloo` ::
	*/
		font-size: 1.4em;
	}

	article.slide > :not(nav):not(header):not(footer):not(aside) ~ blockquote {
	/*
		:: UNSET PLACE `@blockquote_not_leeloo` ::
	*/
		font-size: inherit;
	}

	article.slide blockquote::before,
	article.slide blockquote::after {
		position: absolute;
		display: block;
		line-height: 1em;
		font-size: 2.2em;
		color: #ccc;
		width: .75em;
		height: 1em;
	}

	article.slide blockquote::before {
		content: "\201C";
		left: 0;
		top: 0;
		text-align: left;
	}

	article.slide blockquote::after {
		content: "\201E";
		right: 0;
		bottom: 0;
		text-align: right;
	}

	article.slide blockquote footer em {
		font-style: italic;
	}

	article.slide dl {
		overflow: hidden;
		padding: 0;
	}

	article.slide dl > dt {
		box-sizing: border-box;
		margin: 0;
		padding: 0 .5em 0 2em;
		float: left;
		width: 25%;
		clear: left;
	}

	article.slide dl > dd {
		box-sizing: border-box;
		margin: 0 0 0 25%;
		padding: 0 2em 0 .5em;
		float: left;
		width: 75%;
		clear: right;
	}

	article.slide dl > dt + dd {
		margin: 0;
	}

	article.slide fieldset {
		color: inherit;
		border: 1px #fff solid;
		border-radius: 8px;
	}

	article.slide fieldset > legend {
		font-size: 1.5em;
		font-weight: bold;
		padding: .133em .5em;
		border: none;
	}

	article.slide code,
	article.slide pre {
		font-family: Menlo, Consolas, "DejaVu Sans Mono", monospace;
		font-size: 1.1em;
	}

	article.slide pre {
		border-left: 3px #bbb solid;
		padding: .5em .5em .5em 1.4em;
		line-height: 1.5em;
	}

	article.slide input,
	article.slide textarea,
	article.slide select,
	article.slide button,
	article.slide output {
		background-color: transparent;
		border: 1px #fff solid;
		box-sizing: border-box;
		color: inherit;
		font-family: inherit;
		font-size: 1.2em;
		border-radius: 8px;
	}

	article.slide mark {
		background-color: rgba(255, 255, 20, .7);
	}



	/*\
	|*|
	|*|	Generic classes
	|*|
	\*/


	article.slide :not(.z-auto).z-low {
		z-index: 10005;
	}

	article.slide :not(.z-auto).z-mid {
		z-index: 10011;
	}

	article.slide :not(.z-auto).z-high {
		z-index: 10031;
	}

	article.slide :not(.z-auto).z-none {
		z-index: unset;
	}

	article.slide .clean {
		border: none;
		box-shadow: none;
	}

	article.slide .roomy {
		max-height: 100%;
		overflow: auto;
		padding: 0 .5em 0 0;
	}

}



/*\
|*|
|*|	Smartphones, touchscreens, etc.
|*|
\*/


@media
 only screen and not (pointer: fine),
 only screen and not (hover: hover) {

	article.slide > nav:first-of-type a[href],
	article.slide > nav:first-of-type a[href][rel].tab,
	article.slide > nav:first-of-type a[href][rel].no-rel,
	article.slide.foyer > nav:first-of-type a[href] {
		right: 40%;
	}

}


/*  Small height  */

@media only screen and (max-height: 500px) {

	article.slide:not(.nonadaptive) {
		font-size: .7em;
	}

	/*  Remove labels from `<nav>` links when screen height is too low  */

	article.slide:not(.nonadaptive).foyer > nav:first-of-type a[href]:not(.vision):not(:empty)::before,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href]:not([rel~="parent"]):not([rel~="first"]):not([rel~="index"]):not([rel~="last"]):not([rel~="prev"]):not([rel~="next"]):not([rel~="attachment"]):not([rel~="bookmark"]):not([rel~="author"]):not([rel~="discussion"]):not(.vision):not(:empty)::before,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href].tab:not(:empty)::before,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href].no-rel:not(:empty)::before {
		content: none;
	}

}


/*  Small width  */

@media only screen and (max-width: 768px) {

	@keyframes slidein {

		from {
			transform: scale(0.001);
		}

		to {
			transform: none;
		}
	}

	@keyframes slideout {

		from {
			transform: none;
		}

		to {
			transform: scale(0.001);
		}

	}

	article.slide:not(.nonadaptive) {
		padding: calc(22.8vmin + .47vh) 1.88vmin 1.88vmin 1.88vmin;
		overflow: auto;
		font-size: 1em;
	}

	article.slide:not(.nonadaptive)::before {
		padding: calc(12.88vmin + .235vh) 0 0 0;
		font-size: 1.8vmin;
		line-height: 2vmin;
		text-align: center;
	}

	article.slide:not(.nonadaptive)::after {
		position: static;
		margin: auto 0 1.88vmin auto;
		max-width: 100%;
	}

	article.slide:not(.nonadaptive) > :not(nav):not(header):not(footer):not(aside) {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@not_small_leeloo` ::
	*/
		position: relative;
		top: 0;
		left: 0;
		max-width: 100%;
		max-height: 100vh;
		margin: 1em auto;
		transform: none;
	}

	article.slide:not(.nonadaptive):not(:target) > :not(nav):not(header):not(footer):not(aside) {
	/*
		:: Whatever you set here, unless you want differently, please restore
		   it in the *unset place* `@not_small_closed_slide_leeloo` ::
	*/
		transform: scale(0.001);
	}

	article.slide:not(.nonadaptive) > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside) {
	/*
		:: UNSET PLACE `@not_small_leeloo` ::
	*/
		max-width: none;
		max-height: none;
	/*
		Kept values:

		- `position`, `top`, `left`, `margin`, `transform`
	*/
	}

	article.slide:not(.nonadaptive):not(:target) > :not(nav):not(header):not(footer):not(aside) ~ :not(nav):not(header):not(footer):not(aside) {
	/*
		:: UNSET PLACE `@not_small_closed_slide_leeloo` ::
	*/
		transform: none;
	}

	article.slide:not(.nonadaptive) > header:first-of-type {
		bottom: calc(100% - 22.8vmin);
		padding: 0 8.88vmin;
		font-size: 1em;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type {
		display: block;
		position: static;
		width: auto;
		margin: 1em auto;
		text-align: center;

	}

	article.slide:not(.nonadaptive) > aside:first-of-type,
	article.slide:not(.nonadaptive) > footer:first-of-type {
		position: relative;
		bottom: 0;
		left: 0;
		width: auto;
		max-height: auto;
		margin: 1em auto;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href].vision,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="index"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="last"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="prev"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="next"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="attachment"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="bookmark"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="author"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="discussion"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="parent"],
	article.slide:not(.nonadaptive).foyer > nav:first-of-type a[href][rel~="parent"],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="child"][rel~="parent"] {
		display: block;
		position: fixed;
		top: 0;
		right: unset;
		left: 0;
		padding: 0;
		margin: .5vmin 12.88vmin .5vmin 1vmin;
		text-align: left;
		font-size: .7em;
		border: none;
		border-radius: 0;
	}

	article.slide:not(.nonadaptive):not(.pinned) > nav:first-of-type a[href][rel~="parent"] {
		margin: 0;
		padding: .5vmin 12.88vmin .5vmin 1vmin;
		width: 100%;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href],
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel].tab,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel].no-rel,
	article.slide:not(.nonadaptive).foyer > nav:first-of-type a[href] {
		display: inline-block;
		position: relative;
		top: 0;
		right: unset;
		left: 0;
		width: auto;
		margin: .133em;
		padding: .133em .4em .133em .4em;
		font-size: 1em;
		max-width: auto;
		border: 2px #fff solid;
		border-radius: 8px;
		text-align: center;


	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href]::before {
		content: none;
	}


	/*  Sub-gallery buttons  */

	article.slide:not(.nonadaptive) > nav:first-of-type a[href].plate,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel].plate,
	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="child"] {
		display: block;
		position: relative;
		width: auto;
		max-width: 15em;
		margin: auto;
		padding: .5em;
		border: 2px #fff solid;
		border-radius: 8px;
		font-size: 1em;
		text-align: center;
	}


	/*  Buttons  */

	article.slide:not(.nonadaptive) > nav:first-of-type a[href]::after {
		width: 7vmin;
		height: 7vmin;
		line-height: 7vmin;
		font-size: 5.6vmin;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="discussion"]:not(.no-rel)::after {
		top: 15.8vmin;
		bottom: unset;
		left: 1.88vmin;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="attachment"]:not(.no-rel)::after {
		top: 15.8vmin;
		bottom: unset;
		left: calc(100% - 10.76vmin);

	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="bookmark"]:not(.no-rel)::after {
		top: 8.8vmin;
		bottom: unset;
		left: 1.88vmin;

	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="author"]:not(.no-rel)::after {
		top: 8.8vmin;
		bottom: unset;
		left: calc(100% - 10.76vmin);

	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="index"]:not(.no-rel)::after {
		top: calc(1.88vmin + .47vh);
		bottom: unset;
		left: calc(50% - 5.5vmin);
		font-size: 11vmin;
		height: 11vmin;
		width: 11vmin;
		line-height: 11vmin;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="last"]:not(.no-rel)::after {
		top: calc(1.88vmin + .47vh);
		bottom: unset;
		left: calc(16.5vmin + 50% + 5.28vw);
		font-size: 11vmin;
		height: 11vmin;
		width: 11vmin;
		line-height: 11vmin;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="first"]:not(.no-rel)::after {
		top: calc(1.88vmin + .47vh);
		bottom: unset;
		left: calc(50% - 27.5vmin - 5.28vw);
		font-size: 11vmin;
		height: 11vmin;
		width: 11vmin;
		line-height: 11vmin;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="prev"]:not(.no-rel)::after {
		top: calc(1.88vmin + .47vh);
		bottom: unset;
		left: calc(50% - 16.5vmin - 2.64vw);
		width: 11vmin;
		height: 11vmin;
		line-height: 11vmin;
		font-size: 11vmin;
		text-align: center;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="next"]:not(.no-rel)::after {
		top: calc(1.88vmin + .47vh);
		bottom: unset;
		left: calc(5.5vmin + 50% + 2.64vw);
		text-align: center;
		width: 11vmin;
		height: 11vmin;
		line-height: 11vmin;
		font-size: 11vmin;
	}

	article.slide:not(.nonadaptive) > nav:first-of-type a[href][rel~="parent"]:not(.no-rel)::after {
		top: 0;
		bottom: unset;
		left: unset;
		right: 0;
		width: 11vmin;
		height: 8.8vmin;
		line-height: 8.8vmin;
		font-size: 7.04vmin;
	}


	/*  Generic classes  */

	article.slide .roomy {
		max-height: none;
		overflow: visible;
		padding: 0;
	}

}



/*\
|*|
|*|	Printed page
|*|
\*/


@media only print {

	article.slide {
		position: relative;
		box-sizing: border-box;
		margin: 0;
		padding: 0;
		break-before: always;
		break-inside: avoid;
		break-after: always;
		/*  Old syntax  */
		page-break-before: always;
		page-break-inside: avoid;
		page-break-after: always;
	}


	article.slide:last-child {
		break-after: auto;
		/*  Old syntax  */
		page-break-after: auto;
	}

	article.slide[data-context] {
		padding-top: .8em;
	}

	article.slide::before,
	article.slide::after {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1.5em;
		padding: 0;
		margin: 0;
		border-bottom: 1px #000 solid;
		font-size: .8em;
		font-style: italic;
	}

	article.slide[data-context]::before {
		content: attr(data-context);
		text-align: center;
	}

	article.slide::after {
		text-align: right;
	}

	article.slide nav {
		display: none;
	}

	article.slide header {
		margin-bottom: 2em;
	}

	article.slide footer {
		margin-top: 2em;
	}

	article.slide img,
	article.slide svg,
	article.slide audio,
	article.slide video,
	article.slide iframe {
		max-height: 87vh;
	}

}



/*\
|*|
|*|	All media
|*|
\*/


@media all {

	article.slide blockquote footer {
		display: block;
		margin: 1em 0 1em 1.5em;
		font-style: normal;
	}

	article.slide blockquote footer::before {
		content: "\2014";
		display: inline-block;
		margin-right: .5em;
	}

}


/*  EOF  */

