/*
Theme Name: HEART*IZ TEASER D5
Author: LEFTHNDR
Version: 1.0.0
Text Domain: heart-iz-teaser-d5
*/

/*--- Reset ---*/

html,
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	background-color: #fff;
	font-family: sans-serif;
	font-size: 15px;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
img {
	width: 100%;
	height: auto;
	display: block;
}

/*--- Splash ---*/

.splash {
	background-color: #fff;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all 1s ease-out;
}
body.is-ready .splash {
	opacity: 0;
	transform: scale(0.95);
}
.splash .logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 180px;
	height: 75px;
}
body.is-preparing .splash .logo {
	background-position-x: -1320px;
}
.splash .logo .logo-mask {
	background-image: url('images/splash-logo-mask.png');
	background-size: 180px 75px;
	position: absolute;
	width: 180px;
	height: 75px;
	z-index: 99999;
}
.splash .logo .logo-gradient {
	background-image: url('images/splash-logo-gradient.jpg');
	background-size: 1500px 75px;
	background-position: 0 0;
	position: absolute;
	transition: background-position 3s cubic-bezier(0.215, 0.61, 0.355, 1);
	width: 176px;
	height: 71px;
	margin-top: 2px;
	margin-left: 2px;
	z-index: 99998;
}
body.is-preparing .splash .logo .logo-gradient {
	background-position-x: -1320px;
}

/*--- Main ---*/

.teaser-main {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	transition: opacity 2.5s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
body.is-ready .teaser-main {
	opacity: 1;
}
.mask {
	width: 95%;
	max-width: 800px;
	height: 800px;
	overflow: hidden;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	position: fixed;
	margin-top: -40px;
}
.art-frame {
	border: 2px solid #000;
	width: 100%;
	height: 800px;
	position: absolute;
	z-index: 98;
}
.art {
	width: 800px;
	height: 800px;
	overflow: hidden;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.art .art-bg {
	background-size: contain;
	background-repeat: no-repeat;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	position: absolute;
}
.art .art-outline {
	background-image: url('images/teaser-main-art.png');
	z-index: 30;
}
.art .art-color {
	opacity: 0;
	transition: opacity 1.5s cubic-bezier(0.645, 0.045, 0.355, 1);
	z-index: 20;
}
.art .art-color[for="nako"] {
	background-image: url('images/art-color-nako.png');
}
.art .art-color[for="hyewon"] {
	background-image: url('images/art-color-hyewon.png');
}
.art .art-color[for="wonyoung"] {
	background-image: url('images/art-color-wonyoung.png');
}
.art .art-color[for="chaewon"] {
	background-image: url('images/art-color-chaewon.png');
}
.art .art-color[for="chaeyeon"] {
	background-image: url('images/art-color-chaeyeon.png');
}
.art .art-color[for="sakura"] {
	background-image: url('images/art-color-sakura.png');
}
.art .art-color[for="hitomi"] {
	background-image: url('images/art-color-hitomi.png');
}
.art .art-color[for="yuri"] {
	background-image: url('images/art-color-yuri.png');
}
.art .art-color[for="yujin"] {
	background-image: url('images/art-color-yujin.png');
}
.art .art-color[for="eunbi"] {
	background-image: url('images/art-color-eunbi.png');
}
.art .art-color[for="yena"] {
	background-image: url('images/art-color-yena.png');
}
.art .art-color[for="minju"] {
	background-image: url('images/art-color-minju.png');
}

@media (max-width: 600px) {
	.mask,
	.art-frame {
		height: 600px;
	}
	.art {
		width: 600px;
		height: 600px;
	}
}
@media (max-width: 480px) {
	.mask,
	.art-frame {
		height: 460px;
	}
	.art {
		width: 460px;
		height: 460px;
	}
}
@media (max-width: 400px) {
	.mask,
	.art-frame {
		height: 420px;
	}
	.art {
		width: 420px;
		height: 420px;
	}
}
@media (max-width: 360px) {
	.mask,
	.art-frame {
		height: 340px;
	}
	.art {
		width: 360px;
		height: 360px;
	}
}

.art .grid-set > * {
	position: absolute;
	z-index: 40;
}
.art .grid-set[for="nako"] .grid-1 {
	width: 15%;
	height: 2.5%;
	top: 22.5%;
	left: 15%;
}
.art .grid-set[for="nako"] .grid-2 {
	width: 2.5%;
	height: 15%;
	top: 25%;
	left: 15%;
}
.art .grid-set[for="nako"] .grid-3 {
	width: 2.5%;
	height: 15%;
	top: 25%;
	left: 27.5%;
}
.art .grid-set[for="nako"] .grid-4 {
	width: 15%;
	height: 2.5%;
	top: 40%;
	left: 15%;
}
.art .grid-set[for="hyewon"] .grid-1 {
	width: 20%;
	height: 20%;
	top: 62.5%;
	left: 75%;
}
.art .grid-set[for="wonyoung"] .grid-1 {
	width: 10%;
	height: 7.5%;
	top: 50%;
	left: 25%;
}
.art .grid-set[for="chaewon"] .grid-1 {
	width: 10%;
	height: 2.5%;
	top: 57.5%;
	left: 25%;
}
.art .grid-set[for="chaewon"] .grid-2 {
	width: 5%;
	height: 5%;
	top: 37.5%;
	left: 65%;
}
.art .grid-set[for="chaewon"] .grid-3 {
	width: 5%;
	height: 10%;
	top: 40%;
	left: 60%;
}
.art .grid-set[for="chaewon"] .grid-4 {
	width: 15%;
	height: 5%;
	top: 52.5%;
	left: 45%;
}
.art .grid-set[for="chaewon"] .grid-5 {
	width: 12.5%;
	height: 10%;
	top: 57.5%;
	left: 52.5%;
}
.art .grid-set[for="chaeyeon"] .grid-1 {
	width: 100%;
	height: 10%;
	top: 0;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-2 {
	width: 42.5%;
	height: 12.5%;
	top: 10%;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-3 {
	width: 15%;
	height: 20%;
	top: 22.5%;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-4 {
	width: 12.5%;
	height: 20%;
	top: 22.5%;
	left: 30%;
}
.art .grid-set[for="chaeyeon"] .grid-5 {
	width: 42.5%;
	height: 5%;
	top: 42.5%;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-6 {
	width: 22.5%;
	height: 15%;
	top: 47.5%;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-7 {
	width: 5%;
	height: 15%;
	top: 47.5%;
	left: 37.5%;
}
.art .grid-set[for="chaeyeon"] .grid-8 {
	width: 42.5%;
	height: 15%;
	top: 62.5%;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-9 {
	width: 10%;
	height: 5%;
	top: 77.5%;
	left: 0;
}
.art .grid-set[for="chaeyeon"] .grid-10 {
	width: 12.5%;
	height: 5%;
	top: 77.5%;
	left: 30%;
}
.art .grid-set[for="sakura"] .grid-1 {
	width: 10%;
	height: 5%;
	top: 82.5%;
	left: 0;
}
.art .grid-set[for="sakura"] .grid-2 {
	width: 22.5%;
	height: 5%;
	top: 82.5%;
	left: 30%;
}
.art .grid-set[for="sakura"] .grid-3 {
	width: 12.5%;
	height: 5%;
	top: 82.5%;
	left: 65%;
}
.art .grid-set[for="sakura"] .grid-4 {
	width: 80%;
	height: 12.5%;
	top: 87.5%;
	left: 0;
}
.art .grid-set[for="hitomi"] .grid-1 {
	width: 10%;
	height: 25%;
	top: 10%;
	left: 42.5%;
}
.art .grid-set[for="hitomi"] .grid-2 {
	width: 7.5%;
	height: 10%;
	top: 35%;
	left: 42.5%;
}
.art .grid-set[for="hitomi"] .grid-3 {
	width: 2.5%;
	height: 12.5%;
	top: 45%;
	left: 42.5%;
}
.art .grid-set[for="hitomi"] .grid-4 {
	width: 10%;
	height: 25%;
	top: 57.5%;
	left: 42.5%;
}
.art .grid-set[for="yuri"] .grid-1 {
	width: 20%;
	height: 10%;
	top: 77.5%;
	left: 10%;
}
.art .grid-set[for="yujin"] .grid-1 {
	width: 10%;
	height: 15%;
	top: 25%;
	left: 17.5%;
}
.art .grid-set[for="eunbi"] .grid-1 {
	width: 5%;
	height: 7.5%;
	top: 32.5%;
	left: 60%;
}
.art .grid-set[for="eunbi"] .grid-2 {
	width: 10%;
	height: 10%;
	top: 35%;
	left: 50%;
}
.art .grid-set[for="eunbi"] .grid-3 {
	width: 15%;
	height: 7.5%;
	top: 45%;
	left: 45%;
}
.art .grid-set[for="eunbi"] .grid-4 {
	width: 5%;
	height: 7.5%;
	top: 42.5%;
	left: 65%;
}
.art .grid-set[for="eunbi"] .grid-5 {
	width: 10%;
	height: 7.5%;
	top: 50%;
	left: 60%;
}
.art .grid-set[for="yena"] .grid-1 {
	width: 15%;
	height: 2.5%;
	top: 47.5%;
	left: 22.5%;
}
.art .grid-set[for="yena"] .grid-2 {
	width: 2.5%;
	height: 10%;
	top: 50%;
	left: 22.5%;
}
.art .grid-set[for="yena"] .grid-3 {
	width: 2.5%;
	height: 10%;
	top: 50%;
	left: 35%;
}
.art .grid-set[for="yena"] .grid-4 {
	width: 15%;
	height: 2.5%;
	top: 60%;
	left: 22.5%;
}
.art .grid-set[for="yena"] .grid-5 {
	width: 12.5%;
	height: 22.5%;
	top: 65%;
	left: 52.5%;
}
.art .grid-set[for="minju"] .grid-1 {
	width: 47.5%;
	height: 22.5%;
	top: 10%;
	left: 52.5%;
}
.art .grid-set[for="minju"] .grid-2 {
	width: 7.5%;
	height: 2.5%;
	top: 32.5%;
	left: 52.5%;
}
.art .grid-set[for="minju"] .grid-3 {
	width: 35%;
	height: 5%;
	top: 32.5%;
	left: 65%;
}
.art .grid-set[for="minju"] .grid-4 {
	width: 30%;
	height: 20%;
	top: 37.5%;
	left: 70%;
}
.art .grid-set[for="minju"] .grid-5 {
	width: 35%;
	height: 5%;
	top: 57.5%;
	left: 65%;
}
.art .grid-set[for="minju"] .grid-6 {
	width: 10%;
	height: 20%;
	top: 62.5%;
	left: 65%;
}
.art .grid-set[for="minju"] .grid-7 {
	width: 5%;
	height: 20%;
	top: 62.5%;
	left: 95%;
}
.art .grid-set[for="minju"] .grid-8 {
	width: 22.5%;
	height: 5%;
	top: 82.5%;
	left: 77.5%;
}
.art .grid-set[for="minju"] .grid-9 {
	width: 20%;
	height: 12.5%;
	top: 87.5%;
	left: 80%;
}

.drawer {
	background-color: #fff;
	border-top: 2px solid #000;
	padding-top: 15px;
	position: fixed;
	left: 50%;
	width: 95%;
	max-width: 800px;
	height: 120px;
	z-index: 99;
	transform: translateX(-50%);
}
.drawer .row {
	display: flex;
	justify-content: center;
	position: relative;
}
.drawer .row.second {
	top: -5px;
}
.drawer .gem {
	background-image: url('images/gem-holder.png');
	background-size: contain;
	display: inline-block;
	width: 50px;
	height: 50px;
	padding: 4px;
	position: relative;
	margin: 0 4px;
}
.drawer .gem span {
	background-size: contain;
	display: block;
	width: 42px;
	height: 42px;
	transition: transform 0.1s ease-out, opacity 0.075s ease-out;
}
.drawer .gem .plop {
	opacity: 0;
	transform: scale(0);
}
.drawer .gem .pep-start {
	opacity: 0.98;
	transform: scale(1.15);
}
.drawer .gem[for="nako"] span {
	background-image: url('images/gem-nako.png');
}
.drawer .gem[for="hyewon"] span {
	background-image: url('images/gem-hyewon.png');
}
.drawer .gem[for="wonyoung"] span {
	background-image: url('images/gem-wonyoung.png');
}
.drawer .gem[for="sakura"] span {
	background-image: url('images/gem-sakura.png');
}
.drawer .gem[for="chaeyeon"] span {
	background-image: url('images/gem-chaeyeon.png');
}
.drawer .gem[for="chaewon"] span {
	background-image: url('images/gem-chaewon.png');
}
.drawer .gem[for="hitomi"] span {
	background-image: url('images/gem-hitomi.png');
}
.drawer .gem[for="yuri"] span {
	background-image: url('images/gem-yuri.png');
}
.drawer .gem[for="yujin"] span {
	background-image: url('images/gem-yujin.png');
}
.drawer .gem[for="eunbi"] span {
	background-image: url('images/gem-eunbi.png');
}
.drawer .gem[for="yena"] span {
	background-image: url('images/gem-yena.png');
}
.drawer .gem[for="minju"] span {
	background-image: url('images/gem-minju.png');
}

@media (max-width: 480px) {
	.drawer .gem .pep-start {
		transform: scale(1.3);
	}
}

@media (max-width: 400px) {
	.drawer .gem {
		margin: 0 3px;
	}
}

@media (max-width: 360px) {
	.drawer .gem {
		width: 48px;
		height: 48px;
		margin: 0;
	}
	.drawer .gem span {
		width: 40px;
		height: 40px;
	}
}

.blinds {
	background-color: #fff;
	width: 2.5%;
	position: fixed;
	top: 0;
	bottom: 0;
	height: 100%;
	z-index: 999;
}
.blinds.left {
	left: 0;
}
.blinds.right {
	right: 0;
}

/*--- Popover ---*/

html.remodal-is-locked {
	overflow: hidden;
	touch-action: none;
  }
.remodal-overlay {
	background-color: #fff;
	display: none;
	position: fixed;
	top: -5000px;
	right: -5000px;
	bottom: -5000px;
	left: -5000px;
	z-index: 9999;
}
.remodal-wrapper {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	overflow: auto;
	text-align: center;
	-webkit-overflow-scrolling: touch;
	padding: 15px 15px 0;
	z-index: 10000;
}
.remodal-wrapper:after {
	content: "";
	display: inline-block;
	height: 100%;
	margin-left: -0.05em;
}
.remodal-overlay,
.remodal-wrapper {
	backface-visibility: hidden;
}
.remodal {
	display: none;
	margin-bottom: 15px;
	outline: none;
	position: relative;
	text-size-adjust: 100%;
	transform: translate3d(0, 0, 0);
	width: 100%;
	max-width: 600px;
}
.remodal.landscape {
	max-width: 1000px;
}
.remodal,
.remodal-wrapper:after {
	vertical-align: middle;
}
.remodal-is-initialized {
	display: inline-block;
}
.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
  }
.remodal-overlay.remodal-is-opening {
	animation-name: remodal-overlay-opening-keyframes;
  }
.remodal-overlay.remodal-is-closing {
	animation-name: remodal-overlay-closing-keyframes;
  }
.remodal.remodal-is-opening {
	animation-duration: 1.2s;
	animation-fill-mode: forwards;
  }
.remodal.remodal-is-closing {
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
}
.remodal.remodal-is-opening {
	animation-name: remodal-opening-keyframes;
}
.remodal.remodal-is-closing {
	animation-name: remodal-closing-keyframes;
}
.remodal-close {
	background-color: #fbfbfb;
	background-size: 36px 36px;
	background-position: center center;
	border: none;
	border-radius: 18px;
	box-shadow: inset 0 -3px 3px rgba(0,0,0,0.1);
	cursor: pointer;
	position: absolute;
	left: 50%;
	bottom: -50px;
	margin: 0 0 0 -18px;
	padding: 0;
	outline: 0;
	width: 36px;
	height: 36px;
}
  
@keyframes remodal-opening-keyframes {
	from {
	  transform: scale(1.05);
	  opacity: 0;
	}
	to {
	  transform: none;
	  opacity: 1;
	  filter: blur(0);
	}
}
@keyframes remodal-closing-keyframes {
	from {
	  transform: scale(1);
	  opacity: 1;
	}
	to {
	  transform: scale(0.95);
	  opacity: 0;
	  filter: blur(0);
	}
}
@keyframes remodal-overlay-opening-keyframes {
	from {
	  opacity: 0;
	}
	to {
	  opacity: 1;
	}
}
@keyframes remodal-overlay-closing-keyframes {
	from {
	  opacity: 1;
	}
	to {
	  opacity: 0;
	}
}