* {
	font-size: 16px;
	line-height: 22px;
}

@media screen and (max-width: 480px) {
	* {
		font-size: 16px;
		line-height: 22px;
	}
}

h1 {
	padding-top: 1em;
	padding-bottom: 0.25em;
	font-size: 36px;
	line-height: 48px;
}

h2 {
	padding-top: 0.5em;
	padding-bottom: 0.25em;
	font-size: 24px;
	line-height: 32px;
}

h3 {
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
}

a:not(header *) {
	color: var(--en-blue);
}

[lang="eo"] a:not(header *) {
	color: var(--eo-green);
}

a:visited:not(header *) {
	color: #681DA8;
}

#content {
	width: max(80%, 640px);
	margin: auto;
	overflow-x: hidden;
	padding-top: 1em;
}

header {
	position: sticky;
	width: unset;
	box-shadow: 0 1px 3px #00000066;
	background-color: white;
}

:not(lang-switcher)[type="button"] {
	grid-area: submit;

	display: grid;
	justify-content: center;
	align-items: center;

	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;

	color: white;
	background-color: var(--en-blue);
	border-radius: 28px;
	border: none;
	padding: 0 15px;
	height: 80%;
	z-index: inherit;

	transition: background-color 300ms ease;

	font-size: calc(18px * var(--font-scale));
	font-weight: 500;
}

:lang(eo) :not(lang-switcher)[type="button"] {
	background-color: var(--eo-green);
}

@media screen and (max-width: 480px) {
	#content {
		width: 90%;
	}
}