/*  

	Author : Moskva Yigit
	Author URI : http://www.moskvayigit.com/

	Table of Contents
	= Splitting
	- Interactive Grid
	 
*/

.ki-description{width:100%;}

/*----------------------------
	.-- Splitting
-----------------------------*/

.splitting .word,
.splitting .char {
    display: inline-block;
}

.splitting .char {
    position: relative;
}

.splitting .char::before,
.splitting .char::after {
    content: attr(data-char);
    position: absolute;
    top: 0;
    left: 0;
    visibility: hidden;
    transition: inherit;
    user-select: none;
}

.splitting {
    --word-center: calc((var(--word-total) - 1) / 2);
    --char-center: calc((var(--char-total) - 1) / 2);
    --line-center: calc((var(--line-total) - 1) / 2);
}

.splitting .word {
    --word-percent: calc(var(--word-index) / var(--word-total));
    --line-percent: calc(var(--line-index) / var(--line-total));
}

.splitting .char {
    --char-percent: calc(var(--char-index) / var(--char-total));
    --char-offset: calc(var(--char-index) - var(--char-center));
    --distance: calc(
        (var(--char-offset) * var(--char-offset)) / var(--char-center)
    );
    --distance-sine: calc(var(--char-offset) / var(--char-center));
    --distance-percent: calc((var(--distance) / var(--char-center)));
}

.splitting.cells img {
    width: 100%;
    display: block;
}

@supports (display: grid) {
    .splitting.cells {
        position: relative;
        overflow: hidden;
        background-size: cover;
        visibility: hidden;
    }

    .splitting .cell-grid {
        background: inherit;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: grid;
        grid-template: repeat(var(--row-total), 1fr) / repeat(
                var(--col-total),
                1fr
            );
    }

    .splitting .cell {
        background: inherit;
        position: relative;
        overflow: hidden;
    }

    .splitting .cell-inner {
        background: inherit;
        position: absolute;
        visibility: visible;
        width: calc(100% * var(--col-total));
        height: calc(100% * var(--row-total));
        left: calc(-100% * var(--col-index));
        top: calc(-100% * var(--row-index));
    }

    .splitting .cell {
        --center-x: calc((var(--col-total) - 1) / 2);
        --center-y: calc((var(--row-total) - 1) / 2);
        --offset-x: calc(var(--col-index) - var(--center-x));
        --offset-y: calc(var(--row-index) - var(--center-y));
        --distance-x: calc(
            (var(--offset-x) * var(--offset-x)) / var(--center-x)
        );
        --distance-y: calc(
            (var(--offset-y) * var(--offset-y)) / var(--center-y)
        );
    }
}

/*----------------------------
	.-- Interactive Grid
-----------------------------*/

*,
*::after,
*::before {
	box-sizing: border-box;
}

.interactive-grid-container.light .interactive-grid-preview__item-back{
	filter: invert(1);
}

.interactive-grid-container.light .interactive-grid-content__title,
.interactive-grid-container.light .interactive-grid-preview__item-title,
.interactive-grid-container.light .interactive-grid-preview__item-content,
.interactive-grid-container.light .interactive-grid-preview__item-info{
	color: var(--wp--preset--color--white);
}

.interactive-grid-container.dark .interactive-grid-content__title,
.interactive-grid-container.dark .interactive-grid-preview__item-title,
.interactive-grid-container.dark .interactive-grid-preview__item-content,
.interactive-grid-container.dark .interactive-grid-preview__item-info{
	color: var(--wp--preset--color--black);
}

.unbutton {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	cursor: pointer;
}

.unbutton:focus {
	outline: none;
}


.interactive-grid-container {
	height: 100vh;
	max-width: 100vw;
	position: relative;
	margin: 0;
}

.no-select {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.interactive-grid-content {
	display: flex;
	flex-direction: column;
	width: 100vw;
	height: 300px;
	justify-content: center;
	position: relative;
	align-items: center;
}

.interactive-grid-grid {
	position: absolute;
	width: 120%;
    height: 120%;
    top: -10%;
    left: -10%;
	display: grid;
	grid-template-columns: repeat(50,2%);
	grid-template-rows: repeat(50,2%);
	perspective: 1000px;
}

.grid--inactive {
	pointer-events: none;
}

.interactive-grid-grid__item {
	position: relative;
	will-change: transform;
	grid-area: var(--grid-row) / var(--grid-column) / span 12 / span 5;
}

.interactive-grid-grid__item-img {
	position: relative;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: 50% 50%;
	border-radius: 10px;
	will-change: transform;
}

.interactive-grid__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
	border-radius: 10px;
}

.char {
	will-change: transform;
}

/* Shorthand grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end */

.interactive-grid-pos-1 {
	--grid-row: 10;
	--grid-column: 1;
}

.interactive-grid-pos-2 {
	--grid-row: 1;
	--grid-column: 18;
}

.interactive-grid-pos-3 {
	--grid-row: 1;
	--grid-column: 29;
}

.interactive-grid-pos-4 {
	--grid-row: 15;
	--grid-column: 12;
}

.interactive-grid-pos-5 {
	--grid-row: 17;
	--grid-column: 25;
}

.interactive-grid-pos-6 {
	--grid-row: 20;
	--grid-column: 43;
}

.interactive-grid-pos-7 {
	--grid-row: 35;
	--grid-column: 5;
}

.interactive-grid-pos-8 {
	--grid-row: 40;
	--grid-column: 14;
}

.interactive-grid-pos-9 {
	--grid-row: 37;
    --grid-column: 29;
}

.interactive-grid-pos-10 {
	--grid-row: 35;
	--grid-column: 42;
}

.interactive-grid-pos-11 {
	--grid-row: 1;
	--grid-column: 44;
}

.interactive-grid-pos-12 {
	--grid-row: 32;
	--grid-column: 20;
}

.interactive-grid-pos-13 {
	--grid-row: 22;
	--grid-column: 2;
}

.interactive-grid-pos-14 {
	--grid-row: 9;
	--grid-column: 38;
}

.interactive-grid-pos-15 {
	--grid-row: 4;
    --grid-column: 7;
}

.interactive-grid-pos-16 {
	--grid-row: 28;
	--grid-column: 36;
}

.interactive-grid-content__title {
	font-size: 12vw;
	margin: 0;
	line-height: 1.2;
	position: relative;
	text-transform: uppercase;
	pointer-events: none;
}

.interactive-grid-content__title-line {
	display: block;
	position: relative;
	overflow: hidden;
	line-height: 1;
}

.interactive-grid-content__title-line--1 {
	margin-left: -5vw;
}

.interactive-grid-content__title-line--2 {
	margin-right: -5vw;
}

.interactive-grid-preview {
	pointer-events: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.interactive-grid-preview__item {
	position: relative;
	margin: 0 auto;
	padding: 0 5vw;
	display: grid;
	grid-template-rows: auto auto auto;
	grid-template-columns: 50% 50%;
	grid-template-areas: 
	'preview-back preview-back' 
	'preview-img preview-title' 
	'preview-content preview-content';
	perspective: 1000px;
}

.interactive-grid-preview__item:not(.preview__item--open) {
	position: absolute;
	overflow: hidden;
	height: 0;
	opacity: 0;
}

.preview__item--open {
	pointer-events: auto;
}

.interactive-grid-preview__item-back {
	grid-area: preview-back;
	justify-self: start;
	background: url('data:image/svg+xml,<svg width="79" height="9" xmlns="http://www.w3.org/2000/svg"><g stroke="black" fill-rule="evenodd" stroke-linecap="square"><path d="M1.5 4.5l5-3M1.5 4.5l5 3M78.5 4.5h-77"/></g></svg>') no-repeat 0% 50%!important;
}

.interactive-grid-preview__item-back span{
	text-transform: uppercase;
	padding-left: 90px;
	font-size: 14px;
    line-height: 36px;
}

.interactive-grid-preview__item-title {
	grid-area: preview-title;
	font-family: dystopian, sans-serif;
	font-size: 12vw;
	font-size: clamp(1.5rem,12vw,20vh);
	margin: 0;
	grid-column-start: 1;
	align-self: center;
	padding-left: 1rem;
	position: relative;
	overflow: hidden;
	pointer-events: none;
}

.interactive-grid-preview__item-imgwrap {
	width: 100px;
	height: 150px;
	border-radius: 10px;
	overflow: hidden;
	grid-area: preview-img;
	transform-origin: 50% 100%;
}

.interactive-grid-preview__item-img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: 50% 50%;
}

.interactive-grid-preview__item-content {
	grid-area: preview-content;
	max-width: calc(1100px - 80vh);
	min-height: 440px;
	line-height: 1.3;
}

.interactive-grid-preview__item-meta {
	text-transform: uppercase;
	font-size: 0.857rem;
	padding: 1rem 0 0;
}

.interactive-grid-preview__item-meta span {
	display: block;
}

.interactive-grid-preview__item-info {
	display: block;
	margin: 1rem 0;
}


.interactive-grid-cursor {
	display: none;
}

@media screen and (min-width: 53em) {
	
	.interactive-grid-container {
		overflow: hidden;
	}
	
	.interactive-grid-content {
		height: 100%;
	}
	
	.interactive-grid-preview__item {
		height: 100%;
		width: 80vw;
		grid-template-columns: 47% 53%;
		grid-template-rows: minmax(max(5rem, 18vh), 1fr) auto auto 1fr;
		grid-template-areas: 
		'... ...'
		'preview-back ...' 
		'preview-title preview-title' 
		'preview-img preview-content';
	}
	
	.interactive-grid-preview__item-title {
		justify-self: center;
		padding: 0;
	}
	
	.interactive-grid-preview__item-meta {
		padding: 1rem 0;
	}
	
	.interactive-grid-preview__item-info {
		margin: 1rem 0 3rem;
	}
	
	.interactive-grid-preview__item-imgwrap {
		width: 100%;
		height: 100%;
		grid-row-start: 3;
		border-radius: 10px 10px 0 0;
	}
	
	.interactive-grid-preview__item-content {
		padding: 0 0 0 4rem;
	}
	
}

@media (any-pointer: fine) {
	
	.interactive-grid-cursor {
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		pointer-events: none;
		z-index: 9999;
	}

	.interactive-grid-cursor__svg {
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
	}

	.interactive-grid-cursor__svg-circle {
		stroke-width: 1px;
		fill: none;
	}

	.interactive-grid-cursor__text {
		position: absolute;
		top: 1.875rem;
		left: 80px;
		font-size: 0.857rem;
		text-transform: uppercase;
		font-weight: 500;
	}
	
}