@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&display=swap');

:root {
	--rosewater: #dc8a78;
	--flamingo: #dd7878;
	--pink: #ea76cb;
	--mauve: #8839ef;
	--red: #d20f39;
	--maroon: #e64553;
	--peach: #fe640b;
	--yellow: #df8e1d;
	--green: #40a02b;
	--teal: #179299;
	--sky: #04a5e5;
	--sapphire: #209fb5;
	--blue: #1e66f5;
	--lavender: #7287fd;
	--text: #4c4f69;
}

.rosewater {
	color: var(--rosewater);
}

.rosewater-bg {
	background-color: var(--rosewater);
}

.flamingo {
	color: var(--flamingo);
}

.flamingo-bg {
	background-color: var(--flamingo);
}

.pink {
	color: var(--pink);
}

.pink-bg {
	background-color: var(--pink);
}

.mauve {
	color: var(--mauve);
}

.mauve-bg {
	background-color: var(--mauve);
}

.red {
	color: var(--red);
}

.red-bg {
	background-color: var(--red);
}

.maroon {
	color: var(--maroon);
}

.maroon-bg {
	background-color: var(--maroon);
}

.peach {
	color: var(--peach);
}

.peach-bg {
	background-color: var(--peach);
}

.yellow {
	color: var(--yellow);
}

.yellow-bg {
	background-color: var(--yellow);
}

.green {
	color: var(--green);
}

.green-bg {
	background-color: var(--green);
}

.teal {
	color: var(--teal);
}

.teal-bg {
	background-color: var(--teal);
}

.sky {
	color: var(--sky);
}

.sky-bg {
	background-color: var(--sky);
}

.sapphire {
	color: var(--sapphire);
}

.sapphire-bg {
	background-color: var(--sapphire);
}

.blue {
	color: var(--blue);
}

.blue-bg {
	background-color: var(--blue);
}

.lavender {
	color: var(--lavender);
}

.lavender-bg {
	background-color: var(--lavender);
}

.text {
	color: var(--text);
}

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

.reveal {
	font-family: 'Quicksand', sans-serif;
	background-image: url('https://www.toptal.com/designers/subtlepatterns/uploads/dust_scratches.png');
	/* font-size: min(10vw, 10vh); */
	font-size: 60px;
}

.reveal .slides {
	/* border: solid red; */
	transform: scale(calc(100vw / 1920), calc(100vh / 1080));
}

.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
	font-family: 'Quicksand', serif;
	font-weight: 700;
}

.icon-list ul {
	list-style-type: none;
	list-style-position: outside;
	margin: 0;
	/* font-size: 0.75em; */
}

/* .icon-list ul li:nth-of-type(1) svg, div.fragment:nth-of-type(1) svg { color: var(--text); }
.icon-list ul li:nth-of-type(2) svg, div.fragment:nth-of-type(2) svg { color: var(--green); }
.icon-list ul li:nth-of-type(3) svg, div.fragment:nth-of-type(3) svg { color: var(--peach); } */

/* top and bottom padding for all list items
that are not the first or last */
.icon-list li {
	/* padding: 0.3em; */
}

.list-table table {
	/* border-collapse: collapse; */
	margin: 0 1em;
	height: 100%;
}

.list-table table tr,
.list-table table td,
.list-table table th {
	border: none;
}

svg {
	color: var(--text);
}

.center-vertical {
	display: flex;
	justify-content: center;
	align-items: center;
}

.references ol {
	list-style: none;
	text-indent: -40px;
	margin-left: 40px;
	line-height: 2em;
}

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

ul.fa-ul li,
ol.fa-ol li {
	padding-left: 0.25em;
}

.fa-li {
	padding-top: 0.25em;
}

.reveal table th {
	text-align: center;
}

:root {
	--main-line-color: hsl(234, 62%, 86%);
	--side-line-color: hsl(350, 100%, 91%);
	--paper-color: hsl(0, 15%, 95%);
	--ink-color: hsl(0, 0%, 12%);
	--line-thickness: 2px;
	--line-spacing: 1.5em;
	--baseline-offset: 0.6em; /* <— shifts blue lines down slightly to align with text baseline */
}

.reveal blockquote {
	text-align: left;
	background: var(--paper-color);
	margin: 0.5em;
	padding: 1em 2em 1em 4.5em;
	font-family: 'Caveat', cursive;
	font-style: normal;
	font-size: 1em;
	line-height: var(--line-spacing);
	color: var(--ink-color);
	background-image:
		/* red margin line */ linear-gradient(
			90deg,
			transparent,
			transparent 4em,
			var(--side-line-color) 4em,
			var(--side-line-color) 4.25em,
			transparent 4.25em
		),
		/* blue horizontal lines */
			repeating-linear-gradient(
				to bottom,
				transparent,
				transparent calc(var(--line-spacing) - var(--line-thickness)),
				var(--main-line-color)
					calc(var(--line-spacing) - var(--line-thickness)),
				var(--main-line-color) var(--line-spacing)
			);
	background-size: 100% var(--line-spacing);
	background-position-y: var(
		--baseline-offset
	); /* <— this aligns the first line with the text baseline */
	box-shadow: 0 0 0.25em rgb(0 0 0 / 0.25);
}

.reveal blockquote p {
	line-height: inherit;
	margin: 0;
}

.reveal blockquote mark {
	background-color: rgba(255, 255, 0, 0.7);
	border-radius: 0.4em;
}

.reveal .code-wrapper {
	margin: 1em 0;
	font-size: 0.8em;
}

.reveal pre {
	width: auto;
}

.reveal .code-wrapper code {
	border-radius: 0.25em;
	padding: 0.5em 0.5em 0 0.5em;
}

.reveal img {
	border-radius: 0.5em;
}
