body {
	color: #111;background-color: #f6f8f8;
}

a:link, a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }

main {
	background-color: #fff;
	border: 1px solid #b0bfbf;
	box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
	margin: auto;
	display: flex;
	justify-content: space-between;
}

footer {
	text-align: center;
	font-size: smaller;
	padding-top: 1em;
}

h1 { font-family: sans-serif;margin: 4px; }
h1 span::before, h1 span::after { content: " 🖩 ";color: grey; }

h1 a:link, h1 a:visited {
	text-decoration: underline #eee;
	color: #111;
}

h1 a:hover {
	text-decoration: underline;
	color: #0645AD;
}

.description p {
	max-width: 60em;
}

hr {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

fieldset { border: 0; }
legend { white-space: normal;max-width: 90%; }
input:invalid { background-color: #ffcccc; }

#WarningText { margin-left: 1em; }

#ResultText {
	margin-top: 1.5em;
	padding: 1em;
	border: 1px solid #b0bfbf;
	box-shadow: 3px 3px 2px rgba(0, 0, 0, 0.1);
	background-color: #f6f8f8;
	font-size: larger;
}

.warning { color: #b00000; }
.number span { color: #666; }
.number span::before { content: ","; }

.maths { padding: 2em; }

.chart { margin: 1px; }

@media (max-width: 399px) {
	#Breakpoint::after  { content: "<400px (small phone)"; }
	main {
		flex-wrap: wrap;
		justify-content: center;
		max-width: 396px;
	}
	.chart {
		width: 300px;
		height: 250px;
	}
}

@media (min-width: 400px) and (max-width: 599px) {
	#Breakpoint::after  { content: "<600px (phone)"; }
	main {
		flex-wrap: wrap;
		justify-content: center;
		max-width: 595px;
	}
	.chart {
		width: 390px;
		height: 275px;
	}
}

@media (min-width: 600px) and (max-width: 899px) {
	#Breakpoint::after  { content: ">=600px (tablet portrait)"; }
	main {
		flex-wrap: wrap;
		justify-content: center;
		max-width: 880px;
	}
	.chart {
		width: 550px;
		height: 300px;
	}
}

@media (min-width: 900px) and (max-width: 1199px) {
	#Breakpoint::after  { content: ">=900px (tablet landscape)"; }
	main {
		max-width: 1150px;
	}

	.chart {
		width: 400px;
		height: 275px;
	}
}

@media (min-width: 1200px) and (max-width: 1499px) {
	#Breakpoint::after  { content: ">=1200px (desktop)"; }
	main {
		max-width: 1450px;
	}

	.chart {
		width: 500px;
		height: 300px;
	}
}

@media (min-width: 1500px) and (max-width: 1799px) {
	#Breakpoint::after { content: ">=1500px (decent desktop)"; }
	main {
		max-width: 1750px;
	}

	.chart {
		width: 600px;
		height: 340px;
	}
}

@media (min-width: 1800px) {
	#Breakpoint::after  { content: ">=1800px (huge desktop)"; }
	main {
		max-width: 1750px;
	}

	.chart {
		width: 700px;
		height: 360px;
	}
}

#Breakpoint { display: none; position: fixed; bottom: 1em;left: 1em; }
