.body {
    background-color: #fff;
}

.container__body.landing {
    height: calc((var(--vh, 1vh) * 100)) !important;
    padding-bottom: 138px;
}

.container.login .container__body {
    height: calc((var(--vh, 1vh) * 100)) !important;
}

/* 기본 체크박스를 숨깁니다. */
.hidden-checkbox {
    display: none;
}

/* 커스텀 체크박스 디자인 */
.custom-checkbox {
    position: relative;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 22px;
    width: 22px;
    content: "";
}

input {
    font-size: 14px;
    letter-spacing: -0.025em; 
}

/* 체크마크 추가 */
.hidden-checkbox:checked + .checkmark:after {
    content: url("/images/icon/22x22/icon_check.svg");
    position: absolute;
    display: block;
    padding: 6px 5px;
}

/* 체크 표시 스타일 */
.checkmark:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 22px;
    height: 22px;
    box-shadow: 0 0 0 1px #dbdee1 inset;
    border-radius: 8px;
    content: "";
}
/* 모바일 active 스타일 */
.check_save.active .checkmark:after {
    box-shadow: 0 0 0 1px #999fa9 inset;
    border-radius: 8px;
}

.check_save.active .checktxt {
    color: #191f28 !important;
}
.login__lang__btn{
    cursor: pointer;
}
.login__lang__btn span{
    color: #191F28;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    letter-spacing: -0.35px;
    text-decoration-line: underline;
}

/* 데스크탑에서만 적용(모바일 호버방지) */
@media (hover: hover) {
    .check_save:hover .checkmark:after {
        box-shadow: 0 0 0 1px #999fa9 inset;
        border-radius: 8px;
    }
    .check_save:hover .checktxt {
        color: #191f28;
    }
}

.container.landing .swiperWrap {
    padding-top: calc(156rem / 16);
}

/* 360px 미만 모바일 화면 */
@media (orientation: Portrait) and (min-width: 360px) and (max-width: 640px) {
    .container__body.landing {
        padding-bottom: 60px;
    }
    .container.login .container__header {
        padding-top: calc(40rem / 16);
    }

    .check_save:active .checkmark:after {
        box-shadow: 0 0 0 1px #999fa9 inset;
        border-radius: 8px;
    }

    .check_save:active .checktxt {
        color: #191f28;
    }

}
@media all and (max-width: 1024px){
    .login_footer_wrap {
        height: calc((100% - 438px) - (20rem / 16));
    }
}
/* 1024px 이하 모바일 가로보기*/
@media (orientation: Landscape) and (max-height: 600px) and (max-width: 1024px) {
    .container__body.landing {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .container__body.landing .wrapper {
        padding-bottom: 60px;
    }
    .container.login .container__header {
        padding-top: 60px;
    }
    .btn_landing {
        width: 326px !important;
    }
    .login_tojoin_btn {
        left: unset !important;
        right: unset !important;
        padding-bottom: 58px;
    }
}

@media all and (max-width: 599px){
    .login_footer_wrap{
        height: calc(100% - 398px - (40rem / 16));
    }
}
@media all and (min-width: 1025px) {
    .login_footer_wrap {
        height: calc((100% - 438px) - (20rem / 16));
    }
}
/* 1025px 이상 모바일 웹 가로보기*/
@media (orientation: Landscape) and (min-width: 1025px) {
    .container__body.landing {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .container__body.landing .wrapper {
        padding-bottom: 60px;
    }
    .btn_landing {
        width: 326px !important;
    }
    .login_tojoin_btn {
        left: unset !important;
        right: unset !important;
    }
}

@media (max-height: 755px) {
    .login_tojoin_btn {
        padding-bottom: 58px;
    }
}
