/* container */
html, body {min-width:320px; max-width:3840px; margin:0 auto; background:#f3f3f9;}
.container {width:100%; padding:0 30px; margin:0 auto;}
.container .container-inner {max-width:1300px; margin:0 auto;}
*::-webkit-scrollbar {width:8px; height:8px; background:#efefef;}
*::-webkit-scrollbar-thumb {width:8px; background:#999; border-radius:5px;}

/* header */
header .header-top {background:#fff; border-bottom:1px solid #ddd; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; position:fixed; left:0; width:100%; min-width:320px; max-width:3840px; z-index:1000;}
header .header-top .header-top-logo {position:relative; display: flex; align-items: center; padding: 0 20px;}
/* header .header-top .header-top-logo:after {position:absolute; left:0; top:60px; width:100%; height:1px; content:""; background:var(--color-active);} */
header .header-top .header-top-logo:after {position:absolute; left:0; top:60px; width:100%; height:1px; content:"";}
header .header-top .header-top-logo h1 a {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; max-width:250px; height:60px; margin-left: 20px;}
/* header .header-top .header-top-logo h1 a {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; width:250px; height:60px; background:var(--color-active);} */
header .header-top .header-top-logo h1 a img {width:120px;}
header .header-top .header-top-member {position:relative; z-index:100;}
header .header-top .header-top-member > p {display:flex; flex-wrap:wrap; align-items:center; height:60px; font-size:16px; font-weight:400; padding-right:20px;}
header .header-top .header-top-member > dl {pointer-events:none; opacity:0; position:absolute; right:17px; top:40px; transition:all ease 0.5s; background:var(--color-active); width:140px; border-radius:5px; padding:10px 0; box-shadow:0 0 10px rgba(0,0,0,0.3);}
header .header-top .header-top-member > dl dd a {display:flex; flex-wrap:wrap; align-items:center; padding:0 15px; height:25px; font-size:14px; color:#fff;}
header .header-top .header-top-member > dl dd a:hover {text-decoration:underline;}
header .header-top .header-top-member > dl dd a i {margin-right:5px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; text-align:center; width:14px; height:14px;}
header .header-top .header-top-member:hover dl {pointer-events:inherit; opacity:1; top:50px;}
/* header .header-left {background:var(--color-active); position:fixed; left:0; top:0; width:250px; height:100%; overflow-y:auto; padding-top:70px; z-index:999;} */
header .header-left {background:var(--color-active); position:fixed; left:0; top:0; width:250px; height:100%; overflow-y:auto; padding-top:70px; z-index:10; transform: translateX(-100%); transition: all 0.3s ease;}
header .header-left .header-left-cate ul li > a {display:flex; flex-wrap:wrap; align-items:center; height:50px; padding:0 25px; color:#ccc; font-size:16px;}
header .header-left .header-left-cate ul li > a:hover {color:#fff;}
header .header-left .header-left-cate ul li > a.active {color:#fff;}
header .header-left .header-left-cate ul li > a i {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; width:15px; height:20px; margin-right:10px;}
header .header-left .header-left-cate ul li > dl dd a {display:flex; flex-wrap:wrap; align-items:center; padding:0 25px; font-size:14px; color:#ccc; height:30px;}
header .header-left .header-left-cate ul li > dl dd a:before {display:inline-block; content:""; width:5px; height:1px; background:#ddd; margin:0 10px 0 20px;}
header .header-left .header-left-cate ul li > dl dd a:hover {color:#fff;}
header .header-left .header-left-cate ul li > dl dd a:hover:before {background:#fff;}
header .header-left .header-left-cate ul li.active > a {color:#fff;}
header .header-left .header-left-cate ul li > dl dd.active a {color:#fff;}
header .header-left .header-left-cate ul li > dl dd.active a:before {color:#fff;}

/* section */
section {width:calc(100% - 250px); margin-left:250px; padding:90px 0 60px;}
@media screen and (min-width: 760px) {
    section.spread {width:100%; margin-left:0;}
}

/* center-box */
.center-box {min-height:100vh; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; align-content:center;}
.center-box.top {align-items:flex-start; align-content:flex-start; padding:110px 0 60px;}

@media screen and (min-width: 760px) {
    header .header-left.active {transform: translateX(0);}
}

@media screen and (max-width: 760px) {
    header .header-left {transform: translateX(-100%);}
    header .header-left.mobile-active {transform: translateX(0);}
    section {width:100%; margin-left:0; padding:90px 0 60px;}
}

/* white-box */
.white-box {background:#fff; box-shadow:0 0 10px rgba(0,0,0,0.1); border-radius:5px; padding:30px;}

/* inner-box */
.inner-box {width:100%; margin:0 auto;}
.inner-box.sm {max-width:350px;}
/* .inner-box.md {max-width:450px;} */
.inner-box.md {max-width:450px; padding: 0 10px;}
.inner-box.lg {max-width:600px;}

/* title-box */
.title-box {margin:0 0 12px;}
.title-box h2 {text-align:center; font-size:24px; font-weight:500;}
.title-box h3 {font-size:20px; font-weight:500;}
.title-box.border {border-bottom:1px solid #ddd; padding:0 0 24px;}

/* time-box */
.time-box {margin:0 0 12px;}
.time-box.border {border-bottom:1px solid #ddd; padding:0 0 12px;}

/* text-box */
.text-box p {font-size:16px; line-height:1.5;}

/* file-box */
/* .file-box {border:1px solid #ddd; background:#fff; border-radius:5px; display:flex; flex-wrap:wrap; align-items:center;} */
.file-box {border:1px solid #ddd; background:#fff; border-radius:5px; display:flex; flex-wrap:wrap; align-items:center; width: 100%;}
.file-box p {flex:1; min-width:0; padding:0 15px; font-size:15px; height:45px; line-height:45px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.file-box label {height:35px; padding:0 15px; background:var(--color-active); color:#fff; border-radius:5px; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin-right:5px;}
.file-box label:hover {filter: brightness(90%); cursor: pointer;}
.file-box label input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.file-box.sm p {height:35px; line-height:35px; font-size:14px;}
.file-box.sm label {height:25px; padding:0 10px; font-size:13px;}

.image-label {height:35px; padding:0 15px; background:var(--color-active); color:#fff; border-radius:5px; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin-right:5px; cursor: pointer;}
.image-label:hover { filter: brightness(90%); }
.image-label input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer; display: none;}

/* input-box */
.input-box {border:1px solid #ddd; background:#fff; display:flex; flex-wrap:wrap; align-items:center; transition:all ease 0.5s; border-radius:5px;}
.input-box input {flex:1; min-width:0; background:none; padding:0 15px; font-size:15px; height:45px;}
.input-box textarea {flex:1; min-width:0; background:none; padding:10px 15px; font-size:15px;}
.input-box:has(input[readonly]) {background:#f1f1f1;}
.input-box:has(input[disabled]) {background:#e3e3e3;}
.input-box a.search {display:block; margin-right:10px; font-size:0; width:20px; height:20px; background:url('../images/icon_search.svg') no-repeat center / cover;}
.input-box button.search {display:block; margin-right:10px; font-size:0; width:20px; height:20px; background:url('../images/icon_search.svg') no-repeat center / cover;}
.input-box.active {border-color:var(--color-active);}
.input-box.active input {color:var(--color-active);}
.input-box.date {position:relative;}
.input-box.date:after {display:inline-block; content:""; width:24px; height:24px; background:url('../images/icon_date.png') no-repeat center / cover; margin:0 5px 0 10px;}	  
.input-box.date input[type=date]::-webkit-calendar-picker-indicator {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.input-box.sm input {height:35px; font-size:14px;}
.input-box .button-box {margin-right:5px;}

/* input-unit-box */
.input-unit-box {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin:0 10px;}
.input-unit-box em {color:#333; font-size:15px;}

/* textarea-box */
.textarea-box textarea {width:100%; height:400px; display:block; border:1px solid #ddd; background:#fff; border-radius:5px; padding:15px; font-size:15px; line-height:1.4;}
.textarea-box.sm textarea {height:80px; font-size:14px;}

.select {background:url('../images/icon_select.svg') no-repeat calc(100% - 15px) center / 20px;}

/* select-box */
.select-box {border:1px solid #ddd; background:#fff; display:flex; flex-wrap:wrap; align-items:center; transition:all ease 0.5s; border-radius:5px;}
.select-box select {flex:1; min-width:0; padding:0 40px 0 15px; font-size:15px; height:45px; background:url('../images/icon_select.svg') no-repeat calc(100% - 15px) center / 20px;}
.select-box select option {color:#333;}
.select-box.active {border-color:var(--color-active);}
.select-box.active select {color:var(--color-active);}
.select-box.sm select {height:35px; font-size:14px;}

/* check-box */
.check-box {position:relative; overflow:hidden;}
.check-box input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.check-box label {display:flex; flex-wrap:wrap;}
.check-box label:before {display:inline-block; content:""; width:17px; height:17px; position:relative; top:0px; background:url('../images/icon_checkbox_off.svg') no-repeat center / cover; margin-right:10px; cursor: pointer;}
.check-box label:hover:before {background-image:url('../images/icon_checkbox_on.svg');}
.check-box label p {flex:1; min-width:0; font-size:15px; line-height:1.3;}
.check-box input:checked ~ label:before {background-image:url('../images/icon_checkbox_on.svg');}

/* radio-box */
.radio-box {position:relative; overflow:hidden;}
.radio-box input {position:absolute; left:0; top:0; width:100%; height:100%; opacity:0; cursor:pointer;}
.radio-box label {display:flex; flex-wrap:wrap;}
.radio-box label:before {display:inline-block; content:""; width:17px; height:17px; position:relative; top:2px; background:url('../images/icon_radio_off.svg') no-repeat center / cover; margin-right:10px;}
.radio-box label p {flex:1; min-width:0; font-size:15px; line-height:1.3;}
.radio-box input:checked ~ label:before {background-image:url('../images/icon_radio_on.svg');}

/* tab-box */
.tab-box ul {display:flex; flex-wrap:wrap; border-bottom:1px solid #ddd;}
.tab-box ul li {width:150px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; border:1px solid #ddd; border-right:0; border-bottom-color:#fff; height:45px; font-size:16px; cursor: pointer; }
.tab-box ul li:hover {background:var(--color-gray-200);}
.tab-box ul li a {width:150px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; border:1px solid #ddd; border-right:0; border-bottom-color:#fff; height:45px; font-size:16px;}
.tab-box ul li:last-of-type {border-right:1px solid #ddd;}
.tab-box ul li:last-of-type a {border-right:1px solid #ddd;}
.tab-box ul li.active {background:var(--color-active3); color:#fff; position:relative;}
.tab-box ul li.active a {background:var(--color-active3); color:#fff; position:relative;}
.tab-box ul li.active:after {position:absolute; left:0; bottom:-1px; width:100%; height:1px; content:""; background:var(--color-active3);}
.tab-box ul li.active a:after {position:absolute; left:0; bottom:-1px; width:100%; height:1px; content:""; background:var(--color-active3);}

/* button-box */
.button-box {display:flex; flex-wrap:wrap; align-items:center; justify-content:center;}
.button-box .btn {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; flex:1; min-width:0; height:45px; font-size:16px; font-weight:500; border-radius:5px;}
.button-box .btn.sm {height:35px; font-size:14px;}
.button-box .btn.xs {height:30px; font-size:13px;}
.button-box .btn-active {color:#fff; background:var(--color-active);}
.button-box .btn-active2 {color:#fff; background:var(--color-active2);}
.button-box .btn-gray-100 {background:var(--color-gray-100);}		  
.button-box .btn-gray-200 {background:var(--color-gray-200);}
.button-box .btn-gray-300 {background:var(--color-gray-300);}
.button-box .btn-gray-400 {background:var(--color-gray-400);}
.button-box .btn-gray-500 {background:var(--color-gray-500);}
.button-box .btn-gray-600 {background:var(--color-gray-600);}
.button-box .btn-gray-700 {background:var(--color-gray-700);}
.button-box .btn-gray-800 {background:var(--color-gray-800);}
.button-box .btn-gray-900 {background:var(--color-gray-900);}
.button-box .btn-red {background:var(--color-red); color:#fff;}
.button-box .btn:hover { filter: brightness(90%); }

/* link-box */
.link-box ul {display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end;}
.link-box ul li {display:flex; flex-wrap:wrap; align-items:center;}
.link-box ul li:after {display:inline-block; content:""; width:1px; height:10px; margin:0 10px; background:#ddd;}
.link-box ul li:last-of-type:after {display:none;}
.link-box ul li a {font-size:13px;}
.link-box ul li a:hover {text-decoration:underline;}

/* write-box */
.write-box > ul > li {margin:0 0 24px;}
.write-box > ul > li:last-of-type {margin:0;}
/* .write-box > ul > li strong {font-size:16px; color:#333; display:block; margin:0 0 8px; font-weight:500;} */
.write-box > ul > li strong {font-size:16px; display:block; margin:0 0 8px; font-weight:500;}
.write-box > ul > li strong.req::before {display:inline-block; content:"*"; color:#ff0000; font-size:16px; font-weight:500; margin-right:5px;}
.write-box > ul > li > div > p {display:flex; flex-wrap:wrap; align-items:center; height:45px; font-size:15px;}
.write-box > ul > li.flex {display:flex; flex-wrap:wrap; align-items:center; margin:0 0 10px;}
.write-box > ul > li.flex:last-of-type {margin:0;}
.write-box > ul > li.flex > strong {width:150px; margin:0;}
.write-box > ul > li.flex > strong.required::after {content: '*';font-size: 16px;font-weight: 500;color: #ff6262;margin-left:3px;}
.write-box > ul > li.flex > div {flex:1; min-width:0;}
.write-box.sm > ul > li strong {font-size:14px;}			  
.write-box.sm > ul > li > div > p {height:35px; font-size:14px;}
.write-box.sm > ul > li.flex > strong {width:120px;}

/* popup-box */
/* .popup-box {pointer-events:none; opacity:0; transition:all ease 0.5s; background:rgba(0,0,0,0.7); position:fixed; left:0; top:0; width:100%; height:100%; min-width:1400px; max-width:3840px; z-index:9999;} */
.popup-box {pointer-events:none; opacity:0; transition:all ease 0.5s; background:rgba(0,0,0,0.7); position:fixed; left:0; top:0; width:100%; height:100%; min-width:320px; max-width:3840px; z-index:100;}
.popup-box .box {pointer-events:none; opacity:0; transition:all ease 0.5s; position:absolute; left:50%; top:45%; transform:translate(-50%,-50%); background:#fff; border-radius:10px; width:100%; max-height:85%; overflow-y:auto;}
.popup-box .box.sm {max-width:400px;}
.popup-box .box.md {max-width:800px;}
.popup-box .popup-head {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:20px 15px; border-bottom:1px solid #ddd;}
.popup-box .popup-head h2 {font-size:24px; font-weight:500; color:#111;}
.popup-box .popup-head a.close {display:block; font-size:0; width:28px; height:28px; background:url('../images/icon_close.svg') no-repeat center / cover;}
.popup-box .popup-head button.close {display:block; font-size:0; width:28px; height:28px; background:url('../images/icon_close.svg') no-repeat center / cover;}
.popup-box .popup-body {padding:20px 15px;}
.popup-box .popup-foot {padding:20px 15px; border-top:1px solid #ddd;}
.popup-box .box.md .popup-body {padding:40px 20px;}
.popup-box.fixed {pointer-events:inherit; opacity:1;}
.popup-box.fixed .box {pointer-events:inherit; opacity:1; top:50%;}

.image-wrap {position: relative; display: inline-block;}
.image-wrap button.close {display:block; font-size:0; width:20px; height:20px; background:url('../images/icon_close.svg') no-repeat center / cover; position: absolute; right: 0; top: 0;}
.image-wrap button.close:hover {background-color: rgba(255, 255, 255, 0.5); cursor: pointer;}

/* main-list-box */
.main-list-box ul li {border-bottom:1px solid #ddd;}
.main-list-box ul li:last-of-type {border:0;}
.main-list-box ul li a {display:flex; flex-wrap:wrap; align-items:center; padding:20px 15px; height:80px;}
.main-list-box ul li a > div {flex:1; min-width:0;}
.main-list-box ul li a > div time {display:block; width:100%; margin:0 0 10px; font-size:14px; color:#666;}
.main-list-box ul li a > div b {display:block; width:100%; margin:0 0 10px; font-size:17px; font-weight:500; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.main-list-box ul li a > div p {overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:17px; font-weight:500;}
.main-list-box ul li a:after {display:inline-block; content:""; width:25px; height:25px; background:url('../images/icon_select.svg') no-repeat center / cover; transform:rotate(-90deg);}
.main-list-box ul li a:hover {background:var(--color-gray-200);}

/* notice-view-box */
.notice-view-box h3 {font-size:18px; font-weight:500; line-height:1.3;}
.notice-view-box time {display:block; margin:10px 0 0; font-size:15px; color:#666;}
.notice-view-box p {margin:15px 0 0; padding:15px; font-size:16px; line-height:1.5; color:#333;}

/* faq-view-box */
.faq-view-box h3 {display:flex; flex-wrap:wrap; margin:0 0 15px;}
.faq-view-box h3 b {font-size:18px; font-weight:500; line-height:1.4;}
.faq-view-box h3 p {flex:1; min-width:0; margin-left:5px; font-size:18px; font-weight:500; line-height:1.4;}
.faq-view-box div {display:flex; flex-wrap:wrap;}
.faq-view-box div b {font-size:18px; line-height:1.4;}
.faq-view-box div p {flex:1; min-width:0; margin-left:5px; font-size:18px; line-height:1.4;}
				
/* toggle-box */
.toggle-box {position:relative; z-index:10;}
.toggle-box button {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; width:24px; height:24px; background:url('../images/icon_more_hori.svg') no-repeat center / cover; margin:0 auto; font-size:0;}
.toggle-box dl {pointer-events:none; opacity:0; position:absolute; border-radius:5px; background:#fff; right:-10px; bottom:0; width:80px; box-shadow:0 0 10px rgba(0,0,0,0.1); padding:10px 0; transition:all ease 0.5s;}
.toggle-box dl dd a {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; font-size:14px; height:25px;}
.toggle-box dl dd a:hover {font-weight:500;}
.toggle-box.active {z-index:20;}
.toggle-box.active dl {pointer-events:inherit; opacity:1; right:0;}

/* table-box */
.table-box {overflow-x:auto; overflow-y:visible; white-space:nowrap;}
.table-box table {width:100%;}
.table-box table.auto {table-layout:auto;}
.table-box table.fixed {table-layout:fixed;}
.table-box table thead tr th {background:var(--color-active4); color:#111; height:45px; font-size:15px; line-height:1.3; font-weight:500; position:relative; padding:0 15px;}
.table-box table thead tr th:after {position:absolute; right:0; top:50%; transform:translateY(-50%); width:1px; height:14px; background:rgba(0,0,0,0.2); content:"";}
.table-box table thead tr th:last-of-type:after {display:none;}	  
.table-box table tbody tr th {background:#f1f1f1; padding:15px; font-size:15px; border-bottom:1px solid #ddd; border-right:1px solid #ddd;}
.table-box table tbody tr th:last-of-type {border-right:0;}
.table-box table tbody tr td {border-bottom:1px solid #ddd; border-right:1px solid #ddd; padding:15px; font-size:15px;}
.table-box table tbody tr td a.link {text-decoration: underline; color: var(--color-active);}
.table-box table tbody tr td a.link:visited {color: var(--color-gray);}
.table-box table tfoot tr td {border-bottom:1px solid #ddd; border-right:1px solid #ddd; padding:15px; font-size:15px;}
.table-box table tbody tr td:last-of-type {border-right:0;}
.table-box table tbody tr td.subject {max-width:800px;}
.table-box table tbody tr td a.subject {display:block; text-align:left; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:15px;}
.table-box table tbody tr td a.subject:hover {text-decoration:underline;}
.table-box table tbody tr td img {width:50px; height:50px; object-fit:cover;}
.table-box table tbody tr:hover td {background:#f6f6f6;}
.table-box.sm table thead tr th {height:40px; font-size:14px;}
.table-box.sm table tbody tr td {padding:10px 15px; font-size:14px;}
.table-box.sm table tbody tr td a.subject {font-size:14px;}
.table-box.sm table tbody tr td.subject {max-width:400px;}
.table-box table tbody tr:first-of-type td .toggle-box dl {bottom:auto; top:0;}
.table-box table tbody tr:first-of-type td .toggle-box.active dl {bottom:auto; top:0;}

/* paging-box */
.paging-box {margin:30px 0 20px;}
.paging-box ul {display:flex; flex-wrap:wrap; align-items:center; justify-content:center;}
.paging-box ul li {margin:0 2px;}
/* .paging-box ul li a {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; min-width:25px; max-width: 50px; height:25px; font-size:15px; color:#333;}
.paging-box ul li.active a {background:var(--color-active); border-radius:4px; font-weight:bold; color:#fff;}
.paging-box ul li.pg a {font-size:0;}
.paging-box ul li.pg.first a {background:url('../images/icon_page_first.svg') no-repeat center / 20px auto;}
.paging-box ul li.pg.prev a {background:url('../images/icon_arrow_left.svg') no-repeat center / 20px auto;}
.paging-box ul li.pg.next a {background:url('../images/icon_arrow_right.svg') no-repeat center / 20px auto;}
.paging-box ul li.pg.last a {background:url('../images/icon_page_last.svg') no-repeat center / 20px auto;} */
.paging-box ul li span {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; min-width:25px; max-width: 50px; height:25px; font-size:15px; color:#333; cursor: pointer;}
.paging-box ul li span:hover {background:var(--color-active); border-radius:4px; font-weight:bold; color:#fff;}
.paging-box ul li.active span {background:var(--color-active); border-radius:4px; font-weight:bold; color:#fff;}
.paging-box ul li.pg span {font-size:0;}
.paging-box ul li.pg.first span {background:url('../images/icon_page_first.svg') no-repeat center / 20px auto;}
.paging-box ul li.pg.prev span {background:url('../images/icon_arrow_left.svg') no-repeat center / 20px auto;}
.paging-box ul li.pg.next span {background:url('../images/icon_arrow_right.svg') no-repeat center / 20px auto;}
.paging-box ul li.pg.last span {background:url('../images/icon_page_last.svg') no-repeat center / 20px auto;}

/* info-list-box */
.info-list-box ul li {margin:0 0 10px; padding:0 0 10px; display:flex; flex-wrap:wrap; align-items:center;}
.info-list-box ul li:last-of-type {margin:0; padding:0; border:0;}
.info-list-box ul li b {font-size:18px; line-height:1.3; margin-right:5px;}
.info-list-box ul li p {font-size:18px; line-height:1.3;}
.info-list-box ul li > div {flex:1; min-width:0; display:flex; flex-wrap:wrap; align-items:center;}

/* 주소 관련 */
.address-input { cursor: pointer; }

/* 로딩 UI */
/* 로딩 스피너 스타일 */
#loading-spinner { position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.8); /* 반투명 배경 */ z-index: 9999; display: none; /* 기본적으로 숨김 */ }
.spinner { border: 8px solid #f3f3f3; border-radius: 50%; border-top: 8px solid var(--color-active); width: 60px; height: 60px; animation: spin 2s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

.cursor-move { cursor: move; }
.sortable-placeholder {
    border: 1px dashed #ccc;
    background-color: #f9f9f9;
    height: 2.5em;
    margin: 5px 0;
}

.cyrus-selected-items,
.gift-selected-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 10px;
}

.item-card {
    width: calc(20% - 8px);
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
}

.item-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.item-title {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* [419521] 유지보수: 최고 등급 관리자 외에는 사이드 메뉴를 숨기기 */
header .header-top.hide-header-left .header-top-logo h1 a {margin-left: 0px;}
section.hide-header-left {width: 100%; max-width: 1024px; margin-left: auto; margin-right: auto;}
