:root {
	--r-code-font: "JetBrains Mono Variable", monospace;
	--slide-padding-vertical: 40px;
	--slide-padding-horizontal: 80px;
	--r-main-color: var(--text-color-base);
	--r-heading-color: var(--text-color-base);
}

.reveal {
	height: 100vh;
	width: 100vw;
	font-family: var(--default-font) !important;

	.slides {
		text-align: inherit;
	}

	section {
		padding: var(--slide-padding-vertical) var(--slide-padding-horizontal);
	}

	pre code {
		padding: 20px !important;
		border-radius: 8px;
		max-height: 80vh !important;
	}

	pre {
		width: 100%;
		margin: 0 auto;
		max-width: 1200px;
		box-shadow: none;
		background-color: var(--layout-background-color) !important;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-family: var(--heading-font);
		font-variation-settings:
			"wght" 900,
			"wdth" 125;
		letter-spacing: -0.03em;
		font-size: 3.75vmin;
		border: none !important;
		margin-bottom: 4vmin;
	}

	h1 {
		font-size: 12vmin;
	}

	h2 {
		font-size: 6vmin;
	}

	h4 {
		font-size: 3vmin;
	}

	h5 {
		font-size: 2.75vmin;
	}

	h6 {
		font-size: 2.5vmin;
	}

	p,
	li,
	*:not(.slide-number) a {
		font-size: max(3.25vmin, 18px) !important;
	}

	.hljs {
		font-size: 2vmin !important;
	}

	p code,
	li code,
	table code {
		background-color: var(--code-background-color);
		padding: 2px 4px;
		border-radius: 3px;
		color: var(--code-color);
	}

	blockquote {
		background-color: var(--blockquote-background-color);
		border: solid 1px var(--blockquote-border-color);
		color: var(--blockquote-color);
		border-radius: 8px;
		padding: 0.5em 1em;
		width: 100%;
		font-style: normal;
		max-width: 1200px;
		margin: 0 auto;
	}

	blockquote code {
		background-color: var(--blockquote-background-color) !important;
	}

	blockquote p {
		display: block !important;
		margin: 0 !important;
	}

	ul {
		margin-left: 0;
	}

	.header-anchor {
		display: none;
	}

	.slides a {
		color: var(--link-color) !important;
		text-decoration: underline;
	}

	img {
		object-fit: contain;
	}

	table {
		font-size: 2vmin;
		display: block;
		max-width: 100%;
		overflow-x: auto;
	}

	table tr {
		border: 1px solid var(--table-border-color);
		background-color: var(--table-odd-lines-background-color);
		margin: 0;
		padding: 0;
	}

	table tr:nth-child(2n) {
		background-color: var(--table-even-lines-background-color);
	}

	table tr th {
		font-weight: bold;
		border: 1px solid var(--table-border-color);
		text-align: left;
		margin: 0;
		padding: 6px 13px;
	}

	table tr td {
		border: 1px solid var(--table-border-color);
		text-align: left;
		margin: 0;
		padding: 6px 13px;
	}
}

.reveal-viewport {
	background-color: var(--darker-background-color) !important;
}

.reveal .controls,
.reveal .progress {
	color: var(--slides-controls) !important;
}

.slides-deck-wrapper.text-align-left {
	blockquote,
	pre {
		margin: 0;
	}
}

.slides-deck-wrapper.text-align-right {
	blockquote,
	pre {
		margin-left: auto;
		margin-right: 0;
	}
}

html.theme--light p code,
html.theme--light li code,
html.theme--light td code {
	background-color: #ececee;
}

html.reveal-print .reveal .slides section {
	padding: var(--slide-padding-vertical) var(--slide-padding-horizontal) !important;
}

@media screen and (max-width: 1400px) {
	:root {
		--slide-padding-vertical: 20px;
		--slide-padding-horizontal: 40px;
	}
}

@media screen and (max-width: 800px) {
	:root {
		--slide-padding-vertical: 20px;
		--slide-padding-horizontal: 10px;
	}
}
