#loadingOverlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(255, 255, 255, 0.95);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.loadingBar {
    width: 50%;
    height: 8px;
    background: #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
    position: relative;
}

.loadingBar::after {
    content: "";
    position: absolute;
    height: 100%;
    width: 30%;
    background: #3498db;
    animation: loadingMove 1.5s infinite ease-in-out;
    border-radius: 4px;
}

@keyframes loadingMove {
    0% { left: -30%; }
    50% { left: 50%; }
    100% { left: 100%; }
}




input[type=text],
input[type=password],
select { box-sizing: border-box; transition: all 0.3s; }
textarea { display: block; width: 100%; padding: 15px; background: #FFF; border: 1px solid #DDDFE1; border-radius: 10px; box-sizing: border-box; word-break: break-all; resize: none; transition: all 0.3s; font-family:inherit; }
input[type=text]:focus,
input[type=password]:focus,
select:focus,
textarea:focus { border-color: #135dba; outline: none;}
input::placeholder,
textarea::placeholder {
    font-weight: 400;
    color:#999;
}
input:focus::placeholder {
    color:#333;
}
input[type=text].required:focus,
input[type=password].required:focus,
select.required:focus,
textarea.required:focus { border-color:red; outline: none;}
select.select {
    cursor: pointer;
    padding: 12px 60px 11px 10px; /* 여백으로 높이 설정 */
    font-family: inherit;  /* 폰트 상속 */
    background: url('/img/ico_check.png') no-repeat calc(100% - 10px) 50%; /* 네이티브 화살표 대체 */
    background-size: 12px;
    border: 1px solid #ccc;
    border-radius: 4px 4px; /* iOS 둥근모서리 제거 */
    -webkit-appearance: none; /* 네이티브 외형 감추기 */
    -moz-appearance: none;
    appearance: none;
    transition: all 0.3s;
    font-size: 15px;
}
select.select option {
    color: #333;
    background-color: #fff;
}
select.select:focus{ border-color: #135dba; outline: none;}


.stnInp { padding:0 .5rem; height: 2rem; border:1px solid #DDDFE1; border-radius: 10px 10px; }

input.stnInp[readonly]:hover,
input.stnInp[readonly] {
    color: #333;
    background-color: light-dark(rgba(239, 239, 239, 0.3), rgba(59, 59, 59, 0.3));
    border-color: #DDDFE1;
}

.stnInp.required {
    border:1px solid red;
    position: relative;
}
.stnInp.required:after {
    content: '';
    width:10px;
    height:100%;
    position: absolute;
    top: 0;
    right:0;
}
input[type=text].required:focus,
input[type=password].required:focus,
select.required:focus,
textarea.required:focus { border-color:red; outline: none;}


.w00 { width:100%; }


section.additional {
    max-width:1200px;
    margin:0 auto;
    display: flex;
    gap:1rem;
    flex-direction:column;
}
section.additional > article.additionalHeader {
    background:#EBEBEB;
    min-height: 100px;
    display:flex;align-items:center;justify-content:center;
}
section.additional > article.additionalBody {
    display: grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
}
section.additional > article.additionalBody > div {
    display:flex;align-items:center;justify-content:center;
}
section.additional > article.additionalFooter {
    background:#EBEBEB;
    min-height: 100px;
    display:flex;align-items:center;justify-content:center;
}

div.enableBox { display:flex; gap:.5rem; flex-direction:column;  padding-bottom:.5rem;}
div.enableBox > div { display:flex; gap:.5rem; }
div.enableBox > div > button { line-height: 1rem; !important; }
h4.stnApplyTitle { border-bottom:1px solid #333; padding:10px 0;  margin-bottom:1rem; color:#333; }

div.stnBtnWrap {
    padding:2rem 0 0 0;
}
div.stnBtnWrap {
    justify-content:space-between; gap:1rem;
}

div.stnBtnWrap > div {
    gap:1rem;
    display: flex;
}

div.stnBtnWrap > div > button {
    padding:.5rem 1rem;
}

div.stnFromBtnWrap {
    justify-content:space-between; display: flex; gap:1rem;
}
div.stnFromBtnWrap > div {
    flex:1;
}
div.stnFromBtnWrap > div > button {
    padding:.25rem 1rem;
    width:100%;
}





.flex { display: flex; }
.inline-flex { display: inline-flex; }


.flex-row{flex-direction:row;}
.flex-row-reverse{flex-direction:row-reverse;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.flex-nowrap{flex-wrap:nowrap;}

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

.content-start{align-content:flex-start;}
.items-start{align-items:flex-start;}
.items-end{align-items:flex-end;}
.items-center{align-items:center;}
.items-baseline{align-items:baseline;}

.justify-start{justify-content:flex-start;}
.justify-end{justify-content:flex-end;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.justify-around{justify-content:space-around;}
.justify-evenly{justify-content:space-evenly;}
.justify-items-end{justify-items:end;}
.justify-items-center{justify-items:center;}

.flex-1 { flex: 1; }



.grid { display: grid; }
.grid-flow-col{grid-auto-flow:column}

.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}
.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}
.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}
.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}
.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}
.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}
.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}
.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}
.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}




.chk_box { display: table; position: relative; padding-left: 25px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; top:0; font-size:.8125rem; color:#666; }
.chk_box input[type="checkbox"] { display: none; }
.chk_box > .on { width: 18px; height: 18px; background: #ddd; position: absolute; top:50%; transform: translateY(-50%); left: 0;  border-radius:4px 4px;  }
.chk_box input[type="checkbox"]:checked + .on { background: #000; }
.chk_box > .on:after { content: ""; position: absolute; display: none; }
.chk_box input[type="checkbox"]:checked + .on:after { display: block; }
.chk_box > .on:after { width: 6px; height: 12px; border: solid #fff; border-width: 0 2px 2px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); position: absolute; left: 6px; top: 0; }
.chk_box:hover { color:#000; }


.btn {
    cursor: pointer;
    display: inline-block;
    color: #212529;
    text-align: center;
    font-size: 14px;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    line-height: calc(2rem - 4px);
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    padding:0 1rem;
}

.btn-s {

}
.btn-ss {

}
.btn-ts {

}
.btn-bs {
    font-size:12px;
    font-weight: 400;
    line-height:1.17rem;
    padding:0 .5rem;
}

.btn:hover:disabled,
.btn:disabled {
    color: #333;
    background-color: light-dark(rgba(239, 239, 239, 0.3), rgba(59, 59, 59, 0.3));
    border-color: #DDDFE1;
}




.btn-primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
.btn-primary:hover {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
}
.btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #0069d9;
    border-color: #0062cc;
}
.btn-primary.disabled, .btn-primary:disabled {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0062cc;
    border-color: #005cbf;
}


.btn-secondary {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}
.btn-secondary:hover {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
}
.btn-secondary:focus, .btn-secondary.focus {
    color: #fff;
    background-color: #5a6268;
    border-color: #545b62;
}
.btn-secondary.disabled, .btn-secondary:disabled {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #545b62;
    border-color: #4e555b;
}

.btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}
.btn-success:hover {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}
.btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}
.btn-success.disabled, .btn-success:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430;
}

.btn-info {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}
.btn-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}
.btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}
.btn-info.disabled, .btn-info:disabled {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #117a8b;
    border-color: #10707f;
}

.btn-warning {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107;
}
.btn-warning:hover {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
}
.btn-warning:focus, .btn-warning.focus {
    color: #212529;
    background-color: #e0a800;
    border-color: #d39e00;
}
.btn-warning.disabled, .btn-warning:disabled {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
    color: #212529;
    background-color: #d39e00;
    border-color: #c69500;
}

.btn-danger {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}
.btn-danger:hover {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
}
.btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c82333;
    border-color: #bd2130;
}
.btn-danger.disabled, .btn-danger:disabled {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #bd2130;
    border-color: #b21f2d;
}

.btn-light {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
}
.btn-light:hover {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
}
.btn-light:focus, .btn-light.focus {
    color: #212529;
    background-color: #e2e6ea;
    border-color: #dae0e5;
}
.btn-light.disabled, .btn-light:disabled {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {
    color: #212529;
    background-color: #dae0e5;
    border-color: #d3d9df;
}

.btn-dark {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}
.btn-dark:hover {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
}
.btn-dark:focus, .btn-dark.focus {
    color: #fff;
    background-color: #23272b;
    border-color: #1d2124;
}
.btn-dark.disabled, .btn-dark:disabled {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {
    color: #fff;
    background-color: #1d2124;
    border-color: #171a1d;
}
