

.login_page{
    padding: 30px 0;
    background: #fff;
    /* display: flex; */
    /* flex-direction: column; */
}

.login_page > div{
    width: 1100px;
    margin: auto;
}

.login_page .tip{
    border: 1px solid #dbdbdb;
}

.login_page .tip p{
    text-align: center;
    font: 17px/1.3em "나눔바른고딕";
    border-bottom: 1px solid #313133;
    color: #fff;
    background: #313133;
    padding: 16px 30px;
}
.login_page .tip p.left{
    text-align: left;
}


.login_page .contents{
    /* width: 484px; */
    margin-top: 30px;
    padding: 60px 0;
    border: 1px solid #d8d8d8;
}
.login_page .contents > div{
    width: 484px;
    margin: auto;
}

.login_page .contents .title{
    text-align: center;
}
.login_page .contents .title h1{
    font: 23px/1.3em "나눔바른고딕";
}
.login_page .contents .title h1:after{
    content: "";
    display: block;
    margin: 18px auto 38px;
    width: 60px;
    height: 2px;
    background: #830020;
}


.login_page .contents .tab dl{
    display: flex;
    position: relative;
}

.login_page .contents .tab dl dt{
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    /* min-height: 54px; */
    background: #ffffff;
    /* border: 1px solid #e4e4e4; */
    border-bottom: 1px solid #313133;
    width: 100%;
}
.login_page .contents .tab dl dt a{
    position: relative;
    padding: 14px 15px 17px;
    width: 100%;
    height: 100%;
    font: 23px/1.3em "나눔바른고딕";
    color: #8d7d63;
}
.login_page .contents .tab dl dt:not(:first-of-type) a:before{
    content: "";
    position: absolute;
    left: 0;
    display: inline-block;
    width: 1px;
    height: 23px;
    background: #c9c9c9;
    margin-top: 2px;
}

.login_page .contents .tab dl dt.on{
    /* background: #830020;
    border: 1px solid #830020; */
}
.login_page .contents .tab dl dt.on a{
    color: #000;
    /* text-shadow: 1px 1px 0px #36010f; */
}
.login_page .contents .tab dd{
    content: "";
    position: absolute;
    display: inline-block;
    width: 60px;
    height: 5px;
    bottom: 0;
    left: 0;
    background: #830020;
}
.login_page .contents .tab .tab1.on ~ dd{
    z-index: 1;
    left: 25%;
    transform: translateX(-50%);
    transition: all ease-out 0.15s;
}
.login_page .contents .tab .tab2.on ~ dd{
    z-index: 1;
    left: 75%;
    transform: translateX(-50%);
    transition: all ease-out 0.15s;
}


.login_page .contents .tab dl dt ~ dt{
    margin-left: -1px;
}


/* 탭 부분 */
.login_page .contents .tabpage{
    margin-top: 30px;
}

.login_page .contents .tabpage form{
    display: flex;
}

.login_page .contents .tabpage form .login_info{
    display: flex;
    width: 100%;
    flex-direction: column;
}
.login_page .contents .tabpage form div .id,
.login_page .contents .tabpage form div .password{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d8d8d8;
}


.login_page .contents .tabpage form div ~ div{
    margin-top: 10px;
}

/* 로그인 패드 아이콘 */
.login_page .contents .tabpage form div span{
    content: "";
    display: block;
    margin-left: 12px;
    margin-right: -1px;
    /* top: 50%; */
    /* transform: translateY(-50%); */
    min-width: 18px;
    height: 18px;
}
.login_page .contents .tabpage form .id span{
    background:
    url(../../../../images/iosf/ko/content/login/icon_id_off_18x18.png)no-repeat center/18px 18px;
}
.login_page .contents .tabpage form .id.on span{
    background:
    url(../../../../images/iosf/ko/content/login/icon_id_on_18x18.png)no-repeat center/18px 18px;
}
.login_page .contents .tabpage form .password span{
    background:
    url(../../../../images/iosf/ko/content/login/icon_password_off_18x18.png)no-repeat center/18px 18px;
}
.login_page .contents .tabpage form .password.on span{
    background:
    url(../../../../images/iosf/ko/content/login/icon_password_on_18x18.png)no-repeat center/18px 18px;
}


.login_page .contents .tabpage form input{
    width: 100%;
    font: 17px/1.3em "나눔바른고딕";
    margin: 1px;
    height: 53px;
    padding-left: 14px;
    border: 0px solid #000;
    background: transparent;
}
.login_page .contents .tabpage form input:focus{
    outline: none
}

.login_page .contents .tabpage form input::placeholder{
    font: 17px/1.3em "나눔바른고딕";
    color: #898989;
    /* margin-bottom: -10px; */
}
.login_page .contents .tabpage form input:-ms-input-placeholder{
    font: 17px/1.3em "나눔바른고딕";
    /* margin-bottom: -10px; */
    color: #929292;
}


/* .login_page .contents .tabpage form input:focus{
   outline: none;
}*/


.login_page .contents .tabpage form div .realperson-challenge{
    border: 0px solid #d3d3d3;
    border-right: 1px solid #d3d3d3;
    height: 58px;
    padding-right: 10px;
}
/* .login_page .contents .tabpage form div.passkey{
    border: 0px solid #d3d3d3;
} */

.login_page .contents .tabpage form div .realperson-challenge .realperson-regen{
    margin: 0;
    padding: 0;
    min-width: 70px;
    height: calc(100% - 16px);
    background: #b6b6b6;
    border: 1px solid #adadad;
    text-shadow: 1px 1px 0px #434343;
    font: bold 13px/1.3em "나눔바른고딕";
    color: #fff;
}

.login_page .contents .tabpage form div .realperson-challenge .realperson-text{
    border: 0 solid #000;
    line-height: 40%;
    padding: 14px;
    letter-spacing: -2px;
}
    
.login_page .contents .tabpage form div.on{
    border: 1px solid #8f816a;
    background: #fdfdf8;
}
/* .login_page .contents .tabpage form div.on input{
    background: #fdfdf8;
} */


/* 로그인 입력 */
.login_page .contents .tabpage form .btn{
    border: 0 solid #000;
    margin-left: 30px;
    font: bold 21px/1.3em "나눔바른고딕";
    color: #fff;
    margin-top: 0;
}
.login_page .contents .tabpage form div button{
    font: bold 21px/1.3em "나눔바른고딕";
    color: #ffffff;
    /* width: 100%; */
    width: 122px;
    height: 122px;
    padding: 13px 0 15px;
    /* background: #f67400; */
    /* 접근성수정 */
    background: #830020;
    text-shadow: 1px 1px 0px #992401;
}
.login_page .contents .tabpage.page2 form div button{
    background: #f27c24;
    text-shadow: 1px 1px 0px #f27c24;
}


/* 링크 */

.login_page .contents .tabpage .link_btn{
    display: flex;
    margin-top: 30px;
}
.login_page .contents .tabpage .link_btn .text{
    width: 100%;
    padding: 14px;
    border: 1px solid #c3c3c3;
}

.login_page .contents .tabpage .link_btn .text p{
    font: 17px/1.3em "나눔바른고딕";
    color: #313131;
}

.login_page .contents .tabpage .link_btn .text p span{
    color: #65001a;
}

.login_page .contents .tabpage .link_btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 122px;
    height: 100%;
    font: bold 17px/1.3em "나눔바른고딕";
    color: #fff;
    background: #8f816a;
}
.login_page .contents .tabpage .link_btn a:after{
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../../../../images/iosf/ko/content/login/img_link_white_16x16.png)no-repeat center;
    margin-left: 10px;
    margin-bottom: 2px;
}



/* 아이디 / 비밀번호 분실 안내 */

.login_page .contents .tabpage .info{
    display: flex;
    flex-direction: column;
}
.login_page .contents .tabpage .info span,
.login_page .contents .tabpage .tip span{
    margin: 30px 0px;
    display: block;
    width: 100%;
    height: 1px;
    background: #e6e6e6;
}

.login_page .contents .tabpage .info dl,
.login_page .contents .tabpage form dl{
    display: flex;
    flex-direction: column;
}
.login_page .contents .tabpage .info dt,
.login_page .contents .tabpage form dt{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    font: 17px/1.3em "나눔바른고딕";
    color: #6e5d42;
    background: #fafafa;
    border: 1px solid #e6e6e6;
    border-top: 1px solid #313133;
    border-bottom: 1px solid #9f9f9f;
    padding: 5px 15px;
}

/* .login_page .contents .tabpage .info dt:before,
.login_page .contents .tabpage form dt:before{
    content: "";
    display: inline-block;
    width: 2px;
    height: 14px;
    background: #e0d6c6;
    flex: 0 0 2px;
    margin-bottom: -2px;
    margin-right: 8px;
} */




.login_page .contents .tabpage .info dd{
    display: flex;
    align-items: center;
    border: 1px solid #e6e6e6;
    border-top: 0px;
}
.login_page .contents .tabpage .info dd:last-of-type{
    border-bottom: 1px solid #9f9f9f;
}

.login_page .contents .tabpage .info dd div{
    border-right: 1px solid #d8d8d8;
    padding: 12px 12px;
}
    

.login_page .contents .tabpage .info dd b{
    display: flex;
    text-transform: none;
    justify-content: center;
    padding: 5px 10px;
    min-width: 70px;
    font: bold 15px/1.3em "나눔바른고딕";
    color: #fff;
    background: #6b6b6b;
    border: 1px solid #555f69;
}

.login_page .contents .tabpage .info dd b.grey{
    background: #6b6b6b;
    border: 1px solid #646464;
}
.login_page .contents .tabpage .info dd b.pink{
    background: #d86f63;
    border: 1px solid #cc685d;
}
.login_page .contents .tabpage .info dd b.red{
    background: #65001a;
    border: 1px solid #65001a;
}
.login_page .contents .tabpage .info dd b.orange{
    background: #f27c24;
    border: 1px solid #f27c24;
}
.login_page .contents .tabpage .info dd b.red2{
    background: #830020;
    border: 1px solid #830020;
}
.login_page .contents .tabpage .info dd b.brown2{
    background: #8f816a;
    border: 1px solid #8f816a;
}

.login_page .contents .tabpage .info dd p{
    text-transform: none;
    font: bold 17px/1.3em "나눔바른고딕";
    color: #313131;
    padding: 12px 12px;
    /* padding: 4px 14px 5px; */
}



/* 약관 */

.login_page .contents .tabpage .info .terms{
    display: block;
    height: 200px;
    overflow-y: scroll;
    /* flex-direction: column; */
    background: #fcfaf7;
    border: 1px solid #d2d3d3;
    margin-top: 20px;
    padding: 20px;

}
.login_page .contents .tabpage .info .terms p{
    font: bold 13px/1.5em "나눔바른고딕";
    padding-left: 0;
    color: #040000;
}

.login_page .contents .tabpage .info .terms small{
    display: block;
    margin-bottom: 12px;
    font: 13px/1.5em "나눔바른고딕";
    color: #535353;
}
.login_page .contents .tabpage form .info{
    display: block;
    align-items: baseline;
    border: 0px solid #000;
}
.login_page .contents .tabpage form .info dl{
    margin-bottom: 0;
}

.login_page .contents .tabpage form .info div{
    display: block;
    border: 0px solid #000;
    align-items: baseline;

}
.login_page .contents .tabpage form .info input{
    margin-top: 17px;
    margin-left: 0;
    width: auto;
    height: auto;
}



.login_page .contents .tabpage .info b,
.login_page .contents .tabpage .info label{
    font: 15px/1.3em "나눔바른고딕";
    color: #303131;
    margin-left: 2px;
}
.login_page .contents .tabpage .info label{
    position: relative;
    top: -3px;
}



/* 교외사용자 정보 */
.login_page .contents .tabpage .tip span{
    margin: 30px 0px;
    display: block;
    width: 100%;
    height: 1px;
    background: #e6e6e6;
}

.login_page .contents .tabpage form dt{
    background:
    url(../../../../images/iosf/ko/content/login/bg_pattern_538x42.png)538px 42px,
     #8f816a;
    border-top: 1px solid #830020;
    border-bottom: 1px solid #635848;
}
.login_page .contents .tabpage form dt:before{
    content: "";
    display: inline-block;
    width: 2px;
    height: 14px;
    background: #e0d6c6;
    flex: 0 0 2px;
    margin-right: 8px;
}
.login_page .contents .tabpage form dt{
    background:
    url(../../../../images/iosf/ko/content/login/bg_pattern_538x42.png)538px 42px,
     #535353;
    border-top: 1px solid #7d1922;
    border-bottom: 1px solid #202121;
}
.login_page .contents .tabpage form dt:before{
    background: #dfd5c5;
}

.login_page .contents .tabpage form dl{
    margin-top: 22px;
    margin-bottom: 20px;
}

.login_page .contents .tabpage form dl + div span,
.login_page .contents .tabpage form dl + div ~ div span{
    display: flex;
    position: relative;
    align-items: center;
    min-width: 88px;
    padding: 4px 8px 5px;
    font: 17px/1.3em "나눔바른고딕";
    color: #95704a;
    margin-left: 10px;
}
.login_page .contents .tabpage form.line div span::after{
    content: "";
    position: absolute;
    right: 0%;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    justify-content: flex-end;
    width: 1px;
    height: 21px;
    flex: 0 0 1px;
    background: #95704a;
}

.login_page .contents .tabpage .tip p{
    width: 100%;
    font: 17px/1.3em "나눔바른고딕";
    color: #303131;
    border: 1px solid #e6e6e5;
    border-top: 1px solid #7d1822;
    border-bottom: 1px solid #c8c8c8;
    background: #f6f6f6;
    padding: 15px;
}




/* 탭 기본 끄기 ( tabpage 기본 활성 ) */

.login_page .contents .page1 .page1.on,
.login_page .contents .page1 .page2.on,
.login_page .contents .page1 .page3.on,
.login_page .contents .page1 .page4.on{
    display: block;
}

.login_page .contents .page1 .page1,
.login_page .contents .page1 .page2,
.login_page .contents .page1 .page3,
.login_page .contents .page1 .page4{
    display: none;
}

.login_page .contents .page2 .page2{
    display: block;
}

.login_page .contents .page2 .page1,
.login_page .contents .page2 .page3{
    display: none;
}

.login_page .contents .page3 .page3{
    display: block;
}

.login_page .contents .page3 .page1,
.login_page .contents .page3 .page2{
    display: none;
}

/* .login_page .contents .tabpage.on{
    display: block;
} */

@media screen and (max-width: 1140px) {
    .login_page > div{
        width: 100%;
        margin: auto;
    }
}

@media screen and (max-width: 960px) {


    
    .login_page .contents{
        padding: 40px 0;
    }

    .login_page .contents > div {
        width: 100%;
        padding: 0 30px;
    }

    .login_page .contents .title h1{
        font-size: 19px;
    }

    .login_page .contents .tab dl dt a{
        font-size: 19px;
    }
    .login_page .contents .tab dl dt:not(:first-of-type) a:before{
        margin-top: 0;
    }
    

    .login_page .contents .tabpage form,
    .login_page .contents .tabpage .link_btn,
    .login_page .contents .tabpage .info dd{
        flex-direction: column;
    }
    .login_page .contents .tabpage form div button{
        /* font-size: 21px; */
        width: 100%;
        height: 56px;
        margin-top: 30px;
    }
    .login_page .contents .tabpage form div.btn{
        margin-left: 0;
    }
    .login_page .contents .tabpage .link_btn a{
        width: 100%;
        height: 56px;
    }

    .login_page .contents .tabpage .info dt, 
    .login_page .contents .tabpage form dt,
    .login_page .contents .tabpage .info dd{
        border-left: 0;
        border-right: 0;
    }

    .login_page .contents .tabpage .info dd{
        align-items: flex-start;
    }

    .login_page .contents .tabpage .info dd div{
        padding: 15px 0 5px;
        border: 0;
    }
    .login_page .contents .tabpage .info dd p{
        padding: 5px 0 15px;
    }

    
}

@media screen and (max-width: 640px) {

    .login_page{
        padding: 20px 0;
        width: 100%;
        border: 0px solid #000;
    }
    .login_page .contents > div {
        padding: 0 20px;
    }
    .login_page .tip p{
        border: 1px solid #dbdbdb;
    }
    
}

@media screen and (max-width: 480px) {

    .login_page .contents .tabpage form div .realperson-challenge .realperson-text{
        letter-spacing: -3px;
    }
}



