html, body {
    min-width: 1024px;
    height: 100vh;
    overflow-y: clip;

    /* iOS only */
    @supports (-webkit-touch-callout: none) {
        height: -webkit-fill-available;
    }
}

#app {
    width: inherit;
    height: inherit;
}

/* 상단 */
#header {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    min-height: 60px;
    background: #001620;
    border-bottom: 1px solid #444;

    & article {
        height: inherit;

        ul,
        ul li {
            position: relative;
            height: inherit;
            align-items: center;
        }

        a {
            display: block;
            text-decoration: none;
            color: #d6d6d6;
            height: inherit;

            &:hover,
            &:focus,
            &:active {
                color: #fff;
                text-decoration: underline;
            }
        }

        // 로고
        &:nth-of-type(1) {
            display: flex;
            flex: 0 0 25%;

            a {
                font-size: 30px;
                font-family: 'Open-Sans-Extrabold';
                color: #e8e8e8;

                &:hover,
                &:focus,
                &:active {
                    color: #fff;
                    text-decoration: none;
                }
            }
        }

        // 메뉴
        &:nth-of-type(2) {
            display: flex;
            flex: 1 0 calc(50% - 20px);
            justify-content: center;
            height: inherit;

            ul {
                li {
                    line-height: 44px;

                    a.active:after {
                        background-color: #ffdf1b;
                        width: inherit;
                        height: 1px;
                        position: absolute;
                        left: 0;
                        bottom: 0;
                        content: " ";
                        margin: 0 var(--bs-nav-link-padding-x);
                        right: 0;
                    }
                }
            }
        }

        // 로그인, 회원가입, 내 정보
        &:nth-of-type(3) {
            display: flex;
            flex: 0 0 25%;
            justify-content: end;

            & ul {
                flex-wrap: nowrap;
                justify-content: end;
                align-items: center;

                & li {
                    color: rgba(255, 255, 255, 0.7);

                    a {
                        height: initial;
                    }

                    span {
                        vertical-align: middle;
                    }

                    // dropdown
                    .dropdown {
                        .dropdown-menu {
                            .dropdown-item {
                                color: #0f0f0f;
                            }
                        }
                    }
                }
            }
        }
    }
}

#main {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: inherit;
    height: inherit;
    background: #000;

    // 왼쪽
    > nav {
        flex: 1 0 230px;
        max-width: 230px;
        background: #0f0f0f;
        border-right: 1px solid #2c2c2c;
        padding-top: 6px;
        overflow-y: auto;
        z-index: 1;
        height: calc(100vh - 60px);
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;

        .ad-coupang {
            padding: 15px 16px 15px 16px;
            height: auto;
            margin-top: auto;
            line-height: 0;

            small {
                font-size: 11px;
                color: #bbbbbb;
                line-height: 15px;
                margin-top: 10px;
                display: block;
            }
        }

        table {
            width: 100%;

            caption {
                caption-side: top;
                padding: 0 16px;
            }

            tr {
                th {
                    text-align: left;
                    padding: 3px 16px;
                    font-weight: inherit;
                }

                td {
                    text-align: right;
                    padding: 3px 16px;
                }
            }
        }

        address {
            color: #8d8d8d;
            padding: 8px 16px 0 16px;
            text-align: center;
            font-size: 13px;
        }
    }

    // 우측
    > aside {
        height: inherit;
        flex: 2 0 calc(100% - 230px);
        max-width: calc(100% - 230px);

        > article {
            position: relative;
            height: calc(100vh - 120px);
            padding: 20px 10px;
            overflow-y: auto;
        }

        > footer {
            height: 60px;
            border-top: 1px solid #2c2c2c;
            background: #070707;
            padding: 0 10px;

            > div {
                height: 100%;
                margin: 0;

                ul {
                    padding: 0;
                    margin: 0;
                    list-style: none;

                    li {
                        display: inline-block;
                        vertical-align: middle;
                    }
                }
            }

            a {
                img {
                    width: 100%;
                    max-width: 120px;
                }
            }
        }
    }
}

.pagination {
    justify-content: center;
    padding: 0;
    margin: 0;

    ul {
        margin: 0;
        padding: 0;

        li {
            a {
                &:hover,
                &:focus,
                &:active {
                    text-decoration: none;
                }
            }
        }
    }
}
