/* latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-UFVZ0bf8pkAg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

html {
	scroll-behavior: smooth;
}

html * {
	margin: 0;
	box-sizing: border-box;
	font-family: 'Open Sans', sans-serif;

}

h2 {
	margin: 1.5em 0 1em 0;
	color: #008080;
}

h1 {
	font-size: 2em;
}

body {
	background-color: #f2f2f2;
}

::-webkit-scrollbar {
display: none;
}

a {
	text-decoration: none;
	color: #008080;
}

ul, ol {
	padding-left: 20px;
}

li {
	margin: 0 0 0.5em 0;
}

footer {
	border-top: 1px solid #008080;
	font-size: 0.8em;
	padding: 1em;
	line-height: 1.5em;
	width: 100%;
}



.page-container {
	height: 100%;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	align-items: center;

}

.page-container > * {
	max-width: 36rem;
}

.header-wrapper {
	background-color: #008080;
	width: 100vw;
	height: 3.5rem;
	min-height: 3.5rem;
	max-width: 100%;
	color: white;

}

.header {
	height: 100%;
	width: 100%;
	max-width: 36rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 1em;
	margin: 0 auto;
}

.nav {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.nav p {
	margin-bottom: 2px;
}

a .nav {
	color: white;
}

.menu-link {
	margin: 1em 0 1em 0;
	padding: 0.5em;
	text-align: center;
	display: inline-block;
	width: 100%;
	border: 1px solid LightGrey;
	border-radius: 2px;
	background-color: white;
}

.map-container a {
	width: 100%;
}

.arrow {
	border: solid white;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 4px;
}

.large-icon {
	border-width: 0 4px 4px 0;
	padding: 5px;
	color: black;
}

.right {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.left {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  margin: 0.6rem 0.8rem 1.1rem 0.8rem
}
.up {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  margin: 1.1rem 0.8rem 0.6rem 0.8rem;
}

.page-content {
	flex: auto;

	width: 100%;
	max-width: 36rem;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;

	padding: 0.5em 1.8em 0em 1.8em;
}

.gallery {
	width: 100%;
	height: 14em;
	min-height: calc(var(--vh, 1vh) * 35);;
	touch-action: none;
}

.gallery img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.audio-player {
	flex: none;

	background-color: #e5e5e5;
	width: 100%;
	height: 4em;

	display: flex;
	justify-content: center;
	align-items: center;
}

.full-container {
	width: 100vw;
}

.full-image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
	background-size: cover;
	background-position: center;
}

.teaser-text {
	color: white;
	margin: 0;
}



.scroll-indicator {
	width: 100%;
	margin: 2rem auto 0 auto;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.scroll-indicator p {
	text-align: center;
	font-size: 0.8em;
	cursor: pointer;
	color: white;
}

.segment {
/*	width: 100vw;*/
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 2rem 1.8em 0 1.8em;
}

.segment * {
	max-width: 42rem;
}

.small {
	padding: 0.6rem 0.4rem;
}

.center {
	text-align: center;
}

.vertical-list {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	width: 100%;
}

.text-gradient {
	margin-top: auto;
	width: 100%;
	height: 50%;
	background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	padding: 1rem 1.8rem;
}

#mapDiv {
	width: 100vw;
	height: 100%;

}

#map-container {
	padding: 0;
	color: white;
	background-color: #008080;
	display: none;
	position: fixed;
	top: 0;
	height: 100vh;
	width: 100vw;
	grid-template-rows: 3.5rem auto;
}

#map-popup {
	position: fixed;
	z-index: 4000;
	display: flex;
	align-items: center;
	justify-content: center;

	top: 35%;
	left: 10%;
	width: 80%;
	height: 4em;
	padding: 1em;

	background-color: rgba(229,229,229, 0.8);
	color: #5c5c5c;

	transition: opacity 600ms, visibility 600ms;
}


















