/* =========================================================
	GENERAL GUIDE CSS
   ========================================================= */


/* INTRO
--------------------------------------------------------- */

.general-intro {
	text-align: center;
}

.general-guide-image {
	display: block !important;

	width: 300px !important;
	max-width: 75% !important;
	height: auto !important;

	margin: 20px auto 10px !important;
}


/* NOTES / INTRO TEXT
--------------------------------------------------------- */

.general-notes {
	text-align: left;
}

.general-notes > p {
	text-align: center;

	max-width: 650px;

	margin: 0 auto 20px;

	line-height: 1.7;
}

.general-note-title {
	display: flex;
	align-items: center;

	gap: 8px;

	margin-bottom: 12px;

	font-size: 20px;
	font-family: "MorrisRoman", cursive;
}

.general-note-title img {
	width: auto !important;
	max-width: 30px !important;
	height: auto !important;
}

.general-notes ul {
	margin: 0 0 20px 20px;
	padding: 0;
}

.general-notes li {
	margin-bottom: 8px;
}


/* SEARCH
--------------------------------------------------------- */

.general-search {
	width: 100%;

	margin-bottom: 20px;
}

#general-search {
	width: 100%;
}


/* RESULTS
--------------------------------------------------------- */

#general-results {
	display: block;

	width: 100%;
	min-width: 0;
}


/* PAGINATION
--------------------------------------------------------- */

#tab_contents .general-pagination-wrapper {
	display: block;

	width: 100%;

	padding: 20px 0;

	box-sizing: border-box;
}

#tab_contents .general-pagination {
	margin-top: 0;
	margin-bottom: 0;
}


/* GRID
--------------------------------------------------------- */

#tab_contents .general-grid {
	display: grid !important;

	grid-template-columns:
		repeat(4, minmax(0, 1fr)) !important;

	gap: 20px !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	box-sizing: border-box !important;
}


/* CARD
--------------------------------------------------------- */

#tab_contents .general-card {
	display: flex;
	flex-direction: column !important;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	height: 100% !important;

	margin: 0 !important;
	padding: 18px !important;

	box-sizing: border-box !important;
	overflow: hidden !important;

	text-align: center;

	border: 1px solid rgba(0, 0, 0, 0.45);
	border-radius: 5px;
}


/* TITLE
--------------------------------------------------------- */

#tab_contents .general-title {
	display: block;

	width: 100% !important;
	max-width: 100% !important;

	margin: 0 0 10px !important;
	padding: 0 !important;

	text-align: center;

	font-size: 16px !important;
	line-height: 1.3 !important;
}


/* IMAGE
--------------------------------------------------------- */

#tab_contents .general-image {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	max-width: 100% !important;

	margin: 0 auto 12px !important;
	padding: 0 !important;

	overflow: hidden !important;

	box-sizing: border-box !important;
}

#tab_contents .general-image a {
	display: block !important;

	width: auto !important;
	max-width: 100% !important;

	margin: 0 auto !important;
	padding: 0 !important;
}

#tab_contents .general-image picture {
	display: block !important;
}

#tab_contents .general-image img {
	display: block !important;

	width: 100px !important;
	max-width: 100% !important;

	height: 100px !important;
	max-height: 100px !important;

	margin: 0 auto !important;
	padding: 0 !important;

	object-fit: contain !important;

	box-sizing: border-box !important;
}

#tab_contents .general-image img.character-img {
	width: 100% !important;
	height: auto !important;
	max-height: 150px !important;
	border: 1px solid var(--theme-primary-border-color);
}

img.character-img:hover {
	opacity: 0.9;
}


/* DESCRIPTION
--------------------------------------------------------- */

#tab_contents .general-description {
	display: block;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	padding: 5px 0 10px !important;

	font-size: 14px;
	line-height: 1.6;

	overflow-wrap: break-word;
	word-wrap: break-word;

	flex-grow: 1;
}


/* MESSAGES
--------------------------------------------------------- */

.general-loading,
.general-message {
	width: 100%;

	padding: 30px 15px;

	text-align: center;
}


/* RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1270px) {

	#tab_contents .general-grid {
		grid-template-columns:
			repeat(3, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 950px) {

	#tab_contents .general-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr)) !important;
	}

}


@media (max-width: 660px) {

	#tab_contents .general-grid {
		grid-template-columns:
			1fr !important;
	}

}