/*



*/


/*
font
*/
@import url('../font/nanumsquare.css');

/*
public
*/
html, body {
	font-family: 'NanumSquare', sans-serif;
	background-color: rgb(253,253,253);
}

.mainbg {
	background-image: url('../img/main.jpg');
	height: 645px;
}

.crop-bg {
	background-image: url('../img/crop.jpg');
}

.contactus-bg {
	background-image: url('../img/contact-us.jpg');
}

img.crop {
	filter: invert(94%) sepia(94%) saturate(24%) hue-rotate(3deg) brightness(106%) contrast(106%);
}

.vam {
	vertical-align: middle;
}

.divvam {
	display:flex;
	justify-content:center;
	align-items:center;
}

.w-100 {
	width: 100%;
}

.w-35 {
	width: 35%;
}

.w-20 {
	width: 20%;
}

.w-5 {
	width: 5%;
}

.h-100 {
	height: 100%;
}

.mh-40 {
	max-height: 40px;
}

.mh-50 {
	max-height: 50px;
}

.mh-100 {
	max-height: 100px;
}

.mh-150 {
	max-height: 150px;
}

.mt-100 {
	margin-top: 140px;
}

.fs-7 {
	font-size: 7pt;
}

.fs-8 {
	font-size: 8pt;
}

.fs-9 {
	font-size: 9pt;
}

.fs-10 {
	font-size: 10pt;
}

.fs-11 {
	font-size: 11pt;
}

.fs-12 {
	font-size: 12pt;
}

.fs-24 {
	font-size: 24pt;
}

.ffi {
	font-family: inherit;
}

.pm-0 {
	padding: 0px;
	margin: 0px;
}

.mt-6 {
	margin-top: 6rem;
}

.mb-6 {
	margin-bottom: 6rem;
}

.pt-6 {
	padding-top: 6rem;
}

.pb-6 {
	padding-bottom: 6rem;
}

.plr-0 {
	padding-left: 0px;
	padding-right: 0px;
}

.ptb-0 {
	padding-top: 0px;
	padding-bottom: 0px;
}

.ptb-2 {
	padding-top: 8px;
	padding-bottom: 8px;
}

/*
table
*/
.table {
	margin-bottom: 0px;
	font-size: 9pt;
}

.table tr td {
	vertical-align: middle;
	padding: 8px;
}

.table td {
	height: 35px;
}

.table tr th {
	height: 35px;
	padding: 8px;
}

/*
scroll bar
*/

.custom-scroll::-webkit-scrollbar {
	/* y�� �β� */
	width: 7px;
	/* x�� �β� */
	height: 7px;
}
/* ��ũ�ѹ� ��׶��� */
.custom-scroll::-webkit-scrollbar-track {
  background-color: transparent;
}
/* ��ũ�ѹ� */
.custom-scroll::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background-color: grey;
}
/* ��ũ�ѹ� ��ư */
.custom-scroll::-webkit-scrollbar-button {
  width: 0;
  height: 0;
}

/*
header
*/
.nav-header {
	background-color: rgba(255,255,255,1);
	padding: 0px;
	height: 100px;
	box-shadow: 0px 2px 5px -3px grey;
}

.nav-sub-header {
	background-color: rgba(246,246,246,0.9);
	padding: 0px;
	min-height: 40px;
	box-shadow: 0px 2px 3px -3px grey;
}


a {
	color: #000000;
}

a:hover {
	text-decoration: none;
}

.alink {
	color: #007bff;
}

.nav-item {
	padding-left: 20px;
	padding-right: 20px;
}

.nav-link {
	padding-top: 0px;
	padding-bottom: 0px;
}

/*
footer
*/
.nav-footer {
	background-color: #F7F9FA;
	clear: both;
	height: 150px;
}

/*
canvas
*/
.main-chart {
	width: 100%;
}

/*
card
*/
.card-default {
	border: 0px;
	box-shadow: 1px 1px 3px -2px #808080;
}

.card-r-1 {
	border-radius: 1rem;
}

.gene-card {
	border: 0px solid transparent;
	box-shadow: 0px 0px 5px -2px #808080;
	border-radius: 0.5rem;
	transition: .3s;
}

.gene-card:hover {
	margin: 1px;
	background-color: #8f8f8f;
	border: 1px solid #87ceeb80;
	box-shadow: 0px 0px 5px -2px #808080;

}

.gene-detail-card {
	border: 0px;
	box-shadow: 0px 0px 5px -2px #808080;
	border-radius: 0.5rem;
}

/*
typing
*/
.blink {
	font-size: 16px;
	border-right: 2px solid; /* 커서 효과 */
	animation: blink 1s step-end infinite alternate;
}

@keyframes typing {
	from { width: 0; height: 0;}
	to { width: 100%; height: 100%;}
}

@keyframes blink {
	50% {
		border-color: transparent
	}
}

/*
highlight
*/

.highlight {
	background: linear-gradient(to top, #FFFF0050 30%, transparent 30%);
	width: fit-content;
}

/*.highlight {*/
/*	position: relative;*/
/*	display: inline-block; !* 하이라이트가 텍스트 길이에 맞도록 *!*/
/*}*/

/*.highlight::before {*/
/*	content: ""; !* 가상 요소에 내용을 비워둠 *!*/
/*	position: absolute;*/
/*	left: 0;*/
/*	bottom: 0;*/
/*	width: 100%;*/
/*	height: 0.4em; !* 하이라이트 두께 *!*/
/*	background-color: yellow; !* 하이라이트 색상 *!*/
/*	opacity: 0.3; !* 투명도 조절 *!*/
/*	z-index: 0;*/
/*}*/

.pubmedBadgeList {
	display: none;
	list-style-type: none;
	padding: 16px;
	position: absolute;
	z-index: 1000;
	background: #fdfdfd;
	border: 1px solid #ccc;
	border-radius: 8px;

	margin-top: 5px; /* 뱃지와의 간격 */
	width: 200px; /* 원하는 너비 */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* 그림자 효과 */
}

/*
chatbot
*/
.cbBtn {
	position: fixed;
	right: 40px;
	bottom: 40px;
	width: 60px;
	height: 60px;
	border-radius: 25px;
	background-color: #ffffff;
	box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.2);
	padding: 15px 15px;
}

.chatbot-container {
	z-index: 30;
	position: fixed;
	visibility: hidden;
	flex-direction: column;
	right: 30px;
	bottom: 30px;
	width: 380px;
	height: 550px;
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.2);
	opacity: 0; /* 초기 상태 */
	transition: opacity 0.5s ease;/* 서서히 변화 */
}

.chatbot-container.show {
	opacity : 1;
	display: flex;
	visibility: visible;
}

.chat-header {
	background: #0078d4;
	color: #fff;
	padding: 15px 20px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	display: flex;
	justify-content: space-between;
}

.chat-window {
	flex: 1;
	padding: 20px;
	overflow-y: auto;
	background: #f9f9f9;
}

.chat-input {
	display: flex;
	border-top: 1px solid #ddd;
	padding: 10px;
	background: #fff;
}

.chat-input input {
	flex: 1;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 10px;
	outline: none;
}

.chat-input button {
	background: #0078d4;
	color: white;
	border: none;
	padding: 10px 15px;
	border-radius: 10px;
	margin-left: 10px;
	cursor: pointer;
	font-size: 16px;
}

.chat-input button:hover {
	background: #005bb5;
}

.message {
	margin-bottom: 15px;
	padding: 10px 15px;
	border-radius: 10px;
	max-width: 80%;
	clear: both;
}

.bot-message {
	background: #0078d4;
	color: white;
	margin-left: 0;
}

.user-message {
	background: #eeeeee;
	color: #333;
	margin-left: auto;
}


/*
tooltip
*/
.tooltip {
	font-size: 9pt;
}
/*


/*
modal
*/


/*
button
*/
.btn-outline-dark {
	color: white;
	border-color: rgba(255,255,255,0.6);
	background-color: rgba(27,27,27,0.5);
}

.btn-outline-dark:hover {
	background-color: rgba(27,27,27,0.9);
	border-color: rgba(255,255,255,0.6);
}


/*
body
*/
.main-title {
	margin-bottom: 25px;
	color: #fff;
}
.sub-title {
	margin-bottom: 10px;
	color: rgba(255,255,255,0.05);
}

.content-row .col {
	padding: 0;
	margin-left: 8px;
	margin-right: 8px;
	height: 100%;
	background: #c0c0c0;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.content-crop-row .content-col {
	padding: 0;
	margin-left: 8px;
	margin-right: 8px;
	background-color: rgba(255,255,255,0.4);
	height: 100%;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.content-crop-row .content-col:hover {
	background-color: rgba(27,150,27,0.5);
}

.content-row .col-3 {
	padding: 0;
	margin-left: 8px;
	margin-right: 8px;
	height: 100%;
}

.content-row a:hover {
	color: #000000;
	text-decoration: none;
}

.content-row .col .content-col {
	color: white;
}

.content-row .col {
	
}
.content-row .col:hover {
	opacity: 0.7;
}

.content-radius {
	border-radius: 1rem;
}

.div-align-bottom {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}

.div-align-center {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.deactivate {
	background-color: rgba(50,50,50,0.6) !important;
}

/*
upload button
*/

.load {
	width: 100%;
	height: 100%;
	top:0;
	left:0;
	position:absolute;
	display: block;
	opacity: 0.8;
	background: white;
	z-index: 99;
	text-align:center;
}
.load > div {
	position: absolute;
	top:45%;
	left:45%;
	z-index:100;
}

.load > label {
	position: absolute;
	top:60%;
	left:45%;
	transform: translate(-32%);
	z-index:100;
}

.file-upload-btn {
	width: 100%;
	font-weight: 500;
	text-transform: uppercase;
	margin-bottom: 20px;
}
.file-upload-content {
	display: none;
	text-align: center;
	height: 250px;
	background: linear-gradient(135deg, #ffffff, #71a74840);
	border-radius: 20px;
}
.file-upload-fail {
	display: none;
	text-align: center;
	height: 250px;
	background: linear-gradient(135deg, #ffffff, #ff555540);
	border-radius: 20px;
}
.file-upload-content i, .file-upload-content label {
	color:#008000;
}
.file-upload-input {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	outline: none;
	opacity: 0;
	cursor: pointer;
	position: relative;
}
.image-upload-wrap {
	height: 250px;
	border: 1px dashed #111f1f;
	position: relative;
	text-align: center;
	border-radius: 20px;
}

.image-dropping {
	background-color:#00000060;
}

.drag-text {
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	position: absolute;
}

.image-title-wrap {
	max-width: 500px;
	margin: auto;
}

.file-upload-image {
	max-width: 500px;
	margin: auto;
}
.remove-image-btn {
	width: 100%;
	font-weight: 500;
	text-transform: uppercase;
	margin-top: 20px;
	margin-bottom: 20px;
}

