:root {
    --vh: 100%;
}

/* 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: flex;
            justify-content: space-between;
            align-items: center;

            width: 100%;
            height: 100%;
            margin: 0;

            .logo {
                width: 190px;

                transition: all .4s;
                overflow: hidden;

                a {
                    display: block;
                    width: 100%;
                    height: 100%;
                    line-height: 1;

                    img {
                        width: 100%;
                        height: 100%;
                        transition: transform .25s cubic-bezier(0.33, 1, 0.68, 1);
                        opacity: 0.85;
                    }
                }
            }

            .menu {
                display: none;

                &.hidden {
                    display: none;
                }

                .items {
                    display: flex;
                    align-items: center;
                    gap: 30px;
                    padding: 0;
                    margin: 0;

                    li {
                        line-height: 1;

                        a {
                            display: block;
                            font-size: 16px;
                            color: rgba(0, 0, 0, 0.85);
                        }
                    }
                }
            }

            .instagram {
                display: none;

                a {
                    display: block;
                    width: 25px;

                    img {
                        width: 100%;
                        filter: invert(1);
                    }
                }
            }
        }

        &::before, &::after {
            content: none;
        }

        @media screen and (min-width: 1100px) {
            padding: 0 var(--COMMON-PADDING-20);

            .header-container {
                display: grid;
                grid-template-columns: 250px 1fr 250px;

                .logo {
                    justify-self: center;
                    width: fit-content;
                    height: 26px;
                }

                .menu {
                    display: block;
                }

                .instagram {
                    justify-self: end;
                    display: block;
                }
            }
        }
    }

    /* 햄버거 버튼 */
    .menu-trigger {
        position: fixed;
        top: 40px;
        right: var(--COMMON-PADDING);
        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 .25s cubic-bezier(0.33, 1, 0.68, 1);

            display: inline-block;
            width: 100%;
            height: 2px;

            background-color: rgba(0, 0, 0, 0.85);
            box-sizing: border-box;

            &:nth-of-type(1) { top: 0; }
            &:nth-of-type(2) { top: 8px; left: auto; right: 0; }
            &:nth-of-type(3) { bottom: 0; }
        }

        &.active-1 {
            span {
                &:nth-of-type(1) { -webkit-transform: translateY (8px) rotate (45deg); transform: translateY(8px) rotate(45deg); background-color: rgba(0, 0, 0, 0.85); }
                &:nth-of-type(2) { opacity: 0; }
                &:nth-of-type(3) { -webkit-transform: translateY(-8px) rotate(-45deg); transform: translateY(-8px) rotate(-45deg); background-color: rgba(0, 0, 0, 0.85); }
            }
        }

        @media screen and (min-width: 1100px) {
            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;

            .logo {
                position: absolute;
                top: 39px;
                left: var(--COMMON-PADDING);
                z-index: 1;

                width: 190px;
                overflow: hidden;

                a {
                    display: block;
                    line-height: 1;

                    img {
                        width: 100%;
                    }
                }
            }

            .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;

                    width: 100%;
                    height: 100%;

                    padding: 120px var(--COMMON-PADDING) 30px;
                    -ms-overflow-style: none; /* IE and Edge */
                    scrollbar-width: none; /* Firefox */

                    .section-split-cont-nav-box {
                        display: flex;
                        flex-direction: column;
                        gap: min(15vw, 60px);
                        width: 100%;

                        a {
                            display: block;
                            width: fit-content;

                            font-size: min(8vw, 42px);
                            line-height: 1;
                            color: var(--FONT-COLOR);

                            &.instagram {
                                display: flex;
                                align-items: center;
                                gap: 5px;

                                font-size: min(5vw, 20px);

                                margin-top: auto;
                                padding-bottom: 5px;
                                border-bottom: 2px solid rgba(0, 0, 0, 0.85);
                            }
                        }

                        .copyright {
                            font-size: min(3vw, 12px);
                            color: #999;
                            line-height: 1;
                        }
                    }

                    &::-webkit-scrollbar { display: none; }
                }
            }
        }

        &::before, &::after { content: none; }

        @media screen and (min-width: 1024px) {
            display: none !important;
        }
    }

/* Footer */
    footer {
        width: 100%;
        margin-top: var(--COMMON-PADDING-100);
        padding: 0 var(--COMMON-PADDING);

        .footer-container {
            width: 100%;
            border-top: 1px solid rgba(0, 0, 0, 0.85);
            padding: var(--COMMON-PADDING-50) 0;

            .items {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                gap: 2rem;

                width: 100%;
                height: 100%;

                .item {
                    display: flex;
                    flex-direction: column;
                    gap: 0.5rem;

                    .thumb {
                        width: 113px;

                        img {
                            opacity: 0.85;
                        }
                    }

                    span {
                        display: block;
                        font-size: min(2.9vw, 12px);
                        line-height: 1;

                        &.copyright {
                            padding-top: 10px;
                        }
                    }
                }
            }
        }

        @media screen and (min-width: 1100px) {
            .footer-container {
                .items {
                    flex-direction: row;
                    justify-content: normal;
                    gap: 3rem;

                    .item {
                        &:last-of-type {
                            width: 100%;
                        }
                    }
                }
            }
        }
    }

/* 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);
        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);
        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;
            outline: none;

            &::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);
        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: rgba(0, 0, 0, 0.85);
            border-color: var(--COLOR-E0);
            background-color: #fff;

            &:hover {
                color: #fff;
                border-color: transparent;
                background-color: var(--BASE-COLOR);
            }
        }
    }