@charset "UTF-8";
@import "https://fonts.googleapis.com/css?family=Raleway:100,300,600";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	outline: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
	-webkit-text-size-adjust: none;
	-ms-overflow-style: scrollbar;
	background: #fff;
}

*, *:before, *:after {
	box-sizing: border-box;
}

.logo-and-name {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.logo-wrapper {
	display: flex;
	background-color: #FFF;
	border-radius: 8px;
	padding: 2px;
}

.logo-image {
	width: 64px;
}

@media screen and (max-width: 480px) {
	html, body {
			min-width: 320px;
	}
}

body, input, select, textarea {
	color: #444;
	font-family: "Raleway", Arial, Helvetica, sans-serif;
	font-size: 13pt;
	font-weight: 300;
	line-height: 1.65;
}

@media screen and (max-width: 1680px) {
	body, input, select, textarea {
			font-size: 11pt;
	}
}

@media screen and (max-width: 1280px) {
	body, input, select, textarea {
			font-size: 13pt;
	}
}

@media screen and (max-width: 980px) {
	body, input, select, textarea {
			font-size: 12pt;
	}
}

@media screen and (max-width: 736px) {
	body, input, select, textarea {
			font-size: 12pt;
	}
}

@media screen and (max-width: 480px) {
	body, input, select, textarea {
			font-size: 12pt;
	}
}

a {
	color: #5385c1;
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

strong, b {
	color: #555;
	font-weight: 600;
}

em, i {
	font-style: italic;
}

p {
	margin: 0 0 2em 0;
}

h1, h2, h3, h4, h5, h6 {
	color: #5385c1;
	font-weight: 300;
	line-height: 1.5;
	margin: 0 0 1em 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
	text-decoration: none;
}

h2 {
	font-size: 1.75em;
	font-weight: 100;
}

h3 {
	font-size: 1.35em;
}

.inner {
	max-width: 75em;
	margin: 0 auto;
}

.inner h2 {
	margin: 0 0 0 1em;
	color: #FFF;
}

.inner h2.contact-us {
	color: #5385c1;
}

@media screen and (max-width: 1280px) {
	.inner {
			max-width: 90%;
	}
}

@media screen and (max-width: 480px) {
	.inner {
			max-width: 85%;
	}
}

section.special, article.special {
	text-align: center;
}

section.special article, article.special article {
	text-align: left;
}

section.wrapper, article.wrapper {
	padding: 4em 0;
}

section.wrapper header, article.wrapper header {
	margin-bottom: 4em;
}

section.wrapper header h2, article.wrapper header h2 {
	font-size: 2.75em;
	margin: 0 0 .5em 0;
}

section.wrapper header p, article.wrapper header p {
	font-size: 1em;
}

section.wrapper article header, article.wrapper article header {
	margin: 0;
	text-align: center;
}

section.wrapper article p {
	margin: 2em 0 0 0;
}

section.wrapper article svg {
	height: 100px;
	width: 100px;
	margin: 0 auto;
	display: block;
	fill: #5385c1;
}

section.wrapper.style1, article.wrapper.style1 {
	background: #5385c1;
	color: #bacee6;
}

section.wrapper.style1 header h2, article.wrapper.style1 header h2 {
	color: #fff;
}

section.wrapper.style1 header p, article.wrapper.style1 header p {
	color: #bacee6;
}

section.wrapper.style1 h3, article.wrapper.style1 h3 {
	color: #FFF;
}

@media screen and (max-width: 980px) {
	section.wrapper, article.wrapper {
			padding: 2em 0;
	}
}

@media screen and (max-width: 736px) {
	section.wrapper header, article.wrapper header {
			margin-bottom: 2em;
	}

	section.wrapper header h2, article.wrapper header h2 {
			font-size: 2em;
	}

	section.wrapper header p, article.wrapper header p {
			font-size: .9em;
	}
}

@media screen and (max-width: 480px) {
	section.wrapper, article.wrapper {
			text-align: center;
	}

	section.wrapper article, article.wrapper article {
			text-align: center;
	}
}

.flex {
	-ms-flex-wrap: wrap;
	-ms-flex-pack: justify;
	display: flex;
	-moz-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-moz-justify-content: space-between;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
	justify-content: space-between;
}

.flex.flex-2 article, .flex.flex-2 .box {
	width: 47%;
}

.flex.flex-3 article {
	position: relative;
	width: 28%;
}

.flex.flex-3 article:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	right: -2em;
	top: 0;
	border-right: 1px solid #dbdbdb;
	pointer-events: none;
}

.flex.flex-3 article:last-child:before {
	border: none;
}

.flex.flex-4 .box {
	width: 21%;
}

@media screen and (max-width: 980px) {
	.flex.flex-2 article, .flex.flex-2 .box {
			width: 100%;
			margin-bottom: 3em;
	}

	.flex.flex-2 article:last-child {
			margin-bottom: 0;
	}

	.flex.flex-3 {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
	}

	.flex.flex-3 article {
			width: 100%;
			border-bottom: 1px solid #dbdbdb;
			padding-bottom: 2.5em;
			margin-bottom: 3em;
	}

	.flex.flex-3 article:last-child {
			border: none;
			padding-bottom: 0;
			margin: 0 0 1em 0;
	}

	.flex.flex-3 article:before {
			display: none;
	}

	.flex.flex-4 .box {
			width: 47%;
	}
}

.box {
	border: solid 1px #dbdbdb;
	margin-bottom: 2em;
	padding: 1.5em;
}

.box > :last-child, .box > :last-child > :last-child, .box > :last-child > :last-child > :last-child {
	margin-bottom: 0;
}

.box.alt {
	border: 0;
	border-radius: 0;
	padding: 0;
}

.box.person {
	border: solid 1px rgba(255, 255, 255, 0.25);
	padding: 3em 1.5em;
	max-width: 500px;
	margin: 0 auto;
}

.box.person h3 {
	margin: 0;
}

.box.person .image {
	margin-bottom: 1em;
}

.box.person .image img {
	max-width: 100%;
}

.image {
	border-radius: 0;
	border: 0;
	display: inline-block;
	position: relative;
}

.image img {
	border-radius: 0;
	display: block;
}

.image.left, .image.right {
	max-width: 40%;
}

.image.left img, .image.right img {
	width: 100%;
}

.image.round img {
	border-radius: 100%;
}


#header {
	color: #d4e0ef;
	height: 3.25em;
	left: 0;
	position: absolute;
	top: 2em;
	width: 100%;
	z-index: 10001;
	line-height: 3.25em;
}

#header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#nav {
	display: inline-flex;
	vertical-align: middle;
}

#header a {
	transition: all 0.2s ease-in-out;
	display: inline-block;
	padding: 0 0.75em;
	color: inherit;
	text-decoration: none;
	font-size: 1.3em;
}

#header a:hover {
	color: #ffffff;
	background-color: #FFF;
	color: #5385c1;
}

@media screen and (max-width: 980px) {
	#header a.navPanelToggle {
			display: inline-block;
	}
}

@media screen and (max-width: 736px) {
	#header a {
			padding: 0 0.5em;
	}
}

@media screen and (max-width: 980px) {
	#header {
			top: 3em;
			height: 44px;
			line-height: 44px;
	}
	.logo-image {
		width: 44px;
		height: 44px;
	}
}

@media screen and (max-width: 736px) {
	#header {
			top: 2em;
	}
}

@media screen and (max-width: 480px) {
	#header {
			top: 1em;
			min-width: 320px;
	}
}

@media screen and (max-width: 980px) {
	#nav {
			display: none;
	}
}

#banner {
	padding: 12em 0 10em 0;
	background-image: url(img/castle.jpg);
	background-size: cover;
	background-position: 0 -120px;
	background-attachment: fixed;
	background-repeat: no-repeat;
	text-align: center;
	border-top: 0.5em solid #5385c1;
}

#banner .background {
	display: inline-block;
	border-radius: 8px;
	box-shadow: 0 0 40px 40px rgb(0 0 0 / 25%);
	background-color: rgba(0, 0, 0, 0.25);
}

#banner h1 {
	font-size: 5em;
	font-weight: 100;
	color: #fff;
	line-height: 1em;
	margin: 0 0 0 0.5em;
	padding: 0;
}

#banner p {
	font-size: 1.5em;
	color: #fff;
	margin: 0;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
	#banner {
			background-attachment: scroll;
	}
}

@media screen and (max-width: 1280px) {
	#banner {
			padding: 10em 2em 8em 2em;
			background-position-x: 0;
			background-position-y: 0;
			background-size: contain;
	}
}

@media screen and (max-width: 980px) {
	#banner {
			background-attachment: scroll;
	}
}

@media screen and (max-width: 736px) {
	#banner {
			padding: 8em 1.5em 6em 1.5em;
	}

	#banner h1 {
			font-size: 2.5em;
	}

	#banner p {
			font-size: .9em;
	}
}
/*
@media screen and (max-width: 480px) {
	#banner {
			padding: 6em 1.5em 4em 1.5em;
	}
}
*/

#footer .inner {
	border-top: 1px solid #dbdbdb;
	padding-top: 3em;
}

#footer .fineprint {
	color: #bbb;
	font-size: 0.8em;
	margin: 0 0 2em 0;
	padding: 0;
}

#footer .fineprint a {
	color: #bbb;
	text-decoration: none;
}

#footer .fineprint a:hover {
	color: #bbb;
	text-decoration: underline;
}

#footer ul.icons li .icon {
	font-size: 0.58em;
}

@media screen and (max-width: 736px) {
	#footer .inner {
			padding-top: 2em;
	}

	#footer .fineprint {
			-ms-flex-order: 2;
			-moz-order: 2;
			-webkit-order: 2;
			-ms-order: 2;
			order: 2;
	}
}

