@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&display=swap');

/* ADMIN PAGE CUSTOM */
:root {
	--primary: #104E91;
	--point: #104E91;
	--point-sub: #4e9aec;
	--thick: #0f172a;
	--regular: #334155;
	--light: #64748b;
	--placeholder: #cbd5e1;
	--btn: #CCCCCC;
	--line: #e2e8f0;
	--bg: #f8fafc;
	--point-bg: #F0F8F8;
	--white: #FFFFFF;
	--error: #f43f5e;
}

body {
	font-family: "Noto Sans KR", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

a {
	color: var(--point);
}

a:hover {
	color: var(--point-sub);
}

.gap-5 {
	gap: 0.5rem;
}

.gap-20 {
	gap: 2rem;
}

.fw-400 {
	font-weight: 400 !important;
}

.fw-500 {
	font-weight: 500 !important;
}

.fw-700 {
	font-weight: 700 !important;
}

.flex-1 {
	flex: 1;
}

.justify-content-evenly {
	justify-content: space-evenly;
}

.table-fixed {
	table-layout: fixed;
}

.maxw_152 {
	max-width: 152px;
}

.minh_35 {
	min-height: 35px;
}

.minh_38 {
	min-height: 38px;
}

.cursor_default {
	cursor: default !important;
}

.cursor_pointer {
	cursor: pointer !important;
}

.admin_custom .content-wrapper {
	min-width: 1100px;
	overflow-x: auto;
}

/* color */
.admin_custom .btn-primary {
	background-color: var(--point);
	border-color: var(--point);
}

.admin_custom .btn-primary:not(:disabled):not(.disabled).active,
.admin_custom .btn-primary:not(:disabled):not(.disabled):active,
.admin_custom .show>.btn-primary.dropdown-toggle {
	background-color: var(--point);
	border-color: var(--point);
}

.admin_custom .btn-outline-primary {
	color: var(--point);
	border-color: var(--point);
}

.admin_custom .btn-outline-primary:hover {
	color: #fff;
	background-color: var(--point);
	border-color: var(--point);
}

.admin_custom .btn-outline-primary:not(:disabled):not(.disabled).active,
.admin_custom .btn-outline-primary:not(:disabled):not(.disabled):active,
.admin_custom .show>.btn-outline-primary.dropdown-toggle {
	background-color: var(--point);
	border-color: var(--point);
}

.admin_custom .dropdown-item.active,
.admin_custom .dropdown-item:active {
	background-color: var(--point);
}

.admin_custom .page-link {
	color: var(--point);
}

.admin_custom .page-item.active .page-link {
	background-color: var(--point);
	border-color: var(--point);
}

.admin_custom .form-control:focus {
	border-color: var(--point);
}

.admin_custom .custom-file-input:focus~.custom-file-label {
	border-color: var(--point);
}

.admin_custom .icheck-primary>input:first-child:checked+input[type=hidden]+label::before,
.admin_custom .icheck-primary>input:first-child:checked+label::before {
	background-color: var(--point);
	border-color: var(--point);
}

.admin_custom .icheck-primary>input:first-child:not(:checked):not(:disabled):focus+input[type=hidden]+label::before,
.admin_custom .icheck-primary>input:first-child:not(:checked):not(:disabled):focus+label::before {
	border-color: var(--point);
}

.admin_custom .icheck-primary>input:first-child:not(:checked):not(:disabled):hover+input[type=hidden]+label::before,
.admin_custom .icheck-primary>input:first-child:not(:checked):not(:disabled):hover+label::before {
	border-color: var(--point);
}

.admin_custom .card-primary.card-outline {
	border-top: 3px solid var(--point);
}

.admin_custom .border-bottom {
	border-bottom: 1px solid var(--regular) !important;
}

/* input */
.admin_custom [class*=icheck-].type02>label {
	margin-left: 7px;
}

/* .admin_custom [class*=icheck-]>input[type=radio]:first-child+label::before{border-radius:0;} */

/* table */
.admin_custom .table th,
.admin_custom .table td {
	vertical-align: middle;
	font-size: 15px;
	padding: 0.75rem 0.3rem;
	word-break: keep-all;
}

.admin_custom .table-responsive>table {
	margin-bottom: 0;
}

/* Header, Sidebar */
.admin_custom [class*=sidebar-dark-] {
	background-color: var(--regular);
}

.admin_custom .main-header {
	min-width: 1100px;
}

.admin_custom .main-header .navbar-nav .nav-link>p {
	margin: 0;
}

.admin_custom .main-header .navbar-nav.ml-auto .nav-link>p {
	padding-right: 20px;
}

.admin_custom .main-header .navbar-nav .nav-link>p>.right {
	position: absolute;
	top: 0.8rem;
	right: 1rem;
}

.admin_custom .main-sidebar .brand-link .brand-image {
	max-height: 40px;
	margin-left: 0.5rem;
}

.admin_custom .main-sidebar .brand-text {
	font-size: 1rem;
}

.admin_custom .nav-pills .nav-link.active,
.admin_custom .nav-pills .show>.nav-link {
	background-color: var(--point);
}

.admin_custom .nav-pills .nav-link:not(.active):hover {
	color: var(--white);
}

.admin_custom .navbar-light .navbar-nav .nav-link {
	color: var(--light);
}

.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .active>.nav-link,
.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .nav-link.active,
.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .nav-link.show,
.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .show>.nav-link {
	color: var(--point-sub) !important;
	font-weight: bold;
}

.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .nav-link.on {
	color: var(--point-sub) !important;
}

.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .nav-link:focus,
.admin_custom .navbar-light .navbar-nav:not(.ml-auto) .nav-link:hover {
	color: var(--thick);
}

/* card-header */
.admin_custom .card-header02 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0.4rem 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.125);
	border-radius: 0.25rem 0.25rem 0 0;
	background-color: transparent;
}

.admin_custom .card-header02>* {
	margin: 0.3rem 0;
}

.admin_custom .card-header03 {
	position: relative;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0.4rem 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.125);
	border-radius: 0.25rem 0.25rem 0 0;
	background-color: transparent;
}

.admin_custom .card-header03>* {
	margin: 0.3rem;
}

/* 로그인 */
.admin_custom.login-page,
.admin_custom.register-page {
	background-color: var(--point-bg);
}

.admin_custom.login-page .card-header {
	padding: 2rem 0;
}

.admin_custom.login-page .card-header a img {
	max-width: 150px;
}





/*+++++ ADD +++++*/
/* 텍스트 생략 */
.line_text1 {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 테이블 스타일 */
.admin_custom .table td.ques_td {
	padding: 0;
}

.admin_custom .table td.ques_td>div+div {
	border-top: 1px solid #dee2e6;
}

.admin_custom .table td.ques_td .pd {
	padding: 0.75rem;
}

.admin_custom .table td.ques_td .w_50 {
	width: calc(50% - 40px);
}

.admin_custom .table td.ques_td p {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
}

/* 입력폼 관련 */
.copy_hidden {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: 0;
	border: 0;
	opacity: 0;
}

.search_wrap {
	position: relative;
}

/* .search_wrap .input_results{display:none;} */
.search_wrap .input_results table tbody tr {
	cursor: pointer;
}

.search_wrap .input_results .table_head {
	padding-right: 17px;
	background-color: #f8f9fa;
	border-top: 1px solid #dee2e6;
	border-bottom: 2px solid #dee2e6;
}

.search_wrap .input_results .table_head .table thead th {
	border-top: 0;
	border-bottom: 0;
}

.search_wrap .input_results .table_body {
	background-color: #fff;
	max-height: 160px;
	overflow-y: scroll;
}

.search_wrap.active input {
	border-radius: 0.25rem 0.25rem 0 0;
}

.search_wrap.active .input_results {
	display: block;
	padding: 16px;
	border-radius: 0 0 0.25rem 0.25rem;
	border: 1px solid #ced4da;
	border-top: 0;
}

.img_upload_wrap {
	position: relative;
	min-height: 132px;
	padding: 16px;
	border-radius: 0.25rem;
	border: 1px solid #dee2e6;
	display: flex;
	align-items: center;
	gap: 10px;
}

.img_upload_wrap .upload_img {
	position: relative;
	width: 160px;
	height: 160px;
}

.img_upload_wrap .upload_img button {
	position: absolute;
	top: -10px;
	right: -10px;
	width: 30px;
	height: 30px;
	padding: 0 0 10px;
	line-height: 25px;
}

.img_upload_wrap .upload_img .img_wrap {
	border-radius: 0.25rem;
	overflow: hidden;
}

.img_upload_wrap .upload_img .img_wrap img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: fill;
}

.img_upload_wrap .upload_btn {
	position: absolute;
	bottom: 16px;
	right: 16px;
	overflow: hidden;
}

.img_upload_wrap .upload_btn input[type=file] {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	padding-left: 100px;
	margin: 0;
	border: 0;
	cursor: pointer;
}

/* JAlert */
.btn-2xl {
	height: 56px;
	border-radius: 4px;
	font-size: 16px;
}

.btn_style02,
.btn_style02:hover {
	color: var(--white);
	background-color: var(--point);
}

.btn_style03,
.btn_style03:hover {
	color: var(--white);
	background-color: var(--btn);
}

.jconfirm.jconfirm-white .jconfirm-box,
.jconfirm.jconfirm-light .jconfirm-box {
	border-radius: 8px;
}

.jconfirm .jconfirm-box {
	padding: 40px 24px 24px;
	text-align: center;
}

.jconfirm .jconfirm-box div.jconfirm-title-c {
	font-size: 18px;
	font-weight: 700;
	padding-bottom: 20px;
}

.jconfirm .jconfirm-box div.jconfirm-title-c img {
	max-width: 48px;
	margin: 0 auto;
}

.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content {
	font-size: 14px;
	color: var(--regular);
	font-weight: 500;
	overflow: visible !important;
}

.jconfirm .jconfirm-box div.jconfirm-content-pane .jconfirm-content * {
	word-break: break-all;
	white-space: pre-line;
}

.jconfirm .jconfirm-box .jconfirm-buttons {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin-top: 15px;
	padding-bottom: 0;
}

.jconfirm .jconfirm-box .jconfirm-buttons button,
.jconfirm .jconfirm-box .jconfirm-buttons button.btn-default,
.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default,
.jconfirm.jconfirm-light .jconfirm-box .jconfirm-buttons button.btn-default:hover {
	flex: 1;
	width: 100%;
	margin: 0;
}

/* 모달 */
.modal_custom {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 40px 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1050;
	opacity: 0;
	visibility: hidden;
	transition: all 0.15s linear;
}

.modal_wrap {
	width: 96%;
	max-width: 1000px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 0.3rem;
	background-color: #fff;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
}

.modal_wrap.modal-lg {
	max-width: 1000px;
}

.modal_wrap.modal-md {
	max-width: 700px;
}

.modal_wrap.modal-sm {
	max-width: 500px;
}

.modal_custom.show {
	opacity: 1;
	visibility: visible;
	overflow-x: hidden;
	overflow-y: auto;
}

/* 임상가척도 */
.clinician_wrap {
	position: fixed;
	top: 50%;
	right: -990px;
	width: 1000px;
	height: 100vh;
	max-height: 80%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	z-index: 1030;
	transition: all 0.5s;
}

.clinician_wrap .clinician_btn {
	position: absolute;
	top: 50%;
	right: 100%;
	width: 42px;
	background-color: #fff;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
}

.clinician_wrap .clinician_btn:hover {
	background-color: #6c757d;
}

.clinician_conts {
	width: 0;
	height: 100%;
	padding: 0;
	border-radius: 0.3rem;
	background-color: #fff;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.5);
	overflow-y: auto;
	transition: all 0.5s;
}

.clinician_wrap.show {
	right: 10px;
}

.clinician_wrap.show .clinician_btn {
	border-right: 0;
	border-radius: 0.25rem 0 0 0.25rem;
}

.clinician_wrap.show .clinician_conts {
	width: 100%;
	padding: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.2);
}

/* 캘린더 */
.cal_month {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cal_month p {
	margin: 0 18px;
	font-size: 16px;
	color: var(--thick);
	font-weight: 700;
	letter-spacing: -0.02rem;
}

.cal_month button {
	position: relative;
	z-index: 5;
}

.cal_dates {
	margin-top: 10px;
}

.cal_dates ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}

.cal_dates ul li {
	text-align: center;
}

.cal_dates ul li p {
	margin: 0;
}

.cal_dates ul li.today {
	background-color: var(--point-bg);
}

/* .cal_dates ul li.today p{position:relative; color:#fff !important; z-index:1;}
.cal_dates ul li.today p::before{content:''; position:absolute; top:calc(50% - 16px); left:calc(50% - 16px); display:block; width:32px; height:32px; border-radius:50%; background-color:var(--point); z-index:-1;} */
.cal_dates ul.cal_week {
	border-top: 1px solid #dee2e6;
	background-color: #f8f9fa;
}

.cal_dates ul.cal_week li {
	padding: 8px 0;
	font-size: 14px;
	color: var(--light);
}

.cal_dates ul.cal_week_day li {
	padding: 8px 0;
}

.cal_dates ul.cal_date li {
	min-height: 110px;
	padding: 8px 4px;
	border-bottom: 1px solid #dee2e6;
}

.cal_dates ul.cal_date li p {
	margin: 0 0 8px;
}

.cal_dates ul.cal_date li button:disabled {
	cursor: default;
}

.cal_dates ul.cal_date li .mark_text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 2px 5px;
	margin-top: 4px;
	border-radius: 4px;
	font-size: 14px;
}

.cal_dates ul.cal_date li.holiday {
	background-color: #ffecee;
}

.cal_dates ul.cal_date li.holiday span {
	color: #dc3545;
}

.cal_dates.scroll .cal_week {
	padding-right: 17px;
}

.cal_dates.scroll .cal_week_day {
	padding-right: 17px;
}

.cal_dates.scroll .cal_date {
	max-height: 500px;
	overflow: hidden scroll;
}

.cal_dates.grid2 ul li {
	width: calc(100% / 2);
}

.cal_dates.grid3 ul li {
	width: calc(100% / 3);
}

.cal_dates.grid4 ul li {
	width: calc(100% / 4);
}

.cal_dates.grid5 ul li {
	width: calc(100% / 5);
}

.cal_dates.grid6 ul li {
	width: calc(100% / 6);
}

.cal_dates.grid7 ul li {
	width: calc(100% / 7);
}

.cal_dates.grid8 ul li {
	width: calc(100% / 8);
}

.cal_dates.grid9 ul li {
	width: calc(100% / 9);
}

.cal_dates.grid10 ul li {
	width: calc(100% / 10);
}

.cal_dates.grid11 ul li {
	width: calc(100% / 11);
}

.cal_dates.grid12 ul li {
	width: calc(100% / 12);
}

.cal_mark_text {
	padding: 7px 10px;
	margin-top: 4px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-size: 14px;
}

.cal_nodata {
	padding: 24px 10px;
	border-top: 1px solid #dee2e6;
	border-bottom: 1px solid #dee2e6;
	background-color: #f8f9fa;
	font-weight: 700;
	text-align: center;
}

/* 캘린더 (fullcalendar) */
.cal_custom.mt-m40 {
	margin-top: -40px;
}

.cal_custom .fc .fc-header-toolbar {
	padding: 0;
}

.cal_custom .fc .fc-header-toolbar .fc-left {
	display: flex;
	align-items: center;
}

.cal_custom .fc .fc-header-toolbar .fc-button {
	padding: 0.375rem 0.75rem;
	border: 1px solid var(--point);
	color: var(--point);
}

.cal_custom .fc .fc-header-toolbar .fc-button:hover,
.cal_custom .fc .fc-header-toolbar .fc-button:focus,
.cal_custom .fc .fc-header-toolbar .fc-button:active {
	background-color: var(--point);
	color: var(--white);
}

.cal_custom .fc .fc-header-toolbar .fc-button .fc-icon {
	width: 100%;
	height: 100%;
	margin: 0;
	top: -50%;
}

.cal_custom .fc .fc-header-toolbar .fc-button .fc-icon::after {
	width: 100%;
	height: 100%;
	font-size: 100%;
	line-height: 1;
}

.cal_custom .fc .fc-header-toolbar .fc-button .fc-icon-left-single-arrow:after {
	top: 0;
}

.cal_custom .fc .fc-header-toolbar .fc-prev-button {
	border-radius: 0.25rem 0 0 0.25rem;
}

.cal_custom .fc .fc-header-toolbar .fc-next-button {
	border-radius: 0 0.25rem 0.25rem 0;
	margin-left: -1px;
}

.cal_custom .fc .fc-header-toolbar h2 {
	margin: 0 18px;
	font-size: 16px;
	color: var(--thick);
	font-weight: 700;
	letter-spacing: -0.02rem;
}

.cal_custom .fc-widget-header {
	border: 0 !important;
}

.cal_custom .fc-widget-header table {
	border-top: 1px solid #dee2e6;
}

.cal_custom .fc-widget-header table thead {
	border: 0;
}

.cal_custom .fc-widget-header table thead th {
	border: 0;
	padding: 8px 0;
	font-size: 14px;
	color: var(--light);
}

.cal_custom .fc-widget-content {
	border: 0;
	border-bottom: 1px solid #dee2e6;
}

.cal_custom .fc .fc-scroller {
	height: auto !important;
	overflow: auto !important;
}

.cal_custom .fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
	float: none;
	display: block;
	width: 100%;
	text-align: center;
	font-size: 16px;
}

.cal_custom .fc-unthemed td.fc-today {
	background-color: var(--point-bg);
}

.cal_custom .fc-h-event {
	border-color: var(--point);
	background-color: var(--point);
	color: var(--white);
	text-align: center;
	cursor: pointer;
}

/* 로딩 */
.loading_wrap_lg {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1100;
}

.loading_wrap_lg.show {
	display: flex;
}

.loading_wrap_lg img {
	width: 150px;
}

.loading_wrap_sm {
	text-align: center;
}

.loading_wrap_sm img {
	width: 60px;
}

/* 고정 버튼 */
.writing_btn {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 60px;
	height: 60px;
	box-shadow: 0 0 1px rgba(0, 0, 0, .125), 0 1px 3px rgba(0, 0, 0, .2);
	font-size: 1.5rem;
}

/*  */
.check_custom_wrap {
	display: flex;
	align-items: center;
}

.check_custom_wrap .check_custom:not(:first-child) {
	margin-left: -1px;
}

.check_custom input {
	position: absolute;
	display: none;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	opacity: 0;
	visibility: hidden;
}

.check_custom label {
	border: 1px solid #6c757d;
	padding: 0.375rem 0.75rem;
	font-size: 1rem;
	color: #6c757d;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

.check_custom input:checked+label {
	background-color: #6c757d;
	color: #fff;
}