body {
	min-width: 1440px;
	color: var(--black-color);
	background-color: var(--bg-color);
}

:root {
	--white-color: #fff;
	--black-color: #111111;
	--bg-color: #f8fafc;

	--gray-color: #f9f9f9;
	--gray10-color: #fdfdfd;
	--gray100-color: #f0f0f0;
	--gray200-color: #f1f1f1;
	--gray300-color: #dddddd;
	--gray400-color: #e3e3e3;
	--gray500-color: #cccccc;
	--gray600-color: #c6c6c6;
	--gray700-color: #868686;
	--gray800-color: #747474;
	--gray900-color: #555555;
	
	--gray2-color: #3f4246;

	--primary-color: #0099ff;
	/*--secondary-color: #f4fbff;*/
	--secondary-color: #e8f7ff;

	--blue300-color: #008deb;
	--blue600-color: #0075c3;

	--positive-light-color: #e5ecfa;
	--positive-color: #0043ce;
	--negative-light-color: #ffe1e3;
	--negative-color: #fa4d56;

	--font-header1: 40px;
	--font-header2: 30px;
	--font-header3: 28px;
	--font-header4: 24px;
	--font-title1: 26px;
	--font-title2: 20px;
	--font-body1: 18px;
	--font-body2: 16px;
	--font-body3: 15px;
	--font-body4: 14px;
}

/****************** scrollbar ******************/
body::-webkit-scrollbar,
.scroll::-webkit-scrollbar {
    width: 6px;
	height: 6px;
}
body::-webkit-scrollbar-thumb,
.scroll::-webkit-scrollbar-thumb {
    height: 30%;
    background: var(--gray400-color);
    border-radius: 30px;
}
body::-webkit-scrollbar-track,
.scroll::-webkit-scrollbar-track {
    background: transparent;
}
.scrollbar::-webkit-scrollbar {
    width: 3px;
}
.scrollbar::-webkit-scrollbar-thumb {
    height: 30%;
    background-color: var(--gray300-color);
    border-radius: 30px;
}
.scrollbar::-webkit-scrollbar-track {
    background-color: var(--gray300-color);
}
.scroll::-webkit-scrollbar {
    width: 8px;
	height: 8px;
}
.scroll::-webkit-scrollbar-thumb {
    height: 30%;
    background: var(--gray300-color);
    border-radius: 30px;
}
.scroll::-webkit-scrollbar-track {
    background: var(--gray100-color);
}
/****************** scrollbar ******************/

/****************** search box ******************/
.search-box {
	display: flex;
    align-items: center;
	gap: 10px;
}
.search-box > div {
	position: relative;
}
.search-box input[type="text"] {
	padding-left: 43px;
	max-height: 46px;
}
.search-box > div button {
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background: url("../images/icon/ico_search.svg") no-repeat center / 100%;
}
.search-box .btn-small {
	background-color: var(--primary-color);
	border-color:  var(--primary-color);
	color: var(--white-color);
}
/****************** search box ******************/

/****************** snb ******************/
.component-wrap .snb {
	position: inherit;
}
.snb {
	max-width: 170px;
}
.snb-title {
	display: block;
	margin-bottom: 12px;
	font-size: var(--font-body2);
	font-weight: 600;
	color: var(--black-color);
}
.side-menu {
	border-radius: 8px;
	background-color: var(--white-color);
	border: 1px solid var(--gray300-color);
	overflow: hidden;

	display: inline-block;
    white-space: nowrap;
    width: auto;
    min-width: 100%;
}
.side-menu .depth-1 {
    min-width: 160px;
}
.side-menu li a {
	display: flex;
    align-items: center;
    justify-content: space-between;
	cursor: pointer;
}
.side-menu .depth-1 > a {
	padding: 16px 14px;
	font-size: var(--font-body2);
	font-weight: 600;
	color: var(--gray700-color);
	box-sizing: border-box;
}
.side-menu .depth-1 > a.on, .side-menu .depth-1 > a:hover {	
	background: var(--secondary-color);
	font-weight: 600;
	color: var(--primary-color);
}
.side-menu .depth-1 > a.active {
	font-weight: 600;
	color: var(--primary-color);
	background-color: var(--secondary-color);
}
.side-menu .depth-1 img.minus,
.side-menu .depth-1 a.active img.plus {
	display: none;
}
.side-menu .depth-1 a.active img.minus {
	display: inline-block;
}
.side-menu .depth-1:hover > a.active,
.side-menu .depth-1:selected > a.active {
	color: var(--primary-color);
}
.side-menu .depth-2,
.side-menu .depth-3,
.side-menu .depth-4 {
	display: none;
}
.side-menu .depth-2 > li > a,
.side-menu .depth-3 > li > a  {
	padding: 16px;
	font-size: var(--font-body3);
	color: var(--gray700-color);
}
.side-menu .depth-2 > li > a:hover {
	color: var(--primary-color);
}
.side-menu .depth-2.active > li > a:hover {
	background-color: transparent;
}
 .side-menu .depth-5 a.active{
	color: var(--primary-color);
}
.side-menu .depth-2.active .depth-3 a.active{
	color: var(--primary-color);
}
.side-menu .depth-1 > a.active.none,
.side-menu .depth-2.active > li > a.active.none {
	background: transparent;
	font-weight: 500;
    color: var(--gray900-color);
}
.side-menu .depth-2.active img.close,
.side-menu .depth-2.active > li > a.active img.open {
    display: none;
}
.side-menu .depth-2.active > li > a.active img.close {
    display: inline-block;
}
.side-menu .depth-2.active .depth-3 {
	display: block;
	height: 100%;
}
.side-menu .depth-2 > li {
	border-bottom: 1px solid var(--gray300-color);
}
/*
.side-menu .depth-2 > li:not(:last-child) {
	border-bottom: 1px solid var(--gray300-color);
}
*/
.side-menu .depth-3 li a {
	display: block;
	font-size: var(--font-body4);
	font-weight: 500;
	color: var(--gray700-color);
}
.side-menu .depth-3 img:last-child,
.side-menu .depth-3 a.active img:first-child {
	display: none;
}
.side-menu .depth-3 a.active img:last-child {
	display: inline-block;
}
.side-menu .depth-5 {
	font-size: var(--font-body4);
	color: var(--gray700-color);
	border-top: 1px solid var(--gray300-color);
	background-color: var(--gray-color);
}

.side-menu .depth-5.resultlistclassDepth2 {
	font-size: var(--font-body4);
	color: var(--gray700-color);
	border-top: 1px solid var(--gray300-color);
	background-color: unset;
}
.side-menu .depth-5.on.active.resultlistclassDepth2 {
	color: var(--primary-color);
}

/*.side-menu .depth-5 a.on,*/
/*.side-menu .depth-5:hover a {*/
/*	color: var(--gray900-color);*/
/*}*/
.side-menu .depth-4 > a.active {
    font-weight: 600;
    color: var(--primary-color);
    background-color: var(--secondary-color);
}
.side-menu .depth-4 li a {
	padding: 16px;
    display: block;
    font-size: var(--font-body4);
    font-weight: 500;
    color: var(--gray700-color);
}
.side-menu .depth-7 {
	font-size: var(--font-body4);
	color: var(--gray700-color);
	border-top: 1px solid var(--gray300-color);
	background-color: var(--gray-color);
}
.side-menu .depth-6.on.active.resultlistclassDepth3 {
	color: var(--primary-color);
}

.side-menu .depth-7 a.on,
.side-menu .depth-7:hover a:not(.active){
	color: var(--gray900-color);
}


/****************** snb ******************/

/****************** paging ******************/
.paging {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	margin: 35px 0 0;
}
.paging li {
	width: 26px;
	height: 26px;
	line-height: 26px;
	text-align: center;
}
.paging li a {
	display: block;
	width: 100%;
	height: 100%;
	font-size: var(--font-body4);
	font-weight: 500;
	color: var(--gray700-color);
	cursor: pointer;
}
.paging li.on a {
	font-weight: 600;
	color: var(--primary-color);
}
/****************** paging ******************/

/****************** calendar ******************/
.calendar-wrap {
	width: 328px;
	padding: 20px 25px;
	background: var(--white-color);
	border-radius: 8px;
	border: 1px solid var(--gray300-color);
	box-sizing: border-box;
}
.calendar-wrap .top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}
.calendar-wrap .nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 170px;
}
.calendar-wrap .nav .current-date {
	font-size: var(--font-body2);
	font-weight: 600;
}
.calendar-wrap .nav .current-date select {
	font-size: var(--font-body2);
	font-weight: 600;
	text-align: center;
	border: none;
	outline: none;
}
.calendar-wrap .nav button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
}
.calendar-wrap .top input[type="text"] {
	width: 95px;
	height: 38px;
	font-size: var(--font-body2);
	color: var(--gray700-color);
	text-align: center;
	letter-spacing: 1px;
	background-color: var(--gray100-color);
	border-color: var(--gray100-color)
}
.calendar-wrap .top input[type="text"]:focus {
	border-color: var(--gray300-color)
}
.calendar ul {
	display: flex;
	list-style: none;
	flex-wrap: wrap;
	text-align: center;
}
.calendar .weeks {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--gray300-color);
}
.calendar .weeks li {
	height: 30px;
	line-height: 30px;
	font-size: var(--font-body3);
	font-weight: 500;
	color: var(--gray700-color);
	box-sizing: border-box;
}
.calendar .days {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gray300-color);
}
.calendar ul li {
	position: relative;
	width: calc(100% / 7);
}
.calendar .days li {
	margin: 3px 0;
	height: 30px;
	line-height: 30px;
	cursor: pointer;
	z-index: 1;
}
.days li.today {
	color: var(--white-color);
}
.days li.today:before {
	background-color: var(--primary-color);
}
.days li.passed {
	color: var(--gray500-color);
}
.calendar .days li:before {
	position: absolute;
	content: '';
	height: 30px;
	width: 30px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	z-index: -1;
}
.days li:hover:before {
	background-color: var(--gray100-color);
}
.days li.active {
	background-color: var(--secondary-color);
}
.days li.active.start {
	border-radius: 50px 0 0 50px;
}
.days li.active.end {
	border-radius: 0 50px 50px 0;
}
.days li.active.start, .days li.active.end {
	color: var(--white-color);
}
.days li.active.start:before {
	background-color: var(--gray700-color);
}
.days li.active.end:before {
	background-color: #ffbb00;
}
.calendar-wrap .bottom > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.calendar-wrap .bottom > div:first-child {
	margin-bottom: 10px;
}
.calendar-wrap .bottom label,
.switch label {
	display: inline-flex;
	align-items: center;
	cursor: pointer;
}  
.calendar-wrap .bottom input[type="checkbox"],
.switch input[type="checkbox"] {
	appearance: none;
	position: relative;
	width: 44px;
	height: 22px;
	border-radius: 50px;
	background-color: var(--gray700-color);
	border: 1px solid var(--gray300-color);
}  
.calendar-wrap .bottom input[type="checkbox"]:before,
.switch input[type="checkbox"]:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 3px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	transform: translateY(-50%);
	background-color: var(--white-color);
	transition: all 0.25 linear;
}
.calendar-wrap .bottom input[type="checkbox"]:checked,
.switch input[type="checkbox"]:checked {
	background-color: var(--primary-color);
	background-color: var(--primary-color);
}  
.calendar-wrap .bottom input[type="checkbox"]:checked:before,
.switch input[type="checkbox"]:checked:before {
	background-color: var(--white-color);
	right: 3px;
	left: inherit;
}  
.calendar-wrap .bottom input[type="checkbox"]:disabled,
.switch input[type="checkbox"]:disabled {
	background-color: var(--gray700-color);
	opacity: 0.7;
	cursor: not-allowed;
}  
.calendar-wrap .bottom input[type="checkbox"]:disabled:before,
.switch input[type="checkbox"]:disabled:before {
	background-color: var(--gray700-color);
}
.calendar-wrap .bottom input[type="checkbox"]:disabled + span,
.switch input[type="checkbox"]:disabled + span {
	opacity: 0.7;
	cursor: not-allowed;
}
/****************** calendar ******************/

/****************** modal ******************/
.dimmed {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
	visibility: hidden;
	transition: all 0.25s ease-in-out;
	z-index: 9;
}

.dimmed.messagePop {
	z-index: 100;
}

.dimmed.open {
	opacity: 1;
	visibility: visible;
}
.dimmed2.open {
	z-index: 99;
}
.modal {
	display: block;
	min-width: 420px;
	padding: 52px 54px;
	/* position: absolute; */
	position: fixed;
	/* top: 50%; */
	top: calc(50% + 35px);
	left: 50%;
	transform: translate(-50%, -50%);
	background: var(--white-color);
	border-radius: 12px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s ease-in-out;
	z-index: 99;
}
.modal-wrap.open .modal {
	opacity: 1;
	visibility: visible;
}
.modal .title {
	margin-bottom: 12px;
	font-size: var(--font-title2);
	font-weight: 700;
	text-align: center;
}
.modal .text {
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
}
.modal .sub-text {
	margin-bottom: 20px;
	font-size: var(--font-body3);
	font-weight: 500;
	line-height: 1.4;
	color: var(--gray700-color);
	text-align: center;
}
.modal button.btn-small.primary {
	margin: 25px auto 0;
	border-color: var(--primary-color);
}
/****************** modal ******************/

/****************** board ******************/
.list-wrap li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	border-radius: 8px;
	background: var(--white-color);
	border: 1px solid transparent;
	transition: all .3s;
	overflow: hidden;
}
.list-wrap li:hover,
.b-list-wrap > .con:hover {
	background: var(--gray10-color);
}
.list-wrap li:active,
.b-list-wrap > .con:active {
	background: var(--gray200-color);
}
.list-wrap li:not(:last-child) {
	margin-bottom: 5px;
}
.list-wrap li.empty:hover {
	background-color: var(--white-color);
}
.list-wrap li.th-head:active,
.list-wrap li.empty:active {
	border-color: transparent;
}
.list-wrap li > .con {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	font-size: var(--font-body2);
	color: var(--black-color);
	cursor: pointer;
}
.list-wrap li.th-head > .con {
	cursor: default;
}
.list-wrap li.th-head {
	font-size: var(--font-body2);
	color: var(--black-color);
	background: var(--white-color);
}
.list-wrap li.th-head .con > div {
	padding: 14px 20px; 
}
.list-wrap li .con > div {
	padding: 24px 20px;	
}
.list-wrap li .no {
	flex-shrink: 0;
	width: 90px;
	text-align: center;
}
.list-wrap li .title {
	flex: 1;
	overflow: hidden;
    display: -webkit-box;
    width: 100%;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;    
}
.list-wrap li .title.notice {
	color: var(--primary-color);
}
.list-wrap li .date {
	flex-shrink: 0;
	width: 158px;
	text-align: center;
}
.list-wrap li .views {
	flex-shrink: 0;
	width: 158px;
	text-align: center;
}
.list-wrap li.empty {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 650px;
	text-align: center;
}
.list-wrap li.empty > .con {
	justify-content: center;
	cursor: default;
}
mark {
	font-weight: 600;
	color: var(--primary-color);
	background-color: #ffff98;
}
/****************** board ******************/

/****************** board-write ******************/
.check-box.notice {
	margin-bottom: 20px;
	font-size: var(--font-body3);
}
.write-content .flex {
	display: flex;
}
.write-content .flex.answer .title {
	background-color: var(--secondary-color);
}
.write-content .flex.answer.line {
	border-top: 1px solid var(--primary-color);
}
.write-content .flex .title {
	width: 150px;
	min-height: 74px;
	padding: 24px 20px;
	background-color: var(--gray200-color);
	border-right: 1px solid var(--gray300-color);
	border-bottom: 1px solid var(--gray300-color);
	box-sizing: border-box;
}
.write-content .flex .con {
	width: calc(100% - 150px);
	min-height: 74px;
	line-height: 1.4;
	padding: 24px 20px;
	background-color: var(--white-color);
	border-bottom: 1px solid var(--gray300-color);
	box-sizing: border-box;
}
.write-content .flex .con input {
	width: 100%;
}
.write-content .flex.exception .title {
	display: flex;
	align-items: center;
	padding: 0px 20px;
}
.write-content .flex.exception .con {
	display: flex;
	align-items: center;
	padding: 0px 20px;
}
.write .filebox label {
    display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 108px;
	height: 46px;
	font-size: var(--font-body3);
	font-weight: 400;
    color: var(--white-color);
    background-color: var(--gray900-color);
	border-radius: 8px;
    vertical-align: middle;
	box-sizing: border-box;
    cursor: pointer;
}
.write .filebox label:hover {
	background-color: #333333;
}
.write .filebox label:active {
	background-color: var(--black-color);
}
.write .filebox input[type="file"] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
}
.write .dropzone {
	width: 100%;
	margin-top: 10px;
	background-color: var(--gray100-color);
	border: 1px dashed var(--gray300-color);
	border-radius: 5px;
	transition: all .3s;
}
.write .dropzone:hover {
	border-color: var(--gray500-color);
}
.write .dz-message {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 150px;
}
.write .dz-message p {
	font-size: var(--font-body1);
	color: var(--gray700-color);
}
.write .dz-message small {
	font-size: var(--font-body2);
	color: var(--gray700-color);
}
.write .file-area {
	display: flex;
	flex-direction: column;
	align-items: baseline;
	gap: 10px;
	margin-top: 10px;
}
.write .up-file {
	display: inline-block;
	padding: 12px 15px;
	min-height: 46px;
	border: 1px solid var(--gray300-color);
    background-color: var(--white-color);
    border-radius: 8px;
    transition: all .3s;
}
.write .up-file:hover {
	border: 1px solid var(--gray500-color);
}
.write .up-file .file-name {
	float: left;
    margin-right: 30px;
    font-size: var(--font-body2);
    color: var(--black-color);
}
.write .up-file .delete {
    float: right;
    width: 14px;
}
.write .up-file:after {
	content: "";
	display: block;
	clear: both;
}
.write .flex .con.editor {
	min-height: 400px;
}
/****************** board-write ******************/

/****************** board-view ******************/
.board-info {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}
.board-info li {
	padding: 0 15px;
}
.board-info li:first-child {
	padding-left: 0;
}
.board-info li:last-child {
	padding-right: 0;
}
.board-info li:not(:last-child) {
	border-right: 1px solid var(--gray300-color);
}
.view-content {
	padding: 25px 20px;
	border-radius: 8px;
	background-color: var(--white-color);
	box-sizing: border-box;
}
.v-content-in {
	min-height: 380px;
	line-height: 1.6;
	display: block;
	align-items: center;    /* 수직 가운데 정렬 */
	justify-content: center; /* 수평 가운데 정렬 */
	overflow: hidden; /* 본문 내 float/절대배치 콘텐츠가 아래 버튼과 겹치지 않도록 높이에 포함 */
	/*max-height: 450px;
	overflow: scroll;*/
	img {
		display: block;
		max-width: 100%;
		margin-top: 20px; /* 위 여백 */
		margin-left: auto;
		margin-right: auto;
	}
}
.v-line {
	width: 100%;
	height: 1px;
	margin: 30px 0;
	background-color: var(--gray300-color);
}
.b-list-wrap > a {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 20px;
	font-size: var(--font-body2);
	color: var(--black-color);
	background-color: var(--white-color);
	border-radius: 8px;
	box-sizing: border-box;
	cursor: pointer;
}
.b-list-wrap > a.empty {
	cursor: default;
}
.b-list-wrap > a:first-child {
	margin-bottom: 5px;
}
.b-list-wrap > a img {
	margin-right: 5px;
}
.container.board .btn-list {
	margin: 50px auto 0;
}
.container.board .btn-wrap .btn-list {
	margin: initial;
} 
/****************** board-view ******************/

/****************** table ******************/
.table-wrap table {
	width: 100%;
	border-spacing: 0px;
    border-style: none;
    padding: 0px;
}
.table-wrap table th {
	padding: 17px 10px;
	max-height: 52px;
	font-size: var(--font-body2);
	color: var(--black-color);
	text-align: center;
	background: var(--bg-color);
	/*border-top: 1px solid var(--black-color);*/
	border-bottom: 1px solid var(--gray300-color);
	vertical-align: middle;
}
.table-wrap table th:not(:last-child) {
	/*border-right: 1px solid var(--gray300-color);*/
	border-right: none;
	border-left: 0px;
}
.table-wrap table th:last-child {
	border-right: 0px;
}
.resOmrClass.table-wrap table colgroup .border-left {
	border-left: 1px solid var(--gray300-color);
}
.resOmrClass.table-wrap table th {
	padding: 10px 10px;
	height: 45px;
}

.table-wrap table td {
	padding: 6px 10px;
	max-height: 60px;
	height: 60px;
	font-size: var(--font-body2);
	color: var(--black-color);
	text-align: center;
	border: 1px solid var(--gray300-color);
	border-left: none;
	border-right: none;
	background: var(--white-color);
	vertical-align: middle;
}

.resOmrClass.table-wrap table td {
	padding: 10px 10px !important;
	height: 45px !important;
	min-height: 20px !important;
}
.table-wrap table td.disabled {
	background-color:  var(--gray300-color);
	padding: 6px 10px;
	max-height: 60px;
	height: 60px;
	font-size: var(--font-body2);
	text-align: center;
	border: 1px solid var(--gray300-color);
	border-left: none;
	border-right: none;
	vertical-align: middle;
}
.table-wrap table td input {
	width: 100%;
}
.table-wrap table td:first-child {
	border-left: none;
}
.table-wrap table td:last-child {
	border-right: none;
}
.table-wrap table td .link {
	font-size: var(--font-body2);
	color: var(--primary-color);
	text-decoration: underline;
	cursor: pointer;
}
.table-wrap table td button {
	margin: auto;
}
.table-wrap table .check-box input[type="checkbox"] + label:before,
.table-wrap table .check-box input[type="checkbox"]:checked + label:after {
    top: -16px;
    left: 50%;
    transform: translateX(-50%);
}
.table {
	border-top: 1px solid var(--gray300-color);
}
.table-in {
	display: table;
	width: fit-content;
}
.thead {
    display: flex;
    align-items: center;
	height: 53px;
    /*border-top: 1px solid var(--black-color);*/
    box-sizing: border-box;
}
.th {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 52px;
    font-size: var(--font-body2);
    color: var(--black-color);
    text-align: center;
    background: var(--bg-color);
	border-bottom: 1px solid var(--gray300-color);
	border-left: none;
	border-right: none;
}
.td {
	display: flex;
    align-items: center;
    justify-content: center;
	padding: 21px 0px;
	height: 60px;
	font-size: var(--font-body2);
    color: var(--black-color);
    text-align: center;
	border-bottom: 1px solid var(--gray300-color);
	background-color: var(--white-color);
    box-sizing: border-box;
	border-left: none;
	border-right: none;
}
.t-list.error .td.hcol {
	background-color: #ffe1e3 !important;
}
.t-list.duplication .td.hcol {
	background-color: #fffbe1 !important;
}
.t-list.error .td.w-122 {
	background-color: #ffe1e3 !important;
}
.t-list.duplication .td.w-122 {
	background-color: #fffbe1 !important;
}
.alllist .t-list.complete .td {
	background-color: var(--gray100-color);
}
.th:not(:last-child),
.td:not(:last-child) {
	/*border-right: 1px solid var(--gray300-color);*/
	border-right: none;
}
/****************** table ******************/

/****************** button ******************/
.btn-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 50px;
}
.btn-small {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 100px;
	height: 46px;
	font-size: var(--font-body3);
	font-weight: 600;
	text-align: center;
	border-radius: 4px;
	border: 1px solid var(--gray300-color);
	transition: all .3s ease;
}
.btn-medium {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 46px;
	font-size: var(--font-body2);
	font-weight: 600;
	text-align: center;
	border-radius: 8px;
	border: 1px solid var(--gray300-color);
	transition: all .3s ease;
}
.btn-large {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0px;
	min-width: 180px;
	font-size: var(--font-body1);
	font-weight: 600;
	text-align: center;
	border-radius: 8px;
	border: 1px solid var(--gray300-color);
	transition: all .3s ease;
}

.btn-cancel {
	background-color: var(--white-color);
	color: var(--gray700-color);
}
.btn-cancel:hover {
	background-color: var(--gray400-color);
}
.btn-cancel:active {
	background-color: var(--gray500-color);
}
.btn-confirm {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	color: var(--white-color);
}
.btn-confirm:hover {
	background-color: var(--blue300-color);
}
.btn-confirm:active {
	background-color: var(--blue600-color);
}
.btn-edit {
	background-color: var(--white-color);
	border-color: var(--primary-color);
	color: var(--primary-color);
}
.btn-edit:hover {
	border-color: var(--blue300-color);
}
.btn-edit:active {
	border-color: var(--blue600-color);
}
.btn-list {
	color: var(--white-color);
	background-color: var(--gray900-color);
	border-color: var(--gray900-color);
}
.btn-list:hover {
	background-color: #3f3f3f;
	border-color: #3f3f3f;
}
.btn-list:active {
	background-color: #333;
	border-color: #333;
}
.btn-stroke {
	background-color: var(--white-color);
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
}
.btn-stroke:hover {
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
	color: var(--white-color);
}
.btn-stroke:active {
	background: var(--blue600-color);
	border: 1px solid var(--blue600-color);
	color: var(--white-color);
}
button.delete {
	color: var(--negative-color);
	border-color: var(--negative-color);
	background-color: var(--white-color);
}
button.delete:hover {
	color: #ff3e48;
	border-color: #ff3e48;
	background-color: var(--white-color);
}
button.delete:active {
	color: #ff2934;
	border-color: #ff2934;
	background-color: var(--white-color);
}
button.disabled,
button.delete.disabled {
	color: var(--gray700-color);
	background-color: var(--gray100-color);
	border-color: var(--gray100-color);
	cursor: default;
	pointer-events:none;
}
button.disabled:hover,
button.disabled:active,
button.delete.disabled:hover,
button.delete.disabled:active {
	color: var(--gray700-color);
	background-color: var(--gray100-color);
	border-color: var(--gray100-color);
}

.down-area {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 15px;
	max-height: calc(100vh - 500px);
	overflow: auto;

}
.down-btn {
	display: inline-block;
	padding: 20px;
	min-width: 400px;
	border: 1px solid var(--gray300-color);
	background-color: var(--white-color);
	border-radius: 8px;
	transition: all .3s;
}
.down-btn:hover {
	border: 1px solid var(--gray500-color);
}
.down-btn:active {
	border: 1px solid var(--primary-color)
}
.down-btn .file-name {
	float: left;
	margin-right: 30px;
	font-size: var(--font-body2);
	color: var(--black-color);
}
.down-btn .icon {
	float: right;
	width: 14px;
}
.down-btn:after {
	content: "";
	display: block;
	clear: both;
}

.primary {
	background-color: var(--primary-color);
	color: var(--white-color);
}
.primary:hover {
	background-color: var(--blue300-color);
}
.primary:active {
	background-color: var(--blue600-color);
}
.disabled {
	background: var(--gray100-color);
	color: var(--gray700-color);
	cursor: default;
}
.excel {
	padding: 0 14px;
	border-color: #1d7545;
    color: #1d7545;
}
.excel:hover {
	background: var(--white-color);
    border-color: #125330;
    color: #125330;
}
.excel:active {
	background: var(--white-color);
    border-color: #0a331d;
    color: #0a331d;
}

.con-top .b-list .flex.date-btn-wrap {
	gap: 10px;
}
.date-btn-wrap .btn-small {
	height: 40px;
	border: 1px solid var(--gray300-color);
	color: var(--gray600-color)
}
.date-btn-wrap .btn-small:hover {
	border: 1px solid var(--gray200-color);
	color: var(--gray500-color)
}
.date-btn-wrap .btn-small.selected {
	color: var(--green400-color);
	border: 1px solid var(--green300-color);
	background: var(--green100-color);
}
.date-btn-wrap .btn-small.disabled {
	color: var(--gray400-color);
	border: 1px solid var(--gray200-color);
}
/****************** button ******************/

.mb-10 {
	margin-bottom: 10px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-30 {
	margin-bottom: 30px;
}
.flex {
	display: flex;
}
.flex.center {
	align-items: center;
}
.empty {
	height: 650px;
	text-align: center;
}
.essential {
	color: var(--primary-color);
}

.select-locked {
	pointer-events: none !important;
	border-color: #E5E5E5 !important;
	background-color: #f7f7f7 !important;
}

/* 플로팅버튼 스타일 */
html {
	scroll-behavior: smooth;
}
#floating {
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 100;
	display: flex;
	gap: 10px;
	flex-direction: column;
}
/* 학생정보 플로팅 버튼 및 모달 */
#floating .student-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	vertical-align: middle;
	gap: 8px;
	width: 80px;
	height: 80px;
	font-size: var(--font-body3);
	color: var(--primary-color);
	background-color: var(--secondary-color);
	border-radius: 50% 50%;
	transition: all 0.3s ease;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
	z-index: 4;
}
#floating .student-list img {
	width: 24px;
}
#floating .student-list .btn-label {
	font-size: 14px;
	font-weight: 600;
	height: 18px;
}
#floating .student-list:hover {
	transform: translateY(-1px);
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}
#floating .student-list:active {
	background-color: #dcf2ff;
}
.modal-wrap.open.student-list-pop .modal {
	opacity: 1;
	border: 1px solid var(--gray400-color);
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.14);
	visibility: visible;
}
.modal-wrap.open.student-list-pop .dimmed.open {
	opacity: 0;
	visibility:hidden;
}
.student-list-pop .modal {
	position: fixed;
	top:auto;
	bottom:50px;
	right: 150px;
	left: auto;
	transform: translate(0, 0);
	padding: 20px;
	width: 600px;
	z-index: 100;
}
.modal-wrap.open.student-list-pop .dimmed {
	z-index: 99;
}
.student-list-pop .table-wrap table{
	margin: 0;
}
.student-list-pop .table-head tr th{
	/* border-bottom: none; */
}
.student-list-pop .table-body{
	border-bottom: 1px solid var(--gray300-color);
}
.student-list-pop .table-body tr:first-child td,
.student-list-pop .table-body tr.first-visible td{
	border-top: none;
}
.student-list-pop .table-body tr:last-child td{
	border-bottom: none;
}
.student-list-pop .table-body {
	height: 400px;
}
.student-list-pop .table-body .empty-message {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 14px;
	color: var(--gray700-color);
	/* border-top: 1px solid var(--gray300-color); */
	/* border-bottom: 1px solid var(--gray300-color); */
}
.student-list-pop .search-box {
	margin-bottom: 20px;
}

.student-list-pop #info-table tbody tr.student-list-row {
	cursor: pointer;
}

.top-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	vertical-align: middle;
	gap: 8px;
	width: 80px;
	height: 80px;
	font-size: var(--font-body3);
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
	background-color: var(--secondary-color);
	border-radius: 50% 50%;
	transition: all 0.3s ease;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
	z-index: 4;
	font-weight: 600;
	font-size: 20px;
}
.student-list-pop .table-wrap table td, .student-list-pop .table-wrap table th {
	height: 45px;
	padding: 10px;
}
.student-list-pop .table-wrap table td.name {
	color: var(--primary-color);
}