@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

/* reset */
body,
button,
dd,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
select,
table,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
}

body,
button,
input,
select,
table,
textarea {
    color: #333;
    font-size: 14px;
    line-height: 1;
    letter-spacing: -0.03rem;
}

fieldset,
img {
    border: 0;
}

dl,
li,
ol,
ul {
    list-style: none;
}

address,
em {
    font-style: normal;
}

a {
    color: #333;
    text-decoration: none;
    outline: none;
}

a:active,
a:focus,
a:hover {
    text-decoration: none;
}

img {
    vertical-align: top;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table th {
    font-weight: 400;
}

hr {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong {
    font-weight: inherit;
}

button {
    overflow: visible;
    border: 0;
    background: transparent;
    cursor: pointer;
    white-space: nowrap;
    outline: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

button span {
    position: relative;
}

input,
select {
    outline: none;
}

label {
    cursor: pointer;
}

/* common */
#wrap,
html,
body {
    background: #fff;
    width: 100%;
    height: 100%;
}

.pointer {
    cursor: pointer !important;
}



.nowrap {
    width: 160px;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
}

.nowrap2 {
    width: 130px;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}



.fs10 {
    font-size: 10px !important;
}

.fs11 {
    font-size: 11px !important;
}

.fs12 {
    font-size: 12px !important;
}

.fs13 {
    font-size: 13px !important;
}

.fs15 {
    font-size: 15px !important;
}

.fs16 {
    font-size: 16px !important;
}

.fs17 {
    font-size: 17px !important;
}

.fs18 {
    font-size: 18px !important;
}

.fs20 {
    font-size: 20px !important;
}

.fs25 {
    font-size: 25px !important;
}

.fs28 {
    font-size: 28px !important;
}

.fs30 {
    font-size: 30px !important;
}

.fs32 {
    font-size: 32px !important;
}

.fs40 {
    font-size: 40px !important;
}

.bnone {
    border: none !important;
}

.bnone:focus {
    border: none !important;
}

.btop {
    border-top: 1px solid #cdd7e1;
}

.bbtm {
    border-bottom: 1px solid #cdd7e1;
}

.bleft {
    border-left: 1px solid #cdd7e1;
}

.bright {
    border-right: 1px solid #cdd7e1;
}

.bx {
    border-left: 1px solid #cdd7e1;
    border-right: 1px solid #cdd7e1;
}

.by {
    border-top: 1px solid #cdd7e1;
    border-bottom: 1px solid #cdd7e1;
}

.bxy {
    border: 1px solid #cdd7e1;
}

.bxnone {
    border-top: none !important;
    border-bottom: none !important;
}

.btnone {
    border-top: none !important;
}

.bbnone {
    border-bottom: none !important;
}


.content {
    padding: 20px;
}

.content:after {
    display: block;
    clear: both;
    content: '';
}

.dimmed {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 30;
    background: #000;
    opacity: 0.5;
}

.dimmed.on {
    display: block;
}




.under {
    text-decoration: underline;
    text-underline-position: under;
}

.under:hover {
    text-decoration: underline;
    text-underline-position: under;
}

.line15 {
    line-height: 1.5;
}

.line14 {
    line-height: 1.4;
}

.line13 {
    line-height: 1.3;
}

.link-hover:hover {
    text-decoration: underline;
    text-underline-position: under;
}

.col {
    color: #475781;
}

.col-red {
    color: #f02446;
    margin-left: 5px;
}

.col-blue {
    color: #36A3F7;
}

.col-d-blue {
    color: #038cd6 !important;
}

.col-green {
    color: #206e44;
}

.col-gray {
    color: #8f929e;
}

.col-purple {
    color: #6a44ab;
}

.col-indigo {
    color: #01348B;
}

.col-blue-light {
    color: #00b0c30c;
}

.txt-right {
    text-align: right !important;
}

.txt-cent {
    text-align: center;
}

.txt-left {
    text-align: left !important;
}

/* margin */
.mauto {
    margin: 0 auto;
}

.m0 {
    margin: 0 !important;
}

.mtop0 {
    margin-top: 0 !important;
}

.mtop5 {
    margin-top: 5px !important;
}

.mtop10 {
    margin-top: 10px !important;
}

.mtop15 {
    margin-top: 15px !important;
}

.mtop20 {
    margin-top: 20px !important;
}

.mtop30 {
    margin-top: 30px !important;
}

.mtop40 {
    margin-top: 40px !important;
}

.mtop50 {
    margin-top: 50px !important;
}

.mtop100 {
    margin-top: 100px !important;
}

.mbtm0 {
    margin-bottom: 0 !important;
}

.mbtm5 {
    margin-bottom: 5px !important;
}

.mbtm10 {
    margin-bottom: 10px !important;
}

.mbtm20 {
    margin-bottom: 20px !important;
}

.mbtm30 {
    margin-bottom: 30px !important;
}

.mbtm35 {
    margin-bottom: 35px !important;
}

.mbtm40 {
    margin-bottom: 40px !important;
}

.mbtm50 {
    margin-bottom: 50px !important;
}

.mbtm60 {
    margin-bottom: 60px !important;
}

.mbtm70 {
    margin-bottom: 70px !important;
}

.mbtm80 {
    margin-bottom: 80px !important;
}

.mbtm90 {
    margin-bottom: 90px !important;
}

.mbtm100 {
    margin-bottom: 100px !important;
}

.mbtm300 {
    margin-bottom: 300px !important;
}

.mleft0 {
    margin-left: 0 !important;
}

.mleft5 {
    margin-left: 5px !important;
}

.mleft10 {
    margin-left: 10px !important;
}

.mleft20 {
    margin-left: 20px !important;
}

.mleft30 {
    margin-left: 30px !important;
}

.mleft40 {
    margin-left: 40px !important;
}

.mleft50 {
    margin-left: 50px !important;
}

.mleft60 {
    margin-left: 60px !important;
}

.mleft100 {
    margin-left: 100px !important;
}

.mleft110 {
    margin-left: 110px !important;
}

.mright150 {
    margin-left: 150px !important;
}

.mright5 {
    margin-right: 5px !important;
}

.mright10 {
    margin-right: 10px !important;
}

.mright20 {
    margin-right: 20px;
}

.mright30 {
    margin-right: 30px;
}

.mright40 {
    margin-right: 40px;
}

.mright50 {
    margin-right: 50px;
}

.mright60 {
    margin-right: 60px !important;
}

.mtb10 {
    margin: 10px 0;
}

.mtb20 {
    margin: 20px 0 !important;
}

.mtb30 {
    margin: 30px 0 !important;
}

.mtb40 {
    margin: 40px 0 !important;
}

.mtb50 {
    margin: 50px 0 !important;
}

.mx5 {
    margin: 0 5px !important;
}

.mx10 {
    margin: 0 10px !important;
}

.mx15 {
    margin: 0 15px !important;
}

.mx20 {
    margin: 0 20px !important;
}

.mx30 {
    margin: 0 30px !important;
}

.mx40 {
    margin: 0 40px !important;
}

.my10 {
    margin: 10px 0 !important;
}

.my15 {
    margin: 15px 0 !important;
}

.my20 {
    margin: 20px 0 !important;
}

.my30 {
    margin: 30px 0 !important;
}

.my40 {
    margin: 40px 0 !important;
}

.my50 {
    margin: 50px 0 !important;
}

.m10 {
    margin: 10px !important;
}

.m20 {
    margin: 20px !important;
}

.m30 {
    margin: 30px !important;
}

/* padding */
.p0 {
    padding: 0 !important;
}

.ptop10 {
    padding-top: 10px !important;
}

.ptop20 {
    padding-top: 20px !important;
}

.ptop30 {
    padding-top: 30px !important;
}

.pbtm0 {
    padding-bottom: 0 !important;
}

.pbtm10 {
    padding-bottom: 10px !important;
}

.pbtm20 {
    padding-bottom: 20px !important;
}

.pbtm30 {
    padding-bottom: 30px !important;
}

.pbtm50 {
    padding-bottom: 50px !important;
}

.pbtm100 {
    padding-bottom: 100px !important;
}

.pleft5 {
    padding-left: 5px !important;
}

.pleft10 {
    padding-left: 10px !important;
}

.pleft20 {
    padding-left: 20px !important;
}

.pright5 {
    padding-right: 5px !important;
}

.pright10 {
    padding-right: 10px !important;
}

.pright20 {
    padding-right: 20px !important;
}

.pright30 {
    padding-right: 30px !important;
}

.ptb5 {
    padding: 5px 0 !important;
}

.ptb10 {
    padding: 10px 0 !important;
}

.ptb20 {
    padding: 20px 0 !important;
}

.px10 {
    padding: 0 10px !important;
}

.px20 {
    padding: 0 20px !important;
}

.py5 {
    padding: 5px 0 !important;
}

.py10 {
    padding: 10px 0 !important;
}

.py15 {
    padding: 15px 0 !important;
}

.py20 {
    padding: 20px 0 !important;
}

.py30 {
    padding: 30px 0 !important;
}

.pxy10 {
    padding: 10px !important;
}

.pxy20 {
    padding: 20px !important;
}

.pxy30 {
    padding: 30px !important;
}

.pxy40 {
    padding: 40px !important;
}

.pxy50 {
    padding: 50px !important;
}

/* width */
.w100 {
    width: 100% !important;
}

.w90 {
    width: 90% !important;
}

.w80 {
    width: 80% !important;
}

.w70 {
    width: 70% !important;
}

.w60 {
    width: 60% !important;
}

.w50 {
    width: 50% !important;
}

.w49 {
    width: 49% !important;
}

.w40 {
    width: 40% !important;
}

.w30 {
    width: 30% !important;
}

.w28 {
    width: 28% !important;
}

.w25 {
    width: 25% !important;
}

.w23 {
    width: 23% !important;
}

.w20 {
    width: 20% !important;
}

.w10 {
    width: 10% !important;
}

.w30p {
    width: 30px !important;
}

.w50p {
    width: 50px !important;
}

.w80p {
    width: 80px !important;
}

.w100p {
    width: 100px !important;
}

.w120p {
    width: 120px !important;
}

.w130p {
    width: 130px !important;
}

.w150p {
    width: 150px !important;
}

.w160p {
    width: 160px !important;
}

.w170p {
    width: 170px !important;
}

.w180p {
    width: 180px !important;
}

.w200p {
    width: 200px !important;
}

.w250p {
    width: 250px !important;
}

.w300p {
    width: 300px !important;
}

.w380p {
    width: 380px !important;
}

.w400p {
    width: 400px !important;
}

.w440p {
    width: 440px !important;
}


.w500p {
    width: 500px !important;
}

.w550p {
    width: 550px !important;
}

.w600p {
    width: 600px !important;
}

.w700p {
    width: 700px !important;
}

.w800p {
    width: 800px !important;
}

.w900p {
    width: 900px !important;
}

.w1000p {
    width: 1000px !important;
}

.w1100p {
    width: 1100px !important;
}

.w1200p {
    width: 1200px !important;
}

.w1260p {
    width: 1260px !important;
}

.w1400p {
    width: 1400px !important;
}

.w1500p {
    width: 1500px !important;
}

/* height */
.h900p {
    height: 900px !important;
}

.h800p {
    height: 800px !important;
}

.h700p {
    height: 700px !important;
}

.h600p {
    height: 600px !important;
}

.h300p {
    height: 300px !important;
}

.h200p {
    height: 200px !important;
}

.h100p {
    height: 100px !important;
}

.h90p {
    height: 90px !important;
}

.h80p {
    height: 80px !important;
}

.h70p {
    height: 70px !important;
}

.h60p {
    height: 60px !important;
}

.h50p {
    height: 50px !important;
}

.h40p {
    height: 40px !important;
}

.h35p {
    height: 35px !important;
}

.h30p {
    height: 30px !important;
}

.h20p {
    height: 20px !important;
}

.h10p {
    height: 10px !important;
}

.h120p {
    height: 120px !important;
}

.h150p {
    height: 150px !important;
}

.h200p {
    height: 200px !important;
}

.hauto {
    height: auto !important;
}

.minw80p {
    min-width: 80px !important;
}

.maxh300p {
    height: auto;
    max-height: 300px;
    overflow-y: auto;
}

.maxh400p {
    height: auto;
    max-height: 400px;
    overflow-y: auto;
}

.maxh500p {
    height: auto;
    max-height: 500px;
    overflow-y: auto;
}

.maxh550p {
    height: auto;
    max-height: 550px;
    overflow-y: auto;
}

.maxh600p {
    height: auto;
    max-height: 600px;
    overflow-y: auto;
}

.maxh700p {
    height: auto;
    max-height: 700px;
    overflow-y: auto;
}

.maxh800p {
    height: auto;
    max-height: 800px;
    overflow-y: auto;
}

.maxh900p {
    height: auto;
    max-height: 900px;
    overflow-y: auto;
}

.w100v {
    width: 100vw !important;
}

/* height */
.h100v {
    height: 100vh !important;
}

/* background-color */
.bg-transparent {
    background: transparent !important;
}

.bg-white {
    background-color: #fff;
}

.bg-red {
    background-color: #F4516C;
}

.bg-red-light {
    background-color: #ffe8e2;
}

.bg-burgundy {
    background-color: #e22424;
    border: 1px solid #e22424;
}

.bg-gray {
    background-color: #f4f5f8;
}

.bg-blue {
    background-color: #e7f2ff;
}

.bg-skyblue {
    background-color: #dde6f0;
}

.bg-blue-deep {
    background-color: #1f7dd4;
}

.bg-blue-light {
    background: #00b0c30c;
}

.bg-indigo-light {
    background-color: #00b0c30c;
}

.bg-sgray {
    background-color: #f0f0f0;
}

.bg-nevi {
    background-color: #475781;
}

input[value] {
    font-size: 18px;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="time"],
input[type="date"] {
    min-height: 50px;
    padding: 5.5px 5px;
    border: 1px solid #d7d7d7;
    vertical-align: top;
    box-sizing: border-box;
    font-size: 18px;
    text-indent: 10px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
/* select:focus, */
input[type="number"]:focus {
    border: 1px solid #475781;
}

input[type="text"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
input[type="number"]::-webkit-input-placeholder {
    color: #7f7f7f;
    font-size: 18px;
}

input[type="text"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
textarea::-moz-input-placeholder,
input[type="number"]::-moz-input-placeholder {
    color: #7f7f7f;
    font-size: 18px;
}

input[type="text"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
textarea::-ms-input-placeholder,
input[type="number"]::-ms-input-placeholder {
    color: #7f7f7f;
    font-size: 18px;
}

input[type="text"].inp-err,
input[type="email"].inp-err,
input[type="password"].inp-err {
    border: 1px solid #F4516C;
}

input[type="text"].inp-err:hover,
input[type="email"].inp-err:hover {
    border: 1px solid #F4516C;
}

input[type="text"].inp-cent,
input[type="email"].inp-cent {
    text-align: center;
}

input[type="text"].inp-right,
input[type="email"].inp-right {
    text-align: right;
}

input[readonly] {
    padding: 0;
    /* border: 0; */
}

textarea[readonly] {
    border: 0;
}

input[readonly].col-red {
    color: #f02446;
}

/* input[readonly]:focus {
    border: 0;
} */

input.readonly {
    color: #ccc;
}

input.readonly.col-red {
    color: #f02446;
}

input.disabled {
    border: 1px solid #f5f5f5;
    background: #f5f5f5;
}

input[readonly].disabled {
    padding: 5.5px 5px;
}

select {
    padding: 4.5px 5px;
    border: 1px solid #ebedf2;
    border-radius: 3px;
    vertical-align: top;
}

select.disabled {
    background: #f5f5f5;
}


textarea {
    padding: 5px;
    border: 1px solid #ebedf2;
    border-radius: 3px;
    vertical-align: top;
    box-sizing: border-box;
    resize: none;
}

textarea::placeholder {
    color: #ccc;
}

.lb-box {
    display: inline-block;
    position: relative;
    height: 16px;
    margin-left: 15px;
    padding-left: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


.lb-box:first-child {
    margin: 0;
}

.lb-box input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
}

.lb-box input:checked~.mark:after {
    display: block;
}

.lb-box .txt-label {
    display: inline-block;
    margin-left: 5px;
    line-height: 1rem;
}

.lb-box .mark {
    position: absolute;
    top: 2px;
    left: 0;
    width: 12px;
    height: 12px;
    border: 1px solid #bdc3d4;
    border-radius: 3px;
    background: #fff;
}

.lb-box .mark.markb {
    position: absolute;
    top: -2px;
    left: 0px;
    width: 20px;
    height: 20px;
    border: 1px solid #bdc3d4;
    border-radius: 3px;
    background: #fff;
}

.lb-box .mark.chk:after {
    width: 3px;
    height: 8px;
    margin: -6px 0 0 -2px;
    border: solid #4a5368;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.lb-box .mark:after {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
}


.lb-box .mark.rdo {
    border-radius: 50%;
}

.lb-box .mark.rdo:after {
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 50%;
    background: #2f3336;
}

.btn-wrap {
    display: -ms-flex;
    display: flex;
    position: relative;
    margin-top: 30px;
}

.btn-wrap.cent {
    -ms-justify-content: center;
    justify-content: center;
}

.btn-wrap.right {
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

.btn-wrap.nopadg {
    padding: 0;
}

.btn-wrap .right {
    position: absolute;
    top: 0;
    right: 0;
}

.btn-wrap .left {
    position: absolute;
    top: 0;
    left: 0;
}

.btn-wrap.border {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #ebedf2;
}

.btn-wrap.border .right {
    top: 20px;
}

.btn-wrap.border .left {
    top: 20px;
}

.btn-wrap .btn-base {
    margin: 0 3px;
    height: 50px;
}

.btn-base {
    display: inline-block;
    min-width: 100px;
    height: 50px;
    padding: 7px 13px;
    border: 1px solid #475781;
    border-radius: 25px;
    background: #475781;
    color: #fff;
    line-height: 1;
    vertical-align: top;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    box-sizing: border-box;
}

.btn-base.small {
    min-width: auto;
    padding: 5px 8px;
}

.btn-base.vsmall {
    min-width: auto;
    height: 25px;
    line-height: 1.5px;
}

.btn-base.vsmall span {
    font-size: 12px;
}

.btn-base.tiny {
    min-width: auto;
}

.btn-base.indigo {
    border: 1px solid #01348B;
    background: #01348B;
    color: #fff;
}

.btn-base.sgray {
    /* border: 1px solid #f8f8f8;
    background: #f8f8f8;
    color: #2f3336; */

    border: 1px solid #f8f8f8;
    background: #f0f0f0;
    color: #2f3336;
}

.btn-base.mgray {
    border: 1px solid #d7d9dd;
    background: #d7d9dd;
    color: #080808;
}

.btn-base.sgrayfont {
    border: 1px solid #f8f8f8;
    background: #f8f8f8;
    color: #2f3336;
}

.btn-base.gray-rev {
    border: 1px solid #c5cbda;
    background: #fff;
    color: #2f3336;
}

.btn-base.rev {
    border: 1px solid #475781;
    background-color: #fff;
    color: #475781;
}

.btn-base.revi {
    border: 1px solid #4082a4;
    background-color: #fff;
    color: #4082a4;
}

.btn-base.burgundy-rev {
    background-color: #ffffff;
    border: 1px solid #e22424;
    color: #e22424;
}

.btn-base.indigo-rev {
    border: 1px solid #01348B;
    background-color: #fff;
    color: #01348B;
}

.btn-base.d-blue-rev {
    border: 1px solid #1b6fa7;
    background-color: #fff;
    color: #1b6fa7;
}

.btn-base.gray {
    border: 1px solid #c5cbda;
    background-color: #ccd1de;
    color: #2f3336;
}

.btn-base.red-rev {
    border: 1px solid #f4516c;
    background-color: #ffffff;
    color: #f4516c;
}

.btn-base.sgray-deep {
    border: 1px solid #e9e9e9;
    background-color: #e9e9e9;
    color: #c2c2c2;
}

.btn-base.blue {
    border: 1px solid #36a3f7;
    background-color: #36a3f7;
    color: #fff;
}

.btn-base.dblue {
    border: 1px solid #1b6fa7;
    background-color: #1b6fa7;
    color: #fff;
}

.btn-base.d-blue {
    background-color: #1e88e5;
    border: 1px solid #1e88e5;
}

.btn-base.darkgreen {
    border: 1px solid #206e44;
    background-color: #206e44;
    color: #fff;
}

.btn-base.red {
    border: 1px solid #f4516c;
    background-color: #f4516c;
    color: #fff;
}

.btn-base.yellow {
    border: 1px solid #FFB822;
    background-color: #FFB822;
    color: #fff;
}

.btn-base.blue-deep {
    border: 1px solid #1f7dd4;
    background-color: #1f7dd4;
    color: #fff;
}

.txt-gray {
    color: #9b9b9b !important;
}

.txt-black {
    color: #333 !important;
}


.paging-wrap {
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    position: relative;
    margin-top: 20px;
}

.paging-wrap.cent {
    -ms-justify-content: center;
    justify-content: center;
}

.paging-wrap.right {
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

.paging-wrap .area {
    -ms-flex: 1;
    flex: 1;
}

.paging-wrap .area.noflex {
    -ms-flex: none;
    flex: none;
}

.paging-wrap .area.noflex .page-txt {
    margin-top: 13px;
}

.paging-wrap .area.left {
    position: absolute;
    top: 0;
    left: 0;
}

.paging-wrap .paging {
    display: -ms-flex;
    display: flex;
    margin-top: 5px;
}

.paging-wrap .paging.cent {
    -ms-justify-content: center;
    justify-content: center;
}

.paging-wrap .paging.right {
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

.paging-wrap .paging:after {
    display: block;
    clear: both;
    content: '';
}

.paging-wrap .paging li {
    float: left;
    margin-left: 5px;
}

.paging-wrap .paging li:first-child {
    margin: 0;
}

.paging-wrap .paging .btn-page {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #575962;
    line-height: 0.5em;
    text-align: center;
    outline: none;
}

.paging-wrap .paging .page-item .btn-page span {
    display: block;
    width: 30px;
    height: 30px;
    line-height: 28px;
}

.paging-wrap .paging .page-item:hover .btn-page {
    background: #716aca;
    color: #fff;
}

.paging-wrap .paging .page-item.on .btn-page {
    background: #716aca;
    color: #fff;
}

.paging .page-next .btn-page,
.paging-wrap .paging .page-prev .btn-page {
    background: #F3F2F7;
}

.paging-wrap .page-txt {
    margin: 0;
    font-size: 10px;
}

.paging-wrap .btn-wrap {
    margin: 0;
}

.paging-wrap .btn-wrap .btn-base {
    position: static;
    top: auto;
    right: auto;
}

.paging-wrap .btn-wrap .btn-base:last-child {
    margin-right: 0;
}

.paging-wrap .btn-base {
    position: absolute;
    top: 0;
    right: 0;
}

.paging-wrap .data-count {
    margin-top: 5px;
    font-size: 10px;
}

.paging-wrap .data-count select {
    padding: 2px 5px;
}

.paging-wrap .data-count .txt {
    display: inline-block;
    margin-top: 8px;
}

.popup {
    display: none;
    position: absolute;
    z-index: 40;
    width: 700px;
    height: auto;
    background: #fff;
    padding: 40px;
    box-sizing: border-box;
}


.popup.on {
    display: block;
}

.popup .pop-head {
    min-height: 15px;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #475781;
    position: fixed;
}

.popup .pop-head .pop-tit {
    font-size: 20px;
}

.popup .btn-close {
    cursor: pointer;
    font-size: 20px;
}

.popup .pop-body {
    padding: 30px 0 0 0;
}

.popup.scroll {
    overflow-y: auto;
    max-height: 850px;
}

.popup .pop-body.scroll {
    overflow-y: auto;
    max-height: 490px;
}

.popup .tbl-wrap.scroll {
    overflow-y: auto;
    max-height: 300px;
}

.popup .tbl-wrap.list {
    overflow: auto;
    height: auto;
    max-height: 200px;
}

.popup .tbl-wrap.list.pop-scroll {
    height: auto;
    max-height: 500px;
}

.popup .p-tit {
    display: block;
    font-size: 16px;
    font-weight: bold;
}

.popup .pop-close>.sp {
    font-size: 16px;
}

.popup .pop-txt {
    margin-bottom: 10px;
    line-height: 1.5em;
    text-align: center;
}

.popup .pop-txt.left {
    text-align: left;
}

.field-box {
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    min-height: 30px;
    margin-top: 8px;
}

.field-box:first-of-type {
    margin: 0;
}

.field-box.fst {
    margin-top: 10px;
}

.field-box.fstb {
    margin-bottom: 10px;
}

.field-box>.btn-base {
    margin-left: 5px;
}

.field-box>.btn-base.fst {
    margin: 0;
}

.field-box.right {
    justify-content: flex-end;
}

.field-box.right .align-list {
    width: auto;
}

.field-box.cent {
    justify-content: center;
}

.field-box.cent .align-list {
    width: auto;
}

.field-box .btn-wrap {
    width: 100%;
}

.field-box.fb-position {
    margin: 0;
}

.title {
    font-weight: bold;
    font-size: 20px;
    padding: 0 0 30px;
}

.s-title {
    font-weight: bold;
}

.sub-title {
    font-weight: 600;
    font-size: 15px;
}

.sub-tit {
    display: block;
    margin-bottom: 20px;
    color: #363636;
    font-size: 14px;
    font-weight: bold;
}

.align-list {
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    width: 100%;
}

.align-list.p-after li:first-child:after {
    clear: both;
    content: '';
    width: 2px;
    height: 15px;
    background: #d3d3d3;
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
}

.align-list.fst {
    margin: 0;
}

.align-list.cent {
    -ms-justify-content: center;
    justify-content: center;
}

.align-list li {
    margin-left: 10px;
}

.align-list li>span {
    line-height: 30px;
}

.align-list li:first-child {
    margin: 0;
}

.align-list .txt {
    display: inline-block;
    margin: 8px 5px 0 0;
    vertical-align: top;
}

.align-list.mright10>li {
    margin-right: 10px;
}

.align-list.mright10>li:last-child {
    margin: 0;
}

.align-list.mright15>li {
    margin-right: 15px;
}

.align-list.mright15>li:last-child {
    margin: 0;
}

.align-list.mright20>li {
    margin-right: 20px;
}

.align-list.mright20>li:last-child {
    margin: 0;
}

.align-list.mleft10>li {
    margin-left: 10px;
}

.align-list.mleft10>li:first-child {
    margin: 0;
}

.align-list.mleft15>li {
    margin-left: 15px;
}

.align-list.mleft15>li:first-child {
    margin: 0;
}

.align-list.mleft20>li {
    margin-left: 20px;
}

.align-list.mleft20>li:first-child {
    margin: 0;
}

/* table */

.tbl-wrap {
    margin: 20px 0;
}

.tbl-wrap.fst {
    margin-top: 0;
}

.tbl-wrap td,
.tbl-wrap th {
    padding: 8px;
    border: 1px solid #ebedf2;
    color: #575962;
    line-height: 1rem;
    text-align: left;
    box-sizing: border-box;
}

.tbl-wrap td.bout,
.tbl-wrap th.bout {
    border: 1px solid #ebedf2;
}

.tbl-wrap.bnone td,
.tbl-wrap.bnone th {
    border-left: none;
    border-right: none;
}

.tbl-wrap th {
    background: #f4f5f8;
    font-weight: bold;
}

.tbl-wrap td {
    font-size: 13px;
}

.tbl-wrap td .btn-base.gray {
    min-width: 0;
    padding: 5px;
}

.tbl-wrap .col-red td {
    color: #f02446;
}

.tbl-wrap .col-blue td {
    color: #36A3F7;
}

.tbl-wrap .col-indigo td {
    color: #01348B;
}

.tbl-wrap .col-green td {
    color: #4CC0A5;
}

.tbl-wrap .col-gray td {
    color: #8f929e;
}

.tbl-wrap .col-red button {
    color: #f02446;
}

.tbl-wrap td.col-red {
    color: #f02446;
}

.tbl-wrap .cent {
    text-align: center;
}

.tbl-wrap .cent .left {
    text-align: left;
}

.tbl-wrap .cent .right {
    text-align: right;
}

.tbl-wrap .cent td,
.tbl-wrap .cent th {
    text-align: center;
}

.tbl-wrap .right td,
.tbl-wrap .right th {
    text-align: right;
}

.tbl-wrap .right {
    text-align: right;
}

.tbl-wrap .right .cent {
    text-align: center;
}

.tbl-wrap .right .left {
    text-align: left;
}

.nomal {
    font-weight: normal;
}

.bold {
    font-weight: bold;
}

.tbl-wrap .large {
    font-size: 20px;
}

.tbl-wrap .bold td,
.tbl-wrap .bold th {
    font-weight: bold;
}

.tbl-wrap .large td,
.tbl-wrap .large th {
    font-size: 20px;
}

.tbl-wrap .pointer {
    cursor: pointer;
}

.tbl-wrap .default {
    cursor: default;
}

.tbl-wrap .pointer-over:hover {
    background-color: #013ca107;
    cursor: pointer;
}

.tbl-wrap .bg-red {
    background: #F4516C;
    color: #fff;
}

.tbl-wrap .bg-red td {
    border: 0;
    border-left: 1px solid #c6374f;
    border-top: 1px solid #f4f5f8;
    color: #fff;
}

.tbl-wrap .bg-gray {
    background: #f4f5f8;
}

.tbl-wrap .remove td {
    color: #aaaaaa;
    text-decoration: line-through;
}

.tbl-wrap .remove .not-remove {
    color: #575962;
    text-decoration: none;
}

.tbl-wrap td.remove {
    color: #aaaaaa;
    text-decoration: line-through;
}

.tbl-wrap .remove .no-remove {
    color: #575962;
    text-decoration: none !important;
}

.tbl-wrap .td-chk .td-inr {
    width: 16px;
    height: 16px;
    margin: 0 auto;
}

.tbl-wrap .td-inr.iptb7 {
    padding: 7px 0;
}

.tbl-wrap .td-chk .lb-box {
    width: 2px;
    height: 16px;
}

.tbl-wrap.scroll {
    overflow: auto;
}

.tbl-wrap .scroll {
    overflow: auto;
}

.tbl-wrap.nobor td,
.tbl-wrap.nobor th {
    border: 0;
}

.tbl-wrap .tbl-fixed {
    table-layout: fixed;
}

.tbl-wrap .tbl-fixed .td-inr {
    overflow: hidden;
    width: 100%;
    height: 100%;
    text-overflow: ellipsis;
    word-wrap: break-word;
    word-break: keep-all;
    align-items: center;
    display: flex;
    justify-content: center;
}

.tbl-wrap.tbl-left .tbl-fixed .td-inr {
    justify-content: flex-start;
}

.tbl-wrap .tbl-fixed .td-inr.td-left {
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 0 20px;
}

.tbl-wrap .tbl-fixed.border {
    border: 1px solid #eee;
    border-radius: 5px;
}

.tbl-wrap .tbl-fixed.cont-left .td-inr {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.tbl-wrap.list.height {
    min-height: 0;
}

.tbl-wrap.list.auto {
    overflow: auto;
    min-height: auto;
}

.tbl-wrap.list td {
    height: 30px;
    min-height: 30px;
}

.tbl-wrap.list td,
.tbl-wrap.list th {
    padding: 4px;
    text-align: center;
    word-break: break-all;
}

.tbl-wrap.list .left {
    text-align: left;
}

.tbl-wrap.list .right {
    text-align: right;
}

/* table write */
.tbl-wrap.write td,
.tbl-wrap.write th {
    height: 25px;
    padding: 10px 15px;
    border: 0;
    word-break: break-all;
}

.tbl-wrap.write th {
    background: none;
}

.tbl-wrap.write input[type="text"] {
    width: 85%;
}

.tbl-wrap.write select {
    width: 85%;
}

.tbl-wrap.write .align-list .lb-box {
    margin-top: 0;
}

/* view 페이지 파일 다운로드 */
span.red.small {
    color: #ff0000;
}

input.number-only {
    ime-mode: disabled;
}

input[type=number] {
    -moz-appearance: textfield;
    appearance: textfield;
    margin: 0;
    ime-mode: disabled;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    ime-mode: disabled;
}

/* flex */
.cont-wrap {
    display: flex;
    justify-content: space-between;
}

.flex {
    display: flex;
}

.flex-line {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}

.cont-wrap {
    display: flex;
    justify-content: space-between;
}

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

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

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

.flex-t {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.flex-t-c {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.flex-l {
    display: flex;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
}

.flex-l-t {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

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

.flex-left {
    display: flex;
    align-items: center !important;
    justify-content: flex-start !important;
}

.flex-lrs {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.flex-lr-t {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.flex-lr-b {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}

.flex-b {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.flex-l-c {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.flex-l-c2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

.flex-b-c {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.flex-b-r {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    align-content: flex-end;
    flex-wrap: wrap;
}

.flex-btm {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
}

/*table - textarea */
.t-txtarea {
    width: 100%;
    max-height: 150px;
    overflow-y: auto;

}

/* textarea */
.txtarea {
    width: 100%;
}

/* 테이블 헤더 고정 */
thead {
    position: sticky;
    top: -1px;
    z-index: 2;
}

.re-complete-wrap thead {
    position: sticky;
    top: 69px;
    z-index: 2;
}

/* 헤더쪽 보더 */
.top-border {
    border-bottom: 1px solid #ebedf2;
}

/* 툴팁 */
.tool-wrap {
    position: relative;
}

.re-relative {
    position: relative;
}

.tooltip {
    width: 130px;
    height: auto;
    color: #fff;
    line-height: 1.5;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 3px;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    z-index: 3;
    padding: 10px;
}

.tooltip::before {
    content: "";
    clear: both;
    width: 0;
    height: 0;
    border-bottom: 5px solid rgba(0, 0, 0, 0.5);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    position: absolute;
    top: -4.6px;
    left: 50%;
    transform: translateX(-50%);
}

.tooltip.on {
    display: block;
}

.tooltip2 {
    width: 130px;
    height: auto;
    color: #fff;
    line-height: 1.5;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 3px;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    z-index: 3;
    padding: 10px;
}

.tooltip2::before {
    content: "";
    clear: both;
    width: 0;
    height: 0;
    border-bottom: 5px solid rgba(0, 0, 0, 0.5);
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    position: absolute;
    top: -4.6px;
    left: 50%;
    transform: translateX(-50%);
}

.tooltip2.on {
    display: block;
}

/* sticky table */
.sticky-wrap {
    position: relative
}

.tbl-sticky {
    overflow: auto
}

.tbl-sticky .head-fixed {
    display: none;
    overflow: hidden;
    position: fixed;
    z-index: 10
}

.tbl-sticky .head-fixed.inr {
    position: absolute;
    top: 0;
    left: 0;
    right: 17px
}

.tbl-sticky .head-fixed.on {
    display: block
}

.tbl-sticky .head-fixed .sticky-cell {
    position: fixed
}

.tbl-sticky .sticky-cell {
    position: absolute;
    top: auto;
    left: 0
}

.tbl-sticky .nodata .sticky-cell {
    padding: 20px 8px
}

.tbl-sticky .td-inr {
    font-size: 11px
}

.tbl-sticky .desc {
    display: -ms-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    width: 100%;
    height: 100%;
    word-break: break-all
}

.tbl-sticky .td-inr.cent .desc {
    -ms-justify-content: center;
    justify-content: center
}

.tbl-sticky .td-inr.right .desc {
    -ms-justify-content: flex-end;
    justify-content: flex-end
}

.tbl-sticky .cent .td-inr .desc {
    -ms-justify-content: center;
    justify-content: center
}

.tbl-sticky .cent .td-inr.left .desc {
    -ms-justify-content: flex-start;
    justify-content: flex-start
}

.tbl-sticky .cent .td-inr.right .desc {
    -ms-justify-content: flex-end;
    justify-content: flex-end
}

.tbl-sticky .right .td-inr.cent .desc {
    -ms-justify-content: center;
    justify-content: center
}

.tbl-sticky .right .td-inr.left .desc {
    -ms-justify-content: flex-start;
    justify-content: flex-start
}

.tbl-sticky .right .td-inr .desc {
    -ms-justify-content: flex-end;
    justify-content: flex-end
}

.tbl-sticky .lb-box {
    height: 16px;
    margin-right: 8px;
    vertical-align: top
}

.tbl-sticky button,
.account .tbl-sticky a {
    font-size: 11px;
    color: #575962
}

.tbl-sticky .btn-base {
    color: #2f3336
}


/* 멀티 셀렉트 */

.multi:focus {
    border: 1px solid #475781;
}

.multi-box {
    display: none;
    z-index: 3;
    position: absolute;
}

.multi-list {
    max-height: 120px;
    overflow: auto;
    width: 180px;
    border: 1px solid #ebedf2;
    border-top: none;
    background-color: #fff;
    z-index: 3;
}

.multi-list>li {
    padding: 9px 15px;
    color: #333;
    border-color: #cdd7e1;
    cursor: pointer;
    margin: 0;
}

.multi {
    position: relative;
}

.multi>table {
    padding: 4.5px 5px;
    border: 1px solid #ebedf2;
    border-radius: 3px;
    vertical-align: top;
}

.multi>table>td:focus {
    border: 1px solid #475781;
}

.multi .multi-select-tit {
    min-height: 33px;
    padding: 0 5px;
    box-sizing: border-box;
    cursor: pointer;
}

.multi-btn {
    text-align: center;
    background-color: #475781;
    border: 1px solid #cdd7e1;
    border-top: none;
    width: 50px;
    height: 30px;
    font-weight: 900;
}

.multi-btn>input {
    background-color: #475781;
    color: #fff;
}

/* datepiker */
.ui-datepicker {
    border: 1px solid #eee;
    background-color: #fff;
    display: none;
}

.ui-datepicker-calendar {
    width: 200px;
    padding: 10px;
}

.ui-datepicker-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    border: none;
}

.ui-datepicker-year,
.ui-datepicker-month {
    cursor: pointer;
    border: none;
}

.ui-datepicker-title {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px;

}

.ui-datepicker-prev {
    border: 1px solid #eee;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-image: url(../images/ctcmadmin/prev.png);
    background-repeat: no-repeat;
    background-size: 70% 70%;
    background-position: center;
    text-indent: -9999px;
    cursor: pointer;
}

.ui-datepicker-next {
    border: 1px solid #eee;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-image: url(../images/ctcmadmin/next.png);
    background-repeat: no-repeat;
    background-size: 70% 70%;
    background-position: center;
    text-indent: -9999px;
    cursor: pointer;
    margin-left: 5px;
}

.ui-datepicker-calendar tr th {
    padding: 10px;
    cursor: pointer;
    text-align: center;
}

.ui-datepicker-calendar tr td {
    padding: 10px;
    cursor: pointer;
    text-align: center;
}

.indent10 {
    text-indent: 10px;
}

.indent20 {
    text-indent: 20px;
}

.circle li {
    display: flex;
    align-items: center;
    font-size: 16px;
    margin-bottom: 25px;
}

.circle.circle2 li {
    display: flex;
    align-items: flex-start;
}

.circle li:last-child {
    margin-bottom: 0px;
}

.circle li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0px 16px 0 0;
    vertical-align: middle;
    background: #475781;
    border-radius: 50%;
}

.circle.circle2 li::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 7px 16px 0 0;
    vertical-align: middle;
    background: #475781;
    border-radius: 50%;
}

.topm10 {
    position: relative;
    top: -10px;
}

.topm15 {
    position: relative;
    top: -15px;
}

.topm20 {
    position: relative;
    top: -20px;
}

.deconone {
    text-decoration: none;
}

.cursor-nomal {
    cursor: default;
}

.paiging li {
    font-size: 20px;
    margin-right: 20px;
}

.paiging li.on {
    width: 40px;
    height: 40px;
    background-color: #4a5368;
    border-radius: 50%;
    text-align: center;
    line-height: 40px;
    color: #fff;
}


/* 슬라이드
.swiper {
    width: 800px;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper {
    width: 100%;
    height: 300px;
    margin-left: auto;
    margin-right: auto;
}

.swiper-slide {
    background-size: cover;
    background-position: center;
    background-color: #000;
}

.mySwiper2 {
    width: 800px;
    height: 350px;
}

.mySwiper {
    width: 800px;
    height: 20%;
    box-sizing: border-box;
    padding: 10px 0;
}

.mySwiper .swiper-slide {
    width: 120px;
    height: 120px;
    opacity: 0.4;
    margin-right: 50px;
}

.mySwiper .swiper-slide:last-child {
    margin-right: 0px;
}

.mySwiper .swiper-slide-thumb-active {
    opacity: 1;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-text {
    width: 800px;
    margin: 25px 0 50px;
    text-align: left;
} */

/* 활성 서브메뉴 스타일 */
.h-site-text li a.active {
    color: #1976d2;
    font-weight: bold;
}

.h-site-text li a.active:hover {
    color: #1565c0;
}

/* 공지사항 게시판 탭 스타일 */
.tab li {
    margin-right: 15px;
    color: #8f929e;
    cursor: pointer;
    position: relative;
    padding-bottom: 6px;
    /* 투명한 border를 추가하여 높이 일관성 유지 */
    border-bottom: 2px solid transparent;
    font-weight: bold;
    font-size: 20px;
}

.tab li a {
    font-weight: inherit;
    color: inherit;
    font-size: 20px !important;
    white-space: nowrap;
    display: inline-block;
}

.tab li.on {
    color: #000;
    border-bottom: 2px solid #000;
    padding-bottom: 6px;
}

/* 탭 폰트 크기 강제 적용 */
ul.tab.fs20.bold li,
ul.tab.fs20.bold li a {
    font-size: 20px !important;
    font-weight: bold !important;
}

/* 게시판 목록 스타일 */
.regi-wrap {
    border-top: 1px solid #cdd7e1;
    padding: 24px 40px;
    box-sizing: border-box;
    transition: background-color 0.2s ease;
}

.regi-wrap:last-child {
    border-bottom: 1px solid #cdd7e1;
    margin-bottom: 140px;
}

/* 공지사항 목록 호버 효과 */
.regi-wrap.notice-wrap:hover {
    background-color: #f4f5f8;
}

.regi-wrap.notice-wrap:last-child {
    border-bottom: 1px solid #333;
    margin-bottom: 70px;
}

.notice-wrap ul li {
    cursor: pointer;
}

.notice-wrap ul li:nth-child(1) {
    width: 880px;
    font-weight: bold;
    color: #333;
    font-size: 18px;
}

.notice-wrap ul li a {
    display: block;
    width: 100%;
    color: #333;
    font-size: 18px;
    text-decoration: none;
}

.notice-wrap ul li:nth-child(2) {
    width: 180px;
    text-align: center;
    font-weight: normal;
}

.notice-wrap ul li:nth-child(3) {
    width: 120px;
    text-align: right;
    font-weight: normal;
}

/* 게시물 네비게이션 스타일 */
.post-navigation {
    margin-top: 40px;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border-top: 1px solid #343434;
    border-bottom: 1px solid #343434;
    border-radius: 4px;
    overflow: hidden;
}

.post-navigation table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.post-navigation .nav-row {
    border-bottom: 1px solid #d0d0d0;
    display: flex;
    align-items: center;
    min-height: 50px;
}

.post-navigation .nav-row:last-child {
    border-bottom: none;
}

.post-navigation .nav-label {
    width: 80px;
    min-width: 80px;
    padding: 15px 20px;
    text-align: center;
    font-weight: bold;
    color: #666;
    white-space: nowrap;
    flex-shrink: 0;
}

.post-navigation .nav-icon {
    width: 20px;
    min-width: 20px;
    padding: 15px 10px;
    text-align: center;
    flex-shrink: 0;
}

.post-navigation .nav-icon i {
    color: #666;
    font-size: 12px;
}

.post-navigation .nav-content {
    flex: 1;
    padding: 15px 20px;
    color: #333;
    overflow: hidden;
}

.post-navigation .nav-content a {
    color: #333;
    text-decoration: none;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.2s ease;
}

.post-navigation .nav-content a:hover {
    color: #007bff;
    text-decoration: underline;
}

/* 인라인 스타일 이전 - API 테스트 및 상태 박스 */
.api-status-box {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

/* 입력 필드 스타일 */
.form-input-large {
    min-height: 50px;
    padding: 5.5px 5px;
    border: 1px solid #d7d7d7;
    font-size: 18px;
    text-indent: 10px;
    box-sizing: border-box;
}

.form-input-medium {
    min-height: 40px;
    padding: 5px 10px;
    border: 1px solid #d7d7d7;
}

.form-input-readonly {
    min-height: 50px;
    padding: 5.5px 5px;
    border: 1px solid #d7d7d7;
    font-size: 18px;
    text-indent: 10px;
    box-sizing: border-box;
    background-color: #f5f5f5;
}

/* 결과/메시지 영역 */
.result-area {
    min-height: 0px;
    margin-bottom: 0px !important;
    display: none;
}

.result-area.show {
    display: flex;
    margin-bottom: 20px !important;
}

.result-message {
    line-height: 1.5;
}

/* 전체 높이 레이아웃 */
.full-height {
    min-height: 100vh;
}

/* 정보 박스 */
.info-box {
    border: 2px solid #e0e0e0;
    padding: 30px;
    border-radius: 10px;
    background-color: #f9f9f9;
    margin: 30px 0;
}

/* 강조 텍스트 */
.text-primary {
    color: #007;
    font-weight: bold;
}

/* 버튼 마진 */
.btn-margin-left {
    margin-left: 5px;
}

/* 코드 블록 */
.code-block {
    white-space: pre-wrap;
    word-break: break-word;
}

/* 인라인 폼 */
.form-inline {
    display: inline;
}

/* 숨김 표시 */
.hidden {
    display: none;
}

/* 게시글 내 이미지 반응형 처리 */
.notice-wrap .fs16 img,
.board-content img {
    max-width: 100%;
    height: auto;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.notice-wrap .fs16 img:hover,
.board-content img:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    transform: scale(1.02);
}

/* 이미지 모달 */
.image-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.image-modal.active {
    opacity: 1;
    visibility: visible;
}

/* 페이지별 헤더 배경 스타일 (base.html에서 이전) */
/* 기본 서브페이지 - white 배경 */
.sub-page #main-header {
    background-color: white;
}

/* 메인페이지 - 투명 배경 */
.main-page #main-header {
    background-color: transparent;
}

/* GNB 호버 시 배경 */
.sub-page .gnb-bg {
    background-color: white;
}

.main-page .gnb-bg {
    background-color: rgba(255, 255, 255, 0.95);
}

.image-modal-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    transform: scale(0.5);
    transition: transform 0.3s ease;
}

.image-modal.active .image-modal-content {
    transform: scale(1);
}

.image-modal img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.image-modal-close {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
    z-index: 10000;
}

.image-modal-close:hover {
    background-color: #fff;
    transform: scale(1.1);
}

/* 모바일 대응 */
@media (max-width: 768px) {
    .image-modal-close {
        top: 10px;
        right: 10px;
        width: 35px;
        height: 35px;
        font-size: 16px;
    }
    
    .image-modal-content {
        max-width: 95vw;
        max-height: 95vh;
    }
}

/* 이미지 로딩 표시 */
.image-loading {
    position: relative;
}

.image-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Sticky 공지사항 스타일 개선 */
.notice-wrap.btnone ul li a {
    color: #000 !important;
    font-weight: bold;
}

/* 공지 아이콘 - NEW 아이콘과 완전히 동일한 스타일 (색상만 반전) */
.btn-base.notice-icon {
    /* NEW 아이콘 색상을 반전 - 배경은 파란색, 텍스트는 흰색 */
    background-color: #475781;
    color: #fff;
    border: 1px solid #475781;
}