/* common styles */
html {
	font-size: 0.85em;
	/* make footer stick to bottom */
	-webkit-text-size-adjust: none;
	/* prevents iphone from scaling text */
	-webkit-tap-highlight-color: transparent;
	/* remove default tap highlight colour shown in mobile safari */
	}
body {
	padding: 0px;
	margin: 0 auto;
	font-family: loos-normal, Arial, sans-serif;
	/* make footer stick to bottom */
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	}
footer {
	/* make footer stick to bottom - not sure why 12px works */
	padding-bottom: 12px;
	margin-top: auto;
	}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden; 
	}
h1 {
	margin: 0;
	font-family: superior-title, Arial, sans-serif;
	}
p {
	display: inline-block;
	}
	
/* header */
header {
	padding: 0 1em;
	min-width: 21.18em;
	border-top: 7px solid #ff005c;
	}
div#header_inner {
	max-width: 88.2em;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
	}
div#logo_slim {
	float: left;
	width: 80%;
	text-align: left;
	padding: 2em 0 1em 1em;
	box-sizing: border-box;
	}
img#logo_img_slim {
	width: 180px;
	}	
div#logo_wide {
	display: none;
	}
div#menu {
	float: left;
	width: 20%;
	text-align: right;
	padding: 2.4em 1em 0 0;
	box-sizing: border-box;
	}
a#menu_show {
		background-color: black;
		border-radius: 1.1rem;
		padding: 0.6em 0.6em 0.5em 0.6em;
		color: white;
		text-decoration: none;
		cursor: pointer;
		font-size: 1.1em;
		}
a#menu_show:hover {
	background-color: #ff005c;
	}
@media screen and (min-width: 31.25em) {
	/* 500 */
		img#logo_img_slim {
			width: 210px;
			}	
		div#menu {
			padding-top: 2.55em;
			}	
		}
@media screen and (min-width: 37.5em) {
/* 600 */
	div#logo_slim {
		width: 20%
		}
	img#logo_img_slim {
		display: none;
		}
	div#logo_wide {
		float: left;
		display: block;
		width: 60%;
		text-align: center;
		padding: 3em 0 2em 0;
		}
	img#logo_img_wide {
		width: 240px;
		}
	div#menu {
		padding-top: 3.75em;
		}	
	}
@media screen and (min-width: 50.625em) {
/* 810 */
	a#menu_show {
		display: none;
		}
	}

/* sidebar */
div#sidebar_slim, div#sidebar {
	display: none;
	box-sizing: border-box;

	font-size: 1.1em;
	position: absolute;
	right: 0px;
	top: 0px;
	border-top: 7px solid #ff005c;
	background-color: white;
	padding: 1.6em 1em 1em 1em;
	border-bottom-left-radius: 0.6rem;
	box-shadow: 0 0 0 max(100vh, 100vw) rgba(0, 0, 0, .3);
	}
div#menu_label {
		margin-bottom: 0.8em;
		}
	span#menu_title {
		float: left;
		display: inline-block;
		padding: 0.6em 0.6em 0.5em 0em;
		font-size: 1.2em;
		}
	a#menu_cancel {
		float: right;
		display: inline-block;
		background-color: black;
		color: white;
		padding: 0.7em 0.8em 0.5em 0.8em;
		border-radius: 50%;
		cursor: pointer;
		}	
a#menu_cancel:hover {
	background-color: #ff005c;
	}
@media screen and (min-width: 50.625em) {
/* 810 */
	div#main {
		float: left;
		width: 66.5%;
		}	
	div#sidebar_slim {
		display: none !important;
		}
	div#sidebar {
		display: block;
		float: right;
		width: 32.5%;
		
		font-size: 1.1em;
		position: static;
		right: 0px;
		top: 0px;
		border-top: none;
		background-color: white;
		padding: 0em 1em;
		border-bottom-left-radius: 0;
		box-shadow: none;
		}
	a#menu_cancel {
		display: none;
		}
	}
@media screen and (min-width: 59.375em) {
/* 950 */
	div#main {
		width: 69%
		}
	div#sidebar {
		width: 30%;
		font-size: 1.2em;
		}
	}	
a.nav_item {
	display: inline-block;
	clear: left;
	float: left;
	background-color: black;
	border-radius: 1.1rem;
	padding: 0.6em 0.6em 0.5em 0.6em;
	color: white;
	text-decoration: none;
	margin-bottom: 0.6em;
	}
a.nav_item:hover {
	background-color: #ff005c;
	}
	
/* page */
div#page {
	padding: 1em 1em 2em 1em;
	min-width: 21.18em;
	}
div#page_inner {
	max-width: 88.2em;
	margin: 0 auto;
	box-sizing: border-box;
	}
div#main {
	background-color: #fbf0f0;
	box-sizing: border-box;
	padding: 1em;
	font-size: 1.2em;
	border-radius: 0.6rem;
	}
	
/* footer */
footer {
	background-color: #fbf0f0;
	border-bottom: 7px solid #ff005c;
	padding: 0 1em;
	min-width: 21.18em;
	}
div#footer_inner {
	max-width: 88.2em;
	margin: 0 auto;
	padding: 2.2em 1em;
	text-align: center; 
	box-sizing: border-box;
	}
img#footer_logo_img {
	width: 110px;
	}		
/* content */
div.calculator {
	margin-top: 0.6em;
	}		
table.standard {
	border-collapse: collapse;
	font-size: 0.9em;
	}
table.standard th {
	text-align: left;
	padding: 0.4em 0.9em 0.4em 0;
	font-weight: normal;
	}
table.standard td {
	padding: 0.25em;
	}
input[type=text] {
	background-color: white;
	border: none;
	border-bottom: 2px solid black;
	padding: 0.3em 0.35em;
	font-size: 1.15em;
	font-family: loos-normal, Arial, sans-serif;
	width: 5.9em;
	}
button.calculate {
	background-color: black;
	border-radius: 1.1rem;
	padding: 0.6em 1em 0.6em 1em;
	color: white;
	text-decoration: none;
	border: none;
	font-size: 1em;
	cursor: pointer;
	}
button.calculate:hover {
	background-color: #ff005c;
	}
span.result {
	padding: 0.354em 0;
	font-size: 1.15em;
	display: inline-block;
	}
@media screen and (min-width: 27.5em) {
/* 440px */
	table.standard {
		font-size: 1em;
		}
	}
@media screen and (min-width: 37.5em) {
/* 600px */
input[type=text] {
	width: 7em;
	}
}