@charset "UTF-8";

/* animation */
@keyframes BtnHoverEffect {
    0% {
        transform: scale(0);
    }
    40% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1.05);
    }
}

@keyframes wid0to100 {
    0% {
        width: 0;
    }
    50% {
        width: 0%;
    }
    100% {
        width: 100%;
    }
}


/* reset */
* { margin: 0; padding: 0; box-sizing: border-box;}
li { list-style: none; }
input, select { outline: none; border: none; font-family: inherit; background-color: transparent; }

html, body {
    /* overflow-x: hidden; */
    /* overflow-y: auto; */
}

/* 변수 정의 */
:root {
    --font-size-small: 1.1rem;
    --font-size-medium: 1.5rem;
    --font-size-larger: 4rem;

    --header-width: 8rem;

    --black-bg: #181818;
    --white: #fff;
    --point-green: #00c389;
    --detail-bg: rgb(230, 230, 230);
    --gray-btn: #eaeaea;
    --gray-bg: #f5f5f5;
    --gray-hover: #4f4f4f;
    --gray-bg-dark: #e6e6e6;
    --footer-bg: #2a2a2a;
}


/* #wrap */
#wrap {
    font-size: 14px;
    font-family: 'Work Sans', sans-serif;
}


/* scrollbar 스타일 정의 */
::-webkit-scrollbar {
    /* width: 8px; */
    display: none;
}
::-webkit-scrollbar-thumb {
    /* height: 8%;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 8px; */
}
::-webkit-scrollbar-track{ 
    /* background-color: transparent;  */
}


/* 공통 class 스타일 정의 */
    /* .inner */
.inner {
    width: calc(100vw - var(--header-width));
    float: right;
}
    /* .inner-container */
.inner-container {
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
}

    /* .hover-green */
.hover-green {
    position: relative;
    cursor: pointer;
}
.hover-green::after {
    display: block;
    content: "";
    height: 1px;
    background-color: var(--point-green);
    transition: 0.5s;
    transform: scaleX(0);
}
.hover-green:hover::after {
    transform: scaleX(100%);
}

    /* .circle-btn */
.circle-btn {
    display: inline-block;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
}
.circle-btn i {
    font-size: var(--font-size-medium);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.circle-btn::before {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    width: 80px;
    height: 80px;
    background-color: var(--black-bg);
    border-radius: 50%;
    transform: scale(0);
}
.circle-btn:hover {
    color: var(--white);
}
.circle-btn:hover::before {
    animation: BtnHoverEffect 0.5s forwards;
}

    /* .gray-btn */
.gray-btn {
    background-color: var(--gray-btn);
}
    /* .green-btn */
.green-btn {
    background-color: var(--point-green);
    color: var(--white);
}

    /* .title */
.title {
    font-size: var(--font-size-larger);
}

    /* .line */
.line {
    display: inline-block;
    width: 4rem;
    height: 1px;
    margin: 0 8px;
    position: relative;
}
.line::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    background-color: var(--black-bg);
}
.line.on::after {
    animation: wid0to100 0.8s forwards;
}

    /* .green-color */
.green-color {
    color: var(--point-green);
}
    /* .gray-color */
.gray-color {
    color: #939393;
    margin-bottom: 1.5rem;
}

    /* .btn-hover */
.btn-hover {
    overflow: hidden;
    cursor: pointer;
    position: relative;
    z-index: 2;
}
.btn-hover::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 51%;
    background-color: var(--gray-hover);
    z-index: -1;
    transition: 0.3s;
}
.btn-hover::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 49%;
    right: -100%;
    width: 100%;
    height: 51%;
    background-color: var(--gray-hover);
    z-index: -1;
    transition: 0.3s;
}
.btn-hover:hover::before {
    left: 0;
}
.btn-hover:hover::after {
    right: 0;
}

    /* .sectionTitle */
.sectionTitle {
    display: flex;
    align-items: center;
    margin-bottom: 5rem;
}

    /* .hover-green-2 */
.hover-green-2 {
    position: relative;
    cursor: pointer;
    display: inline-block;
}
.hover-green-2::after {
    margin-top: 3px;
    display: block;
    content: "";
    height: 2px;
    background-color: var(--point-green);
    transition: 0.3s;
    transform: scaleX(100%);
}
.hover-green-2:hover:after {
    transform: scaleX(60%);
}