html {
	line-height: var(--base-line-height);
	-webkit-text-size-adjust: 100%;
}

body {
	font-family: var(--base-font-family);
	font-size: var(--base-font-size);
	font-weight: var(--base-font-weight);
	margin: 0;
	background-color: var(--base-body-color);
	color: var(--base-text);
}

main {
	display: block;
}

h1 {
	font-size: var(--h1-font-size);
	font-weight: bold;
	margin: 0.67em 0;
	border-bottom: var(--h1-border);
}

h2 {
	font-size: var(--h2-font-size);
	font-weight: bold;
	border-bottom: var(--h2-border);
}

h3 {
	font-size: var(--h3-font-size);
	font-weight: bold;
	border-bottom: var(--h3-border);
}

h4 {
	font-size: var(--h4-font-size);
	font-weight: bold;
	border-bottom: var(--h4-border);
}

h5 {
	font-size: var(--h5-font-size);
	font-weight: bold;
	border-bottom: var(--h5-border);
}

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%; 
	line-height: 1.15;
	margin: 0; 
	background-color: var(--base-background);
	color: var(--base-text);
}

button,
input {
	overflow: visible;
}

input:is(:-webkit-autofill, :autofill) {
	box-shadow: var(--input-box-shadow);
	filter: none;
}

input[type="file"] {
	border: none;
	display: none;
}

button,
select {
	text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

h1 {
}

a {
	color: var(--a-color);
	text-decoration: var(--a-decoration);
	font-weight: var(--a-font-weight);
}

input {
	padding: 8px;
	margin: 8px 0;
	font-size: var(--input-font-size);
	border: var(--input-border);
	border-radius: var(--input-border-radius);
}

button {
	padding: 10px;
	border: var(--button-border);
	border-radius: var(--button-border-radius);
	cursor: pointer;
	font-size: var(--button-font-size);
	font-weight: var(--button-font-weight);
	background-color: var(--button-background-color);
	color: var(--button-color);
}

button:hover {
        background-color: var(--button-hover-color);
}

ul {
	font-size: var(--ul-font-size);
}
