@charset "utf-8";


/* ===================================================
*
*    Layout
*
====================================================*/
html, body {width: 100%; height: 100%; font-family: 'Roboto','NotoSansKR', Apple SD Gothic Neo, 'Microsoft Yahei', 'Microsoft MingLiU', Arial, 돋움, dotum, sans-serif; font-weight: 400; font-style: normal; font-stretch: normal; font-size: 14px; line-height: 1.43; color: #111; word-break: keep-all; word-wrap: break-word; white-space: normal; }
h1, h2, h3, h4, h5, h6 {margin: 0; padding: 0; }
ul, ol, li, dl {list-style: none; padding: 0; margin: 0; }
p {margin: 0; }

.wrapper {width: 100%; min-height: 100%; overflow: hidden; }
.wrapper:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.visuallyhidden {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding:0 !important;
  border:0 !important;
  height: 1px !important; 
  width: 1px !important; 
  overflow: hidden;
}

/* ===================================================
	Nav
====================================================*/
.nav-wrap {position: fixed; top: 50px; left: 0; width: 230px; height: calc(100% - 50px); box-shadow: 2px 1px 16px 4px rgba(141, 141, 141, 0.12); box-sizing: border-box; background-color: #fff; z-index: 15; transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.logo {display: block; float: left; height: 24px; margin-top: 12px; font-size: 20px; line-height: 30px; }
.logo a {display: block; width: 100%; height: 100%; }
.logo img {display: block; max-width: 100%; max-height: 100%; margin: 0 auto; }

.logo .pc {display: block; }
.logo .mobile {display: none; }
.logo .dark {display: none !important; }

.nav-wrap {display: block; }
.nav {visibility: hidden; width: 100%; height: calc(100% - 90px); position:absolute; top:90px; }
.nav.active {visibility: visible; }

.nav li {}
.nav-title {display: inline-block; position: relative; width: 100%; height: 50px; padding: 12px 12px; border: 0; border-radius: 0; box-sizing: border-box; background-color: #fff; background-image: url("../images/common/category_down.svg"); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px auto; text-align: left; font-size: 15px; font-weight: 400; line-height: inherit; color: #666; }
.nav-title:hover {background-color: #f8fafc; }
.nav-title:hover:after {background: none; }

/* .nav li.depth .nav-title:hover {border: 0; background-color: #f8fafc; } */

.nav li.active > .nav-title {background-color: transparent; background-image: url("../images/common/category_up.svg"); font-weight: 500; color: #002866; }
.nav a.nav-title {line-height: 25px; }
.nav a.nav-title:focus {background-color: transparent; color: #666; outline: none; }
.nav a.nav-title:hover {background-color: transparent; color: #002866; }

.nav li.current .nav-title {font-weight: 500; color: #002866; }
.nav li.current .nav-title:after {content: ""; position: absolute; top: 0; left: auto; right: 0; width: 3px; height: 100%; background-color: #002866; }


.nav-category {display: none; width: 100%; padding: 0 0 8px 12px; box-sizing: border-box; font-size: 15px; font-weight: 500; color: #222; }
.category-menu {display: inline-block; width: calc(100% - 34px); padding: 12px 12px; background-color: transparent; border: 0; outline: 0; font-size: 15px; font-weight: 400; color: #222; text-decoration: none; text-align: left; }
.category-menu:hover {color: #002866; }
.nav li.active > .nav-category {display: block; }
.nav-category .category-menu {padding: 8px 8px; font-size: 14px; color: #888; }

.btn-menu-wrap {}
.btn-menu-wrap:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; } 
.menu-choice {width: 100%; padding: 10px 5px 0; }
.menu-choice:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; } 
.menu-choice button {float: left; width: calc(50% - 5px); height: auto; padding: 5px 10px; border: 0; border-radius: 0; background-color: #f0f0f0; line-height: 25px; border-radius: 5px; }
.menu-choice button + button {margin-left: 10px; }
.menu-choice button:hover:after {content: none; }
.menu-choice button.active {background-color: #d2e1fa; font-weight: 500; color: #002866; }

.nav-wrap .search-input-group {padding: 15px 5px 0; box-sizing: border-box; }
.search-input-group:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; } 
.nav-wrap .search-input-group input {padding: 0 12px 0 30px; border-radius: 999px; background-color: #f7f8f9; }
.nav-wrap .search-input-group button {top: 15px; left: 5px; right: auto; }

.btn-nav-close {position: relative; float: left; width: 50px; height: 50px; margin-right: 20px; padding: 0; border: 0; border-radius: 0; background-color: #002866; box-shadow: 6px 0px 8px 0px rgb(141 141 141 / 12%); transition: left 0.3s; }
.btn-nav-close .line-wrap {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.btn-nav-close .line {display: block; width: 20px; height: 3px; margin: 4px 0; background-color: #fff; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

.btn-nav-close .line {background-color: #fff; }
.btn-nav-close .line:nth-child(1) {-webkit-transform: translateY(7px) rotate(45deg); -ms-transform: translateY(7px) rotate(45deg); -o-transform: translateY(7px) rotate(45deg); transform: translateY(7px) rotate(45deg); }
.btn-nav-close .line:nth-child(2) {opacity: 0; }
.btn-nav-close .line:nth-child(3) {-webkit-transform: translateY(-7px) rotate(-45deg); -ms-transform: translateY(-7px) rotate(-45deg); -o-transform: translateY(-7px) rotate(-45deg); transform: translateY(-7px) rotate(-45deg); }

.nav-close .btn-nav-close .line {transform: none; }
.nav-close .btn-nav-close .line:nth-child(2) {opacity: 1; }


.nav-close .nav-wrap {display: none; }

.nav-close .nav-category {display: none !important; }
.nav-close .nav {}

.nav-title .icon {position: absolute; top: 0; right: 0;width: 50px; height: 50px; background-repeat: no-repeat; background-position: center center; background-size: auto 20px; }

.btn-favorite {display: inline-block; width: 25px; height: 25px; border: 0; background-color: transparent; vertical-align: middle; }
.btn-favorite:before {color: #ddd; }
.btn-favorite:hover:before {color: #aaa; }
.btn-favorite.active {}
.btn-favorite.active:before {color: #ffbe3f; }

/* ===================================================
	Container
====================================================*/
.container {position: absolute; padding: 50px 0px 0px;width: 100%; min-width: 1024px; height: 100%; background-color: #e2e2e2; z-index: 0;}


/* loading */
.loading-wrap {display: none; position: fixed; bottom: 0; right: 0; width: 100%; height: calc(100vh - 50px); background-color: rgba(255, 255, 255, 0.5); z-index: 10; }
.loading {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.loading:after {content: ""; position: absolute; top: calc(50% + 32px); left: 50%; display: block; width: 26px; height: 26px; border-radius: 999px; background-color: #fff; opacity: 1; transform: translate(-50%, -50%); }
.loading .bar {display: block; position: absolute; top: 0; left: 50%; width: 3px; height: 32px; border-radius: 5px; background-color: #002866; opacity: 1; transform-origin: center bottom; animation: loading-bar 1.2s ease-in-out infinite; }
.loading .bar1 {transform: translateX(-50%) rotate(30deg); animation-delay: -0.1s; }
.loading .bar2 {transform: translateX(-50%) rotate(60deg); animation-delay: -0.2s; }
.loading .bar3 {transform: translateX(-50%) rotate(90deg); animation-delay: -0.3s; }
.loading .bar4 {transform: translateX(-50%) rotate(120deg); animation-delay: -0.4s; }
.loading .bar5 {transform: translateX(-50%) rotate(150deg); animation-delay: -0.5s; }
.loading .bar6 {transform: translateX(-50%) rotate(180deg); animation-delay: -0.6s; }
.loading .bar7 {transform: translateX(-50%) rotate(210deg); animation-delay: -0.7s; }
.loading .bar8 {transform: translateX(-50%) rotate(240deg); animation-delay: -0.8s; }
.loading .bar9 {transform: translateX(-50%) rotate(270deg); animation-delay: -0.9s; }
.loading .bar10 {transform: translateX(-50%) rotate(300deg); animation-delay: -1.0s; }
.loading .bar11 {transform: translateX(-50%) rotate(330deg); animation-delay: -1.1s; }
.loading .bar12 {transform: translateX(-50%) rotate(360deg); animation-delay: -1.2s; }

@keyframes loading-bar {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}



/* ===================================================
	Header
====================================================*/
.header {position: fixed; top: 0; left: 0; width: 100%; min-width: 1024px; padding: 0 20px 0 0; box-sizing: border-box; box-shadow: 0px 5px 6px 3px rgba(141, 141, 141, 0.05); background-color: #fff; z-index: 1; }
.header:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.header-util {float: right; margin-top: 5px; }
.header-util button {border: 0; }
.header-util button:hover:after {content: none; }


.header-search {position: relative; float: left; width: 40px; padding: 0; margin-right: 4px; border-radius: 999px; background-image: url("../images/common/header_search.png"); background-repeat: no-repeat; background-position: center center; background-size: auto 17px; }
.header-search:hover {background-image: url("../images/common/header_search_on.png"); background-color: #ebf0f8; }


.header-right {float: left; }
.header-right ul:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.header-right li {float: left; }

.header-user {position: relative; padding: 0 0 0 16px; }
.header-user:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.header-user:hover {color: #002866; }
.header-user:before {content: ""; position: absolute; top: 50%; left: 0; width: 1px; height: 10px; background-color: #ccc; transform: translateY(-50%); }
.header-user em {float: left; margin-right: 10px; padding: 5px 5px; border-radius: 3px; background-color: #eee; font-size: 12px; font-style: normal; line-height: normal; }
.header-user span {float: left; display: inline-block; position: relative; padding-right: 20px; font-size: 13px; line-height: 28px; }
.header-user span:after {content:""; position: absolute; top: calc(50% + 2px); right: 8px; width: 2px; height: 6px; background-color: #ccc; transform: translateY(-50%) rotate(-45deg); }
.header-user span:before {content:""; position: absolute; top: calc(50% + 2px); right: 4px; width: 2px; height: 6px; background-color: #ccc; transform: translateY(-50%) rotate(45deg); }
.header-user:hover span:after,
.header-user:hover span:before {background-color: #002866; }




/* ===================================================
	Contents
====================================================*/
.contents {position: relative; width: 100%; height: 100%; box-sizing: border-box; overflow: hidden; }

.contents-box {position: relative; width: 100%; height: 100%; box-sizing: border-box; background-color: #f7f8f9; overflow: auto; }
.contents-box:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.contents-detail {display: -webkit-box; display: -ms-flexbox; display: flex; gap: 10px; padding: 10px 10px; box-sizing: border-box; }
.contents-detail .box {height: 100%; align-items: stretch; }

.contents-left {width: calc(100% - 270px); }
.contents-right {width: 260px; min-width: 260px; }
.contents-column {display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column;
 gap: 10px; }

.box {width: 100%; padding: 10px 15px; border: 1px solid #eee; border-radius: 15px; box-sizing: border-box; background-color: #fff; }
.box .table-default {height: 100%; max-height: calc(100% - 50px); }

.box .title {display: block; margin-bottom: 10px; }

.iframe-wrap {border-top: 1px solid #ddd; }
.iframe-wrap iframe {width: 100%; height: 100%; min-height: calc(100vh - 140px); border: 0; }



/* ===================================================
	contents-tab
====================================================*/
.contents-tab {padding: 0 0 0 15px; box-sizing: border-box; border-bottom: 1px solid #ddd;}
.contents-tab:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.contents-tab .tab-list {display: flex; float: left; width: 100%; margin-right: 10px; }
.tab-list li {}
.tab-list .tab {position: relative; height: auto; margin-left: 5px; padding: 5px 10px; border: 1px solid #ddd; border-bottom: 0; border-radius: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; background-color: transparent; line-height: normal; }
.tab-list li:first-child .tab {margin-left: 0; }
.tab-list .tab > p {display: inline-block; margin: 0; white-space: nowrap; color: #666; }
.tab-close {display: inline-block; min-width: auto; width: 22px; height: 22px; padding: 0; border: 0; background-color: transparent; background-image: url("../images/common/tab_close.svg"); background-repeat: no-repeat; background-position: right 5px center; background-size: 8px auto; vertical-align: middle; }
.tab-close:hover:after {content: none; }
.tab.active {margin-bottom: -1px; border-bottom: 1px solid #fff; background-color: #fff; z-index: 1; }
.tab.active > p {font-weight: 700; color: #002866; }


/* ===================================================
	Sticky
====================================================*/
.sticky-wrap {position: fixed; right: 5%; bottom: 5%; background-color: transparent; z-index: 5; }
.sticky-top {display: none; width: 50px; height: 50px; background-color: #fff; border-radius: 5px; border: 1px solid #eee; padding: 0; text-align: center; overflow: hidden; }
.sticky-top:hover {background-color: #e1f4fd; }
.sticky-top:hover:after {content: none; }
.sticky-top span {display: block; position: relative; padding-top: 10px; font-size: 12px; color: #666; overflow: hidden; }
.sticky-top span:after {content:""; display: block; position: absolute; top: 0; left: calc(50% - 2px); width: 2px; height: 8px; background-color: #ccc; border-radius: 999px; transform: translateX(-50%) rotate(45deg); }
.sticky-top span:before {content:""; display: block; position: absolute; top: 0; left: calc(50% + 2px); width: 2px; height: 8px; background-color: #ccc; border-radius: 999px; transform: translateX(-50%) rotate(-45deg); }
.sticky-top:hover span {color: #002866; }
.sticky-top:hover span:after,
.sticky-top:hover span:before {background-color: #002866; }


/* ===================================================
	Footer
====================================================*/
.footer {float: right; width: 100%; background-color: #34455c; }
.footer-inner {padding: 5px 10px; font-size: 11px; color: #ccc; text-align: center; }





/* ===================================================
*
*    Components
*
====================================================*/
.clear:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.left {float: left !important; }
.right {float: right !important; }

/* ===================================================
	width
====================================================*/
.wd10 {width: 10% !important; }
.wd20 {width: 20% !important; }
.wd30 {width: 30% !important; }
.wd40 {width: 40% !important; }
.wd50 {width: 50% !important; }
.wd60 {width: 60% !important; }
.wd70 {width: 70% !important; }
.wd80 {width: 80% !important; }
.wd90 {width: 90% !important; }
.wd100 {width: 100% !important; }

.wd28 {width: 28% !important; }

/* ===================================================
	height
====================================================*/
.ht10 {height: 10% !important; }
.ht20 {height: 20% !important; }
.ht30 {height: 30% !important; }
.ht40 {height: 40% !important; }
.ht50 {height: 50% !important; }
.ht60 {height: 60% !important; }
.ht70 {height: 70% !important; }
.ht80 {height: 80% !important; }
.ht90 {height: 90% !important; }
.ht100 {height: 100% !important; }


/* ===================================================
	Button
====================================================*/
.btn {display: inline-block; position: relative; min-width: 40px;  height: 40px; padding: 0 12px; border: 1px solid #ddd; box-sizing: border-box; border-radius: 3px; outline: none; background-color: transparent; font-size: 14px; font-weight: 400; color: #666; line-height: 38px; text-align: center; white-space: nowrap; vertical-align: middle; -webkit-appearance: none; }
.btn:focus {outline: none !important; }
.btn:active {box-shadow: none !important; }

.btn:hover:after {content:""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.04); mix-blend-mode: multiply; }


.btn.full {width: 100% !important; }
.btn.half {width: 50% !important; }

.btn.big {height: 50px; line-height: 48px; }
.btn.small {height: 30px; padding: 0 16px; line-height: 28px; font-size: 0.8em; }

.btn-group {width: 100%;display: flex;justify-content: flex-end;}
.btn-group:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.btn-group .btn {float: left; }
.btn-group .btn + .btn {margin-left: 5px; }

.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),
.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),
.btn-group>.btn:last-child:not(:first-child), .btn-group>.dropdown-toggle:not(:first-child) {border-radius: 3px; }

.btn-group.half .btn {width: 48%; }

.btn-group.full .btn {width: 100%; margin-left: 0; }
.btn-group.full .btn + .btn {margin-top: 5px; }

.btn-round {border-radius: 999px !important; overflow: hidden; }

.btn-icon {padding-left: 44px; background-repeat: no-repeat; background-size: 14px auto; background-position: left 24px center; }
.btn-icon.small {padding-left: 34px; background-size: 12px auto; background-position: left 16px center; }
.btn-icon.download {background-image:url("../images/common/download.png"); border-color: #2a968b !important; color: #2a968b !important; }
.btn-icon.ppt {background-image:url("../images/common/ppt.png"); border-color: #d35330 !important; color: #d35330 !important; }
.btn-icon.excel {background-image:url("../images/common/excel.png"); border-color: #2e7d32 !important; color: #2e7d32 !important; }
.btn-icon.word {background-image:url("../images/common/word.png"); border-color: #2a5696 !important; color: #2a5696 !important; }

.btn-icon.business {background-image:url("../images/common/business.png"); background-size: 18px auto; background-position: left 12px center; }
.btn-icon.manager {background-image:url("../images/common/manager.png"); background-size: 18px auto; background-position: left 12px center; }



/* ===================================================
	text
====================================================*/
.text-left {text-align: left !important; }
.text-center {text-align: center !important; }
.text-right {text-align: right !important; }



/* ===================================================
	color
====================================================*/
.color-main {color: #002866 !important; }
.color-red {color: #df0000 !important; }

.bg-main {background-color: #002866 !important; border-color: #002866 !important; color: #fff !important; }
.bg-red {background-color: #df0000 !important; border-color: #df0000 !important; color: #fff !important; }

.line-main {border-color: #002866; color: #002866; }
.line-red {border-color: #df0000; color: #df0000; }
.line-black {border-color: #333; color: #333; }



/* ===================================================
	title
====================================================*/
.title-wrap {margin: 10px 10px 25px 10px; }
.title-wrap:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.title {position: relative; font-size: 34px; color: #222; }
.title.medium {font-size: 28px; }
.title.small {font-size: 20px; }

.title-wrap .title {display: block; float: left; width: 100%; line-height: 30px; }

.page-header {position: relative; display: block; margin: 14px 0 24px; }
.page-header:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.page-header .title {float: left; }
.page-header .btn-group {float: right; }
.page-header .btn-group:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.page-header .btn {float: left; }
.page-header .select {float: right; line-height: 40px; }
.page-header .text {margin: 5px 0; font-size: 13px; color: #444; }



/* ===================================================
	form
====================================================*/

/* Text Field 입력필드
-----------------------------------------------------*/
.input-text {display: inline-block; height: 30px; padding: 0 12px; background-color: #fff; border: 1px solid #ccc; font-size: 14px; color: #444; }
.input-text:focus {border-color: #002866; background-color: #fff; outline: none; }



/* placeholder */
.input-text:-webkit-input-placeholder  {color: #aaa !important; font-weight: 400 !important; }
.input-text:-moz-placeholder  {color: #aaa !important; font-weight: 400 !important; }
.input-text:-ms-input-placeholder  {color: #aaa !important; font-weight: 400 !important; }
.input-text::-ms-input-placeholder  {color: #aaa !important; font-weight: 400 !important; }
.input-text::-moz-placeholder  {color: #aaa !important; font-weight: 400 !important; }
.input-text::placeholder  {color: #aaa !important; font-weight: 400 !important; }
.input-text:placeholder  {color: #aaa !important; font-weight: 400 !important; }


/* readonly */
.input-text:read-only {background-color: #eee; border-color: #ccc; color: #888; }
.input-text.readonly {background-color: #eee; border-color: #ccc; color: #888; }
.input-text:read-only:focus {background-color: #eee; border-color: #ccc; color: #888; }
.input-text.readonly:focus {background-color: #eee; border-color: #ccc; color: #888; }

/* disabled */
.input-text:disabled {background-color: #eee; color: #888; cursor: not-allowed; }
.input-text.disabled {background-color: #eee; color: #888; cursor: not-allowed; }
.input-text:disabled:focus {background-color: #eee; border-color: #ccc;  color: #888; cursor: not-allowed; }
.input-text.disabled:focus {background-color: #eee; border-color: #ccc; color: #888; cursor: not-allowed; }


.input-text.big {height: 50px; }
.input-text.small {height: 30px; font-size: 0.8em; }

.input-text.full {width: 100%; }
.input-text.half {width: 50%; }

.datepicker-wrap {display: block; width: 100%;min-width: 400px; }
.datepicker-wrap:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.input-datepicker {display: inline-block; height: 30px; padding: 0 12px; background-color: #fff; border: 1px solid #ccc; font-size: 14px; color: #444; padding-left: 37px; background-image: url("../images/common/icon_date.png"); background-repeat: no-repeat; background-position: left 10px center; background-size: auto 16px; }
.input-datepicker:focus {outline: none; }
.swing {display: inline-block; margin: 0 5px; }



/* Text Area 입력영역
-----------------------------------------------------*/
.textarea {display: block; width: 100%; height: 200px; padding: 12px 12px; background-color: #fff; border: 1px solid #ccc; font-size: 14px; font-weight: 400; color: #444; }
.textarea:focus {border-color: #002866; background-color: #fff; }



/* Select 콤보상자
-----------------------------------------------------*/
.select {display: inline-block; height: 30px; padding: 0 32px 0 12px; border: 1px solid #ccc; background-repeat: no-repeat;  background-position: right 12px center; font-size: 14px; color: #444;  }

.select:focus {border-color: #002866; background-color: #fff; }

.select.readonly {background-color: #eee; border-color: #ccc; color: #888; }

.select.big {height: 50px; }
.select.small {height: 30px; font-size: 0.8em; }

.select.full {width: 100%; }
.select.half {width: 50%; }

.input-title {display: block; margin: 0 10px 0 0; font-size: 13px; font-weight: 400; white-space: nowrap; }

.form-item {display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; }
.form-item + .form-item {margin-top: 5%; }

.form-wrap:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }




/* Checkbox , radio
-----------------------------------------------------*/
.input-check {width: 16px; min-width: 16px; height: 16px; margin: 0; vertical-align: middle; cursor: pointer; accent-color: #002866; }

.input-check + label {margin: 5px 0 0 5px; line-height: 16px; font-size: 14px; vertical-align: middle; cursor: pointer; }

.input-radio {width: 16px; min-width: 16px; height: 16px; cursor: pointer; accent-color: #002866; }


.check-group {display: -webkit-box; display: -ms-flexbox; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -ms-flex-direction: row; flex-direction: row; -webkit-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.checkbox {display: -webkit-box; display: -ms-flexbox; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.check-group .checkbox input[type="checkbox"] + label {margin-left: 5px; }
.checkbox + .checkbox {margin-left: 4%; }

.check-group.column {-webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; }
.check-group.column .checkbox + .checkbox {margin-left: 0; margin-top: 5px; }

.radio-group {display: -webkit-box; display: -ms-flexbox; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -ms-flex-direction: row; flex-direction: row; -webkit-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.radiobox {display: -webkit-box; display: -ms-flexbox; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.radiobox label {margin-left: 5px; }
.radiobox + .radiobox {margin-left: 4%; }

.radio-group.column {-webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column;}
.radio-group.column .radiobox + .radiobox {margin-left: 0; margin-top: 5px; }



/* ===================================================
	Popup
====================================================*/
.popup-wrap {display: none; position: absolute; top: 0; right: 0; width: calc(100% - 230px); height: 100%; background-color: rgba(0, 0, 0, 0.1); z-index: 5; }
.nav-wrap.close + .container .popup-wrap {width: 100%; }

.popup {position: absolute; top: 50%; left: 50%; width: 90%; max-width: 500px; border-radius: 5px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2); background-color: #fff; transform: translate(-50%, -50%); }
.popup-header {position: relative; padding: 10px 10px 10px 20px; border-bottom: 1px solid #eee; box-sizing: border-box; }
.popup-header:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.popup-header h3 {float: left; font-size: 18px; font-weight: 700; line-height: 30px; }
.popup-close {position: relative; float: right; width: 30px; min-width: auto; height: 30px; border: 0; padding: 0;  }
.popup-close:after {content:""; position: absolute; top: 50%; left: 50%; width: 2px; height: 12px; background-color: #ccc; transform: translate(-50%, -50%) rotate(45deg); }
.popup-close:hover:after {content:""; position: absolute; top: 50%; left: 50%; width: 2px; height: 12px; background-color: #aaa; transform: translate(-50%, -50%) rotate(45deg); mix-blend-mode: unset; }
.popup-close:before {content:""; position: absolute; top: 50%; left: 50%; width: 2px; height: 12px; background-color: #ccc; transform: translate(-50%, -50%) rotate(-45deg); }
.popup-close:hover:before {content:""; position: absolute; top: 50%; left: 50%; width: 2px; height: 12px; background-color: #aaa; transform: translate(-50%, -50%) rotate(-45deg); }

.popup-body {width: 100%; max-height: 200px; padding: 20px 20px; box-sizing: border-box; overflow: hidden; overflow-y: auto; font-size: 14px; color: #444; }
.popup-bottom {display: -webkit-box; display: -ms-flexbox; display: flex; padding: 15px 20px; box-sizing: border-box; }
.popup-bottom .btn {flex: 1; border-radius: 999px; overflow: hidden; }
.popup-bottom .btn + .btn {margin-left: 20px; }

.popup.big {width: 90%; max-width: 600px; }
.popup.big .popup-body {min-height: 300px; max-height: 400px; }



.header-user-wrap {position: relative; }
.user-popup {display: none; position: absolute; top: 45px; right: 0; width: 145px; padding: 10px 15px; box-sizing: border-box; border-radius: 5px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2); background-color: #fff; z-index: 5; }

.user-popup .user {padding: 5px 0 10px; border-bottom: 1px solid #eee; }
.user-popup .user span {display: block; font-size: 12px; color: #888; }
.user-popup .user p {font-size: 14px; font-weight: 500; color: #444; }

.user-popup li {width: 100%; }
.user-popup li button {width: 100%; height: auto; padding: 8px 0; background-repeat: no-repeat; background-position: left 10px center; background-size: auto 16px; box-sizing: border-box; line-height: normal; font-size: 13px; color: #666; text-align: left; }
.user-popup li button:hover {color: #002866; }
.user-popup li .fa:before {margin-right: 5px; font-size: 15px; vertical-align: text-bottom; }


/* popup-search */
.search-common {position: relative; float: left; margin: 4px 15px 0 0; }
.search-common:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.search-common select {float: left; }
.search-common select + .search-input-group {float: left; margin-left: 5px; }
.search-input-group {position: relative; }
.search-input-group input {width: 100%; padding: 0 30px 0 12px; box-sizing: border-box; }
.search-input-group button {position: absolute; top: 0; right: 0px; width: 30px; min-width: auto; height: 30px; padding: 0; border: 0; border-radius: 0; background-image: url("../images/common/header_search.png"); background-repeat: no-repeat; background-position: center center; background-size: 12px auto; }



/* ===================================================
	Search
====================================================*/

/* search */
.search-wrap {position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; width: 100%; margin-bottom: 15px; padding: 25px 35px 35px; border-bottom: 1px solid #ddd; background-color: #fff; z-index: 1; }
.search-wrap .form-wrap {width: 100%; }
.search-wrap .btn-group {display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; width: 20%; max-width: 200px; margin-left: 20px; }
.search-wrap .btn-group .btn {float: left; width: auto; /* height: 30px; */ font-size: 13px; line-height: 30px; }
.search-wrap .btn-group .btn + .btn {margin: 0 0 0 5px; }

.search-wrap .form-item {float: left; margin: 0 1% 1% 0; }
.search-wrap .form-item.full {width: 100%; }

.search-wrap input,
.search-wrap .input-text,
.search-wrap select,
.search-wrap .select {height: 30px; line-height: normal; font-size: 13px; width: 150px; }

.input-search {display: inline-block; width: 100%; max-width: 500px; height: 30px; padding: 0 12px; background-color: #fff; border: 1px solid #ccc; font-size: 14px; color: #444; }
.input-search:focus {outline: none; }

.btn-search-close {position: absolute; left: 50%; top: 100%; width: 100px; height: 20px; border: 1px solid #ddd; border-top: 1px solid #fff; border-radius: 0; border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; background-color: #fff; background-image: url("../images/common/search_close.svg"); background-repeat: no-repeat; background-position: top 3px center; background-size: auto 5px; transform: translateX(-50%); }
.btn-search-close:hover:after {content: none; }

.search-wrap.search-close {padding: 0; border: 0; }
.search-wrap.search-close * {display: none; }
.search-wrap.search-close .btn-search-close {display: block; top: 100%; background-image: url("../images/common/search_open.svg"); }


/* ===================================================
	list-type
====================================================*/
.list-type01 {}
.list-type01 li:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.list-type01 li {padding: 10px 10px; box-sizing: border-box; background-color: #f3f6fb; }
.list-type01 li + li {margin-top: 10px; }
.list-type01 p {float: left; font-weight: 400; color: #444; }
.list-type01 span {float: right; font-weight: 500; color: #002866; }






/* ===================================================
	login
====================================================*/
.container.login {height: 100vh; background-color: #fff; }
.container.login:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }

.login-bg {float: left; position: relative; width: 45%; height: 100%; max-width: 1000px; overflow: hidden; } 
.login-bg > img {position: absolute; top: 50%; left: 50%; width: auto; min-width: 100%; height: 100%; transform: translate(-50%, -50%); }
.logo-bg {position: absolute; left: 20px; bottom: 20px; }
.logo-bg img {width: 160px; }
.logo-bg p {margin-top: 10px; font-size: 12px; color: #fff; line-height: 20px; }

.login-wrap {float: left; position: relative; width: 55%; height: 100%; background-color: #fff; }
.login-form {position: absolute; top: 50%; left: 50%; width: 440px; transform: translate(-50%, -50%); }
.login-form img {width: 160px; }
.login-form strong {display: block; margin: 10px 0 30px; font-size: 28px; color: #333; }

.login-form-area {}
.login-form-area + .login-form-area {margin-top: 20px; }
.login-form-area label {display: block; margin-bottom: 8px; font-size: 15px; color: #333; }
.login-form-area input {display: block; width: 100%; height: 50px; }

.btn-login {display: block; margin-top: 30px; width: 100%; height: 54px; border: 0; outline: none; background-color: #002866; color: #fff; }

.login-savelang-group {display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 20px; }
.login-savelang-group .select {width: 100px; padding: 0 20px 0 10px; }
.save-area:after {content: ""; clear: both; display: block; height: 0; visibility: hidden; }
.save-area input {float: left; margin-top: 0; }
.save-area label {float: left; margin-top: 0; font-size: 14px; color: #333; }

.login-send {display: block; width: 360px; margin: 30px auto 0; padding: 10px 10px; box-sizing: border-box; background-color: #f0f5fc; text-align: center; }
.login-send span {padding-left: 28px; background-image: url("../images/common/login_send.png"); background-repeat: no-repeat; background-position: left center; background-size: 20px auto; font-size: 16px; color: #002866; }





/* ===================================================
	table
====================================================*/
.table-style01 table {width: 100%; border: 1px solid #ddd; }
.table-style01 th,
.table-style01 td {padding: 5px 5px; border: 1px solid #ddd; border-width: 0 1px 1px 0; box-sizing: border-box; font-size: 14px; font-weight: 400; color: #444; text-align: center; }
.table-style01 th:last-child,
.table-style01 td:last-child {border-right: 0; }
.table-style01 th {background-color: #7fa9cd; color: #fff; }
.table-style01 td {}

.table-style01 .finish span {padding-right: 21px; background-image: url("../images/common/icon_finish.png"); background-repeat: no-repeat; background-position: right center; background-size: 15px auto; }
.table-style01 .sub-th {background-color: #edf1f9; color: #444; }


::-webkit-scrollbar {
  width : 8px;
  height : 10px;
}
 
::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 20px;
}

::-webkit-scrollbar-track {
  background: #ddd;
  border-radius: 20px;
}

/*===============추가한 css==================*/
.pubTab-wrapper .pubTab-item .pubTab-item-title{
	padding: 5px 0 4px 0;
}

.pubTab-wrapper .pubTab-item .pubTab-item-title:last-of-type {
	padding-right: 10px;
}

.pubTab-wrapper .pubTab-item-cont-wrapper {
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
}

.nav.menu{
	overflow: auto;
}

.nav.search{
	overflow: auto;
}

.nav.bookmark {
	overflow: auto;
}

.nav.favorite{
	overflow: auto;
}

.show-layer{
	display: block;
}

.show-layer{
	display:block;
}

.main-content-item{
	width:100%;
	height:100%;
	display:none;
}

.main-content-item.active{
	display: block;
}
.main-content-item.frame{
	font-size: 0pt;
}

.main-content-wrapper{
	position: relative;
	width: 100%;
  	height: 100%;
  	height: calc(100% - 41px);
  	overflow: hidden;
  	background: #fff;
}
.wrap-back{
	position: absolute;
	width:100%;
	height:100%;
	display:none;
}

.wrap-back.open {
	display:block;
}
.wrap-back .wrap-back-in {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.wrap-back iframe {
  width: 100%;
  height: 100%;
  z-index: 2;
}

.main-content-area{
	width:100%;
	height:100%;
}
.vakata-context, .vakata-context ul{
	z-index: 50;
}


/* 22-04-27 추가 수정 */
.pubTab-wrapper {height: auto; margin-bottom: -2px; }
.pubTab-wrapper .pubTab {margin: 10px 0 0; }

.pubTab-wrapper .pubTab-item .pubTab-item-cont {padding-left: 10px; border-color: #ddd; line-height: 20px; }
.pubTab-wrapper .pubTab-item.active .pubTab-item-cont {opacity: 1; }
.pubTab-wrapper .pubTab-move-area {	bottom:2px;}

/* 22-05-16 */
.pubTab-wrapper .pubTab-item .pubTab-item-cont-wrapper {background-color: #fff; }
.pubTab-wrapper .pubTab-item:not(.active) .pubTab-item-cont:hover, .pubTab-wrapper .pubTab-item:not(.active) .pubTab-item-cont:focus {background-color: #f3f3f3; }

.pubTab-icon .fa-refresh {height: 22px; line-height: 22px; }

.nav-category li > .nav-category {padding-right: 0; }
.nav-category .nav-title {height: 35px; padding: 0 0 0 8px; line-height: normal; }
.nav-title + .nav-category li > .nav-title:hover {background-color: transparent; }

.search-input-group a {display: inline-block; padding: 3px 6px; box-sizing: border-box; border-radius: 3px; background-color: #444; color: #fff; font-size: 13px; font-weight: 300; overflow: hidden; cursor: pointer; }
.search-input-group a:hover {background-color: #222; text-decoration: none; }
.search-input-group .fa {margin-right: 4px; font-size: 11px; }

.search-input-group .btn-open {background-color: #1f7cb5; }
.search-input-group .btn-close {background-color: #dca32d; }
.search-input-group .btn-add {background-color: #5cb85c; }
.search-input-group .btn-save {background-color: #415cbb; }

.search-input-group .btn-open:hover {background-color: #176493; }
.search-input-group .btn-close:hover {background-color: #c39027; }
.search-input-group .btn-add:hover {background-color: #489148; }
.search-input-group .btn-save:hover {background-color: #324895; }