@charset "utf-8";
/**
 * lib2.css
 * Add Share Contents ..
 * 20240603 | @m | 최초작성. 요구반영. 결함개선. 고도화
 * 20240607 | @m |
 * 20240621 | @m |
 * 20240628 | @m |
 * 20240705 | @m |
 * 20240712 | @m |
 * 20240719 | @m |
 * 20240809 | @m |
 * 20240816 | @m |
 * 20240823 | @m |
 * 20240830 | @m |
 * 20240906 | @m |
 * 20240907 | @m |
 * 20240913 | @m |
 * 20240920 | @m |
 * 20240927 | @m |
 * 20241011 | @m |
 * 20241018 | @m |
 * 20241025 | @m |
 * 20241115 | @m |
 * 20250102 | @m | summernote 보정 .note-editor
 * 20250225 | @m | .cm1fcard1
 * 20250306 | @m | .cm1tag1
 * 20250318 | @m | .cm1write2 .box, .cm1write3, .cm1dlist1, .cm1compare1
 * 20250321 | @m | .cm1write3 .criteria-item, 스피너 포함 애니메이션 4종
 * 20250327 | @m | .cm1img1upload2
 * 20250521 | @m | .cm1video1review1, .cm1dlist2
 * 20250709 | @m | .cm1fcard1, var(), .cm1hg1
 * 20250710 | @m | var()
 * 20250811 | @m | .selectmenu1
 * 20251110 | @m | .cm1bbs1list1, table.t1
 * 20251112 | @m | 수식 개선
 * 20251113 | @m | .darkmode
 * 20251230 | @m | .cm1dlist1, a.link1
 */

/** Compatible! [EG~] 20230120~ */

/** Table of contents ))
 | Overwrite
 | Add Share Contents
 | Components Library
 | RWD
 */


/* All Device ◆◆◆◆◆◆◆◆◆◆ */


/* ◇◆ 공용 ◇◆ */


/* var() ~20250709 (( 20240405 */
:root{

	/* color */
	--color-body:#555; /* 기본색 (body 글) */

	--color1:#2dca89; /* 주요색 (기본 버튼배경) */
	--color1v1:#2a5; /* #14c57c 주요색 (글) */
	--color1op1:#2dca8919;
	--color1op2:#2dca8933;

	--color2:#ff908d; /* 강조색 (배경) */
	--color2v1:#e41b1b; /* 강조색 (글) */
	--color2op1:#ff908d19;
	--color2op2:#ff908d33;

	--color3:#8896a5; /* 보조색 (표thead라인) */
	--color3v1:#6b7683; /* 보조색 (글) */
	--color3op1:#77889919;
	--color3op2:#77889933;

	--color11:#e5e7eb; /* (표)라인색  */
	--color12:#f3f4f6; /* (표)라인색 (연한) */

	--color21:#f9fafb; /* 배경색 (th) */
	--color22:#fcfcfc; /* 배경색 (줄무늬) */

	/* 추가색 (버튼배경..) */
	--color-red:#fc5e66;
	--color-orange:#f7682b; /* (6) */
	--color-amber:#e3780d; /* (6) */
	--color-yellow:#be8a45; /* (7) */
	--color-lime:#60a603; /* (6) */
	--color-green:#0dab48; /* (6) */
	--color-emerald:#26a87d; /* (6) */
	--color-teal:#24a59a; /* (6) */
	--color-cyan:#24a1c2; /* (6) */
	--color-sky:#339dda; /* (6) */
	--color-blue:#4d94ff;
	--color-indigo:#808aff;
	--color-violet:#a97bff;
	--color-purple:#bf6fff;
	--color-fuchsia:#e650fc;
	--color-pink:#f858ac;
	--color-rose:#ff5880;

	/* radius */
	--radius1:.3125rem; /* 폼요소 */
	--radius2:.625rem; /* 박스 (레이어팝업) */
	--radius3:1.25rem;

	 /* shadow */
	--shadow1: 0 3.5px 5.5px 0 #00000005;
	--shadow2-in-dark1: inset 0 0 999px 0 #0001;
	--shadow2-in-light1: inset 0 0 0 999px #fff6;
	--shadow3: 0 8px 24px -8px rgba(128,150,162,0.2);
	--shadow3-in: inset 0 8px 24px -8px rgba(128,150,162,0.2);

	 /* filter */
	--filter1:brightness(.85) contrast(1.4);
}


/* 머티리얼아이콘 20240830 */
.material-symbols-outlined,
.material-symbols-rounded,
.material-icons{
	width:1em;
	height:1em;
	/* margin:0 0 .0625em; */
	font-size:1.5rem; /* 24px */
	overflow:hidden;
}


/* 수식 개선 20251112 */
mjx-container[jax="CHTML"][display="true"] + br{
	display:none;
}
/* mjx-container[jax="CHTML"][display="true"] + br + mjx-container{
	margin-top:0;
} */
mjx-math:not([x]){
	white-space: normal;
}
mjx-mtd{
	/* padding-bottom:.75em !important; */
}


/* … lib.css, lib1cp1.css )) Overwrite 20251230 ◆◆◆ */


[href]{
	color:inherit;
}
a.link1 { 
	color: #06c;
	text-decoration: none;
	text-underline-position:under;
}
a.link1:visited { color: #369; }
a.link1:hover,
a.link1:active,
a.link1:focus {
	color: #480;
	text-decoration: underline;
}

*:focus:not(:focus-visible){
	outline:0;
}

input::placeholder,
textarea::placeholder{
	color:#bbb;
}
:focus::placeholder{
	color:#888;
}


/* 라인 20240705 */
hr{border-color:var(--color12);}


/* 제목 20240607 */
.hb1[class]{
	padding:0;
	border:0;
	background:none;
}


/* 링크.type1(글.밑줄) 20230303 */
.link1.type1{
	border-bottom:1px solid;
	color:#06c;
}


/* 강조 20240906 */
em,
.em{color:var(--color1v1);}
.em1{color:var(--color1v1);}
.em2{color:var(--color2v1);}
.em3{color:var(--color3v1);}


/* 전경 컬러 20240906 */
.c-blue{color:var(--color-blue);}

/* 배경 컬러 20240906 */
.bgc-1op1[class][class]{background-color:var(--color1op1);}
.bgc-21{background-color:var(--color21);}
.bgc-22{background-color:var(--color22);}


/* 보더 컬러 20240906 */
.bdc-1op1[class][class]{border-color:var(--color1op1);}
.bdc-11{border-color:var(--color11);}
.bdc-12{border-color:var(--color12);}


/* 폼 컨트롤 요소 스타일 어울림 20240906 */
.fce1{
	box-sizing:border-box;
	height:2.0625rem;
	margin-top:.375rem;
	margin-bottom:.375rem;
	padding:.3125rem .75em;
	border-radius:var(--radius1);
	background-color:var(--color21);
	font-size:.875rem;
}

/* 버튼 20240823 */
.button[class]{
	/* font-weight:700; */
}
.button *~*{
	margin-left:.125em;
}
.button .material-icons,
.button .material-symbols-outlined{
	margin:0 0 .0625em;
}
.button .material-icons:first-child,
.button .material-symbols-outlined:first-child{
	margin-left:-.25em;
}
.button .material-icons:last-child,
.button .material-symbols-outlined:last-child{
	margin-right:-.25em;
}
.button:has(.t1.blind) .material-icons,
.button .material-icons:only-child,
.button:has(.t1.blind) .material-symbols-outlined,
.button .material-symbols-outlined:only-child{
	margin:0;
}
/*  */
.button.default{border-color:#0005;background-color:#fff;color:#444;}
.button.hollow{border-color:var(--color1, #0006);background-color:#fff;color:var(--color1v1, #333);}
.button.tertiary{
	/* border-color:transparent; */
	background-color:#a2aaae;
	color:#fff;
}
.button.edit{border-color:#0000;background-color:var(--color-blue);color:#fff;} /* 수정 */
.button.del{border-color:#0000;background-color:var(--color-rose);color:#fff;} /* 삭제 */
.button.grade{border-color:#0000;background-color:var(--color-cyan);color:#fff;} /* 성적 */
/*  */
.button.red{border-color:#0000;background-color:var(--color-red);color:#fff;}
.button.orange{border-color:#0000;background-color:var(--color-orange);color:#fff;}
.button.amber{border-color:#0000;background-color:var(--color-amber);color:#fff;}
.button.yellow{border-color:#0000;background-color:var(--color-yellow);color:#fff;}
.button.lime{border-color:#0000;background-color:var(--color-lime);color:#fff;}
.button.green{border-color:#0000;background-color:var(--color-green);color:#fff;}
.button.emerald{border-color:#0000;background-color:var(--color-emerald);color:#fff;}
.button.teal{border-color:#0000;background-color:var(--color-teal);color:#fff;}
.button.cyan{border-color:#0000;background-color:var(--color-cyan);color:#fff;}
.button.sky{border-color:#0000;background-color:var(--color-sky);color:#fff;}
.button.blue{border-color:#0000;background-color:var(--color-blue);color:#fff;}
.button.indigo{border-color:#0000;background-color:var(--color-indigo);color:#fff;}
.button.violet{border-color:#0000;background-color:var(--color-violet);color:#fff;}
.button.purple{border-color:#0000;background-color:var(--color-purple);color:#fff;}
.button.fuchsia{border-color:#0000;background-color:var(--color-fuchsia);color:#fff;}
.button.pink{border-color:#0000;background-color:var(--color-pink);color:#fff;}
.button.rose{border-color:#0000;background-color:var(--color-rose);color:#fff;}


/* 버튼.type0(무지)(아이콘+글)(이전페이지..) 20231208 */
.button.type0{
	height:auto;
	padding:0;
	border-color:transparent;
	background:transparent;
	color:inherit;
	box-shadow:none;
}
.button.type0:hover{
	color:var(--color1);
}


/* 버튼.type1(아이콘) 20240607 */
.button.type1{
	width:2rem;
	padding:0;
}


/* 버튼.type2(레이어팝업하단, ) 20240329 */
.button.type2{
	min-width:7.5rem;
}
.button.type2 .ic1{
	font-size:1rem;
}


/* 버튼.type3(콜아웃, ) 20240412 */
.button.type3{
	height:3.75rem;
	border-color:var(--color12);
	border-radius:var(--radius2);
	background-color:#fff;
	color:#333;
	font-size:1.125rem;
	box-shadow:none;
}
.button.type3:hover,
.button.type3:focus{
	border-color:rgba(0,0,0, .58);
}


/* 버튼.type4(아이콘만) 20240812 */
.button.type4{
	display:inline-block;
	width:1.25rem;
	height:1.25rem;
	margin:0 -.125rem 0 0;
	padding:0;
	border:0;
	background:none;
	line-height:1;
}
.button.type4:before{
	color:var(--color2);
	font-size:1.25rem;
	font-family:'Material Symbols Outlined';
}
.button.type4:hover:before{
	font-variation-settings:var(--fvs1), 'FILL' 1;
}
/*  */
.button.type4.del:before{
	content:'\e5c9'; /* cancle */
}


/* 선택상자 20240906 */
select.small{
	height:auto; /* ((28px */
	min-height:0;
	padding:.25em .53125em .25em .5em;
	font-size:.875em;
	line-height:1.375;
}


/* 테이블.t1 20251110 */
table.t1{
	border:0;
	border-top:1px solid var(--color12);
}
table.t1>*>tr{
	background:#fff;
}
table.t1>*>tr>th,
table.t1>*>tr>td{
	padding:.75em .75em;
	border-top:1px solid var(--color11);
	border-bottom:1px solid var(--color12);
}
table.t1>*>tr>th{
	background:none;
}
table.t1>thead>tr>th{
	padding:.75em .75em;
	border-top:1px solid var(--color12);
	/* border-bottom:0; */
	background:var(--color21, #f9fafb);
	color:#6b7280;
}
table.t1>tbody>tr>th{
	background:none;
	color:inherit;
	font-weight:400;
}
/* .type2 */
table.t1.type2>tbody>tr:last-child>th,
table.t1.type2>tbody>tr:last-child>td{
	border-bottom:1px solid transparent;
}


/* 테이블.t1 20241018 */
table.t2{
	border:1px solid var(--color11);
	background:#fff;
}
table.t2>*>tr>th,
table.t2>*>tr>td{
	padding:.5em .75em;
	border-color:var(--color11);
}
table.t2>*>tr>th{
	background:var(--color21, #f9fafb);
}
table.t2>tbody>tr>th{
	background:var(--color22, #fcfcfc);
}


/* 선택메뉴 20250811 */
.selectmenu1{
	width:10em;
	height:2.5rem;
	color:var(--color3v1);
}
.selectmenu1 .title .a1{
	border-color:transparent transparent var(--color12);
	border-radius:0;
	color:var(--color3v1);
}
.selectmenu1 .title .a1 .t1{
	color:var(--color3v1);
}
.selectmenu1 .title .a1 .ic1{
	margin:-.375em .625em;
	border-width:.5625em .3125em 0 .3125em;
	border-top-color:var(--color3v1);
}
.selectmenu1 .title.on .a1{
	border-color:#ccc;
	border-radius:0;
}
.selectmenu1option{
	left:auto;
	min-width:300px;
}
.selectmenu1option .option .a1{
	color:inherit;
	font-size:.9375em;
}


/* ◇◆ Added to This Project, Content Styles to Share ◇◆◇◆◇◆◇◆◇◆ */
/* ◇◆ UI Component ◇◆◇◆◇◆◇◆◇◆ */



/* 페이지.쪽수 .pagination.cm1pagination1 20240412 */
.cm1pagination1{
	display:flex;
	justify-content:center;
	align-items:center;
}
.cm1pagination1 .pages .tt1{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	height:1.875rem;
	margin:0 2.25rem .375rem;
	border:1px solid transparent;
}
.cm1pagination1 .control .m a .ic{
	background:url() no-repeat 0 0 / contain;
}
.cm1pagination1 .control .m.prev a .ic{background-image:url(../../img/lib2/ic40a1c0a1left1.png);}
.cm1pagination1 .control .m.next a .ic{background-image:url(../../img/lib2/ic40a1c0a1right1.png);}


/* 탭 20241018 */
.cm1tabs1{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(calc(30% - 2px), auto));
	gap:0;
	z-index:0;
	position:relative;
	margin:0 0 1.375em;
	/* border:1px solid var(--color11); */
	border-radius:var(--radius2);
	overflow:hidden;
}
.cm1tabs1:before{content:'';
	display:block;
	position:absolute;left:0;right:0;top:0;bottom:0;
	border:1px solid var(--color11);
	border-radius:var(--radius2);
}
.cm1tabs1 .a1{
	position:relative;
	box-sizing:border-box;
	display:grid;
	place-items:center;
	position:relative;
	height:3em;
	margin:0 -1px -1px 0;
	padding:0 .75em;
	border:1px solid var(--color11);
	border-width:0 1px 1px 0;
	background:none;
}
.cm1tabs1 .a1.on{
	z-index:1;
	margin:0 -1px -1px;
	background:var(--color1);
	color:#fff;
	cursor:default;
}
/*  */
.cm1tabs1pane{
	display:none;
}
.cm1tabs1pane.on{
	display:block;
}
/* .type2 */
.cm1tabs1.type2,
.cm1tabs1.type2:before{
	border-radius:9999px;
}
.cm1tabs1.type2 .a1{
	height:2.0625rem;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1tabs1{
		display:flex;
		flex-wrap:wrap;
	}
	.cm1tabs1 .a1{
		flex:auto;
		min-width:calc(12.5% - 2px);
		padding:0 1.25em;
	}
	.cm1tabs1.type2 .a1:first-child{
		padding-left:1.5em;
	}
	.cm1tabs1.type2 .a1:last-child{
		padding-right:1.5em;
	}
}


/* 탭 20240426 */
.cm1tabs2{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(calc(30% - 2px), auto));
	gap:0;
	z-index:0;
	position:relative;
	margin:2.5em 0;
	padding:0 1px 0 0;
	overflow:hidden;
}
.cm1tabs2 .a1[class]{
	box-sizing:border-box;
	display:grid;
	place-items:center;
	position:relative;
	height:3em;
	margin:0 -1px 0 0;
	padding:0 .75em;
	border:1px solid #ccc;
	border-bottom-color:#888;
	border-radius:var(--radius2) var(--radius2) 0 0;
	background:#fcfcfc;
	color:#888;
	font-weight:500;
}
.cm1tabs2 .a1.on{
	z-index:1;
	border-color:#888;
	border-bottom-color:#fff;
	background:#fff;
	color:#333;
	cursor:default;
}


/* 탭 20240906 */
.cm1tabs3{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(calc(30% - 2px), auto));
	gap:0;
	z-index:0;
	position:relative;
	margin:0 0 1.375em;
	border-radius:var(--radius2);
	background:var(--color21);
	overflow:hidden;
}
.cm1tabs3 .a1{
	position:relative;
	box-sizing:border-box;
	display:grid;
	place-items:center;
	position:relative;
	height:3em;
	margin:0 -1px -1px 0;
	padding:0 .75em;
	border-radius:var(--radius2);
	background:none;
}
.cm1tabs3 .a1.on{
	z-index:1;
	margin:0 -1px -1px;
	background:var(--color1);
	color:#fff;
	cursor:default;
}
/*  */
.cm1tabs3pane{
	display:none;
}
.cm1tabs3pane.on{
	display:block;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1tabs3{
		display:flex;
		flex-wrap:wrap;
	}
	.cm1tabs3 .a1{
		flex:auto;
		min-width:calc(12.5% - 2px);
		padding:0 1.25em;
	}
}


/* 탭 20241025 */
.cm1tabs4{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(30%, auto));
	gap:0;
	z-index:0;
	position:relative;
	margin:0 0 1.375em;
	border-top:2px solid var(--color12);
	border-bottom:2px solid var(--color12);
}
.cm1tabs4 .a1{
	display:flex;
	justify-content:center;
	position:relative;
	height:3em;
	font-weight:500;
	font-size:.9375rem;
}
.cm1tabs4 .a1 .t1{
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	margin:0 0 -2px;
	padding:0 .75em 4px;
}
.cm1tabs4 .a1 .t1:before{content:'';
	display:block;
	position:absolute;left:0;right:0;bottom:0;
	width:0;
	height:2px;
	margin:0 auto;
	background:var(--color1);
	transition:.2s;
}
.cm1tabs4 .a1.on{
	z-index:1;
	color:#333;
	cursor:default;
}
.cm1tabs4 .a1.on .t1:before{
	width:100%;
}
/*  */
.cm1tabs4pane{
	display:none;
}
.cm1tabs4pane.on{
	display:block;
}


/* 스위치 20231215 */
.cm1switch1[class]{
	display:inline-flex; /* ☆ */
	align-items:center;
	color:inherit;
	vertical-align:middle;
	text-decoration:none;
}
.cm1switch1 .t1{
	margin:0 .375em 0 0;
}
.cm1switch1 .sw-on{}
.cm1switch1 .sw-off{}
.cm1switch1 .ic1{
	position:relative;
	width:2em;
	height:1em;
	border:2px solid transparent;
	border-radius:9999px;
	background:#ccc;
}
.cm1switch1 .ic1:before{content:''; /* ○ */
	display:block;
	position:absolute;left:0;right:auto;top:0;
	width:calc(1em);
	height:calc(1em);
	margin:0 auto 0 0;
	border-radius:50%;
	background:#fff;
	transition:1.2s;
}
/*  */
.cm1switch1:hover .ic1,
.cm1switch1:focus .ic1{
	box-shadow:inset 0 0 999px 0 #0001;
}
.cm1switch1.on .t1{
	color:var(--color1);
}
.cm1switch1.on .ic1{
	background:var(--color1);
}
.cm1switch1.on .ic1:before{
	position:absolute;left:auto;right:0;top:0;
	margin:0 0 0 auto;
}


/* 폼콘트롤 (label for 속성없이) 20241011 */
.cm1fcontrol1{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	position:relative;
	margin:.3125em 0;
	line-height:1.375;
	text-align:left;
	word-wrap:break-word;
	word-break:keep-all;
}
.cm1fcontrol1 .item,
.cm1fcontrol1 .cb1{ /* label */
	display:inline-flex; /* ☆ */
	margin:0 .75em 0 0;
	padding:0;
}
.cm1fcontrol1 .item input[type='checkbox'],
.cm1fcontrol1 .item input[type='radio'],
.cm1fcontrol1 .cb1 input[type='checkbox'],
.cm1fcontrol1 .cb1 input[type='radio']{
	flex:none;
	width:1em;
	height:1em;
	margin:.5em .375em;
}
.cm1fcontrol1 .item .t1,
.cm1fcontrol1 .cb1 .t1{
	flex:1;
	position:relative;
	margin:calc(.75em - .375em) 0;
}
/* .cm1fcontrol1.skin1(디자인) */
.cm1fcontrol1.skin1 .cb1 input[type='checkbox'],
.cm1fcontrol1.skin1 .cb1 input[type='radio']{
	position:absolute;left:-9999px; /* [FF]fix) */
	width:0;height:0;
	font-size:0;
	opacity:0;
}
.cm1fcontrol1.skin1 .cb1 .t1{
	display:flex;
	/* flex-wrap:wrap; */
	/* justify-content:center; */
}
.cm1fcontrol1.skin1 .cb1 input[type='checkbox']~.t1:before,
.cm1fcontrol1.skin1 .cb1 input[type='radio']~.t1:before{content:'';
	flex:none;
	width:1.25rem;
	height:1.375em;
	min-height:1.25rem;
	background:url() no-repeat center center / contain;
	margin:-.0625em .375em 0 .125em;
}
.cm1fcontrol1.skin1 .cb1 input[type='checkbox']~.t1:before{background-image:url(../../img/lib2/ic40form1check1off1.png);}
.cm1fcontrol1.skin1 .cb1 input[type='checkbox']:checked~.t1:before{background-image:url(../../img/lib2/ic40form1check1on1.png);}
.cm1fcontrol1.skin1 .cb1 input[type='radio']~.t1:before{background-image:url(../../img/lib2/ic40form1radio1off1.png);}
.cm1fcontrol1.skin1 .cb1 input[type='radio']:checked~.t1:before{background-image:url(../../img/lib2/ic40form1radio1on1.png);}
.cm1fcontrol1.skin1 .cb1 input:disabled~.t1{
	filter:saturate(0) opacity(.5);
}
.cm1fcontrol1.skin1 .cb1:hover input:not(:disabled) ~ *{
	filter:var(--filter1);
}
/* .cm1fcontrol1.skin1 .cb1 input:focus~.t1:before{ */
.cm1fcontrol1.skin1 .cb1 input:focus-visible~.t1:before{
	border-radius:2px;
	outline:2px solid #111;
}
.cm1fcontrol1.skin1 .cb1 input ~ *{
	cursor:default;
}
.cm1fcontrol1.skin1 .cb1 input:disabled ~ *{
	cursor:not-allowed;
}
/* 멀티라인 */
.cm1fcontrol1.mline,
.cm1fcontrol1.mline .item,
.cm1fcontrol1.mline .cb1{
	width:100%;
	margin:0;
}
/* ◇◆ */
@media all and (min-width:1000px){
	.cm1fcontrol1.type2{
		padding:0 1em;
	}
}


/* 대형전광판 (Bigbox for Special Info) 20240412 */
.cm1jumbotron1{
	position:relative;
	margin:0 auto;
	margin:calc(30px + 50/1200*100%) 0;
	text-align:center;
	word-wrap:break-word;
	word-break:keep-all;
}
.cm1jumbotron1 .f1{
	margin:1.875rem auto;
}
/*  */
.cm1jumbotron1 .ic1{
	display:inline-block;
	width:11.25em;
	height:11.25em;
	margin:.375em;
	background:url() no-repeat center center / contain;
}
.cm1jumbotron1 .ic1.bigi{
	width:8.8125rem;
	height:14.125rem;
	background-image:url(../../img/lib2/bigi1@2x.png);
}
.cm1jumbotron1 .tg1{}
.cm1jumbotron1 .tg1 .t1{
	display:block;
	margin:1.25rem 0;
	color:#444;
	font-size:1.25em;
	line-height:1.375;
}
.cm1jumbotron1 .tg1 .t1t1{
	font-weight:700;
}
.cm1jumbotron1 .tg1 .t1t2{
	display:block;
}


/* 레이어라이트박스. 20251113 (( .cp1layer1lightbox1 20240809 */
/* 공통 */
.cm1layer1lightbox1{
	display:none;
	display:flex !important; /* ☆ */
	visibility:hidden;
	z-index:200;
	position:fixed;left:0;right:0;top:0;bottom:0;
	min-width:0;
	background:rgba(0,0,0, .5);
	letter-spacing:-.03125em;
	overflow:auto;
	opacity:0;
	transition:.2s;
}
.cm1layer1lightbox1.on{
	visibility:visible;
	opacity:1;
}
.cm1layer1lightbox1>.wrap1{
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	box-sizing:border-box;
	min-width:100%;
	min-height:100%;
	margin:auto;
	padding:10px;
	text-align:center;
}
.cm1layer1lightbox1 .lightbox{
	display:inline-block;
	position:relative;
	box-sizing:border-box;
	width:98%; /* ☆ */
	max-width:440px; /* ☆ */
	margin:calc(0% + 1.625rem) auto;
	border-radius:var(--radius2);
	background:#fff;
	text-align:left;
	vertical-align:middle;
	overflow:hidden;
	box-shadow:0 20px 40px 4px rgba(0,0,0, .2);
}
.cm1layer1lightbox1 .lightbox>.wrap2{
	/* position:relative; */
	margin:calc(1em + 1%) calc(1em + 2%) calc(1em + 1%); /* (화면확인) */
}
/* ☆ */
.cm1layer1lightbox1 .lightbox>.wrap2>.hg1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	/* position:relative; */
	/* padding:0 0 .9375em; */
	/* border-bottom:1px solid #e7e7e7; */
	color:#000;
}
.cm1layer1lightbox1 .lightbox>.wrap2>.hg1>.h1{
	margin:0;
	font-weight:600;
	font-size:1.375em;
}
/* ☆ */
.cm1layer1lightbox1 .b1[class*='close']{
	flex:none;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	z-index:10;
	position:absolute;
	right:-.25em;
	width:calc(1.375em * 1.375);
	height:calc(1.375em * 1.375);
	margin:0 calc(1em + 2%) 0 auto;
	padding:0;
	background:transparent;
	border-radius:var(--radius1);
}
.cm1layer1lightbox1 .b1[class*='close']>.ic1{
	width:1.625rem;
	height:1.625rem;
	background:url(../../img/lib2/ic52a1c1x1.png) no-repeat center center / contain;
	text-indent:-9999px;
	overflow:hidden;
}
.cm1layer1lightbox1 .b1[class*='close']:hover,
.cm1layer1lightbox1 .b1[class*='close']:focus-visible{
	box-shadow:var(--shadow2-in-dark1);
}
/*  */
.darkmode .cm1layer1lightbox1 .b1[class*='close']>.ic1{
	background-image:url(../../img/lib2/ic52a1c0x1.png);
}
/* ☆ */
.cm1layer1lightbox1 .lightbox>.wrap2>.cont{
	margin:1.5em 0;
}
.cm1layer1lightbox1 .lightbox>.wrap2>.cont:before,
.cm1layer1lightbox1 .lightbox>.wrap2>.cont:after{content:'';display:table;clear:both;}
/* ☆ */
.cm1layer1lightbox1 .lightbox>.wrap2>.fg1{
	padding:.9375em 0 0;
	border-top:1px solid #e7e7e7;
}
/* ☆.type2 (푸터그룹확장) */
.cm1layer1lightbox1.type2 .lightbox{
	max-width:1000px;
}
.cm1layer1lightbox1.type2 .lightbox>.wrap2{
	margin:0;
}
.cm1layer1lightbox1.type2 .lightbox>.wrap2>.hg1{
	margin:calc(1em + 2%) calc(1em + 3%) 0;
	border-color:transparent;
}
.cm1layer1lightbox1.type2 .lightbox>.wrap2>.cont{
	margin:calc(1%) calc(1em + 3%) calc(1em + 3%);
}
/*  */
.cm1layer1lightbox1.type2 .lightbox>.wrap2>.fg1{
	display:flex;
	justify-content:center;
	align-items:stretch;
	border:0;
}
.cm1layer1lightbox1.type2 .lightbox>.wrap2>.fg1>.button{
	width:100%;
	min-height:4.375rem;
	margin:0;
	border-radius:0;
	font-size:1.125em;
	word-wrap:break-word;
	word-break:keep-all;
}
.cm1layer1lightbox1.type2 .lightbox>.wrap2>.fg1>.button.expand{
	border:0;
	/* font-weight:500; */
	line-height:1.25;
}
.cm1layer1lightbox1.type2 .lightbox>.wrap2>.fg1>.button small{
	font-size:.75rem;
}
/* ☆.type3 (제목과라인숨김)(닫기숨김접근성) */
.cm1layer1lightbox1.type3 .lightbox{
	overflow:visible;
}
.cm1layer1lightbox1.type3 .lightbox>.wrap2>.hg1{
	display:block;
	height:0;
	padding:0;
	border:0;
}
.cm1layer1lightbox1.type3 .lightbox>.wrap2>.hg1>.h1{
	position:absolute;
	left:-9999px;
}
[class].cm1layer1lightbox1.type3 .b1[class*='close']{
	opacity:0;
}
[class].cm1layer1lightbox1.type3 .b1[class*='close']>.ic1{
	background-image:url(../../img/lib2/ic52a1c0x1.png);
}
/* ☆.type4 (라이트박스내부여백없이) */
.cm1layer1lightbox1.type4 .lightbox>.wrap2,
.cm1layer1lightbox1.type4 .lightbox>.wrap2>.cont{
	margin:0;
	padding:0;
}
.cm1layer1lightbox1.type4 .b1[class*='close']{
	top:0;
	right:0;
	margin:1em;
}
/* ☆.type5 (제목그룹가운데) */
.cm1layer1lightbox1.type5 .lightbox{
	max-width:410px;
}
.cm1layer1lightbox1.type5 .lightbox>.wrap2>.hg1{
	border-color:var(--color15);
}
.cm1layer1lightbox1.type5 .lightbox>.wrap2>.hg1>.h1{
	flex:1;
	margin:0 calc(1em * 1.375);
	text-align:center;
}
.cm1layer1lightbox1.type5 .lightbox>.wrap2>.cont{
	margin:calc(1%) calc(1em + 2%);
}
/* ☆.type6 (라이트박스내부여백없이.제목.콘텐츠여백) */
.cm1layer1lightbox1.type6 .lightbox>.wrap2{
	margin:0;
}
.cm1layer1lightbox1.type6 .lightbox>.wrap2>.hg1{
	padding:calc(1em + 1%) calc(1em + 2%) 0;
	/* background:var(--color1);
	color:#fff; */
}
.cm1layer1lightbox1.type6 .lightbox>.wrap2>.hg1>.h1{
	color:inherit;
	font-weight:500;
}
.cm1layer1lightbox1.type6 .lightbox>.wrap2>.cont{
	margin:0;
	padding:2em calc(1em + 2%);
}
.cm1layer1lightbox1.type6 .b1[class*='close']>.ic1{
	/* background-image:url(../../img/lib/b1x1c0.png); */
}
/* ☆.type7 (제목과라인숨김)(우외부닫기) */
.cm1layer1lightbox1.type7 .lightbox{
	overflow:visible;
}
[class].cm1layer1lightbox1.type7 .b1[class*='close']{
	margin:calc(-1em - 1%) calc(-1.625rem - .25em) 0 auto;
	opacity:1;
}
/* ☆.type8 (제목과라인숨김)(상외부닫기) */
.cm1layer1lightbox1.type8 .lightbox{
	overflow:visible;
}
[class].cm1layer1lightbox1.type8 .b1[class*='close']{
	margin:calc(-1em - 1% - 1.625rem - .5em) 0 0 auto;
	opacity:1;
}
/* ☆.type9 (라이트박스내부여백없이.제목.콘텐츠여백세로스크롤) */
.cm1layer1lightbox1.type9 .lightbox>.wrap2{
	margin:0;
}
.cm1layer1lightbox1.type9 .lightbox>.wrap2>.hg1{
	padding:calc(1em + 1%) calc(1em + 2%) 0;
}
/* .cm1layer1lightbox1.type9 .lightbox>.wrap2>.hg1>.h1{
	color:inherit;
	font-weight:500;
} */
.cm1layer1lightbox1.type9 .lightbox>.wrap2>.cont{
	margin:0;
	padding:2em calc(1em + 2%);
	overflow:hidden;
	overflow-y:auto;
	max-height:calc(100vh - 240px);
}
/* ☆.type10 (배경오버레이투명) */
.cm1layer1lightbox1.type10{
	background:transparent;
}


/* 작성폼 (기본) 20240131 */
.cm1write1{
	position:relative;
}
.cm1write1 .tt1{
	margin:0 .75rem 0 0;
	color:#222;
	font-weight:700;
	font-size:1.0625em;
}
.cm1write1 .item{
	display:block;
	margin:0 0 .5em;
}


/* 작성폼 (레이어팝업내부) 20241115 */
.cm1write2{
	position:relative;
	/* margin:0 auto; ☆ flex 이슈 있으니 필요시에만 */
	text-align:left;
}
.cm1write2 .tt1{
	display:inline-block;
	margin:0 .75rem 0 0;
	color:#333;
	font-weight:400;
	font-size:1.0625em;
	line-height:1.375;
	vertical-align:middle;
}
.cm1write2 p.t1{
	display:inline-block;
	margin:.375rem 0;
	line-height:1.375;
}
.cm1write2 .item{
	margin:.5rem 0;
}
/* 인라인 */
.cm1write2 .item.s-2{
	display:flex;
	flex-wrap:wrap;
}
.cm1write2 .item.s-2>:nth-child(1){
	flex:none;
	width:8rem;
	margin-top:.375rem;
	margin-bottom:.375rem;
	padding:.3125rem 0;
}
.cm1write2 .item.s-2>:nth-child(2){
	flex:1;
}
.cm1write2 .item.s-2>:nth-child(3){
	box-sizing:border-box;
	width:100%;
	padding:0 0 0 8.75rem;
}
/*  */
.cm1write2 .btns{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:.625rem;
	width:100%;
	/* max-width:430px; */ /* iPhone 14 Pro Max */
	margin:1.25rem auto 0;
	padding:1rem 0 0;
	border-top:1px solid #0001;
	text-align:center;
}
/*  */
.cm1write2 input[type='text'],
.cm1write2 input[type='password'],
.cm1write2 select{
	/* height:3.125rem; */
}
/*  */
.cm1write2 .help,
.cm1write2 .explain{
	display:inline-block;
	margin:.0625em 0;
	color:#888;
	font-size:.875em;
}
.cm1write2 .explain.no{
	color:var(--color2v1, #e50);
}
.cm1write2 input[type='text'].no,
.cm1write2 input[type='password'].no,
.cm1write2 select.no{
	border-color:var(--color2v1, #e50);
}
.cm1write2 .explain.yes{
	/* display:flex;
	gap:.25rem; */
	color:var(--color1v1, #08c);
}
/* .cm1write2 .explain.yes:before{content:'';
	flex:none;
	width:1rem;
	height:1rem;
	background:url(../../img/lib2/ic32a1c2check1.png) no-repeat center center / contain;
} */

/* 문제추가수정 */
.cm1write2 .w-answer-choice .del{
	margin:0 0 0 -.5rem;
}
.cm1write2 .w-select1del1{
	display:inline-block;
	position:relative;
	padding:0 .25em 0 .5em;
}
.cm1write2 .w-select1del1:before{content:''; /*│*/
	display:block;
	position:absolute;
	left:0;
	top:50%;
	width:0;
	height:1rem;
	border-left:1px solid #0002;
	transform:translateY(-50%);
}
.cm1write2 .w-input1del1{
	display:flex;
}
.cm1write2 .w-input1del1 .input{
	flex:1;
}
.cm1write2 .w-input1del1 .del{
	flex:none;
	margin:.875em 0 0 .25em;
}
/* ◇◆ */
@media all and (min-width:768px){
	/* 인라인 */
	.cm1write2 .item.s-12{
		display:flex;
		flex-wrap:wrap;
	}
	.cm1write2 .item.s-12>:nth-child(1){
		flex:none;
		width:8rem;
		margin-top:.375rem;
		margin-bottom:.375rem;
		padding:.3125rem 0;
	}
	.cm1write2 .item.s-12>:nth-child(2){
		flex:1;
	}
	.cm1write2 .item.s-12>:nth-child(3){
		box-sizing:border-box;
		width:100%;
		padding:0 0 0 8.75rem;
	}
	.cm1write2 .item.s-12 .tt1{
		color:#222;
		font-weight:600;
		font-size:1.1875em;
	}
}


/* 작성폼 내부 박스 (서술형 문제 입력 - 답안 입력) 20250318 */
.cm1write2 .box{
	position:relative;
	margin:1rem 0 0;
	padding:2rem 1rem;
	border-radius:var(--radius1);
	background:var(--color21);
}
.cm1write2 .box .del{
	position:absolute;left:0;top:0;
	margin:0;
}
.cm1write2 :first-child > .del{
	display:none;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1write2 .box{
		padding:1rem 2.5rem;
	}
}


/* 작성폼 (서술형 문제 입력) 20250321 */
.cm1write3 .tt1{
	display:inline-block;
	margin:0 .5rem 0 0;
	color:#333;
	font-weight:500;
	font-size:1.0625em;
	line-height:1.375;
	vertical-align:middle;
}
.cm1write3 .main-question-item,
.cm1write3 .criteria-item{
	position:relative;
	margin:1rem 0 0;
	padding:2.5rem 1rem;
	border-radius:var(--radius1);
	background:var(--color21);
}
.cm1write3 .sub-question-item{
	position:relative;
	margin:1rem 0;
	padding:2.5rem 1rem;
	border-radius:var(--radius1);
	background:#fff;
}
.cm1write3 .main-question-item .del,
.cm1write3 .sub-question-item .del,
.cm1write3 .criteria-item .del{
	position:absolute;left:0;top:0;
	margin:0;
}
.cm1write3 :first-child > .del{
	display:none;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1write3 .main-question-item,
	.cm1write3 .criteria-item{
		padding:1.5rem 3rem;
	}
	.cm1write3 .sub-question-item{
		padding:1.5rem 3rem;
	}
	.cm1write3 .w-item{
		display:flex;
		flex-wrap:wrap;
		gap:.5rem;
	}
	.cm1write3 .w-item .item{
		flex:1;
	}
	.cm1write3 .w-item .item:nth-child(2){
		flex:none;
		width:6rem;
	}
	.cm1write3 .w-item .item:nth-child(3){
		flex:none;
		width:100%;
	}
}


/* 정보메뉴그룹 20240913 */
.cm1infomenu1{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	position:relative;
	margin:0 -.625rem;
}
.cm1infomenu1>*{
	display:flex;
	align-items:center;
	gap:.5rem;
	position:relative;
	margin:.625rem;
}


/* 게시판 목록 20251110 */
.cm1bbs1list1{
	word-wrap:break-word;
	word-break:keep-all;
}
.cm1bbs1list1 tr:hover{
	background:var(--color22, #f9fafb);
}
/* '○○가 없습니다' */
.cm1bbs1list1:has(tr.item) tr.none{
	display:none;
}
.cm1bbs1list1:not(:has(tr.item))~.none{
	display:block;
}
/* 경고줄 */
.cm1bbs1list1 tr.warn{
	color:#e41b1b;
}
.cm1bbs1list1 tr.warn .no-warn{
	color:var(--color-body);
}


/* ◇◆ UI Component ◇◆◇◆◇◆◇◆◇◆ */


/* 본문헤더(제목)그룹 (본문제목1=h2) 20250709 */
.cm1hg1{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:1rem;
	margin:0 0 1rem;
	/* padding:0 0 .5rem; */
	/* border-bottom:1px solid #ddd; */
	line-height:1.375;
}
.cm1hg1>.w1,
.cm1hg1>.w2,
.cm1hg1>form>.w1,
.cm1hg1>form>.w2{
	margin:.625rem 0;
}
 .cm1hg1>.w1{
	flex:1;
}
.cm1hg1 .tg1 .h1{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	margin:.375rem 0;
	color:#222;
	font-size:1.625em;
	line-height:1.375;
}
.cm1hg1 .tg1 .h1 .sep{
	display:inline-block;
	width:1.25rem;
	height:1.25rem;
	font-style:normal;
	line-height:1;
	vertical-align:middle;
	opacity:.68;
}
.cm1hg1 .tg1 .h1 .sep:before{
	content:'\e5e1'; /* arrow_forward_ios */
	font-size:1.25rem;
	font-family:'Material Symbols Outlined';
}
.cm1hg1 .tg1 .t1{
	margin:.375em 0;
	color:#888;
	font-size:.875rem;
	line-height:1.75;
}
.cm1hg1 .tg1 .t1t1{
	display:inline-block;
	margin:0 .5em 0 0;
}
.cm1hg1 .tg1 .t1t2{
	display:inline-block;
}
/* 폼요소 */
.cm1hg1>.w1 select,
.cm1hg1>.w1 input,
.cm1hg1>.w1 .button{
	margin-right:.25em;
}
.cm1hg1>.w2 select,
.cm1hg1>.w2 input,
.cm1hg1>.w2 .button{
	margin-left:.25em;
}
/* .type2 */
.cm1hg1.type2>*,
.cm1hg1.type2>form>*{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:0 .5em;
}
.cm1hg1.type2 select,
.cm1hg1.type2 input,
.cm1hg1.type2 .button{
	margin-left:0;
	margin-right:0;
}
.cm1hg1.type2 .flex-1i{
	flex:1;
}
/* 기간설정 버튼 활성 */
.m-enter-date .button.on{
	background:#e2e8f0;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1hg1>.w1,
	.cm1hg1>.w2,
	.cm1hg1>form>.w1,
	.cm1hg1>form>.w2{
		margin:0;
	}
	.cm1hg1 .tg1 .t1t2{
		font-size:.875em;
	}
	.cm1hg1.type2 .flex-1i{
		flex:initial;
	}
}


/* 목록총수 20240607 */
.cm1total1{
	display:inline-flex;
	align-items:center;
	position:relative;
	padding:0 0 .375em;
	border-bottom:2px solid var(--color1);
	color:var(--color1);
}
.cm1total1 .t1{
	margin:0 .375em 0 0;
	font-weight:700;
}
.cm1total1 .t2{
	background:var(--color21);
	padding:.25em .75em;
	border-radius:9999px;
	font-weight:500;
	line-height:1.125;
}


/* 목록필터 20240913 */
.cm1filter1{
	display:inline-flex;
	align-items:center;
	position:relative;
	font-size:.9375em;
	line-height:1.375;
}
.cm1filter1 .a1[class]{
	display:inline-flex;
	align-items:center;
	margin:0 1em 0 0;
	padding:0 0 .375em;
	border-bottom:2px solid transparent;
	color:var(--color1);
}
.cm1filter1 .a1.on{
	border-color:var(--color1);
}
.cm1filter1 .t1{
	margin:0 .25em 0 0;
	font-weight:500;
}
.cm1filter1 .t2{
	background:var(--color21);
	padding:.25em .625em;
	border-radius:9999px;
	font-weight:500;
	line-height:1.125;
}


/* 태그(교재,시험지) 20250306 */
.cm1tag1{
	display:inline-flex;
	flex-wrap:wrap;
	gap:.375rem;
	width:100%;
	margin:.375rem 0;
	line-height:1.375;
}
.cm1tag1 .tag{
	display:inline-flex;
	align-items:center;
	gap:.375em;
	margin:0;
	padding:.3125em .5em;
	border-radius:var(--radius1);
	border:1px solid #ddd;
}
.cm1tag1 .tag.no{
	border-color:transparent;
	background:var(--color21);
}
.cm1tag1 .tag-t1{
}
.cm1tag1 .tag-b1{
	display:inline-block;
	width:1.25rem;
	height:1.25rem;
	margin:0 -.125rem 0 0;
	padding:0;
	border:0;
	background:none;
	line-height:1;
}
.cm1tag1 .tag-b1:before{
	content:'\e5c9'; /* cancle */
	color:var(--color2);
	font-size:1.25rem;
	font-family:'Material Symbols Outlined';
}
.cm1tag1 .tag-b1:hover:before{
	font-variation-settings:var(--fvs1), 'FILL' 1;
}
/*  */
.cm1tag1:has(.tag)~.none{
	display:none;
}
.cm1tag1:not(:has(.tag))~.none{
	display:block;
}
/*  */
.cm1view1 .cm1tag1{
	margin:.75em 0 1.25em;
}



/* 카드 (교재, 상품 관리 메인) 20250709 */
.cm1fcard1{
	position:relative;
	line-height:1.375;
}
.cm1fcard1 .lst1{
	list-style:none;margin:0;padding:0;
}
.cm1fcard1 .li1{
	margin:0 0 1em;
}
/*  */
.cm1fcard1 .a1{
	display:block;
	margin:0 0 1em;
	border-radius:var(--radius2);
	background:#f7f7f7;
	overflow:hidden;
}
.cm1fcard1 .a1 .f1{
	position:relative;
	padding:0 0 calc(205/390*100%);
	overflow:hidden;
}
.cm1fcard1 .a1 .f1 img{
	position:absolute;left:0;right:0;top:0;
}
.cm1fcard1 .a1 .tg1{
	display:block;
	padding:.75em 1.25em;
}
.cm1fcard1 .a1 .tg1 .t1{
	display:block;
	min-height:2.75em;
	color:#000;
	font-size:1.1875em;
	word-wrap:break-word;
	word-break:keep-all;
}
/*  */
.cm1fcard1 .eg1{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.cm1fcard1 .st1{
	display:inline-block;
	padding:.3125em .75em .25em;
	border-radius:9999px;
	background:#949494;
	color:#fff;
	font-weight:400;
	font-size:.875em;
}
.cm1fcard1 .st1.public{background:var(--color1);} /* 공개 */
.cm1fcard1 .st1.private{background:var(--color3);} /* 비공개 */
.cm1fcard1 .st1.hot{background:var(--color2);} /* 인기 */
/*  */
.cm1fcard1 .b1{
	display:inline-block;
	width:1.25rem;
	height:1.25rem;
	margin:0 0 0 .5rem;
	padding:0;
	border:0;
	background:none;
	font-size:0;
	line-height:1;
	vertical-align:middle;
}
.cm1fcard1 .b1:before{
	content:'';
	color:#999;
	font-size:1.25rem;
	font-family:'Material Symbols Outlined';
	font-variation-settings:var(--fvs1), 'FILL' 0;
}
.cm1fcard1 .b1:hover:before{
	color:#222;
}
.cm1fcard1 .b1.edit:before{
	content:'\f88d'; /* edit_square */
}
.cm1fcard1 .b1.del:before{
	content:'\e872'; /* delete */
}


/* 이미지파일업로드 20250327 */
.cm1img1upload2{
	z-index:0;
	position:relative;
	height:0;
	margin:.375em auto;
	padding:0 0 calc(205/320*100%);
	/* border:1px solid var(--color11); */
	border-radius:var(--radius1);
	overflow:hidden;
}
.cm1img1upload2 .w1{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	position:absolute;left:0;right:0;top:0;bottom:0;
	background:var(--color21);
}
/*  */
.cm1img1upload2 .upload{}
.cm1img1upload2 .w-file{
	flex:1;
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;left:0;right:0;top:0;bottom:0;
}
.cm1img1upload2 .file{
	z-index:10;
	display:block;
	position:absolute;left:0;right:0;top:0;bottom:0;
	height:auto;
	margin:0;
	opacity:0;
}
.cm1img1upload2 .b1 .ic1{
	font-size:1.3125em;
}
/*  */
.cm1img1upload2.dragover .upload{
	margin:-1px;
	border:.25em dashed var(--color11);
	background:var(--color22);
}
.cm1img1upload2.dragover .b1,
.cm1img1upload2 .file:hover ~ .b1{
	box-shadow:var(--shadow2);
}
.cm1img1upload2 .tg1{
	flex:none;
	padding:1.5em;
	color:#888;
	font-size:.875em;
	text-align:left;
}
/*  */
.cm1img1upload2 .preview{
	visibility:hidden;
}
.cm1img1upload2 .preview img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.cm1img1upload2 .preview.on{
	visibility:visible;
}
.cm1img1upload2 .preview.on:empty{ /* 빈 경우 */
	visibility:hidden;
}
.cm1img1upload2 .del{
	z-index:20;
	position:absolute;left:0;top:0;
	margin:.5em;
}
/* 대표사진 */
.cm1img1upload2.s0{}
/* 가로세로비 */
.cm1img1upload2.ratio1by1{
	padding:0 0 calc(1/1*100%);
}


/* 시험문제 20240920 */
.w-exam1question1{
	min-width:1600px;
}
.cm1question1{
	display:flex;
	gap:1rem;
	height:calc(98vh - (2vw + 17px) - 6.75rem); /* (뷰세로 - (뷰가로2% + 세로스크롤바폭) - (상단제목+하단영역) ) */
}
.cm1question1>.w1{
	flex:none;
	display:flex;
	flex-direction:column;
	width:calc((100% - 2.5rem - 1rem*2) / 2); /* (100% - 추가 버튼 - 갭*2) */
}
.cm1question1>.exam{}
.cm1question1>.bank{}
.cm1question1 .h1{
	flex:none;
	margin:0;
	padding:.5em 1.25em;
	border-radius:var(--radius2);
	background:var(--color1);
	color:#fff;
	text-align:center;
}
.cm1question1 .box{
	flex:1;
	margin:1rem 0 0;
	padding:0;
	/* border-radius:var(--radius2); */
	background:#fff;
	overflow:auto;
}
/* 아이콘 추가 버튼 */
.cm1question1 .b-add-question{
	flex:none;
	align-self:center;
	display:inline-block;
	width:2.5rem;
	margin:0;
	padding:0;
	border:0;
	background:none;
	line-height:1;
}
.cm1question1 .b-add-question .t1{
	display:block;
	color:#678;
	line-height:1.375;
}
.cm1question1 .b-add-question .ic1{
	align-self:center;
	display:inline-block;
	width:2rem;
	height:2rem;
	margin:0;
	padding:0;
	border:0;
	border-radius:9999px;
	background:none;
	color:#678;
	text-align:center;
	overflow:hidden;
}
.cm1question1 .b-add-question .ic1:before{
	content:'\eaa7'; /* arrow_circle_left */
	display:block;
	width:4rem;
	height:4rem;
	margin:-1rem;
	color:var(--color1);
	font-size:4rem;
	font-family:'Material Symbols Outlined';
	font-variation-settings:'FILL' 1;
}
/* 마우스 드래그로 순서 변경 */
.cm1question1 .ic-drag-indicator{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	width:1.5rem;
	height:2.75rem;
	margin:-.5em 0;
	padding:0;
	border:0;
	background:none;
	font-style:normal;
	line-height:1;
	text-align:center;
}
.cm1question1 .ic-drag-indicator:before{
	content:'\e945'; /* drag_indicator */
	color:#789;
	font-size:1.25rem;
	font-family:'Material Symbols Outlined';
}
.cm1question1 .sortable tr.ui-sortable-helper{
	border:0;
	box-shadow:
		inset 0 0 999px var(--color1op2),
		0 0 1em 0 #0001	;
}
/* .cm1question1 .sortable tr .ic-drag-indicator:hover{ */
/* .cm1question1 .sortable tr:hover{ */
.cm1question1 .sortable .drag:hover{
	cursor:grab;
}
/* .cm1question1 .sortable tr.ui-sortable-helper .ic-drag-indicator{ */
/* .cm1question1 .sortable tr.ui-sortable-helper{ */
.cm1question1 .sortable tr.ui-sortable-helper .drag{
	cursor:grabbing;
}
/* 문제은행 thead만 고정 */
.cm1question1>.bank thead{
  z-index:1;
  position:sticky;
  top:-2px;
}
/* ◇◆ */
@media all and (max-width:1599px){
	.w-exam1question1{
		font-size:.875em;
	}
	#layer1question1edit1 .lightbox>.wrap2>.hg1>.h1{
		font-size:1.625em;
	}
	.cm1question1 .button,
	.cm1question1 input,
	.cm1question1 select,
	.cm1question1 .ic-drag-indicator{
		height:2em;
		/* margin:0; */
		font-size:1em;
	}
	.cm1question1 .h1{
		text-align:left;
	}
}


/* 문제보기 (레이어팝업내부) 20240906 */
.cm1view1{
	position:relative;
	margin:0 auto;
	line-height:1.375;
}
.cm1view1 .tt1{
	display:block;
	color:#333;
	font-weight:600;
	font-size:1.0625em;
}
.cm1view1 .tg1{
	display:block;
	margin:.75em 0 1.25em;
}
.cm1view1 .w1tag{
	display:flex;
	flex-wrap:wrap;
	gap:.25rem;
}
.cm1view1 .w1tag .tag{
	display:inline-flex;
	margin:0;
	padding:.25em .625em;
	border-radius:var(--radius1);
	border:1px solid #0002;
	background:#fff;
	color:#000;
	font-weight:400;
	font-size:.875em;
}
/* 선택지 */
.cm1view1 .lst1{
	list-style:none;
	margin:.75em 0 1.25em;
	padding:0;
}
.cm1view1 .li1{
	display:block;
	position:relative;
	margin:0 0 .625em;
	padding:.8125em 1em;
	border:1px solid #00000008;
	border-radius:.5rem;
	background:var(--color22);
	color:#333;
}
.cm1view1 .li1 .t1{}
.cm1view1 .li1 .t1n{
	display:block;
	color:#333;
	font-style:normal;
	font-weight:600;
	font-size:1.0625em;
}
.cm1view1 .li1 .t1t1{
	display:block;
	margin:.75em 0 0;
}
/* 키워드(해시태그) - 동영상 연결 */
.cm1view1 .w1tag .tag.video{
	display:inline-flex;
	margin:0 0 .375em;
	padding:.375rem .625em;
	border-radius:var(--radius1);
	border:1px solid #0002;
	background:#fff;
	color:#000;
	font-weight:400;
	font-size:1em;
}
.cm1view1 .w1tag .tag.video:before{content:'';
	flex:none;
	width:1rem;
	height:1rem;
	margin:.1875em .375em 0 0;
	background:url(../../img/lib2/ic32a1c1play2.png) no-repeat center center / contain;
}
/*  */
.cm1view1 .btns{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	gap:.625rem;
}


/* 그리드 (대시보드) 20241018 */
[class*='cm1grid1']{
	display:grid;
	grid-template-columns:repeat(1, 1fr);
	gap:1.5rem;
	margin:0 0 1.5rem;
}
[class*='cm1grid1'] *{
	min-width:0;
}
/* ◇◆ */
@media all and (min-width:1000px){
	.cm1grid1-11{
		grid-template-columns:repeat(2, 1fr);
	}
	.cm1grid1-111{
		grid-template-columns:repeat(3, 1fr);
	}
	.cm1grid1-12{
		grid-template-columns:1fr 2fr;
	}
	.cm1grid1-122{
		grid-template-columns:1fr 2fr 2fr;
	}
	.cm1grid1-21{
		grid-template-columns:2fr 1fr;
	}
	.cm1grid1-211{
		grid-template-columns:2fr 1fr 1fr;
	}
}


/* 정의목록 (대시보드) 20251230 */
.cm1dlist1{
	position:relative;
	margin:0 0 1.5rem;
	line-height:1.375;
	white-space:nowrap;
}
.cm1dlist1 .dl1{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	list-style:none;margin:0;padding:0;
}
.cm1dlist1 .di1{
	flex:1;
	display:flex;
	width:100%;
}
.cm1dlist1 .a1{
	flex:1;
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:center;
	padding:1rem;
	border-radius:var(--radius2);
	background:#fff;
}
.cm1dlist1 .w1{
	flex:1;
	display:flex;
	flex-wrap:wrap;
	gap:.5rem;
}
.cm1dlist1 .w2{
	flex:none;
}
.cm1dlist1 .dt1{
	display:block;
	color:#678;
	font-weight:400;
	font-size:.875em;
}
.cm1dlist1 .dd1{
	width:100%;
	color:#123;
	font-weight:600;
	font-size:1.5em;
	vertical-align:middle;
}
.cm1dlist1 .dd1t2{
	margin:0 0 0 .25em;
	color:#888;
	font-weight:400;
	font-size:.875rem;
}
.cm1dlist1 .ed1{
	display:inline-block;
	margin:.25em 0 0;
	padding:.125em .5em;
	border-radius:var(--radius1);
	background:var(--color21);
	color:var(--color1v1);
	font-size:.8125rem;
	vertical-align:middle;
}
.cm1dlist1 .ed1.up{
	color:var(--color-red);
}
.cm1dlist1 .ed1.down{
	color:var(--color-blue);
}
.cm1dlist1 .ic1{
	color:#d1d5db;
	font-size:2.25rem;
}
/*  */
.cm1dlist1 .di1:first-child .dd1{
	/* font-size:2em; */
}
/*  */
.cm1dlist1 .w2 .ic1{
	/* transform:scaleX(-1); */
}
/*  */
.cm1box1 .cm1dlist1{
	margin:0;
}
.cm1box1 .cm1dlist1 .a1{
	background:var(--color21);
}
.cm1box1 .cm1dlist1 .ed1{
	background:#fff;
}
/* .type2 */
.cm1dlist1.type2 .a1{
	background:var(--color21);
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1dlist1 .di1{
		width:auto;
	}
}


/* 박스 (대시보드) 20241025 */
.cm1box1{
	display:flex;
	flex-direction:column;
	position:relative;
	border-radius:var(--radius2);
	background:#fff;
	line-height:1.375;
}
.cm1box1>.hg1{
	flex:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:1rem;
	padding:1rem;
	border-bottom:1px solid var(--color12);
}
.cm1box1>.hg1 .h1{
	margin:0;
	color:#333;
	font-weight:500;
	font-size:1.1875em;
}
.cm1box1>.cont{
	flex:1;
	position:relative;
	padding:1rem;
}
/* 제어 */
.cm1box1 .control{
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:absolute;
	left:0;right:0;
	top:calc(50% - 8%);
	height:0;
	margin:0 -.375rem;
}
.cm1box1 .control .b1 .ic1:before{
	content:'\e5e1'; /* arrow_forward_ios */
	color:#888;
	font-style:normal;
	font-size:1.5rem;
	font-family:'Material Symbols Rounded';
}
.cm1box1 .control .b1.prev .ic1{
	transform:rotate(180deg);
}
.cm1box1 .control .b1.next{}
.cm1box1 .control .b1[disabled]{
	opacity:.2;
}
/* .tpye2 () */
.cm1box1.type2{
	margin:0 0 1.5em;
}


/* 박스 (대시보드) 20241025 */
.cm1box2{
	display:flex;
	flex-direction:column;
	position:relative;
	border-radius:var(--radius2);
	background:var(--color21);
	line-height:1.375;
}
.cm1box2>.hg1{
	flex:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	gap:.5rem;
	padding:.75rem 1rem;
	border-bottom:1px solid #fff;
}
.cm1box2 .hg1 .h1{
	display:flex;
	align-items:center;
	gap:.5em;
	margin:0;
	color:#333;
	font-weight:500;
	font-size:1.0625em;
}
.cm1box2>.cont{
	flex:1;
	position:relative;
	padding:1rem;
}


/* 차트 (ECharts 막대+라인) 20240823 */
.cm1chart1{
	z-index:0;
	position:relative;
	margin:0 auto;
	letter-spacing:0;
}
.cm1chart1>.wrap1.fscroll1-xy{}
.cm1chart1 .w1chart{
	position:relative;
	height:100px;
	padding:0 0 calc(1/3*100%);
}
.cm1chart1 .chart{
	position:absolute;
	width:100%;
	height:100%;
}
/* .type2 (도넛, 히스토그램) */
.cm1chart1.type2 .w1chart{
	height:0;
	padding:0 0 calc(1/1*100% - 60px);
}
/* .type3 (본문폭전체) */
.cm1chart1.type3 .w1chart{
	padding:0 0 calc(1/8*100%);
}


/* 차트 범례 20241018 */
.cm1legend1 .lst1{
	display:inline-block;
	list-style:none;margin:0;padding:0;
	text-align:left;
	font-size:.8125rem;
}
.cm1legend1 .lst1 .a1{
	display:inline-flex;
	align-items:center;
	margin:.25em .5em;
	color:#475569;
	line-height:1;
	opacity:.8;
}
.cm1legend1 .lst1 .a1.off{
	filter:grayscale(1) opacity(.5);
}
.cm1legend1 .a1:hover{
	opacity:1;
}
.cm1legend1 .lst1 .a1 .ic1{
	flex:none;
	box-sizing:border-box;
	width:.625rem;
	height:.625rem;
	margin:.25em .375em .25em 0;
	border-radius:25%;
	background:#888;
	opacity:.625;
}
.cm1legend1 .a1.m1 .ic1{background:#fff;border:2px solid #16a34a;border-radius:9999px;}
.cm1legend1 .a1.m2 .ic1{background:#0891b2;}
.cm1legend1 .a1.m3 .ic1{background:#6366f1;}
.cm1legend1 .a1.m4 .ic1{background:#d946ef;}
.cm1legend1 .a1.m5 .ic1{background:#ef4444;}
.cm1legend1 .a1.m6 .ic1{background:#c88800;}


/* 툴팁 레이어. 20240906 */
.cm1tooltip1{
	display:inline-flex;
	align-items:center;
	position:relative;
	line-height:1;
}
*~.cm1tooltip1{
	margin:0 0 0 .375em;
}
.cm1tooltip1 .b1{
	height:auto;
	margin:0;
	padding:0;
	border:0;
	background:none;
	color:#0006;
	line-height:1;
	overflow:hidden;
}
.cm1tooltip1 .b1 .ic1:before{
	content:'\e88e'; /* info */
	font-style:normal;
	font-size:1.25rem;
	font-family:'Material Symbols Rounded';
	font-variation-settings:var(--fvs1), 'FILL' 1;
}
.cm1tooltip1 .b1 .t1{
	position:absolute;
	left:-9999px;
}
.cm1tooltip1 .cont{
	display:block;
	visibility:hidden;
	position:absolute;
	left:50%;
	bottom:100%;
	box-sizing:border-box;
	padding:.5em .75em;
	border:1px solid var(--color11);
	border-radius:var(--radius1);
	background:#fff;
	line-height:1.375;
	box-shadow:var(--shadow3);
	opacity:0;
	transform:translate3D(-50%, 0, 0);
	transition:.2s;
}
.cm1tooltip1 .cont:before{content:'';
	display:block;
	position:absolute;
	left:0;
	right:0;
	top:100%;
	height:.375em;
}
/* 활성 */
.cm1tooltip1 .b1:hover,
.cm1tooltip1 .b1:focus,
.cm1tooltip1.on .b1{
	color:#0009;
}
.cm1tooltip1.on .cont{
	visibility:visible;
	opacity:1;
	bottom:calc(100% + .375em);
}


/* 부가메뉴 레이어. 20240906 */
.cm1smenu1{
	display:inline-flex;
	align-items:center;
	position:relative;
	line-height:1;
}
.cm1smenu1 .b1{
	height:auto;
	margin:-.5625rem 0;
	padding:0;
	border:0;
	background:none;
	color:#0006;
	line-height:1;
	overflow:hidden;
	transform:translate3D(0, .5rem, 0); /* 쌓임맥락 */
}
.cm1smenu1 .b1 .ic1{
	display:block;
	width:1.875rem;
	height:1.875rem;
	border-radius:9999px;
	transition:.2s;
}
.cm1smenu1 .b1 .ic1:before{
	content:'\e5d4'; /* more_vert */
	font-style:normal;
	font-size:1.875rem;
	font-family:'Material Symbols Rounded';
}
.cm1smenu1 .b1 .t1{
	position:absolute;
	left:-9999px;
}
.cm1smenu1 .cont{
	display:block;
	visibility:hidden;
	z-index:10;
	position:absolute;
	right:0;
	top:100%;
	padding:.5em .75em;
	border:1px solid var(--color11);
	border-radius:var(--radius1);
	background:#fff;
	line-height:1.375;
	box-shadow:var(--shadow3);
	opacity:0;
	transition:.2s;
}
.cm1smenu1 .lst1{
	list-style:none;
	min-width:10em;
	margin:0;
	padding:0;
	white-space:nowrap;
}
.cm1smenu1 .li1{}
.cm1smenu1 .li1 .a1{
	display:block;
	padding:.375em 0;
}
/*  */
.cm1smenu1 .b1:hover,
.cm1smenu1 .b1:focus,
.cm1smenu1.on .b1{
	color:#0009;
}
.cm1smenu1.on .b1 .ic1{
	background:#0001;
}
.cm1smenu1.on .cont{
	visibility:visible;
	opacity:1;
	top:calc(100% + 1.5em);
}


/* 더 보기. 20240830 */
.cm1more1{
	height:auto;
	padding:0;
	border:0;
	background:none;
	color:#0006;
	line-height:1;
	overflow:hidden;
	transform:translate3D(0, .5rem, 0);
}
.cm1more1 .ic1{
	display:block;
	width:1.875rem;
	height:1.875rem;
	margin:-.5625rem 0;
	border-radius:9999px;
	transition:.2s;
}
.cm1more1 .ic1:before{
	content:'\e5d3'; /* more_horiz */
	font-style:normal;
	font-size:1.875rem;
	font-family:'Material Symbols Rounded';
}
.cm1more1 .t1{
	position:absolute;
	left:-9999px;
}
[class].cm1more1:hover,
[class].cm1more1:focus{
	color:#0009;
}


/* 뷰어 (업로드 이미지, 문제 미리보기). 20240906 */
.cm1viewer1{
	position:relative;
	margin:1em 0;
	padding:20px 0 0;
	background:var(--color21);
	overflow:hidden;
}
/* 이미지 미리보기 슬라이더 */
.cm1viewer1 .swiper-container{
	width:100%;
	max-width:1000px;
	margin:0 auto 40px;
	background:#fff;
	overflow:hidden;
}
.cm1viewer1 .swiper-slide{
	display:flex;
	justify-content:center;
	align-items:center;
}
.cm1viewer1 [class*='swiper-button']{
	color:#0001;
}
.cm1viewer1 [class*='swiper-button']:hover{
	color:#000;
}
.cm1viewer1 [class*='swiper-button'].swiper-button-disabled{
	opacity:0;
}
/*  */
.cm1viewer1 .f1{
	position:relative;
	width:100%;
	padding:0 0 75%;
}
.cm1viewer1 .f1p1{
	display:block;
	position:absolute;left:0;right:0;top:0;bottom:0;
	overflow:hidden;
	/* overflow-y:auto; */
}
.cm1viewer1 .f1 img{
	display:block;
	width:100%;
	/* height:auto; */
	height:100%;
	object-fit:scale-down;
}
/* 문제 미리보기 */
.cm1viewer1 .preview{
	box-sizing:border-box;
	width:100%;
	max-width:1000px;
	margin:0 auto;
	padding:calc(1em + 1%) 0; /* (화면확인) */
	background:#fff;
}
.cm1viewer1 .control{
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
}
.cm1viewer1 .control .button{
	color:#0009;
}
.cm1viewer1 .control .button:hover{
	color:#000;
}
.cm1viewer1 .control .button.off{
	opacity:0;
}
.cm1viewer1 .control .button .ic1:before{
	font-style:normal;
	font-size:1.5rem;
	font-family:'Material Symbols Rounded';
}
.cm1viewer1 .control .button.prev .ic1:before{
	content:'\e2ea'; /* arrow_back_ios_new */
}
.cm1viewer1 .control .button.next .ic1:before{
	content:'\e5e1'; /* arrow_forward_ios */
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1viewer1{
		padding:32px 32px 0;
	}
	.cm1viewer1 [class*='swiper-button']{
		color:#0003;
	}
	.cm1viewer1 .preview{
		margin-bottom:30px;
		padding:calc(1em + 1%) calc(1em + 2%); /* (화면확인) */
	}
	.cm1viewer1 .control{
		position:absolute;left:0;right:0;top:50%;
		height:0;
		margin:0 -10px;
	}
	.cm1viewer1 .control .button{
		color:#0003;
	}
	.cm1viewer1 .control .button .ic1:before{
		font-size:3.125rem;
	}
}


/* 문제 검수 20240913 */
.cm1review1{
	display:flex;
	flex-direction:column;
	gap:1rem;
	position:relative;
	box-sizing:border-box;
	height:150vh;
	padding:1rem;
	background:var(--color21);
}
.cm1review1 .close{
	position:absolute;right:0;top:0;
	margin:2rem;
}
.cm1review1 .close:hover,
.cm1review1 .close:focus{
	background:#0001;
	color:#000;
}
.cm1review1>.w1{
	flex:none;
	display:flex;
	flex-direction:column;
	box-sizing:border-box;
	height:calc(50% - 1rem/2);
	background:#fff;
}
.cm1review1>.side{
	height:calc(33.333% - 1rem/2);
}
.cm1review1>.main{
	height:calc(66.666% - 1rem/2);
}
.cm1review1 .hg1{
	flex:none;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:0 calc(1rem + 1.5%);
}
.cm1review1 .hg1 .h1{
	flex:1;
	margin:1rem 0;
	color:#333;
	font-size:1.625em;
	text-align:center;
}
/*  */
.cm1review1 .fg1{
	flex:none;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	align-items:center;
	gap:.5rem;
	margin:1rem 0 0;
	padding:1rem calc(1rem + 1.5%);
	border-top:1px solid #0001;
}
.cm1review1 .fg1>*{
	display:flex;
	align-items:center;
	gap:.5rem;
}
.cm1review1 .fg1 .b1.fail{background-color:var(--color-red);}
.cm1review1 .fg1 .b1.hold{background-color:var(--color-yellow);}
.cm1review1 .fg1 .b1.pass{background-color:var(--color-green);}
.cm1review1 .fg1 .b1.off{
	border:1px solid #0002;
	background:none;
	color:#888;
}
.cm1review1 .fg1 .b1:not(.off):before{
	content:'\e5ca'; /* check */
	font-style:normal;
	font-size:1.25rem;
	font-family:'Material Symbols Rounded';
}
/*  */
.cm1review1 .fg1 .b1.s1.off.fail{
	border-color:var(--color-red);
	color:var(--color-red);
}
.cm1review1 .fg1 .b1.s1.off.pass{
	border-color:var(--color-green);
	color:var(--color-green);
}
/*  */
.cm1review1 .box{
	flex:1;
	padding:.375rem calc(1rem + 1.5%);
	border-radius:var(--radius2);
	background:#fff;
	overflow:hidden;
	overflow-y:scroll;
}
.cm1review1 .num{
	font-weight:500;
	font-size:1.375rem;
}
/* 문제 분류 */
.cm1review1 .lst-12{
	flex:1;
	margin:.375rem 0;
	border:1px solid var(--color11);
	border-radius:var(--radius1);
	background:var(--color21);
	line-height:1.375;
	overflow:hidden;
}
.cm1review1 .lst-12 .t1{
	flex:1;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding:.375em .75em;
	text-align:center;
}
.cm1review1 .lst-12 .t1~.t1{
	border-top:1px solid var(--color11);
}
/* 난이도 및 키워드 */
.cm1review1 .lst-22{
	display:flex;
	flex-wrap:wrap;
	margin:.375rem 0;
	border:1px solid var(--color11);
	border-radius:var(--radius1);
	background:var(--color21);
	line-height:1.375;
	overflow:hidden;
}
.cm1review1 .lst-22 .t1{
	flex:1;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding:.375em .75em;
	text-align:center;
}
.cm1review1 .lst-22 .t1:first-child{
	flex:none;
}
.cm1review1 .lst-22 .t1~.t1{
	border-left:1px solid var(--color11);
}
/*  */
.cm1review1 .control{
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
}
.cm1review1 .control .button{
	color:#0009;
}
.cm1review1 .control .button:hover{
	color:#000;
}
.cm1review1 .control .button.off{
	opacity:0;
}
.cm1review1 .control .button .ic1:before{
	font-style:normal;
	font-size:1.5rem;
	font-family:'Material Symbols Rounded';
}
.cm1review1 .control .button.prev .ic1:before{
	content:'\e2ea'; /* arrow_back_ios_new */
}
.cm1review1 .control .button.next .ic1:before{
	content:'\e5e1'; /* arrow_forward_ios */
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1review1{
		flex-direction:row;
		height:100vh;
		padding:1rem calc(1em + 2%); /* (화면확인) */
	}
	.cm1review1 .close{
		position:absolute;right:0;top:0;
		margin:2rem calc(2rem + 2%);
	}
	.cm1review1 .hg1,
	.cm1review1 .fg1{
		flex-direction:row;
		margin-right:17px; /* box 세로스크롤폭 */
	}
	.cm1review1 .w1{
		height:auto;
	}
	.cm1review1 .side{width:30%;}
	.cm1review1 .main{width:calc(70% - 1rem);}
	.cm1review1 .lst-12{
		display:flex;
		flex-wrap:wrap;
	}
	.cm1review1 .lst-12 .t1~.t1{
		border:0;
		border-left:1px solid var(--color11);
	}
	.cm1review1 .control{
		position:absolute;left:0;right:0;top:50%;
		height:0;
		margin:0 -10px;
	}
	.cm1review1 .control .button{
		color:#0003;
	}
	.cm1review1 .control .button .ic1:before{
		font-size:3.125rem;
	}
}


/* 마스크 20240913 */
.cp1mask1{
	display:block;
	z-index:0;
	position:relative;
}
.cp1mask1.lock:after{content:'';
	display:block;
	z-index:100;
	position:absolute;left:0;right:0;top:0;bottom:0;
	margin:-1em calc(var(--container-space) * -1 * 360/320);
	background:transparent;
}


/* 교재 수정 20240913 */
/* ◇◆ */
@media all and (min-width:768px){
	.cm1book1edit1{
		position:relative;
		padding:2rem;
		border:1px solid var(--color12);
		background:var(--color22);
	}
	.cm1book1edit1>.wrap1{
		max-width:1000px;
		margin:0 auto;
		padding:2rem;
		border:1px solid var(--color11);
		background:#fff;
	}
}


/* 교재 수정 20240913 */
.cm1chart1tooltip1{
	position:relative;
}
.cm1chart1tooltip1 .tt1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:0 1em;
}
.cm1chart1tooltip1 .di1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:0 1em;
	margin:.25em 0;
}
.cm1chart1tooltip1 .di1 .dt1{
	display:flex;
	align-items:center;
}
.cm1chart1tooltip1 .di1 .dd1{}
.cm1chart1tooltip1 .di1 .dd1 .t2{
	color:#949494;
	font-weight:400;
	font-size:12px;
}
.cm1chart1tooltip1 .di1 .ic1{
	flex:none;
	box-sizing:border-box;
	width:.5rem;
	height:.5rem;
	margin:.25em .375em .25em 0;
	border-radius:25%;
	background:#888;
	opacity:1;
}
.cm1chart1tooltip1 .di1.m1 .ic1{background:#fff !important;border:2px solid #16a34a80;border-radius:9999px;}
.cm1chart1tooltip1 .di1.m2 .ic1{background:#0891b2;}
.cm1chart1tooltip1 .di1.m3 .ic1{background:#6366f1;}
.cm1chart1tooltip1 .di1.m4 .ic1{background:#d946ef;}
.cm1chart1tooltip1 .di1.m5 .ic1{background:#ef4444;}
.cm1chart1tooltip1 .di1.m6 .ic1{background:#c88800;}
/*  */
.cm1chart1tooltip1 .di1.m1{
	margin:.75rem 0;
	padding:0 0 .75rem;
	border-bottom:1px solid #eee;
}
.cm1chart1tooltip1 .di1.m1 .dd1 .t1{
	color:#333;
	font-weight:600;
	font-size:1.125rem;
	font-family:'Outfit',sans-serif;
}


/* 프로그레스바::도넛 (진도율) 20241025 */
.cm1progress1circle1{
	display:inline-block;
	z-index:0;
	position:relative;
	width:13.75em;
	height:13.75em;
	margin:.5em;
	line-height:1.375;
	text-align:center;
}
/* 값 */
.cm1progress1circle1 .tg1{
	z-index:10;
	position:absolute;left:50%;top:50%;
	transform:translate(-50%, -50%);
}
.cm1progress1circle1 .tt1{
	display:block;
	color:#333;
	font-size:1em;
}
.cm1progress1circle1 .t1{
	display:block;
	color:#333;
	font-weight:700;
	font-size:2em;
}
/* 원 */
.cm1progress1circle1 svg.chart{
	position:relative;
	width:100%;
	height:100%;
	background:inherit;
	transform:rotate(-90deg);
	transform-origin:50% 50%;
}
.cm1progress1circle1 circle{
	fill:transparent;
	stroke-width:20;
	stroke-dasharray:628;
	stroke-dashoffset:628;
	stroke-linecap:round;
}
.cm1progress1circle1 circle.fg{
	stroke:var(--color1);
	/* [IE]bug) svg 내부 요소에는 transform 안됨 */
	/* animation:kf1draw1 2s forwards; */
}
.cm1progress1circle1 circle.bg{
	stroke:#eee;
	stroke-dashoffset:0;
}
/* ◇◆ */
@media all and (min-width:1000px){
	.cm1progress1circle1{
		width:10vw;
		height:10vw;
	}
}


/* 프로그레스바::막대 (진도율) 20241025 */
.cm1progress1bar1{
	display:block;
	position:relative;
	margin:.625em 0 0;
}
.cm1progress1bar1 .lst1{list-style:none;margin:0;padding:0;}
.cm1progress1bar1 .item{}
.cm1progress1bar1 .item>.w1{}
.cm1progress1bar1 .a1{
	display:block;
	padding:14px 0;
	color:inherit;
}
.cm1progress1bar1 .tg1{
	display:flex; /* ☆ */
	justify-content:space-between;
	align-items:center;
	margin:0 0 .375em;
}
.cm1progress1bar1 .tg1 .tt1{
	flex:1;
	font-weight:500;
	font-size:1em;
}
.cm1progress1bar1 .tg1 .t1{
	flex:none;
	font-size:.875em;
}
.cm1progress1bar1 .tg1 .t1t1{
	font-style:normal;
	color:var(--color1v1);
}
.cm1progress1bar1 .tg1 .sep{
	color:#aaa;
}
.cm1progress1bar1 .tg1 .t1t2{
	color:#949494;
}
/* 진행바 */
.cm1progress1bar1 .gg1{
	width:100%;
	margin:auto;
}
.cm1progress1bar1 .g1{
	display:block;
	width:100%;
	height:8px;
	border-radius:9999px;
	background:#e4e4e4;
}
.cm1progress1bar1 .g1b1{
	display:block;
	width:0;
	height:100%;
	border-radius:9999px;
	background:var(--color1);
	transform:scale(0, 1);
	transform-origin:0 0;
	transition:.6s;
}
/*  */
body.loaded .cm1progress1bar1 .g1b1{
	transform:none;
}


/* 목록 (수강생 성적 리포트) 20241025 */
.cm1list1{
	position:relative;
}
.cm1list1 .lst1{
	list-style:none;margin:0;padding:0;
}
.cm1list1 .li1{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
	margin:.75em 0;
}
.cm1list1 .li1 .t1{
	flex:none;
	width:100%;
	margin:0 auto 0 0;
	padding:0 .5em 0 0;
	color:#888;
	font-size:.875em;
}
.cm1list1 .li1 .t2{
	flex:none;
	margin:0 auto 0 0;
	padding:0 .5em 0 0;
}
.cm1list1 .li1 .eg1{
	flex:1 0 0;
	text-align:right;
}
.cm1list1 .li1 .b1{
	margin:0;
}
/* ◇◆ */
@media all and (min-width:1800px){
	.cm1list1 .li1 .t1{
		width:auto;
	}
}


/* 목록 (수강생 성적 리포트) 20241025 */
.cm1list2{
	position:relative;
}
.cm1list2 ul.bu li{
	background-position:0 .125em;
}


/* 스크롤스티키 (수강생 성적 리포트) 20241025 */
.cm1scroll1sticky1{
	max-height:33.25rem;
	overflow:auto;
}
.cm1scroll1sticky1 .sticky{
  z-index:1;
  position:sticky;
  top:-2px;
}


/* 기본 로딩 스피너 20250321 */
.loader {
	display: inline-block;
  width: 40px;
  height: 40px;
  border: 5px solid rgba(0, 0, 0, 0.1);
  border-top-color: var(--color1, #3498db);
  border-radius: 50%;
  animation: spin 1.5s linear infinite;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


/* 점 3개 깜빡이는 애니메이션 20250321 */
.loader-dots {
  display: flex;
  justify-content: center;
  align-items: center;
	gap:10px;
}
.loader-dots i {
	display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color1, #3498db);
  animation: blink 1.5s infinite ease-in-out;
}
.loader-dots i:nth-child(2) {
  animation-delay: .2s;
}
.loader-dots i:nth-child(3) {
  animation-delay: .4s;
}
@keyframes blink {
  0%, 100% { opacity: .3; }
  50% { opacity: 1; }
}


/* 바운싱 박스 애니메이션 20250321 */
.loader-bounce {
  display: flex;
  justify-content: center;
  align-items: center;
	gap:10px;
}
.loader-bounce i {
	display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color1, #3498db);
  animation: bounce 1.5s infinite ease-in-out;
}
.loader-bounce i:nth-child(2) {
  animation-delay: .2s;
}
.loader-bounce i:nth-child(3) {
  animation-delay: .4s;
}
@keyframes bounce {
  0%, 100% { transform: translateY(10px); }
  50% { transform: translateY(-10px); }
}


/* 확장 및 축소 애니메이션 20250321 */
.loader-pulse {
  display: flex;
  justify-content: center;
  align-items: center;
	gap:15px;
}
.loader-pulse i {
	display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--color1, #3498db);
  animation: pulse 1.5s infinite ease-in-out;
}
.loader-pulse i:nth-child(2) {
  animation-delay: .2s;
}
.loader-pulse i:nth-child(3) {
  animation-delay: .4s;
}
@keyframes pulse {
  50% { transform: scale(1.5); opacity: .8; }
}


/* ◇◆ .cp1~ (사용자 CSS 가져와서 커스텀) ◇◆◇◆◇◆◇◆◇◆ */


/* 차트 (나의 성적 ECharts 막대+라인 ) 20241025 (( 20240705 */
.cp1chart2{
	z-index:0;
	position:relative;
	margin:0 0 1.5em;
	letter-spacing:0;
}
.cp1chart2>.wrap1.fscroll1-xy{}
.cp1chart2 .w1chart{
	position:relative;
	height:0;
	padding:0 0 calc(2/3*100%);
}
.cp1chart2 .chart{
	position:absolute;
	width:100%;
	height:100%;
}
/* ◇◆ */
@media all and (min-width:1000px){
	.cp1chart2 .w1chart{
		padding:0 0 calc(1/2*100%);
	}
}


/* 탭 20241025 (( 20240705 */
.cp1tabs3{
	display:flex;
	flex-wrap:nowrap;
	gap:.5rem;
	z-index:0;
	position:relative;
	min-width:0;
	margin:0 -1rem 1.375em;
	padding:0 1rem;
	overflow:hidden;
	overflow-x:auto;
}
.cp1tabs3::-webkit-scrollbar{
	display:none;
	width:0;
	height:0;
}
.cp1tabs3 .a1{
	flex:none;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:.3125rem;
	position:relative;
	box-sizing:border-box;
	min-width:0;
	height:2rem;
	padding:0 .625em;
	border:1px solid var(--color11);
	border-radius:var(--radius1);
	background:#fff;
	color:#949494;
	white-space:nowrap;
}
.cp1tabs3 .a1 .ic1{
	display:inline-block;
	width:.5rem;
	height:.5rem;
	border-radius:9999px;
	background:#888;
}
.cp1tabs3 .a1:first-child .ic1,
.cp1tabs3 .a1:last-child .ic1{
	display:none;
}
.cp1tabs3 .a1:nth-child(2) .ic1{background:#ffc700;} /* 1과목 */
.cp1tabs3 .a1:nth-child(3) .ic1{background:#4889ec;} /* 2과목 */
.cp1tabs3 .a1:nth-child(4) .ic1{background:#2dca89;} /* 3과목 */
.cp1tabs3 .a1:nth-child(5) .ic1{background:#f472b6;} /* 4과목 */
.cp1tabs3 .a1:nth-child(6) .ic1{background:#a855f7;} /* 5과목 */
.cp1tabs3 .a1.on{
	z-index:1;
	color:#111;
	font-weight:500;
}
.cp1tabs3 .a1.on:first-child,
.cp1tabs3 .a1.on:last-child{
	border-color:transparent;
	background:var(--color1);
	color:#fff;
}
/*  */
.cp1tabs3pane{
	display:none;
}
.cp1tabs3pane.on{
	display:block;
}
/* ◇◆ */
@media all and (min-width:1800px){
	.cp1tabs3 .a1{
		flex:1;
	}
}


/* 비교 (채점 검수) 20250318 */
.cm1compare1{
	position:relative;
	line-height:1.75;
}
.cm1compare1 .w1{
	margin:0 0 1.5rem;
	padding:1.5rem 0;
}
.cm1compare1 .tt1{
	display:block;
	margin:0 0 1em;
	color:#333;
	font-weight:600;
	font-size:1.375em;
}
.cm1compare1 .tg1{}
.cm1compare1 .box{
	margin:0 0 1.5rem;
	padding:1rem 1.25rem;
	border:1px solid var(--color11);
	border-radius:var(--radius2);
}
.cm1compare1 .dl1{
	padding:.75rem 1.5rem;
	border-radius:var(--radius2);
	background:var(--color1op1);
}
.cm1compare1 .di1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:0 .5rem;
}
.cm1compare1 .dt1{
	font-weight:500;
}
.cm1compare1 .dd1{
	color:#333;
	font-weight:600;
	font-size:1.375em;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1compare1{
		display:flex;
		gap:1rem;
		min-width:0;
		height:75dvh;
	}
	.cm1compare1 .w1{
		flex:1;
		margin:0 0 1.5rem;
		padding:1.5rem;
		overflow-y:scroll;
	}
	.cm1compare1 .dl1{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		align-items:center;
		gap:1rem;
	}
}


/* 쇼츠 검수 20250521 */
.cm1video1review1 .scroll-y{
	display: block;
	max-height: 300px;
	background: #fafef0;
	color: #333;
	overflow-y: scroll;
}
.cm1video1review1 table.t3{
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}


/* 정의목록 (쇼츠 검수) 20250521 */
.cm1dlist2 {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: .375em;
	position:relative;
	margin: 0;
}
.cm1dlist2>*:nth-child(2n-1) {
	grid-column: 1;
	margin: .375em 0;
}
.cm1dlist2>*:nth-child(2n) {
	grid-column: 2;
}
/*  */
.cm1dlist2 .t1{
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: .375em;
	position:relative;
	line-height:1.75;
	margin: 0;
}
.cm1dlist2 .t1>*:nth-child(2n-1) {
	grid-column: 1;
}
.cm1dlist2 .t1>*:nth-child(2n-1):after {
	content:':';
	margin: 0 0 0 .375em;
}
.cm1dlist2 .t1>*:nth-child(2n) {
	grid-column: 2;
}


/* ContentBlockName YYYYMMDD @Writer ◇◆ */



/* ◇◆ 라이브러리 커스트마이징 (※) ◇◆◇◆◇◆◇◆◇◆ */



/* summernote 보정 (우선순위↑) 20250102 */
.note-editor.note-frame{
	font-family:inherit;
}
.note-editor .note-toolbar .note-btn{
	justify-content:center;
	height:auto;
	margin:0;
	padding:5px 10px;
	border-color:#ccc;
	border-radius:0 !important;
	background:#fff;
	font-size:12px;
}
.note-editor [class*=" note-icon"]:before,
.note-editor [class^=note-icon]:before{
	display: inline;
}
.note-editor .note-icon-caret[class][class]{
	margin:0 -5px 0 3px;
}
.note-editor.fullscreen .note-btn.btn-fullscreen,
.note-editor.codeview .note-btn.btn-codeview, /* 코드 편집 창 초점 시 버튼 .active 제거되는 이슈 해결 */
.note-editor .note-toolbar .note-btn.active{
	border-color:#bbb;
	background-color:#f7f7f7;
	box-shadow: inset 0 3px 5px rgba(0,0,0,.125);
}
.note-editor .note-toolbar .note-btn:hover,
.note-editor .note-toolbar .note-btn:focus,
.note-editor .note-toolbar .note-btn:active{
	border-color:#aaa;
	background-color:#f7f7f7;
}
.note-editor .note-dropdown-menu{
	max-height:400px;
	overflow-y:auto;
}
.note-editor .note-dropdown-item{
	/* margin:0 -5px; */
	padding:.25rem 1rem;
	white-space:nowrap;
}
.note-editor .note-dropdown-item:hover{
	background:#f7f7f7;
	color:inherit;
}
.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover,
.note-popover .popover-content .note-color-palette div .note-color-btn:hover{
	z-index:10;
}
.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .btn[class]{
	display:block;
	height:auto;
	margin:3px 0;
	padding:3px;
}
.note-editor .note-toolbar .note-para .note-dropdown-menu[class]{
	min-width:0;
	white-space:nowrap;
}
/*  */
.note-editor .note-modal-content{
	overflow:hidden;
	border:0;
	border-radius:var(--radius2);
	box-shadow:0 20px 40px 4px rgba(0,0,0, .2);
}
.note-editor .note-modal-header{
	padding:.875em 20px;
	border:0;
}
.note-editor .note-modal-title{
	color:#222;
	font-size:1.125em;
}
.note-editor button.close{
	height:21px;
	margin:0;
	font-size:18px;
	line-height:1;
	opacity:.6;
}
.note-editor button.close:hover{
	opacity:1;
}
.note-editor .note-modal-body{
	padding:20px;
	border-top:1px solid var(--color11);
	border-bottom:1px solid var(--color11);
	overflow:hidden auto !important;
}
.note-editor input[type='checkbox']{
	margin:.125rem .375rem  .375rem 0;
}
.note-editor .note-modal-footer{
	padding:10px 20px;
}
.note-editor .note-modal-footer{
	display:flex;
	justify-content:flex-end;
	height:auto;
	padding:.875em 20px;
}
.note-editor .note-modal-footer .btn{
	margin:0 0 0 .5em;
}
.note-editor .note-modal-footer .btn:hover,
.note-editor .note-modal-footer .btn:focus,
.note-editor .note-modal-footer .btn:active{
	border-radius:var(--radius1);
	filter:var(--filter1, brightness(.85) contrast(1.4));
	transition:.2s;
}
.note-editor .btn-primary[class]{
	border-color:transparent;
	background:var(--color1);
	color:#fff;
}
.note-editor .note-modal-footer .text-center{
	margin:0;
}
.note-editor .note-modal-body:has(.help-list-item){
	padding:20px;
}
.note-editor .note-modal-body .help-list-item[class][class]{
	clear:both;
	height:1px;
	padding:6px 0;
	background:#eee;
	background-clip:content-box;
}
.note-editor .note-modal-body .help-list-item:first-child{
	display:none;
}
.note-editor .note-modal-body .help-list-item + label{
	float:left;
	width:8.5rem !important;
	margin:0;
	padding:0;
}
.note-editor .note-modal-body .help-list-item + label kbd{
	float:left;
	padding:.25rem .375rem;
	border-radius:.25rem;
	font-weight:400;
	font-size:.875em;
	font-family: Consolas, '맑은 고딕';
	letter-spacing:0;
}
.note-editor .note-modal-body .help-list-item + label + span{
	display:block;
	padding:.125rem 0;
	overflow:hidden;
}
/*  */
.note-editor .note-form-label{
	color:#444;
	font-weight:500;
	font-size:1em;
}
.note-editor .note-editing-area{
	background:#fff;
}
.note-editor .note-editing-area .note-editable[class][class]{
	box-sizing:border-box;
}
/* CodeMirror */
div.CodeMirror pre{
	font-family: Consolas, '맑은 고딕';
	letter-spacing:0;
}
/* summernote 사용 태그 20240809 */
pre,
code{
	padding:.25em .5em;
	border-radius:4px;
	background:rgba(135,131,120,.1);
	font-size:.9375em;
	font-family: Consolas, '맑은 고딕';
	letter-spacing:0;
	/* line-height:normal; */
}
blockquote{
	margin-left:.5em;
	padding:0 0 0 .625em;
	border-left:2px solid var(--color1);
	font-size:inherit;
}
i{
	font-style:italic;
}



/* ◇◆ RWD ◇◆◇◆◇◆◇◆◇◆ */



[class*='grid-mix-1']{
	display:grid;
	grid-template-columns:repeat(1, 1fr);
}
.grid-gap1{
	gap:1.5rem;
}
.grid-gap-1em{
	gap:1em;
}
.grid-gap-0-1em{
	gap:0 1em;
}

/* ◇◆ */
@media all and (max-width:767px){
}
/* ◇◆ */
@media all and (min-width:768px){
	[class*='grid-mix-12']{
		grid-template-columns:repeat(2, 1fr);
	}
}
/* ◇◆ */
@media all and (min-width:1000px){
	[class*='grid-mix-123']{
		grid-template-columns:repeat(3, 1fr);
	}
}
/* ◇◆ (#sidebar+#body) */
@media all and (min-width:1260px){
	[class*='grid-mix-1234']{
		/* grid-template-columns:repeat(4, 1fr); */
	}
}
/* ◇◆ */
@media all and (min-width:1440px){
	[class*='grid-mix-1234']{
		grid-template-columns:repeat(4, 1fr);
	}
}
/* ◇◆ */
@media all and (min-width:1580px){
	[class*='grid-mix-12345']{
		grid-template-columns:repeat(5, 1fr);
	}
}



/* ◇◆ @keyframes ◇◆◇◆◇◆◇◆◇◆ */

@keyframes kfw1s1{
	100% {background-position:100%;}
}
@keyframes kf1blink1spin1{
	50% {
		/* opacity:.5; */
	}
	100% {
		opacity:1;
		transform:rotate(360deg);
	}
}
@keyframes kf1blink1{
	50% {
		opacity:.5;
	}
	100% {
		opacity:1;
	}
}
@keyframes kf1toast1{
	0% {
		filter:brightness(.5);
	}
	10% {
		transform:none;
		filter:brightness(1);
	}
	90% {
		transform:none;
		filter:brightness(1);
	}
	100% {
		filter:brightness(.5);
	}
}
