:root {
    --vh: 100%;
}

/* Default */
    /* 스크롤바 스타일 설정 */
    body::-webkit-scrollbar { width: 6px; }

    /* 스크롤바 막대 설정*/ 
    body::-webkit-scrollbar-thumb { background-color: #111; }

    /* 스크롤바 뒷 배경 설정*/ 
    body::-webkit-scrollbar-track { background-color: #ffffff; }
    body.open::-webkit-scrollbar-thumb { background-color: #111; }
    body.open::-webkit-scrollbar-track { background-color: #111; }
/* Header */
    header {
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: 102;

        width: 100%;
        height: var(--HEADER-HEIGHT);

        padding: 0 var(--COMMON-PADDING);
        border-bottom: 1px solid transparent;
        transition: background-color .25s cubic-bezier(0.33, 1, 0.68, 1);

        .header-container {
            position: relative;
            transition: all .4s;

            display: grid;
            align-items: center;

            width: 100%;
            height: 100%;
            margin: 0;

            .logo {
                width: clamp(200px, 40vw, 250px);
                height: clamp(19px, 3.8vw, 23px);

                transition: all .4s;
                overflow: hidden;

                a {
                    display: block;
                    line-height: 1;

                    img {
                        width: 100%;
                        transition: transform .25s cubic-bezier(0.33, 1, 0.68, 1);
                    }
                }
            }

            .menu {
                display: none;
                justify-self: center;

                &.hidden {
                    display: none;
                }

                .items {
                    display: flex;
                    gap: 50px;
                    padding: 0;
                    margin: 0;

                    li {
                        line-height: 1;

                        a {
                            display: block;
                            font-size: 18px;
                            font-weight: 700;
                            color: #fff;
                        }
                    }
                }
            }

            .etc {
                display: none;

                p {
                    font-size: 20px;
                    font-weight: 700;
                    text-align: right;
                    line-height: 1;
                    color: #fff;
                }
            }
        }

        &.scroll {
            border-color: var(--COLOR-EF);
            background-color: #fff;

            .header-container {
                .logo {
                    a {
                        img {
                            transform: translateY(-50%);
                        }
                    }
                }

                .menu {
                    .items {
                        li {
                            a {
                                color: #000;
                            }
                        }
                    }
                }

                .etc {
                    p {
                        color: #000;
                    }
                }
            }
        }

        &::before, &::after {
            content: none;
        }

        @media screen and (min-width: 1350px) {
            .header-container {
                grid-template-columns: 250px 1fr 250px;

                .menu {
                    display: block;
                }

                .etc {
                    display: block;
                }
            }
        }
    }

    /* 햄버거 버튼 */
    .menu-trigger {
        position: fixed;
        top: 30px;
        right: 20px;
        transition: all .35s cubic-bezier(0.33, 1, 0.68, 1);
        z-index: 1000;

        display: inline-block;
        width: 19px;
        height: 18px;

        box-sizing: border-box;
        cursor: pointer;

        span {
            position: absolute;
            left: 0;
            transition: all .4s;

            display: inline-block;
            width: 100%;
            height: 3px;

            background-color: #fff;
            box-sizing: border-box;

            &:nth-of-type(1) { top: 0; }
            &:nth-of-type(2) { top: 7px; left: auto; right: 0; width: calc(100% - 6px); }
            &:nth-of-type(3) { bottom: 0; }
        }

        &.active-1 {
            span {
                &:nth-of-type(1) { -webkit-transform: translateY (7px) rotate (45deg); transform: translateY(7px) rotate(45deg); background-color: var(--BASE-COLOR); }
                &:nth-of-type(2) { opacity: 0; }
                &:nth-of-type(3) { -webkit-transform: translateY(-8px) rotate(-45deg); transform: translateY(-8px) rotate(-45deg); background-color: var(--BASE-COLOR); }
            }
        }

        &.scroll {
            span {
                background-color: var(--BASE-COLOR);
            }
        }

        @media screen and (min-width: 1350px) {
            display: none !important;
        }
    }

    /* 오버레이 메뉴 */
    .section-split-stage {
        position:fixed;
        top:0px;
        left:0px;
        z-index:103;

        display: none;
        width:100vw;
        height: 100vh;

        .section-split-cont-stage {
            position: relative;
            width: 100%;
            height:100%;
            background-color: #fff;

            .section-split-cont-box {
                position: fixed;
                transition: all 0.4s;
                width:100%;
                height:100%;
                overflow-y: auto;

                &.open { opacity: 1; }

                .section-split-cont {
                    position:relative;
                    display: grid;
                    align-items: center;

                    max-width: var(--max-width);
                    width: 100%;
                    height: 100%;

                    padding: 3rem;
                    -ms-overflow-style: none; /* IE and Edge */
                    scrollbar-width: none; /* Firefox */

                    .section-split-cont-nav-box {
                        display: flex;
                        flex-direction: column;

                        max-width: var(--max-width);
                        width: 100%;

                        a {
                            font-size: 16px;
                            font-weight: 700;
                            line-height: 1;

                            padding: 2rem 0;
                            border-bottom: 1px solid var(--COLOR-E0);
                            transition: color .2s;

                            &:hover {
                                color: #00a287;
                            }
                        }
                    }

                    &::-webkit-scrollbar { display: none; }
                }
            }
        }

        &::before, &::after { content: none; }

        @media screen and (min-width: 1024px) {
            display: none !important;
        }
    }

/* Footer */
    footer {
        width: 100%;
        height: calc((var(--vh, 1vh) * 100) - var(--HEADER-HEIGHT) - 60px);
        padding: 50px var(--COMMON-PADDING);
        background-color: var(--BASE-COLOR);

        .items {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 100%;
            height: 100%;

            .item {
                display: flex;
                flex-direction: column;
                gap: 0.8rem;

                a {
                    align-self: center;
                    display: block;
                    font-size: min(6vw, 32px);
                    font-weight: 900;
                    text-align: center;
                    line-height: 1;
                    color: #fff;
                    margin-bottom: var(--COMMON-PADDING);
                }

                span {
                    align-self: center;
                    display: block;
                    font-size: min(3vw, 14px);
                    font-weight: 400;
                    text-align: center;
                    line-height: 1;
                    color: #fff;

                    &.copyright {
                        margin-top: 50px;
                    }
                }
            }
        }

        @media screen and (min-width: 1024px) {
            height: calc((var(--vh, 1vh) * 100) - var(--HEADER-HEIGHT));
        }
    }

    .footer-mobile {
        position: relative;
        display: block;
        width: 100%;
        height: 60px;

        .footer-mobile-button {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            z-index: 102;

            display: grid;
            grid-template-columns: repeat(2, 1fr);

            a {
                display: grid;
                align-items: center;

                width: 100%;
                height: 60px;

                font-size: 16px;
                font-weight: 500;
                text-align: center;
                line-height: 1;

                padding-top: 1px;
                background-color: #fff;

                &.tel {
                    color: #fff;
                    background-color: var(--BASE-COLOR);
                }
            }

        }

        @media screen and (min-width: 1024px) {
            display: none;
        }
    }

/* Components */
    .mui-input {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 40px;

        padding: 0 15px;
        margin: 0;

        font-size: min(3vw, 14px);
        font-weight: 500;
        line-height: normal;

        transition: border-color .35s cubic-bezier(0.33, 1, 0.68, 1);
        border: 1px solid var(--COLOR-E0);
        border-radius: 5px;
        box-sizing: border-box;

        &:hover {
            border-color: var(--COLOR-B0);
        }
    }

    .mui-textarea {
        width: 100%;
        height: 200px;

        padding: 15px;
        margin: 0;

        font-size: min(3vw, 14px);
        font-weight: 500;
        line-height: 1.5;

        transition: border-color .35s cubic-bezier(0.33, 1, 0.68, 1);
        border: 1px solid var(--COLOR-E0);
        border-radius: 5px;
        background-color: #fff;
        appearance: none;
        -webkit-appearance: none;
        resize: none;

        &:hover {
            border-color: var(--COLOR-B0);
        }
    }

    .mui-check {
        position: relative;
        display: flex;
        align-items: center;
        gap: 0.5rem;

        input[type=checkbox],
        input[type=radio] {
            position: relative;
            display: grid;
            align-items: center;
            justify-content: center;

            width: 18px;
            height: 18px;

            padding: 0;
            margin: 0;

            border: 1px solid var(--COLOR-E0);
            border-radius: 3px;
            appearance: none;
            -webkit-appearance: none;
            cursor: pointer;

            &::before {
                content: "";
                position: absolute;
                top: 7px;
                left: 5px;
                transform: rotate(-45deg);

                display: block;
                width: 2px;
                height: 5px;
                background-color: #fff;
                opacity: 0;
            }

            &::after {
                content: "";
                position: absolute;
                top: 4px;
                left: 8px;
                transform: rotate(45deg);

                display: block;
                width: 2px;
                height: 8px;
                background-color: #fff;
                opacity: 0;
            }

            &:checked {
                border-color: transparent;
                background-color: var(--BASE-COLOR);

                &::before,
                &::after {
                    opacity: 1;
                }
            }
        }
    }

    .mui-button {
        position: relative;
        display: grid;
        align-items: center;

        width: 100%;
        height: 50px;

        font-size: min(4vw, 18px);
        font-weight: 500;
        text-align: center;
        color: #fff;

        transition: background-color .35s cubic-bezier(0.33, 1, 0.68, 1);
        border: 1px solid transparent;
        border-radius: 3px;
        background-color: var(--BASE-COLOR);
        outline: none;

        &:hover {
            background-color: #b7151c;
        }

        &.white {
            color: #000;
            border-color: var(--COLOR-E0);
            background-color: #fff;

            &:hover {
                color: #fff;
                border-color: transparent;
                background-color: var(--BASE-COLOR);
            }
        }
    }