/* 
---------------------------------------
            MAIN
---------------------------------------
*/

html {
    height: 590%;

    font-size: 16px;
    box-sizing: border-box;

    overflow-x: hidden;

    font-family: 'Pretendard', Helvetica, 'Segoe UI', sans-serif;
}

body {
    display: flex;
    flex-direction: column;

    height: 100%;
}

main {
    width: 100%;
    height: 100%;
}

button {
    padding: 0.8rem 1.2rem;

    white-space: nowrap;

    border: 0.07rem solid #e5e5e5;
    border-radius: 1.5rem;
    cursor: pointer;
    background-color: transparent;
}

.section__bottom {
    display: flex;
    justify-content: center;

    margin: 1.5rem;
}

.bottom--button {
    font-size: 1rem;
    font-weight: 600;

    padding: 1rem 2rem;
}

a {
    text-decoration: none;
    color: black;
    margin: 0;
}

input:focus {
    outline: none;
}

.background-logo {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    cursor: pointer;
}

/* ---------------------------------------
            SWIPER CSS
--------------------------------------- */
.main__wrapper {
    display: flex;
    flex-direction: column;

    width: 75%;
    height: 100%;

    margin: 0 auto;
    gap: 5.5rem;
}

.swiper-container {
    width: 100%;
    height: 100%;

    overflow: hidden;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.swiper-container.active {
    opacity: 1;
}

.swiper-wrapper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    height: 100%;
    display: flex;
    align-items: center;
}

.slide__image {
    width: 100%;
    height: 100%;
    border-radius: 0.7rem;

    object-fit: cover;
}

.slide__image--inner {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.left-btn {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 3rem;
    height: 3rem;

    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;

    transform: translate(-50%, -50%) rotateY(180deg);

    border-radius: 10rem;
    background: hsla(0, 0%, 100%, 0.8);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.13);
}

.left-btn::before {
    width: 1rem;
    height: 1rem;

    content: '다음';
    color: transparent;

    background-image: url('../assets/image/right-arrow.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.right-btn {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 3rem;
    height: 3rem;

    position: absolute;
    top: 50%;
    right: 0;
    z-index: 1;

    transform: translate(50%, -50%);

    border-radius: 10rem;
    background: hsla(0, 0%, 100%, 0.8);
    border: 0.1rem solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.13);
}

.right-btn::before {
    width: 1rem;
    height: 1rem;

    content: '다음';
    color: transparent;

    background-image: url('../assets/image/right-arrow.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* ---------------------------------------
            TOP_BANNER_BUTTON
--------------------------------------- */

.banner--title {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 0 auto;
}

.banner--title-top {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2.4rem;
}

.banner--title-bottom {
    font-size: 1.1rem;
    line-height: 1.2rem;

    color: hsla(0, 0%, 7%, 0.5);
}

.banner--wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
    height: 100%;
}

.banner--buttons {
    display: flex;
    justify-content: center;

    width: 100%;

    margin-top: 1rem;
    gap: 1rem;

    font-weight: 600;
}

.banner--icon:first-child {
    background-color: #333;
    color: #fff;
}

.banner--container {
    width: 100%;
    height: 100%;

    margin-top: 2rem;

    position: relative;
}

.item--block {
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;
    height: 100%;
    overflow: hidden;

    border: 0.09rem solid #e5e5e5;
    box-sizing: border-box;
    border-radius: 1rem;
}

.item--info-upper {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: baseline;

    font-size: 1.4rem;
    font-weight: 600;
}

@media (max-width: 800px) {
    html {
        font-size: 14px;
    }
}
