@font-face {
	font-family: 'CallunaSans';
	src: url('../fonts/CallunaSansRegular.woff2') format('woff2'),
	     url('../fonts/CallunaSansRegular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'CallunaSans';
	src: url('../fonts/CallunaSansBold.woff2') format('woff2'),
	     url('../fonts/CallunaSansBold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}
* {
	margin: 0;
	padding: 0;
}
body {
	font-family: "CallunaSans", Verdana, Helvetica, Arial, sans-serif;
	font-size: 22px;
	line-height: 1.2;
	background-color: #c4d5e8;
	background-image: url(../images/background.jpg);
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
	text-align: center;
	-webkit-font-smoothing: antialiased;
}
#page {
	max-width: 1024px;
	margin: 0 auto;
	background-color: #fff;
  box-shadow: 0 0 40px rgba(0,0,0,0.2);
}
#header {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 260px;
	background-color: #1b1b1b;
}
#header img {
	display: block;
}
#navigation {
	display: flex;
}
#navigation a {
	flex: 1;
	padding: 0.75em 1em;
	background: #fbefce;
	color: inherit;
	font-weight: bold;
	text-decoration: none;
	transition: background .3s;
}
#navigation a.active {
	background: #ffb700;
}

figure img {
	display: block;
	width: 100%;
	height: auto;
}

.main,
#request,
#testimonials,
footer {
	padding: 96px;
}
.main {
	box-sizing: border-box;
	max-width: 1024px;
	margin: 0 auto;
	text-align: left;
}
.main p {
	margin: 1em 0;
}
.main p a {
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid;
}
.main p a:hover {
	color: #ffb700;
}
.main img {
	width: 100%;
	height: auto;
}
.main > :last-child {
	margin-bottom: 0;
}
#lead {
	margin-top: 0;
	font-size: 1.5em;
}
#lead p {
	margin-top: 0;
}
.main h1,
#request h1 {
	color: #ffb700;
	font-size: 2.2em;
	text-align: center;
	margin: 96px 0;
	margin-top: 0;
}
.main h2,
#request h2 {
	margin-top: 2em;
	font-size: 1.2em;
}
.main h1 + h2,
#request h1 + h2 {
	margin-top: 0;
}
#request {
	box-sizing: content-box;
	background-color: #fbefce;
}
#request p {
	text-align: left;
	margin-bottom: 1em;
}
#request form input[type="text"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 1em 0;
	padding: 0.3em;
	font-family: inherit;
	font-size: 1em;
	border: 0;
	-webkit-font-smoothing: antialiased;
}
#request form {
	margin-top: 2em;
}
#request form input.required {
	border: 2px solid #ffb700;
	font-weight: bold;
}
#request form input.mandatory {
	font-weight: bold;
}
#request form .bar {
	padding-top: 1em;
	text-align: center;
}
#request form .bar input {
	font-family: inherit;
	font-size: 1em;
	font-weight: bold;
	color: #fff;
	background-color: #ffb700;
	padding: 0.5em 1.5em;
	border: 0;
  border-radius: 0.3em;
  transition: all 200ms;
	-webkit-appearance: none;
	-webkit-font-smoothing: antialiased;
}
#request form .bar input:hover {
  transform: translate3d(0,-4px,0);
  box-shadow: 0 4px 2px #d59900;
}
#request form .bar input:active {
	background-color: #d89b00;
  transform: translate3d(0,0,0);
  box-shadow: none;
  transition: all 50ms;
}
#request #error-message {
	font-weight: bold;
	color: #f4a700;
	display: none;
}
footer {
	color: #fff;
	background-color: #1b1b1b;
	font-size: 1em;
	text-align: left;
}
footer a {
	color: #fff;
	text-decoration: none;
}
footer a:hover {
	color: #e9b008;
	border-bottom: 1px solid #e9b008;
}
footer #address,
footer #contact {
	display: inline-block;
	margin-right: 2em;
	vertical-align: top;
}
.main h1:first-child,
#request h1:first-child {
	margin-top: 0;
}
#testimonials {
	color: #3f5e03;
	background-color: #d7e8b4;
	text-align: left;
}
#testimonials blockquote {
	font-size: 1.6em;
	overflow: hidden;
}
#testimonials blockquote footer {
	color: inherit;
	background-color: transparent;
	padding: 0;
	font-size: 0.7em;
	font-weight: bold;
	margin-top: 1em;
	padding-left: 2em;
}
#testimonials blockquote img {
	float: left;
	margin-right: 1em;
  box-shadow: 0 3px 6px rgba(0,0,0,0.2);
  transform: rotate(-3deg);
}

@media only screen and (max-width: 1024px) {
	body {
		background-image: none;
	}
	#page {
    box-shadow: none;
	}
}

@media only screen and (max-width: 870px) {
	#testimonials blockquote img {
		float: none;
	}
}

@media only screen and (max-width: 768px) {
	.main,
	#request,
	#testimonials,
	footer {
		padding: 48px;
	}
	.main h1,
	#request h1 {
		margin: 48px 0;
	}
}

@media only screen and (max-width: 650px) {
	body {
		font-size: 20px;
	}
	#lead {
		font-size: 1.3em;
	}
}

@media only screen and (max-width: 500px) {
	#testimonials blockquote.photo img {
		width: 100%;
		height: auto;
	}
}

@media only screen and (max-width: 480px) {
	header {
		height: 200px;
	}
	.main,
	#request,
	#testimonials,
	footer {
		padding: 32px;
	}
	.main h1,
	#request h1 {
		margin: 32px 0;
	}
	.main h2,
	#request h2 {
		margin-top: 1em;
	}
}

@media only screen and (max-width: 400px) {
	#testimonials blockquote {
		font-size: 1.4em;
	}
	#testimonials blockquote footer {
		font-size: 0.7em;
		padding-left: 0;
	}
}

@media only screen and (max-width: 340px) {
	body {
		font-size: 16px;
	}
	.main,
	#request,
	#testimonials,
	footer {
		padding: 16px;
	}
	.main h1,
	#request h1 {
		margin: 16px 0;
	}
	#request form .bar {
		padding-top: 0.2em;
	}
}