@charset "utf-8";

/*
	** 게시판 관련 CSS
*/


/* ## board icon ##  */
.board-icon {
	display: inline-block;
	color: #a0a0a0;
	transition: var(--transition);
}
.board-icon::before {
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	padding-left:3px;
	padding-right:3px;
}
.board-icon.board-text::before {
	font-family: inherit;
	font-weight: 600;
}
.board-icon-notice::before {
	content: "\f6a8";
	font-size: var(--font-size-20);
	font-weight: 900;
	color: var(--color-primary);
}
.board-icon-lock::before {content: "\f30d";}
.board-icon-link::before {content: "\f08e";}
.board-icon-file::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url("../img/icon-attach.png") no-repeat center / contain;
}
.board-icon-down::before {content: "\f107";}
.board-icon-left::before {content: "\f104";}
.board-icon-right::before {content: "\f105";}
.board-icon-left-double::before {content: "\f100";}
.board-icon-right-double::before {content: "\f101";}
.board-icon-calendar::before {content: "\f133";}
.board-icon-new::before { content: "NEW"; font-style: italic; }
.board-icon-question::before { content: "Q"; color: var(--color-primary);}
.board-icon-answer::before {content: "A";}




/* ## board common ##  */
.board-col {
	display: inline-flex;
	align-items: center;
	color: #555555;
}
.board-row {
	width: 100%;
}
.board-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	transition: var(--transition);
	font-size: var(--font-size-18);
	color:#111;
	font-weight: 500;
}

.board-title:focus-visible {
	color: var(--color-primary);
	border-radius: 4px;
	outline: 3px solid var(--Blue-800);
	outline-offset: 2px;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.board-title.ellipsis-2 {
	-webkit-line-clamp: 2;
}



/* ## board list ##  */
.board-total {
	margin: 0;
	font-size: var(--font-body);
	line-height: 1.5;
	color: var(--Black-800);
}
.board-total strong {
	font-weight: 600;
}
.board-list {
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}
.board-header {
	display: grid;
	min-height: clamp(54px, 3.34vw, 64px);
	grid-template-columns: 64px minmax(0, 1fr) 100px 120px 64px 64px;
	border-bottom: 1px solid var(--color-text-sub);
	background: #f5f5f5;
}
.board-header .board-col {
	font-weight: 600;
}
.board-list .board-header .board-list-title {
	justify-content: center;
	text-align: center;
}
.board-list-item {
	display: grid;
	width: 100%;
	min-height: clamp(64px, 3.96vw, 76px);
	grid-template-columns: 64px minmax(0, 1fr) 100px 120px 64px 64px;
	padding: 0;
	border-bottom: 1px solid var(--color-border);
	transition: var(--transition);
}
.board-list-item:last-child {
	border-bottom: 0;
}
.board-list .board-col {
	justify-content: center;
	min-width: 0;
	padding: 12px 8px;
	font-size: var(--font-body);
	line-height: 1.5;
	text-align: center;
}
.board-list .board-col.board-term {
    min-width: 170px;
}
.board-list .board-col.board-type {
    min-width: 115px;
}
.board-list .board-list-title {
	display: flex;
	width: auto;
	justify-content: flex-start;
	padding-right: 20px;
	padding-left: 20px;
	text-align: left;
}
.board-list .board-title {
	font-size: var(--font-body);
	font-weight: 500;
}
.board-list .board-list-title .board-icon {
	margin-left: 7px;
}
.board-list .board-desc {
	color: var(--color-text-sub);
}
.board-list .board-type {
	min-width: 95px;
}
.board-list .board-icon-file::before {
	position: static;
	padding: 0;
}
.board-list .board-icon-notice::before {
	color: var(--color-primary);
}
.board-list.type01 .board-header,
.board-list.type01 .board-list-item {
	grid-template-columns: 64px 90px minmax(0, 1fr) 170px 100px 120px 64px 64px;
}

/* ## board table ## */
.board-table-wrap {
	width: 100%;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}
.board-table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.board-table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.board-table th {
	height: clamp(54px, 3.34vw, 64px);
	padding: 12px 8px;
	border-bottom: 1px solid var(--color-text-sub);
	background: #f5f5f5;
	font-size: var(--font-body);
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
.board-table td {
	height: clamp(64px, 3.96vw, 76px);
	padding: 12px 8px;
	border-bottom: 1px solid var(--color-border);
	font-size: var(--font-body);
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
}
.board-table tbody tr:not(.board-empty-row):last-child td {
	border-bottom: 0;
}
.board-table tbody tr:not(.board-empty-row):hover {
	background: #EEF7F8;
}
.board-table .board-list-title {
	text-align: left;
}
.board-table .board-title {
	font-size: var(--font-body); 
	font-weight: 500;
}
.board-table .board-desc {
	color: var(--color-text-sub);
}
.board-table .board-empty {
	border: 0;
}
.board-progress {
	display: inline-flex;
	min-width: 50px;
	min-height: 32px;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	border-radius: 4px;
	background: var(--color-primary-light);
	color: var(--color-primary);
	font-size: var(--font-label);
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}
/* 예정 */
.board-progress.status-ready {
	border: 1px solid var(--Blue-600);
	background: var(--White);
	color: var(--Blue-600);
}
/* 진행중 */
.board-progress.status-ing {
	background: var(--Blue-600);
	color: var(--White);
}
/* 마감 */
.board-progress.status-end {
	background: var(--color-text-disabled);
	color: var(--White);
}
.board-list-item:hover {
	background: #EEF7F8;
}
/* .board-list-item:hover .board-title {
	color: var(--color-primary);
} */
.board-list.header {
    border-top: none;
}
.board-list.header .board-list-item {
    border-bottom: none;
    padding: 10px 0;
}
@media all and (max-width: 1023px) {
	.board-header {
		display: none;
	}
	.board-list-item {
		grid-template-columns: 48px minmax(0, 1fr);
		padding: 0;
	}
	.board-list.type01 .board-list-item {
		grid-template-columns: 48px 70px minmax(0, 1fr);
	}
	.board-list .board-list-title {
		width: auto;
	}
	.board-list .board-list-item .board-col:nth-child(n+3) {
		display: none;
	}
	.board-list.type01 .board-list-item .board-col:nth-child(2),
	.board-list.type01 .board-list-item .board-col:nth-child(3) {
		display: inline-flex;
	}
	.board-list .board-tag {
		min-width: auto;
	}
    .board-list-item.board-header {
        display: none;
    }
}

@media all and (max-width: 767px) {
	.board-table colgroup,
	.board-table thead {
		display: none;
	}
	.board-table,
	.board-table tbody,
	.board-table tr {
		display: block;
		width: 100%;
	}
	.board-table tbody tr:not(.board-empty-row) {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 7px 0;
		padding: 15px 0;
		border-bottom: 1px solid var(--color-border);
	}
	.board-table tbody tr:last-child {
		border-bottom: 0;
	}
	.board-table td {
		display: inline-flex;
		flex: 0 0 auto;
		width: auto !important;
		height: auto;
		align-items: center;
		justify-content: center;
		padding: 0 8px;
		border: 0;
		text-align: center;
	}
	.board-table td::before {
		content: attr(data-label);
		margin-right: 6px;
		font-weight: 600;
		color: #555;
		white-space: nowrap;
	}
	.board-table td:empty {
		display: none;
	}
	.board-table .board-list-title {
		order: -1;
		flex: 0 0 100%;
		width: 100% !important;
		min-width: 0;
		justify-content: flex-start;
		text-align: left;
	}
	.board-table .board-list-title::before {
		display: none;
	}
	.board-table .board-empty-row td {
		display: block;
		width: 100%;
		padding: 0;
	}
	.board-table .board-empty-row td::before {
		display: none;
	}
}

@media all and (max-width: 380px) {
	.board-table .board-term {
		flex: 0 0 100%;
		min-width: 0;
		max-width: 100%;
		justify-content: flex-start;
		align-items: baseline;
	}
	.board-table .board-term .board-desc {
		min-width: 0;
		white-space: normal;
		overflow-wrap: anywhere;
		text-align: left;
	}
}




/* ## board empty ##  */
.board-empty {
	position: relative;
	width: 100%;
	padding: 100px 20px;
	color: #999;
	text-align: center;
}
.board-empty::before {
	content: "\e178";
	width: 86px;
	height: 86px;
	margin: 0 auto 20px;
	font-size: var(--font-size-30);
	color: #d4d4d4;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	background: #f2f2f2;
	border-radius: 50%;
}
@media all and (max-width: 767px) {
	.board-empty {
		padding: 40px 0;
	}
	.board-empty::before {
		width: 70px;
		height: 70px;
		font-size: var(--font-size-24);
	}
}




/* ## board view ##  */
.board-view-header {
	padding: 40px 25px;
	background: #f5f5f5;
	border-top: 1px solid var(--color-primary);
}
.board-view-header-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 20px;
}
.board-view-header .board-title {
	-webkit-line-clamp: unset;
}
.board-view-header .board-title .board-icon {
	font-size: var(--font-size-14);
}
.board-view-info {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 0;
	margin-top: 20px;
}
.board-view-info .board-tit {
	margin-right: 10px;
	color: var(--color-primary);
}
.board-view .board-col {
	flex-wrap: wrap;
}
.board-view .board-col:not(:last-child)::after {
	content: '|';
	margin: 0 20px;
	font-size: var(--font-size-13);
	color: #bfbfbf;
}
.board-view-file {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 3px 10px;
	padding: 20px 25px 20px 60px;
	border-bottom: 1px solid #ddd;
	min-height: 60px;
}
.board-view-file-list {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.board-view-file .board-col {
	color: #555;
}
.board-file-download-all {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	border: 1px solid var(--color-primary);
	border-radius: 4px;
	color: var(--color-primary);
	font-size: var(--font-label);
	font-weight: 600;
}
.board-file-download-all:hover {
	background: var(--color-primary);
	color: var(--White);
}
.board-icon-file::before {
	/* position: absolute;
	left: 25px;
	top: 20px; */
}
.board-view-content {
	position: relative;
	padding: 70px 25px;
	border-bottom: 1px solid #ddd;
}
.board-view-content img {
	max-width: 100%;
}

/* ## 게시글 상세 첨부파일 및 관련링크 ## */
.board-view-resources {
	display: grid;
	gap: 20px;
	padding: 40px 0 80px;
}
.board-resource-group {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid #d7dde4;
	border-radius: 5px;
}
.board-resource-label {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 24px;
	background: #f3f3f3;
	color: #222;
}
.board-resource-label img {
	width: 22px;
	height: 22px;
	object-fit: contain;
}
.board-resource-label strong {
	font-size: var(--font-size-16);
	font-weight: 700;
}
.board-resource-content {
	min-width: 0;
	border-left: 1px solid #d7dde4;
}
.board-resource-head {
	display: flex;
	min-height: 69px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 10px 20px;
	border-bottom: 1px solid #d7dde4;
}
.board-resource-head > strong {
	font-size: var(--font-size-16);
	font-weight: 700;
}
.board-resource-head em {
	margin-left: clamp(8px, 1.13vw, 12px);
	color: var(--color-primary);
	font-style: normal;
}
.board-resource-download-all {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	gap: clamp(6px, 1.13vw, 8px);
	padding: 7px 13px;
	border: 1px solid #cbd2da;
	border-radius: 5px;
	color:#5F656E;
	font-size: var(--font-size-14);
}
.board-resource-download-all::after {
    flex: 0 0 auto;
    width: clamp(16px, 3.13vw, 18px);
    height: clamp(16px, 3.13vw, 18px);
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.25 12.75V14.25C2.25 14.6478 2.40804 15.0294 2.68934 15.3107C2.97064 15.592 3.35218 15.75 3.75 15.75H14.25C14.6478 15.75 15.0294 15.592 15.3107 15.3107C15.592 15.0294 15.75 14.6478 15.75 14.25V12.75M12.75 8.25L9 12L5.25 8.25M9 12V3' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.25 12.75V14.25C2.25 14.6478 2.40804 15.0294 2.68934 15.3107C2.97064 15.592 3.35218 15.75 3.75 15.75H14.25C14.6478 15.75 15.0294 15.592 15.3107 15.3107C15.592 15.0294 15.75 14.6478 15.75 14.25V12.75M12.75 8.25L9 12L5.25 8.25M9 12V3' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
        no-repeat center / contain;
    content: "";
}
.board-resource-download-all:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}
.board-resource-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.board-resource-list li + li {
	border-top: 1px solid #d7dde4;
}
.board-resource-list a {
	display: flex;
	min-height: 55px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 22px;
	color: #4e5660;
}
.board-resource-list a:hover {
	background: #f8fbfc;
	color: var(--color-primary);
}
.board-resource-name {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}
.board-resource-name > i {
	flex: 0 0 auto;
	color: #7d8996;
	font-size: 18px;
}
.board-resource-name small {
	flex-shrink: 0;
	color: #89939f;
	font-size: inherit;
}
.board-resource-filename {
	overflow: hidden;
	min-width: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.board-resource-action {
	flex: 0 0 auto;
	color: #313840;
	font-size: 18px;
}
.board-resource-action-download {
	width: 22px;
	height: 22px;
	background: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.75 15.5832V17.4165C2.75 17.9027 2.94315 18.369 3.28697 18.7129C3.63079 19.0567 4.0971 19.2498 4.58333 19.2498H17.4167C17.9029 19.2498 18.3692 19.0567 18.713 18.7129C19.0568 18.369 19.25 17.9027 19.25 17.4165V15.5832M15.5833 10.0832L11 14.6665L6.41667 10.0832M11 14.6665V3.6665' stroke='%233B3F44' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.board-resource-links .board-resource-list a {
	min-height: 60px;
}
.board-resource-links .board-resource-name::before {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	background: url("data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.25001 13.7501L13.75 8.25012M10.0833 5.50012L10.5078 5.00878C11.3674 4.14925 12.5333 3.66642 13.749 3.6665C14.9646 3.66659 16.1304 4.14959 16.99 5.00924C17.8495 5.8689 18.3323 7.03479 18.3322 8.25044C18.3322 9.46609 17.8492 10.6319 16.9895 11.4915L16.5 11.9168M11.9167 16.5001L11.5528 16.9896C10.6828 17.8492 9.50917 18.3312 8.28622 18.3312C7.06327 18.3312 5.8896 17.8492 5.01968 16.9896C4.59078 16.5659 4.25026 16.0612 4.01785 15.5049C3.78544 14.9486 3.66577 14.3517 3.66577 13.7487C3.66577 13.1458 3.78544 12.5489 4.01785 11.9926C4.25026 11.4363 4.59078 10.9316 5.01968 10.5079L5.50001 10.0835' stroke='%237F8691' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	content: "";
}
.board-view-qna {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}
.board-view-nav {
	position: relative;
	display: block;
	padding: 25px 25px 25px 100px;
	border-bottom: 1px solid #d8d8d8;
}
.board-view-nav .board-title {
	font-size: var(--fons-size-16);
}
.board-view-nav .board-desc {
	position: absolute;
	top: 50%;
	left: 25px;
	transform: translateY(-50%);
}
.board-view-nav:hover .board-title {
	color: var(--color-primary);
}
.board-view-nav.board-view-prev {
	border-top: 1px solid #d8d8d8;
}
@media all and (max-width: 1023px) {
	.board-view .board-col:not(:last-child)::after {
		margin: 0 10px;
	}
}
@media all and (max-width: 767px) {
	.board-view-header {
		padding: 30px 15px;
	}
	.board-view-header .board-title {
		width: 100%;
	}
	.board-view .board-col:not(:last-child) {
		margin-right: 15px;
	}
	.board-view .board-col:not(:last-child)::after {
		display: none;
	}
	.board-view-file {
		padding: 15px 0 15px 32px;
		min-height: 50px;
	}
	.board-file-download-all {
		width: 100%;
		margin-top: 12px;
	}
	.board-icon-file::before {
		left: 10px;
		top: 15px;
	}
	.board-view-content {
		padding: 40px 0;
	}
	.board-view-resources {
		gap: 14px;
		padding: 24px 0 50px;
	}
	.board-resource-group {
		grid-template-columns: 1fr;
	}
	.board-resource-label {
		justify-content: flex-start;
		padding: 14px 16px;
	}
	.board-resource-content {
		border-top: 1px solid #d7dde4;
		border-left: 0;
	}
	.board-resource-head {
		min-height: 54px;
		padding: 8px 14px;
	}
	.board-resource-list a {
		min-height: 54px;
		gap: 12px;
		padding: 10px 16px;
		font-size: var(--font-size-14);
	}
	.board-resource-name {
		gap: 7px;
	}
	.board-view-nav {
		padding: 22px 0 22px 60px;
	}
	.board-view-nav .board-title {
		font-size: 1em;
	}
	.board-view-nav .board-desc {
		left: 5px;
	}
}
@media all and (max-width: 340px) {
	.board-resource-head {
		flex-direction: column;
        align-items: normal;
	}
}




/* ## board write ##  */
.board-write {
	border-top: 1px solid var(--color-primary);
}
.board-write-row:not(:last-child) {
	margin-bottom:var(--space-md);
}
.attach-box {
	position: relative;
	display: flex;
	border: 1px solid #e1e1e1;
}
.attach-img-wrap {
	flex: 0 0 230px;
	padding: 10px;
	background: #f0f0f0;
	position: relative;
}
.attach-img-box {
	margin-bottom: 13px;
	aspect-ratio: 1.5 / 1;
	background: #fff;
	border: 1px solid #ebebeb;
	overflow: hidden;
	position: relative;
}
.attach-img::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top:0;
	display: flex;
	align-items: center;
	justify-content: center;
	content:"NO IMAGE";
	color: #a0a0a0;
}
.attach-box .button-wrap {
	margin-top: 0;
}
.attach-box .button {
	line-height: inherit;
}
.attach-box .attach-input input {
	position: absolute;
	top: -9999px;
	left: -9999px;
	opacity: 0;
	font-size: 0;
}
.attach-file-list {
	flex: 1 1 auto;
	padding: 13px 15px;
	max-height: 213px;
	overflow-y: auto;
}
.attach-file {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-bottom: 1px solid #e1e1e1;
	cursor: pointer;
}
.attach-file.point:after {
	content: "\e123";
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	color: #ffb400;
	position: absolute;
	right: 28px;
}
.attach-file.active {
	background: #eee;
}
.attach-file .attach-file-byte {
	font-size: var(--font-size-15);
	font-weight: 300;
	color: #a0a0a0;
}
.attach-file .attach-file-remove {
	position: absolute;
	right: 5px;
	z-index: 10;
}
.attach-file .attach-file-remove::after {
	content: "\f057";
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	color: #a0a0a0;
}
@media all and (max-width: 767px) {
	.attach-box {
		flex-direction: column;
	}
	.attach-img-wrap {
		flex: 0 0 100%;
	}
}




/* ## board gallery ##  */
.gallery-list {
	border-top: 1px solid var(--color-primary);
}
.gallery-item {
	display: flex;
	align-items: center;
	gap: 25px 60px;
	padding: 40px 0;
	position: relative;
	border-bottom: 1px solid #ddd;
	transition: var(--transition);
}
.gallery-img-box {
	flex: 0 0 360px;
	aspect-ratio: 1.5 / 1;
	border: 1px solid #f5f5f5;
	background: #f5f5f5;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
    justify-content: center;
}
.gallery-img-box::after {
	display: block;
	content:"";
	width: 100%;
	height:100%;
	background: url("../img/logo_blur.png") no-repeat center center;
	background-size: 200px;
	position: absolute;
	left:0;
	top:0;
	filter:opacity(0.9);
}
.gallery-img {
	width: 100%;
	object-fit: cover;
	position: relative;
	z-index: 5;
	transition: var(--transition);
}
.gallery-text-box {
	flex: 1 1 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 20px 0;
}
.gallery-content {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	color: #a0a0a0;
}
.gallery-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.gallery-util {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 10px;
}
.gallery-info-box .item-box {
    display: flex;
}
.gallery-info-box .item-box:not(:last-child) {
    margin-bottom: 15px;
}
.gallery-info-box .tit {
    flex: 0 0 80px;
    padding-right: 8px;
    font-weight: 600;
    position: relative;
}
.gallery-info-box .tit::after {
    content: "";
    position: absolute;
    top: 4px;
    right: 0;
    width: 1px;
    height: 15px;
    background: #e5e5e5;
}
.gallery-info-box .desc {
    padding-left: 10px;
}
.gallery-item:hover .board-title {
	color: var(--color-primary);
}
@media all and (max-width: 1023px) {
	.gallery-item {
		gap: 25px 40px;
		padding: 30px 0;
	}
	.gallery-img-box {
		flex: 0 0 280px;
	}
	.gallery-content {
		-webkit-line-clamp: 2;
	}
}
@media all and (max-width: 767px) {
	.gallery-item {
		flex-direction: column;
	}
	.gallery-img-box {
		flex: 0 0 100%;
		width: 100%;
	}
	.gallery-img-box::before {
		font-size: var(--font-size-18);
	}
	.gallery-text-box {
		gap: 15px 0;
	}
}
.gallery-list-type02 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 70px 3.5%;
	border-top: 0;
}
.gallery-list-type02 .gallery-item {
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
	border-bottom: 0;
}
.gallery-list-type02 .gallery-img-box {
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 1.5 / 1;
}
.gallery-list-type02 .gallery-img-box.document-thumbnail {
	aspect-ratio: 210 / 297;
}
.gallery-list-type02 .gallery-img {
	height: 100%;
}
.gallery-list-type02 .gallery-content {
	-webkit-line-clamp: 2;
}
.gallery-list-type02 .gallery-item:hover .gallery-img {
	transform: scale(1.1);
}
.gallery-list-type02 .board-empty {
	grid-column: span 3;
}
@media all and (max-width: 1023px) {
	.gallery-list-type02 {
		grid-template-columns: repeat(2, 1fr);
	}
	.gallery-list-type02 .board-empty {
		grid-column: span 2;
	}
}
@media all and (max-width: 767px) {
	.gallery-list-type02 {
		grid-template-columns: repeat(1, 1fr);
		gap: 35px 3.5%;
	}
	.gallery-list-type02 .board-empty {
		grid-column: span 1;
	}
}
.gallery-list-type03 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px 3.5%;
	border-top: 0;
}
.gallery-list-type03 .gallery-item {
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
	border-bottom: 0;
	position: relative;
	border-radius: 5px;
	overflow: hidden;
}
.gallery-list-type03 .gallery-img-box {
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 1.25/ 1;
}
.gallery-list-type03 .gallery-img {
	height: 100%;
}
.gallery-list-type03 .gallery-text-box {
	background: rgba(0, 0, 0, 0.4);
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 5;
	width: 100%;
	height: 100%;
	padding: 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: var(--transition);
}
.gallery-list-type03 .gallery-text-box .board-title {
	-webkit-line-clamp: 2;
	color: #fff;
}
.gallery-list-type03 .gallery-text-box .board-desc {
	color: #fff;
}
.gallery-list-type03 .gallery-bottom {
	justify-content: center;
}
.gallery-list-type03 .gallery-util {
	margin-left: 0;
	justify-content: space-between;
	width: 100%;
	position: absolute;
	top: -100%;
	left: 0;
	padding: 15px;
	transition: var(--transition);
}
.gallery-list-type03 .gallery-item:hover :is(.gallery-text-box, .gallery-util) {
	top: 0;
}
.gallery-list-type03 .board-empty {
	grid-column: span 3;
}
.gallery-list-type03 .board-row:has(.gallery-content) {
	display: none;
}
@media all and (max-width: 1023px) {
	.gallery-list-type03 {
		grid-template-columns: repeat(2, 1fr);
	}
	.gallery-list-type03 .board-empty {
		grid-column: span 2;
	}
}
@media all and (max-width: 767px) {
	.gallery-list-type03 {
		grid-template-columns: repeat(1, 1fr);
		gap: 35px 3.5%;
	}
	.gallery-list-type03 .gallery-bottom {
		margin-top: 20px;
	}
	.gallery-list-type03 .board-empty {
		grid-column: span 1;
	}
}
.gallery-list-type04 {
    --point-color: #16a78f;
}
.gallery-list-type04 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    border-top: 0;
}
.gallery-list-type04 .gallery-item {
    align-items: flex-start;
    gap: 25px 5%;
    padding: 5%;
    border: 1px solid #ebebeb;
    border-radius: var(--border-radius-15);
    transition-duration: 0.3s;
}
.gallery-list-type04 .gallery-img-box {
    position: relative;
    flex: 0 0 46%;
    aspect-ratio: 5 / 7;
    border: 1px solid #e6e6e6;
}
.gallery-list-type04 .gallery-text-box {
    height: 100%;
    padding: 5px 0;
}
.gallery-list-type04 .board-type {
    margin-bottom: 8px;
    color: var(--point-color);
    font-weight: 600;
}
.gallery-list-type04 .board-title {
    -webkit-line-clamp: 2;
    font-size: var(--font-size-26);
    font-weight: 700;
}
.gallery-list-type04 .gallery-info-box {
    margin-top: auto;
}
.gallery-list-type04 .button-wrap {
    margin-top: 20px;
}
.gallery-list-type04 .gallery-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}
.gallery-list-type04 .gallery-item:hover .gallery-img {
    transform: scale(1.1) rotate(-2deg);
}
.gallery-list-type04 .button:hover {
    background: var(--color-primary);
    color: #fff;
}
.gallery-list-type04 .board-empty {
    grid-column: span 2;
}
@media all and (max-width: 1199px) {
    .gallery-list-type04 .board-title {
        font-size: var(--font-size-24);
    }
}
@media all and (max-width: 1023px) {
    .gallery-list-type04 {
        grid-template-columns: repeat(1, 1fr);
        gap: 25px;
    }
    .gallery-list-type04 .board-empty {
        grid-column: span 1;
    }
}
@media all and (max-width: 767px) {
    .gallery-list-type04 .gallery-item {
        display: block;
    }
    .gallery-list-type04 .gallery-img-box {
        aspect-ratio: auto;
        margin-bottom: 15px;
    }
    .gallery-list-type04 .gallery-img-box img {
        height: auto;
    }
    .gallery-list-type04 .gallery-text-box {
        height: auto;
        padding: 5px;
    }
    .gallery-list-type04 .board-type {
        font-size: var(--font-size-15);
        margin-bottom: 4px;
    }
    .gallery-list-type04 .board-title {
        -webkit-line-clamp: 1;
        font-size: var(--font-size-20);
    }
    .gallery-list-type04 .gallery-info-box {
        margin-top: 10px;
    }
    .gallery-list-type04 .button-wrap {
        margin-top: 10px;
    }
}
.gallery-list.gallery-list-type05 {
    border:none;
}
.gallery-list-type05 .gallery-item {
    border:1px solid #ebebeb;
    border-radius: var(--border-radius-15);
    padding:40px;
    margin-bottom:40px;
}
.gallery-list-type05 .gallery-item:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}
.gallery-list-type05 .gallery-img-box {
    flex:0 0 50%;
}
.gallery-list-type05 .gallery-img-box::before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top:0;
    display: flex;
    align-items: center;
    justify-content: center;
    content:"NO IMAGE";
    color: #a0a0a0;
    font-size: var(--font-size-22);
}
.gallery-list-type05 .gallery-item:hover .gallery-img-box img {
    transform:scale(1.1) rotate(-2deg);
}
.gallery-list-type05 .board-type {
    color: #16a78f;
    font-weight: 600;
}
.gallery-list-type05 .board-title {
    font-size: 2.3em;
    font-weight: 600;
    letter-spacing: -1px;
}
.gallery-list-type05 .button:hover {
    background:var(--color-primary);
    color: #fff;
}
@media all and (max-width: 1023px) {
    .gallery-list-type05 .gallery-item {
        padding:30px;
        margin-bottom:30px;
        gap:25px 30px;
    }
    .gallery-list-type05 .gallery-img-box {
        flex: 0 0 35%;
    }
    .gallery-list-type05 .board-title {
        font-size: 2em;
    }
}
@media all and (max-width: 767px) {
    .gallery-list-type05 .gallery-item {
        padding:20px;
        margin-bottom:20px;
        display: block;
    }
    .gallery-list-type05 .gallery-img-box {
        flex:auto;
        aspect-ratio: auto;
        margin-bottom:15px;
    }
    .gallery-list-type05 .board-type {
        font-size: var(--font-size-15);
    }
    .gallery-list-type05 .board-title {
        font-size: var(--font-size-20);
    }
    .gallery-list-type05 .gallery-info-box .tit {
        flex:0 0 50px;
    }
    .gallery-list-type05 .button-wrap {
        margin-top:10px;
    }
}




/* ## board faq ##  */
.board-faq {
	border-top: 1px solid var(--color-primary);
}
.board-faq-item {
	border-bottom: 1px solid #d8d8d8;
}
.board-faq-mark {
	flex: 0 0 80px;
	align-self: flex-start;
}
.board-faq-mark .board-icon::before {
	font-size: var(--font-size-30);
}
.board-faq-question {
	display: flex;
	align-items: center;
	padding: 30px 25px;
	cursor: pointer;
}
.board-faq-title {
	flex: 1 1 0;
	gap: 25px;
	margin-right: 25px;
}
.board-faq-question .board-title {
	-webkit-line-clamp: unset;
}
.board-faq-question:hover .board-title {
	color: var(--color-primary);
}
.board-faq-answer {
	display: none;
	padding: 30px 25px;
	background: #f5f5f5;
}
.board-faq-answer .board-col {
	width: 100%;
}
.board-faq-answer .board-desc {
	flex: 1 1 0;
	white-space: pre-line;
	margin:0;
	font-family: inherit;
}
.board-faq-util {
	gap: 20px;
}
.board-faq-util .board-icon-down::before {
	font-size: var(--font-size-26);
}
.board-faq-question.active .board-icon-down {
	transform: rotate(180deg);
}
@media all and (max-width: 767px) {
	.board-faq-mark {
		flex: 0 0 30px;
	}
	.board-faq-mark .board-icon::before {
		font-size: var(--font-size-22);
	}
	.board-faq-question {
		padding: 20px 10px;
	}
	.board-faq-title {
		display: block;
		margin-right: 10px;
	}
	.board-faq-title .badge {
		margin-bottom: 7px;
	}
	.board-faq-answer {
		padding: 20px 10px;
	}
	.board-faq-util {
		gap: 5px;
	}
	.board-faq-util .board-icon-down::before {
		font-size: var(--font-size-20);
	}
}



/* ## board calendar ##  */
.cal-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #767676;
}
.cal-tag::before {
	content: "";
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #254daa;
}
.cal-tag.tag01::before {background: #00c0ff;}
.cal-tag.tag02::before {background: #1e6c29;}
.cal-tag.tag03::before {background: #e00099;}
.cal-tag.tag04::before {background: #9433cc;}
.cal-tag.tag05::before {background: #a1980b;}
.cal-tag.tag06::before {background: #254daa;}
.cal-tag.tag07::before {background: #13c138;}
.cal-tag.tag08::before {background: #f57c07;}
.cal-tag.tag09::before {background: #e02000;}
.cal-tag.tag10::before {background: #2bb395;}

.calendar-header {
	position: relative;
	padding-bottom: 40px;
	text-align: center;
}
.calendar-title {
	position: relative;
	display: inline-block;
	width: 290px;
}
.calendar-title h2 {
	font-size: var(--font-size-30);
	font-weight: 600;
}
.calendar-title button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	background: var(--color-primary);
	color: #fff;
}
.calendar-title .btn-prev {
	left: 0;
}
.calendar-title .btn-next {
	right: 0;
}
.calendar-title .btn-prev::after {
	content: "\f104";
	font-family: 'Font Awesome 6 Pro';
	font-weight: 600;
}
.calendar-title .btn-next::after {
	content: "\f105";
	font-family: 'Font Awesome 6 Pro';
	font-weight: 600;
}
.calendar-tag {
	position: absolute;
	left: 20px;
	bottom: 20px;
	padding-left: 65px;
	width: 385px;
	text-align: left;
}
.calendar-tag .cal-tag {
	margin-right: 10px;
}
.calendar-tag .cal-today {
	position: absolute;
	left: 0;
	bottom: 0;
}
.calendar-tag .cal-today::before {
	width: 13px;
	height: 13px;
	border-radius: 0;
	background: #e4e4e4;
}
.calendar-body {
	display: flex;
	align-items: flex-start;
}
.calendar-body>section {
	width: 50%;
	height: 480px;
}
.calendar-table {
	width: 100%;
	height: 100%;
}
.calendar-table thead th {
	height: 50px;
	background: var(--color-primary);
	text-align: center;
	color: #fff;
}
.calendar-table tbody td {
	height: 70px;
	border: 1px solid #dfdfdf;
	padding-top: 6px;
	text-align: center;
	vertical-align: top;
}
.calendar-table tbody td .num {
	display: block;
	font-size: var(--font-size-15);
	color: #767676;
}
.calendar-table tbody td.day-sun .num {
	color: #eb0505;
}
.calendar-table tbody td.day-sat .num {
	color: #1852d5;
}
.calendar-table tbody td.day-today {
	background: #e4e4e4;
}
.schedule-box .cal-tag {
	position: relative;
	display: inline-block;
	margin: 0 2px;
	width: 10px;
	height: 10px;
}
.schedule-box .cal-tag::before {
	position: absolute;
	top: 0;
	left: 0;
}
.schedule-title {
	line-height: 50px;
	font-size: var(--font-size-20);
	font-weight: 500;
	background: #eaeaea;
	color: #333;
	text-align: center;
}
.schedule-list {
	height: 430px;
	border: 10px solid #eaeaea;
	border-top: 0;
	padding: 0 20px 20px;
	overflow-y: auto;
}
.schedule-item {
	padding: 15px 0;
	display: flex;
	align-items: flex-start;
	width: 100%;
	border-bottom: 1px solid #e4e4e4;
}
.schedule-item .title {
	flex: 0 0 100px;
	font-size: var(--font-size-18);
	font-weight: 500;
	color: #666;
	text-align: center;
}
.schedule-item .desc-box {
	padding-left: 10px;
}
.schedule-item .desc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px 0;
	font-size: var(--font-size-15);
}
.schedule-item .desc:not(:last-child) {
	margin-bottom: 10px;
}
.schedule-item .cal-tag {
	flex-shrink: 0;
}
.schedule-item .cal-time {
	flex-shrink: 0;
	margin: 0 25px 0 10px;
	color: #767676;
}
.schedule-btn:hover {
	text-decoration: underline;
	color: var(--color-primary);
}
.calendar-modal-header {
	border-top: 1px solid #000;
	border-bottom: 1px solid #c8c8c8;
	padding: 10px 10px 0;
	margin-bottom: 20px;
}
.calendar-modal-header .title-xs {
	margin-top: 5px;
}
.calendar-modal-body {
	padding: 0 10px;
	min-height: 200px;
}
.calendar-modal-body .cal-item {
	display: flex;
	padding: 5px 0;
}
.calendar-modal-body .cal-item .title {
	flex: 0 0 40px;
	font-weight: 500;
}
.calendar-modal-body .cal-item .desc {
	flex-grow: 1;
	color: #666;
	padding-left: 10px;
}
@media screen and (max-width: 1199px){
	.calendar-header {
		padding-bottom: 20px;
	}
	.calendar-tag {
		position: relative;
		left: 0;
		bottom: 0;
	}
}
@media screen and (max-width: 1023px) {
	.calendar-title h2 {
		font-size: var(--font-size-28);
	}
	.schedule-list {
		padding: 0 15px 15px;
	}
	.schedule-item {
		flex-direction: column;
	}
	.schedule-item .title {
		flex: 0 0 auto;
		margin-bottom: 15px;
	}
	.schedule-item .desc-box {
		padding-left: 0
	}
}
@media screen and (max-width: 767px) {
	.cal-tag {
		font-size: var(--font-size-15);
	}
	.calendar-header {
		padding-bottom: 10px;
	}
	.calendar-title {
		margin-bottom: 20px;
		width: 240px;
	}
	.calendar-title h2 {
		font-size: var(--font-size-24);
	}
	.calendar-tag {
		font-size: var(--font-size-15);
		padding-left: 0;
		width: 100%;
	}
	.calendar-tag .cal-today {
		position: unset;
	}
	.calendar-table thead th {
		height: 40px;
		font-size: var(--font-size-14);
		font-weight: 400;
	}
	.calendar-table tbody td .num {
		font-size: var(--font-size-14);
	}
	.calendar-body {
		flex-direction: column;
	}
	.calendar-body>section {
		width: 100%;
	}
	.schedule-title {
		font-size: var(--font-size-18);
	}
	.schedule-item .title {
		font-size: var(--font-size-16);
		margin-bottom: 10px;
	}
	.schedule-item .desc {
		font-size: var(--font-size-15);
	}
	.schedule-item .cal-time {
		margin: 0 10px;
	}
	.calendar-modal-header {
		padding: 10px 5px 0;
	}
	.calendar-modal-body {
		padding: 0 5px 5px;
		min-height: auto;
	}
	.calendar-modal-body .cal-item .title {
		font-size: var(--font-size-15);
	}
	.calendar-modal-body .cal-item .desc {
		font-size: var(--font-size-15);
	}
}

/* ## 첨부파일 ## */
.m-ratioBox-wrap {
    width: 100%;
    position: relative;
    border: 1px solid #ebebeb;
    overflow: hidden;
}
.m-ratioBox-wrap .m-ratioBox {
    margin-bottom: 13px;
    aspect-ratio: 1.5 / 1;
    background: #fff;
    border: 1px solid #ebebeb;
    overflow: hidden;
    position: relative;
}
.m-ratioBox-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.m-ratioBox-wrap img::before {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    content: "NO IMAGE";
    color: #a0a0a0;
}
.m-boards-btn {
    display: inline-block;
    margin-left: 5px;
    padding: 10px 25px;
    position: relative;
    top: 0;
    left: 0;
    font-size: 15px;
    font-weight: 500;
    background-color: #555;
    color: #fff;
    transition: box-shadow .3s, left .3s, top .3s, transform .3s;
    z-index: 1;
    z-index: 2;
}
.m-boards-btn.type-big {
    font-size: 18px;
    padding: 15px 60px;
}
.m-boards-btn.type-small {
    font-size: 14px;
    padding: 6px 14px;
}
.m-input-file input {
    display: none;
}
.m-boardWrite.type-general01 .m-boardWrite-images {
    padding-left: 230px;
    position: relative;
    border: 1px solid #e1e1e1;
}
.m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail {
    width: 230px;
    padding: 10px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f0f0f0;
}
.m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail .m-boards-btn {
    font-size: 14px;
}
.m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail .m-boards-btn.type-small {
    display: inline-block;
    width: 126px;
    margin-left: 0;
    padding: 6px 0;
    border-radius: 3px;
}
.m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail .m-boards-btn.bg-gray {
    background-color: #afafaf;
}
.m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail .m-boards-btn.m-input-file {
    display: inline-block;
    width: 80px;
    padding: 6px 0;
    float: right;
    border-radius: 3px;
}
.m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail .m-boards-btn.m-input-file label {
    display: block;
    width: 100%;
    font-size: 14px;
    color: #fff;
    text-align: center;
    cursor: pointer;
}
.m-boardWrite.type-general01 .m-boardWrite-images-files {
    height: 205px;
    padding: 20px 35px;
    overflow-y: auto;
}
.m-boardWrite.type-general01 .m-boardWrite-images-file {
    padding: 3px 5px;
    position: relative;
    border-bottom: 1px solid #e1e1e1;
    cursor: pointer;
    z-index: 1;
}
.m-boardWrite.type-general01 .m-boardWrite-images-file.active {
    background-color: #eee;
}
.m-boardWrite.type-general01 .m-boardWrite-images-file .btn_remove {
    position: absolute;
    right: 5px;
    z-index: 10;
}
.m-boardWrite.type-general01 .m-boardWrite-images-file .btn_remove::after {
    content: "\f057";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    color: #a0a0a0;
}
.m-boardWrite.type-general01 .m-boardWrite-images-file.point::after {
    content: "\e123";
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    color: #ffb400;
    position: absolute;
    right: 28px;
}
@media all and (max-width: 767px) {
    .m-boardWrite.type-general01 .m-boardWrite-images-files {
        padding: 10px;
    }
    .m-boardWrite.type-general01 .m-boardWrite-images {
        padding-left: 0;
    }
    .m-boardWrite.type-general01 .m-boardWrite-images-boxThumbnail {
        width: 100%;
        position: relative;
    }
}

/* ## 로딩 ## */
.m-loading-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    z-index: 5;
}
.m-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.m-loading-text {
    margin-top: 5px;
    color: #fff;
}

@keyframes ldio-9gvb75r1nia {
    0% { opacity: 1 }
    100% { opacity: 0 }
}
.ldio-9gvb75r1nia div {
    left: 29px;
    top: 2px;
    position: absolute;
    animation: ldio-9gvb75r1nia linear 1s infinite;
    background: #fff;
    width: 2px;
    height: 12px;
    border-radius: 0px / 0px;
    transform-origin: 1px 28px;
}.ldio-9gvb75r1nia div:nth-child(1) {
     transform: rotate(0deg);
     animation-delay: -0.9166666666666666s;
     background: #fff;
 }.ldio-9gvb75r1nia div:nth-child(2) {
      transform: rotate(30deg);
      animation-delay: -0.8333333333333334s;
      background: #fff;
  }.ldio-9gvb75r1nia div:nth-child(3) {
       transform: rotate(60deg);
       animation-delay: -0.75s;
       background: #fff;
   }.ldio-9gvb75r1nia div:nth-child(4) {
        transform: rotate(90deg);
        animation-delay: -0.6666666666666666s;
        background: #fff;
    }.ldio-9gvb75r1nia div:nth-child(5) {
         transform: rotate(120deg);
         animation-delay: -0.5833333333333334s;
         background: #fff;
     }.ldio-9gvb75r1nia div:nth-child(6) {
          transform: rotate(150deg);
          animation-delay: -0.5s;
          background: #fff;
      }.ldio-9gvb75r1nia div:nth-child(7) {
           transform: rotate(180deg);
           animation-delay: -0.4166666666666667s;
           background: #fff;
       }.ldio-9gvb75r1nia div:nth-child(8) {
            transform: rotate(210deg);
            animation-delay: -0.3333333333333333s;
            background: #fff;
        }.ldio-9gvb75r1nia div:nth-child(9) {
             transform: rotate(240deg);
             animation-delay: -0.25s;
             background: #fff;
         }.ldio-9gvb75r1nia div:nth-child(10) {
              transform: rotate(270deg);
              animation-delay: -0.16666666666666666s;
              background: #fff;
          }.ldio-9gvb75r1nia div:nth-child(11) {
               transform: rotate(300deg);
               animation-delay: -0.08333333333333333s;
               background: #fff;
           }.ldio-9gvb75r1nia div:nth-child(12) {
                transform: rotate(330deg);
                animation-delay: 0s;
                background: #fff;
            }
.loadingio-spinner-spinner-v8vnze5ye18 {
    width: 60px;
    height: 60px;
    display: inline-block;
    overflow: hidden;
}
.ldio-9gvb75r1nia {
    width: 100%;
    height: 100%;
    position: relative;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0; /* see note above */
}
.ldio-9gvb75r1nia div { box-sizing: content-box; }



.type-qna .m-boardWrite.type-general01 .m-boardWrite-images {
    margin-top:20px;
}
.m-boardWrite.type-general01.admin {
    max-width: 1590px;
    padding:0 20px;
    margin:0 auto;
}
.m-boardWrite.admin .wrap-table table {
    width: 100%;
}
.m-boardWrite.admin .wrap-table .m-input-text input {
    width: 100%;
}
.m-boardWrite.admin .wrap-table {
    border-top:2px solid var(--color-secondary);
}
.m-boardWrite.admin .wrap-table tr {
    border-bottom:1px solid #e1e1e1;
}
.m-boardWrite.admin .wrap-table :is(th, td) {
    padding:10px 0;
}
.m-boardWrite.type-general01.admin .m-boardWrite-images {
    margin-top:20px;
}
.m-boardWrite.type-general01.admin .m-boards-btns {
    text-align: center;
    margin-top:30px;
}

.board-category {
    margin-bottom: clamp(26px, 3.13vw, 32px);
}

.board-category .category-list {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    border-radius: 4px;
}

.board-category .category-list .lnk {
    display: flex;
    min-width: 0;
    min-height: clamp(48px, 3.13vw, 55px);
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    padding: 10px;
    border: 0;
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    font-size: var(--font-body);
    font-weight: 400;
    text-align: center;
}

.board-category .category-list:has(.lnk:nth-child(4)) .lnk {
    flex: none;
    width: 25%;
    max-width: 25%;
}

.board-category .category-list .lnk:nth-child(4n + 1) {
    border-left: 1px solid var(--color-border);
}

.board-category .category-list .lnk:nth-child(-n + 4) {
    border-top: 1px solid var(--color-border);
}

.board-category .category-list .active {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--White);
    font-weight: 600;
}

/* [게시판] 기본 목록 */
.board-wrap {
	margin-bottom: clamp(120px, 3.13vw, 160px);
}

/* [게시판] 진행상태 */
.board-status-filter {
    display: flex;
    align-items: center;
    gap: clamp(20px, 2.09vw, 40px);
    margin-bottom: clamp(32px, 3.13vw, 40px);
}

.board-status-title {
    flex: 0 0 auto;
    font-size: var(--font-body-lg);
    font-weight: 600;
    line-height: 1.5;
}

.board-status-tabs {
    display: grid;
    width: min(100%, 620px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.board-status-filter .badge {
    display: flex;
    min-height: clamp(48px, 3.13vw, 60px);
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background: var(--White);
    font-size: var(--font-body);
    font-weight: 500;
    cursor: pointer;
}

.board-status-tabs .badge:focus-visible {
    border-color: var(--color-primary);
    color: var(--color-primary);
    outline: 3px solid var(--Blue-800);
    outline-offset: 3px;
}

.board-status-filter .badge.active {
    border: 2px solid var(--color-primary);
    color: var(--color-primary);
    font-weight: 600;
}

/* [게시판] 총 건수, 검색영역 묶음 */
.board-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

@media all and (max-width: 768px) {
    .board-category .category-list .lnk {
        padding: 8px 4px;
    }

    .board-status-filter {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .board-status-tabs {
		width: 100%;
	}

    .board-toolbar {
        align-items: stretch;
		flex-direction: column-reverse;
        gap: 24px;
        margin-bottom: 8px;
    }

}
