@charset "UTF-8";

@import url('./reset.css');
@import url('./variables.css');
@import url('./font.css');
@import url('./fullpage.min.css');

html {
    font-size: 16px;
}

body {
    width: 100%;
    font-family: var(--font-family), -apple-system, "Malgun Gothic", "맑은 고딕", helvetica, "Apple SD Gothic Neo", sans-serif;
    font-weight: var(--font-w-regular);
    line-height: 1.2;
    letter-spacing: 0;
    color: var(--gray-200);
    overflow: hidden;
}

.pc { display: block !important;}
.mo { display: none !important;}

/* ============== header ==============  */
#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding-top: 42px;
    background: transparent;
    font-family: var(--font-tit);
    color: var(--gray-200);
    transition: color 0.2s 0.2s ease;
    z-index: 1000;
}

#header .header-inner {
    position: relative;
    padding: 0 var(--sub-p);
    padding-left: calc(122px + (var(--sub-p) * 2));
    margin: 0 auto;
    max-width: 1920px;
    width: 100%;
}

#header h1 {
    position: absolute;
    top: 0;
    left: var(--sub-p);
    width: 122px;
    height: 46px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('../images/img-logo.png');
    transition: background-image 0.2s 0.2s ease;
}

#header h1 a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#header .header-inner > .nav {
    display: flex;
    align-items: center;
    max-width: var(--container);
    width: 100%;
    height: 46px;
    padding: 0 var(--main-p);
    margin: 0 auto;
    text-align: center;
}

#header .header-inner > .nav li {
    position: relative;
    margin-right: 66px;
    line-height: 1;
}

#header .header-inner > .nav li:last-child {
    margin-right: 0;
}

#header .header-inner > .nav li::before {
    content: '';
    display: block;
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--border-400);
    opacity: 0;
    transition: all 0.5s 0.5s ease;
}

#header .header-inner > .nav li a {
    font-size: var(--font-size-22);
    font-weight: var(--font-w-regular);
    transition: font-weight 0.2s 0.2s ease, color 0.2s 0.2s ease;
}

#header .header-inner > .nav li.active::before {
    opacity: 1;
}

#header .header-inner > .nav li:hover a,
#header .header-inner > .nav li:focus a,
#header .header-inner > .nav li.active a {
    font-weight: var(--font-w-bold);
}

#header .header-btn {
    position: relative;
    margin-top: .75rem;
    margin-left: auto;
    width: 3.063rem;
    height: 2.5rem;
}

#header .header-btn i {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.25rem;
    background-color: var(--gray-150);
}

#header .header-btn i:nth-child(1) {
    top: 0px;
}

#header .header-btn i:nth-child(2) {
    top: 1.125rem;
}

#header .header-btn i:nth-child(3) {
    top: 2.25rem;
}

#header .header-btn,
#header .header-menu {
    display: none;
}

#header .header-menu {
    position: fixed;
    top: 0;
    right: 0;
    max-width: 62.4vw;
    width: 100%;
    padding: 0 2.75rem;
    height: 100vh;
    transition: 0.5s ease;
    z-index: 1;
    background-color: var(--primary);
    color: var(--white);
    overflow: hidden;
    transform: translateX(100%);
}

#header .header-menu.active {
    transform: translateX(0%);
}

#header .header-menu .header-close-btn {
    margin-top: 3.5rem;
    margin-left: auto;
    display: block;
    width: 21px;
    height: 20px; 
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url('../images/i-close.png');
}

#header .header-menu .nav {
    padding-top: 2.625rem;
    font-size: var(--font-size-32);
    font-weight: var(--font-w-medium);
    line-height: 1;
}

#header .header-menu .nav li {
    margin-bottom: 4.125rem;
}

#header .header-menu .nav li:last-child {
    margin-bottom: 0;
}

/* header white */
#header.white {
    color: var(--white);
}

#header.white h1 {
    background-image: url('../images/img-logo_w.png');
}

#header.white .nav li::before {
    background-color: var(--bg-100);
}

#header.white .header-btn i {
    background-color: var(--white);
}

/* ============== footer ==============  */

#footer {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 var(--sub-p);
    height: 100px;
    background-color: var(--gray-50);
    text-align: center;
}

#footer p {
    font-family: var(--font-tit);
    font-size: var(--font-size-16);
    color: var(--white);
}

#footer br {
    display: none;
}

/* ============== aside ==============  */
#aside {
    position: fixed;
    top: 0;
    right: 72px;
    display: flex;
    align-items: center;
    height: 100vh;
    color: var(---border-200);
    transition: color 0.2s ease;
}

#aside::before {
    position: absolute;
    top: 0;
    right: 3px;
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: var(--border-200);
    transition: all 0.2s 0.2s ease;
    opacity: 0.5;
}

#aside .nav li {
    position: relative;
    margin-bottom: 36px;
    padding-right: 20px;
    text-align: center;
    transition: all 0.2s 0.2s ease;
}

#aside .nav li:last-child {
    margin-bottom: 0;
}

#aside .nav li::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 8px;
    height: 8px;
    transform: translateY(-50%);
    background-color: var(--border-200);
    border-radius: 100%;
    transition: all 0.3s 0.2s ease;
}

#aside .nav li a {
    font-family: var(--font-tit);
    font-size: var(--font-size-16);
    font-weight: var(--font-w-light);
    color: var(--border-200);
    line-height: 1;
    transition: all 0.3s 0.2s ease;
}

#aside .nav li.active::before {
    background-color: var(--gray-300);
}

#aside .nav li.active a {
    font-weight: var(--font-w-semibold);
    color: var(--gray-300);
} 

/* aside white */

#aside.white::before {
    background-color: var(--white);
}

#aside.white .nav li::before {
    background-color: var(--bg-white);
}

#aside.white .nav li.active::before {
    background-color: var(--white);
}

#aside.white .nav li a,
#aside.white .nav li.active a {
    color: var(--white);
} 
/* ============== tab ==============  */
.scroll {
    margin-bottom: 7.4074vh;
}

.tab-list {
    display: flex;
    margin: 0 auto;
    width: 100%;
}

.tab-list li {
    margin-right: 10px;
    padding: 24px;
    height: 3.4375rem;
    border-radius: 50em;
    font-size: var(--font-size-20);
    font-weight: var(--font-w-bold);
    color: var(--gray-200);
}

.tab-list li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-align: center;
}

/* tab 활성화 */
.tab-list li.active {
    background-color: var(--primary);
    color: var(--white);
}

.tab-list li.active::before {
    opacity: 1;
}

.tab-content .tab-pane {
    display: none;
}
.tab-content .tab-pane.active {
    display: block;
}

/* ==============  animation ==============  */

.animated { 
    -webkit-animation-duration: 1s; 
    animation-duration: 1s; 
    -webkit-animation-fill-mode: both; 
    animation-fill-mode: both; 
}
.delay-0 { -webkit-animation-delay: 0.6s; animation-delay: 0.6s; }
.delay-1 { -webkit-animation-delay: 0.8s; animation-delay: 0.8s; }
.delay-2 { -webkit-animation-delay: 1s; animation-delay: 1s; }
.delay-50 { -webkit-animation-delay: 0.05s; animation-delay: 0.05s; }
.delay-100 { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; }
.delay-150 { -webkit-animation-delay: 0.15s; animation-delay: 0.15s; }
.delay-200 { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; }
.delay-250 { -webkit-animation-delay: 0.25s; animation-delay: 0.25s; }
.delay-300 { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; }
.delay-350 { -webkit-animation-delay: 0.35s; animation-delay: 0.35s; }
.delay-400 { -webkit-animation-delay: 0.4s; animation-delay: 0.4s; }
.delay-450 { -webkit-animation-delay: 0.45s; animation-delay: 0.45s; }
.delay-500 { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }
.delay-550 { -webkit-animation-delay: 0.55s; animation-delay: 0.55s; }
.delay-600 { -webkit-animation-delay: 0.6s; animation-delay: 0.6s; }
.delay-650 { -webkit-animation-delay: 0.65s; animation-delay: 0.65s; }
.delay-700 { -webkit-animation-delay: 0.7s; animation-delay: 0.7s; }
.delay-750 { -webkit-animation-delay: 0.75s; animation-delay: 0.75s; }
.delay-800 { -webkit-animation-delay: 0.8s; animation-delay: 0.8s; }
.delay-850 { -webkit-animation-delay: 0.85s; animation-delay: 0.85s; }
.delay-900 { -webkit-animation-delay: 0.9s; animation-delay: 0.9s; }
.delay-950 { -webkit-animation-delay: 0.95s; animation-delay: 0.95s; }
.delay-1000 { -webkit-animation-delay: 1s; animation-delay: 1s; }


@-webkit-keyframes fadeUp { 
    0% { 
        opacity: 0; 
        -webkit-transform: translateY(20px); 
    }
    100% { 
        opacity: 1; 
        -webkit-transform: translateY(0); 
    } 
} 

@keyframes fadeUp { 
    0% { 
        opacity: 0; 
        transform: translateY(20px); 
    } 
    100% { 
        opacity: 1; 
        transform: translateY(0); 
    } 
} 
.fadeUp{
    opacity: 0; 
    -webkit-transform: translateY(50px); 
    transform: translateY(50px); 
}
.fadeUp.active { 
    -webkit-animation-name: fadeUp; 
    animation-name: fadeUp; 
}