
.slide-only {display: none;}
@media screen {
	.presentation-footer, .width-selector {display: none;}
	:root:not(.active-presentation) {
		main .slide {
			max-width: var(--max-width);
			margin-left: auto;
			margin-right: auto;
			img {
				width: 100%;
				margin-left: auto;
				margin-right: auto;
			}
		}
		div.header-presentation-controls.enabled {
			display: flex;
			flex-direction: column;
			align-items: center;
			max-width: var(--max-width);
			margin: 1em auto;
			gap: 1em;
		}
	}
	:root.active-presentation {
		.slide-only {display: initial;}
		.note {display: none;}
		.reveal, .reveal-children > * {visibility: hidden;}
		.active {visibility: visible;}
		div.fade-out{display: none;}
		--max-width: 100%;
		--main-fonts: "Libertinus Sans", "Linux Biolinum", sans-serif;
		--font-scaling-factor: 1;
		font-size: calc(min(9vw, 16vh) / 16 * 3.5 * var(--font-scaling-factor));
		overflow: hidden;
		overscroll-behavior-y: none;
		transition-behavior: allow-discrete;
			overflow: hidden;
		body {
			position: absolute;
			top: 0;
			height: 100vh !important;
			text-align: left;
			hyphens: manual;
			padding: 0;
			nav {display: none;}
			overflow: hidden;
			margin-bottom: 0;
			header, main, footer {
				padding-left: 0;
				padding-right: 0;
			}
		}

		hr, p, h1, h2, h3, h4, h5, h6, dl, ol, ul, form{
			max-width: var(--max-width);
			margin-left: 0;
			margin-right: 0;
			padding-left: 0;
			padding-right: 0;
		}

		.SlideHeading {
			background-color: var(--accent-bg-col);
			color: var(--accent-inv-col);
			box-sizing: border-box;
			width: 100%;
			padding-left: 0.5em;
			margin: 0;
			max-width: 100%;
			height: 10vh;
			align-content: center;
			position: absolute;
			top: 0;
			z-index: 300;
			border-bottom: none;
			flex-flow: column;
			justify-content: center;
			display: flex;
		}

		.slide {
			z-index: 100;
			top: 10vh;
			position: absolute;
			height: 87vh;
			width: 100vw;
			box-sizing: border-box;
			overflow: hidden;
			background-color: var(--inv-col);
			padding: 0 1em;
			flex-flow:column;
			align-items: stretch;
			display: flex;
			&:has(>figure:only-child),
			&:has(>picture:only-child),
			&:has(>img:only-child),
			&:has(>video:only-child),
			&:has(>p:only-child>a>figure:only-child),
			&:has(>p:only-child>a>picture:only-child),
			&:has(>p:only-child>a>img:only-child),
			&:has(>p:only-child>a>video:only-child),
			&:has(>.confidential:not(.redacted)>figure:only-child),
			&:has(>.confidential:not(.redacted)>picture:only-child),
			&:has(>.confidential:not(.redacted)>img:only-child),
			&:has(>.confidential:not(.redacted)>video:only-child),
			&:has(>.confidential:not(.redacted)>p:only-child>a>figure:only-child),
			&:has(>.confidential:not(.redacted)>p:only-child>a>picture:only-child),
			&:has(>.confidential:not(.redacted)>p:only-child>a>img:only-child),
			&:has(>.confidential:not(.redacted)>p:only-child>a>video:only-child){
				padding: 0;
				p {display:contents;}
				p>a {display: contents;}
			}
			table:first-child {
				margin-top: 1em;
			}
			div.confidential.redacted {
				display: flex;
				justify-content: center;
				align-items: center;
				height: 100%;
			}
		}

		header.first-slide {
			h1 {max-width: 22em;}
			hgroup {max-width: 50em;}
			hgroup, h1, hgroup > p.subtitle, .content-warnings, address > a {color: var(--accent-col);}
			.abstract {display: none;}
			.subtitle, .author, .institute {text-align: center;}
			position: relative;
			color: var(--accent-inv-col);
			background-color: var(--inv-col);
			display: flex;
			flex-direction: column;
			justify-content: space-evenly;
			align-items: center;
			height: 97vh;
			top: 0;
			z-index: 300;
			margin-bottom: 0;
			margin-top: 0;
			div.authors-statement {
				position: absolute;
				bottom: 0;
				right: 0;
				color: var(--main-col);
				font-size: 0.9em;
				border-top: var(--border-width) solid var(--main-col);
				padding: 0em 1em;
				line-height: 1.2em;
			}
		}

		.SlideHeading, .slide {
			transition: translate 0.5s;
		}
		.SlideHeading.active, .slide.active {
			translate: 0 0;
		}
		.SlideHeading:not(.active), .slide:not(.active) {
			translate: -100vw 0;
		}
		.SlideHeading.active ~ .SlideHeading:not(.active), .first-slide.active ~ main :is(.SlideHeading,.slide):not(.active), .slide.active ~.slide:not(.active) {
			translate: 100vw 0;
		}
		.first-slide.active ~ main :is(.SlideHeading,.slide):not(.active) {
			transition: none;
		}
		&.activate-presentation, &.inactivate-presentation{
			.slide, .SlideHeading {
				transition: none;
			}
		}

		footer.presentation-footer{
			overflow: hidden;
			background-color: var(--accent-bg-col);
			color: var(--accent-inv-col);
			width: 100%;
			margin: 0;
			padding: 0;
			z-index: 10000;
			margin: 0;
			border: none;
			max-width: 100%;
			position: absolute;
			bottom: 0;
			display: flex;
			height: 3vh;
			line-height: 100%;
			align-content: center;
			align-items: center;
			font-size: 2.5vh;
			display: flex;
			justify-content: space-between;
			user-select: none;
			cursor: none;
			>span {
				margin: 0 1em;
				padding: 0;
			}
			a {color: var(--accent-inv-col-2);}
			#presentation-footer-speaker {
				flex-shrink: 0;
			}
			#presentation-footer-title {
				white-space: nowrap;
				overflow: hidden;
				text-overflow: ellipsis;
			}
			#presentation-footer-slide-number{
				flex-grow: 0;
				flex-shrink: 0;
				text-align: right;
				.SlideNumberDisplay {
					display: inline-block;
					width: 2em;
				}
			}
		}

		abbr { text-decoration: none; }

		a {
			text-decoration: none;
			&:hover, &:focus {text-decoration: underline;}
		}
		
		ol, ul {
			margin-left: 1em;
			padding-left: 0;
		}
		
		div.CodeBlockContainer {width: 100%;}
		
		form {
			margin-top: 1em;
			padding: 1em;
			border-radius: var(--corner-radius);
			display: block;
		}
		
		input, button {font-size: 1em;}

		figure {
			&, figure, picture, img, video {
				background-color: unset;
				border: none;
				border-radius: 0;
				height: 100%;
				margin: 0;
				align-self: center;
			}
			figcaption {display: none;}
		}
		
		img, picture, video {
			flex: 1 1 auto;
			max-height: 100%;
			display: flex;
			flex-flow: column;
			max-width: 100%;
			object-fit: contain;
		}
		
		.fill-slide {
			height: 87vh;
			width: 100%;
		}
		
		.presentation-1-4-grid, .presentation-3-7-grid, .presentation-1-2-grid, .presentation-2-3-grid, .presentation-1-1-grid, .presentation-3-2-grid, .presentation-2-1-grid, .presentation-7-3-grid, .presentation-4-1-grid{
			display: grid;
			gap: 1em;
		}
		
		.presentation-1-4-grid {grid-template-columns: 1fr 4fr;}
		.presentation-3-7-grid {grid-template-columns: 3fr 7fr;}
		.presentation-1-2-grid {grid-template-columns: 1fr 2fr;}
		.presentation-2-3-grid {grid-template-columns: 2fr 3fr;}
		.presentation-1-1-grid {grid-template-columns: 1fr 1fr;}
		.presentation-3-2-grid {grid-template-columns: 3fr 2fr;}
		.presentation-2-1-grid {grid-template-columns: 2fr 1fr;}
		.presentation-7-3-grid {grid-template-columns: 7fr 3fr;}
		.presentation-4-1-grid {grid-template-columns: 4fr 1fr;}
		.presentation-two-column {columns: 2;}

		.presentation-1-4-grid, .presentation-3-7-grid, .presentation-1-2-grid, .presentation-2-3-grid,  .presentation-1-1-grid, .presentation-3-2-grid, .presentation-2-1-grid, .presentation-7-3-grid, .presentation-4-1-grid, .presentation-two-column{
			margin-top: 3vh;
			margin-bottom: 3vh;
			dl, ul, ol {
				margin-top: 0;
				margin-bottom: 0;
			}
			figure, img {
				object-fit: contain;
				width: 100%;
				max-height: 81vh;
			}
			dt, dd {break-inside: avoid;}
			dt {break-after: avoid;}
		}

} /* media screen */


