@font-face {
	font-display: swap;
	font-family: 'Quicksand';
	font-weight: 600;
	src: url('../font/quicksand-v36-latin-600.woff2') format('woff2');
}

body {
	background-image: url("../img/stone-bg.webp");
}

/* Header / NAV */

body div.nav {
	padding: 8px;
	margin-top: 0;
	/* Extremely kitschy Italian flag gradient. */
	background: linear-gradient(90deg,rgba(0, 147, 68, 1) 25%, rgba(255, 255, 255, 1) 50%, rgba(207, 39, 52, 1) 75%);
	background-clip: border-box;
	background-clip: padding-box;
	border: dashed 2px #ffffff;
	font-weight: 600;
	font-family: 'Quicksand';
	position: relative;
}
body div.nav h1 {
	float: left;
	margin-top: -0.05em;
	margin-bottom: 0em;
	color: white;
	font-size: 30pt;
	font-variant: small-caps;
	position: absolute;	/* Otherwise we bump the nav from being really centered.*/

}
body div.nav.footer {
	height: 1.25rem;
}
ul {
	margin: 0;
	padding: 0;
	text-align: center;
}
ul li a, ul li { 
	display: inline-block;
}
ul li {
	background-color: #00000052;
	text-transform: uppercase;
	padding: 0.2em;
}
ul li a {
	text-decoration: none;
	color: white;
	font-size: 24pt;
	border: double 1px #CF2734;
	transition: color 84ms;
}
ul li a:hover {
	color: black;
}
ul li a.active {
	text-decoration: overline;
	text-decoration-color: currentcolor;
	text-decoration-thickness: auto;
	text-decoration-thickness: 2px;
	text-decoration-color: #ffffffdc;
}

/* MAIN STYLES */

div.main {
	margin: 18px;
	padding: 8px;
	background-image: url("../img/paper-bg.png");
	background-size: 10%;
	box-sizing: border-box;
	border: solid 1px #00000030;
}
div.main h1 {
	margin-top: 0.1em;
	margin-bottom: 0.1em;

}
div.main p{
	padding: 4px;
	margin-top: 0;
	white-space: pre-line;
	font-size: 12pt;
	position: relative;
}
div.main small{
	font-size: .66em;
}
div.main p img {
	height: 164px;
	margin-left: auto;
	position: absolute;
	right: 2%;
	top: -27.5%;
	user-select: none;
}
div.main img.hero {
	float: right;
	height: 300px;
	margin-right: 2em;
}

h1.page {
	font-size: 16pt;
	text-decoration: overline;
	text-decoration-thickness: auto;
	text-decoration-thickness: 1px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Quicksand', sans-serif;
	color: #212121
}

/* ORDER PAGE CONTENT */

form div.order {
	display: flex;
	justify-content: space-between;
	max-width: 100%;
}

form div.order div.customer-info {
	padding: 8px;
	padding-top: 0;
	width: 256px;
	border: double 4px #00000024;
	background-color: #c6c6c614;
}
div.customer-info h2 {
	text-align: center;
}

div.order div.customer-info div.inner div.fields {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

div.customer-info div.inner div.fields label {
	padding-top: 4px;
}

div.order div.customer-info div.inner div.comment {
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

div.customer-info div.inner div.comment textarea {
	max-width: 96.7%;
	max-height: 329px;
	min-width: 96.7%;
	min-height: 96px;
}

form div.controls {
	margin-top: 8px;
	display:flex;
	justify-content: space-between;
	position: sticky;
	bottom: 16px;
}

div.controls input {
	height: 32px;
}

div.controls input:nth-child(1) {
	width: 280px;
	height: 50px;
	font-size: 16pt;
}
div.controls input:nth-child(2) {
	width: 100px;
	height: 50px;
	font-size: 16pt;
}

div.topping-carousel label {
	display: inline-block;
	width: min-content;
	text-align: center;
	text-align: center;
	padding: 4px;
	background-color: white;
	box-sizing: border-box;
	border: solid 1px #00000014;
	border-radius: 3px;
}

form div.order div.custom-pizza {
	padding: 8px;
	padding-top: 0;
	margin-left: 16px;
	border: double 4px #00000024;
	background-color: #c6c6c614;
	min-width: 0;
}
form div.order div.custom-pizza h2{
	margin-bottom: 0;
}

form div.order div.custom-pizza div.dough {
	width: max-content;
	padding: .5em;
	padding-left: .25em;
	margin-top: 1em;
	border: 1px dotted #00000060;
	min-width: 184px;
}

form div.order div.custom-pizza div.dough h3{
	margin-top: 0;
}
form div.order div.custom-pizza div.dough div{
	display: flex;
	flex-direction: column;
	margin-bottom: 1em;
}
div.order div.custom-pizza div.dough div label{
	margin-left: 2.33em;
}

div.order div.custom-pizza div.toppings {
	margin-top: 1em;
	padding: .5em;
	padding-left: .25em;
	border: 1px dotted #00000060;
	min-width: 184px;
}
form div.order div.custom-pizza div.toppings h3{
	margin-top: 0;
}

/* CONTACT PAGE SPECIFICS */

div.main form.order div.order div.customer-info.contact {
	width: 640px;
}
div.main form.order div.order div.customer-info.contact div.inner div.fields {
	max-width: 200px;
}