div[role='group'] button {
	padding: var(--pico-form-element-spacing-vertical) 10px;
}

form button {
	width: 100%;
}

.grid {
	margin-top: calc(var(--pico-spacing) * 2);
	margin-bottom: calc(var(--pico-spacing) * 2);
}

.grid > div {
	padding: var(--pico-spacing);
	text-align: center;
}

.error {
	color: #e53935;
}

.success {
	color: #2e7d32;
}

.text-justify {
	text-align: justify;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-italic {
	font-style: italic;
}

.cursor-pointer {
	cursor: pointer;
}

.flex {
	display: flex;
}

.flex-col {
	flex-direction: column;
}

.grow {
	flex-grow: 1;
}

.min-h-screen {
	min-height: 100vh;
}

.justify-center {
	justify-content: center;
}

.content-center {
	align-content: center;
}

.mt-0 {
	margin-top: 0;
}

.m-0 {
	margin: 0;
}

.m-8 {
	margin: 2rem;
}

.flash {
	margin-bottom: var(--typography-spacing-vertical);
	padding: var(--form-element-spacing-vertical)
		var(--form-element-spacing-horizontal);
	border: solid var(--border-width);
	border-radius: var(--border-radius);
}

.flash.info {
	color: #3734e5;
	border-color: #3734e5;
}

.flash.success {
	color: #9a9835;
	border-color: #9a9835;
}

.flash.error {
	color: #e53935;
	border-color: #e53935;
}

.grow {
	width: 100%;
}

.resource .qrcode {
	float: right;
}

.resource .head {
	min-height: 128px;
}

.resource .map {
	height: 400px;
}

#keyword {
	color: #e53935;
}

nav ol:first-of-type,
nav ul:first-of-type {
	margin-left: 0 !important;
}

nav ol:last-of-type,
nav ul:last-of-type {
	margin-right: 0 !important;
}

@media (max-width: 1024px) {
	.site-footer [class^='col-'] {
		margin-bottom: 30px;
	}
}

.mobile-dropdown-menu {
	display: block !important;
}

.mobile-dropdown-menu > ul {
	right: 0 !important;
	left: auto !important;
}

.menu {
	display: none !important;
}

.banner {
	margin: 0;
	color: var(--pico-background-color);
	background-color: var(--pico-card-sectioning-background-color);
	text-align: center;
	position: sticky;
	top: 0;
	z-index: 1000;
}

.banner details {
	padding: 10px;
	margin: 0;
}

.banner summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.map [type='button'],
.map [type='reset'],
.map [type='submit'],
.map [type='file']::file-selector-button,
.map button {
	border-radius: initial;
	color: initial;
	font-size: initial;
	font-weight: initial;
	margin-bottom: initial;
}

.map details summary::after {
	background-image: none !important;
}

@media (max-width: 768px) {
	.site-footer {
		padding-bottom: 0;
	}

	.site-footer .copyright-text,
	.site-footer .social-icons {
		text-align: center;
	}
}

@media (min-width: 768px) {
	.mobile-dropdown-menu {
		display: none !important;
	}

	.menu {
		display: block !important;
	}
}
