@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lobster+Two&display=swap');
@import url('https://cdn.jsdelivr.net/npm/remixicon@4.5.0/fonts/remixicon.css');
@import url('/site/templates/assets/fonts/Bryan/bryan.css');

:root {
	--color-dark: #000;
	--color-light: #f5f5f5;
	--color-yellow: #ffe020;
	--color-hero: #edede9;
	--color-light-hero: #c0c0c0;
	--color-tags: #a0a0a0;
	--color-light-border: #e0e0e0;
	--color-alert: #da627d;
	--max-width: 1280px;
	--line-height: 1.4;
}

html, body {
  height: 100%;
}
body {
	display: flex;
	flex-direction: column;
	background-color: #fff;
	margin: 0;
	padding: 0;
	color: #000;
	font-family: Rubik, Roboto, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: var(--line-height);
}
*,
*::before,
*::after {
	box-sizing: border-box;
}

/*----- logo -----*/

div.logo {
	flex-grow: 1;
}
a.logo {
	display: block;
	border: none;
	width: 148.5px;
}
a.logo:hover {
	border: none;
}
div.logo img {
	width: auto;
	height: 90px;
}

/*----- subnav -----*/

div.subnav {
	display: flex;
	align-items: center;
	gap: 2rem;
	margin: 0 3rem;
	border-bottom: 1px solid #e0e0e0;
	height: 3rem;
}
div.subnav h2 {
	flex-grow: 1;
	margin: 0;
	font-size: .9rem;
	font-weight: 300;
}
div.subnav div.icons {
	display: flex;
	gap: 1rem;
	align-items: center;
}

/*----- main menu -----*/

nav {
	display: flex;
	align-items: end;
	gap: 2rem;
	padding: 1rem 3rem;
}
nav ul {
	list-style: none;
	display: flex;
	align-items: center;
	gap: 2rem;
	margin: 0;
	padding: 0;
}
nav ul li {
	position: relative;
	display: flex;
	align-items: center;
	line-height: 1;
}
nav ul li.active a {
	font-weight: 500;
}
nav ul li.active ul li a {
	font-weight: 300;
}
nav div.menu {
	display: none;
	position: absolute;
	top: 1.5rem;
	left: 50%;
	transform: translate(-50%);
	padding-top: 1rem;
	z-index: 1;
}
nav ul ul {
	display: block;
	list-style: none;
	background-color: #000;
	margin: 0;
	padding: 1rem 1.5rem;
	border-radius: .35rem;
	width: max-content;
}
nav ul ul::before {
	position: absolute;
	top: 11px;
	left: 50%;
	transform: translate(-50%);
	content: '';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid #000;
}
nav ul ul li {
	display: block;
	padding: .35rem 0;
	color: #fff;
	font-size: .9rem;
	font-weight: 300;
}
nav ul ul li a,
nav ul ul li a:hover {
	color: #fff;
}
nav ul li.active ul li.active a {
	font-weight: 500;
}
nav ul li:hover div.menu {
	display: block;
}
nav ul.drawer {
	display: none;
}

/*----- language switch -----*/

div.lang {
	position: relative;
}
div.lang div {
	display: none;
	position: absolute;
	top: 1.5rem;
	left: 50%;
	transform: translate(-50%);
	padding-top: 1rem;
	z-index: 1;
}
div.lang div ul {
	display: block;
	list-style: none;
	background-color: #000;
	margin: 0;
	padding: 1rem 1.5rem;
	border-radius: .35rem;
	width: max-content;
}
div.lang div ul::before {
	position: absolute;
	top: 11px;
	left: 50%;
	transform: translate(-50%);
	content: '';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid #000;
}
div.lang li a, div.lang li a:hover {
	color: #fff;
	font-size: .9rem;
	font-weight: 400;
	text-decoration: none;
}

/*----- boxes -----*/

header {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	background-image: url('/site/templates/assets/images/cover.jpg');
	background-position: center center -2rem;
	background-size: cover;
	background-repeat: no-repeat;
	margin: 0 auto;
	padding: 4rem 0 0;
	width: 100%;
}
div.container {
	flex: 1 0 auto;
}
div.content {
	display: flex;
	gap: 6rem;
	margin: 0 auto;
	padding: 4rem 3rem 5rem;
	max-width: var(--max-width);
}
body#home div.content {
	max-width: unset;
}
div.map {
	position: relative;
	background-color: var(--color-light);
	padding: 0;
	height: calc(100vh);
}
body#track div.map,
body#mtb div.map {
	background-color: var(--color-light);
	margin: 2rem 0;
	padding: 0;
	width: 100%;
	height: 500px;
}
body#mtb div.map {
	height: 700px;
}
article {
	width: 70%;
}
aside {
	padding-top: 5rem;
	width: 30%;
}
.sticky {
	position: sticky;
	top: 3rem;
}

/*----- hero -----*/

div.hero {
	display: flex;
	flex-direction: column;
	position: relative;
	background-color: var(--color-hero);
	min-height: calc(100vh - 90px - 2rem - 3rem);
}
div.hero h1 {
	margin: 0 0 2rem 0;
	color: #fff;
	font-family: 'Bryan', 'Lobster Two', sans-serif;
	font-size: 4.6rem;
	line-height: .9;
	text-align: center;
}
div.hero h2 {
	margin: 0;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 300;
	text-align: center;
}

/*----- home blog ----*/

body#blog h1 span {
	// color: var(--color-tags);
	font-size: 1.6rem;
	font-weight: 300;
}
div.blog {
	display: flex;
	margin: 0 auto;
	padding: 0 3rem 5rem;
	max-width: var(--max-width);
}
div.blog h3, div.blog h3 a {
	margin: 0 0 .5rem 0;
	font-size: .9rem;
	font-weight: 500;
}
div.blog div.alert h3, div.blog div.alert h3 a {
	color: var(--color-alert);
}
div.blog > div {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: .5rem 1.5rem;
	border-left: 1px solid var(--color-light-hero);
	width: 25%;
}
div.blog > div:last-child {
	border-right: 1px solid var(--color-light-hero);
}
div.blog > div.alert {
	border-left: 1px solid var(--color-alert);
}
div.blog > div.alert + div {
	border-left: 1px solid var(--color-alert);
}
div.blog p {
	margin: 0;
	font-size: .8rem;
}
div.blog p.text {
	color: #000;
	flex-grow: 1;
}
div.blog .alert {
	color: var(--color-alert);
}
div.blog p.date {
	margin-top: .35rem;
	font-weight: 400;
	text-align: right;
}
div.blog div.icon {
	position: absolute;
	left: 1.5rem;
	bottom: -.35rem;
}
div.blog figure {
	margin: -.5rem 0 1rem;	
}
body#blog div.content,
body#gallery div.content {
	display: block;
}
body#home div.blog {
	padding: 1.5rem 3rem 5rem;
}
body#blog div.blog {
	flex-wrap: wrap;
	gap: 2rem 0;
	padding: 0;
}
body#blog div.blog > div:nth-child(4n) {
	border-right: 1px solid var(--color-light-hero);
}
div.gallery {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 1rem;
	margin: 1.2rem 0;
	width: 100%;
}
div.gallery div {
}
div.gallery div img {
	border-radius: .35rem;
	width: 100%;
	transition: transform .3s;
}
div.gallery div:hover img {
	transform: scale(1.035);
}

/*----- home talks ----*/

body#talks h1 span {
	// color: var(--color-tags);
	font-size: 1.6rem;
	font-weight: 300;
}

div.talks {
	display: flex;
	margin: 0 auto;
	padding: 0 3rem 5rem;
	max-width: var(--max-width);
}
div.talks h3, div.talks h3 a {
	margin: 0 0 .5rem 0;
	font-size: .9rem;
	font-weight: 500;
}
div.talks div.alert h3, div.talks div.alert h3 a {
	color: var(--color-alert);
}
div.talks > div {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: .5rem 1.5rem;
	border-left: 1px solid var(--color-light-hero);
	width: 25%;
}
div.talks > div:last-child {
	border-right: 1px solid var(--color-light-hero);
}
div.talks > div.alert {
	border-left: 1px solid var(--color-alert);
}
div.talks > div.alert + div {
	border-left: 1px solid var(--color-alert);
}
div.talks p {
	margin: 0;
	font-size: .8rem;
}
div.talks p.text {
	color: #000;
	flex-grow: 1;
}
div.talks .alert {
	color: var(--color-alert);
}
div.talks p.date {
	margin-top: .35rem;
	font-weight: 400;
	text-align: right;
}
div.talks div.icon {
	position: absolute;
	left: 1.5rem;
	bottom: .35rem;
}
div.talks div.icon i {
	font-size: 1rem;
}
div.talks figure {
	margin: -.5rem 0 1rem;	
}
body#talks div.content,
body#gallery div.content {
	display: block;
}
body#talks div.talks {
	flex-wrap: wrap;
	gap: 2rem 0;
	padding: 0;
}
body#talks div.talks > div:nth-child(4n) {
	border-right: 1px solid var(--color-light-hero);
}

/*----- footer -----*/

footer {
	position: relative;
	flex-shrink: 0;
	display: flex;
	background-color: #000;
	padding: 3rem 3rem 5rem;
}
footer h4 {
	margin: 1rem 0 .5rem 0;
	color: #fff;
	font-size: .8rem;
	font-weight: 600;
}
footer p {
	margin: 0 0 .5rem 0;
	color: #fff;
	font-size: .8rem;
	font-weight: 300;
}
footer a {
	color: #fff;
}
footer a:hover {
	border-bottom: 1px solid #fff;
	color: #fff;
}
footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer li {
	color: #fff;
	font-size: .9rem;
	font-weight: 300;
	line-height: 1.8;
}
footer div.info {
	padding-right: 2rem;
	border-right: 1px solid #666;
	width: 37.5%;
}
footer div.icons {
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
	color: #fff;	
}
footer div.menu {
	padding: 0 2rem;
	border-right: 1px solid #666;
	width: 25%;
}
footer  div.menu a:hover {
	border: none;
}
footer div.menu li.active a {
	font-weight: 500;
}
footer div.colophon {
	display: flex;
	flex-direction: row;
	gap: 3rem;
	padding-left: 2rem;
	border: none;
	width: 37.5%;
}
footer div.colophon img {
	display: inline-block;
	margin: 1rem 0 .5rem;
	height: 60px;
	cursor: pointer;
}
footer div.colophon div:last-child {
	text-align: center;
}

/*----- typography & co. -----*/

/*
h1 {
	margin: 0 0 2.5rem 0;
	font-family: 'Bryan', sans-serif;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.2;
}
*/
h1 {
	margin: 0 0 2.5rem 0;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.2;
}
.alert {
	color: var(--color-alert);
}
h2 {
	margin: 2.5rem 0 1.2rem;
	font-size: 1.6rem;
	font-weight: 500;
}
h3 {
	margin: 2rem 0 1.2rem;
	font-size: 1.2rem;
	font-weight: 500;
}
h4 {
	margin: 1.5rem 0 1.2rem;
	font-size: 1rem;
	font-weight: 500;
}
p {
	margin: 1.2rem 0;
	font-weight: 300;
}
article p {
	line-height: var(--line-height);
}
article li {
	margin: 0;
	padding-bottom: .35rem;
}
article p.date {
	margin: 2rem 0 1.2rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--color-light-border);
	font-size: .9rem;
	font-weight: 400;
	text-align: right;
}
div.excerpt p {
	margin: 0 0 2.4rem;
	font-size: 1.2rem;
	font-weight: 400;
}
blockquote {
	background-color: var(--color-light);
	margin: 1.2rem 0 1.2rem 0;
	padding: 1.5rem 1.5rem .3rem 1.5rem;
	border-left: 1px solid #000;
	border-radius: .35rem;
}
blockquote p {
	margin: 0;
	padding: 0 0 1.2rem 0;
	font-style: italic;
	font-weight: 400;
	line-height: 1.5;
}
a {
	border: none;
	color: #000;
	font-weight: 400;
	text-decoration: none;
	outline: none;
}
a:hover {
	border: none;
	color: #000;
	text-decoration: none;
	outline: none;
}
.content p a {
	border-bottom: 2px solid var(--color-yellow);
}
.content p a:hover {
	border-bottom: 2px solid #000;
}
b, strong {
	font-weight: 500;
}
li {
	font-weight: 300;
	line-height: 1.4;
}
.content li a {
	border-bottom: 2px solid var(--color-yellow);
}
.content li a:hover {
	border-bottom: 2px solid #000;
}
aside h4 {
	margin-top: 2rem;
}
aside h4:first-child {
	margin-top: 0;
}
aside ul {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}
aside li {
	margin: 0;
	padding: 0;
	font-size: .9rem;
	line-height: 1.4;
}
aside li a {
	border-bottom: 2px solid var(--color-yellow);
}
aside li a:hover {
	border-bottom: 2px solid #000;
}
ul.tags {
	display: flex;
	flex-direction: unset;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}
ul.tags li {
	display: inline-block;
	background-color: var(--color-light);
	padding: .5rem 1rem;
	border-radius: .25rem;
	font-size: .8rem;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
}
ul.tags li.active,
ul.tags li:hover {
	background-color: #000;
	border: none;
	color: #fff;
}
ul.tags li.icon,
ul.tags li.icon:hover {
	background: none;
	padding: 0;
	margin: 0;
	border-radius: unset;
	color: #000;
}
div.tags {
	margin: 3rem 0;
	width: 100%;
}
div.tags ul.tags {
	padding: 0;
}
img {
	display: block;
	border: none;
}
figure {
	margin: 2rem 0;
}
figure.full {
	margin: 1.5rem -3rem 2rem;
}
figure img {
	margin: 0 auto;
	border-radius: .35rem;
	max-width: 100%;
	transition: transform .3s;
}
figure img:hover {
	transform: scale(1.025);
}
figcaption {
	margin: 1rem 0 0;
	color: #666;
	font-size: .8rem;
	font-weight: 400;
	font-style: italic;
	text-align: right;
}
audio {
	margin: .3rem 0 1.5rem 0;
	width: 50%;
}

/*----- video -----*/

div.video {
	position: relative;
	margin: 1rem 0 2rem;
	width: 100%;
	overflow: hidden;
}
div.video iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
}
iframe {
	margin: 0;
	border: none;
	width: 100%;
	/* min-height: 500px; */
}

/*----- cards -----*/

div.card {
	display: flex;
	align-items: start;
	gap: 2rem;
	background-color: var(--color-light);
	margin: 1.5rem 0;
	padding: 1.5rem;
	border-left: 1px solid #000;
	border-radius: .35rem;
}
div.card figure {
	margin: 0;
}
div.card figure img {
	width: 150px;
	max-width: unset;
}
div.card p {
	margin: 0 0 1.2rem 0;
}

/*----- icons -----*/

[class*='ri-'] {
	font-size: 24px;
	cursor: pointer;
}
button.icon {
	display: flex;
	gap: .5rem;
	align-items: center;
	border: none;
	border-radius: 9999px;
	padding: 0 2rem;
	height: 2rem;
	color: #000;
	font-family: Rubik, Roboto, sans-serif;
	font-size: .9rem;
	cursor: pointer;	
}
button.gps {
	background-color: var(--color-yellow);
	color: #000;
}
button.to_map {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	translate: -50% 0;
	background-color: #fff;
}
button.to_bottom,
button.to_top {
	position: absolute;
	left: 50%;
	top: -3rem;
	translate: -50% 0;
	background-color: #fff;
}
button.gps span,
button.to_map span,
button.to_bottom span,
button.to_top span {
	font-weight: 500;
}
button.gps:hover,
button.to_map:hover,
button.to_bottom:hover,
button.to_top:hover {
	background-color: #000;
	color: #fff;
}
button.to_top {
	display: none;
}

/*----- table -----*/

table {
	margin: 1.5rem 0;
	padding: 0;
	border-collapse: collapse;
	border-top: 1px solid var(--color-light-border);
	width: 100%;
}
th, td {
	padding: .5rem;
	border-bottom: 1px solid var(--color-light-border);
	font-weight: 300;
	text-align: left;
	vertical-align: top;
}
th {
	font-weight: 400;
}
tr:hover th, 
tr:hover td {
	background-color: var(--color-light);
}
table.data td {
	font-weight: 400;
}

/*----- mapbox -----*/

div#map {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
}
#menu {
	position: absolute;
	left: .75rem;
	top: .5rem;
	display: flex;
	gap: .5rem;
	justify-content: left;
	align-items: center;
	background-color: #fff;
	padding: 0 1.5rem 0 1rem;
	border-radius: 9999px;
	height: 2rem;
	font-family: Rubik, Roboto, sans-serif;
	font-size: .9rem;
}
#menu input,
#menu label {
	cursor: pointer;
}
#menu div:last-child i {
	font-size: 18px;
}
#menu div:last-child {
	position: relative;
}
#menu div.help {
	display: none;
	position: absolute;
	top: 2.5rem;
	left: 50%;
	transform: translate(-50%);
	background-color: #000;
	border-radius: .35rem;
	padding: 1.5rem 1.5rem 1rem;
	width: 200px;
	min-height: 100px;
}
#menu div.help p {
	margin: 0 0 .5rem 0;
	color: #fff;
	font-size: .8rem;
}
#menu div.help::before {
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translate(-50%);
	content: '';
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid #000;
}
.marker-start {
	background-image: url('/site/templates/assets/images/map-pin-2-fill.svg');
	background-size: cover;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
.marker-end {
	background-image: url('/site/templates/assets/images/map-pin-2-line.svg');
	background-size: cover;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
.marker-alert {
	background-image: url('/site/templates/assets/images/alert-line.svg');
	background-size: cover;
	margin: 0;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
.mapboxgl-popup {
	max-width: 200px;
}
.mapboxgl-popup-content {
	padding: 1.25rem 1rem;
	border-radius: .35rem;
	text-align: left;
	font-family: Rubik, Roboto, sans-serif;
}
.mapboxgl-popup-content h3 {
	margin: 0;
	font-size: .9rem;
	font-weight: 400;
	line-height: 1.2;
}
.mapboxgl-popup-content p {
	margin: .5rem 0 0;
	font-size: .8rem;
	font-weight: 300;
	line-height: 1.2;
}

/*----- FAQ -----*/

.accordion h4 {
	flex-grow: 1;
	margin: 0;
	font-weight: 400;
}
.accordion p {
	margin: 0 0 1.2rem 0;
}
.accordion .num {
	font-weight: 500;
}
.accordion_item {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	background-color: var(--color-light);
	margin: 0 0 1.2rem 0;
	padding: 1rem 1.5rem;
	border-left: 1px solid #000;
	border-radius: .35rem;
	width: 100%;
	transition: 0.5s;
	cursor: pointer;
}
.accordion_panel {
	background-color: #fff;
	margin: 0;
	padding: 0 1.5rem;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.35s ease-out;
}
.active + .accordion_panel {
	padding: 0 1.5rem .35rem;
}
.ri-expand-vertical-line,
.ri-collapse-vertical-line {
	color: var(--color-light-hero);
}
.ri-collapse-vertical-line {
	display: none;
}
.active .ri-expand-vertical-line {
	display: none;
}
.active .ri-collapse-vertical-line {
	display: block;
}

/*----- FormBuilder -----*/

div.FormBuilderErrors {
	display: none;
}
div.FormBuilder {
	background-color: var(--color-light);
	margin: 1.5rem 0;
	padding: 1.5rem;
	border-left: 1px solid #000;
	border-radius: .35rem;
}
div.FormBuilder label {
	font-size: .9rem;
}
div.Inputfield {
	position: relative;	
}
div.InputfieldContent {
	margin-top: .35rem;
}
div.InputfieldSubmit {
	margin-bottom: .5rem !important;
}
p.uk-text-danger {
	position: absolute;
	top: .25rem;
	right: 0;
	margin: 0;
	color: #e00;
	font-size: .8rem;
	font-weight: 400;
}
p.uk-text-muted {
	margin: -.5rem 0 .5rem 0;
	padding: 0;
	font-size: .9rem;
	font-weight: 300;
}
input[type=text],
input[type=number],
input[type=email],
input[type=date],
select {
	padding: .5rem;
	border: none;
	border-radius: .15rem;
	font-size: .9rem;
}
div.Inputfield_age input {
	width: 100%;
}
button.uk-button {
	display: flex;
	gap: .5rem;
	align-items: center;
	background-color: var(--color-yellow);
	border: none;
	border-radius: 9999px;
	padding: 0 2rem;
	height: 2rem;
	color: #000;
	font-family: Rubik, Roboto, sans-serif;
	font-size: .9rem;
	font-weight: 500;
	cursor: pointer;	
}
button.uk-button:hover {
	background-color: #000;
	color: #fff;
}
div.Inputfield_privacy p.uk-text-small {
	margin-top: .5rem;
	font-size: .9;
	font-weight: 300;
}

/*----- pagination -----*/

div.pagination {
	margin: 2rem 0 1.2rem;
	padding-top: 1.2rem;
	// border-top: 1px solid var(--color-light-border);
}
div.pagination ul {
	list-style: none;
	display: flex;
	gap: .5rem;
	margin: 0;
	padding: 0;
}
div.pagination li {
	background-color: var(--color-light);
	border-radius: .25rem;
	cursor: pointer;
}
div.pagination li:hover {
	background-color: #000;
}
div.pagination li a {
	display: inline-block;
	padding: .5rem 1rem;
	border: none;
	font-size: .8rem;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}
div.pagination li:hover a {
	border: none;
	color: #fff;
	text-decoration: none;
}
div.pagination li.MarkupPagerNavOn {
	background-color: #000;
}
div.pagination li.MarkupPagerNavOn a {
	color: #fff;
}
@media screen and (max-width: 1100px) {
	div.subnav {
		justify-content: flex-end;
	}
	div.subnav h2 {
		display: none;
	}
	nav ul._menu {
		display: none;
		position: absolute;
		left: 0;
		top: calc(90px + 2rem + 3rem);
		background-color: #fff;
		padding: 1rem 3rem 2rem;
		width: 100%;
		z-index: 100;
	}
	nav ul._menu li {
		display: block;
		padding: .7rem 0;
		border-top: 1px solid var(--color-light-border);
	}
	nav div.menu {
		display: block;
		position: unset;
		transform: unset;
		background-color: transparent;
		padding: 0 0 0 3rem;
	}
	nav ul._menu .ri-arrow-drop-down-line {
		display: none;
	}
	nav ul._menu ul {
		background-color: #fff;
		padding: .7rem 0 0;
		border-radius: unset;
		width: 100%;
	}
	nav ul._menu ul::before {
		display: none;
	}
	nav ul._menu ul li,
	nav ul._menu ul li a {
		color: unset;
	}
	nav ul.drawer {
		display: block;
	}
	nav ul.drawer .hide {
		display: none;
	}
	footer {
		flex-direction: column;
	}
	footer div.info {
		padding: 0 0 2rem 0;
		border-right: none;
		border-bottom: 1px solid #666;
		width: 100%;
	}
	footer div.menu {
		padding: 2rem 0;
		border-right: none;
		border-bottom: 1px solid #666;
		width: 100%;
	}
	footer div.colophon {
		padding: 2rem 0 0;
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
	div.blog {
		display: grid;
		gap: 2rem 0;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
	}
	div.blog div {
		width: 100%;
	}
	div.blog div:nth-child(2) {
		border-right: 1px solid var(--color-light-hero);
	}
	body#home div.map {
		height: 100vw;
	}
	div.content {
		flex-direction: column;
		gap: 0;
	}
	article {
		padding: 0 0 1.5rem 0;
		width: 100%;
	}
	aside {
		padding: 2.5rem 0 0;
		border-top: 1px solid var(--color-light-border);
		width: 100%;
	}
	div.gallery {
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	figure.full img {
		border-radius: unset;
	}
	figcaption {
		margin: 1rem 3rem 0;
	}
}
@media screen and (max-width: 600px) {
	header {
		height: calc(100vh - 70px - 2rem - 3rem);
	}
	div.subnav {
		margin: 0 1.5rem;
	}
	div.logo img {
		height: 70px;
	}
	nav {
		padding: 1rem 1.5rem;
	}
	nav ul._menu {
		top: calc(70px + 2rem + 3rem);
		padding: 1rem 1.5rem 2rem;
	}
	nav div.menu {
		padding: 0 0 0 1.5rem;
	}
	div.hero h1 {
		font-size: 3.6rem;
	}
	div.hero h2 {
		font-size: 1.2rem;
	}
	body#home div.blog {
		padding: 1.5rem 1.5rem 5rem;
	}
	body#home div.content {
		padding: 0;
	}
	div.content {
		padding: 4rem 1.5rem 5rem;
	}
	footer {
		padding: 3rem 1.5rem 5rem;
	}
	div.gallery {
		grid-template-columns: 1fr 1fr 1fr;
	}
	figure.full {
		margin: 1.5rem -1.5rem 2rem;
	}
	figcaption {
		margin: 1rem 1.5rem 0;
	}
	div.card {
		flex-direction: column;
	}
}