@charset "UTF-8";


/* Variables */
/* -------------------------------------------------------------------------- */

:root {
	--background-colour: #ffffff;
	--font-colour: #333333;
	--thymeleaf-green: #005f0f;

	--container-background-colour: #ececec;
	--label-colour: #ffffff;
	--button-colour: #ffffff;
	--error-colour: #ff0000;
}


/* Elements */
/* -------------------------------------------------------------------------- */

* {
	box-sizing: border-box;
}

*::before,
*::after {
	box-sizing: border-box;
}

body {
	background-color: white;
	border-left: 0.5em solid var(--thymeleaf-green);
	color: #333333;
	font: 1em / 1.5 'Ubuntu', sans-serif;
}

main {
	display: grid;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}

h1 {
	font-size: 2em;
	font-style: italic;
	font-weight: normal;
}

label {
	background-color: var(--thymeleaf-green);
	color: var(--label-colour);
	cursor: pointer;
	display: inline-flex;
	font-style: italic;
	margin-bottom: 0.5em;
	margin-left: -2em;
	padding: 0.25em 1em 0.25em 2em;
}

textarea {
	border: 1px solid var(--thymeleaf-green);
	display: block;
	font-family: "Ubuntu Mono", monospace;
	min-height: 10em;
	padding: 0.5em;
	width: 100%;
}

button {
	background-color: var(--thymeleaf-green);
	border: none;
	border-radius: 0;
	color: var(--button-colour);
	cursor: pointer;
	font-style: italic;
	padding: 0.75em;
}

footer {
	font-size: 0.85em;
}

/* Components */
/* -------------------------------------------------------------------------- */

.header-container {
	align-items: center;
	background-color: var(--container-background-colour);
	border-bottom: 1px solid var(--thymeleaf-green);
	display: flex;
	justify-content: center;
}

.header-logo {
	height: 40px;
	margin-right: 1em;
	width: 40px;
}

.header-links {
	display: flex;
}

.link-logo img {
	height: 30px;
	width: 30px;
}

.body-container {
	font-size: 1em;
	padding: 2em 1em;
}

.body-section {
	margin: 0 auto;
	max-width: 50rem;
	width: 100%;
}

.inputgroup + .inputgroup {
	margin-top: 2em;
}

.actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 2em;
}

.processing-error {
	border: 1px solid var(--error-colour);
}

.footer-container {
	align-items: center;
	background-color: var(--container-background-colour);
	border-top: 1px solid var(--thymeleaf-green);
	display: flex;
	justify-content: center;
}

.footer-section {
	margin: 0 auto;
	max-width: 50rem;
	padding: 1em;
	width: 100%;
}
