/* Start */
:root {
	/* Fonts */
	--font-1: "neue-haas-grotesk-display-pro", sans-serif;
  
	/* Font Sizes */
	--base-size: 16px;
	--size-1: 24px;
	--size-2: 32px;
	--size-3: 48px;
	--size-4: 64px;
	--size-5: 80px;
	--size-6: 96px;
	--size-7: 112px;
	--size-8: 128px;
	--size-9: 144px;
	--size-10: 160px;
  
	/* Color Palette */
	--black: #010308;
	--white: #f6f1e9;
	--beige: #f3e6d2;
	--red: #eb0f21;
	--gold: #dc8f00;
	--blue: #1b5058;
	--green: #011e1e;
  }
  
  /* Mobile Styles */
  body {
	background-color: var(--green);
	text-wrap: balance;
	scroll-behavior: smooth;
  }
  
  body::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: var(--green);
	opacity: .9;
	z-index: -1;
  }
  
  #background-image img {
	position: fixed;
	z-index: -2;
	object-fit: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	overflow-x: hidden;
  }
  
  header {
	position: relative;
	padding-top: var(--size-2);
  }
  
  .container {
	margin: 0 auto;
	padding: 10px;
	z-index: 2;
  }
  
  h1 {
	font-family: var(--font-1);
	font-size: var(--size-2);
	font-weight: 600;
	margin: calc(var(--base-size));
	position: relative;
	z-index: 10;
	animation: flicker 1.5s infinite alternate;
  }
  
  .neon {
	color: var(--white);
	text-shadow:
	  0 0 7px var(--white),
	  0 0 10px var(--red),
	  0 0 21px var(--red),
	  0 0 42px var(--red),
	  0 0 82px var(--red),
	  0 0 92px var(--red),
	  0 0 102px var(--red),
	  0 0 151px var(--red);
  }
  
  @keyframes flicker {
	0%, 18%, 22%, 25%, 53%, 57%, 100% {
	  text-shadow:
		0 0 4px var(--white),
		0 0 11px var(--red),
		0 0 19px var(--red),
		0 0 40px var(--red),
		0 0 80px var(--red),
		0 0 90px var(--red),
		0 0 100px var(--red),
		0 0 150px var(--red);
	}
  
	20%, 24%, 55% {        
	  text-shadow: none;
	}    
  }
  
  /* link to fancy neon code*/
  /*https://css-tricks.com/how-to-create-neon-text-with-css/*/
  /* This helped me by targeting the exact text line and applying layers of text shadowing to create a glow effect*/
  
  h2 {
	font-family: var(--font-1);
	font-size: var(--size-1);
	font-weight: 400;
	margin: calc(var(--base-size));
	position: relative;
	z-index: 10;
  }
  
  .neon2 {
	color: var(--white);
	text-shadow:
	  0 0 7px var(--white),
	  0 0 10px var(--white),
	  0 0 21px var(--white),
	  0 0 42px var(--white),
	  0 0 82px var(--white),
	  0 0 92px var(--white),
	  0 0 102px var(--white),
	  0 0 151px var(--white);
  }
  
  h3 {
	font-family: var(--font-1);
	font-size: var(--base-size);
	font-weight: 400;
	color: var(--gold);
	text-align: center;
  }
  
  p {
	font-family: var(--font-1);
	font-size: var(--base-size);
	font-weight: 300;
	color: var(--gold);
	text-align: center;
  }
  
  /* Navigation */
  nav {
	display: flex;
	justify-content: space-evenly;
	width: 100%;
  }
  
  /* Modal Button Styles */
  button {
	outline: none;
	font-family: var(--font-1);
	font-size: var(--base-size);
	font-weight: 300;
	background-color: var(--blue);
	text-align: center;
	width: 70px;
	height: 30px;
	border: 0px;
	padding: 0px;
	margin: calc(.5 * var(--base-size));
	border-radius: 4px;
	cursor: pointer;
  }
  
  .nav-button {
	color: var(--white);
	text-shadow:
	  0 0 7px var(--white),
	  0 0 10px var(--white),
	  0 0 21px var(--white),
	  0 0 42px var(--white),
	  0 0 82px var(--white),
	  0 0 92px var(--white),
	  0 0 102px var(--white),
	  0 0 151px var(--white);
  }
  
  /* Grid Block Styles */
  .blocks {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
	gap: var(--base-size); 
	padding: var(--base-size);
	place-content: center; 
	position: relative;
	z-index: 3;
  }
  
  .blocks li {
	max-width: 100%;
	background-color: var(--green);
	border: 1px var(--blue) solid;
	padding: var(--base-size);
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	z-index: 3;
  }
  
  .blocks li img,
  .blocks li video,
  .blocks li iframe {
	width: 100%;
	height: auto;
	object-fit: cover;
	filter: blur(10px);
	transition: filter 0.3s ease-in-out;
  }
  
  .blocks li:hover img,
  .blocks li:hover video,
  .blocks li:hover iframe {
	background-color: var(--black);
	filter: blur(0); 
  }


.block-title {
	color: var(--gold);
	padding-top: var(--base-size);
	flex-grow: 1;
	text-align: left;
}

.link {
	color: var(--gold);
}

  .audio-block {
	width: 100%;
	max-width: 300px;
	height: auto;
	padding: 10px;
	display: flex;
	justify-content: center;
}

.pdf-description {
	color: var(--gold);
	font-family: var(--font-1);
}

 #thumbnail {
	width: 100%;
	height: 100%;
}

  footer {
	background-color: var(--blue);
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
	position: relative;
	z-index: 10;
  }
  
  footer p {
	font-family: var(--font-1);
	font-size: var(--base-size);
	font-weight: 400;
	color: var(--green);
	padding: 20px;
	text-align: left;
	text-wrap: pretty;
	white-space: normal;
}

  a {
	font-family: var(--font-1);
	font-size: var(--base-size);
	font-weight: 500;
	color: var(--red);
	padding: 20px;
}

/* Media Queries */
	/* Remove blur effect on mobile devices */
	@media (max-width: 600px) {
		.blocks li:hover img,
		.blocks li:hover video,
		.blocks li:hover iframe {
		filter: none;}
}

  @media (min-width: 600) {
	.blocks {
	  grid-template-columns: repeat(2, 1fr);
	}

	h1 {
	  font-size: var(--size-3);
	}

	h2 {
	  font-size: var(--size-2);
	}
  }

  @media (min-width: 1024px) {
	.blocks {
		 grid-template-columns: repeat(4, 1fr);
	}
	
	.blocks li{
		max-height: 300px;
	}

	h1 {
		 font-size: var(--size-4);
	}
  
	h2 {
		font-size: var(--size-3);
	}
  }