@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 |
 * 20241011 | @m |
 */

/** Compatible! [EG~] 20230120~ */

/** Table of contents ))
 | Overwrite
 | Add Share Contents
 | Components Library
 | RWD
 */


/* All Device ◆◆◆◆◆◆◆◆◆◆ */


/* ◇◆ 공용 ◇◆ */


/* var() ~20240913 (( 20240405 */
:root{

	/* color */
	--color1:#2dca89; /* 주요색 (기본 버튼배경) */
	--color1v1:#2a5; /* #14c57c 주요색 (글) */
	--color1op1:#2dca8919;
	--color1op2:#2dca8933;

	--color2:#ff908d; /* 강조색 (배경) */
	--color2v1:#e41b1b; /* 강조색 (글) */
	--color2op1:#ff908d19;
	--color2op2:#ff908d33;

	--color3:#778899; /* 보조색 (표thead라인) */
	--color3v1:#6b7683; /* 보조색 (글) */
	--color3op1:#77889919;
	--color3op2:#77889933;

	--color11:#e5e7eb; /* (표)라인색  */
	--color12:#f3f4f6; /* (표)라인색 (연한) */

	--color21:#f9fafb; /* 배경색 (th) */
	--color22:#fcfcfc; /* 배경색 (줄무늬) */

	/* 추가색 (버튼배경..) */
	--color-red:#ef4444;
	--color-orange:#ea580c; /* (6) */
	--color-amber:#d97706; /* (6) */
	--color-yellow:#c88800; /* (7) #a16207 */
	--color-lime:#65a30d; /* (6) */
	--color-green:#16a34a; /* (6) */
	--color-emerald:#059669; /* (6) */
	--color-teal:#0d9488; /* (6) */
	--color-cyan:#0891b2; /* (6) */
	--color-sky:#0284c7; /* (6) */
	--color-blue:#3b82f6;
	--color-indigo:#6366f1;
	--color-violet:#8b5cf6;
	--color-purple:#a855f7;
	--color-fuchsia:#d946ef;
	--color-pink:#ec4899;
	--color-rose:#f43f5e;

	/* 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;
}


/* … lib.css, lib1cp1.css )) Overwrite ◆◆◆ */


/* 라인 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-cyan);color:#fff;}
.button.del{border-color:#0000;background-color:var(--color-rose);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 20240830 */
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;
}
/*  */
table.t1.type2>tbody>tr:last-child>th,
table.t1.type2>tbody>tr:last-child>td{
	border-bottom:1px solid transparent;
}


/* 선택메뉴 20240412 */
.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;
	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);}


/* 탭 20240906 */
.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(--color12); */
	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(--color12);
	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(--color12);
	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;
}
/* ◇◆ */
@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;
	}
}


/* 탭 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;
	}
}


/* 스위치 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;
}


/* 레이어라이트박스. 20240906 (( .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, .65);
	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);
}
/* ☆ */
.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;
}


/* 작성폼 (레이어팝업내부) 20240907 */
.cm1write2{
	position:relative;
	/* margin:0 auto; ☆ flex 이슈 있으니 필요시에만 */
}
.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;
	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-bottom-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;
	}
}


/* 정보메뉴그룹 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;
}


/* 게시판 목록 20240816 */
.cm1bbs1list1 tr:hover{
	background:var(--color22, #f9fafb);
}
/* '○○가 없습니다' */
.cm1bbs1list1:has(tr.item) tr.none{
	display:none;
}
.cm1bbs1list1:not(:has(tr.item))~.none{
	display:block;
}


/* ◇◆ UI Component ◇◆◇◆◇◆◇◆◇◆ */


/* 제목그룹 (본문제목1=h2) 20240913 */
.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{
	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;
}
.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>*{
	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;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1hg1>.w1,
	.cm1hg1>.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;
}


/* 태그(교재,시험지) 20240719 */
.cm1tag1{
	display:flex;
	flex-wrap:wrap;
	gap:.375rem;
	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;
}


/* 카드 (교재 관리 메인) 20240913 */
.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;
	color:#000;
	font-size:1.25em;
}
/*  */
.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(--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;
}
.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 */
}


/* 이미지파일업로드 20240628 */
.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{
	position:relative;
	visibility:hidden;
}
.cm1img1upload2 .preview img{
	width:100%;
	height:auto; /* height:100%; */
	/* object-fit:scale-down; */
}
.cm1img1upload2 .preview.on{
	visibility:visible;
}
.cm1img1upload2 .del{
	z-index:20;
	position:absolute;left:0;top:0;
	margin:.5em;
}
/* 대표사진 */
.cm1img1upload2.s0{}


/* 시험문제 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;
}


/* 정의목록 (대시보드) 20240823 */
.cm1dlist1{
	position:relative;
	margin:0 0 1.5rem;
	line-height:1.375;
}
.cm1dlist1 .dl1{
	display:grid;
	grid-template-columns:repeat(1, 1fr);
	gap:1.5rem;
	list-style:none;margin:0;padding:0;
}
.cm1dlist1 .di1{}
.cm1dlist1 .a1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:1rem;
	border-radius:var(--radius2);
	background:#fff;
}
.cm1dlist1 .w1{
	flex:1;
}
.cm1dlist1 .w2{
	flex:none;
}
.cm1dlist1 .dt1{
	display:block;
	color:#678;
	font-weight:400;
	font-size:.875em;
}
.cm1dlist1 .dd1{
	color:#123;
	font-weight:600;
	font-size:1.5em;
	vertical-align:middle;
}
.cm1dlist1 .ed1{
	display:inline-block;
	margin:0 0 0 .5em;
	padding:.125em .5em;
	border-radius:var(--radius1);
	background:var(--color1op2);
	color:var(--color1v1);
	font-size:.875em;
	vertical-align:middle;
}
.cm1dlist1 .ic1{
	color:#d1d5db;
	font-size:2.25rem;
}
/* ◇◆ */
@media all and (min-width:768px){
	.cm1dlist1 .dl1{
		grid-template-columns:repeat(2, 1fr);
	}
}
/* ◇◆ */
@media all and (min-width:1260px){
	.cm1dlist1 .dl1{
		grid-template-columns:repeat(4, 1fr);
	}
}


/* 그리드 (대시보드) 20240823 */
[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-21{
		grid-template-columns:2fr 1fr;
	}
	.cm1grid1-12{
		grid-template-columns:1fr 2fr;
	}
	.cm1grid1-111{
		grid-template-columns:repeat(3, 1fr);
	}
}


/* 박스 (대시보드) 20240823 */
.cm1box1{
	display:block;
	position:relative;
	border-radius:var(--radius2);
	background:#fff;
	line-height:1.375;
}
.cm1box1 .hg1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:1em;
	padding:1rem;
	border-bottom:1px solid var(--color12);
}
.cm1box1 .hg1 .h1{
	margin:0;
	font-weight:500;
	font-size:1.375em;
}
.cm1box1 .hg1 .a1{
	color:#64748b;
	line-height:1;
	opacity:.8;
}
.cm1box1 .hg1 .a1:hover{
	opacity:1;
}
.cm1box1 .cont{
	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);
}


/* 차트 범례 20240830 */
.cm1legend1 .lst1{
	display:inline-block;
	list-style:none;margin:0;padding:0;
	text-align:left;
	font-size:.8125rem;
}
.cm1legend1 .a1{
	display:inline-flex;
	align-items:center;
	margin:.25em .5em;
}
.cm1legend1 .a1.off{
	filter:grayscale(1) opacity(.5);
}
.cm1legend1 .a1 .ic1{
	flex:none;
	width:.625em;
	height:.625em;
	margin:.25em .375em .25em 0;
	border-radius:9999px;
	background:#888;
}
.cm1legend1 .a1.m1 .ic1{border-radius:25%;background:#abd5ff;}
.cm1legend1 .a1.m2 .ic1{border-radius:25%;background:#abead0;}
.cm1legend1 .a1.m3 .ic1{background:#ffc700;}
.cm1legend1 .a1.m4 .ic1{background:#4889ec;}
.cm1legend1 .a1.m5 .ic1{background:#2dca89;}


/* 툴팁 레이어. 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;
}


/* 뷰어 (업로드 이미지, 문제 미리보기). 20241011 */
.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 .preview img{
	display:block;
	margin:0 auto;
}
/*  */
.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;
		background:var(--color22);
	}
	.cm1book1edit1>.wrap1{
		max-width:1000px;
		margin:0 auto;
		padding:2rem;
		background:#fff;
	}
}





/* ◇◆ .cp1~ (사용자 CSS 가져와서 커스텀) ◇◆◇◆◇◆◇◆◇◆ */



/* ContentBlockName YYYYMMDD @Writer ◇◆ */



/* ◇◆ 라이브러리 커스트마이징 (※) ◇◆◇◆◇◆◇◆◇◆ */



/* summernote 보정 (우선순위↑) 20240809 */
.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 .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;
	box-shadow:0 20px 40px 4px rgba(0,0,0, .2);
}
.note-editor button.close{
	height:auto;
	margin:0;
	font-size:21px;
	line-height:1;
	opacity:.6;
}
.note-editor button.close:hover{
	opacity:1;
}
.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:10px 20px 20px;
}
.note-editor .note-modal-footer .btn{
	margin:0 10px 0 0;
}
.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:#e7e7e7;
	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-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;
}

/* ◇◆ */
@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);
	}
}
