*, ::before, ::after {
	box-sizing: inherit;
}
body {
	margin:0px;
	max-width:100vw;
	background-color:#DDD;
}
.mainsite {
	max-width:1000px;
	margin: auto;
	background-color:#FFF;
}
.sitebar {
	background-color:#1b4c57;
	color:#FFF;
	padding-left:2em;
}
.sitebar h1 {
	display: inline-block;
	margin:0px;
	font-size:3em;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 800;
	animation: 2s 0s 1 slideIn;
	overflow:hidden;
}
.video_block {overflow:hidden;}
.video_block div {margin-top:-30%;margin-bottom: -2%;}
.video_block video{width:100%;height:auto;display:none;}
.video_block img{width:100%;height:auto;display:block;}

.pages{
	position:relative;
	display:flex;
	flex-flow: column;
}
.frontpage{
	position:relative;
	width:100%;
	background-color:#EAEAEA;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 400;
	padding-bottom: 1em;
	overflow: hidden;
}

.frontpage .banner {
	background-color:#1b4c57;;
	color:#FFF;
	padding:2%;
}
.frontpage .banner h1{
	margin:0px 0px 0px 2%;
	font-weight: 800;
}
.frontpage p{
	padding:4%;
	margin:0px;
	line-height: 1.2em;
	font-size: 1.1em;
}
.frontpage hr{
	border: 0; border-top: 3px solid #FA0;
	width:85%;
	margin:auto;
}
.frontpage .links{
	display:flex;
	flex-flow: column;
	justify-content:center;
	width:100%;
	margin-top: 1em;
	align-items: center;
}
.frontpage a{
	display:block;
	position:relative;
	width:60%;
	text-decoration:none;
	border:2px solid #1b4c57;
	font-weight: 800;
	text-align:center;
	color:#1b4c57;
	background-color:#FFF;
	padding-top: .5em;
	padding-bottom: .5em;
	margin: .5em;
	z-index:2;
	transition: 300ms;
}
.frontpage a::after {
	content: "";
	border-style: solid;
	border-width: 6px 0 6px 7px;
	border-color: transparent transparent transparent #FA0;
	position: relative;
	display: inline-block;
	right: -7px;
}
.frontpage a:hover {
	background-color:#1b4c57;
	color:#FFF;
}
	
.sidepage {
	display: table;
	background-color:#1b4c57;
	color:#FFF;
	width:calc(100% - 3em);
	padding:1.5em;
	position:relative;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 400;
}
.sidepage h2{
	margin:0px;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 400;
}
.sidepage p{
	line-height: 1.2em;
	font-size: 1em;
}
.sidepage a{
	color:#FFF;
	text-decoration:none;
	border:2px solid #FFF;
	font-weight: 800;
	padding: .5em 2em;
	float: right;
	transition: 300ms;
}
.sidepage a:hover {
	color:#1b4c57;
	background-color:#FFF;
}
.small_paragraph {
	width:100%;
	height: 7em;
	border-top:1em solid #DDD;
	border-bottom:1em solid #DDD;
	background-image:url("../images/small_paragraph.svg");
	background-repeat:no-repeat;
	background-size:contain;
	position:relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.small_paragraph p {
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	font-weight: 400;
	text-align:center;
	padding: 0em .75em 0em 8.75em;
}
.small_paragraph i {
	font-size:3em;
	color:#FFF;
	position:absolute;
	top: calc(1.25em / 2);
	left: calc(1.25em / 2);
}
.section {
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	text-align:center;
}
.section h3{
	margin:1em;
	font-size:2.3em;
	font-weight: 100;
	color:#1b4c57;
}
.section p{
	padding:0px 3em;
	margin:0px;
	font-size:1.2em;
	line-height:1.4em;
}
.bg_photo{
	background-attachment:fixed;
	background-position: 50% 50%;
}
.bg_photo p{
	background-color:#1b4c57BB;
	padding:2em 3em;
	line-height:1.6em;
	color:#FFF;
}
.services {
	display:flex;
	justify-content: space-evenly;
	padding-top:2em;
	padding-bottom:2em;
	flex-direction: column;
	align-items: center;
}
.services div{
	margin:1em 0em;
	position:relative;
	width: calc(80% - 2em);
	border: 2px solid #1b4c57;
	text-align: center;
	padding:1em 1em 3.5em 1em;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	color: #1b4c57;
}
.services div i{
	font-size: 3em;
	padding: .3em;
	border: 2px solid #1b4c57;
	border-radius: 50%;
	color: #1b4c57;
}
.services div a {
	color:#1b4c57;
	text-decoration:none;
	border:2px solid #1b4c57;
	font-weight: 800;
	padding: .5em 0em;
	position: absolute;
	bottom: 1em;
	display: block;
	width: 70%;
	left: 15%;
	transition: 300ms;
}
.services div a:hover {
	background-color:#1b4c57;
	color:#FFF;
}
.footer {
	background-color: #1b4c57;
	color:#FFF;
	font-family: 'Open Sans', sans-serif;
	text-rendering: optimizeLegibility;
	display: flex;
	padding: .5em 1em;
	flex-flow: column-reverse;
	text-align: center;
}
.footer_text{font-size:1.3em;}
.footer_links a{
	color:#FFF;
	text-decoration:none;
	font-size:1.75em;
	margin:.5em;
}
.bgi{
	position: absolute;
	opacity: 0.15;
	color: #000;
	font-size: 16em;
	bottom: -0.25em;
	right: -0.25em;
}
@keyframes slideIn{
  0% {
	transform: translateX(4em);
	opacity:0;
  }
  100% {
	transform: translateX(0px);
	opacity:1;
  }
}
@media only screen and (min-width: 600px){
	.small_paragraph {height:6em;}
	.small_paragraph p {padding:0em 7.5em;}
	.small_paragraph i {top:calc(1.5em / 3);left:calc(1.5em / 3);}
}
@media only screen and (min-width: 700px){
	.small_paragraph {height:5em;}
	.small_paragraph p {padding:0em 6.25em;}
	.small_paragraph i {top:calc(1em / 3);left:calc(1em / 3);}
}
@media only screen and (orientation: landscape) and (min-width: 1000px) {
	.video_block video{display:block;}
	.video_block img{display:none;}
	.pages{flex-flow: row;justify-content: space-evenly;}
	.frontpage{width:50%;top:-50px;padding-bottom: 0em;}
	.frontpage .links{margin-top: 3em;flex-flow: row;justify-content:center;}
	.frontpage a{width:40%;margin: 0px 1%;}
	.sidepage {width:23%;top:-100px;padding:2%;}
	.services {flex-direction: row;align-items: initial;}
	.services div{width: calc(20% - 2em);}
	.section p{padding:0px 5em;}
	.bg_photo p{padding:5em 7em;}
	.section h3{font-size:3.5em;}
	.small_paragraph {height:5em;}
	.small_paragraph i {top:calc(1em / 3);left:calc(1em / 3);}
	.small_paragraph p {padding:0em 6em;}
	.footer a{font-size:1.2em;}
	.footer {justify-content: space-between;flex-flow: row;}
	.footer_links a{font-size:1.3em;margin:.25em;}
	.footer_text {font-size:1.2em;}
}
