*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

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

body{
	font-family: 'Merriweather', Georgia, serif;
	font-size: 16px;
	background-color: #fafafa;
	/* background-color: #c79b94; */
}

.wrapper{
	max-width: 980px;
	margin: auto;
}

header{
	min-height: 110px;
	background: url(../img/header_small.jpg) no-repeat center/auto 100%;
}

.headerlogo{
	display: none;
}

h1 {
	line-height: 1;
	text-align: center;
	padding: .6em 0;
}

h1 a{
	color: black;
	font-size: .7em;
	font-weight: normal;
	text-decoration: none;
}

.h1pre {
	display: block;
	font-size: .8em;
}

.line{
	display: block;
	position: relative;
	height: 1px;
	width: 10em;
	margin: .3em auto 0;
	background-color: black;
}

.h1sub{
	display: block;
	font-size: .6em;
	line-height: 1.2;
	margin-top: .3em;
}

nav, footer{
	background-color: #bfd0ff;
	overflow: hidden;
}

nav{
	text-align: right;
	border-bottom: 0;
}

footer{
	text-align: center;
	font-size: .9em;
	padding: 1em 0 .8em;
	border-top: 0;
}

nav ul{
	list-style-type: none;
	transition: height .5s ease-in-out;
}

nav li{
	border-bottom: 1px solid lightgray;
	transition: line-height .2s ease-in-out;
}

.navbutton{
	position: relative;
	text-align: right;
}

/* .navbutton a{
	padding-right: 3em;
} */

.navbutton a:after{
	content: "";
	display: block;
	position: absolute;
	top: .18em;
	right: .5em;
	width: 2em;
	height: 2em;
	background: url("../img/navbutton.png") no-repeat center;
}

nav ul li:not(.navbutton){
	position: absolute;
	left: -999px;
	top: -999px;
	line-height: 0;
}

nav ul:target li:not(.navbutton){
	position: static;
	line-height: 1.25;
}

nav a{
	display: block;
	color: black;
	text-decoration: none;
	padding: .6em 3em;
}

.selected{
	color: white;
	background-color: #55a;
}

nav a:active{
	color: white;
	background-color: #55a;
}

main{
	font-size: 1.1em;
	background-color: #eff5ff;
	padding: 1em;
	/* border: 2px solid white; */
	border-top: 0;
}

h2{
	margin-bottom: .5em;
}

h2:not(:first-child){
	margin-top: 2em;
}

h3{
	margin-bottom: .5em;
}

p + h3, ul + h3{
	margin-top: 1.4em;
}

main p{
	line-height: 1.8;
	margin-bottom: 1em;
}

main a, footer a{
	color: #037;
	text-decoration: none;
	border-bottom: 1px solid #037;
}

main a:active, footer a:active{
	color: #aaf;
	border-bottom: 1px solid #aaf;
}

main ul{
	line-height: 1.5;
	padding-left: 1em;
	margin-bottom: 1.2em;
}

main li{
	margin-bottom: .5em;
}

main li ul{
	margin-bottom: 0;
}

main li li{
	margin-bottom: 0;
}

p + ul{
	margin-top: -.8em;
}

.cave {
	line-height: 1.6;
	border: 3px solid red;
	border-radius: 5px;
	padding: .7em .9em;
	margin: 1em;
}

.cave span {
	display: inline-block;
	font-weight: bold;
}

.start ol {
	padding-left: 1.2em;
}

.start ul li {
	font-weight: normal;
}

.border-red {
	line-height: 1.6;
	border: 3px solid red;
	border-radius: 5px;
	padding: 1em 1em 0;
	margin-bottom: 1em;
}

.border-blue {
	line-height: 1.6;
	border: 3px solid #5555aa;
	border-radius: 5px;
	padding: 1em 1em 0;
	margin-bottom: 1em;
	background: #fffdb0;
}

.third{
	max-width: 360px;
	margin: 1.6em auto;
}

.underline{
	text-decoration: underline;
}

.imgsub{
	font-size: .7em;
	font-style: italic;
	letter-spacing: .05em;
	margin: -.4em 0 .5em;
}

.center{
	text-align: center;
}

.table {
	display: table;
	position: relative;
	margin: auto;
	/* margin-bottom: 3em; */
	border-spacing: .3em;
}

.table-row {
	display: table-row;
}

.table-cell {
	display: table-cell;
}

.table-tail {
	position: absolute;
}

.smallertxt{
	font-size: .8em;
}

.txtimg{
	max-width: 240px;
	margin: auto;
	padding-bottom: 1em;
}

.fullwidth{
	width: 100%;
}

.space-top{
	margin-top: 2em;
}

address{
	font-style: normal;
}

address span{
	font-size: 1.1em;
	font-weight: bold;
}

.navapp{
	margin-bottom: 1em;
	border: 1px solid black;
	background-color: #e5e5e5;
}

.navapp a{
	display: inline-block;
	font-size: .9em;
	border: none;
	padding: 1em;
}

.navapp a:before{
	content: "";
	display: inline-block;
	float: left;
	width: 48px;
	height: 38px;
	background: url("../img/navapp_300.png") no-repeat left top/80%;
}

.map{
	position: relative;
	padding-bottom: 56.25%;
	margin: -1em auto 1.5em;
	width: 100%;
	overflow: hidden;
}

.map p{
	margin: 0;
}

.map iframe {
	position: absolute;
	height: 100%;
	width: 100%;
	background-color: #e5e5e5;
	border: 1px solid black;
}

@media screen and (min-width: 380px){
header{
	min-height: 160px;
}

h1{
	padding: .8em 0;
}

.headerlogo{
	display: inherit;
	position: absolute;
	height: 4.5em;
	top: -2.3em;
	left: -2.2em;
}

.welcome-img {
	max-width: 80%;
	margin: auto;
}
}

@media screen and (min-width: 480px){
h1 a{
	font-size: .9em;
}

.h1pre {
	margin-bottom: .2em;
}

.txtimg{
	float: left;
	width: 35%;
	padding: .4em 2.2em 1em 0;
}

.clearfix{
	clear: both;
}
}

@media screen and (min-width: 540px){
.welcome-img {
	max-width: 60%;
}

.third{
	float: right;
	width: 35%;
	max-width: 320px;
	margin: 0 0 0 2em;
}

.space-top{
	margin-top: 3em;
}

.map{
	float: left;
	width: 60%;
}

.navapp{
	float: right;
	width: 36%;
	margin-top: -1em;
}
}

@media screen and (min-width: 720px){
.welcome-img {
	float: left;
	max-width: 32%;
}

.welcome-txt {
	float: right;
	max-width: 65%;
}

.map{
	width: 70%;
}

.navapp{
	width: 26%;
}
}

@media screen and (min-width: 768px){
header{
	min-height: 200px;
	background: url("../img/header_large.jpg") no-repeat center;
}

h1 a{
	font-size: 1em;
}

nav ul{
	text-align: justify;
	padding: 0 .5em;
}

nav ul:after{
	content: "";
	display: inline-block;
	width: 100%;
}

nav li{
	display: inline-block;
	text-align: center;
	border-bottom: none;
	vertical-align: middle;
}

.navbutton{
	display: none;
}

nav ul li:not(.navbutton){
	position: static;
	line-height: 1.4;
}

nav a{
	/* font-size: .9em; */
	padding: 99px .5em;
	margin: -90px 0 -110px;
}

nav li:last-child a{
	border: none;
}

nav a:hover{
	color: white;
	background-color: #55a;
}

nav a:active{
	background-color: #55a;
}

nav span{
	display: block;
}

main{
	font-size: 1.2em;
	padding: 2em 2em 1em;
	/* border-top: 2px solid white; */
}

main a:hover, footer a:hover{
	color: #08b;
	border-bottom: 1px solid #08b;
}

main a:active, footer a:active{
	color: aaf;
	border-bottom: 1px solid #aaf;
}
}

@media screen and (min-width: 880px){
nav a{
	padding-left: 1em;
	padding-right: 1em;
}
}

@media screen and (min-width: 980px){
nav a{
	/* font-size: 1em; */
}
}
