div#form-box {
	display: grid;
	grid-template-areas:
		"title"
		"form"
		"comment";
	
	width: auto;
	min-width: 300px;
	max-width: 30%;

	margin: auto;
	text-align: center;
}

div#form-box div#title {
	grid-area: title;
}

form {
	display: grid;
	grid-template-areas:
		"input-areas"
		"captcha"
		"submit";
}

textarea:focus, input:focus {
	outline: none;
}

form div#input-areas {
	display: flex;
	flex-flow: column nowrap;
	padding-bottom: 0.5rem;
	gap: 0.5vh;
}

form div#input-areas div {
	text-align: left;
}

form div#input-areas div :is(input:not(.checkbox), textarea) {
	border-radius: 5px;
	border: 2px solid #005500;
	height: 2.3em;
	width: 100%;
	font-size: 1.2em;
	font-weight: bold;
	padding: 0 1vw;
}

form div#input-areas div textarea {
	font-weight: normal !important;
	height: 5rem !important;
	resize: none;
	padding: 0;
}

form div#input-areas div input.checkbox {
	height: 1rem;
	width: 1rem;
}

form div input:focus {
	border-color: #004400;
	transition: 300ms border-color;
}

form label {
	font-size: 1.1em;
	font-weight: bold;
}

form input#submit-button {
	grid-area: submit;	
	cursor: pointer;
	margin: 1vh 0;
	background-color: #005500;
	color: white;
	border: none;
	height: 3rem;
	border-radius: 7px;
	font-size: 1.3rem;
}

form input#submit-button:disabled {
	background-color: #999999;
	color: #CCCCCC;
	cursor: unset;
}

form input#submit-button:hover:not(:disabled) {
	background-color: #004400;
	transition: 300ms background-color;
}

form input#submit-button:not(:hover) {
	background-color: default;
	transition: 600ms background-color;
}

form div#captcha {
	grid-area: captcha;
	margin: auto;
}

span.required {
	color: red;
}

@media screen and (width < 900px) {
	div#form-box {
		max-width: 50%;
	}
}

@media screen and (width < 600px) {
	div#form-box {
		max-width: 100%;
		text-align: center;
	}
}
