	* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: calc(85% + (108 - 98) * ((100vw - 320px) / (3000 - 320)));
}

body {
	font-family: SuisseBP;
	font-weight: 400;
	counter-reset: img-counter;
	color:	rgb(60, 60, 60);
	letter-spacing: 0.03em;
	font-size: 100%;
}


nav {
	z-index: 100;
	position: fixed;
	top: 6vh;
	text-transform: uppercase;
	font-size: 1rem;
	letter-spacing: .08em;
	text-align: left;
}

.pos_left { 
	left: 5vw;
 }

.active {
	border-bottom: none;
}

h1 { 
	font-size: 2.4rem;
	padding-bottom: .5em;
}

h1, h2, h3 {
	font-weight: 400;
}


main {
	padding: calc(15vh + .25rem) 5vw;
	/*width: 100vw;*/ 
	margin: 0 auto;
	min-height: 90vh;
	/*max-width: 1400px;*/
}


#home_main {
	padding-top: 8rem;
}


footer {
	padding: 8rem 5vw;
}

.long_name {
	flex: 0 0 45%;
}

footer p {
	font-size: 1rem;
}

.social_medias {
	margin-left: auto;
}

/*main * {
	max-width: 1400px;
}
*/


abbr {
	color: gray;
}

label { 
	display: inline-block;
	min-width: 120px;
	font-size: 1.6rem;
}

textarea { 
	height: 300px;
	width: 40vw;
}

article { 
  
}


.pos_fix { position: fixed; }
.pos_rel { 
	position: relative; 
	top: 0;
	left: 0;
	;
}

.featured_project {
	/*max-width: 1400px;*/
	margin: 6rem auto;
}

.featured_project img {
	/*max-height: 700px;*/
	margin: 0 auto;
	display: inherit;
	max-width: 100%;
}


.featured_project_img {
	z-index: -1;
	min-width: 300px;
	max-width: 90vw;
	position: relative;
	margin: 0 auto;
	top: -6rem;
}

.featured_project_img_first {
	top: 40%;
	transform: translateZ(-.5px) scale(1.5);
	overflow: visible;
	max-width: 90vw;
}

.featured_project_img_first img {
	max-width: 100%;
}


.news_video {
	width: 100%;
}


.thumb_year {
	padding-bottom: 0;
}

.contact_info_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: first baseline;
	margin: 0;
}

.contact_info_box div {
	/*min-width: 15rem;*/
}

img {
	/*max-width: 100%;*/
}

a { 
	color: currentColor;
	text-decoration: none;
}

h2 { 
	font-size: 3rem;
	font-weight: 400;
	margin-bottom: .5em;
	line-height: 1.2;
}

.h2_overview {
	text-align: center;
	line-height: 1.2;
	/*white-space: nowrap;*/
}

.dialog_h2 {
	text-transform: uppercase;
	display: inline;
	padding: 0;
	margin: 0;
	font-weight: 400;
	font-size: 1rem;  
}

.menu ol {
    list-style-type: none;
    padding-left: 0;
}

.menu {
    display: inline-block;
}

.menu ol a {
    text-decoration: none;
    border-bottom: 2px solid rgb(60, 60, 60);
    color: rgb(60, 60, 60);
}

.menu ol a:hover {
    text-decoration: none;
    border-bottom: none;
}


.menu ol .active {
    border-bottom: none;
}

.menu ol .active:hover {
    border-bottom: 2px solid rgb(60, 60, 60);
}


.menu ol li {
    padding-right: 4vw;
}


p {
	font-size: 1.2rem;
	line-height: 1.3;
	max-width: 35em;
	padding-bottom: 1.2rem;
}

.p_s_2_box p, .p_size_2 {
	font-size: 2.4rem;
}

.p_s_3_box p, .p_size_3 {
	font-size: 1.8rem;
}

.p_s_15_box p, .p_size_15 {
	font-size: 1.5rem;
	padding-bottom: 1rem;
}


.p_size_4 {
	font-size: 1.2rem;
}

.p_size_5 {
	font-size: .8rem;
	line-height: 1.5;
}


.p_size_1, .p_size_1 p {
	font-size: 1rem;
	padding-bottom: 1.2em;
	letter-spacing: 0.05em;
	/*max-width: 24em;*/
}

.p_dedent {
	text-indent: -2rem;
	margin-left:  2rem;
}

.no_whitespace {
	padding: 0;
}


.extra_top_padding {
	padding-top: 2rem;
}
.interview p {
	max-height: 60vh;
	columns: 20em; 
}

table {
	text-align: left;
	padding-bottom: 3em;
}

tr { 
	height: 1.3em;
	vertical-align: text-top;
 }

th {
	font-weight: 400;
	min-width: 90px;
}

.tag_word {
	text-align: center;
	letter-spacing: 0.04em;
	text-decoration: none;
}


#logo_small_box {
	bottom: 7.5vh;
	z-index: 10;
	width: 100vw;
	text-align: center;
}

.logo_fixed {
	position: fixed;
}

.logo_sticky {
	position: sticky;
	position: -webkit-sticky;
}


.logo_small {
	width: 6vw;
	min-width: 3.5rem;
	max-width: 120px;
}

.logo_large_box {
	bottom: 0;
	z-index: 10;
	text-align: center;
}

.logo_large_back {
	z-index: 9;
	background-color: white;
	width: 100vw;
	margin-left: -5vw;

	/*transform: translateZ(-.5px) scale(1.5);*/
	/*bottom: -25%;*/
}


.logo_spacer {
	min-height: 4rem;
}


.logo_large {
	width: 45vw;
	min-width: 300px;
	/*max-width: 600px;*/
	margin: 3rem auto;
}


#intro_section {
	height: 100vh;
	margin: 0 auto;
	/*max-width: 1400px;*/
}


.intro_text {
	/*font-size: 3rem;*/
	font-size: calc(2rem + (40) * ((100vw - 320px) / (3000 - 320)));
	max-width: 22.5em;
	/*margin: 0 auto;*/
	letter-spacing: 0.03em;
	line-height: 1.2;
}


.nav_word {
	text-transform: uppercase;
	vertical-align: 30%;
	border-bottom: .14em solid rgb(60, 60, 60);
	font-size: .65em;
	letter-spacing: 0.05em;
	font-weight: 500;
	text-decoration: none;
	color: rgb(60, 60, 60);
}

.infoblurb {
	max-width: 24em;
}


.contact_box, .about_box {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	gap: 7.5vw;
}


.about_imgs {
	max-width: 30%;
}


.about_text {

}


.aboutus_l {
	margin-bottom: 1em;
	font-size: 1.8rem;
	max-width: 20em;
}

.aboutus_s {
	font-size: 1.5rem;
	max-width: 24em;
	margin-bottom: 2.5em;
}



.para_img {

}


.para_img img {
	max-width: 100%;
}

.coworkers { 
	margin-top: 6em;
 }

.about_box li,
.coworkers li {
	font-size: 1.5rem;
	list-style: none;
}


.projects_container {
	display: flex;
	flex-wrap: wrap; 
	align-items: flex-start;
	justify-content: space-evenly;
	/*max-width: 1999px;*/
	margin: 0 auto;
}

.project_thumb_box {
	/*flex: 0 1 500px;*/
	/*padding: 0 2rem 4rem;*/

	/*flex: 0 1 550px;*/
	/*flex: 1 0 450px;*/
	flex: 0 1 600px;
	padding: 0 3rem 4rem;
}

.project_thumb_imgsbox {
	display: flex;
	width: 100%;
	justify-content: center;
	position: relative;
	top: -3rem;
	z-index: -1;
	align-items: center;
	min-height: 240px;
}

.pr_th_img {
	max-width: 42%;
	overflow: hidden;
	line-height: 0;
	margin: 0 .75rem;
}

.pr_th_img img {
	max-width: 100%;
	transition: transform .75s ease;
}

.project_thumb_box:hover img {
	transform: scale(1.05);
}

.tmb_prtr {
	max-width: 45%;
}

.tmb_ldsc {
	max-width: 60%;
}

.project_box {
	height: 100vh;
	width: 100vw;
	/*background: rgb(120, 120, 120);*/
}

#project_scroller {
	/* snap mandatory on horizontal axis  */
	scroll-snap-type: y mandatory;

	overflow-x: scroll;
	overflow-y: hidden;
	display: flex;
	align-items: center;
	height: 100vh;
  
	/* Enable Safari touch scrolling physics which is needed for scroll snap */
	-webkit-overflow-scrolling: touch;
}

/*#project_scroller div {
	scroll-snap-align: center;
}

*/
.project_info_box {
	height: 100vh;
	background-color: white;
	padding: 15vh 7.5vw 0 5vw;
}

.project_info_box_text {
	display: flex;
	align-items: start;
}


.project_info_box_text div {
	padding-right: 3rem;
	width: 24.5rem;
	flex: 1 0 450px;
}


.project_eckdaten {  }
.project_infotext {  }


.project_img_box {
	margin: 0;
	height: 100vh;
	cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 255 255"><polygon fill="rgb(60, 60, 60)" points="201.66,112.36 128.7,39.4 147.98,20.48 255,127.5 147.98,234.52 128.7,215.25 201.66,142.64 0,142.64 0,112.36 "/></svg>') 16 16, pointer;
}

.block-table {
	line-height: 1.35;
}

.p_i_b_m {
	padding: 0 20vw 0 0;	
}


.project_img_box img {
	height: 100vh;
	/*transition: transform .75s ease;*/
}

.inner_img_box img {
	transform: scale(1.1);
}

.no_scaling img {
	transform: scale(1);
}


.counter {
	position: fixed;
	top: 6vh;
	right: 5vw;
	font-size: 3rem;
}

/*.project_img_box:hover img {
	transform: scale(1.05);
}
*/

.pdf_icon {
	width: 66%;
}

.dialog_box {
	padding-right: 1rem;
}

.dialog_box + .dialog_box {
	padding-left: 1rem;
	/*padding-top: 3rem;*/
}



/*.featured_project:hover img {
	transform: scale(1.05);
}
*/


.img_background {
	background-color: rgb(234, 233, 232);
}

.img_counter_index {
	text-align: right;
} 

 .inner_img_box {
 	overflow: hidden;
 	position: relative;
 }


.project_end_text {
	background-color: white;
	height: 100vh;
	text-align: right;
	z-index: 10;
}

.i_i_b_d {
	height: 50vh;
	margin-top: 8vh;
}


.i_i_b_e {
 	height: 80vh;
	margin-top: 10vh;
 }

.i_i_b_d img, .i_i_b_e img { 
	height: 100%;
 }

 .team {
 	margin-top: 5rem;
 }

.team_members { 
	margin-bottom: 2.5rem;
 }

.team_member {
	display: flex;
	flex-wrap: wrap;
	gap: 7.5vw;
	padding: 2.5rem 0;
}

.team_member div {
	/*	flex: 0 1 350px;*/
	/*	margin-bottom: 5rem;*/
}


.teammember_img {
	max-width: 100%;
	margin-bottom: 1rem;
}

.teammember_img img {
	max-width: 100%;
}

.next_project {
	white-space: nowrap;
	padding: 6vh 5vw;
}

#dsgvo {
	position: fixed;
	bottom: 3vh;
	z-index: 11;
	font-size: 0.6rem;
	letter-spacing: 0.05em;
}

.imprint_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 8rem;
}

.imprint_box div {
	flex: 1 1 400px;
	min-width: 300px;
	padding: 1.5rem;
}

.imprint_box h2 { 
	font-size: 1rem;
	margin-bottom: 1em;
}

.imprint_box p { 
	font-size: 1rem;
	padding-bottom: 1em;
	max-width: 30em;
}

.photo_cred {
	width: 20px;
}

.rot_90 {
	transform-origin: 100% 0;
	transform: rotate(-90deg);
	white-space: nowrap;
}


.honeypot {
	position: absolute;
	left: -9999px;
}

#start_image {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100vw;
	height: 100vh;
	margin: -8rem -5vw;
}

#start_video {
	width: 100vw;
	height: 100vh;
	object-fit: cover;
/*	position: fixed;*/
/*	left: 0;*/
/*	right: 0;*/
/*	top: 0;*/
/*	bottom: 0;*/
	margin: -8rem -5vw;
	z-index: -1;
}


#static_back {
	display: none;
}
#static_back img {
	max-width: 100%;
}



@media (min-width: 320px) and (orientation: portrait) { 

	.menu {
		width: 90vw;
	}	
	
	.menu ol {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	.p_size_5 {
		font-size: 1.2rem;
	}

	.team_member :nth-child(1) { 
		order: 1; 
	}
	

	.about_box :nth-child(1) { 
		order: 1; 
	}

	.about_imgs {
		max-width: none;
	}

	.menu ol li {
		padding-right: 0;
		width: auto;
	}

	.long_name {
		flex: auto;
	}
	.social_medias {
		margin: 0;
	}

	#project_scroller {
		flex-wrap: wrap;
		overflow-y: scroll;
		height: auto;
		padding-bottom: 20vh;
	}

	.project_info_box_text {
		display: block;
	}


	.project_thumb_box {
		padding: 0 2rem 4rem;
	}

	.project_thumb_imgsbox {
		min-height: auto;
	}

	.project_box {
		height: auto;
	}

	.project_info_box {
		display: unset;
		height: auto;
	}
	.project_eckdaten {
		padding-bottom: 2rem;
	}

	.project_info_box div {
		padding-right: 0;
		min-width: auto;
		max-width: 85vw;
	}

	.p_i_b_m {
		padding: 0;
	}

	.featured_project_img {
		top: 0;
		max-width: 80vw;
	}
	
	.counter {
		display: none;
	}

	.project_img_box {
		max-width: 90vw;
		margin: 2rem auto;
		height: auto;
	}
	
	.project_img_box img {
		width: 100%;
		height: auto;
	}

	.inner_img_box img {
		transform: scale(1);
	}

	.contact_info_box {
		display: block;
	}

	.contact_info_box div {
		padding-bottom: 2rem;
	}

	.para_img {
		max-width: 90%;
		position: unset;
		margin: 2rem auto;
	}

	.photo_cred {
		width: 90vw;
		margin: 0 auto;
		font-size: .8rem;
		text-align: right;
	}

	.rot_90 {
		transform: rotate(0);
	}

	.project_end_text {
		height: auto;
	}

}


/*@media (min-width: 1000px) { 
	.project_thumb_box { flex: 1 0 450px; }
}

@media (min-width: 1500px) { 
	.project_thumb_box { 
		flex: 1 0 500px;
	}
}

@media (min-width: 1660px) { 
	.project_thumb_box { 
		max-width: 34%;
	}
}


@media (min-width: 2000px) { 
	.project_thumb_box { 
		flex: 1 0 600px; 
	}	
}*/