/* Frontpage slider ------------------------- */

.slider {
	position: relative;
}

.slider__viewport {
	height: calc(100vh - 3rem * 2);
	overflow: hidden;
	position: relative;
}

.slider__down {
	background: rgba(42, 46, 48, 0);
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-webkit-transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
	transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
}

@media all and (min-width: 56.25em) {
	.slider__down {
		width: 60%;
	}
}

.slider__down > img {
	height: calc(100vh - 3rem * 2);
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}

.slider__down.no-animation {
	-webkit-transition: none 0.5s ease-in-out;
	transition: none 0.5s ease-in-out;
}

.slider__up {
	right: 0;
	position: absolute;
	top: 0;
	width: 100%;
	-webkit-transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
	transition: all 0.5s cubic-bezier(0, 0.99, 0.99, 1);
	z-index: 1;
}

@media all and (min-width: 56.25em) {
	.slider__up {
		width: 40%;
	}
}

.slider__txt {
	height: calc(100vh - 3rem * 2);
	opacity: 0;
	position: relative;
	-webkit-transition: opacity 0.35s linear;
	transition: opacity 0.35s linear;
	width: 100%;
}

.slider__txt.is-active {
	opacity: 1;
}

.slider__txtwrap {
	background: rgba(255, 255, 255, 0.7);
	color: #4e5360;
	font-style: normal;
	left: 4%;
	position: absolute;
	padding: 4rem;
	width: 92%;
	z-index: 2;
}

@media all and (max-width: 56.1875em) {
	.slider__txtwrap {
		bottom: 2%;
	}
}

@media all and (min-width: 56.25em) {
	.slider__txtwrap {
		left: 20%;
		max-width: 80%;
		padding: 0;
		text-align: left;
		top: 60%;
		-webkit-transform: translateY(-60%);
		transform: translateY(-60%);
		width: 36rem;
	}
	.slider__txtwrap:before {
		content: "";
		border-top: 1px solid #4e5360;
		position: absolute;
		width: calc(4rem + 15vw);
		height: calc(42% + 3vw);
		top: 20%;
		-webkit-transform: translate(-31%, -1.4vw) rotate(-58deg);
		transform: translate(-31%, -1.4vw) rotate(-58deg);
	}
}

.slider__txtwrap h1 {
	line-height: 1;
}

.slider__txtwrap h1 {
	font-size: 1.60181rem;
}

@media screen and (min-width: 20rem) {
	.slider__txtwrap h1 {
		font-size: calc(1.60181rem + 3.59977 * ((100vw - 20rem) / 113));
	}
}

@media screen and (min-width: 133rem) {
	.slider__txtwrap h1 {
		font-size: 5.20158rem;
	}
}

@media all and (min-width: 56.25em) {
	.slider__txtwrap h1 {
		text-indent: 4rem;
	}
}

.slider__category {
	color: #7a7e88;
	display: block;
	font-size: 0.6243rem;
	letter-spacing: 0.08em;
	text-indent: -3rem;
	text-transform: uppercase;
}

@media all and (min-width: 56.25em) {
	.slider__category {
		margin-left: -1vw;
	}
}

.slider__category:after {
	border-top: 1px solid #4e5360;
	content: "";
	position: absolute;
	left: -15vw;
	top: -1rem;
	opacity: 1;
	width: 15vw;
}

@media all and (max-width: 56.1875em) {
	.slider__category:after {
		left: -50%;
		top: 3rem;
		width: 100%;
	}
}

.slider__btn {
	color: #fff;
	float: right;
	font: 400 0.6243rem "Muli", sans-serif;
	letter-spacing: 0.08em;
	margin-top: calc(1.5rem + 0.25vw);
	position: relative;
	width: auto;
	text-transform: uppercase;
}

.slider__btn__icon {
	float: right;
	display: inline-block;
	padding: 0.75rem 1.25rem;
	vertical-align: middle;
	text-align: right;
	-webkit-transition: all 0.5 cubic-bezier(0.68, -0.55, 0.265, 1.55);
	transition: all 0.5 cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.slider__btn__icon > svg {
	fill: #fff;
	height: 1.35rem;
	position: relative;
	width: 1.35rem;
	z-index: 2;
}

.slider__btn__txt {
	display: inline-block;
	float: left;
	left: -60%;
	line-height: 2.8rem;
	opacity: 0;
	padding: 0 0.5rem 0 2.5rem;
	position: relative;
	-webkit-transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	visibility: hidden;
	z-index: 2;
}

.slider__btn:after {
	background: #2a2e30;
	content: "";
	height: 100%;
	width: 4.05rem;
	position: absolute;
	right: 0;
	opacity: 1;
	-webkit-transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	transition: all 0.425s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	z-index: 1;
}

.slider__btn:hover .slider__btn__txt {
	color: #fff;
	left: 0;
	opacity: 1;
	visibility: visible;
}

.slider__btn:hover {
	color: #fff;
}

.slider__btn:hover:after {
	right: 0;
	opacity: 1;
	width: 100%;
}

/* Dots pagination ------------------------- */

.slider-dots {
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

@media all and (min-width: 56.25em) {
	.slider-dots {
		position: absolute;
		width: 6px;
	}
}

.slider-dots--invisible {
	visibility: hidden;
}

@media all and (min-width: 56.25em) {
	.slider-dots--right {
		right: calc(-1.5rem - 6px);
		top: calc(50% - 1.5rem);
		-webkit-transform: translate(0, calc(100% - 1.5rem));
		transform: translate(0, calc(100% - 1.5rem));
	}
}

@media all and (min-width: 56.25em) {
	.slider-dots--left {
		left: calc(-1.5rem - 6px);
		top: calc(50% - 1.5rem);
		-webkit-transform: translate(0, calc(50% - 1.5rem));
		transform: translate(0, calc(50% - 1.5rem));
	}
}

.slider-dots__item {
	background: #838793 !important;
	border-radius: 50%;
	cursor: pointer;
	display: inline-block;
	height: 6px;
	opacity: .25;
	margin: calc(3rem / 2 - 6px) 6px;
	padding: 0;
	text-indent: -99999rem;
	width: 6px;
}

@media all and (min-width: 56.25em) {
	.slider-dots__item {
		display: block;
		margin: 6px 0;
	}
}

.slider-dots__item.is-active {
	opacity: 1;
}

/* Preloading ------------------------- */

.zoomIn {
	-webkit-animation: zoomIn 0.8s;
	animation: zoomIn 0.8s;
}

.js-loading .zoomIn {
	opacity: 0;
}

@-webkit-keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.88, 0.88, 0.88);
		transform: scale3d(0.88, 0.88, 0.88);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.88, 0.88, 0.88);
		transform: scale3d(0.88, 0.88, 0.88);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.slider-preloader {
	color: #fff;
	display: none;
	left: 50%;
	position: fixed;
	text-indent: -9999999rem;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}

.slider-preloader:before {
	-webkit-animation: long-scaling 0.5s infinite alternate;
	animation: long-scaling 0.5s infinite alternate;
	background: #4e5360;
	content: "";
	display: block;
	height: 1px;
	left: -5rem;
	position: absolute;
	width: 10rem;
	top: 0;
}

@-webkit-keyframes long-scaling {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes long-scaling {
	0% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

.js-loading .slider-preloader {
	display: block;
}
