﻿/* FNC Slider Style - Original by Nikolay Talanov */
.fnc-slider {
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
    height: 100vh;
}

/* 창 리사이즈 중에는 트랜지션/애니메이션 차단 */
.fnc-slider.is-resizing,
.fnc-slider.is-resizing *,
.fnc-slider.is-resizing *::before,
.fnc-slider.is-resizing *::after {
    transition: none !important;
    animation: none !important;
}

.fnc-slider *,
.fnc-slider *:before,
.fnc-slider *:after {
    box-sizing: border-box;
}

.fnc-slider__slides {
    position: relative;
    height: 100%;
    transition: transform 1s 0.6666666667s;
}

.fnc-slider .m--blend-dark .fnc-slide__inner {
    background-color: #000;
}

.fnc-slider .m--blend-dark .fnc-slide__mask-inner {
    background-color: #000;
}

.fnc-slider .m--navbg-dark {
    background-color: transparent;
}

.fnc-slider .m--blend-green .fnc-slide__inner {
    background-color: #000;
}

.fnc-slider .m--blend-green .fnc-slide__mask-inner {
    background-color: #000;
}

.fnc-slider .m--navbg-green {
    background-color: transparent;
}

/* Slide Base */
.fnc-slide {
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: translate3d(0, 0, 0);
    visibility: hidden;
}

.fnc-slide.m--before-sliding {
    z-index: 2 !important;
    transform: translate3d(100%, 0, 0);
    visibility: visible;
}

.fnc-slide.m--active-slide {
    z-index: 1;
    transition: transform 1s 0.6666666667s ease-in-out;
    transform: translate3d(0, 0, 0);
    visibility: visible;
}

.fnc-slide.m--previous-slide {
    z-index: 0;
    visibility: visible;
}

/* Slide Inner (Background Image) */
.fnc-slide__inner {
    position: relative;
    height: 100%;
    background-size: cover;
    background-position: center center;
    transform: translate3d(0, 0, 0);
}

.m--global-blending-active .fnc-slide__inner,
.m--blend-bg-active .fnc-slide__inner {
    background-blend-mode: normal;
}

.m--before-sliding .fnc-slide__inner {
    transform: translate3d(-100%, 0, 0);
}

.m--active-slide .fnc-slide__inner {
    transition: transform 1s 0.6666666667s ease-in-out;
    transform: translate3d(0, 0, 0);
}

/* Slide Mask (GON 濡쒓퀬 留덉뒪?? */
.fnc-slide__mask {
    display: none;
    /* 濡쒓퀬 留덉뒪???④? */

    overflow: hidden;
    z-index: 1;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 25vh;
    height: 33vh;
    /* 濡쒓퀬 留덉뒪??- 25% ?ш린 */
    -webkit-mask-image: url('../images/gonmask.webp');
    mask-image: url('../images/gonmask.webp');
    -webkit-mask-size: 25%;
    mask-size: 25%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transform-origin: center center;
    transition-timing-function: ease-in-out;
}

.m--before-sliding .fnc-slide__mask {
    transform: translate(-50%, -50%) rotate(-10deg) translate3d(200px, 0, 0);
    opacity: 0;
}

.m--active-slide .fnc-slide__mask {
    transition: transform 0.7s 1.2222222222s, opacity 0.35s 1.2222222222s;
    transform: translate(-50%, -50%);
    opacity: 1;
}

.m--previous-slide .fnc-slide__mask {
    transition: transform 0.7s 0.3333333333s, opacity 0.35s 0.6833333333s;
    transform: translate(-50%, -50%) rotate(10deg) translate3d(-200px, 0, 0);
    opacity: 0;
}

/* Mask Inner */
.fnc-slide__mask-inner {
    z-index: -1;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 100vw;
    height: 100vh;
    margin-left: -50vw;
    margin-top: -50vh;
    background-size: cover;
    background-position: center center;
    background-blend-mode: normal;
    transform-origin: 50% 16.5vh;
    transition-timing-function: ease-in-out;
}

.m--before-sliding .fnc-slide__mask-inner {
    transform: translateY(0) rotate(10deg) translateX(-200px) translateZ(0);
}

.m--active-slide .fnc-slide__mask-inner {
    transition: transform 0.7s 1.2222222222s;
    transform: translateX(0);
}

.m--previous-slide .fnc-slide__mask-inner {
    transition: transform 0.7s 0.3333333333s;
    transform: translateY(0) rotate(-10deg) translateX(200px) translateZ(0);
}

/* Slide Content */
.fnc-slide__content {
    z-index: 2;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

/* Slide Heading */
.fnc-slide__heading {
    margin-bottom: 10px;
    text-transform: uppercase;
}

.fnc-slide__heading-line {
    overflow: hidden;
    position: relative;
    padding-right: 10px;
    font-size: 50px;
    /* 泥?踰덉㎏ 以?湲곕낯 ?ш린 */
    color: #fff;
    word-spacing: 5px;
    text-align: center;
    /* ?쇳꽣 ?뺣젹 */
}

.fnc-slide__heading-line:nth-child(2) {
    padding-left: 0;
    font-size: 14px;
    /* ??踰덉㎏ 以꾨쭔 14px */
}

.m--before-sliding .fnc-slide__heading-line {
    transform: translateY(100%);
}

.m--active-slide .fnc-slide__heading-line {
    transition: transform 1.5s 1s;
    transform: translateY(0);
}

.m--previous-slide .fnc-slide__heading-line {
    transition: transform 1.5s;
    transform: translateY(-100%);
}

.fnc-slide__heading-line span {
    display: block;
}

.m--before-sliding .fnc-slide__heading-line span {
    transform: translateY(-100%);
}

.m--active-slide .fnc-slide__heading-line span {
    transition: transform 1.5s 1s;
    transform: translateY(0);
}

.m--previous-slide .fnc-slide__heading-line span {
    transition: transform 1.5s;
    transform: translateY(100%);
}

/* Action Button */
.fnc-slide__action-btn {
    position: relative;
    margin-left: 200px;
    padding: 5px 15px;
    font-size: 20px;
    line-height: 1;
    color: transparent;
    border: none;
    text-transform: uppercase;
    background: transparent;
    cursor: pointer;
    text-align: center;
    outline: none;
}

.fnc-slide__action-btn span {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    perspective: 1000px;
    transform-style: preserve-3d;
    transition: transform 0.3s;
    transform-origin: 50% 0;
    line-height: 30px;
    color: #fff;
}

.fnc-slide__action-btn span:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #fff;
    border-top: none;
    border-bottom: none;
}

.fnc-slide__action-btn span:after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    line-height: 30px;
    background: #1F2833;
    opacity: 0;
    transform-origin: 50% 0;
    transform: translateY(100%) rotateX(-90deg);
    transition: opacity 0.15s 0.15s;
}

.fnc-slide__action-btn:hover span {
    transform: rotateX(90deg);
}

.fnc-slide__action-btn:hover span:after {
    opacity: 1;
    transition: opacity 0.15s;
}

/* Navigation */
.fnc-nav {
    z-index: 5;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
}

.fnc-nav__bgs {
    z-index: -1;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.fnc-nav__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* background 제거 */
}

.fnc-nav__bg.m--nav-bg-before {
    z-index: 2 !important;
    transform: translateX(100%);
}

.fnc-nav__bg.m--active-nav-bg {
    z-index: 1;
    transition: transform 1s 0.6666666667s;
    transform: translateX(0);
}

.fnc-nav__label {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: rgba(255, 255, 255, 0.85);
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    font-weight: 500;
}

.fnc-nav__label-sep {
    opacity: 0.4;
}

.fnc-nav__counter-current {
    color: #fff;
    font-weight: 600;
}

.fnc-nav__counter-total {
    opacity: 0.55;
}

.fnc-nav__controls {
    font-size: 0;
    display: flex;
    gap: 8px;
}

.fnc-nav__control {
    /* overflow: hidden; 제거 - 클릭 영역 확장을 위해 */
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 37px;
    height: 3px;
    font-size: 0;
    color: transparent;
    text-indent: -9999px;
    background: #fff;
    opacity: 0.7;
    /* 흰색 바 투명도 70% */
    border: none;
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

/* 클릭 영역 확장 */
.fnc-nav__control::after {
    content: '';
    position: absolute;
    top: -15px;
    bottom: -15px;
    left: 0;
    right: 0;
}

.fnc-nav__control.m--active-control {
    background: #c41e3a;
    opacity: 1;
    /* 활성 상태는 투명도 없음 */
}

/* 네비 클릭 후 이미지 로드 대기 중 깜빡임 표시 */
.fnc-nav__control.m--loading {
    animation: fncNavLoading 0.8s ease-in-out infinite;
}

@keyframes fncNavLoading {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

.fnc-nav__control-progress {
    display: none;
    /* 湲곗〈 踰꾪듉 ?대? ?꾨줈洹몃옒???④? */
}

/* 텍스트 아래 250px 프로그래스 바 - 제거됨 */
.fnc-slider::before {
    display: none;
}

.fnc-slider.m--with-autosliding::before {
    display: none;
}

@keyframes headerProgress {
    0% {
        transform: translateX(-50%) scaleX(0);
    }

    100% {
        transform: translateX(-50%) scaleX(1);
    }
}

/* Demo Container */
.demo-cont {
    overflow: hidden;
    position: relative;
    height: 100vh;
    perspective: 1500px;
    background: #000;
}

.example-slider {
    z-index: 2;
    transform: translate3d(0, 0, 0);
    transition: transform 0.7s;
}

.example-slider .fnc-slide__heading,
.example-slider .fnc-slide__action-btn,
.example-slider .fnc-nav__control {
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
}