:root {
	--yellow:#ffe400;
	--nav_width:400px;
}

.group:after {
  content: "";
  display: table;
  clear: both;
}

* {
    padding:0;
    margin:0;
    box-sizing: border-box;
	font-family:inherit;
	color:inherit;
}

img {
	vertical-align:middle;
	max-width:100%;
	height:auto;
	background-repeat: no-repeat;
	background-size:cover;
	font-style: italic;
	shape-margin:1rem;
}

.wrap {
  position:relative;
  width:calc(1300px - 2rem);
  padding:0 1rem;
  max-width:100%;
  margin:0 auto;
  clear:both;
}

body {
	background-color:#010101;
	color:#fff;
	font-family: "Montserrat", serif;
}

header {
    width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:1001;
	padding-top:3vw;
	padding-inline:5vw;
	pointer-events: none;
}
		
		nav ul {
			margin-top:2rem;
			list-style: none;
		}
		
			nav li {
				float:left;
			}
			
				nav a {
					float:left;
					text-decoration: none;
					padding:1rem 1.5rem;
					font-size:1rem;
					text-transform: uppercase;
				}
				
					nav a:hover,
					.active{
						color:var(--yellow);
					}

					nav :is(ul,li,a) {
						float:left;
						clear:left;
						width:100%;
						text-align: left;
						padding-inline:0;
					}
				
					nav {
						position:fixed;
						width:var(--nav_width);
						max-width:100vw;
						left:calc(-1 * var(--nav_width));
						height:100%;
						top:0;
						background-color:#010101;
						border-right:1px solid var(--yellow);
						padding:3rem;
						z-index:5;
						transition:left 0.25s ease-out;
						overflow-y:auto;
						pointer-events: all;
					}
				
					#burger:has(input:checked) ~ nav {
						left:0;
					}
				
					#burger {
						position:relative;
						display:block;
						float:right;
						width:40px;
						filter:drop-shadow(0 0 5px #0005);
						z-index: 6;
						pointer-events: all;
					}
				
						#burger input {
							position:absolute;
							width:100%;
							height:100%;
							cursor:pointer;
							opacity:0;
						}

    #logo {
		float:left;
		width:100px;
		pointer-events: all;
    }
  
		#logo img {
			width:100%;
		}

.fcw {
  float:left;
  clear:left;
  width:100%;
}

h1,h2,h3,h4,h5,h6 {
	font-size:3.5rem;
	margin-bottom:1.25rem;
	font-family: "Racing Sans One", serif;
	text-transform:uppercase;
	line-height:0.9;
}

h1 {
	font-size:4.5rem;
	font-weight:300;
}

main p,
main li {
	font-size:0.9rem;
	line-height:1.6;
	margin-bottom:1.25rem;
	clear:left;
	max-width:70ch;
}

main ul,
main ol {
	margin:2rem;
}

  main li {
    padding-left:0.5rem;
	margin-bottom:0.5rem;
  }

  main li::marker{
	font-size:1.5rem;
	line-height:1;
  }

  main ol li::marker {
	font-family: "Racing Sans One", serif;
	font-size:2rem;
  }

  main ol li {
	padding-left:1rem;
  }

  .text p {
	max-width:70ch;
  }

.align_left {
  float:left;
}

.align_right {
  float:right;
}

.align_center {
  text-align: center;
}

img.align_left {
  margin:0.5rem 1rem 1rem 0;
}

img.align_right {
  margin:0.5rem 0 1rem 1rem;
}

img.align_center {
  display:block;
  margin-left:auto;
  margin-right:auto;
}

input,
textarea,
label,
hr{
	float:left;
	clear:left;
	width:100%;
	margin-bottom:0.5rem;
}

input,
textarea {
	background-color:#fff;
	border:1px solid #aaa;
	padding:0.5rem;
	font-size:1rem;
}

input[type="submit"],
.submit-btn {
	float:left;
	clear:left;
	text-decoration: none;
	cursor: pointer;
	border:none;
	outline:none;
}

.errortext {
	color:red;
	font-weight:bold;
}
  
footer {
  clear:both;
}

.slide_in,
.slide_up {
	opacity:0;
}

.run {
	animation-duration: 1s;
	animation-iteration-count:1;
	animation-fill-mode: forwards;
	animation-timing-function: cubic-bezier(.36,1.59,.35,1.01);
}

.slide_in.run {
	animation-name: slide_in_from_left;
}

.slide_up.run {
	animation-name: slide_up;
}

.flip .slide_in.run {
	animation-name: slide_in_from_right;
}

@keyframes slide_in_from_left {
	0% {opacity: 0; transform: translateX(-100px);}
	100%{opacity:1; transform: translateX(0);}
}

@keyframes slide_in_from_right {
	0% {opacity: 0; transform: translateX(100px);}
	100%{opacity:1; transform: translateX(0);}
}

@keyframes slide_up {
	0% {opacity: 0; transform: translateY(100px);}
	100%{opacity:1; transform: translateY(0);}
}

.racing-sans {
	font-family: "Racing Sans One", serif;
}

.yellow-btn {
	display:inline-block;
	margin-block:0.5rem;
	color:#000;
	background-color:#ffe400;
	padding:0.75rem 2rem;
	border-radius:100rem;
	text-transform:uppercase;
	font-size:0.8rem;
	font-weight:700;
	text-decoration: none;
	font-style:italic;
	letter-spacing: 0.1em;
	animation-delay:0.25s;
	text-align: center;
}

	.yellow-btn:hover {
		background-color:#fafafa
		;
	}

.table-container {
	width:100%;
	max-width:100%;
	clear:left;
	overflow-x:auto;
}

	main table {
		width:100%;
	}

.fmap {
	position: relative;
	width:100%;
}

	.map {
		position: relative;
		width:100%;
		height:min(300px,50vh);
		object-fit:cover;
		z-index:1;
	}

	.marker {
		position:absolute;
		z-index:2;
		width:30px;
		left:50%;
		top:50%;
		transform:translate(-50%,-50%);
	}

.form {
	position: relative;
	z-index: 2;
}

footer {
	padding:5vw;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	grid-gap:3rem;
}

	.socials {
		display:grid;
		grid-template-columns: repeat(auto-fill, minmax(25px, 1fr));
		grid-gap:1rem;
		align-items: center;
		margin-bottom:2rem;
	}

		.socials a:hover img {
			filter:saturate(0) brightness(2);
		}

	footer h3 {
		font-size:1.8rem;
	}

	footer :is(p,td,li) {
		font-size:0.8rem;
		line-height:1.6;
		margin-bottom:1em;
	}

	footer p strong {
		color:var(--yellow);
	}

	footer p a {
		text-decoration: none;
	}

		footer p a:hover {
			color:var(--yellow);
		}

	footer :is(table,td) {
		border:none;
	}

		footer td:first-of-type {
			color:var(--yellow);
		}

	.copyright {
		font-size:0.7rem;
		opacity:0.5;
	}

	.flogo img {
		width:min(200px,100%);
	}

@media screen and (max-width:1100px) {
	footer {
		grid-template-columns: 1fr 1fr 1fr;
	}

		.flogo {
			display:grid;
			grid-column:1/-1;
			justify-content: center;
		}
		
			.flogo a {
				width:150px;
			}
}

@media screen and (max-width:700px) {
	footer {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width:600px) {
	h1,h2 {
		word-break: normal;
		word-wrap: break-word;
		font-size:2.25rem;
	}
}