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

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

#app {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

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

    article {

        // 로고
        &:nth-of-type(1) {
            flex-grow: 1;
            text-align: left;

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

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

        // 검색
        &:nth-of-type(2) {
            flex-grow: 0.5;
            height: 70%;

            form {
                position: relative;
                display: block;
                height: 100%;

                &::after {
                    display: block;
                    clear: both;
                    content: "";
                }

                input {
                    float: left;
                    width: 90%;
                    height: inherit;
                    border-width: 1px 0 1px 1px;
                    border-top-left-radius: 4px;
                    border-top-right-radius: 0;
                    border-bottom-right-radius: 0;
                    border-bottom-left-radius: 4px;
                    border-color: #444;
                    padding-left: 8px;
                    font-weight: normal;
                    -webkit-appearance: textfield; /* Safari and Chrome */
                    -moz-appearance: textfield; /* Firefox */
                    appearance: textfield; /* 화살표 없애기 공통 */

                    // X 버튼 삭제
                    &::-ms-clear,
                    &::-ms-reveal{
                        display: none;
                        width: 0;
                        height: 0;
                    }
                    &::-webkit-search-decoration,
                    &::-webkit-search-cancel-button,
                    &::-webkit-search-results-button,
                    &::-webkit-search-results-decoration{
                        display:none;
                    }

                    &:hover,
                    &:focus,
                    &:active {
                        outline: none;
                    }
                }

                button {
                    float: left;
                    width: 10%;
                    max-width: 35px;
                    height: inherit;
                    border-top-left-radius: 0;
                    border-top-right-radius: 4px;
                    border-bottom-right-radius: 4px;
                    border-bottom-left-radius: 0;
                    border-width: 1px 1px 1px 0;
                    border-color: #444;
                    padding: 0;
                    cursor: pointer;
                    background: #fff;

                    &:hover,
                    &:focus,
                    &:active {
                        background: #eee;
                    }
                }
            }
        }

        // 로그인, 회원가입, 내 정보
        &:nth-of-type(3) {
            flex-grow: 1;

            & 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 {
                        background: transparent;;

                        .dropdown-menu {
                            background: #f1f1f1;

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

// 메뉴
#aside {
    background: #151723;
    border-bottom: 1px solid #333;

    #nav {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: flex-start;
        gap: 10px;

        > a.nav-link {
            padding: 10px 0;
            color: #bbbbbb;

            &:hover,
            &:focus {
                font-weight: bold;
                color: #bbbbbb;
            }
        }

        ul {
            margin-bottom: auto;

            li {
                &.active {
                    a {
                        font-weight: bold;
                        color: #bbbbbb;
                    }
                }

                a {
                    line-height: 24px;
                    color: #bbbbbb;

                    &:hover,
                    &:focus {
                        font-weight: bold;
                        color: #bbbbbb;
                    }
                }
            }
        }
    }
}

/* 메인 */
#main {
    position: relative;
    background: #0d0d0d;
    padding: 20px 10px 50px 10px;
}

footer {
    background: #000;
    text-align: center;
    border-top: 1px solid #3d3d3d;

    // 쿠팡 광고
    .ad-coupang {
        padding: 15px 16px 0 16px;
        height: auto;
        margin-top: auto;
        line-height: 0;

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

    // 하단
    address {
        color: #7c7c7c;
        padding: 8px 16px 0 16px;
        font-size: 13px;
    }
}

// 페이지네이션
.pagination {
    justify-content: center;
    padding: 0;
    margin: 0;

    ul {
        margin: 0;
        padding: 0;

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