/* default */

html {
    scroll-behavior: smooth;
}

body {
    padding-top: 20px;
    /* font-family: 'Montserrat', sans-serif; */
    font-size: 15px;
    color: #637988;
    line-height: 1.7;
}

.overlay-active::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
}

ul, ol {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

/* .social-list li {
    display: inline-block;
}

.social-list a {
    padding: 20px;
    color: #fff;
    text-decoration: none;
} */

p {
    margin: 0;
}

/* h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, label, button, .btn {
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    margin: 0;
} */

/* h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    display: block;
} */

/* h1, .h1 {
    font-size: 50px;
}

h2 {
    font-size: 25px;
}

h5 {
    font-size: 15px;
    letter-spacing: 0.2em;
} */

section {
    position: relative;
}

section:nth-child(odd){
    background-color: #ffffff;
}

section:nth-child(even){
    background-color: #f4f4f4;
}

blockquote {
    padding: 0;
    margin: 0;
    border: 0;
}

form {
    text-align: left;
}

label {
    font-weight: normal;
}

button, .btn {
    font-size: 15px;
}

/**********************
NAVBAR
***********************/
.disabled {
    pointer-events: none;
    color: gray;
}

.navbar {
    min-height: 90px;
    /* font-family: 'Montserrat', sans-serif; */
    text-transform: uppercase;
}

.navbar-default {
    /* background-color: #343b40cc; */
    /* background-color: black; */
	height: 0px;
}

.navbar-brand {
    height: 90px;
    padding: 23px;
}

.navbar-brand img {
    max-height: 44px;
}

.navbar-default .navbar-nav>li>a {
    font-size: 13px;
    color: white;
    padding: 35px 23px;
}

.navbar-default .navbar-nav>li>a:focus, 
.navbar-default .navbar-nav>li>a:hover {
    color: #2b71cc;
    background-color: transparent;
}

.navbar-default .navbar-nav>.active>a, 
.navbar-default .navbar-nav>.active>a:focus, 
.navbar-default .navbar-nav>.active>a:hover {
    color: #2b71cc;
    background-color: transparent;
}

.navbar-default .navbar-toggle {
    margin-top: 28px;
    margin-bottom: 28px;
    border: 0;
    border-radius: 0;
}

.navbar-default .navbar-toggle .icon-bar {
    background: #707070;
}

.navbar-default .navbar-toggle:focus, 
.navbar-default .navbar-toggle:hover {
    background-color: transparent;
}

.navbar-default .navbar-toggle:focus .icon-bar, 
.navbar-default .navbar-toggle:hover .icon-bar {
    background: #2b71cc;
}

/* main */

.row_65 {
    width:65%;
    margin-left: auto;
    margin-right: auto;
}

.check_loan {
    display: flex;
    justify-content: end;
    align-items: center;
}

.check_loan input[type="radio"] {
    position: relative;
    bottom: 2px;
}

.check_loan input {
    margin-right: 5px;
}

.test {
    margin-right: 20px;
}

.row {
    /* width:65%; */
    margin-left: auto;
    margin-right: auto;
}

.service-button {
    display: flex;
    flex-direction: row;
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.healthy-insurance {
    border: 1px solid #f4f4f4;
    background-color: white;
    padding: 5px 0px;
}

.activate {
    background-color: #dbdeff;
    font-weight: bold;
}

.healthy-insurance a {
    text-decoration: none;
    color: black;
    font-size: medium;
}

.healthy-doc {
    color: black;
    font-size: large;
}

.healthy-doc input[type=checkbox] {
    accent-color: black;
}

.form-group {
    color: #393e46;
    font-size: medium;
}

.form-control {
    background-color: transparent;
    color: black;
    border: none;
    border-bottom: 1px solid #393e46;
    border-radius: 0;
    transition: all 0.3s ease-out;
}

.cust-infomation {
    margin-top: 20px;
    border: 1px solid #1f60b4;
    padding: 0 50px;
}

.cust-infomation .form-group {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.cust-infomation .form-group label {
    flex: none;
    width: auto;
    min-width: 100px;
    text-align: right;
}

.cust-infomation .form-group input,
.cust-infomation .form-group select {
    flex-grow: 1;
    padding: 5px 10px;
    width: 100%;
}

#info {
    display: flex;
    flex-direction: row;
}

.form-control:focus {
    border-color: #ffffff;
    box-shadow: none;
}

/* .btn {
    letter-spacing: 0.2em;
    margin:0 15px;
    text-align: center;
    padding: 0;
    width: 130px;
    height: 60px;
    line-height: 60px;
    box-sizing: border-box;
    color: #393e46;
    transition: all 0.3s;
    outline: none;
    box-shadow: none;
    border-radius: 10px;
} */

.btnBox {
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
    margin-top: 20px;
}

.btnBox button {
    background-color: #052a57;
    color: white;
    font-size: 16px;
    font-weight: 600;
    width: 280px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btnBox button:hover {
    background-color: rgb(21, 67, 122);
    color: white;
    border: 1px solid #052a57;
}

.mobile-group select, 
.mobile-group input {
    flex-shrink: 1;
    margin-right: 2px;
    padding: 5px 10px;
    font-size: 14px;
    width: 100px;
}

.mobile-group select {
    flex-basis: 10%;
    flex-grow: 0;
}

.default-num {
    flex-basis: 10%;
    flex-grow: 0;
}

.active-num {
    flex-basis: 50%;
    flex-grow: 1;
}


.form-group .mobile-group input:last-child {
    margin-right: 0;
}

.form-group .mobile-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
}

/**********************
건강보험관리공단 SECTION
***********************/

.custom-input-box {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-size: 14px;
}

.custom-input-box input {
    padding: 3px;
    border-radius: 5px;
    border: 2px solid #ececec;
    width: 250px;
}

/* 스피너 */
#loadingSpinner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
}

#loadingSpinner img {
    width: 200px;
    height: 200px;
}

/* .dongi {
    margin-top: 20px;
    border: 1px solid black;
    padding: 15px;
    color: black;
}

.dongi_q {
    float: right;
    font-size: large;
    color: black;
}

.dongi_q label {
    text-decoration: underline;
    color: black;
}


.dongi_q input[type=checkbox] {
    accent-color: black;
} */

#services {
    background-color: white;
	padding: 0px;
}

.service {
    background: #ffffff;
    padding: 58px 61px 98px;
    text-align: center;
    border-radius: 10px;
    border: 1px solid #c2c2c2;
    height: 380px;
    margin-bottom: 50px; 
}

.service .separator {
    width: 200px;
    height: 2px;
    background-color: #393e46;
    margin: 25px auto 0;
}

.service h5 {
    margin-top: 20px;
    color: #231f20;
}

.service p {
    margin-top: 51px;
}

.service img {
    width: 80px;
}

.service-title {
    color: #393e46;
    font-weight: bold;
    font-size: large;
    margin-top: 40px;
    margin-bottom: 10px;
}

.section-title {
    text-align: center;
    color: black;
    font-weight: bold;
    font-size: x-large;
    margin-top: 5px;
    background-color: #cae9a9;
    padding: 10px 0;
}

.contact-subsection {
    box-sizing: border-box;
}

#form-subsection {
    width: 100%;
    overflow: hidden;
    color: black;
    
}

#form-subsection .date-label, .resNm-label, .resNo-label, .mobileNo-label, .sido-label, .ssn-label, .roadStr-label, .carRegNo-label {
    margin-top: 10px;
    display: flex;
    flex-direction: row;
    font-weight: bold;
}

#form-subsection input:not([type="radio"]) {
    padding: 0 5px;
    height: 33px;
}

#form-subsection textarea {
    margin: 0;
    padding: 0 5px;
    border: 0;
    box-sizing: border-box;
    resize: none;
    font-size: 15px;
    line-height: 50px;
    vertical-align: bottom;
    background: linear-gradient(transparent 49px, #707070 1px);
    background-size: 100% 50px;
    background-repeat: repeat-y;
}

#form-subsection textarea:focus,
#form-subsection textarea:active {
    background: linear-gradient(transparent 49px, #ffffff 1px);
    background-size: 100% 50px;
    background-repeat: repeat-y;
}

.easy-login-txt {
    margin-top: 50px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-weight: bold;
    font-size: large;
    color: #393e46;
}

#easy-login {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    background-color: #fafafa;
    border: 2px solid #ececec;
    border-radius: 5px;
    font-weight: bold;
}

#easy-login .radio_box {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding: 5px 5px;
}

.radio_box p {
    margin-bottom: 5px;
}

#form-subsection .btn-default {
    color: black;
    background: #2b71cc;
    border: 0;
    border-color: transparent;
    border-radius: 28px;
    margin-top: 25px;
    display: flex;
    justify-content: center;
    width: 40%;
    margin-left: auto;
    margin-right: auto;
    outline: none;
    box-shadow: none;
    font-weight: bold;
}

.radioBox {
    padding: 20px 30px;
    margin-top: 15px;
    margin-bottom: 20px;
    display:flex;
    justify-content: space-between;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    position: relative;
    align-items: center;
}

.radioText {
    display: block;
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0px 20px;
    /* background-color: #fff; */
    background-color: #80d4ff;
    border-radius: 2px;
    color: black;
    font-weight: bold;
}

.radio_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.radioBtn {
    margin-top: 10px;
}

/**********************
FOOTER SECTION
***********************/

#footer {
    /* background: #80d4ff; */
    /* background-color: #393e46; */
    background-color: black;
    color: #ffffff;
    padding: 55px 0;
}

.footer_w {
    align-items: center;
    justify-content: center;
    font-size: small;
}


/**********************
RESPONSIVE
***********************/

@media only screen and (max-width: 1199px) {
    
    /**********************
    건강보험관리공단(기본인적사항) SECTION
    ***********************/
    
    #form-subsection {
        min-height: 560px;
    }

    #form-subsection .date-request div {
        flex-direction: row;
        justify-content: space-between;
    }
    
    .service {
        padding: 48px 30px 88px;
    }
    
}

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

    /**********************
    건강보험관리공단 SECTION
    ***********************/
    .service:not(first-of-type) {
        margin-top: 30px;
    }
    
    .row {
        width:100%;
        margin-left: auto;
        margin-right: auto;
    }

    /**********************
    건강보험관리공단(기본인적사항) SECTION
    ***********************/
    
    .cust-info-mini {
        width: 70%;
        margin-right: auto;
        margin-left: auto;
    }

    .custom-input-box input {
        padding: 3px;
        border-radius: 5px;
        border: 2px solid #ececec;
        width: 210px;
    }

    #form-subsection {
        min-height: auto;
    }

    .mobile-group select, 
    .mobile-group input {
        padding: 5px;
        font-size: 14px;  
        flex-shrink: 1;
    }

    .mobile-group select {
        flex-basis: 50%;
        max-width: 75px;
    }

    .default-num {
        flex-basis: 10%;
        min-width: 40px;
        max-width: 50px;
    }

    .active-num {
        flex-basis: 50%;  
        flex-grow: 1;
        min-width: 80px;
    }
    
}

@media only screen and (max-width: 767px) {
    
    /**********************
    DEFAULT
    ***********************/

    h1, h2, h3, h4, h5, h6 {
        line-height: 1.5;
    }
    
    .row {
        width:100%;
        margin-left: auto;
        margin-right: auto;
    }

    /**********************
    NAVBAR
    ***********************/

    .navbar-default .navbar-nav {
        text-align: center;
    }

    .navbar-default .navbar-nav>li>a {
        padding: 20px 0;
    }

    .radioBox {
        flex-direction: column;
    }

    .btn .btn-toggle {
        width: auto;
        padding: 10px 20px;
        font-size: 14px;
    }

    .radioText {
        display: block;
        position: absolute;
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
        padding: 0 20px;
        background-color: #fff;
        font-weight: bold;
        z-index: 10;
    }
    
    .radioBox, #easy-login {
        flex-direction: row; /* 가로 방향 유지 */
        justify-content: space-between;
    }

    .form-check.radio_box {
        width: 30%; /* 더 작은 화면에서도 가로로 나열되도록 너비 조정 */
    }

    .mobile-group select, 
    .mobile-group input {
        padding: 5px;
        font-size: 14px;  
        flex-shrink: 1;
    }

    .mobile-group select {
        flex-basis: 50%;
        max-width: 75px;
    }

    .default-num {
        flex-basis: 10%;
        min-width: 40px;
        max-width: 50px;
    }

    .active-num {
        flex-basis: 50%;  
        flex-grow: 1;
        min-width: 80px;
    }
    

    /**********************
    FOOTER SECTION
    ***********************/
    #footer {
        text-align: center;
    }

    #footer .social-list {
        float: none;
        margin-top: 45px;
    }
}

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

    .row {
        width:100%;
        margin-left: auto;
        margin-right: auto;
    }

	.row_65 {
        width:100%;
        margin-left: auto;
        margin-right: auto;
    }

    /**********************
    HOME SECTION
    ***********************/
    .company-name {
        font-size: 40px;
    }

    .cust-infomation {
        border: 1px solid #1f60b4;
        padding: 0 20px;
    }

    .cust-info-mini {
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }
    
    .custom-input-box input {
        padding: 3px;
        border-radius: 5px;
        border: 2px solid #ececec;
        width: 140px;
    }

    .radioBox {
        padding: 15px 5px;
    }

    #easy-login .radio_box {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        padding: 8px 8px;
    }

    .home-content .btn {
        display: block;
        margin: 0 auto;
    }

    .home-content .btn-goverment {
        margin-top: 30px;
    }

    .form-check.radio_box {
        width: 30%;
    }


    .mobile-group select, 
    .mobile-group input {
        padding: 5px;
        font-size: 14px;  
        flex-shrink: 1;
    }

    .mobile-group select {
        flex-basis: 50%;
        max-width: 75px;
    }

    .default-num {
        flex-basis: 10%;
        min-width: 40px;
        max-width: 50px;
    }

    .active-num {
        flex-basis: 50%;  
        flex-grow: 1;
        min-width: 80px;
    }

}

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

    .mobile-group select, 
    .mobile-group input {
        padding: 5px;
        font-size: 14px;  
        flex-shrink: 1;
    }

    .mobile-group select {
        flex-basis: 50%;
        max-width: 70px;
    }

    .default-num {
        flex-basis: 10%;
        min-width: 40px;
        max-width: 50px;
    }

    .active-num {
        flex-basis: 50%;  
        flex-grow: 1;
        min-width: 80px;
    }

}

/* 정부 24 div */
.gov {
    display: flex;
    width: 100%;
    font-size: large;
    color: black;
}

.gov > div {
    flex: 1;
}
/* 
flex-grow : 0 추가 공간이 있어도 크기가 늘지 않음
flex-shrink : 0 공간이 부족해도 크기를 줄이지 않음
flex-basis : 50% 기본 크기를 부모 컨테이너의 50% 로 설정
*/
.gov > div:first-child {
    flex: 0 0 50%;
    text-align: left;
}

.gov > div:last-child {
    flex: 0 0 50%;
    text-align: left;
}

.government-doc input[type=checkbox] {
    accent-color: black;
}


/* 홈택스 div */
.hometax-doc {
    color: black;
    font-size: large;
}

.hometax-doc input[type=checkbox] {
    accent-color: black;
}

.check_loan input[type=radio] {
    accent-color: black;
}

.btn_msg {
    display: flex;
    justify-content: center;
    align-items: center;
    color: red;
}

#noStep button {
    margin-top: 20px;
}