@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200');

@font-face {
    font-family: 'mainfont';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* 기본 변수 선언 (공통 속성) */
:root {
	--text-color: #555; 
	--sub-text-color: #777; 
	--back-color: #EFEFEF;
	--header-color: #444;
	--primary-color: #DEDEDE;
	--secondary-color: #EFEFEF;
	--default-width: 800px;
	--narrow-width: 500px;
	--wide-width: 1200px;
	--text-font: 'mainfont';
	--icon-font: 'Material Symbols Outlined';
	--border-color: #CCC;
	--document-back-color: #FFF;
	--disabled-color: #EEE;
	--control-border-color: #BBB;
	--form-text-color: #555;
	--disabled-text-color: #555;
	--btn-border-color: #CCC;
	--control-back-color: #FFF;
}

 /* {
	color: #ff6347;
	color: #ffd700;
	color: #1e90ff;
	color: #adff2f;
	color: #dda0dd
} */


/* 화이트 테마 (기본 테마) */
:root.theme-white {
	
}

/* 다크 테마 */
:root.theme-black {
    --text-color: #DEDEDE; 
    --sub-text-color: #AAAAAA; 
    --back-color: #1E2124;
    --header-color: #FFFFFF;
    --primary-color: #2C2F33;
    --secondary-color: #36393F;
    --border-color: #777;
    --document-back-color: #2e3235;
    --disabled-color: #333;
    --control-border-color: #BBB;
	--form-text-color: #DEDEDE
	--disabled-text-color: #BBB;
	--btn-border-color: #777;
	--control-back-color: #2e3235;
}

/* Red 테마 */
:root.theme-red {
	--text-color: #333;
	--sub-text-color: #555;
	--back-color: #fff0f0;
	--header-color: #ff6347;
	--primary-color: #ffded9;
	--secondary-color: #fff0f0;
	--border-color: #ffbcb3;
	--document-back-color: #FFF;
	--disabled-color: #f8e6e4;
	--control-border-color: #ffbcb3;
	--form-text-color: #333;
	--disabled-text-color: #777;
	--btn-border-color: #ffbcb3;
	--control-back-color: #FFF;
}
	
/* Yellow 테마 */
:root.theme-yellow {
	--text-color: #333;
	--sub-text-color: #555;
	--back-color: #fffbeb;
	--header-color: #996c00;
	--primary-color: #ffe980;
	--secondary-color: #fff8d6;
	--border-color: #e6c000;
	--document-back-color: #FFF;
	--disabled-color: #f9f5e0;
	--control-border-color: #e6c000;
	--form-text-color: #333;
	--disabled-text-color: #777;
	--btn-border-color: #e6c000;
	--control-back-color: #FFF;
}
	
/* Blue 테마 */
:root.theme-blue {
	--text-color: #333;
	--sub-text-color: #555;
	--back-color: #f0f8ff;
	--header-color: #1e90ff;
	--primary-color: #d1e8ff;
	--secondary-color: #f0f8ff;
	--border-color: #90c8ff;
	--document-back-color: #FFF;
	--disabled-color: #e6f2ff;
	--control-border-color: #90c8ff;
	--form-text-color: #333;
	--disabled-text-color: #777;
	--btn-border-color: #90c8ff;
	--control-back-color: #FFF;
}
	
/* Green 테마 */
:root.theme-green {
	--text-color: #333;
	--sub-text-color: #555;
	--back-color: #e4f7da;
	--header-color: #4c7a00;
	--primary-color: #c2e673;
	--secondary-color: #e8f7d4;
	--border-color: #8fbd00;
	--document-back-color: #FFF;
	--disabled-color: #eafce0;
	--control-border-color: #8fbd00;
	--form-text-color: #333;
	--disabled-text-color: #777;
	--btn-border-color: #8fbd00;
	--control-back-color: #FFF;
}
	
/* Purple 테마 */
:root.theme-purple {
	--text-color: #333;
	--sub-text-color: #555;
	--back-color: #faf0ff;
	--header-color: #9370db;
	--primary-color: #f1e0f9;
	--secondary-color: #faf0ff;
	--border-color: #ddbcf0;
	--document-back-color: #FFF;
	--disabled-color: #f5ebfa;
	--control-border-color: #ddbcf0;
	--form-text-color: #333;
	--disabled-text-color: #777;
	--btn-border-color: #ddbcf0;
	--control-back-color: #FFF;
}

html, body {
	margin: 0;
	padding: 0;	
}

html {
	background-color: var(--back-color);
	display: flex;
	justify-content: center;
	min-height: 100vh;
}

body, body.default {
	width: var(--default-width);
	background-color: var(--document-back-color);
	padding-bottom: 120px;
}

body.wide {
	width: var(--wide-width);
}

body.narrow {
	width: var(--narrow-width);
}
body.w300 { width: 300px; }
body.w350 { width: 350px; }
body.w400 { width: 400px; }
body.w450 { width: 450px; }
body.w500 { width: 500px; }
body.w550 { width: 550px; }
body.w600 { width: 600px; }
body.w650 { width: 650px; }
body.w700 { width: 700px; }
body.w750 { width: 750px; }
body.w800 { width: 800px; }
body.w850 { width: 850px; }
body.w900 { width: 900px; }
body.w950 { width: 950px; }
body.w1000 { width: 1000px; }
body.w1050 { width: 1050px; }
body.w1100 { width: 1100px; }
body.w1150 { width: 1150px; }
body.w1200 { width: 1200px; }
body.w1250 { width: 1250px; }
body.w1300 { width: 1300px; }
body.w1350 { width: 1350px; }
body.w1400 { width: 1400px; }
body.w1450 { width: 1450px; }
body.w1500 { width: 1500px; }
body.w1550 { width: 1550px; }
body.w1600 { width: 1600px; }
body.w1650 { width: 1650px; }
body.w1700 { width: 1700px; }
body.w1750 { width: 1750px; }
body.w1800 { width: 1800px; }
body.w1850 { width: 1850px; }
body.w1900 { width: 1900px; }
body.w1950 { width: 1950px; }
body.w2000 { width: 2000px; }
body.w2050 { width: 2050px; }
body.w2100 { width: 2100px; }




body, p, div, span, a, input, select, option, textarea, button, table, th, td, label, fieldset, legend {
	font-family: var(--text-font);
	color: var(--text-color);
	font-display: swap; /* 폰트 로딩중에도 텍스트 미리 표시 */
}

input, select, option, textarea, button {
	vertical-align: bottom; 
}

body > div,
body > table,
body > form,
body > ul,
body > ol,
body > code,
body > pre {
	margin-left: 1rem;
	margin-right: 1rem;
}

body > h1,
body > h2,
body > h3 {
	padding-left: 1rem;
	padding-right: 1rem;
}

h1, h2, h3 {
	font-family: var(--text-font);
	color: var(--header-color);
	padding-top: .5rem;
}

div > h1, div > h2, div > h3 {
	padding: 0;
}

body > div.message {
	padding: 0.3rem 1rem;
	padding-bottom: 0.6rem;
}

body > main > div {
	padding: 0.3rem 1rem;
}

body > div[data-sidebar-window] {
	padding: 0.5rem 1rem;
	margin: 0;
}

body div[data-modal-window] {
	margin: 0;
	padding: 0;
}

h1 { font-size: 2rem; border-bottom: 1px solid var(--border-color); }
h1 small { font-size: 1.2rem; color: var(--sub-text-color); }
h2 { font-size: 1.5rem; border-bottom: 1px dashed var(--border-color); }
h2 small { font-size: 1.1rem; color: var(--sub-text-color); }
h3 { font-size: 1.2rem; }
h3 small { font-size: 1rem; color: var(--sub-text-color); }



h1.main::before {
	font-family: var(--icon-font);
  	content: '\e666';
  	margin-right: 10px;
  	float: left;
	font-size: 2.5rem;
}

h1.sub::before {
	font-family: var(--icon-font);
  	content: '\ea19';
  	margin-right: 10px;
  	float: left;
	font-size: 2.5rem;
}

h1.page::before {
	font-family: var(--icon-font);
  	content: '\e0e0';
  	margin-right: 10px;
  	float: left;
	font-size: 2.5rem;
}

h1 > span.material-symbols-outlined {
	font-size: 2.5rem;
	font-weight: bold;
	transform: translate(2px, 10px);
}

h2 > span.material-symbols-outlined {
	font-size: 2rem;
	font-weight: bold;
	transform: translate(2px, 8px);
}

body > header {
	display: flex;
	justify-content: space-between;
	border-bottom: 5px solid var(--border-color);
	min-height: 74px;
	background-color: var(--document-back-color);
	position: relative;
	left: 0;
	top: 0;
}

body > header.sticky {
	position: sticky;
	top: 0;
	z-index: 98;
}

body > header > h1 {
	font-size: 1.2rem;
	border: 0;
	padding-left: 1rem;
}

body > header.in > h1::before {
	font-family: var(--icon-font);
  	content: '\e332‥';
  	margin-right: 3px;
  	float: left;
	font-size: 2rem;
}

body > header > h1.main::before {
	font-family: var(--icon-font);
  	content: '\e666';
  	margin-right: 10px;
  	float: left;
	font-size: 2rem;
	margin-top: -0.2rem;
}


body > header > ul {
	list-style-type: none;
	display: flex;
	align-items: flex-end;
	margin-right: 10px;
}

body > header > ul > li {
	margin-right: 10px;
	cursor: pointer;
}

body > header > ul > li > a {
	cursor: pointer;
}

body > header > ul+ul {
	position: absolute;
	right: 0;
	bottom: -46px;
	padding: 0;
	background-color: var(--document-back-color);
	font-size: 14px;
}

body > header > ul > li.divider::before {
  	content: 'ı';
	font-size: 1rem;
	color: var(--border-color);
	margin: 0;
	padding: 0;
}

header + * {
	margin-top: 1rem;
}


form {
	display: block;
}

form > div {
	padding: 0.3rem 0rem;
}

div > form > div {
	padding: 0.3rem 0;
}

input, textarea, select {
	border: 1px solid var(--control-border-color);
	border-radius: 3px;
	outline: none;
	resize: none;
	padding: 7px;	
	margin: 0;
	background-color: var(--control-back-color);
}

input[type=button], input[type=submit], button {
	border: 1px solid var(--btn-border-color);
	border-radius: 3px;
}

input[type=text], input[type=number], input[type=email], input[type=datetime], textarea, select, option, optgroup {
	color: var(--form-text-color);
}
option {
	background-color: var(--control-back-color);
}

input[type=text]:read-only, textarea:read-only, input[type=text]:disabled, textarea:disabled {
	cursor: not-allowed;
	background-color: var(--disabled-color);
	color: var(--disabled-text-color);
}

input[type=text], input[type=password], textarea, button, select {
	/* width: 300px; */
}

input[type=color] {
	padding: 3px;
}

textarea {
	display: block;
	height: 100px;
}


input.short, textarea.short, button.short, select.short {
	width: 100px;
}

input.long, textarea.long, button.long, select.long {
	width: 350px;
}

.narrow input.long, .narrow textarea.long, .narrow button.long, .narrow select.long {
	width: calc(100% - 20px);
}

input.full, textarea.full, button.full, select.full {
	width: calc(100% - 20px);
}

textarea.short {
	height: 50px;
}

textarea.long {
	height: 100px;
}

textarea.full {
	height: 200px;
}

input, textarea {
	padding-top: 8px;
}

input[type=button], input[type=submit], button {
	padding: 5px 10px;
	background-color: var(--secondary-color);
	cursor: pointer;
	min-height: 36px;
	padding-left: .74rem;
	padding-right: .741rem;
}

input[type=button].primary, input[type=submit].primary, button.primary {
	/* background-color: rgba(100, 149, 237, .2); */
	background-color: var(--primary-color);
}

input[type=button].primary:hover, input[type=submit].primary:hover, button.primary:hover {
	/* background-color: rgba(100, 149, 237, .3); */
	background-color: var(--secondary-color);
}

input[type=button]:hover, input[type=submit]:hover, button:hover {
	background-color: var(--primary-color);
}

/* button {
	position: relative;
	left: 0;
	top: 0;
	padding-left: 35px;
} */

button .material-symbols-outlined {
	position: absolute;
	left: 10px;
	top: 4px;
}

button.home, button.search, button.close,
button.settings, button.favorite, button.star,
button.more, button.checkbox, button.dialog,
button.calendar, button.timer, button.map,
button.marker, button.bookmark, button.tag,
button.image, button.folder, button.desc,
button.attach, button.copy, button.paste,
button.click, button.keyboard, button.refresh,
button.pause, button.secret, button.person,
button.group, button.lock, button.language,
button.color, button.left-panel, button.right-panel,
button.json, button.markdown, button.html,
button.css, button.javascript, button.add,
button.back, button.list, button.del,
button.edit, button.login, button.logout,
button.in, button.out, button.reply,
button.comment, button.modal, button.ok,
button.cancel, button.sidebar, button.sidebar-right,
button.setting
{
	position: relative;
	left: 0;
	top: 0;
	padding-left: 35px;
}


button.home::before {
	font-family: var(--icon-font);
  	content: '\e88a';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.search::before {
	font-family: var(--icon-font);
  	content: '\e8b6';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.close::before {
	font-family: var(--icon-font);
  	content: '\e5cd';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.settings::before {
	font-family: var(--icon-font);
  	content: '\e8b8';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.favorite::before {
	font-family: var(--icon-font);
  	content: '\e87d';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.star::before {
	font-family: var(--icon-font);
  	content: '\e838';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.more::before {
	font-family: var(--icon-font);
  	content: '\e5d3';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.checkbox::before {
	font-family: var(--icon-font);
  	content: '\f1fe';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.dialog::before {
	font-family: var(--icon-font);
  	content: '\e99f';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.calendar::before {
	font-family: var(--icon-font);
  	content: '\ebcc';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.timer::before {
	font-family: var(--icon-font);
  	content: '\e425';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.map::before {
	font-family: var(--icon-font);
  	content: '\e55b';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.marker::before {
	font-family: var(--icon-font);
  	content: '\e55b';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.bookmark::before {
	font-family: var(--icon-font);
  	content: '\e866';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.tag::before {
	font-family: var(--icon-font);
  	content: '\f05b';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.image::before {
	font-family: var(--icon-font);
  	content: '\e3f4';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.folder::before {
	font-family: var(--icon-font);
  	content: '\e2c7';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.desc::before {
	font-family: var(--icon-font);
  	content: '\e873';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.attach::before {
	font-family: var(--icon-font);
  	content: '\e2bc';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.copy::before {
	font-family: var(--icon-font);
  	content: '\e173';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.paste::before {
	font-family: var(--icon-font);
  	content: '\e14f';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.click::before {
	font-family: var(--icon-font);
  	content: '\f718';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.keyboard::before {
	font-family: var(--icon-font);
  	content: '\e312';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.refresh::before {
	font-family: var(--icon-font);
  	content: '\e5d5';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.pause::before {
	font-family: var(--icon-font);
  	content: '\e034';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.secret::before {
	font-family: var(--icon-font);
  	content: '\e73c';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.person::before {
	font-family: var(--icon-font);
  	content: '\e7fd';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.group::before {
	font-family: var(--icon-font);
  	content: '\e7ef';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.lock::before {
	font-family: var(--icon-font);
  	content: '\e897';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.language::before {
	font-family: var(--icon-font);
  	content: '\e894';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.color::before {
	font-family: var(--icon-font);
  	content: '\e40a';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.left-panel::before {
	font-family: var(--icon-font);
  	content: '\f716';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.right-panel::before {
	font-family: var(--icon-font);
  	content: '\f704';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.json::before {
	font-family: var(--icon-font);
  	content: '\f3bb';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.markdown::before {
	font-family: var(--icon-font);
  	content: '\f552';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.html::before {
	font-family: var(--icon-font);
  	content: '\eb7e';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.css::before {
	font-family: var(--icon-font);
  	content: '\eb93';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.javascript::before {
	font-family: var(--icon-font);
  	content: '\eb7c';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.add::before {
	font-family: var(--icon-font);
  	content: '\e746';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.back::before {
	font-family: var(--icon-font);
  	content: '\e166';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}

button.list::before {
	font-family: var(--icon-font);
  	content: '\e0ee';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.del::before {
	font-family: var(--icon-font);
  	content: '\e872';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.edit::before {
	font-family: var(--icon-font);
  	content: '\e745';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.login::before {
	font-family: var(--icon-font);
  	content: '\ea77';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.logout::before {
	font-family: var(--icon-font);
  	content: '\e9ba';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.in::before {
	font-family: var(--icon-font);
  	content: '\f71a';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.out::before {
	font-family: var(--icon-font);
  	content: '\f70e';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.reply::before {
	font-family: var(--icon-font);
  	content: '\e15e';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.comment::before {
	font-family: var(--icon-font);
  	content: '\e0b9';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.modal::before {
	font-family: var(--icon-font);
  	content: '\e89e';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.ok::before {
	font-family: var(--icon-font);
  	content: '\e86c';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.cancel::before {
	font-family: var(--icon-font);
  	content: '\e5c9';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.sidebar::before {
	font-family: var(--icon-font);
  	content: '\f7e4';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.sidebar-right::before {
	font-family: var(--icon-font);
  	content: '\f7e5';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


button.setting::before {
	font-family: var(--icon-font);
  	content: '\e8b8';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
}


/* 기본 버튼 아이콘(제거했음) */
/* button::before {
	font-family: var(--icon-font);
  	content: '\e323';
	position: absolute;
	left: 11px;
	top: 4px;
	font-size: 1.25rem;
} */


body > table,
main > table,
div > table {
	border-collapse: collapse;	
	margin: 1rem;
	box-sizing: border-box;
	width: calc(100% - 32px);
}
form > table {
	border-collapse: collapse;	
	margin-top: 1rem;
	margin-bottom: 1rem;
	box-sizing: border-box;
	width: calc(100%);
}

table.content {
	width: auto;
}
table.content th, table.content td {
	padding-left: 1rem;
	padding-right: 1rem;
}


/* div > table {
	margin: 0;
} */

table th, table td {
	border: 1px solid var(--border-color);
	padding: 7px;
	padding-left: 1rem;
	padding-right: 1rem;
	font-weight: normal;
	text-align: center;
}

table th {
	background-color: var(--back-color);
}

table.vertical th {
	width: 150px;
}

table.vertical td {
	width: calc(100% - 182px);
	padding-left: 1rem;
	padding-right: 1rem;
	text-align: left;
}


table.content td, table.content th {
	width: auto;
}

table td.left {
	text-align: left;
	padding-left: 1rem;
}
table td.right {
	text-align: right;
	padding-right: 1rem;
}

body.narrow table.vertical th {
	width: 100px;
}

body.narrow table.vertical td {
	width: calc(100% - 182px);
}


table + table {
	margin-top: 30px;
}


p {
	padding: 0 1rem;
}

a {
	text-decoration: none;
}

a:hover {
	color: rgba(255, 99, 71, .7);
}

hr {
	border: 0;
	border-top: 1px solid var(--border-color);
	margin: 1rem 0;
}
hr.thin {
	margin: .5rem 0;
}
hr.thick {
	margin: 2rem 0;
}

.message {
	border: 1px solid var(--border-color);
	/* background-color: #EFEFEF; */
	background-color: var(--back-color);
	margin: 1rem;
	width: auto;
	padding-top: 10px !important;
	padding-bottom: 10px;
	font-size: 14px;
}

.message[title]::before {
	content: attr(title);
	display: block;
	border-bottom: 1px solid var(--border-color);
	padding-bottom: 5px;
	margin-bottom: 10px;
	margin-top: 3px;
}

.message.short {
	max-width: 250px;
}

.message.long {
	max-width: 500px;
}

.badge {
	float: right;
	font-size: .8rem;
	margin-top: 2px;
	margin-right: 2px;
	text-shadow: 0 0 7px gray;
}

.badge.left {
	float: none;
	margin-left: 2px;
}

.badge.right {
	float: right;
}

.badge.red {
	border-radius: 50%;
	padding: 2px 5px;
	background-color: rgb(255, 99, 71, .3);
}

.badge.yellow {
	
	border-radius: 50%;
	padding: 2px 5px;
	background-color: rgb(255, 215, 0, .5);
}

.badge.blue {
	border-radius: 50%;
	padding: 2px 5px;
	background-color: rgb(100, 149, 237, .3);
}

.badge.green {
	border-radius: 50%;
	padding: 2px 5px;
	background-color: rgba(85, 218, 145, 0.3);
}

.badge.orange {
	border-radius: 50%;
	padding: 2px 5px;
	background-color: rgba(236, 195, 59, 0.3);
}

label {
	color: var(--form-text-color);
}

label + label {
	margin-left: 7px;
}

label input[type=checkbox], label input[type=radio] {
	transform: translate(0, 1px);
}

.group {
	display: flex;
}

.modal-content .group {
	margin-bottom: .5rem;
}

.group label {
	border: 1px solid var(--control-border-color);
	border-radius: 3px;
	outline: none;
	resize: none;
	padding: 7px 14px;
	margin: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	background-color: var(--back-color);
	white-space: nowrap;
	font-size: 14px;
}

.group input[type=text] {
	margin-left: -1px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.group select {
	margin-left: -1px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.group input.full[type=text] {
	margin-left: -1px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	width: 100%;
}

.group input[type=button]:first-child, .group button:first-child {
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
	margin-left: 0px;
}

.group input[type=button], .group button {
	border-radius: 0;
	margin-left: -1px;
}

.group input[type=button]:last-child, .group button:last-child {
	margin-left: -1px;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

.seperate {
	display: flex;
	justify-content: space-between;
}

.space {
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	height: 10px !important;
}

.space1 {
	height: 1px !important;
}

.space2 {
	height: 2px !important;
}

.space3 {
	height: 3px !important;
}

.space4 {
	height: 4px !important;
}

.space5 {
	height: 5px !important;
}

.space6 {
	height: 6px !important;
}

.space7 {
	height: 7px !important;
}

.space8 {
	height: 8px !important;
}

.space9 {
	height: 9px !important;
}

.space10 {
	height: 10px !important;
}

.space11 {
	height: 11px !important;
}

.space12 {
	height: 12px !important;
}

.space13 {
	height: 13px !important;
}

.space14 {
	height: 14px !important;
}

.space15 {
	height: 15px !important;
}

.space16 {
	height: 16px !important;
}

.space17 {
	height: 17px !important;
}

.space18 {
	height: 18px !important;
}

.space19 {
	height: 19px !important;
}

.space20 {
	height: 20px !important;
}

.flex {
	display: flex;
	align-items: center;
	gap: 5px;
}

.flex.gap0 {
	gap: 0px;
}

.flex.gap1 {
	gap: 1px;
}

.flex.gap2 {
	gap: 2px;
}

.flex.gap3 {
	gap: 3px;
}

.flex.gap4 {
	gap: 4px;
}

.flex.gap5 {
	gap: 5px;
}

.flex.gap6 {
	gap: 6px;
}

.flex.gap7 {
	gap: 7px;
}

.flex.gap8 {
	gap: 8px;
}

.flex.gap9 {
	gap: 9px;
}

.flex.gap10 {
	gap: 10px;
}

.flex.gap11 {
	gap: 11px;
}

.flex.gap12 {
	gap: 12px;
}

.flex.gap13 {
	gap: 13px;
}

.flex.gap14 {
	gap: 14px;
}

.flex.gap15 {
	gap: 15px;
}

.flex.gap16 {
	gap: 16px;
}

.flex.gap17 {
	gap: 17px;
}

.flex.gap18 {
	gap: 18px;
}

.flex.gap19 {
	gap: 19px;
}

.flex.gap20 {
	gap: 20px;
}

input[type=file] {
	height: 19px !important;
	padding:4px !important;
	padding-bottom: 11px !important;
}

div.box-list {
	width: max-content;
	margin: 1rem;
	border: 1px solid var(--control-border-color);
	border-radius: 3px;
	padding: 0;
}

div.box-list.full {
	width: auto;
	display: block;
	margin: 1rem;
	border: 1px solid var(--control-border-color);
	border-radius: 3px;
	padding: 0;
}

div.box-list > div {
	padding: .5rem 1rem;
	margin: 0;
	border-bottom: 1px solid var(--control-border-color);
}

div.box-list > div:last-child {
	border-bottom: 0;
}

pre.code {
	font-family: consols;
	background-color: rgba(150, 150, 150, .1);
	border: 1px solid var(--control-border-color);
	border-radius: 3px;
	padding: .5rem 1rem;
	padding-bottom: .6rem;
	margin: 1rem;	
}




*[data-modal-window] {
	position: fixed;
	background-color: rgba(0, 0, 0, .3);
	left: 0;
	top: 0;
	display: none;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	min-height: 100vh;
	z-index: 100;
	opacity: 0;
	transition: 500ms all;
}

*[data-modal-window] .modal-container {
	border-radius: 5px;
	padding: 1rem;
	padding-bottom: .5rem;
	margin-top: -500px;
	opacity: 0;
	width: 500px;
	background-color: var(--document-back-color);
	margin-right: 2rem;
	transition: 500ms all;
}

*[data-modal-size=content] .modal-container {
	width: auto;
}

*[data-modal-size=narrow] .modal-container {
	width: 300px;
}

*[data-modal-size=wide] .modal-container {
	width: 760px;
}


*[data-modal-window] .modal-header {
	border-bottom: 1px solid var(--border-color);
	padding: 2px 5px;
}

*[data-modal-window] .modal-content {
	padding: 1rem 5px;
}

*[data-modal-window] .modal-content div:last-child {
	margin-top: 1rem;
	text-align: right;
}



*[data-sidebar-window] {
	position: fixed;
	background-color: var(--document-back-color);
	left: 0;
	top: 0;
	display: block;
	width: 300px;
	border-right: 1px solid var(--border-color);
	box-sizing: border-box;
	box-shadow: 0 0 3px var(--back-color);
	min-height: 100vh;
	z-index: 99;
	transform: translate(-300px, 0);
	transition-duration: 500ms;
	transition-property: transform;
}

*[data-sidebar-direction=right] {
	left: auto;
	right: 0;
	transform: translate(300px, 0);
	border-left: 1px solid var(--border-color);
}

*[data-sidebar-size=wide] {
	width: 500px;
	transform: translate(-500px, 0);
}

*[data-sidebar-window] .sidebar-title {
	border-bottom: 1px solid var(--border-color);
	margin-top: 20px;
	margin-bottom: 20px;
	padding-bottom: 5px;
	display: flex;
	justify-content: space-between;
}

*[data-sidebar-window] .sidebar-title span:last-child {
	cursor: pointer;
}

.pagebar {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pagebar a {
	border: 1px solid transparent;
	display: inline-block;
	padding: 0.3rem .5rem .2rem;
	cursor: pointer;
}
.pagebar a.now {
	border-color: var(--border-color);
	border-radius: 3px;
	cursor: not-allowed;
}
.pagebar a.now:hover {
	color: var(--text-color);
}
