/*body {
	overflow: hidden;
}*/

@keyframes loaderAnim {
	to {
		opacity: 1;
		transform: scale3d(0.5,0.5,1);
	}
}

.slideshow {
	height: calc(100vh - 80px);
	display: grid;
	grid-template-rows: calc(100vh - 80px) 0rem;
	grid-template-columns: 100%;
	align-items: center;
	justify-items: center;
}
.slide {
	position: relative;
	min-width: 250px;
	max-width: 600px;
	width: 50vw;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	grid-area: 1 / 1 / 2 / 2;
}
.slide--current {
	opacity: 1;
	pointer-events: auto;
}
.slide__image {
	position: relative;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
}
.slide__image--hidden {
	opacity: 0;
	pointer-events: none;
}
.slide__title {
	margin: 0;
	font-size: 90px;
	color: #393939;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	bottom: 33vh;
	left: -15vw;
}
.slide__title span {
	display: inline-block;
	white-space: pre;
}
.slide__title--hidden {
	opacity: 0;
	pointer-events: none;
}
.slide__url {
	position: absolute;
	bottom: 23vh;
    left: -15vw;
}
.slide__url a {
	color: #393939;
	text-decoration: none;
}
.slide__url a:hover {
	color: #393939;
	text-decoration: none;
}
.slide__url a:before {
    content: "";
    width: 0;
    height: 1px;
    background: #393939;
    display: inline-block;
    position: absolute;
    top: calc(100% + -1px);
    transition: .5s cubic-bezier(.4,.6,.6,1);
}
.slide__url a:hover:before {
    width: 100%;
    transition: .4s cubic-bezier(.2,.6,.4,1);
}
.nav {
	grid-area: 2 / 1 / 3 / 2;
	min-width: 250px;
    max-width: 500px;
    width: 50vw;
	position: relative;
	bottom: 15vh;
	left: -15vw;
}
.nav__button {
    display: inline-block;
	width: 34px;
    height: 28px;
    margin-top: -14px;
	padding: 0;
	border: 0;
	background: none;
    position: absolute;
    top: 50%;
    z-index: 8;
	color: #393939;
    -webkit-transition: height 250ms ease 0s, width 250ms ease 0s;
	transition: height 250ms ease 0s, width 250ms ease 0s;
}
.nav__button:hover {
    color: #393939;
}
.nav__button:before {
    content: "";
    left: 0px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    border-bottom: 3px solid currentcolor;
    transition: width 250ms ease 0s;
}
.nav__button:after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
	border-right: 3px solid currentcolor;
    border-top: 3px solid currentcolor;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    transition: height 250ms ease 0s, transform 250ms ease 0s, width 250ms ease 0s;
}
.nav__button:hover:before {
    width: 68px;
}
.nav__button:hover:after {
    transform: translate(34px, -50%) rotate(45deg);
}
.nav__button.nav__button--previous {
    left: 40px;
	transform: rotate(180deg);
}
.nav__button.nav__button--next {
    left: 92px;
}
.nav__button:focus {
	outline: none;
}

.deco {
	position: absolute;
}
.deco--bg {
	overflow: hidden;
	opacity: 0;
	background-image: url(../images/noise1.png);
	position: absolute;
	height: 300%;
	width: 300%;
	left: -100%;
	top: -100%;
	animation-name: grained;
	animation-iteration-count: infinite;
	animation-duration: 0.5s;
	animation-timing-function: steps(20, end);
	transition: opacity 0.3s;
}

@keyframes grained {
	0% { transform: translate(-10%, 10%); }
	10% { transform: translate(-25%, 0%); }
	20% { transform: translate(-30%, 10%); }
	30% { transform: translate(-30%, 30%); }
	40% { transform: translate(0%,0%); }
	50% { transform: translate(-15%, 10%); }
	60% { transform: translate(-20%, 20%); }
	70% { transform: translate(-5%, 20%); }
	80% { transform: translate(-25%, 5%); }
	90% { transform: translate(-30%, 25%); }
	100% { transform: translate(-10%, 10%); }
}

.deco--shape {
	opacity: 0;
	background: #e4e4e4;
	transform-origin: 50% 50%;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 0.15s;
	animation-timing-function: linear;
}

.deco--shape-hor {
	left: 0;
	width: 100vw;
	transform: scale3d(1,0.2,1);
	animation-name: vibrateHorizontal;
}

.deco--shape-1 {
	animation-delay: 0.05s;
}

@keyframes vibrateHorizontal {
	0% { transform: scale3d(1,0.2,1); }
	100% { transform: scale3d(1,1,1); }
}

@keyframes vibrateVertical {
	0% { transform: scale3d(0.2,1,1); }
	100% { transform: scale3d(1,1,1); }
}

.deco--shape-hor.deco--shape-1 {
	bottom: 40vh;
	height: 10vh;
}

.deco--shape-hor.deco--shape-2 {
	bottom: 10vh;
	height: 20vh;
}

.show-deco .deco {
	opacity: 1;
}
