/*-----------------------------------------------
 * 인덱스
-------------------------------------------------*/

.full-header { opacity: 0; visibility: hidden; animation: headerFade 2s 2s forwards;}

.main_visual { 
	position: relative;
	margin: 0 auto;
}

@keyframes headerFade {
	100% { 
		opacity: 1;
		visibility: visible;
	}
}

.intro-visual { 
	position: relative;
	width: 100%;
	height: 100vh;
}

.intro-visual .intro-text { 
	position: absolute;
	bottom: 50vh;
	left: 50%;
	-webkit-transform: translate(-50%,50%);
	transform: translate(-50%,50%);
	display: inline-block;
	width: 100%;
	max-width: 1540px;
	font-size: 0;
}

.intro-visual .intro-text h1 {
	position: relative;
	overflow: hidden;
	font-size: 120px;
	font-weight: 700;
	text-transform: uppercase;
	color: transparent;
	line-height: 1.17;
}

.intro-visual .intro-text p {
	position: relative;
	margin-top: 1.3em;
	font-size: 21px;
	overflow: hidden;
	color: transparent;
}

.intro-visual .fix-intro {
	position: absolute;
	overflow: hidden;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	opacity: 0;
	height: 0;
	width: 100%;
	z-index: 1;
}

.intro-visual .fix-intro.active {
	width: 100%;
	height: 100%;
	opacity: 1;
	animation: interaction 1.4s cubic-bezier(.77, 0, .175, 1);
}

.intro-visual .fix-intro .intro-bg {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 100%;
	overflow: hidden;
}

.intro-visual .fix-intro .intro-bg img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.intro-visual .fix-intro .intro-text h1,
.intro-visual .fix-intro .intro-text p {
	color: #fff;
	transform: scale(.95);
	opacity: 0;
	filter: blur(2px);
	transition: all 1s ease-in-out;
}

.intro-visual .fix-intro.active2 .intro-text h1,
.intro-visual .fix-intro.active2 .intro-text p {
	transform: scale(1);
	opacity: 1;
	filter: blur(0);
}

.intro-visual .fix-intro.active2 .intro-text h1:nth-child(1) {
	transition-delay: .4s;
}
.intro-visual .fix-intro.active2 .intro-text h1:nth-child(2) {
	transition-delay: .8s;
}
.intro-visual .fix-intro.active2 .intro-text p {
	transition-delay: 1.2s;
}

@keyframes grow-text {
	100% { 
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@keyframes interaction {
	0% { 
		height: 0%;
	}
	100% { 
		height: 100%;
	}
}

@media(max-width: 1580px){
	.intro-visual .intro-text { 
		padding: 0 4%;
	}
	.intro-visual .intro-text h1 { 
		font-size: 8.6vw;
	}
	.intro-visual .intro-text p { 
		font-size: var(--text-01);
	}
}
@media(max-width: 964px){
	.intro-visual .intro-text p { 
		width: 80%;
		line-height: 1.8;
	}
}
@media(max-width: 600px){
	.intro-visual .intro-text p { 
		font-size: 15px;
	}
}

/*-----------------------------------------------
 * 리뉴얼 페이지
-------------------------------------------------*/
.blank_wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	gap: 20%;
}

.blank_top {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 400px;
}

.blank_top img {
	width: auto;
	height: 60px;
	margin-bottom: 20px;
}

.blank_top .blank_top_desc {
	margin-left: auto;
	position: relative;
	overflow: hidden;
	border-right: 3px solid;
	width: 0px;
	animation: typewriter 2s steps(10)  infinite alternate , blink 0.5s steps(10) infinite;
}

.blank_top .blank_top_desc p {
	font-size: 20px;
	font-weight: 800;
	text-align: right;
	color: #fff;
	opacity: .3;
	white-space: nowrap;
}

  
@keyframes typewriter {
0% {
	width: 0px;
}

100% {
	width: 240px;
}
}

@keyframes blink {
0% {
	border-right-color: rgba(255,255,255,.75);
	;
}

100% {
	border-right-color: transparent;
}
}

.blank_bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.blank_bottom img {
	width: auto;
	height: 60px;
	margin-bottom: 40px;
}

.blank_bottom .blank_bottom_desc {
	text-align: center;
}

.blank_bottom .blank_bottom_desc p {
	font-size: 70px;
	color: #fff;
	letter-spacing: -1px;
	margin-bottom: 20px;
}

.blank_bottom .blank_bottom_desc span {
	font-size: 25px;
	color: #fff;
	letter-spacing: -1px;
}

@media(max-width: 768px){
	.blank_top {
		width: 300px;
	}
	.blank_top img {
		height: 40px;
	}
	.blank_top .blank_top_desc p {
		font-size: 16px;
	}
	.blank_bottom img {
		height: 40px;
	}
	.blank_bottom .blank_bottom_desc p {
		font-size: 24px;
	}
	.blank_bottom .blank_bottom_desc span {
		font-size: 16px;
	}
}