@charset "utf-8";

/* --------------------------------------------------------
Reset 시작
----------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;

}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* --------------------------------------------------------
UI
----------------------------------------------------------*/

html,
body {
    color: #222;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: -1px;
    font-weight: 400;
    font-family:"S-CoreDream", "Noto Sans KR", sans-serif;
    -webkit-text-size-adjust: none; /* 크롬, 사파리, 오페라 신버전 */
    -ms-text-size-adjust: none; /* IE */
    -moz-text-size-adjust: none; /* 파이어폭스 */
    -o-text-size-adjust: none;
}

a {
    color: #333;
    font-weight: 400;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
}
a:hover {
    text-decoration: none;
}
h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    font-weight: normal;
}
hr {
    margin: 0px;
    border: 0px;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}
table {
    border-collapse: separate;
    border-spacing: 0;
}

legend {
    overflow: hidden;
    position: absolute;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
}
caption {
    overflow: hidden;
    position: absolute;
    width: 0;
    height: 0;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
}

/* --------------------------------------------------------
FONT class
----------------------------------------------------------*/
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-1Thin.woff")
    format("woff");
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-2ExtraLight.woff")
    format("woff");
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff")
    format("woff");
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff")
    format("woff");
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff")
    format("woff");
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff")
    format("woff");
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-7ExtraBold.woff")
    format("woff");
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-8Heavy.woff")
    format("woff");
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: "S-CoreDream";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-9Black.woff")
    format("woff");
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: "SBAggro";
    src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroM.woff")
    format("woff");
    font-weight: 500;
}

/* --------------------------------------------------------
GLOBAL class
----------------------------------------------------------*/
.text_left {
    text-align: left !important;
}
.text_right {
    text-align: right !important;
}
.text_center {
    text-align: center !important;
}
.margin_center {
    margin: 0px auto !important;
}

/* --------------------------------------------------------
width class
----------------------------------------------------------*/
.w100 {
    width: 100px !important;
}
.w200 {
    width: 200px !important;
}

/* --------------------------------------------------------
margin class
----------------------------------------------------------*/
.mb0 {
    margin-bottom: 0px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}

.ml0 {
    margin-left: 0px !important;
}
.ml5 {
    margin-left: 5px !important;
}
.ml10 {
    margin-left: 10px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.ml30 {
    margin-left: 30px !important;
}
.ml40 {
    margin-left: 40px !important;
}
.ml50 {
    margin-left: 50px !important;
}

.mr0 {
    margin-right: 0px !important;
}
.mr5 {
    margin-right: 5px !important;
}
.mr10 {
    margin-right: 10px !important;
}
.mr20 {
    margin-right: 20px !important;
}
.mr30 {
    margin-right: 30px !important;
}
.mr40 {
    margin-right: 40px !important;
}
.mr50 {
    margin-right: 50px !important;
}

.mt0 {
    margin-top: 0px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt5ms {
    margin-top: -5px !important;
}

/* --------------------------------------------------------
padding class
----------------------------------------------------------*/
.pb0 {
    padding-bottom: 0px !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pb20 {
    padding-bottom: 20px !important;
}
.pb30 {
    padding-bottom: 30px !important;
}
.pb40 {
    padding-bottom: 40px !important;
}
.pb50 {
    padding-bottom: 50px !important;
}

.pl0 {
    padding-left: 0px !important;
}
.pl10 {
    padding-left: 10px !important;
}
.pl20 {
    padding-left: 20px !important;
}
.pl30 {
    padding-left: 30px !important;
}
.pl40 {
    padding-left: 40px !important;
}
.pl50 {
    padding-left: 50px !important;
}

.pr0 {
    padding-right: 0px !important;
}
.pr10 {
    padding-right: 10px !important;
}
.pr20 {
    padding-right: 20px !important;
}
.pr30 {
    padding-right: 30px !important;
}
.pr40 {
    padding-right: 40px !important;
}
.pr50 {
    padding-right: 50px !important;
}

.pt0 {
    padding-top: 0px !important;
}
.pt10 {
    padding-top: 10px !important;
}
.pt20 {
    padding-top: 20px !important;
}
.pt30 {
    padding-top: 30px !important;
}
.pt40 {
    padding-top: 40px !important;
}
.pt50 {
    padding-top: 50px !important;
}

/* --------------------------------------------------------
BUTTON class
----------------------------------------------------------*/
button {
    display: inline-block;
    text-align: center;
    margin: 0px;
    overflow: hidden;
    border: none;
    outline: none;
    cursor: pointer;
    appearance: none;
    user-select: none;
    background: #fff;
}
.btn {
    text-align: center;
    border-radius: 0px;
    margin-left: 2px;
    margin-bottom: 2px;
    display: inline-flex;
    vertical-align: top;
    white-space: nowrap;
    letter-spacing: -1px;
    transition: 0.3s ease-out;
    justify-content: center;
    box-sizing: border-box;
    font-weight: 500;
    font-family: "S-CoreDream", "Noto Sans KR", sans-serif;
    height: 30px;
    line-height: 28px;
    padding: 0px 10px;
    min-width: 30px;
    font-size: 13px;
    align-items: center;

}

.outlined {
    border: 1px solid #666;
    border-radius: 3px;
}
.outlined:hover {
    background: #eff5ff;
    border-color: #246beb;
    color: #246beb;
}
.delete:hover {
    background: #e71825;
    border-color: #e71825;
    color: #fff;
}
button:disabled,
.disabled {
    background-color: #fff;
    color: #888;
    cursor: default;
    user-select: none;
    pointer-events: none;
}
/* --------------------------------------------------------
sr-only class
----------------------------------------------------------*/
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* --------------------------------------------------------
skin class - stbg-green
----------------------------------------------------------*/
.stbg-green [class*=sidebar-dark-],
.stbg-green .control-sidebar-dark {
    background-color: #1e9e49;
}
.stbg-green .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-green .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #1e9e49;
}
.stbg-green [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-green [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-green .sidebar-sub-panel .nav-link:hover,
.stbg-green .sidebar-sub-panel .nav-link.active {
    color: #1e9e49;
}
.stbg-green .nav-pills .nav-link.active,
.stbg-green .nav-pills .show>.nav-link {
    background: #1e9e49;
}

.stbg-green .menu-tab.active,
.stbg-green .menu-tab:hover {
    border-color: #1e9e49;
    color: #1e9e49;
}
.stbg-green .menu-tab .tab-close {
    border: 1px solid #1e9e49;
}
.stbg-green .menu-tab .tab-close::before {
    color: #1e9e49;
}
.stbg-green .tab-header a.active {
    border-color: #1e9e49 !important;
    color: #1e9e49;
}
.stbg-green .nav-tabs .nav-item.show .nav-link,
.stbg-green .nav-tabs .nav-link.active {
    color: #1e9e49;
}
.stbg-green .BtnLink li:hover {
    border-color: #1e9e49;
    background: #1e9e49;
}
.stbg-green .minfo {
    background: linear-gradient(#187e3a, #1e9e48);
}
.stbg-green .minfoList p.tel i::before {
    background-position: -277px 0px;
}
.stbg-green .minfoList p.web i::before {
    background-position: -294px 0px;
}
.stbg-green #myDropdownUtils.dropdown-content button:hover {
    border-color: #1e9e49;
    background: #1e9e49;
}
.stbg-green .mbookmarkList ul li a > span > i,
.stbg-green .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-green .mbookmarkList ul li:hover a em {
    color: #1e9e49;
}
.stbg-green .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(30, 158, 73, 0.1);
}
.stbg-green .userInfo .userm {
    background: #1e9e49;
}
.stbg-green .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#187e3a, #1e9e48);
}
.stbg-green .mcalendar.mcalendar02::before {
    background: #1e9e48;
}
.stbg-green .mcalendartable .day:hover,
.stbg-green .day.selected {
    background: #1e9e48;
}
.stbg-green .mcalendartable .in-range {
    background: rgba(30, 158, 72, 0.2);
    color: #1e9e48;
    box-shadow: 4px 0 0 rgba(30, 158, 72, 0.2), -4px 0 0 rgba(30, 158, 72, 0.2);
}
.stbg-green .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #1e9e48 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(30, 158, 72, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(30, 158, 72, 0.2);
    color: #fff;
}
.stbg-green .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #1e9e48 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(30, 158, 72, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(30, 158, 72, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
skin class - stbg-blue
----------------------------------------------------------*/
.stbg-blue [class*=sidebar-dark-],
.stbg-blue .control-sidebar-dark {
    background-color: #006bff;
}
.stbg-blue .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-blue .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #006bff;
}
.stbg-blue [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-blue [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-blue .sidebar-sub-panel .nav-link:hover,
.stbg-blue .sidebar-sub-panel .nav-link.active {
    color: #006bff;
}
.stbg-blue .nav-pills .nav-link.active,
.stbg-blue .nav-pills .show>.nav-link {
    background: #006bff;
}
.stbg-blue .menu-tab.active,
.stbg-blue .menu-tab:hover {
    border-color: #006bff;
    color: #006bff;
}
.stbg-blue .menu-tab .tab-close {
    border: 1px solid #006bff;
}
.stbg-blue .menu-tab .tab-close::before {
    color: #006bff;
}
.stbg-blue .tab-header a.active {
    border-color: #006bff !important;
    color: #006bff;
}
.stbg-blue .nav-tabs .nav-item.show .nav-link,
.stbg-blue .nav-tabs .nav-link.active {
    color: #006bff;
}
.stbg-blue .BtnLink li:hover {
    border-color: #006bff;
    background: #006bff;
}
.stbg-blue .minfo {
    background: linear-gradient(#0056cc, #006bff);
}
.stbg-blue .minfoList p.tel i::before {
    background-position: -277px -17px;
}
.stbg-blue .minfoList p.web i::before {
    background-position: -294px -17px;
}
.stbg-blue #myDropdownUtils.dropdown-content button:hover {
    border-color: #006bff;
    background: #006bff;
}
.stbg-blue .mbookmarkList ul li a > span > i,
.stbg-blue .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-blue .mbookmarkList ul li:hover a em {
    color: #006bff;
}
.stbg-blue .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(0, 107, 255, 0.1);
}
.stbg-blue .userInfo .userm {
    background: #006bff;
}
.stbg-blue .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#0056cc, #006bff);
}
.stbg-blue .mcalendar.mcalendar02::before {
    background: #006bff;
}
.stbg-blue .mcalendartable .day:hover,
.stbg-blue .day.selected {
    background: #006bff;
}
.stbg-blue .mcalendartable .in-range {
    background: rgba(0, 107, 255, 0.2);
    color: #006bff;
    box-shadow: 4px 0 0 rgba(0, 107, 255, 0.2), -4px 0 0 rgba(0, 107, 255, 0.2);
}
.stbg-blue .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #006bff 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(0, 107, 255, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(0, 107, 255, 0.2);
    color: #fff;
}
.stbg-blue .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #006bff 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(0, 107, 255, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(0, 107, 255, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
skin class - stbg-pink
----------------------------------------------------------*/
.stbg-pink [class*=sidebar-dark-],
.stbg-pink .control-sidebar-dark {
    background-color: #ff5db2;
}
.stbg-pink .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-pink .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #ff5db2;
}
.stbg-pink [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-pink [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-pink .sidebar-sub-panel .nav-link:hover,
.stbg-pink .sidebar-sub-panel .nav-link.active {
    color: #ff5db2;
}
.stbg-pink .nav-pills .nav-link.active,
.stbg-pink .nav-pills .show>.nav-link {
    background: #ff5db2;
}
.stbg-pink .menu-tab.active,
.stbg-pink .menu-tab:hover {
    border-color: #ff5db2;
    color: #ff5db2;
}
.stbg-pink .menu-tab .tab-close {
    border: 1px solid #ff5db2;
}
.stbg-pink .menu-tab .tab-close::before {
    color: #ff5db2;
}
.stbg-pink .tab-header a.active {
    border-color: #ff5db2 !important;
    color: #ff5db2;
}
.stbg-pink .nav-tabs .nav-item.show .nav-link,
.stbg-pink .nav-tabs .nav-link.active {
    color: #ff5db2;
}
.stbg-pink .BtnLink li:hover {
    border-color: #ff5db2;
    background: #ff5db2;
}
.stbg-pink .minfo {
    background: linear-gradient(#cc4a8e, #ff5db2);
}
.stbg-pink .minfoList p.tel i::before {
    background-position: -277px -34px;
}
.stbg-pink .minfoList p.web i::before {
    background-position: -294px -34px;
}
.stbg-pink #myDropdownUtils.dropdown-content button:hover {
    border-color: #ff5db2;
    background: #ff5db2;
}
.stbg-pink .mbookmarkList ul li a > span > i,
.stbg-pink .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-pink .mbookmarkList ul li:hover a em {
    color: #ff5db2;
}
.stbg-pink .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(255, 93, 178, 0.1);
}
.stbg-pink .userInfo .userm {
    background: #ff5db2;
}
.stbg-pink .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#cc4a8e, #ff5db2);
}
.stbg-pink .mcalendar.mcalendar02::before {
    background: #ff5db2;
}
.stbg-pink .mcalendartable .day:hover,
.stbg-pink .day.selected {
    background: #ff5db2;
}
.stbg-pink .mcalendartable .in-range {
    background: rgba(255, 93, 178, 0.2);
    color: #ff5db2;
    box-shadow: 4px 0 0 rgba(255, 93, 178, 0.2), -4px 0 0 rgba(255, 93, 178, 0.2);
}
.stbg-pink .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #ff5db2 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(255, 93, 178, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(255, 93, 178, 0.2);
    color: #fff;
}
.stbg-pink .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #ff5db2 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(255, 93, 178, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(255, 93, 178, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
skin class - stbg-red
----------------------------------------------------------*/
.stbg-red [class*=sidebar-dark-],
.stbg-red .control-sidebar-dark {
    background-color: #ff4b4c;
}
.stbg-red .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-red .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #ff4b4c;
}
.stbg-red [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-red [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-red .sidebar-sub-panel .nav-link:hover,
.stbg-red .sidebar-sub-panel .nav-link.active {
    color: #ff4b4c;
}
.stbg-red .nav-pills .nav-link.active,
.stbg-red .nav-pills .show>.nav-link {
    background: #ff4b4c;
}
.stbg-red .menu-tab.active,
.stbg-red .menu-tab:hover {
    border-color: #ff4b4c;
    color: #ff4b4c;
}
.stbg-red .menu-tab .tab-close {
    border: 1px solid #ff4b4c;
}
.stbg-red .menu-tab .tab-close::before {
    color: #ff4b4c;
}
.stbg-red .tab-header a.active {
    border-color: #ff4b4c !important;
    color: #ff4b4c;
}
.stbg-red .nav-tabs .nav-item.show .nav-link,
.stbg-red .nav-tabs .nav-link.active {
    color: #ff4b4c;
}
.stbg-red .BtnLink li:hover {
    border-color: #ff4b4c;
    background: #ff4b4c;
}
.stbg-red .minfo {
    background: linear-gradient(#cc3c3d, #ff4b4c);
}
.stbg-red .minfoList p.tel i::before {
    background-position: -277px -51px;
}
.stbg-red .minfoList p.web i::before {
    background-position: -294px -51px;
}
.stbg-red #myDropdownUtils.dropdown-content button:hover {
    border-color: #ff4b4c;
    background: #ff4b4c;
}
.stbg-red .mbookmarkList ul li a > span > i,
.stbg-red .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-red .mbookmarkList ul li:hover a em {
    color: #ff4b4c;
}
.stbg-red .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(255, 75, 76, 0.1);
}
.stbg-red .userInfo .userm {
    background: #ff4b4c;
}
.stbg-red .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#cc3c3d, #ff4b4c);
}
.stbg-red .mcalendar.mcalendar02::before {
    background: #ff4b4c;
}
.stbg-red .mcalendartable .day:hover,
.stbg-red .day.selected {
    background: #ff4b4c;
}
.stbg-red .mcalendartable .in-range {
    background: rgba(255, 75, 76, 0.2);
    color: #ff4b4c;
    box-shadow: 4px 0 0 rgba(255, 75, 76, 0.2), -4px 0 0 rgba(255, 75, 76, 0.2);
}
.stbg-red .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #ff4b4c 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(255, 75, 76, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(255, 75, 76, 0.2);
    color: #fff;
}
.stbg-red .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #ff4b4c 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(255, 75, 76, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(255, 75, 76, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
skin class - stbg-yellow
----------------------------------------------------------*/
.stbg-yellow [class*=sidebar-dark-],
.stbg-yellow .control-sidebar-dark {
    background-color: #ffa902;
}
.stbg-yellow .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-yellow .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #ffa902;
}
.stbg-yellow [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-yellow [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-yellow .sidebar-sub-panel .nav-link:hover,
.stbg-yellow .sidebar-sub-panel .nav-link.active {
    color: #ffa902;
}
.stbg-yellow .nav-pills .nav-link.active,
.stbg-yellow .nav-pills .show>.nav-link {
    background: #ffa902;
}
.stbg-yellow .menu-tab.active,
.stbg-yellow .menu-tab:hover {
    border-color: #ffa902;
    color: #ffa902;
}
.stbg-yellow .menu-tab .tab-close {
    border: 1px solid #ffa902;
}
.stbg-yellow .menu-tab .tab-close::before {
    color: #ffa902;
}
.stbg-yellow .tab-header a.active {
    border-color: #ffa902 !important;
    color: #ffa902;
}
.stbg-yellow .nav-tabs .nav-item.show .nav-link,
.stbg-yellow .nav-tabs .nav-link.active {
    color: #ffa902;
}
.stbg-yellow .BtnLink li:hover {
    border-color: #ffa902;
    background: #ffa902;
}
.stbg-yellow .minfo {
    background: linear-gradient(#cc8702, #ffa902);
}
.stbg-yellow .minfoList p.tel i::before {
    background-position: -277px -68px;
}
.stbg-yellow .minfoList p.web i::before {
    background-position: -294px -68px;
}
.stbg-yellow #myDropdownUtils.dropdown-content button:hover {
    border-color: #ffa902;
    background: #ffa902;
}
.stbg-yellow .mbookmarkList ul li a > span > i,
.stbg-yellow .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-yellow .mbookmarkList ul li:hover a em {
    color: #ffa902;
}
.stbg-yellow .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(255, 169, 2, 0.1);
}
.stbg-yellow .userInfo .userm {
    background: #ffa902;
}
.stbg-yellow .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#cc8702, #ffa902);
}
.stbg-yellow .mcalendar.mcalendar02::before {
    background: #ffa902;
}
.stbg-yellow .mcalendartable .day:hover,
.stbg-yellow .day.selected {
    background: #ffa902;
}
.stbg-yellow .mcalendartable .in-range {
    background: rgba(255, 169, 2, 0.2);
    color: #ffa902;
    box-shadow: 4px 0 0 rgba(255, 169, 2, 0.2), -4px 0 0 rgba(255, 169, 2, 0.2);
}
.stbg-yellow .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #ffa902 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(255, 169, 2, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(255, 169, 2, 0.2);
    color: #fff;
}
.stbg-yellow .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #ffa902 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(255, 169, 2, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(255, 169, 2, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
skin class - stbg-purple
----------------------------------------------------------*/
.stbg-purple [class*=sidebar-dark-],
.stbg-purple .control-sidebar-dark {
    background-color: #9e3af4;
}
.stbg-purple .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-purple .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #9e3af4;
}
.stbg-purple [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-purple [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-purple .sidebar-sub-panel .nav-link:hover,
.stbg-purple .sidebar-sub-panel .nav-link.active {
    color: #9e3af4;
}
.stbg-purple .nav-pills .nav-link.active,
.stbg-purple .nav-pills .show>.nav-link {
    background: #9e3af4;
}
.stbg-purple .menu-tab.active,
.stbg-purple .menu-tab:hover {
    border-color: #9e3af4;
    color: #9e3af4;
}
.stbg-purple .menu-tab .tab-close {
    border: 1px solid #9e3af4;
}
.stbg-purple .menu-tab .tab-close::before {
    color: #9e3af4;
}
.stbg-purple .tab-header a.active {
    border-color: #9e3af4 !important;
    color: #9e3af4;
}
.stbg-purple .nav-tabs .nav-item.show .nav-link,
.stbg-purple .nav-tabs .nav-link.active {
    color: #9e3af4;
}
.stbg-purple .BtnLink li:hover {
    border-color: #9e3af4;
    background: #9e3af4;
}
.stbg-purple .minfo {
    background: linear-gradient(#7e2ec3, #9e3af4);
}
.stbg-purple .minfoList p.tel i::before {
    background-position: -277px -85px;
}
.stbg-purple .minfoList p.web i::before {
    background-position: -294px -85px;
}
.stbg-purple #myDropdownUtils.dropdown-content button:hover {
    border-color: #9e3af4;
    background: #9e3af4;
}
.stbg-purple .mbookmarkList ul li a > span > i,
.stbg-purple .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-purple .mbookmarkList ul li:hover a em {
    color: #9e3af4;
}
.stbg-purple .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(158, 58, 244, 0.1);
}
.stbg-purple .userInfo .userm {
    background: #9e3af4;
}
.stbg-purple .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#7e2ec3, #9e3af4);
}
.stbg-purple .mcalendar.mcalendar02::before {
    background: #9e3af4;
}
.stbg-purple .mcalendartable .day:hover,
.stbg-purple .day.selected {
    background: #9e3af4;
}
.stbg-purple .mcalendartable .in-range {
    background: rgba(158, 58, 244, 0.2);
    color: #9e3af4;
    box-shadow: 4px 0 0 rgba(158, 58, 244, 0.2), -4px 0 0 rgba(158, 58, 244, 0.2);
}
.stbg-purple .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #9e3af4 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(158, 58, 244, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(158, 58, 244, 0.2);
    color: #fff;
}
.stbg-purple .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #9e3af4 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(158, 58, 244, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(158, 58, 244, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
skin class - stbg-brown
----------------------------------------------------------*/
.stbg-brown [class*=sidebar-dark-],
.stbg-brown .control-sidebar-dark {
    background-color: #96581d;
}
.stbg-brown .sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.stbg-brown .sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #96581d;
}
.stbg-brown [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
.stbg-brown [class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active,
.stbg-brown .sidebar-sub-panel .nav-link:hover,
.stbg-brown .sidebar-sub-panel .nav-link.active {
    color: #96581d;
}
.stbg-brown .nav-pills .nav-link.active,
.stbg-brown .nav-pills .show>.nav-link {
    background: #96581d;
}
.stbg-brown .menu-tab.active,
.stbg-brown .menu-tab:hover {
    border-color: #96581d;
    color: #96581d;
}
.stbg-brown .menu-tab .tab-close {
    border: 1px solid #96581d;
}
.stbg-brown .menu-tab .tab-close::before {
    color: #96581d;
}
.stbg-brown .tab-header a.active {
    border-color: #96581d !important;
    color: #96581d;
}
.stbg-brown .nav-tabs .nav-item.show .nav-link,
.stbg-brown .nav-tabs .nav-link.active {
    color: #96581d;
}
.stbg-brown .BtnLink li:hover {
    border-color: #96581d;
    background: #96581d;
}
.stbg-brown .minfo {
    background: linear-gradient(#784617, #96581d);
}
.stbg-brown .minfoList p.tel i::before {
    background-position: -277px -102px;
}
.stbg-brown .minfoList p.web i::before {
    background-position: -294px -102px;
}
.stbg-brown #myDropdownUtils.dropdown-content button:hover {
    border-color: #96581d;
    background: #96581d;
}
.stbg-brown .mbookmarkList ul li a > span > i,
.stbg-brown .gnbbookmark .mbookmarkList ul li a > span > i,
.stbg-brown .mbookmarkList ul li:hover a em {
    color: #96581d;
}
.stbg-brown .gnbbookmark .mbookmarkList ul li a > span {
    background: rgba(150, 88, 29, 0.1);
}
.stbg-brown .userInfo .userm {
    background: #96581d;
}
.stbg-brown .mcalendar {
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#784617, #96581d);
}
.stbg-brown .mcalendar.mcalendar02::before {
    background: #96581d;
}
.stbg-brown .mcalendartable .day:hover,
.stbg-brown .day.selected {
    background: #96581d;
}
.stbg-brown .mcalendartable .in-range {
    background: rgba(150, 88, 29, 0.2);
    color: #96581d;
    box-shadow: 4px 0 0 rgba(150, 88, 29, 0.2), -4px 0 0 rgba(150, 88, 29, 0.2);
}
.stbg-brown .mcalendartable .range-start {
    background: radial-gradient(circle 22px at 50% 50%, #96581d 99%, transparent 100%),
    linear-gradient(to right, transparent 50%, rgba(150, 88, 29, 0.2) 50%);
    box-shadow: 4px 0 0 rgba(150, 88, 29, 0.2);
    color: #fff;
}
.stbg-brown .mcalendartable .range-end {
    background: radial-gradient(circle 22px at 50% 50%, #96581d 99%, transparent 100%),
    linear-gradient(to left, transparent 50%, rgba(150, 88, 29, 0.2) 50%);
    box-shadow: -4px 0 0 rgba(150, 88, 29, 0.2);
    color: #fff;
}
/* --------------------------------------------------------
label class
----------------------------------------------------------*/
label {
    cursor: pointer;
}
input,
select,
textarea {
    text-align: left;
    font-family: "S-CoreDream", "Noto Sans KR", sans-serif;
    color: #444;
    font-size: 13px;
    font-weight: 400;
    border: 1px solid #ddd;
    outline: none;
    border-radius: 0px;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    cursor: pointer;
    margin: 0px;
    background: #fff;
}

#modal-TablelISTSetupPop .modal-content input,
#modal-TablelISTSetupPop .modal-content select,
#modal-TablelISTSetupPop .modal-content textarea,
#modal-TableBase2SetupPop .modal-content input,
#modal-TableBase2SetupPop .modal-content select,
#modal-TableBase2SetupPop .modal-content textarea,
#modal-TableMasterSetupPop .modal-content input,
#modal-TableMasterSetupPop .modal-content select,
#modal-TableMasterSetupPop .modal-content textarea,
#modal-pageList .modal-content input,
#modal-pageList .modal-content select,
#modal-pageList .modal-content textarea {
    width: auto;
}

/* modal-TablelISTSetupPop sortable li flex 레이아웃 보정 */
/* li { display:flex } 때문에 span의 float:left/right 무시됨 → flex로 직접 처리 */
#modal-TablelISTSetupPop .ui-sortable li {
    align-items: center;
}
#modal-TablelISTSetupPop .ui-sortable li > span:first-child {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
#modal-TablelISTSetupPop .ui-sortable li > span:last-child {
    flex-shrink: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}
#modal-TablelISTSetupPop .ui-sortable input[type="number"] {
    width: 80px;
}

input::-webkit-date-and-time-value {
    text-align: left;
}
input::placeholder,
input:-ms-input-placeholder,
input::-webkit-input-placeholder {
    color: #333;
    letter-spacing: -1px;
    opacity: 1;
    font-weight: 400;
}
input:disabled,
select:disabled,
textarea:disabled {
    background-color: #ebebeb;
    border-color: #ebebeb;
    color: #444;
    cursor: default;
    /*user-select: none;*/ /*드래드 안되는 현상으로 주석*/
    /*pointer-events: none;*/
}
input:focus,
input:valid,
select:focus,
select:valid,
textarea:focus,
textarea:valid {
    border: 1px solid #b9b9b9;
    outline: none !important;
}

/* --------------------------------------------------------
area class
----------------------------------------------------------*/
.textarea-area,
.input-area,
.select-area {
    position: relative;
    width: 100%;
    height: 32px;
}

/* --------------------------------------------------------
form-textarea class
----------------------------------------------------------*/
.form-textarea {
    padding: 6px 13px 0px 13px;
    field-sizing: content;
    resize: horizontal;
}
.form-textarea::-ms-expand {
    display: none;
}
.textarea-area label {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    text-align: left;
    pointer-events: none;
    transition: all 0.3s ease;
}
.textarea-area label:after {
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 0;
    height: 100%;
    transition: all 0.3s ease;
}
.textarea-area label span {
    position: absolute;
    left: 14px;
    top: 10px;
    transition: all 0.3s ease;
    font-size: 13px;
    color: #444;
    font-weight: 400;
}
.textarea-area:has(.form-textarea:focus) label span,
.textarea-area:has(.form-textarea:valid) label span,
.textarea-area:has(.form-textarea:disabled) label span  {
    top: -6px;
    font-size: 12px;
    color: #f68b1e;
    font-weight: 500;
    background: #fff;
}

/* --------------------------------------------------------
form-input class
----------------------------------------------------------*/
.form-input {
    padding: 2px 13px 0px 13px;
}
.form-date {
    position: relative;
}
.form-date::after {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    right: 13px;
    width: 16px;
    height: 16px;
    background: url("/resources/images/img_sprite.png") no-repeat;
    background-position: -155px -76px;
}
.input-area label {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    text-align: left;
    pointer-events: none;
}
.input-area label:after {
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 0;
    height: 100%;
    transition: all 0.3s ease;
}
.input-area label span {
    position: absolute;
    left: 14px;
    bottom: 9px;
    transition: all 0.3s ease;
    font-size: 13px;
    color: #444;
    font-weight: 400;
}
.input-area input:focus + label span,
.input-area input:valid + label span,
.input-area:has(input:disabled) label span {
    transform: translateY(-140%);
    font-size: 12px;
    color: #f68b1e;
    font-weight: 500;
    background: #fff;
}

/* --------------------------------------------------------
form-select class
----------------------------------------------------------*/
.select-area::after {
    content: "";
    display: block;
    position: absolute;
    top: 12px;
    right: 14px;
    width: 0;
    height: 0;
    border-top: 5px solid #7a7a7a;
    border-bottom: 4px solid transparent;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}
.form-select {
    padding: 0px 13px;
}
.form-select::-ms-expand {
    display: none;
}
.form-select > option {
    background: #fff;
}
.select-area label {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    text-align: left;
    pointer-events: none;
}
.select-area label:after {
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 0;
    height: 100%;
    transition: all 0.3s ease;
}
.select-area label span {
    position: absolute;
    left: 14px;
    bottom: 9px;
    transition: all 0.3s ease;
    font-size: 13px;
    color: #444;
    font-weight: 400;
}
.select-area:has(.form-select:focus) label span,
.select-area:has(.form-select:valid) label span,
.select-area:has(.form-select:disabled) label span  {
    transform: translateY(-140%);
    font-size: 12px;
    color: #f68b1e;
    font-weight: 500;
    background: #fff;
}
.select-area:has(.form-select:disabled)::after  {
    border-top: 6px solid #aaa;
}


/* --------------------------------------------------------
form-check class
----------------------------------------------------------*/
.chk-area {
    display: flex;
}
.form-check {
    display: inline-flex;
    align-items: center;
    position: relative;
    margin-right: 20px;
    padding: 0px;
}

.row .form-check {
    height: 30px;
}
.form-check:last-child {
    margin-right: 0px;
}
.form-check > label {
    display: inline-flex;
    font-size: 13px;
    font-weight: 400;
    word-break: keep-all;
    color: #222;
}

.form-check > label span {
    margin-left: 7px;
}

label:not(.form-check-label):not(.custom-file-label) {
    font-weight: 400;
}
.form-check > input[type="radio"],
.form-check > input[type="checkbox"] {
    position: absolute !important;
}
.form-check > input[type="radio"] ~ label,
.form-check > input[type="checkbox"] ~ label {
    position: relative;
    display: inline-flex;
    min-height: 24px;
    padding-left: 28px;
    line-height: 24px;
}
.form-check > input[type="radio"] ~ label:before,
.form-check > input[type="radio"] ~ label:after,
.form-check > input[type="checkbox"] ~ label:before,
.form-check > input[type="checkbox"] ~ label:after {
    display: block;
    content: "";
    transition: 0.4scubic-bezier(0.4, 0, 0.23, 1);
}
.form-check > input[type="radio"] ~ label:before,
.form-check > input[type="checkbox"] ~ label:before {
    z-index: 3;
}
.form-check > input[type="radio"] ~ label:after,
.form-check > input[type="checkbox"] ~ label:after {
    z-index: 4;
}
.form-check > input[type="radio"]:disabled + label,
.form-check > input[type="checkbox"]:disabled + label {
    color: #555;
    cursor: default;
}
.form-check > input[type="radio"] ~ label:before {
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 50%;
}
.form-check > input[type="radio"] ~ label:after {
    position: absolute;
    top: 5px;
    left: 3px;
    width: 14px;
    height: 14px;
    background-color: #ddd;
    border-radius: 50%;
}
.form-check > input[type="radio"]:checked ~ label:before {
    border-color: #276ceb;
}
.form-check > input[type="radio"]:checked ~ label:after {
    background-color: #246beb;
}
.form-check > input[type="radio"]:checked:disabled ~ label:before {
    border-color: #c8c8c8;
    background-color: #e4e4e4;
}
.form-check > input[type="radio"]:checked:disabled ~ label:after {
    display: block;
    background-color: #b8b8b8;
}
.form-check > input[type="radio"]:disabled ~ label:before {
    border-color: #c8c8c8;
    background-color: #e4e4e4;
}
.form-check > input[type="radio"]:disabled ~ label:after {
    display: none;
    background-color: #e4e4e4;
}
.form-check > input[type="checkbox"] ~ label:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 22px;
    height: 22px;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 3px;
}
.form-check > input[type="checkbox"] ~ label:after {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 24px;
    height: 24px;
    background: url("/resources/images/img_sprite.png") no-repeat;
    background-position: -227px -54px;
    opacity: 0;
    transition: 0.4s ease-out;
}
.form-check > input[type="checkbox"]:checked ~ label:before {
    background-color: #246beb;
    border-color: #246beb;
}
.form-check > input[type="checkbox"]:checked ~ label:after {
    opacity: 1;
    transition-delay: 0.2s;
    transition: 0.3s ease-out;
}
.form-check > input[type="checkbox"]:disabled ~ label:before {
    border-color: #c8c8c8;
    background-color: #e4e4e4;
}
.form-check > input[type="checkbox"]:disabled ~ label:after {
    background-position: -227px -30px;
}

/* --------------------------------------------------------
LAYOUT
----------------------------------------------------------*/
body.ovhidden {
    overflow: auto;
    overflow-x: hidden;
}

/* --------------------------------------------------------
headerWrap
----------------------------------------------------------*/
.headerWrap {
    height: 59px;
    position: relative;
    padding: 0px 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #c7c7c7;
    z-index: 200;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: space-between;
    align-items: center;
    -webkit-justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
}
.headerWrap .gnbArea {
    display: flex;
    align-items: center;
    border: 1px solid #000;
}

/* --------------------------------------------------------
gnbNavi
----------------------------------------------------------*/
.headerWrap .gnbNavi {
    position: relative;
    display: flex;
    align-items: center;
}
.gnbNavi > div {
    position: relative;
}
.gnbNavi > div > button {
    position: relative;
    background: transparent;
    height: 16px;
    padding: 10px 18px;
    display: flex;
}
.gnbNavi > div > button::before {
    display: block;
    content: "";
    background: url("/resources/images/img_sprite.png") no-repeat;
    position: absolute;
    left: 50%;
    top: 2px;
    height: 16px;
    margin-left: -7px;
}
.gnbNavi > div::before {
    display: block;
    content: "";
    position: absolute;
    background: #c7c7c7;
    width: 1px;
    height: 12px;
    top: 2px;
    left: 0px;
}
.gnbNavi > div:first-child::before {
    display: none;
}

@media (max-width: 480px) {
    .gnbNavi > div::before {
        top: 4px;
    }
    .gnbNavi > div > button {
        padding: 10px 25px;
    }
}


/* --------------------------------------------------------
dropdown-content (컴포넌트)
----------------------------------------------------------*/
.utils-dropdown-wrap {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.dropdown-content {
    position: absolute;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid;
    border: 1px solid #989898;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 20;
    right: -33px;
    top: 28px;
    box-sizing: border-box;
    padding: 22px;
    animation: dimShowPop 0.3s;
}
.dropdown-content::before {
    display: block;
    content: "";
    position: absolute;
    right: 45px;
    top: -6px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-right:1px solid #989898;
    border-top:1px solid #989898;
    transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
    z-index: 1;
}

#myDropdownUtils.dropdown-content {
    display: none;
    width: 280px;
    right: -37px;
    top: 33px;
}
#myDropdownUtils.dropdown-content h2 {
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
    text-align: left;
    width: 100%;
}
#myDropdownUtils.dropdown-content h2 span {
    font-size: 16px;
    font-weight: 800;
    color: #222;

}
#myDropdownUtils.dropdown-content li {
    display: block;
}
#myDropdownUtils.dropdown-content button {
    display: inline-block;
    width: calc(33.333% - 4px);
    height: 56px;
    margin: 2px;
    border-radius: 4px;
    border: 1px solid #bbb;
    vertical-align: top;
    transition: 0.3s ease-out;
    padding: 0px;
    float: left;
}
#myDropdownUtils.dropdown-content button:hover {
    border-color: #1e9e49;
    background: #1e9e49;
}
#myDropdownUtils.dropdown-content button:disabled {
    border: 1px solid #b1b8be;
    color: #6d7882;
    cursor: default;
    user-select: none;
    pointer-events: none;
    opacity: 0.8;
}
#myDropdownUtils.dropdown-content button > .ltxt {
    font-size: 12px;
    font-weight: 500;
    position: relative;
}
#myDropdownUtils.dropdown-content button:hover > .ltxt {
    color: #fff;
}
#myDropdownUtils.dropdown-content button > i {
    display: block;
    width: 16px;
    height: 17px;
    margin: 3px auto 2px auto;
    padding: 0px;
    vertical-align: top;
    font-size: 0px;
    position: relative;
    background: url(../images/img_sprite.png) no-repeat;
}

#myDropdownUtils.dropdown-content button > i.uc01 {
    background-position: 0px -76px;
}
#myDropdownUtils.dropdown-content button:hover > i.uc01 {
    background-position: 0px -94px;
}
#myDropdownUtils.dropdown-content button > i.uc02 {
    width: 18px;
    background-position: -17px -76px;
}
#myDropdownUtils.dropdown-content button:hover > i.uc02 {
    background-position: -17px -94px;
}
#myDropdownUtils.dropdown-content button > i.uc03 {
    background-position: -36px -76px;
}
#myDropdownUtils.dropdown-content button:hover > i.uc03 {
    background-position: -36px -94px;
}
#myDropdownUtils.dropdown-content button > i.uc04 {
    background-position: -53px -76px;
}
#myDropdownUtils.dropdown-content button:hover > i.uc04 {
    background-position: -53px -94px;
}
#myDropdownUtils.dropdown-content button > i.uc05 {
    width: 20px;
    background-position: -70px -76px;
}
#myDropdownUtils.dropdown-content button:hover > i.uc05 {
    background-position: -70px -94px;
}
#myDropdownUtils.dropdown-content button > i.uc06 {
    background-position: -91px -76px;
}
#myDropdownUtils.dropdown-content button:hover > i.uc06 {
    background-position: -91px -94px;
}

@media (max-width: 768px) {
    #myDropdownUtils.dropdown-content {
        top: 33px;
        right: 0;
        max-width: calc(100vw - 130px);
    }
    #myDropdownUtils.dropdown-content::before {
        right: 20px;
    }
}

@media (max-width: 480px) {
    #myDropdownUtils.dropdown-content {
        top: 33px;
        right: 0;
        width: calc(100vw - 20px);
    }
    #myDropdownUtils.dropdown-content::before {
        right: 20px;
    }
}


@media (min-width: 576px) {
    .content-header > .container-fluid .col-sm-3 {
        -webkit-flex: 0 0 35%;
        -ms-flex: 0 0 35%;
        flex: 0 0 35%;
        max-width: 35%;
    }

    .content-header > .container-fluid .col-sm-9 {
        -webkit-flex: 0 0 65%;
        -ms-flex: 0 0 65%;
        flex: 0 0 65%;
        max-width: 65%;
    }
}

@media (max-width: 1280px) {
    .content-header > .container-fluid .col-sm-3 {
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .content-header > .container-fluid .col-sm-9 {
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .content-wrapper.iframe-mode .tab-empty {
        height: auto;
    }
    .content-header > .container-fluid .col-sm-9 {
        margin-top: 5px;
    }
}




.page-btn {
    margin-left: 3px;
}
.page-btn button {
    margin-left: -1px;
}
#pageCustomBtns {
    font-size: 0px;
    vertical-align: top;
}

#pageCustomBtns .btn {

}

.pageMbtns button {
    margin-bottom: 0px;
}

@media (max-width: 990px) {
    .page-btn {
        position: absolute;
        top: -29px;
        right: 8px;
    }
    #pageCustomBtns {
        margin-top: 3px;
        display: block;
    }
}

@media (max-width: 480px) {
    .page-btn  {
        top: 0px;
    }
    #pageCustomBtns {
        margin-top: 33px;
    }
    .pageMbtns button {
        margin-bottom: 2px;
    }
}

/* --------------------------------------------------------
gnbnews
----------------------------------------------------------*/
.gnbnews .newsBtn {
    width: 22px;
}
.gnbnews .newsBtn::before {
    width: 22px;
    background-position: -65px -50px;
    top: 3px;
    margin-left: -11px;
}
.gnbnews .num {
    display: flex;
    position: absolute;
    top: -2px;
    right: 10px;
    z-index: 1;
    height: 11px;
    min-width: 11px;
    font-size: 8px;
    color: #fff;
    padding: 0px;
    border-radius: 50%;
    background-color: #ff0062;
    align-items: center;
    justify-content: center;
}

/* --------------------------------------------------------
gnbUcBox
----------------------------------------------------------*/
.gnbUcBox {
    width: 234px;
    display: block;
}
.BtnLink {
    overflow: hidden;
}
.BtnLink li {
    display: inline-block;
    width: calc(33.333% - 4px);
    height: 56px;
    margin: 2px;
    border-radius: 4px;
    border: 1px solid #bbb;
    vertical-align: top;
    transition: 0.3s ease-out;
    font-size: 0px;
    float: left;
}
.BtnLink li:hover {
    border-color: #1e9e49;
    background: #1e9e49;
}
.BtnLink li a {
    display: block;
    text-align: center;
    padding: 9px 0px;
    box-sizing: border-box;
}
.BtnLink li i {
    display: block;
    width: 16px;
    height: 17px;
    margin: 3px auto 2px auto;
    padding: 0px;
    vertical-align: top;
    font-size: 0px;
    background: url("/resources/images/img_sprite.png") no-repeat;
}
.BtnLink li i.uc01 {
    background-position: 0px -76px;
}
.BtnLink li:hover i.uc01 {
    background-position: 0px -94px;
}
.BtnLink li i.uc02 {
    width: 18px;
    background-position: -17px -76px;
}
.BtnLink li:hover i.uc02 {
    background-position: -17px -94px;
}
.BtnLink li i.uc03 {
    background-position: -36px -76px;
}
.BtnLink li:hover i.uc03 {
    background-position: -36px -94px;
}
.BtnLink li i.uc04 {
    background-position: -53px -76px;
}
.BtnLink li:hover i.uc04 {
    background-position: -53px -94px;
}
.BtnLink li i.uc05 {
    width: 20px;
    background-position: -70px -76px;
}
.BtnLink li:hover i.uc05 {
    background-position: -70px -94px;
}
.BtnLink li i.uc06 {
    background-position: -91px -76px;
}
.BtnLink li:hover i.uc06 {
    background-position: -91px -94px;
}
.BtnLink li i.user01 {
    width: 17px;
    background-position: -108px -76px;
}
.BtnLink li:hover i.user01 {
    background-position: -108px -94px;
}
.BtnLink li i.user02 {
    width: 13px;
    background-position: -126px -76px;
}
.BtnLink li:hover i.user02 {
    background-position: -126px -94px;
}
.BtnLink li i.user03 {
    width: 12px;
    background-position: -141px -76px;
}
.BtnLink li:hover i.user03 {
    background-position: -141px -94px;
}
.BtnLink li a span {
    font-size: 12px;
    font-weight: 500;
}
.BtnLink li:hover a span {
    color: #fff;
}


/* --------------------------------------------------------
gnbuser
----------------------------------------------------------*/
.gnbuser .gnbuserBtn {
    width: 16px;
}
.gnbuser .gnbuserBtn::before {
    width: 16px;
    background-position: -104px -50px;
    margin-left: -8px;
}
.gnbuserBox {
    width: 234px;
    display: block;
}
.userInfo {
    border-radius: 7px;
    display: block;
    background: #f7f7f7;
    padding: 15px;
    margin-bottom: 10px;
}
.userInfo .userm{
    background: #1e9e49;
    border-radius: 3px;
    color: #fff;
    font-size: 12px;
    width: 56px;
    height: 19px;
    line-height: 19px;
    text-align: center;
    display: block;
}
.userInfo .userName{
    font-size: 16px;
    font-weight: 600;
    margin: 8px 0px;
}
.userInfo .userPart span {
    font-size: 13px;
    color: #555;
    display: inline-block;
    position: relative;
}
.userInfo .userPart span::after{
    display: inline-block;
    content: "";
    width: 3px;
    height: 3px;
    background: #555;
    border-radius: 50%;
    margin-right: 7px;
    margin-left: 7px;
    vertical-align: middle;
    margin-top: -2px;
}
.userInfo .userPart span:last-child::after {
    display: none;
}

.Skinselect {
    border-top: 1px solid #ddd;
    margin-top: 17px;
    padding-top: 18px;
}
.Skinselect > .title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
    display: block;
}
.Skinselect .SkinBtn {
    display: flex;
}
.Skinselect .SkinBtn > button {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    position: relative;
    margin-right: 6px;
}
.Skinselect .SkinBtn > button::before {
    transition: 0.4s ease-out;
    display: block;
    content: "";
    background: #fff;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    top: 10px;
    left: 10px;
    margin: 0px;
    opacity: 0;
}
.Skinselect .SkinBtn > button:last-child {
    margin-right: 0px;
}
.Skinselect .SkinBtn > button.stbg-green {
    background: #1e9e49;
}
.Skinselect .SkinBtn > button.stbg-blue {
    background: #006bff;
}
.Skinselect .SkinBtn > button.stbg-pink {
    background: #ff5db2;
}
.Skinselect .SkinBtn > button.stbg-red {
    background: #ff4b4c;
}
.Skinselect .SkinBtn > button.stbg-yellow {
    background: #ffa902;
}
.Skinselect .SkinBtn > button.stbg-purple {
    background: #9e3af4;
}
.Skinselect .SkinBtn > button.stbg-brown {
    background: #96581d;
}
.Skinselect .SkinBtn > button.bg-selected {
    position: relative;
}
.Skinselect .SkinBtn > button:hover::before,
.Skinselect .SkinBtn > button.bg-selected::before {
    opacity: 1;
}

/* --------------------------------------------------------
gnbbookmark
----------------------------------------------------------*/
.gnbbookmark .bookmarkBtn {
    width: 14px;
}
.gnbbookmark .bookmarkBtn::before {
    width: 14px;
    background-position: -121px -50px;
}

.gnbbookmark > .dropdown-content {
    right: -10px;
    width: 370px;
}
.gnbbookmark > .dropdown-content::before {
    right: 27px;
}
.gnbbookmark > .dropdown-content h2 {
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.gnbbookmark > .dropdown-content h2 span {
    font-size: 16px;
    font-weight: 800;
    color: #222;
}
.gnbbookmark .mbookmarkList {
    height: 200px;
    margin: 0px;
}
.gnbbookmark .mbookmarkList ul li {
    margin-bottom: 10px;
}
.gnbbookmark .mbookmarkList ul li a em {
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.gnbbookmark .mbookmarkList ul li a > span {
    width: 50px;
    height: 50px;
    background: #f5f5f5;
}
.gnbbookmark .mbookmarkList ul li a > span > i {
    font-size: 22px;
    color: #1e9e49;
}
.gnbbookmark .mbookmarkList ul li .btnScrap {
    right: calc(50% - 25px);
}
.gnbbookmark .mbookmarkList ul li a em {
    font-size: 13px;
}

@media (max-width: 768px) {
    .gnbbookmark > .dropdown-content {
        right: -15px;
    }
    .gnbbookmark > .dropdown-content::before {
        right: 21px;
    }
}

@media (max-width: 480px) {
    .dropdown-content::before {
        right: 50px;
    }
    .gnbbookmark > .dropdown-content {
        right: -40px;
        width: 300px;
    }
    .gnbbookmark > .dropdown-content::before {
        right: 46px;
    }
}

.dropdown-content.btnUc {
    right: 21px;
    top: 35px;
}
@media (max-width: 480px) {
    .dropdown-content.btnUc {
        top: 33px;
        right: 15px;
    }
}

/* --------------------------------------------------------
fullscreen
----------------------------------------------------------*/
.fullscreen .EnterFullScreen,
.fullscreen .ExitFullScreen {
    width: 14px;
}
.fullscreen .EnterFullScreen::before {
    width: 14px;
    background-position: -136px -50px;
}
.fullscreen .ExitFullScreen::before {
    width: 14px;
    background-position: -151px -50px;
}
.fullscreen .ExitFullScreen {
    display: none;
}

@media (max-width: 1280px) {
    .fullscreen {
        display: none;
    }
}

/* --------------------------------------------------------
mobileMenuNavi
----------------------------------------------------------*/
.sideBarWrap .mTools {
    visibility: visible;
    display: flex;
    align-items: center;
}
.sideBarWrap .mTools .btnNavi  {
    background: none;
    padding: 0px;
    margin: 0px;
}
.sideBarWrap .mTools .btnNavi:before {
    content: "";
    display: block;
    width: 29px;
    height: 29px;
    background: #fff url("/resources/images/img_sprite.png") no-repeat;
    background-position: -138px 0px;
    cursor: pointer;
    border-radius: 50%;
    border: 2px solid #000;
    transition: 0.4s ease-out;
}
.sideBarWrap .mTools .btnNavi:hover::before {
    border-radius: 10px;
}
.mobileMenuWrap.active {
    visibility: visible;
}
.mobileMenuWrap.active .dim {
    visibility: visible;
    opacity: 1;
}
.mobileMenuWrap.active .mobileMenuBox {
    transform: translate3d(0, 0, 0);
    transition: all 0.3s;
    overflow-y: auto;
}
.mobileMenuWrap.active .mobileMenuOff {
    opacity: 1;
}
.mobileMenuWrap {
    display: block;
    visibility: hidden;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.mobileMenuWrap .mobileMenuBox {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    bottom: 0;
    width: 400px;
    transform: translate3d(-120%, 0%, 0);
    transition: all 0.4s ease-in-out;
    scrollbar-width: none;
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(20px);
    height: 100dvh;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi {
    position: relative;
    height: 100%;
    box-sizing: border-box;
    overflow: visible;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop {
    background: #f9f9f9;
    display: flex;
    align-items: center;
    height: 59px;
    border-bottom: 1px solid #ddd;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop h1 {
    padding-left: 25px;
    box-sizing: border-box;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop h1::before {
    content: "";
    display: block;
    width: 63px;
    height: 31px;
    background: transparent url("/resources/images/img_sprite.png") no-repeat;
    background-position: 0px -43px;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle {
    font-size: 18px;
    font-weight: 600;
    position: relative;
    margin-left: 24px;
    padding-left: 10px;
    width: 240px;
    height: 32px;
    line-height: 30px;
    box-sizing: border-box;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle::before {
    display: block;
    content: "";
    position: absolute;
    left: 0px;
    top: 8px;
    width: 1px;
    height: 16px;
    background: #7b7b7b;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle .form-select {
    padding: 0px;
    border: none;
    background: transparent;
    color: #222;
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle .select-area::after {
    top: 14px;
    right: 8px;
    border-top: 5px solid #222;
}
.mobileMenuWrap .mobileMenuBox button.mobileMenuOff {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 999;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    border: 2px solid #000;
    background: #fff;
    transition: 0.4s ease-out;
}
.mobileMenuWrap .mobileMenuBox button.mobileMenuOff:hover {
    border-radius: 10px;
}
.mobileMenuWrap .mobileMenuBox button.mobileMenuOff:before,
.mobileMenuWrap .mobileMenuBox button.mobileMenuOff:after,
.modal .modal-dialog .btn-close:before,
.modal .modal-dialog .btn-close:after {
    position: absolute;
    left: 12px;
    top: 4px;
    content: "";
    height: 18px;
    width: 3px;
    background-color: #000;
}
.mobileMenuWrap .mobileMenuBox button.mobileMenuOff:before,
.modal .modal-dialog .btn-close:before {
    transform: rotate(45deg);
}
.mobileMenuWrap .mobileMenuBox button.mobileMenuOff:after,
.modal .modal-dialog .btn-close:after {
    transform: rotate(-45deg);
}
.mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mNavi {
    clear: both;
    position: relative;
    box-sizing: border-box;
    z-index: 1;
    height: 100%;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul {
    padding: 0px;
    margin: 0px;
    display: block;
    height: 100%;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li {
    transition: 0.4s ease-out;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li:hover {
    transition: 0.3s ease-out;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li.active > ul {
    display: block;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > a {
    display: block;
    padding: 31px 0px;
    position: relative;
    text-align: center;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > ul {
    display: none;
    background: #fff;
    padding: 20px 20px 50px 20px;
    box-sizing: border-box;
    animation: ShowMenu 0.3s;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > ul > li {
    border-bottom: 1px solid #ddd;
    display: flex;
    justify-content: space-between;
    padding: 9px 5px 11px 5px;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > ul > li > a {
    display: block;
    width: calc(100% - 20px);
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > ul > li > a > span {
    font-size: 15px;
    line-height: 140%;
    color: #222;
    word-break: keep-all;
}
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > ul > li:hover > a > span,
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li > ul > li.active > a > span {
    color: #1e9e49;
    font-weight: 600;
}
.mobileMenuWrap .dim {
    position: fixed;
    top: 0;
    right: -300px;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
    visibility: hidden;
    opacity: 0;
}
.mNavi-depth1 {
    display: table;
    width: 100%;
    position: fixed;
    top: 59px;
    background: #fff;
}
.mNavi-depth1::after {
    display: block;
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 112px;
    height: 100dvh;
    background: #1e9e49;
    z-index: -1;
}
.mNavi-depth2 {
    background: #fff;
    display: none;
    position: absolute;
    box-sizing: border-box;
    top: 0px;
    left: 112px;
    margin: 0px;
    width: calc(100% - 112px);
    height: 95%;
}
.mNavi-depth1-item.active .mNavi-depth2 {
    display: block;
    overflow-y: auto;
}
.mNavi-depth1-item {
    display: block;
    clear: both;
    width: 112px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.mNavi-depth1-item > a {
    display: block;
    padding: 10px 0;
    margin: 0px;
    box-sizing: border-box;
    text-align: center;
}
.mNavi-depth1-item > a > span {
    font-size: 16px;
    font-weight: 500;
    color: #fff;
}
.mNavi-depth1-item > a:hover,
.mNavi-depth1-item > a:focus,
.mNavi-depth1-item.active > a,
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li:hover > a {
    background: #fff;
}
.mNavi-depth1-item > a:hover > span,
.mNavi-depth1-item > a:focus > span,
.mNavi-depth1-item.active > a > span,
.mobileMenuWrap .mobileMenuBox .mNavi > ul > li:hover > a > span {
    color: #1e9e49;
}

@media (max-width: 640px) {
    .mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle {
        font-size: 17px;
    }
    .mobileMenuWrap .mobileMenuBox .mNavi > ul > li > a {
        padding: 20px 0px;
    }
    .mNavi-depth1-item > a > span {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .mobileMenuWrap .mobileMenuBox {
        width: 100%;
    }
    .mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop h1 {
        padding-left: 10px;
    }

    .mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle {
        font-size: 16px;
        margin-left: 10px;
    }

    .mNavi-depth1-item {
        width: 100px;
    }
    .mNavi-depth1::after {
        width: 100px;
        height: auto;
    }
    .mNavi-depth1-item.active .mNavi-depth2 {
        left: 100px;
        width: calc(100% - 100px);
    }
}

@media (max-width: 360px) {
    .mobileMenuWrap .mobileMenuBox .mobileMenuNavi .mobileMenuTop .mtitle {
        width: 190px;
    }
}

/* --------------------------------------------------------
btnScrap
----------------------------------------------------------*/
button.btnScrap {
    position: relative;
    margin: 3px 0 0 0;
    padding: 0px;
    background: transparent;
    display: block;
    width: 16px;
    height: 16px;
}
button.btnScrap::before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: transparent url("/resources/images/img_sprite.png") no-repeat;
    background-position: -169px 0px;
    position: absolute;
    top: 0px;
    right: 0px;
}
button.btnScrap:hover::before,
button.btnScrap:focus::before,
button.btnScrap.on::before {
    background-position: -186px 0px;
}


/* --------------------------------------------------------
containerWrap
----------------------------------------------------------*/
.containerWrap {
    position: relative;
    height: 100vh;
}
.container {
    padding: 0px;
    position: relative;
    width: 100%;
    background: #fff;
}
.container iframe {
    display: block;
    width: 100%;
    height: calc(100vh - 59px);
}
.contentsWrap {
    padding: 14px 10px 10px 10px;
    box-sizing: border-box;
}

#main .contentsBox {
    padding: 0px;
    margin: 0px;
    height: calc(100vh - 123px);
}
.main-container {
    display: flex;
    height: 100%;
}



@media (max-width: 768px) {
    #main .contentsBox {
        min-height: auto;
        height:auto;
    }
    .main-container {
        display: block;
    }
}

/* ----------------------------------------------------------------------------------------------------------------
gnbtab
------------------------------------------------------------------------------------------------------------------*/
.gnbtab {
    padding: 0px;
    margin: 0px 0px 0px 6px;
    position: relative;
    width: calc(100% - 188px);
    overflow: hidden;
    box-sizing: border-box;
}
.gnbtab > ul.tab-nav {
    box-sizing: border-box;
    padding: 0px;
    margin: 8px 0 13px 0;
    display: flex;
    align-items:end;
    height: 37px;
    width: calc(100% - 70px);
    overflow: hidden;
}
.gnbtab>ul.tab-nav>li {
    margin: 0px 1px;
    padding: 0px;
    float: left;
    cursor: pointer;
    background: #fff;
    list-style: none;
    text-align: center;
    height: 31px;
    position: relative;
}
.gnbtab>ul.tab-nav>li>a {
    display: block;
    position: relative;
    height: 31px;
    line-height: 29px;
    padding: 0px;
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: 0.3s ease-out;
}
.gnbtab>ul.tab-nav>li>a:hover,
.gnbtab>ul.tab-nav>li>a:focus,
.gnbtab>ul.tab-nav>li.tab-active>a {
    border-color: #1e9e49;
}
.gnbtab>ul.tab-nav>li>a>span {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    padding: 0px 10px;
    box-sizing: border-box;
    white-space: nowrap;
    font-size: 13px;
    color: #666;
}
.gnbtab>ul.tab-nav>li:hover>a>span,
.gnbtab>ul.tab-nav>li.tab-active>a>span {
    color: #1e9e49;
    font-weight: 500;
}
.close-btn {
    opacity: 0;
    position: absolute;
    top: -6px;
    right: -1px;
    background: #fff;
    border: 1px solid #1e9e49;
    cursor: pointer;
    border-radius: 50%;
    width: 17px;
    height: 17px;
    text-align: center;
    font-size: 0px;
    z-index: 10;
    transition: 0.3s ease-out;
}
.close-btn::before {
    content: "X";
    display: block;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    color: #1e9e49;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0px;
    left: 2px;
}
.gnbtab>ul.tab-nav>li:hover .close-btn {
    opacity: 1;
    transform: rotate(360deg);
}
.gnbtab>.tab-link {
    position: absolute;
    right: 0px;
    top: 15px;
    z-index: 5;
    background: #fff;
    width: 60px;
    height: 29px;
    justify-content:end;
    display: flex;
    border-radius: 4px;
    border: 1px solid #e7e8ea;
}
.gnbtab>.tab-link>.nav-arrow {
    margin:0px;
    padding: 0px;
    text-align: center;
    display: block;
    position: relative;
    height: 27px;
    width: 28px;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}
.gnbtab>.tab-link > button {
    background: transparent;
}
.gnbtab>.tab-link > button::before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    top: 9px;
    width: 6px;
    height: 6px;
    margin-left: -7px;
    border-top: 2px solid #a3a3a3;
    border-right: 2px solid #a3a3a3;
    transform: rotate(45deg);
    z-index: 1;
    transition: 0.3s ease-out;
}
.gnbtab>.tab-link>.nav-prev::before {
    transform: rotate(225deg);
    margin-left: -3px;
}
.gnbtab>.tab-link>.nav-arrow:hover::before {
    border-color: #222;
}

@media (max-width: 1280px) {
    .gnbtab {
        display: none;
    }
}

/* --------------------------------------------------------
footerWrap
----------------------------------------------------------*/
footer {
    opacity: 1 !important;
}
.footerWrap {
    padding: 0px 10px;
    box-sizing: border-box;
}
.footer {
    border-top: 1px solid #ddd;
    background: #fff;
    text-align: center;
    border-radius: 0px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px;
}
.footer span {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    font-family: "SBAggro";
    text-transform: uppercase;
    word-break: keep-all;
    line-height: 130%;
    letter-spacing: 0px;
    margin: 0px 2px;
}

.footer span img {
    font-size: 0px;
    opacity: 1;
    vertical-align: top;
    height: 30px;
}

@media (max-width: 768px) {
    .footer {
        height: auto;
    }
    .footer,
    .footer span {
        display: block;
        margin: 2px 0px;
        padding: 0px 10px;
        box-sizing: border-box;
    }
    .footer span img {
        max-width: 100%;
        height: auto;
    }
}

/* --------------------------------------------------------
page
----------------------------------------------------------*/
.login-page, .register-page {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #e9ecef;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 100vh;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
}
/* --------------------------------------------------------
loginWrap
----------------------------------------------------------*/
.loginWrap {
    width: 100%;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.loginCon {
    width: 540px;
}
.loginBox {
    width: 100%;
    padding: 60px 90px;
    box-sizing: border-box;
    margin: 0px auto;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 20px;
}
/*로그인 로고 조정된 부분*/
.loginLogo {
    margin: 0px auto 23px auto;
    display: flex;
    /*justify-items: center;*/
    justify-content: center;
}

.loginLogo:before {
    content: "";
    display: block;
    /*width: 87px;*/
    /*height: 42px;*/
    /*background: url("/resources/images/img_sprite.png") no-repeat;*/
    background-position: 0px 0px;
}
.logoimg img{
    width: 200px;
    height: 100px;
}
.loginForm .input-area,
.loginForm .select-area {
    height: 56px;
    margin-bottom: 14px;
    border-radius: 5px;
    background: #fff;
}
.loginForm .input-area input,
.loginForm .select-area select {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    color: #222;
    font-size: 16px;
    font-weight: 500;
    border: 1px solid #bababa;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    outline: none;
    padding: 15px 0px 0px 15px;
    border-radius: 5px;
    background: transparent;
    appearance: none;
}
.loginForm .input-area::after {
    display: block;
    content: "";
    position: absolute;
    top: 18px;
    right: 22px;
    width: 23px;
    height: 19px;
    background: url("/resources/images/img_sprite.png") no-repeat;
}
.loginForm .input-area.form-id::after {
    background-position: -113px 0px;
}
.loginForm .input-area.form-pass::after {
    background-position: -113px -20px;
    height: 21px;
}
.loginForm .input-area label {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    text-align: left;
    pointer-events: none;
}
.loginForm .input-area label:after {
    content: "";
    display: block;
    position: absolute;
    left: 0px;
    bottom: -2px;
    bottom: 0px;
    width: 0;
    height: 100%;
    transition: all 0.3s ease;
}
.loginForm .input-area label span {
    position: absolute;
    left: 8px;
    white-space: nowrap;
    transition: all 0.3s ease;
    font-size: 16px;
    color: #666;
    font-weight: 500;
}
.loginForm .input-area input:focus + label span,
.loginForm .input-area input:valid + label span {
    transform: translateY(-70%);
    font-size: 12px;
    color: #1baf62;
    background: transparent;
}

.loginForm .select-area::after {
    top: 25px;
    right: 27px;
    border-top: 7px solid #1f0a06;
    border-bottom: 6px solid transparent;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}

.loginForm .select-area select {
    padding: 0px 0px 0px 15px;
}
.inputcheBox {
    text-align: left;
    padding: 4px 0px 44px 0px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
.inputcheBox > .form-check,
.inputcheBox > .change-Btn {
    width: 50%;
    padding: 0px;
}

.inputcheBox > .form-check > input[type="checkbox"] {
    position: absolute !important;
    appearance: none;
    border: none;
    background: transparent;
}
.inputcheBox > .form-check > input[type="checkbox"] ~ label {
    position: relative;
    display: inline-flex;
    min-height: 24px;
    padding-left: 28px;
    line-height: 24px;
}
.inputcheBox > .form-check > input[type="checkbox"] ~ label:before,
.inputcheBox > .form-check > input[type="checkbox"] ~ label:after {
    display: block;
    content: "";
    transition: 0.4scubic-bezier(0.4, 0, 0.23, 1);
}
.inputcheBox > .form-check > input[type="checkbox"] ~ label:before {
    z-index: 3;
}
.inputcheBox > .form-check > input[type="checkbox"] ~ label:after {
    z-index: 4;
}
.inputcheBox > .form-check > input[type="checkbox"]:disabled + label {
    color: #555;
    cursor: default;
}
.inputcheBox > .form-check > input[type="checkbox"] ~ label:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 22px;
    height: 22px;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 3px;
}
.inputcheBox > .form-check > input[type="checkbox"] ~ label:after {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 24px;
    height: 24px;
    background: url("/resources/images/img_sprite.png") no-repeat;
    background-position: -227px -54px;
    opacity: 0;
    transition: 0.4s ease-out;
}
.inputcheBox > .form-check > input[type="checkbox"]:checked ~ label:before {
    background-color: #246beb;
    border-color: #246beb;
}
.inputcheBox > .form-check > input[type="checkbox"]:checked ~ label:after {
    opacity: 1;
    transition-delay: 0.2s;
    transition: 0.3s ease-out;
}
.inputcheBox > .form-check > input[type="checkbox"]:disabled ~ label:before {
    border-color: #c8c8c8;
    background-color: #e4e4e4;
}
.inputcheBox > .form-check > input[type="checkbox"]:disabled ~ label:after {
    background-position: -227px -30px;
}


.change-Btn span,
.loginForm .form-check > label {
    font-size: 16px;
    color: #222;
    font-weight: 500;
    position: relative;
}
.change-Btn span {
    padding-left: 31px;
}
.change-Btn span::before {
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0px;
    top: 0px;
    background: url("/resources/images/img_sprite.png") no-repeat;
    background-position: -88px 0px;
}
.change-Btn span:hover,
.change-Btn span:focus {
    color: #0ca153;
}
.change-Btn span:hover::before,
.change-Btn span:focus::before {
    background-position: -88px -25px;
}
.loginbtn {
    margin: 0px auto;
}
.loginbtn button {
    margin: 0px auto;
    width: 100%;
    background: #1baf62;
    height: 56px;
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    transition: 0.3s ease-out;
    transform: translateY(0);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}
.loginbtn button:hover {
    border-radius: 0px;
    box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.5);
    transform: translateY(-5%);
}
.loginCon .footer {
    margin-top: 36px;
    background: transparent;
    border-radius: 0px;
    height: auto;
    border: none;
    padding: 0px;
}

@media (max-width: 990px) {
    .loginCon {
        width: 480px;
    }
    .loginBox {
        padding: 40px;
    }
    .change-Btn span::before {
        top: -2px;
    }
}

@media (max-width: 480px) {
    .loginCon {
        width: 90%;
    }
    .loginLogo {
        margin-bottom: 10px;
    }
    .loginBox {
        padding: 30px 20px;
    }
    .inputcheBox {
        justify-content: space-between;
        padding-bottom: 20px;
    }
    .inputcheBox > .form-check,
    .inputcheBox > .change-Btn {
        width: auto;
        margin-right: 0px;
    }
    .change-Btn span,
    .loginForm .form-check > label {
        font-size: 15px;
    }
    .form-input input:focus + label span,
    .form-input input:valid + label span {
        font-size: 12px;
    }
    .loginForm .input-area,
    .loginForm .select-area {
        height: 46px;
        margin-bottom: 10px;
    }
    .loginForm .input-area input,
    .loginForm .select-area select {
        font-size: 15px;
    }
    .loginForm .input-area::after {
        top: 12px;
    }
    .loginForm .select-area::after {
        top: 20px;
    }
    .loginbtn button {
        height: 46px;
        font-size: 17px;
    }
    .loginCon .footer {
        margin-top: 10px;
        padding: 0px;
    }
}

/* --------------------------------------------------------
mcalendar
----------------------------------------------------------*/
.mcalendar {
    width: 25.8%;
    display: block;
    border-radius: 8px;
    background-image:url("/resources/images/mcalendarBg.png"), linear-gradient(#187e3a, #1e9e48);
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    padding: 40px 40px 0px 40px;
    box-sizing: border-box;
    text-transform: uppercase;
    position: relative;
    overflow: hidden;
}
.mcalendar.mcalendar02 {
    background-image:url("/resources/images/mcalendarBg02.png");
}
.mcalendar.mcalendar02::before {
    display: block;
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 7px;
    height: 100%;
    background: #1e9e48;
}
.mcalendar .mcalendarBox {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.monthBox {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-weight: 900;
    letter-spacing: 0px;
    height: 29px;
    position: relative;
}
.monthBox .month {
    color: #fff;
}
.monthBox .month strong,
.monthBox .month span {
    display: inline-block;
}
.monthBox .month strong > em > .cal-month {
    font-size: 28px;
    opacity: 1;
    font-family: "S-CoreDream";
}

.monthBox .month span > .cal-year {
    font-size: 12px;
    margin-left: 2px;
    margin-right: 10px;
    font-weight: 600;
    letter-spacing: 0px;
    position: relative;
    font-family: "S-CoreDream";
    position: relative;
}
.monthBox .month span > .cal-year::before {
    display: block;
    content: "";
    position: absolute;
    top: -7px;
    left: 0px;
    background: #222;
    width: 22px;
    height: 1px;
}


.monthBox .monthBtn {
    width: 60px;
    height: 29px;
    justify-content: end;
    display: flex;
}
.monthBox .monthBtn > .nav-arrow {
    margin: 0px;
    padding: 0px;
    text-align: center;
    display: block;
    position: relative;
    width: 27px;
    height: 27px;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    border: none;
}
.monthBox .monthBtn > button {
    background: transparent;
}
.monthBox .monthBtn > button::before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    top: 4px;
    width: 14px;
    height: 14px;
    margin-left: -7px;
    border-top: 3px solid #a3a3a3;
    border-right: 3px solid #a3a3a3;
    border-radius: 2px;
    transform: rotate(45deg);
    z-index: 1;
    transition: 0.3s ease-out;
}
.monthBox .monthBtn > .nav-prev::before {
    transform: rotate(225deg);
    margin-left: -3px;
}
.monthBox .monthBtn > .nav-arrow:hover::before {
    border-color: #222;
}

/* --------------------------------------------------------
mcalendartable
----------------------------------------------------------*/
.mcalendartable {
    clear: both;
    width: 100%;
    margin: 0px;
    border: 0px;
    border-collapse: collapse;
    height: 330px;
}
.mcalendartable > * > tr > th,
.mcalendartable > * > tr > td {
    padding: 0px;
    border: 0px;
    color: #fff;
    vertical-align: middle;
}
.mcalendartable > thead th {
    padding: 9px 6px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0px;
    background: rgba(0, 0, 0, 0.5);
}
.mcalendartable th:first-child,
.mcalendartable td:first-child .date a {
    color: #fc7469;
}
.mcalendartable th:last-child,
.mcalendartable td:last-child .date a {
    color: #85cdf7;
}
.mcalendartable > * > tr > td {
}
.mcalendartable > * > tr > td .cell {
    position: relative;
    min-height: 50px;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mcalendartable > * > tr > td .cell:before,
.mcalendartable > * > tr > td .cell:after {
    content: "";
    display: table;
    clear: both;
}
.mcalendartable > * > tr > td .date {
    display: block;
    width: 100%;
    height: 100%;
    padding: 15px 0px;
    box-sizing: border-box;
}
.mcalendartable > * > tr > td .date span {
    display: block;
    margin: 0px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}
.mcalendartable > * > tr > td .stat {
    width: 18px;
    height: 18px;
    background: #ef4300;
    border-radius: 50%;
    text-align: center;
    box-sizing: border-box;
    position: absolute;
    right: 0px;
    bottom: 7px;
    z-index: 2;
}
.mcalendartable > * > tr > td .stat em {
    font-size: 12px;
    color: #fff;
    font-weight: 500;
    line-height: 18px;
    margin-left: -2px;
}
.mcalendartable > * > tr > td .cell .today span {
    color: #062441;
    position: relative;
    z-index: 1;
}
.mcalendartable > * > tr > td .cell .today::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 17px);
    left: calc(50% - 17px);
    background: #fff;
    width: 35px;
    height: 35px;
    line-height: 33px;
    border-radius: 50%;
}
.mcalendartable > * > tr > td .cell .holiday span {
    color: #fc4c4e;
}

.mcalendartable .day {
    font-family: "S-CoreDream";
    font-size: 15px;
    color: #222;
    font-weight: 600;
}
.mcalendartable .day.selected {
    box-shadow:none;
}
.mcalendartable .cal-days {
    gap: 12px 8px;
}
.mcalendartable .day:hover {
    background: #1e9e48;
    box-shadow: none;
    transform: translateY(-2px);
    color: #fff !important;
}


/* --------------------------------------------------------
timeLineWrap
----------------------------------------------------------*/
.timeLineWrap {
    /* position: absolute;
    bottom: 0px; */
    border-radius: 8px 8px 0px 0px;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
    width: 100%;
    height: calc(100% - 394px);
    margin-top: 20px;
    padding: 30px 20px 0px 30px;
    box-sizing: border-box;
    overflow: hidden;
}
.timeLineWrap .todayTitle {
    font-size: 18px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
.timeLineWrap .todayTitle strong {
    color: #333;
    font-weight: 700;
}
.timeLineWrap .todayTitle span {
    color: #555;
    margin-left: 5px;
}

.timeLineWrap .todayTitle .agenda-title {
    font-family: "S-CoreDream";
    color: #333;
    font-size: 18px;
    display: flex;
    letter-spacing: -1px;
    margin-bottom: 0px
}

.timeLineBox {
    height: calc(100% - 28px);
    display: block;
    overflow-y: auto;
    font-size: 17px;

    position: relative;
}

.timeLineBox::after {
    display: block;
    content: "";
    position: absolute;
    left: 4px;
    bottom: 0px;
    background: #ddd;
    width: 1px;
    height: 100%;
}
.timeLineBox .agenda-list li {
    font-family: "S-CoreDream";
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    background: transparent;
    border-radius: 0px;
    padding: 2px 0px 16px 15px;
    margin-bottom: 0px;
    position: relative;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease;
    color: #4a4a4a;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    margin-left: 5px;
    width: calc(100% - 5px);
}
.timeLineBox .agenda-list.agenda-in-active {
    position: relative;
    z-index: 1;
}
.timeLineBox .agenda-list li:hover {
    transform: translateY(-1px);
    box-shadow: none;
}
.timeLineBox li {
    padding: 2px 0px 16px 15px;
    position: relative;
    margin-left: 5px;
    width: calc(100% - 5px);
}
.timeLineBox .agenda-list li::before {
    display: block;
    content: "";
    position: absolute;
    top: 0px;
    left: -5px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ff7256;
    z-index: 2;
    opacity: 1;
}
.timeLineBox li::after {
    display: block;
    content: "";
    position: absolute;
    left: -1px;
    top: 0px;
    background: #ddd;
    width: 1px;
    height: 100%;
}
.timeLineBox li.no-data .title {
    color: #666;
}
.timeLineBox span,
.timeLineBox .title {
    display: block;
}
.timeLineBox span {
    position: relative;
}
.timeLineBox span .time {
    font-size: 16px;
    color: #ff7256;
    font-weight: 900;
}
.timeLineBox span .place {
    font-size: 14px;
    color: #777;
}
.timeLineBox .title {
    margin: 6px 0px;
    font-size: 15px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
}
.timeLineBox li:nth-child(3n + 1)::before {
    background: #ff7256;
}
.timeLineBox li:nth-child(3n + 1) span .time {
    color: #ff7256;
}
.timeLineBox li:nth-child(3n + 2)::before {
    background: #2981e6;
}
.timeLineBox li:nth-child(3n + 2) span .time {
    color: #2981e6;
}
.timeLineBox li:nth-child(3n)::before {
    background: #feb801;
}
.timeLineBox li:nth-child(3n) span .time {
    color: #feb801;
}
.timeLineWrap .more {
    position: relative;
    top: auto;
    right: auto;
    margin-left: auto;
    flex-shrink: 0;
}
.more {
    font-size: 0;
    width: 32px;
    height: 32px;
    position: absolute;
}
.more::before {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 30px;
    height: 30px;
    background: url("/resources/images/img_sprite.png") no-repeat;
    background-position: -247px 0px;
    transition: all 0.3s ease;
}
.more:hover::before {
    transform: rotate(360deg);
}

@media (max-width: 1920px) {
    .mcalendar {
        width: 490px;
    }
}

@media (max-width: 1600px) {
    .mcalendar {
        width: 400px;
        padding: 30px 20px 0px 20px;
    }
    .mcalendartable > * > tr > td .stat {
        bottom: 4px;
    }
    .timeLineWrap .more {
        top: auto;
    }
}

@media (max-width: 1280px) {
    .mcalendar {
        display: none;
    }
}

/* --------------------------------------------------------
mcenterWrap
----------------------------------------------------------*/
.main-rightcon {
    width: 74.2%;
    display: flex;
}

@media (max-width: 1920px) {
    .main-rightcon {
        width: calc(100% - 490px);
    }
}

@media (max-width: 1600px) {
    .main-rightcon {
        width: calc(100% - 400px);
    }
}

@media (max-width: 1280px) {
    .main-rightcon {
        width: calc(100% - 0px);
    }
}

@media (max-width: 768px) {
    .main-rightcon {
        display: block;
    }
}

/* --------------------------------------------------------
mcenterWrap
----------------------------------------------------------*/
.mcenterWrap {
    margin: 0px 19px;
    width: calc(53% - 38px);
    display: block;
}

@media (max-width: 1280px) {
    .mcenterWrap {
        margin: 0px 19px 0px 0px;
        width: calc(53% - 19px);
    }
}

@media (max-width: 768px) {
    .mcenterWrap {
        margin: 0px;
        width: 100%;
    }
}

/* --------------------------------------------------------
mbookmark
----------------------------------------------------------*/
.mbookmark {
    display: block;
    border-radius: 8px;
    width: 100%;
    height: calc(66% - 18px);
    padding: 40px 30px 25px 40px;
    box-sizing: border-box;
    margin-bottom: 18px;
    background: #f8f8f8;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
}
.mbookmark h2 span {
    font-size: 22px;
    font-weight: 800;
    color: #222;
}
.mbookmarkList {
    display: block;
    margin-top: 15px;
    padding-top: 10px;
    margin-left: -20px;
    height: calc(100% - 45px);
    overflow-y: auto;
    box-sizing: border-box;
}
.mbookmarkList ul {
    padding-right: 10px;
}
.mbookmarkList ul li {
    margin: 0px 0 22px 0;
    width: 20%;
    display: inline-block;
    text-align: center;
    position: relative;
    vertical-align: top;
    float: left;
}
.grabbing * {
    cursor: grabbing !important;
}
.mbookmarkList ul li a {
    display: block;
    text-align: center;
    position: relative;
}
.mbookmarkList ul li a > span {
    position: relative;
    width: 70px;
    height: 70px;
    margin: 0px auto 10px auto;
    text-align: center;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.mbookmarkList ul li a > span > i {
    font-size: 26px;
    color: #1e9e49;
}
.mbookmarkList ul li a em {
    font-size: 14px;
    line-height: 130%;
    display: block;
    word-break: keep-all;
}
.mbookmarkList ul li:hover a em {
    color: #1e9e49;
}
.mbookmarkList ul li .btnScrap {
    position: absolute;
    top: 0px;
    right: calc(50% - 35px);
    opacity: 0;
}
.mbookmarkList ul li:hover .btnScrap {
    opacity: 1;
}
.mbookmarkList ul li.no-data {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 40px 20px;
    box-sizing: border-box;
    float: none;
    text-align: center;
}
.mbookmarkList ul li.no-data span {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.mbookmarkList ul li.no-data span > i {
    font-size: 32px;
    color: #ccc;
}
.mbookmarkList ul li.no-data em {
    font-size: 14px;
    line-height: 1.8;
    color: #aaa;
    font-style: normal;
}
.mbookmarkList ul li.no-data em i {
    color: #f4b942;
}

@media (max-width: 1600px) {
    .mbookmark {
        padding: 30px 20px 30px 30px;
    }
    .mbookmark h2 span {
        font-size: 19px;
    }
    .mbookmarkList ul li a > span {
        width: 60px;
        height: 60px;
    }
    .mbookmarkList ul li a > span > i {
        font-size: 24px;
    }
}

@media (max-width: 1380px) {
    .mbookmarkList ul li {
        width: 25%;
    }
}

@media (max-width: 1280px) {
    .mbookmarkList ul li {
        width: 20%;
    }
}

@media (max-width: 990px) {
    .mbookmarkList ul li {
        width: 25%;
        margin-bottom: 15px;
    }
}

@media (max-width: 768px) {
    .mbookmark {
        padding: 30px 10px 30px 20px;
    }
    .mbookmarkList {
        height: 300px;
    }
    .mbookmarkList ul li a em,
    .mbookmarkList ul li.no-data em {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .mbookmarkList ul li {
        width: 33.3333%;
    }
}

/* --------------------------------------------------------
mnotice (최종 안정화 버전)
----------------------------------------------------------*/
.mnotice {
    display: block;
    border-radius: 8px;
    width: 100%;
    height: 34.2%;
    border: 1px solid #ddd;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    padding: 40px 30px 40px 40px;
    box-sizing: border-box;
    position: relative;
}

.mnotice h2 span {
    font-size: 22px;
    font-weight: 800;
    color: #222;
}

/* 리스트 */
.mnotice .datalist {
    display: block;
    margin-top: 15px;
    padding-top: 10px;
    height: calc(100% - 35px);
    overflow-y: auto;
    padding-right: 10px;
    box-sizing: border-box;
}

.mnotice .datalist li {
    border-bottom: 1px solid #ddd;
    padding: 14px 0;
    box-sizing: border-box;
}

/* 링크 영역 */
.mnotice .datalist li a {
    position: relative;
    display: block;
    padding-left: 0;
    box-sizing: border-box;
}

/* =========================
한줄 구조
========================= */
.mnotice .datalist li a .data-etc {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #666;
}

/* 기존 구분선 제거 */
.mnotice .datalist li a .data-etc span::after {
    display: none !important;
}

/* 날짜 */
.mnotice .datalist li a .data-etc .date {
    color: #999;
    min-width: 95px;
    font-size: 12px;
    flex-shrink: 0;
}

/* 제목 */
.mnotice .datalist li a .data-etc .title-text {
    flex: 1;
    color: #333;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 등록자 */
.mnotice .datalist li a .data-etc .writer {
    color: #888;
    min-width: 80px;
    text-align: right;
    font-size: 12px;
    flex-shrink: 0;
}

/* 파일 아이콘 */
.mnotice .datalist li a .data-etc .file-icon {
    color: #aaa;
    margin-left: 4px;
    flex-shrink: 0;
}

/* hover */
.mnotice .datalist li a:hover .title-text {
    text-decoration: underline;
}

/* 더보기 */
.mnotice .more {
    position: absolute;
    top: 33px;
    right: 30px;
}

/* --------------------------------------------------------
반응형
----------------------------------------------------------*/
@media (max-width: 1600px) {
    .mnotice {
        padding: 30px 20px 30px 30px;
    }

    .mnotice h2 span {
        font-size: 19px;
    }

    .mnotice .more {
        top: 23px;
        right: 20px;
    }
}

/* ------------------------
모바일
-------------------------*/
@media (max-width: 768px) {

    .mnotice {
        padding: 25px 10px 25px 15px;
    }

    .mnotice .datalist {
        height: 300px;
    }

    /* 한줄 더 압축 */
    .mnotice .datalist li a .data-etc {
        font-size: 12px;
        gap: 6px;
    }

    .mnotice .datalist li a .data-etc .date {
        min-width: 85px;
    }

    /* 모바일은 작성자 제거 */
    .mnotice .datalist li a .data-etc .writer {
        display: none;
    }
}
/* --------------------------------------------------------
mblockWrap
----------------------------------------------------------*/
.mblockWrap {
    width: 47%;
    display: block;
}

@media (max-width: 768px) {
    .mblockWrap {
        width: 100%;
        margin-top: 18px;
    }
}

/* --------------------------------------------------------
mcolumn
----------------------------------------------------------*/
.mcolumn {
    display: flex;
    width: 100%;
    height: calc(66% - 18px);
    margin-bottom: 18px;
}

@media (max-width: 9999px) {
    .mcolumn {
        display: block;
        height: calc(66% - 18px);
    }
}

@media (max-width: 768px) {
    .mcolumn {
        height: auto;
        margin-bottom: 0px;
    }
}

/* --------------------------------------------------------
mquestion
----------------------------------------------------------*/
.mquestion {
    display: block;
    border-radius: 8px;
    width: calc(61% - 19px);
    margin-right: 19px;
    height: 100%;
    border: 1px solid #ddd;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    padding: 40px 30px 40px 40px;
    box-sizing: border-box;
}
.mquestion h2 span {
    font-size: 22px;
    font-weight: 800;
    color: #222;
}
.mquestion .questlist {
    display: block;
    margin-top: 15px;
    padding-top: 10px;
    height: calc(100% - 35px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 10px;
    box-sizing: border-box;
}
.mquestion .questlist li {
    border-bottom: 1px solid #ddd;
    padding: 15px 0px;
    box-sizing: border-box;
    position: relative;
    display: block;
}
.mquestion .questlist li .title {
    display: flex;
    align-items: center;
    margin-bottom: 7px;
}
.mquestion .questlist li .title span {
    white-space: nowrap;
    font-size: 13px;
    border-radius: 4px;
    height: 25px;
    line-height: 23px;
    margin-right: 5px;
    padding: 0px 10px 0px 9px;
}

.mquestion .questlist li.no-data .title strong {
    color: #666;
    font-weight: 400;
    font-size: 16px;
    padding-left: 10px;
    position: relative;
}
.mquestion .questlist li.no-data .title strong::before {
    display: inline-block;
    content: "";
    width: 4px;
    height: 4px;
    background: #666;
    border-radius: 50%;
    position: absolute;
    left: 0px;
    top: calc(50% - 2px);
}

/*대기*/
.state01 {
    background: #efc324;
    color: #fff;
}
/*신청*/
.state02 {
    background: #46a4ee;
    color: #fff;
}
/*진행*/
.state03 {
    background: #f64e31;
    color: #fff;
}
/*해결안제시*/
.state04 {
    background: #aa79cb;
    color: #fff;
}
/*테스트요청*/
.state05 {
    background: #5c7099;
    color: #fff;
}
/*테스트완료*/
.state06 {
    background: #fff;
    border: 1px solid #5c7099;
    color: #5c7099;
}
/*시스템이관요청*/
.state07 {
    background: #0ca153;
    color: #fff;
}
/*시스템이관승인*/
.state08 {
    background: #fff;
    border: 1px solid #0ca153;
    color: #0ca153;
}
/*완료*/
.state09 {
    background: #b0b0b0;
    color: #fff;
}
/*취소요청*/
.state10 {
    background: #4063c1;
    color: #fff;
}
/*취소*/
.state11 {
    background: #fff;
    border: 1px solid #4063c1;
    color: #4063c1;
}
/*반려*/
.state12 {
    background: #ffd6da;
    border: 1px solid #e24647;
    color: #e24647;
}
.mquestion .questlist li .title span,
.mquestion .questlist li .title strong {
    display: inline-flex;
    align-items: center;
}
.mquestion .questlist li .title strong {
    color: #444;
    font-size: 14px;
    font-weight: 700;
    display: inline-block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    width: 100%;
}
.mquestion .questlist li .data-etc {
    font-size: 14px;
    color: #555;
    position: relative;
    padding-left: 10px;
}
.mquestion .questlist li .data-etc::before {
    display: block;
    content: "";
    position: absolute;
    left: 1px;
    top: 5px;
    width: 3px;
    height: 3px;
    background: #000;
    border-radius: 50%;
}
.mquestion .questlist li .data-etc span {
    display: inline-block;
    padding: 0px;
    position: relative;
}
.mquestion .questlist li .data-etc span:first-child {
    padding-left: 0px;
}
.mquestion .questlist li .data-etc span::after {
    display: block;
    content: "/";
    font-size: 14px;
    display: inline-block;
    margin-left: 3px;
}
.mquestion .questlist li .data-etc span:last-child::after {
    display: none;
}

@media (max-width: 9999px) {
    .mquestion {
        width: 100%;
        margin-right: 0px;
        height: calc(100% - 118px);
        padding: 30px 20px 29px 30px;
    }
    .mquestion h2 span {
        font-size: 19px;
    }
}

@media (max-width: 768px) {
    .mquestion {
        width: 100%;
        margin-right: 0px;
        padding: 30px 10px 30px 20px;
    }
    .mquestion .questlist {
        height: 300px;
    }
}

/* --------------------------------------------------------
minfo
----------------------------------------------------------*/
.minfo {
    display: inline-grid;
    border-radius: 8px;
    width: 39%;
    height: 100%;
    background: linear-gradient(#187e3a, #1e9e48);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    color: #fff;
    padding: 37px 0px;
    box-sizing: border-box;
}
.minfoBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
}
.minfoTitle {
    position: relative;
    margin: 0px 30px 30px 30px;
    padding-top: 73px;
}
.minfoTitle::before {
    display: block;
    content: "";
    background: url("/resources/images/img_sprite.png") no-repeat;
    background-position: -181px -40px;
    border: 5px solid #fff;
    border-radius: 50%;
    width: 46px;
    height: 46px;
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -28px;
    margin-bottom: 17px;
}
.minfoTitle span,
.minfoTitle strong {
    display: block;
    text-align: center;
    white-space: nowrap;
}
.minfoTitle span {
    font-size: 18px;
    opacity: 0.8;
    padding-bottom: 10px;
    margin-bottom: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.minfoTitle strong {
    font-size: 28px;
    font-weight: 700;
}
.minfoList {
    margin: 37px auto 0px auto;
    display: table;
}
.minfoList p {
    display: block;
    position: relative;
    vertical-align: top;
    margin-bottom: 5px;
}
.minfoList p:last-child {
    margin-bottom: 0px;
}
.minfoList p i,
.minfoList p span {
    display: inline-block;
}
.minfoList p i {
    width: 31px;
    height: 31px;
    border-radius: 50%;
    margin-right: 7px;
    background: #fff;
    position: relative;
    vertical-align: middle;
}
.minfoList p i::before {
    display: block;
    content: "";
    width: 17px;
    height: 17px;
    background: url("/resources/images/img_sprite.png") no-repeat;
    position: absolute;
    top: 7px;
    left: 7px;
}
.minfoList p.tel i::before {
    background-position: -277px 0px;
}
.minfoList p.web i::before {
    background-position: -294px 0px;
}
.minfoList p > span,
.minfoList p > span a {
    font-weight: 500;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0px;
    margin: 0px;
    padding: 0px;
    vertical-align: middle;
}

@media (max-width: 2200px) {
    .minfoTitle {
        margin: 0px 30px;
    }
}
@media (max-width: 1800px) {
    .minfoTitle span {
        font-size: 16px;
    }
    .minfoTitle strong {
        font-size: 26px;
    }
    .minfoList p {
        margin-bottom: 10px;
    }
    .minfoList p i,
    .minfoList p span {
        display: block;
        text-align: center;
    }
    .minfoList p i {
        margin: 0px auto 3px auto;
    }
}

@media (max-width: 9999px) {
    .minfo {
        width: 100%;
        margin-right: 0px;
        height: 100px;
        margin-top: 18px;
        padding: 0px;
    }
    .minfoBox {
        flex-direction: row;
        align-items: center;
    }
    .minfoTitle {
        padding-top: 0px;
        padding-left: 66px;
    }
    .minfoTitle::before {
        top: -2px;
        left: 0px;
        margin-bottom: 0px;
        margin-left: 0px;
    }
    .minfoTitle span {
        font-size: 15px;
        padding-bottom: 5px;
        margin-bottom: 5px;
    }
    .minfoTitle strong {
        font-size: 24px;
    }
    .minfoTitle,
    .minfoList {
        margin: 0px 5%;
    }
    .minfoList p {
        margin-bottom: 5px;
    }
    .minfoList p i,
    .minfoList p span {
        display: inline-block;
    }
    .minfoList p i {
        margin: 0px 5px 0px 0px;
        width: 25px;
        height: 25px;
    }
    .minfoList p i::before {
        top: 4px;
        left: 4px;
    }
}

@media (max-width: 1380px) {
    .minfoTitle {
        padding-left: 55px;
    }
    .minfoTitle::before {
        width: 40px;
        height: 40px;
        background-position: -180px -38px;
    }
    .minfoTitle span {
        font-size: 14px;
    }
    .minfoTitle strong {
        font-size: 20px;
    }
    .minfoList p > span,
    .minfoList p > span a {
        font-size: 15px;
    }
}

@media (max-width: 1380px) {
    .minfoList p > span,
    .minfoList p > span a {
        font-size: 14px;
    }
}

@media (max-width: 990px) {
    .minfoTitle,
    .minfoList {
        margin: 0px 4%;
    }
    .minfoTitle span,
    .minfoList p > span,
    .minfoList p > span a {
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .minfo {
        display: none;
    }
}

/* --------------------------------------------------------
mpopup
----------------------------------------------------------*/
.mpopup {
    display: block;
    width: 100%;
    height: 34%;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    position: relative;
}
.mpopup .swiper {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 8px;
}
.mpopup .swiper-wrapper {
    height: 100%;
    transition-timing-function: linear;
}
.mpopup .swiper-slide {
    position: relative;
    text-align: center;
    display: flex;
    font-size: 0px;
}
.mpopup .swiper-wrapper .swiper-slide .item {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: 100%;
}
.mpopup .swiper-slide .item a {
    display: block;
    height: 100%;
}
.mpopup .swiper-slide .item img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    font-size: 0px;
    vertical-align: top;
}
.mpopup .swiper-pagination {
    position: absolute;
    top: 20px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;
    display: flex;
    justify-content: end;
}
.mpopup .swiper-horizontal > .swiper-pagination-bullets,
.mpopup .swiper-pagination-bullets.swiper-pagination-horizontal,
.mpopup .swiper-pagination-custom,
.swiper-pagination-fraction {
    width: auto;
}
.mpopup .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    background: #fff !important;
    opacity: 1 !important;
    margin: 0px 2px !important;
}
.mpopup .swiper-pagination-bullet-active {
    width: 34px !important;
    border-radius: 50px !important;
}

@media (max-width: 9999px) {
    .mpopup {
        height: 34%;
    }
}

@media (max-width: 768px) {
    .mpopup {
        display: none;
    }
}

.langu-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.flag-icon {
    width: 24px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
}





/* --------------------------------------------------------
사이드바 퍼블 적용 불가로 인한 자체 UI 작업본
----------------------------------------------------------*/
/* --------------------------------------------------------
ileft.jsp 및 메인화면 CSS 조정본
----------------------------------------------------------*/
.main-sidebar {
    position: fixed;
    z-index: 1038;  /* #sidebar-overlay(1037) 위로 올려 모바일 클릭 차단 방지 */
    display: flex;
    flex-direction: column;
    width: calc(var(--sidebar-main-w, 155px) + 1px + var(--sidebar-sub-w, 240px)) !important;
    min-width: unset !important;
    max-width: none !important;
    height: 100vh !important;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5)  ;
}

/* width가 가변적이므로 transition을 transform 기반으로 교체 */
.main-sidebar,
.main-sidebar::before {
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out !important;
}

/* 모바일: AdminLTE의 margin-left:-250px 오버라이드 → transform 기반으로만 show/hide */
/* (사이드바 폭이 250px 초과라 -250px 적용 시 반만 사라지는 버그 방지) */
@media (max-width: 767.98px) {
    .main-sidebar,
    .main-sidebar::before {
        margin-left: 0 !important;
    }
    .sidebar-open .main-sidebar,
    .sidebar-open .main-sidebar::before {
        margin-left: 0 !important;
    }
}

/* 닫힐 때 실제 width 기준으로 완전히 화면 밖으로 이동 */
.sidebar-collapse .main-sidebar,
.sidebar-collapse .main-sidebar::before {
    transform: translateX(-100%) !important;
    margin-left: 0 !important;
}

/* overlay sidebar 구조 */
.content-wrapper {
    margin-left: 0 !important;
}

/* sidebar 상단 영역 — 한 줄: [로고] [select] [X] */
.sidebar-top-bar{
    background: #f9f9f9;
    display: flex;
    align-items: center;
    height: 59px;
    border-bottom: 1px solid #ddd;
}

/* 로고 */
.sidebar-top-bar .brand-link{
    display: flex;
    align-items: center;
    padding: 0;
    border: none;
    flex-shrink: 0;
    width: 63px;
    height: 31px;
    padding-left: 25px;
    box-sizing: border-box;
}

/* 로고 이미지 */
#LEFT_LOGO img{
    height: 26px;
}

/* 사이트 선택 영역 */
.sidebar-top-bar .mtitle{
    font-size: 18px;
    font-weight: 600;
    position: relative;
    margin-left: 48px;
    padding-left: 10px;
    width: 240px;
    height: 32px;
    line-height: 30px;
    box-sizing: border-box;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.sidebar-top-bar .mtitle::before {
    display: block;
    content: "";
    position: absolute;
    left: 0px;
    top: 8px;
    width: 1px;
    height: 16px;
    background: #7b7b7b;
}

/* dropdown */
.sidebar-top-bar .mtitle select{
    /*appearance:none;*/
    width: 90%;
    height: 100%;
    padding: 0px;
    font-size: 13px;
    font-weight: 400;
    padding: 0px;
    border: none;
    background: transparent;
    color: #222;
}

/* 닫기 버튼 */
.sidebar-toggle-btn{
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 999;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    border: 2px solid #000;
    background: #fff;
    transition: 0.4s ease-out;
}
.sidebar-toggle-btn:before,
.sidebar-toggle-btn:after {
    position: absolute;
    left: 12px;
    top: 4px;
    content: "";
    height: 18px;
    width: 3px;
    background-color: #000;
}
.sidebar-toggle-btn:after {
    transform: rotate(-45deg);
}
.sidebar-toggle-btn:before {
    transform: rotate(45deg);
}
/* hover */
.sidebar-toggle-btn:hover{
    border-radius: 10px;
}

/* 아이콘 */
.sidebar-toggle-btn i{
    font-size:15px;
    display: none;
}
/* --------------------------------------------------------
두 컬럼 사이드바 레이아웃 (항상 열린 상태)
----------------------------------------------------------*/

/* sidebar-body: 대메뉴 | 소메뉴 flex row */
.sidebar-body {
    display: flex;
    flex-direction: row;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* 대메뉴 컬럼 */
.sidebar-body > .sidebar {
    width: 112px;
    max-width: 112px;
    min-width: 0 !important;
    flex-shrink: 0 !important;
    height: 100% !important;
    overflow-y: auto;
    overflow-x: hidden;
}

/* 구분선 */
.sidebar-col-divider {
    width: 0px;
    background: rgba(255,255,255,0.15);
    flex-shrink: 0;
}

/* 소메뉴 컬럼 */
.sidebar-sub-panel {
    /* width: var(--sidebar-sub-w, 240px); */
    width: calc(100% - 112px);
    flex-shrink: 0;
    background: #fff;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px 20px 50px 20px;
    box-sizing: border-box;
}

/* 기존 nav-treeview는 DOM 데이터용으로만 유지, 화면에는 숨김 */
.sidebar .nav-treeview {
    display: none !important;
    position: static !important;
    height: auto !important;
    width: auto !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 소메뉴 패널 헤더 (현재 대메뉴 이름 표시) */
.sidebar-sub-header {
    padding: 14px 16px 10px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #eee;
    margin-bottom: 4px;
    display: none;
}

/* 소메뉴 패널 — 1열 목록 */
.sidebar-sub-panel .nav-sub-list {
    display: block;
    padding: 4px 0;
    list-style: none;
    margin: 0;
}

.sidebar-sub-panel .nav-item {
    border-bottom: 1px solid #ddd;
}

.sidebar-sub-panel .nav-link {
    color: #333;
    display: flex;
    align-items: center;
    text-decoration: none;
    overflow: hidden;
    padding: 12px 5px 14px 5px;
    box-sizing: border-box;
}

.sidebar-sub-panel .nav-link .ltxt {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 15px;
}

.sidebar-sub-panel .nav-icon {
    font-size: 11px;
    flex-shrink: 0;
    display: none;
}

.sidebar-sub-panel .nav-link:hover,
.sidebar-sub-panel .nav-link.active {
    color: #1e9e49;
    font-weight: 600;
}

.sidebar-sub-panel .nav-icon {
    font-size: 12px;
    color: #aaa;
    flex-shrink: 0;
    display: none;
}

.sidebar-sub-panel .nav-link.active .nav-icon {
    color: #1a73e8;
}

/* 대메뉴 항목 기본 */
.nav-sidebar > .nav-item > .nav-link {
    padding: 31px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
    border-radius: 0px;
    margin-bottom: 0px;
}

.mt-2 {
    margin-top: 0px !important;
}

/* 대메뉴 선택된 항목 하이라이트 */
[class*=sidebar-dark-],
.control-sidebar-dark {
    background-color: #1e9e49;
}
.sidebar-dark-primary .nav-sidebar>.nav-item>.nav-link.active,
.sidebar-light-primary .nav-sidebar>.nav-item>.nav-link.active {
    background: #1e9e49;
    color: #fff;
}
[class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link,
[class*=sidebar-dark-] .nav-sidebar>.nav-item.nav-item-selected>.nav-link.active {
    color: #1e9e49;
    background: #fff;
    font-weight: 600;
}

[class*=sidebar-dark-] .nav-sidebar>.nav-item>.nav-link.active {
    box-shadow: none;
}
[class*=sidebar-dark-] .sidebar a,
[class*=sidebar-dark-] .nav-treeview>.nav-item>.nav-link {
    opacity: 1;
}

.nav-sidebar > .nav-item.nav-item-selected > .nav-link .ltxt,
.nav-sidebar > .nav-item.nav-item-selected > .nav-link .nav-icon {
    opacity: 1 !important;
    font-weight: 600;
}

.nav-sidebar > .nav-item > .nav-link .nav-icon {
    display: none;
}

.nav-sidebar .nav-link p {
    white-space: normal !important;
    word-break: keep-all;
    line-height: 140%;
}

.os-content {
    padding: 0px !important;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    background: #1e9e49;
    color: #fff;
}
.sidebar {
    height: calc(100vh - (5rem + 1px)) !important;
}
.sidebar .user-panel .image {
    padding-top: 5px;
    text-align: center;
}
.sidebar .image i {
    font-size: 2.2rem;
    color: #fff;
    margin-left: 0.05rem;
    margin-right: 0.2rem;
}
.sidebar .user-panel .info {
    color: #fff;
    padding-top: 0;
}
.sidebar .user-panel .info p {
    font-weight: bold;
    margin-bottom: 0;
}
.sidebar .user-panel .info span {
    font-size: .75rem;
}
.sidebar-collapse .nav-item .nav-link i.right{
    display: none;
}



/* 모바일(767px 이하): 두 컬럼 오버레이 A안 */
@media (max-width: 767px) {
    .main-sidebar {
        width: 100vw !important;
    }

    .sidebar-body > .sidebar {
        width: 100px;
        max-width: 100px;
    }

    .sidebar-sub-panel {
        width: calc(100% - 100px);
    }
    .nav-sidebar > .nav-item > .nav-link {
        padding: 20px 0px;
        font-size: 15px;
    }
}




.card-body table.dataTable thead th,
.card-body table.dataTable tfoot th {
    font-weight: 400;
    white-space: nowrap;
}
.card-body .table td,
.card-body .table th {
    font-size: 12px;
}



.menu-tab {
    margin: 0px 1px;
    padding: 0px 10px;
    float: left;
    background: #fff;
    list-style: none;
    height: 31px;
    line-height: 29px;
    position: relative;

    display: block;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: 0.3s ease-out;
    white-space: nowrap;
    font-size: 13px;
    color: #666;
}
.menu-tab:first-child {
    margin-left: 13px;
}
.menu-tab.active,
.menu-tab:hover {
    border-color: #28a745;
    color: #28a745;
    font-weight: 500;
}

.menu-tab .tab-close {
    opacity: 0;
    position: absolute;
    top: -6px;
    right: -1px;
    background: #fff;
    border: 1px solid #1e9e49;
    cursor: pointer;
    border-radius: 50%;
    width: 17px;
    height: 17px;
    text-align: center;
    font-size: 0px;
    z-index: 10;
    transition: 0.3s ease-out;
    font-size: 0px;
}

.menu-tab .tab-close::before {
    content: "X";
    display: block;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    color: #1e9e49;
    width: 10px;
    height: 10px;
    position: absolute;
    top: -7px;
    left: 1px;
    padding: 0px;
    vertical-align: top;
    font-family: "S-CoreDream", "Noto Sans KR", sans-serif;
}

.menu-tab:hover .tab-close {
    opacity: 1;
    transform: rotate(360deg);
}


.dropdown-content2 {
    position: absolute;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid #989898;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 10;
    right: -30px;
    top: 28px;
    box-sizing: border-box;
    padding: 22px;
    animation: dimShowPop 0.3s;
}
.dropdown-content2::before {
    display: block;
    content: "";
    position: absolute;
    right: 45px;
    top: -6px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-right: 1px solid #989898;
    border-top: 1px solid #989898;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    z-index: 1;
}

@media (max-width: 768px) {
    .dropdown-content2 {
        right: -60px;
        top: 30px;
    }
    .dropdown-content2::before {
        right: 63px;
    }
}

.main-header .navbar-nav,
.main-header .navbar-nav .nav-item {
    position: relative;
}

@media (max-width: 1280px) {
    .menu-tabs  {
        display: none;
    }
}


.navbar-nav .tab-link {
    background: #fff;
    width: 60px;
    height: 29px;
    justify-content: end;
    display: flex;
    border-radius: 4px;
    /*border: 1px solid #e7e8ea;*/
}
.navbar-nav .tab-link > .nav-arrow {
    margin: 0px;
    padding: 0px;
    text-align: center;
    display: block;
    position: relative;
    height: 27px;
    width: 28px;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
}
.navbar-nav .tab-link > button {
    background: transparent;
}
.navbar-nav .tab-link > button::before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    top: 9px;
    width: 6px;
    height: 6px;
    margin-left: -7px;
    border-top: 2px solid #a3a3a3;
    border-right: 2px solid #a3a3a3;
    transform: rotate(45deg);
    z-index: 1;
    transition: 0.3s ease-out;
}
.navbar-nav .tab-link > .nav-prev::before {
    transform: rotate(225deg);
    margin-left: -3px;
}
.navbar-nav .tab-link > .nav-arrow:hover::before {
    border-color: #222;
}

@media (max-width: 1280px) {
    .navbar-nav .tab-link {
        display: none;
    }
}

.fav-popup {
    display: none;
    position: absolute;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid #989898;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 10;
    right: -63px;
    top: 28px;
    box-sizing: border-box;
    padding: 22px;
    animation: dimShowPop 0.3s;
    width: 370px;
}

.fav-popup::before {
    display: block;
    content: "";
    position: absolute;
    right: 79px;
    top: -6px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-right: 1px solid #989898;
    border-top: 1px solid #989898;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    z-index: 1;
}


.fav-header {
    font-size: 16px;
    font-weight: 800;
    color: #222;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
}


.fav-grid {
    overflow-y: auto;
    max-height: 320px;
    height: 200px;
    padding-top: 10px;
}
.fav-item {}
.mbookmarkList .fav-item {
    margin-bottom: 0px;
}



.fav-item i {
    font-size: 22px;
    margin-bottom: 8px;
    color: #2f8f4e;
}

.fav-item .fav-text {
    font-size: 13px;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.fav-item:hover {
    transform: translateY(-4px);
}

table.dataTable th,
table.dataTable td {
    font-size: 12px;
}
table.dataTable thead th,
table.dataTable tfoot th {
    font-weight: 400;
}

@media (max-width: 768px) {
    .col-md-9 {
        display: block;
    }
}

/* --------------------------------------------------------
   notice-popup skin colors
-----------------------------------------------------------*/
.stbg-green .notice-popup-header { background: #1e9e49; }
.stbg-green .notice-popup-title { border-bottom-color: #1e9e49; }
.stbg-green .notice-popup-attachment a { color: #1e9e49; }
.stbg-green .notice-popup-footer { background: #f4f8f5; border-top-color: #d9ede0; }
.stbg-green .notice-popup-footer .btn-notice-close { background: #1e9e49; }

.stbg-blue .notice-popup-header { background: #006bff; }
.stbg-blue .notice-popup-title { border-bottom-color: #006bff; }
.stbg-blue .notice-popup-attachment a { color: #006bff; }
.stbg-blue .notice-popup-footer { background: #f0f4ff; border-top-color: #cdd9f5; }
.stbg-blue .notice-popup-footer .btn-notice-close { background: #006bff; }

.stbg-pink .notice-popup-header { background: #ff5db2; }
.stbg-pink .notice-popup-title { border-bottom-color: #ff5db2; }
.stbg-pink .notice-popup-attachment a { color: #ff5db2; }
.stbg-pink .notice-popup-footer { background: #fff0f8; border-top-color: #f5cde4; }
.stbg-pink .notice-popup-footer .btn-notice-close { background: #ff5db2; }

.stbg-red .notice-popup-header { background: #ff4b4c; }
.stbg-red .notice-popup-title { border-bottom-color: #ff4b4c; }
.stbg-red .notice-popup-attachment a { color: #ff4b4c; }
.stbg-red .notice-popup-footer { background: #fff2f2; border-top-color: #f5cdcd; }
.stbg-red .notice-popup-footer .btn-notice-close { background: #ff4b4c; }

.stbg-yellow .notice-popup-header { background: #ffa902; }
.stbg-yellow .notice-popup-title { border-bottom-color: #ffa902; }
.stbg-yellow .notice-popup-attachment a { color: #ffa902; }
.stbg-yellow .notice-popup-footer { background: #fffaf0; border-top-color: #f5e0b0; }
.stbg-yellow .notice-popup-footer .btn-notice-close { background: #ffa902; }

.stbg-purple .notice-popup-header { background: #9e3af4; }
.stbg-purple .notice-popup-title { border-bottom-color: #9e3af4; }
.stbg-purple .notice-popup-attachment a { color: #9e3af4; }
.stbg-purple .notice-popup-footer { background: #f8f2ff; border-top-color: #e0cdf5; }
.stbg-purple .notice-popup-footer .btn-notice-close { background: #9e3af4; }

.stbg-brown .notice-popup-header { background: #96581d; }
.stbg-brown .notice-popup-title { border-bottom-color: #96581d; }
.stbg-brown .notice-popup-attachment a { color: #96581d; }
.stbg-brown .notice-popup-footer { background: #faf5f0; border-top-color: #e8d4c0; }
.stbg-brown .notice-popup-footer .btn-notice-close { background: #96581d; }

/* 대메뉴 hover: 반투명 배경, 글씨색 유지 (선택된 항목 제외) */
[class*=sidebar-dark-] .nav-sidebar>.nav-item:not(.nav-item-selected):hover>.nav-link,
[class*=sidebar-dark-] .nav-sidebar>.nav-item:not(.nav-item-selected)>.nav-link:focus {
    background-color: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    .col-md-9 {
        display: block;
    }
}
