* {
	box-sizing: border-box;
	}


html {
	font-size: calc(var(--windowfontSize) * 1.5px);
	margin: 0;
	padding: 0;
	hyphens: auto;
	}

body {
	margin: 0;
	font-family: 'Inter', sans-serif;
	line-height: 1.2;
	font-weight: 300;	
	overflow: hidden;
	}

/* TYPO */
	
p {
	font-size: 0.55em;
	padding: 0;
	text-decoration: none !important;
	}

	.team > p {
		margin: 0;
		}

	.about p:first-of-type{		
		 margin-top: 0.25em;
		}

ul {
	font-size: 0.94em;
	padding: 0;
	margin: 0;
	}
	
	li {
		list-style: none;
		padding:0;
		margin: 0;
		display: inline-block;
		}
	
a {
	text-decoration: none;
	color: currentcolor;
	}

		a:hover:after {
		  display: inline-block;
			}

			a:after {
				display: none;
				content: "↗";
				}	
h1 {
	font-weight: 300;
	font-size: 0.94em;
	line-height: 1.2;
  	margin: 0;
	letter-spacing: -0.025em;
	}

	h1 > * {
		font-weight: 300;
		font-size: 0.94em;
		line-height: 1.2;
		letter-spacing: 0em;	
		}

h2 {
	font-size: 0.5em;
	font-weight: 300;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	text-decoration: underline;
	text-underline-offset: 0.25em;
	text-decoration-thickness: 0.075em;
	}

h3 {
	font-size: 0.5em;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	}


/* SVG */


.st0 {
	fill: black !important;
	}		

.st1 {
	fill:none;
	stroke:black;
	stroke-miterlimit:10;
	stroke-width: 0.075em;
	}

/* LANDING */

#landing-logo {
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
	position: absolute;
	display: flex;
	top: 0;
	left: 0;
	justify-content: center;
	flex-direction: column;
	margin-top: -1em;
	}
	
	.logo-big {
		width: max-content;
		margin: 0 auto;
		font-size: 6.5em;
		animation: fadeIn 6s;
		display: inline-block; 
		vertical-align: middle; 
		line-height: 1.4;
		}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* PAGE */

.site {
	overflow-y: scroll;
	height: calc(var(--vh, 1vh) * 100);
	padding: 0 1em 0 1em;
	scroll-snap-type: y mandatory;
	scroll-padding: 2em;
	overflow-x: hidden;
	}
		
#whitemask {
	height: calc(var(--vh, 1vh) * 100);
	width: 1em;
	background: white;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1;
	display: block;
	}	

/* ANIMATION */	

.shapeshifter-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	opacity: 0.6;
	mix-blend-mode: multiply;
	pointer-events: none;
	z-index: 999;
	}
	
	.portait {
		width: 100vw;
		padding-bottom: 100vw;
		}
		
	.landscape {
		width: calc(var(--vh, 1vh) * 100);
		padding-bottom: calc(var(--vh, 1vh) * 100);
		}	

/* ARTICLES */

.site-main {
	}

.about-container {
	min-height: calc(var(--vh, 1vh) * 100);
	text-align: center;
	margin: -2em auto 0 auto;
	display: flex;
	flex-direction: row;
	scroll-snap-align: start;
	align-items: center;
	max-width: 1080px;
	hyphens: none;
	padding: 0 1.5em;
	}

	.about > p {
		}

.grid {
	width: 100%;
	display: flex;
	scroll-snap-align: start;
	flex-wrap: wrap;
	gap: 1em;
	margin-bottom: 2em;
	}
		
	.entry {
		overflow: visible;
		position: relative;
		padding: 0 0 2em 0;
		scroll-snap-align: start;
		height: max-content;
		}
	
		.text {
			margin: 0 auto;
			position: relative;
			}

		.img {
				width: 100%;
				max-width: 14em;
				background: lightgray;
				margin-top: 0.5em;
				height: 15em;
				margin-bottom: 0.5em;
				}

			.attachment-post-thumbnail  {
				object-fit: cover;
				object-position: top;
				width: 100%;
				position: relative;
				z-index: 9999999999;
				height: 15em;
				opacity: 0.75;
				}

.team {
	}

	.team-description {
		height: 15em;
		}

	.team::before {
		position: absolute;
		left: 0;
		content: " ";
		display: block;
		height: 0px;
		border-bottom: 0.075em solid black;
		margin-top: -0.5em;
		width: calc((var(--entryfontsize) * 1px) + 3em);					
		}
		
	.entry {
		overflow: visible;
		position: relative;
		padding: 0 0 0 0;
		min-height: 8em;
		flex-shrink: 0;
		cursor: pointer;
		}

		.entry a:after {
			display: none
			}
			
		.entry:hover .title:after {
			content: "↗";
			}
			
			.linkedin {
				display: none;
				}

		.entry::before {
			position: absolute;
			left: 0;
			content: " ";
			display: block;
			height: 0px;
			border-bottom: 0.075em solid black;
			margin-top: -0.5em;
			width: 100vw;
			}
		
		.entry-content {
			position: relative;
			z-index: 9;
			}
		
		.normal {
			width: calc(var(--windowfontSize) * 17px);
			}	

		.full {
			width: 100% !important;
			}

		.port-title {
			width: max-content;
			}


					
/* FOOTER */

#footer-container {
	position: relative;
	scroll-snap-align: end;
	width: max-content;
	margin-top: 1em;
	}


#footer {
	height: max-content;
	align-items: center;
	bottom: 0;
	padding: 0 0 1em 0;
	}

	#logo {
		font-family: 'Inter-EDA-e';
		letter-spacing: -0.035em;
		}

		.menu-item:first-of-type {
			font-family: 'Inter-EDA-e';
			font-size: 0.94em;
			letter-spacing: -0.035em;
			}

			.menu-item:first-of-type:hover a:after {
					display: none;
				}

			.menu-menu-container {
				z-index: 1;
				}

				header .menu-menu-container {
					}	

				.menu {
					display: flex;
					flex-direction: column;
					justify-content: flex-start;
					flex-wrap: wrap;
					}

					.menu-item {
						list-style: none;
						padding: 0;
						margin: 0;
						display: inline-block;
						box-sizing: border-box;
						width: max-content;
						}

						.active:after {
							content:"←"
							}

						.active:hover a:after{
							display:none;
							}

/* MOBILE*/

#hamburger-container {
	position: sticky;
	top: 0;
	z-index: 99;
	background: white;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 2em;
  	width: 100%;
	}

	.hamburger {
		display: block;
		cursor: pointer;
		z-index: 999;
		position: sticky;
		top: 0;
		width: 1em;
		height: 1em;
		}

		.hamburger > * {
			font-weight: 100;
			}

#menu-mobile {
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
	position: fixed;
	top: 0;
	left: 0;
	padding: 0 1em 0 1em;
	text-align: left;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.75);
	z-index: 9999;
	}
	
	#menu-mobile .menu-menu-container {
		z-index: 1;
		}
	
	#menu-mobile .menu{
		font-size: 0.94em;
		height: max-content;
		width: 100%;
		margin-top: 0.25em;
		}
		
		#menu-mobile .menu-item{
			max-width: 100%;
			}

			#menu-mobile .menu-item:hover{
				}

.showflex {	
	display: flex !important;
	}	
	
.showblock {	
	display: block !important;
	}		
	
.hide {	
	display: none;
	}

.blur {
	filter: blur(0.3em);
	}

.close-container {
	position: sticky;
	top: 0;
	z-index: 99;
	flex-direction: row;
	height: 2em;
	display: flex;
	width: 100%;
	}
	
	.close {
		cursor: pointer;
		width: 1em;
		height: 1em;
		display: block;
		position: relative;
		align-self: center;
		}			
	
.site-mobile {
	scroll-padding: 2em !important;
	padding: 0em 1em 0 1em !important;
	}

.pfirst {
	margin-top: 0.5em !important;
	}

.menu-logo {
	position: fixed;
	bottom: 20px;
	width: 20em;
	max-width: 230px;
	margin-right: 1em;
	flex-shrink: 0;
	}


@media (pointer:coarse) {
	p {
		font-size: 0.6em;
		}
	
	h1 > p {
		font-size: 0.94em;
		}
				
	.about-container {
		min-height: unset;
		text-align: unset;
		margin: unset;
		display: unset;
		flex-direction: unset;
		scroll-snap-align: unset;
		align-items: unset;
		max-width: unset;
		hyphens: unset;
		padding: unset;
	}

		.about > p {
			scroll-snap-align: start;
			}	
		
    .team .hide {
		display: block !important;
		}
		
			.img {
				height: 12em;
				max-width: unset !important;
				}	

			.attachment-post-thumbnail  {
				height: 12em;
				}

	.linkedin {
		display: block;
		}
		
	.team-description {
		height: unset;
		}

}

@media (max-width: 1150px) {

	.site {
		scroll-padding: 2.1em;
		padding: 0em 1em 0 1em;
		}

	#sticky-container > .menu-menu-container {
		display: none;
		}

	#hamburger-container {
		display: flex;
		}

	.hamburger {
		display: block;
		}

	.about p:first-of-type{		
		 margin-top: 0.5em;
		}
	}

@media (max-width: 720px) {

	.logo-big {
		font-size: 3em;
		}

	}
	
@media (max-width: 560px) {
	
	.entry {
		width: 100%;
		}


	}
