:root {
	--logogreen: #24a49a;
	--logolightgreen: #7cc8c2;
	--logobrown: #daaf55;
	--logolightbrown: #e9cf99;
	--mainHeight: calc(100vh - 0.5vh /* body padding-top */ - max(7vh, 3rem) /* logo height */ - 1vh /* logo margin-bottom */ - 2 * 1ex /* footer padding */ - 12ex /* footer min-height */ - 0.5vh /* simulate body padding-bottom */);
	--linkColor: #00a;
}

@supports (height: 100svh) {
	:root {
		--mainHeight: calc(100svh - 0.5vh /* body padding-top */ - max(7vh, 3rem) /* logo height */ - 1vh /* logo margin-bottom */ - 2 * 1ex /* footer padding */ - 12ex /* footer min-height */ - 0.5vh /* simulate body padding-bottom */);
	}
}

body {
	margin: 0.5vh 0.5vw 0vh 0.5vw;
	font-family: Clan, Verdana, "Liberation Sans", sans-serif;
}

nav {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
nav .logo {
	height: 7vh;
	min-height: 3rem;
	margin: 0 0.5vw 1vh 0.5vw;
	display: block;
}
nav label {
	padding: 1ex;
}

main {
	position: relative;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	display: flow-root;
}
main, .main-min-height {
	min-height: var(--mainHeight);
}

ul {
    margin-left: 0;
    padding-left: 0;
}
li {
    margin-left: 1rem;
}

address {
	font-style: normal;
	white-space: nowrap;
}

dt {
	font-weight: bold;
}

a:link {
	color: var(--linkColor);
}
a[href^="tel:"] {
	white-space: nowrap;
}

/* Menu */

button.burger {
	background: transparent;
	border: none;
	font-size: 300%;
}
button.burger .opentext {
	display:inline;
}
button.burger.open .opentext {
	display:none;
}
button.burger .closetext {
	display:none;
}
button.burger.open .closetext {
	display:inline;
}

.menu {
	display: block;
	margin: 0;
	position: absolute;
	z-index: 1000;
	top: 100%;
	width: 100%;
}
.menu button {
	display: none;
	width: 100%;
	padding: 1ex;
	margin-bottom: 0.25ex;
	border: none;
	border-radius: 1ex;
	font-size: inherit;
	font-family: inherit;
	text-align: center;
	animation: growDown 150ms ease-in-out;
	transform-origin: top center;
}
.menu.open button {
	display: block;
}
.menu, .menu ul {
	padding-left: 0;
	list-style-type: none;
}
.menu li {
	display: block;
	margin-left: 0;
}
.menu > li {
	text-align: center;
}
.menu > li > ul {
	display: none;
	margin-bottom: 1ex;
	padding: 1ex;
	border-radius: 1ex;
	white-space: nowrap;
}
.menu > li > button,
.menu > li > ul {
	background-color: var(--logolightbrown);
}
.menu > li.open > button,
.menu > li.open > ul {
	background-color: var(--logobrown);
}
.menu > li.open > ul {
	display: block;
	animation: growDown 150ms ease-in-out;
	transform-origin: top center;
}

.menu > li > ul > li > a,
.menu > li > ul > li > strong {
	display: block;
	padding: 1ex;
}
.menu > li > ul > li a {
	color: inherit;
	text-decoration: inherit;
}
.menu > li > ul > li a:hover {
	background-color: rgba(100%,100%,100%,50%);
}

@media (min-width: 50em) {
	nav button.burger {
		display: none;
	}
	.menu {
		position: static;
		display: flex;
	}
	.menu button {
		display: block;
		width: auto;
		margin: 1ex;
	}
	.menu > li {
		position: relative;
		text-align: left;
	}
	.menu > li > ul {
		position: absolute;
		left: 1ex;
	}
}

@keyframes growDown {
    0% {
        transform: scaleY(0)
    }
    80% {
        transform: scaleY(1.1)
    }
    100% {
        transform: scaleY(1)
    }
}

/* Footer */

footer {
	display: flex;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	background-color: #eee;
	min-height: 12ex;
	padding: 1ex 1vw 1ex 1vw;
}
footer > ul {
	display: flex;
	list-style-type: none;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5vw;
	padding: 0;
	margin: 0;
}
footer li {
	margin-left: 0;
	padding-left: 0;
}
footer .links {
	font-size: 1.1rem;
}
footer .logos img {
	display: block;
	height: 4vw;
	min-height: 3ex;
	max-height: 7ex;
}
footer a {
	display: block;
	color: inherit;
}
footer a:hover {
	text-decoration: underline;
}
footer a > img {
	display: block;
	background-color: #ffffff;
	padding: 1ex;
	border-radius: 1ex;
}
footer a:hover > img,
footer a:focus > img {
	background-color: rgb(210,220,236);
	text-decoration: none;
}
footer p {
	width: 100%;
	text-align: center;
	margin: 0;
}

/* Flyers */

.flyers img {
	max-height: calc(var(--mainHeight) - 2rem - 1ex);
	max-width: 100%;
	padding: 0;
	background-color: #eee;
	box-sizing: border-box;
}

.flyer {
	display: inline-block;
	position: relative;
	background-color: #eee;
	margin-bottom: 0.5ex;
	padding: 1rem;
	overflow: hidden;
}
.flyer .copyright {
	position: absolute;
	font-size: 0.75rem;
	bottom: 0rem;
	right: 1rem;
	height: 1rem;
	text-align: right;
	white-space: nowrap;
	padding: 0;
	margin: 0;
}
.flyers a {
	text-decoration: none;
}
