:root{
	--fjalla: 'Fjalla One', Helvetica,Arial,sans-serif;
	--nunito: 'Nunito', sans-serif;
	--nunsans: 'Nunito Sans', sans-serif;
	--roboto: 'Roboto', sans-serif;
	--rox: 'rox', 'serif';

	--body-font: var(--nunsans);
	--title-font: var(--rox);
	--cta-font: var(--nunsans);

	--blue1: #c7d5ee;
	--blue2: #2259b5;
}

body{
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: var(--nunsans);
	scroll-behavior: smooth;
}

a{
	color: black;
	text-decoration: none;
	transition: all 0.25s;
}

table {
	border-spacing: 0;
	width: 100%;
	border: 1px solid #eee;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 1px 2px 0 #ffffff;
	-webkit-box-shadow: 0 1px 2px 0 #ffffff;
	-moz-box-shadow: 0 1px 2px 0 #ffffff;
	border-collapse: separate;
	margin-bottom: 1.5em;
	max-width: 1080px;
	margin: auto;
	text-indent: initial;
	font: 300 15px/1.5em 'Imprima', arial, sans-serif;
	color: #555555;
}

table tbody tr:nth-child(2n) td {
	border-right: 1px dotted #f1f1f1;
	background: #fafafa;
}

table tbody td {
	border-bottom: 1px solid #eee;
	padding: 5px;
}

th {
	padding: 5px;
}

.logo{
	position: absolute;
	top: 0;
}

.logo img{
	padding: 30px;
	width: 230px;
}

a#back-to-top{
	position: fixed;
	background: var(--blue2);
	color: white;
	width: 50px;
	height: 50px;
	border-radius: 5px;
	bottom: min(50px, 5vw);
	right: min(50px, 5vw);
	font-size: 30px;
	text-align: center;
	font-weight: bold;
	z-index: 10;
}

.header-splash{
	background: url(img/lathe-blueprint-2-1024x221.jpg);
	background-size: cover;
	background-position-x: 20%;
	width: 100%;
	min-height: 300px;
	display: flex;
	flex-direction: column;
	justify-content: end;
}
.nav-container{
	display: flex;
	width: 100%;
	justify-content: center;
	/* background-color: var(--blue1); */
	background-color: rgba(255, 255, 255, 0.3);
}

.nav{
	display: flex;
	/* justify-content: space-between; */
	width: 1080px;
	/* margin: 10px 0; */
}

.nav a{
	padding: 20px 0;
	flex: 1;
	border: rgba(0, 0, 0, 0) 1px solid;
	/* border-radius: 3px; */
	flex: 1;
	text-align: center;
	cursor: pointer;
	text-shadow: white -3px -3px 5px, 
	white 3px 3px 5px, 
	white -3px 3px 5px, 
	white 3px -3px 5px,
	white -2px -2px 3px, 
	white 2px 2px 3px, 
	white -2px 2px 3px, 
	white 2px -2px 3px;
	text-decoration: none;
	color: black;
	font-size: larger;
	font-weight: bold;
}

.nav a:hover{
	border: var(--blue2) solid 1px;
	/* color: white;
	text-shadow: none; */
}

#content{
	max-width: 1080px;
	margin: auto;
	margin-top: 30px;
	padding: 10px;
	max-width: 1280px;
	flex: 1 0 auto;
}
h1, h2{
	margin: 50px 0 20px;
}

ul{
	margin-left: 30px;
}

th{
	text-align: left;
}

section th:nth-child(4), section td:nth-child(4){
	text-align: right;
}

.contact{
	display: flex;
	flex-direction: column;
	text-align: center;
	padding: 30px;
	/* margin: 30px; */
	justify-content: center;
	align-items: center;
	width: 100%;
}

a.cta{
	display: block;
	text-decoration: none;
	padding: 20px;
	font-size: x-large;
	background: var(--blue2);
	color: white;
	border: 1px solid var(--blue2);
	margin: 10px;
	width: fit-content;
}

a.cta:hover{
	color: var(--blue2);
	background: var(--blue1);
}

.gallery-container{
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 20px;
}

.img-container{
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative
}
.img-container span{
	position: absolute;
	bottom: 0;
	right: 0;
	text-align: right;
	/* background-color: rgba(255, 255, 255, 0.3); */
	text-shadow: white -3px -3px 5px, 
	white 3px 3px 5px, 
	white -3px 3px 5px, 
	white 3px -3px 5px,
	white -2px -2px 3px, 
	white 2px 2px 3px, 
	white -2px 2px 3px, 
	white 2px -2px 3px;
}

.img-container.left span{
	bottom: 15px;
	left: 0;
	text-align: center;
}

.img-container img{
	max-width: min(100%, 400px);
}

span.img-caption.long{
	font-size: small;
}

#content .left{
	float:left;
	max-width: 40%;
	padding: 0 15px 15px 0;
}
#content img.right{
	float:right;
	max-width: 40%;
}

#content.left p{
	text-align: left;
}

dialog{
	width: 1080px;
	margin: auto;
	padding: 20px;
}
dialog button{
	position: absolute;
	top: 5;
	right: 5;
	width: 32px;
	font-size: larger;
}
::backdrop{
	opacity: 0.75;
	background: #333;
}

.price-list-links a, a.pdf-link{
	display: block;
	padding: 10px;
	font-size: large;
	/* border: 1px var(--blue2) solid; */
}

.price-list-links a:hover, a.pdf-link:hover{
	background-color: var(--blue1);
}

.contact h3{
	padding-bottom: 35px;
}

footer{
	color: var(--blue2);
	background: var(--blue1);
	position: relative;
	margin-top: 30px;
	flex-shrink: 0;
	padding: 30px;
	text-align: center;
}

address{
	font-style: normal;
}


@media only screen and (max-width:500px) {
	#content{
		padding: 0;
	}
	h1, h2, h3{
		text-align: center;
	}
	p{
		text-align: center;
		padding: 10px;
	}
	table{
		font-size: 10px;
	}
	a.cta{
		font-size: medium;
	}
	.nav{
		font-size: x-small;
	}
	dialog{
		padding: 0px;
	}
	#content img.left{
		padding: 0 5px 5px 0;
	}
	.price-list-links a, a.pdf-link{
		font-size: unset;
	}
}