@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

html, body {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1:focus {
	outline: none;
}

a, .btn-link {
	color: #0071c1;
}

.btn-primary {
	color: #fff;
	background-color: #1b6ec2;
	border-color: #1861ac;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
	box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.content {
	padding-top: 1.1rem;
}

.valid.modified:not([type=checkbox]) {
	outline: 1px solid #26b050;
}

.invalid {
	outline: 1px solid red;
}

.validation-message {
	color: red;
}

#blazor-error-ui {
	background: lightyellow;
	bottom: 0;
	box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
	display: none;
	left: 0;
	padding: 0.6rem 1.25rem 0.7rem 1.25rem;
	position: fixed;
	width: 100%;
	z-index: 1000;
}

	#blazor-error-ui .dismiss {
		cursor: pointer;
		position: absolute;
		right: 0.75rem;
		top: 0.5rem;
	}

.blazor-error-boundary {
	background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
	padding: 1rem 1rem 1rem 3.7rem;
	color: white;
}

	.blazor-error-boundary::after {
		content: "An error has occurred."
	}

.loading-progress {
	position: relative;
	display: block;
	width: 8rem;
	height: 8rem;
	margin: 20vh auto 1rem auto;
}

	.loading-progress circle {
		fill: none;
		stroke: #e0e0e0;
		stroke-width: 0.6rem;
		transform-origin: 50% 50%;
		transform: rotate(-90deg);
	}

		.loading-progress circle:last-child {
			stroke: #1b6ec2;
			stroke-dasharray: calc(3.141 * var(--blazor-load-percentage, 0%) * 0.8), 500%;
			transition: stroke-dasharray 0.05s ease-in-out;
		}

.loading-progress-text {
	position: absolute;
	text-align: center;
	font-weight: bold;
	inset: calc(20vh + 3.25rem) 0 auto 0.2rem;
}

	.loading-progress-text:after {
		content: var(--blazor-load-percentage-text, "Loading");
	}



.bordered-box-container {
	height: 200px; /* 원하는 높이로 설정 */
	overflow-y: auto; /* 세로 스크롤 설정 */
	border: 1px solid #ccc; /* 테두리 스타일 */
	padding: 10px;
	margin: 10px 0;
	border-radius: 5px;
}

.gap {
	display: block;
	height: 30px; /* 이 값을 조정하여 원하는 높이를 설정하세요 */
}

.selectable-text {
	cursor: pointer;
	padding: 5px; /* 이 값은 원하는대로 조정하세요. */
}

	.selectable-text:hover {
		background-color: #f0f0f0; /* 원하는 배경색으로 조정하세요. */
	}

.sort-arrow {
	margin-left: 5px; /* Add space between the column name and the arrow */
}


.checkbox-container {
	display: inline-block; /* 가로로 배열하기 위해 */
	width: 33%; /* 전체 너비의 1/3 차지 */
	box-sizing: border-box; /* padding 및 border를 포함한 너비 계산 */
}

.version-group-container {
	display: flex;
	flex-wrap: wrap;
}

.generation-container {
	margin-right: 20px; /* 각 세대 사이에 간격을 줌 */
}

.progress {
	width: 100%; /* 로딩바의 너비를 화면 전체로 설정 */
	max-width: none; /* max-width 속성 제거 */
	height: 30px; /* 원하는 높이로 설정 */
	background-color: #f3f3f3; /* 로딩바의 배경색 */
	border-radius: 5px; /* 로딩바의 모서리를 둥글게 */
}

.progress-bar {
	height: 100%; /* 로딩바 내부의 채워진 부분의 높이를 로딩바 전체 높이와 동일하게 설정 */
	background-color: #007bff; /* 로딩바 채워진 부분의 색상 */
	border-radius: 5px; /* 로딩바 내부의 채워진 부분의 모서리를 둥글게 */
}

.pokemon-info-layer-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0,0,0,0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
}

.pokemon-info-layer-content {
	background-color: white;
	padding: 20px;
	border-radius: 10px;
	width: 70%; /* or any other width you prefer */
	max-width: 600px; /* or any other value you prefer */
	max-height: 80vh; /* 뷰포트 높이의 80%로 제한. 필요에 따라 조절 가능 */
	overflow-y: auto; /* 내용이 넘치면 스크롤 표시 */
}

.table-container {
	display: flex;
	overflow-x: auto;
}

.move-name-table, .learn-method-table, .level-table {
	min-width: 200px; /* 이 값을 조정하여 표의 폭을 조절할 수 있습니다. */
	border-right: 1px solid #ddd; /* 구분선 추가 */
}

.level-table {
	border-right: none; /* 마지막 표에는 구분선 제거 */
}

.table-scrollable {
	overflow-y: auto;
	max-height: 300px; /* 원하는 최대 높이로 조절하세요 */
}

.no-results {
	padding: 20px;
	text-align: center;
	font-size: 18px;
	color: #999;
	background-color: #f8f8f8;
	border: 1px solid #e0e0e0;
	margin-top: 20px;
	border-radius: 5px;
}

.btn-find-pokemon {
	margin-bottom: 20px; /* 버튼 아래 여백 추가 */
}

.clickable-pokemon-name {
	cursor: pointer;
	text-decoration: underline;
	color: blue;
}

.loading-overlay {
	position: fixed;
	top: 10px;
	left: 50%;
	transform: translateX(-50%); /* Center horizontally */
	padding: 10px 20px;
	background-color: rgba(0, 0, 0, 0.7); /* semi-transparent black */
	color: white;
	font-size: 1.5em;
	border-radius: 5px;
	z-index: 1000; /* Display above other elements */
}


/* 플로우차트 */

.flow-chart-wrapper {
	width: 1920px;
	height: 1080px;
	overflow: hidden;
	background-color : #00FF00;
	border: 1px solid #00FF00;
	position: relative;
}

.flow-chart {
	display: flex;
	height: 100vh;
	flex-direction: column;
	transform-origin: 0 0;
	transition: transform 0.3s ease-out;
	position: relative;
}


.start {

}

.node {
	stroke: black;
	stroke-width:3px;
}


.pokemon-info {
	top: 0;
	left: 0;
	font-weight: bold;
}


/* SVG용 */

@keyframes strokeAnimation {
	0% {
		stroke-dashoffset: 0;
	}

	100% {
		stroke-dashoffset: -100;
	}
}

.path {
	stroke-width: 3;
	stroke: black;
	fill: none;
	z-index: -2;
}

	.path.highlighted {
		stroke-width: 4;
		fill: none;
		stroke : red;
		stroke-dasharray: 25 25;
		stroke-dashoffset: 0;
		animation: strokeAnimation 5s linear infinite;
	}


	.node.highlighted {
		stroke-width: 5;
		stroke: red;
	}
.selected {
	font-weight: bold;
	stroke-width: 5px; /* 노드 테두리 굵기 */
}

.node-text {
	text-anchor: middle;
	dominant-baseline: middle;
}


/* 플로우차트 로그 */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5); /* 반투명 검은색 배경 */
	display: flex;
	align-items: center;
	justify-content: center;
}

.simple-modal {
	background-color: white;
	padding: 20px;
	border-radius: 5px;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

