html {
	position: relative;
	min-height: 100%;
	font-size: 14px;
}

@media (min-width: 768px) {
	html {
		font-size: 16px;
	}
}

body {
	/* font-family: 'Roboto', 'Magun Gothic', sans-serif; */
	font-family: 'Roboto', 'Pretendard', sans-serif;
	margin-top: 5rem;
}

a {
	color: var(--bs-body-color);
	text-decoration: initial;
}

p {
	margin-bottom: .2em;
}

.dn {
	display: none;
}

.cp {
	cursor: pointer;
}

.isrentend {
	text-decoration-line: line-through;
	text-decoration-style: solid;
	text-decoration-color: rgba(255, 0, 0, .7);
}

.needwrite::after {
	content: '*';
	color: red;
}

.shortcutbox {
	margin: 0.5em;
	padding: 0.5em;
	font-size: 1.2em;
	text-align: center;
}

.shortcuticon {
	font-size: 2em;
}

.reloadcount {
	font-size: 0.8em;
	font-family: 'Roboto', 'Pretendard', sans-serif;
}

.navermap {
	width: 100%;
	height: calc(100dvh - 20em);
	position: relative;
	overflow: hidden;
	background: rgb(248, 249, 250);
}

.wildtooltip {
	width: auto;
	max-width: initial !important;

}

.wildtooltip>div {
	width: auto;
	max-width: initial !important;
	text-align: left;
}

.spinner-box {
	display: inline-block;
	width: auto;
	height: auto;
	text-align: center;
	vertical-align: middle;
	animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
	border: none;
	--bs-spinner-animation-speed: 2s;
	--bs-spinner-animation-name: spinner-box;
	margin: 0;
	padding: 0;
}

@keyframes spinner-box {
	to {
		transform: rotate(360deg)
			/* rtl:ignore */
		;
	}
}

.numberfont {
	font-family: 'Roboto';
}

#loading {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0.7;
	background-color: var(--bs-body-bg);
	z-index: 2000;
}

.loginbox {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.loginbox div:nth-last-child(1) {
	padding-bottom: 10em;
}

.printarea textarea,
.printarea input {
	border: none;
	text-align: center;
	padding: 0.4em 0.25em;
	outline-color: var(--bs-primary);
}

.printarea {
	color: #000;
	width: 210mm;
	max-width: 210mm;
	/* height: 297mm;
	max-height: 297mm; */
	overflow: hidden;
	margin: 0 auto;
	border: 1px solid #6c757d;
	font-family: 'Malgun Gothic';
	padding: 15mm;
	position: relative;
	background-color: #fff;
	z-index: 0;
}

.printarea textarea,
.printarea input,
.printarea select {
	background-color: #fff;
	color: #000;
}

.printarea .table {
	color: #000;
	width: 100%;
	margin: 0;
	border: none;
	font-size: 14px;
	border-collapse: collapse;
	background-color: rgba(255, 255, 255, 0);
}

.printarea .table>:not(caption)>*>td {
	background-color: rgba(255, 255, 255, 0);
}

.printarea th {
	background-color: #e1e1e6;
	color: #000;
	border: 1px solid #000;
	text-align: center;
	padding: auto;
	vertical-align: middle;
}

.printarea td {
	color: #000;
	border: 1px solid #000;
	vertical-align: middle;
	background-color: #fff;
	padding: 0;
}

.diffbefore {
	background-color: var(--bs-success-bg-subtle);
	border: 1px solid var(--bs-success-border-subtle);
}
.diffafter {
	background-color: var(--bs-danger-bg-subtle);
	border: 1px solid var(--bs-danger-border-subtle);
}

.exceltable {
	font-size: 14px;
	font-family: 'Roboto', 'Pretendard', sans-serif;
}

.exceltable tbody,
.exceltable td,
.exceltable tfoot,
.exceltable th,
.exceltable thead,
.exceltable tr {
	border: 1px solid var(--bs-border-color);
}

.exceltable thead tr th {
	background-color: rgba(0, 0, 0, 0.2);
	color: var(--bs-body-color);
	text-align: center;
	/* background-color: var(--bs-gray);
	background-color: var(--bs-secondary); */
}

.exceltable tbody tr th {
	background-color: rgba(0, 0, 0, 0.2);
	color: var(--bs-body-color);
	text-align: center;
	/* background-color: var(--bs-gray);
	background-color: var(--bs-secondary); */
}

.tableheadfixcls {
	border-collapse: separate;
	border-spacing: 0;
}

.tableheadfixcls thead {
	position: sticky;
	top: 0px;
	z-index: 1;
	background-color: rgb(204, 204, 204);
}

.tableheadfixcls thead th:not(:last-child) {
	border-width: 1px;
	border-right-width: 0;
}

.tableheadfixcls thead th:last-child {
	border-right-width: 1px;
}

.tableheadfixcls tbody td:not(:last-child) {
	border-left-width: 1px;
	border-bottom-width: 1px;
	border-right-width: 0px;
	border-top-width: 0px;
}

.tableheadfixcls tbody td:last-child {
	border-left-width: 1px;
	border-top-width: 0px;
	border-right-width: 1px;
	border-bottom-width: 1px;
}



.textoverflowhidden {
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.appearance-none {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

.resizer {
	/* Displayed at the right side of column */
	position: absolute;
	top: 0;
	right: 0;
	width: 5px;
	cursor: col-resize;
	user-select: none;
	-webkit-user-select: none;
}

.resizable th {
	position: relative;
}

.resizer:hover,
.resizing {
	border-right: 2px solid var(--bs-primary) !important;
}

.pagearea {
	display: block;
	position: relative;
}

.pageinfo {
	display: block;
}

.pageperrowarea {
	position: absolute;
	right: 0;
	top: 0;
}

.divIncomingCallArea {
	position: fixed;
	max-height: 100%;
	overflow-y: auto;
	right: 0;
	bottom: 0;
	z-index: 100;
	overflow-x: visible;
	max-width: 400px;
	text-align: right;
}

.divIncomingCallArea>div:nth-child(1) {
	width: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
	display: flex;
	flex-direction: column-reverse;
	text-align: initial;
}

.divIncomingCallArea>div:nth-child(2) {
	width: 300px;
	margin: 0 0 0 100px;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: 80dvh;
	text-align: initial;
	display: none;
	z-index: 200;
}

.callhistoryitem {
	padding: 0.3em 0.5em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	background-color: var(--bs-body-bg);
	border-top: 1px solid var(--bs-border-color);
	border-left: 1px solid var(--bs-border-color);
	border-right: 1px solid var(--bs-border-color);
}

.callhistoryitem:nth-last-child(1) {
	border-bottom: 1px solid var(--bs-border-color);
}

.callhistoryitem>div {
	width: 100%;
	font-size: 0.9em;
	text-align: right;
	display: block;
}

.callhistoryitem>div>div {
	display: inline-block;
	margin-left: 0.3em;
	margin-right: 0.3em;
}

.callhistoryitem>div:nth-child(1) {
	width: auto;
	margin-right: 1em;
	font-size: 0.9em;
	text-align: left;
	display: inline-block;
}

.callhistoryitem>div:nth-child(2) {
	width: auto;
	font-weight: bold;
	font-size: 1em;
	text-align: left;
	display: inline-block;
}


.callitem {
	margin: .2em .5em .2em 1em;
}

.divIncomingCallHistory {
	position: sticky;
	right: 0;
	bottom: 0;
	margin: .5rem .5rem .2rem 0.5rem;
	display: inline-block;
	overflow: hidden;
	padding: .2rem .5rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	font-size: 1rem;
	text-align: right;
	cursor: pointer;
	box-shadow: 0 .3rem .3em rgba(0, 0, 0, .5);
}

.divIncomingCallBadge {
	position: sticky;
	right: 0;
	bottom: 0;
	margin: .5rem .5rem .2rem 0.5rem;
	display: inline-block;
	overflow: hidden;
	padding: .2rem .5rem;
	background-color: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	border-radius: .5rem;
	font-size: 1rem;
	text-align: right;
	cursor: pointer;
	box-shadow: 0 .3rem .3em rgba(0, 0, 0, .5);
}

.opacity50 {
	opacity: 0.5;
}

.shake {
	animation-duration: .2s;
	animation-name: shake;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

@keyframes shake {
	from {
		margin-left: 1em;
		margin-right: 1em
	}

	to {
		margin-left: 1.5em;
		margin-right: .5em
	}
}

.slidein {
	animation-duration: 0.5s;
	animation-name: slidein;
}

@keyframes slidein {
	from {
		transform: translateX(100%);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

.slideout {
	animation-duration: 0.5s;
	animation-name: slideout;
}

@keyframes slideout {
	from {
		transform: translateX(0);
		opacity: 1;
	}

	to {
		transform: translateX(100%);
		opacity: 0;
	}
}


.zoomout {
	animation-duration: 5s;
	animation-name: zoomout;
}

@keyframes zoomout {
	from {
		zoom: 1;
	}

	to {
		zoom: 0;

	}
}

.blinking {
	animation-duration: .5s;
	animation-name: blinking;
	animation-iteration-count: infinite;
}

@keyframes blinking {
	0% {
		opacity: 1;
	}

	49% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}

	100% {
		opacity: 0;
	}
}

.bounce {
	animation-duration: .25s;
	animation-name: bounce;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

@keyframes bounce {
	0% {
		transform: translateY(0);
	}

	20% {
		transform: translateY(-10%);
	}

	40% {
		transform: translateY(-17%);
	}

	60% {
		transform: translateY(-22%);
	}

	80% {
		transform: translateY(-24%);
	}

	100% {
		transform: translateY(-25%);
	}
}

[data-bs-theme=dark] .ce-toolbar__plus {
	background-color: var(--bs-dark) !important;
	color: var(--bs-body-color) !important;
}
[data-bs-theme=dark] .ce-toolbar__plus:hover {
	background-color: var(--bs-secondary-bg) !important;
}
[data-bs-theme=dark] .ce-toolbar__settings-btn {
	background-color: var(--bs-dark) !important;
	color: var(--bs-body-color) !important;
}
[data-bs-theme=dark] .ce-toolbar__settings-btn:hover {
	background-color: var(--bs-secondary-bg) !important;
}

[data-bs-theme=dark] .cdx-search-field {
    background: var(--bs-body-bg);
}

[data-bs-theme=dark] .ce-popover {
    --color-border: var(--bs-secondary-color);
    --color-background: var(--bs-body-bg);
    --color-text-primary: var(--bs-body-color);
    --color-text-secondary: var(--bs-dark-text-emphasis);
    --color-border-icon: rgba(201, 201, 204, .48);
    --color-border-icon-disabled: var(--bs-secondary-color);
    --color-text-icon-active: #388AE5;
    --color-background-icon-active: var(--bs-tertiary-bg);
    --color-background-item-focus: rgba(34, 186, 255, .08);
    --color-shadow-item-focus: rgba(7, 161, 227, .08);
    --color-background-item-hover: var(--bs-secondary-color);
    --color-background-item-confirm: #E24A4A;
    --color-background-item-confirm-hover: #CE4343;
}

[data-bs-theme=dark] .link-tool__content {
    box-shadow: 0 0 0 2px var(--bs-secondary-bg);
    color: var(--bs-body-color);
}

[data-bs-theme=dark] .link-tool__content--rendered {
    background: var(--bs-body-bg);
    box-shadow: 0 1px 3px var(--bs-secondary-bg);
}

[data-bs-theme=dark] .ce-block--selected .ce-block__content {
    background: var(--bs-body-bg);
}

[data-bs-theme=dark] {
    --selectionColor: var(--bs-blue);
    --inlineSelectionColor: var(--bs-blue);
    --bg-light: var(--bs-secondary-bg);
    --grayText: var(--bs-body-color);
    --color-dark: var(--bs-gray-dark);
    --color-active-icon: #388AE5;
    --color-gray-border: var(--bs-border-color);
    --color-line-gray: var(--bs-secondary-bg);
}

[data-bs-theme=dark] .codex-editor ::selection {
    background-color: var(--bs-blue);
}



@media (max-width: 575px) {
	.shortcutbox {
		margin: 0.2em;
		padding: 0.2em;
		font-size: 0.9em;
		text-align: center;
	}

	.slidein {
		animation-duration: initial;
		animation-name: initial;
	}

	.slideout {
		animation-duration: initial;
		animation-name: initial;
	}

	.shake {
		animation-duration: initial;
		animation-name: initial;
		animation-iteration-count: initial;
		animation-direction: initial;
	}


	nav .container-fluid {
		padding-left: 0.5em;
		padding-right: 0.5em;
	}

	nav .navbar-collapse {
		margin-left: -0.5em;
		margin-right: -0.5em;
		box-shadow: var(--bs-box-shadow-lg) !important;
		margin-bottom: 0.5em;
		padding-bottom: 0.5em;
	}

	nav .navbar-nav {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}

	nav .navbar-nav .nav-item {
		padding-left: 0.5em;
		width: 100%;
	}

	nav .navbar-nav .nav-item .dropdown-menu {
		display: flex;
		padding: 0;
		flex-wrap: wrap;
		border: none;
	}

	nav .navbar-nav .nav-item .dropdown-menu li {
		display: block;
		border: 1px solid var(--bs-primary);
		border-radius: 0.5em;
		padding: 0.2em 0.4em;
		margin: 0.2em;
	}

	.navermap {
		height: 40dvh;
	}

	.navbar-collapse {
		font-size: 1.2em;
	}

	nav .navbar-nav .nav-item .dropdown-menu li:has(.dropdown-divider) {
		display: none !important;
	}

	.pagearea {
		position: initial;
		display: flex;
		flex-flow: row nowrap;
	}

	.pageinfo {
		flex: 2;
	}

	.pageperrowarea {
		position: initial;
		flex: 1;
	}

	.printarea {
		zoom: 0.5;
		width: 190mm;
		max-width: 190mm;
		/* height: 277mm;
		max-height: 277mm; */
		padding: 5mm 5mm;
		position: relative;
		background-color: #fff;
		z-index: 0;
	}
}

@media print {
	@page {
		size: A4;
		margin: 0;
		padding: 15mm;
	}

	* {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	html,
	body {
		margin: 0;
		width: 100%;
		/* height: 100%; */
		background-color: #fff;
	}


	header,
	footer,
	.no-print,
	.utilarea {
		display: none !important;
	}

	.printarea {
		/*width: calc(100% - 6rem);*/
		margin: 0;
		padding: 0;
		width: 100%;
		/* height: 100%; */
		/*zoom: 0.8;*/
		position: relative;
		border: none;
		background-color: #fff;
		/*font-size: 1em !important;*/
	}

	.printarea td {
		padding: 0.4em 0.25em;
	}

	.printarea textarea,
	.printarea input {
		padding: 0;
		border-width: 0;
	}
	.printarea textarea {
		resize: none;
		overflow-x: hidden !important;
		overflow-y: hidden !important;
	}


	.printarea .table {
		background-color: rgba(255, 255, 255, 0);
	}

	.printarea .table>:not(caption)>*>td {
		background-color: rgba(255, 255, 255, 0);
	}

	.printarea td {
		background-color: initial;
	}

	/*.printarea * {
		color: #000 !important;
	}*/

	.page-break {
		page-break-before: auto;
	}

	.container {
		min-width: inherit !important;
		max-width: inherit !important;
	}

	thead {
		display: table-row-group;
	}

	tfoot {
		display: table-row-group;
	}

	tbody {
		display: table-row-group;
	}

	.watermark {
		z-index: 100;
		opacity: 0.15;
	}
}