:root {
	--accent: #CC8869;
	--text: #333;
	--regular-text: 16px;
	--lineheight: 1.65;
	--userfont: roboto-st, sans-serif;
	--systemfont: -apple-system, BlinkMacSystemFont, Arial, sans-serif;
	--padding: 120px;
	--transition: cubic-bezier(0.4, 0, 0, 1);
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl { --bs-gutter-x: .625rem; }
.row, .row > * { --bs-gutter-x: 1.25rem; }

@font-face { src: url("../fonts/roboto-regular-webfont.woff2") format("woff2"); font-family: "roboto-st"; font-weight: 400; font-style: normal; }
@font-face { src: url("../fonts/roboto-italic-webfont.woff2") format("woff2"); font-family: "roboto-st"; font-weight: 400; font-style: italic; }
@font-face { src: url("../fonts/roboto-bold-webfont.woff2") format("woff2"); font-family: "roboto-st"; font-weight: 700; font-style: normal; }
@font-face { src: url("../fonts/roboto-bolditalic-webfont.woff2") format("woff2"); font-family: "roboto-st"; font-weight: 700; font-style: italic; }
@font-face { src: url("../fonts/assassin.woff2") format("woff2"); font-family: "assasin-st"; font-weight: 700; font-style: italic; }

::placeholder { color: #666; }
::selection { background-color: var(--accent); color: #fff; }

input, textarea { outline: none; }
input:focus:required:invalid, textarea:focus:required:invalid { border-color: red; }
input:required:valid, textarea:required:valid { border-color: green; }

body {
	font-family: var(--userfont);
	font-size: var(--regular-text);
	line-height: var(--lineheight);
	color: var(--text);
	min-width: 320px;
	position: relative;
	overflow-x: hidden;
}

body, 
html{
	height: 100%;
}

.gallery{
	background-color: #000000d3;
	height: 100%;
	position: relative;
	color: #ffffff;
	overflow: hidden;
}

.gallery::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	box-shadow: inset 0 0 500px #000000;
}

.gallery::after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url(../images/light.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center -65px;
	animation: k-light 4s ease-in-out infinite;
}

.gallery_bg-video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.9;
}

.gallery_content-wrapper{
	position: relative;
	z-index: 2;
	height: 100%;
	padding: var(--padding) 0;
}

.gallery_content-wrapper::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-image: url(../images/glow.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	animation: k-glow 2.8s ease-in-out infinite;
}

.gallery_title{
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
	top: 40px;
	font-family: assasin-st, sans-serif;
	font-size: 32px;
	color: rgba(255, 255, 255, 0.75);
}

.gallery_title span{
	color: var(--accent);
}

.gallery-carousel .swiper-wrapper{
	transition: var(--transition);
}

.gallery-carousel_item{
	position: relative;
	height: calc(100vh - var(--padding) * 2);
	text-align: center;
	opacity: 0.25;
	transform: scale(0.78);
	transition: opacity 1.8s var(--transition), transform 1.8s var(--transition);
}

.gallery-carousel_item::after{
	content: '';
	width: 120px;
	height: 0;
	position: absolute;
	box-shadow: 0 0 45px 10px #010101;
	bottom: 5px;
	left: calc(50% - 60px);
}

.gallery-carousel_item p{
	position: absolute;
	bottom: -85px;
	width: 100%;
	font-family: assasin-st, sans-serif;
	font-size: 32px;
	color: rgba(255, 255, 255, 0.65);
	text-shadow: rgb(58, 78, 94) 0 0 10px;
	background-color: none !important;
}

.gallery-carousel_item.swiper-slide-active{
	opacity: 0.8;
	transform: scale(0.98);
}

.gallery-carousel_img-wrapper > *{
	position: absolute;
	height: 100%;
	width: 100%;
	perspective: 150px;
	transform-style: preserve-3d;
}

.gallery-carousel_img{
	position: absolute;
	height: 100%;
	width: 100%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.gallery-carousel_img-left{
	perspective-origin: left center;
	clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
}

.gallery-carousel_img-right{
	perspective-origin: right center;
	clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%);
	margin-left: -.55px
}

.gallery-carousel_img-left .gallery-carousel_img{
	animation: k-left-side 2s ease-in-out infinite;
	animation-direction: alternate;
}

.gallery-carousel_img-right .gallery-carousel_img{
	animation: k-right-side 2s ease-in-out infinite;
	animation-direction: alternate;
}

.gallery-nav{
	position: absolute;
	overflow: hidden;
	z-index: 2;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.gallery-nav > *{
	position: absolute;
	height: 100%;
	width: 50%;
	outline: none;
	cursor: pointer;
}

.gallery-nav > *::before{
	content: '?';
	font-family: assasin-st;
	opacity: 0;
	transition: opacity 0.75s ease-out;
	position: absolute;
	transform: rotate(-90deg);
	left: 50px;
	top: 50%;
	font-size: 45px;
}

.gallery-nav_next::before{
	transform: rotate(90deg);
	right: 50px;
	left: auto;
}

.gallery-nav > *:hover::before{
	opacity: 0.45;
}

.gallery-nav_next{
	right: 0;
}

.showcase-navigation > *.swiper-button-disabled {
	display: none;
}

.copyright{
	margin: 0 auto;
	position: absolute;
	bottom: 2%;
	left: 50%;
	transform: translateX(-50%);
	font-family: assasin-st, sans-serif;
	font-size: 19px;
}

@keyframes k-light{
	0%{
		opacity: 0.2;
	}
	50%{
		opacity: 0.3;
	}
	100%{
		opacity: 0.2;
	}
}

@keyframes k-glow{
	0%{
		opacity: 0.7;
	}
	50%{
		opacity: 0.9;
	}
	100%{
		opacity: 0.7;
	}
}

@keyframes k-left-side{
	0%{
		transform: rotateY(-1deg) scaleX(0.92);
	}
	100%{
		transform: rotateY(0) scaleX(1);
	}
}

@keyframes k-right-side{
	0%{
		transform: rotateY(0) scaleX(1);
	}
	100%{
		transform: rotateY(1deg) scaleX(0.92);
	}
}