:root {
	font-size: 16px;
}

body {
	overflow: hidden;
	user-select: none;
	cursor: grab;
	background: #faebd7;
	font-family: turquoise, serif;
	--color-text: #a0893d;
	--color-link: #000;
}

.screen {
	top: 2rem;
}

.fold {
	overflow: hidden;
	width: calc(40vw + 1px);
	height: 50vh;
	will-change: transform;
	background: #cec39e;
}

.wrapper-3d {
	position: relative;
	perspective: 50vw;
	transform-style: preserve-3d;
}

.fold-content {
	display: flex;
	height: 100%;
	flex-direction: row;
	width: min-content;
	align-items: flex-end;
}

.fold-scroller {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.fold-center {
	transform-origin: center center;
}

.wrapper-3d {
	position: absolute;
	right: 0;
}

.fold-after {
	/* background: #dadada; */
	position: absolute;
	transform-origin: top center;
	transform: translate3d(0, 80vh, 0) rotateX(120deg);
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
}

.fold-size-fix {
	transform-origin: center center;
	width: calc(100% + 1px);
}

.fold-before {
	position: absolute;
	transform-origin: right center;
	transform: translate3d(-100%, 0, 0) rotateY(-10deg);
	left: 0px;
	right: 0;
	top: 0;
	bottom: 0;
}

.fold-before-1 {
	transform: translate3d(-100%, 0, 0) rotateY(-35deg);
}

.fold-before-2 {
	transform: translate3d(-100%, 0, 0) rotateY(-35deg) translate3d(-100%, 0, 0) rotateY(35deg);

	/*transform: translate3d(calc(-100% + 3px), 0, 0) rotateY(-35.1deg) translate3d(-100%, 0, 0) rotateY(35deg);
    width: calc(40vw + 7px);*/
}

.fold-before-3 {
	transform: translate3d(-100%, 0, 0) rotateY(-35deg) translate3d(-100%, 0, 0) rotateY(35deg) translate3d(-100%, 0, 0) rotateY(110deg);
}

.fold-main .fold-scroller {
	transform: translateX(-200%);
}

.fold-before-1 .fold-scroller {
	transform: translateX(-100%);
}

.fold-before-2 .fold-scroller {
	transform: translateX(0%);
}

.fold-before-3 .fold-scroller {
	transform: translateX(100%);
}

.fold-before-4 .fold-scroller {
	transform: translateX(400%);
}

.fold-before-1::after {
	content: '';
	background: rgba(0,0,0,0.08);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 100;
	pointer-events: none;
}

.content {
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: -moz-none;
	-o-user-select: none;
	user-select: none;
}

.content__img {
	flex: none;
	display: block;
	height: 100%;
	pointer-events: none;
}

.content__title {
	padding: 2rem;
	font-weight: 400;
	margin: 0 18vw 0 0;
	white-space: nowrap;
	color: #000;
}

.frame__heading-wrap {
	text-align: center;
}

.frame__heading {
	margin: 0;
	font-family: vortice-concept, sans-serif;
	font-weight: 400;
	font-size: 4vw;
	white-space: nowrap;
	color: #000;
}

@media screen and (min-width: 53em) {
	.frame {
		grid-template-columns: 10% 80% 10%;
		grid-template-rows: auto auto auto;
		grid-template-areas: 'title heading links'
			'... ... ...'
			'... demos demos';
	}
}
.link {
	cursor: pointer;
	font-size: 18px;
	position: relative;
	white-space: nowrap;
	color: var(--color-text);
  }
  
  .link::before,
  .link::after {
	position: absolute;
	width: 100%;
	height: 1px;
	background: currentColor;
	top: 100%;
	left: 0;
	pointer-events: none;
  }
  
  .link::before {
	content: '';
	/* show by default */
  }
  
  
  
  .link--eirene {
	font-family: europa, sans-serif;
	font-weight: bold;
  }
  
  .link--eirene::before {
	height: 7px;
	border-radius: 20px;
	transform: scale3d(1, 1, 1);
	transition: transform 0.2s, opacity 0.2s;
	transition-timing-function: cubic-bezier(0.2, 0.57, 0.67, 1.53);
  }
  
  .link--eirene:hover::before {
	transition-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
	transition-duration: 0.4s;
	opacity: 1;
	transform: scale3d(1.2, 0.1, 1);
  }
  
  .link--eirene span {
	transform: translate3d(0, -4px, 0);
	display: inline-block;
	transition: transform 0.2s 0.05s cubic-bezier(0.2, 0.57, 0.67, 1.53);
  }
  
  .link--eirene:hover span {
	transform: translate3d(0, 0, 0);
	transition-timing-function: cubic-bezier(0.8, 0, 0.1, 1);
	transition-duration: 0.4s;
	transition-delay: 0s;
  }
  
  @media screen and (min-width: 53em) {
	.frame {
		text-align: left;
		z-index: 100;
		display: grid;
		align-content: space-between;
		width: 100%;
		max-width: none;
		padding: 3rem 3.5rem;
		pointer-events: none;
		grid-template-columns: 50% 50%;
		grid-template-rows: auto auto auto;
		grid-template-areas: 'title links'
			'... ...'
			'author ...';
	}
  
	.frame__title-wrap {
		grid-area: title;
	}
  
	.frame__title {
		margin: 0;
	}
  
	.frame__tagline {
		position: relative;
		margin-left: 0;
	}
  
	.frame__links {
		grid-area: links;
		padding: 0;
		justify-self: end;
		align-self: start;
		justify-content: start;
	}
  
	.frame__author {
		grid-area: author;
	}
  
	.frame a {
		pointer-events: auto;
	}
  }
  .link--ersa {
	padding: 0 10px;
	font-family: halyard-display, sans-serif;
	letter-spacing: 1px;
	text-indent: 1px;
	text-transform: uppercase;
  }
  
  .link--ersa::before {
	top: 50%;
	height: 2px;
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.3s cubic-bezier(0.4, 1, 0.8, 1);
  }
  
  .link--ersa:hover::before {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
  }
  
  .link--ersa span {
	display: inline-block;
	transition: transform 0.3s cubic-bezier(0.4, 1, 0.8, 1);
  }
  
  .link--ersa:hover span {
	transform: scale3d(1.1, 1.1, 1.1);
  }
  
  