/*************************************
*************** Variables ************
**************************************/

:root {
	--white: #fff;
	--black: #000;


	--small-font: 0.7rem;
	--regular-font: 1rem;
	--medium-font: 1.5rem;
	--large-font: 1.9rem;


}



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

			--medium-font: 1.2rem;
			--large-font: 1.4rem;
	}
}

/*************************************
*************** Basics ***************
**************************************/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q, blockquote p {
	font-family: var(--first-font-family);
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}




body, html 	{
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: var(--large-font);

}

body {
	background-color: var(--white);
	font-family: "halyard-display", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--third-color);
}


footer {
	font-size: var(--small-font);
}

footer ul li {
	display: inline-block;
	padding-right: 1rem;
}

a 	{
		text-decoration: none;
		color: var(--black);
}

a:hover {
		color: var(--black);
		text-underline-offset: .15rem;
}


p 	{
		margin-bottom: 1rem;
		line-height: 1.075;
}

p + p {
  text-indent: 1em;
}

		@media screen and (max-width: 520px) {
				p  {
			}
		}

.imprint p + p {
  text-indent: 0;
}

em {

}

nav img {
	max-width: 200px;
}

nav a {
	text-decoration: underline !important;
	text-underline-offset: .25rem;
}

h1, h2 	{
		margin-bottom: 2rem;
}

h3 	{
		}

		@media screen and (max-width: 520px) {
				h3  {
			}
		}

h4 	{
}

@media screen and (max-width: 520px) {
		h4  {
	}
}


section {
	width: 100vw;
	min-height: 100vh;
	margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
		section {
			min-height: 50vh;
			}
}

.container-fluid {
	width: 100vw;
	padding: 1.5em;
}

.logo {
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2000;
	width: 50vw;
	height: auto;
	text-align: center;
	transition: 0.5s ease;
}

@media screen and (max-width: 768px) {
		.logo {
			width: 75vw;
			}
}

.logo:hover {
	opacity: 0;
}

.logo img {
	width: 100%;
}

#start {
	overflow: hidden;

}

#start img {
	width: 100%;
	object-fit: cover;
}



#about p {
	font-size: var(--medium-font);
}

#about p a {
	text-decoration: underline;
	  text-underline-offset: .15rem;
}

.fullscreen-video {
		 position: relative;

		 width: 100vw;
		 height: 100vh;
		 object-fit: cover; /* Damit das Video das Seitenverhältnis behält */
		 z-index: -1; /* Video hinter anderem Inhalt anzeigen */
	 }


	 @media screen and (max-width: 768px) {
	 		.fullscreen-video {
	 			 height: auto;
	 			}

			#video {
				height: auto;
				min-height: 0;
			}
	 }

.container-fluid img {
	width: 100%;
}

@media screen and (max-width: 768px) {
		#start {
			min-height: 100vh;
			max-height: 100vh;
			}

		#start img {
			object-fit: fill;
			width: auto;

		}
}


.float {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.float:hover, .float:focus, .float:active {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}


#intro {

}


#project p, .imprint p {
	font-size: var(--regular-font);
}


/* Slideshow und Carousel */
.slideshow {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.carousel-cell {
  height: 100vh; /* Nutzt die gesamte Höhe des Viewports */
  display: inline-block;
  margin-right: 1em;
  position: relative; /* Ermöglicht die Positionierung des Play-Buttons */
}

/* Bilder */
.carousel-cell img {
  height: 100%; /* Bild passt sich an die Höhe des Carousel-Elements an */
  width: auto; /* Die Breite wird automatisch skaliert, um das Seitenverhältnis zu beizubehalten */
  object-fit: cover; /* Füllt den verfügbaren Raum aus, ohne das Seitenverhältnis zu verzerren */
}

.carousel-cell video {
  height: 100%; /* Video passt sich an die Höhe des Carousel-Elements an */
  width: auto; /* Breite wird automatisch skaliert, um das Seitenverhältnis zu erhalten */
  object-fit: cover; /* Video füllt den verfügbaren Raum aus, ohne das Seitenverhältnis zu verzerren */
  display: block; /* Stellt sicher, dass das Video korrekt gerendert wird */
}



/* Video Container */
.video-container {
  position: relative;
  height: 100%;
	width: auto;
	object-fit: cover;
  overflow: hidden; /* Verhindert, dass das Video außerhalb des Containers ragt */
}

/* Play-Button */
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
  border: none;
  padding: 15px 30px;
  font-size: 32px;
  cursor: pointer;
  border-radius: 50%;
  z-index: 10; /* Stellt sicher, dass der Button immer oben bleibt */
}

/* Play-Button bei Fokussierung */
.play-button:focus {
  outline: none;
}

/* Video Style */
video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Video füllt den gesamten Bereich aus */
}


#project-intro {
	min-height: 5vh;
}


.project-info p {
}

.project-info ul {
	font-size: var(--regular-font);
}

.project-info li {
	margin-bottom: 1em;
	display: block;
}

.project-info p + p {
	text-indent: 1em;
}
