:root {
    --clr-white: #fff;
    --clr-black: #000000;
    --clr-back: #2d3034;
    --clr-yellow: #e7c501;
    --clr-blue: #466f7b;
    --clr-trans-back: rgba(45, 48, 52, 0.6);
    --clr-trans-back-dark: rgba(45, 48, 52, 0.9);
    --clr-blue-trans: #466f7bea;
    --ff-primary: "Montserrat", sans-serif;
    --ff-title: "Permanent Marker", serif;
  }
  
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  
  body,
  h1,
  h2,
  h3,
  p {
    margin: 0;
  }
  
  body {
  font-family: var(--ff-primary);
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0;
  background-color: #54595F;
  overflow-x: hidden;
}

h1,
h2 {
  font-family: var(--ff-title);
}

h1 {
  font-size: 3rem;
  color: var(--clr-yellow);
}



p {
    margin-bottom: 0.5em;
  }

a {
  color: var(--clr-yellow);
}

a:hover {
  text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.8);
}
/* Set up the grid for page layout */
.wrapper {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 25px 150px 25px minmax(45px, auto) 10px minmax(400px, auto) 10px minmax(50px, auto) 25px;
  gap: 10px;
  margin-bottom: 25px;
}

.full-logo {
    display: none;
    z-index: 1;
}

.back-banner-header {
    padding: 25px;
    grid-column: 1 / -1;
    grid-row: 2 / span 3;
    background-color: none;
    position: relative;
    display: grid;
    /* border-radius: 15px 15px 15px 15px; */
    
}

.back-banner-header:before {
  content:"";
  background-color:var(--clr-back);
  position: absolute;
height: 100%;
width: 100%;
left: 0;
  z-index: -1;
  
}

.back-banner-content {
  padding: 25px;
  grid-column: 1 / -1;
  grid-row: 6;
  background-color: none;
  position: relative;
  display: grid;
  z-index: -1;
  /* border-radius: 15px 15px 15px 15px; */
}

.back-banner-content:before {
  content:"";
  background-color:var(--clr-trans-back);
  position: absolute;
height: 100%;
width: 100%;
left: 0;
  z-index: -1;
}

.logospace {
  grid-column: 1 / -1;
  grid-row: 1 / span 3;
  width: 100%;
  overflow: hidden;
}

.imglogo {
  width: 100%;
  height: auto;
  display: block;
}

  .logo-left {
    grid-column: 1 / span 5;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    padding-right: 50px;
    text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.8);
    z-index: 1;
  }
  
  .logo-right {
    grid-column: 8 / span 5;
    grid-row: 2;
    padding-left: 50px;
    align-self: center;
    text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.8);
    z-index: 1;
  }

  
#nav-toggle,
.burger-menu {
  cursor: pointer;
	display: none;
}

.burger-menu:hover {
  filter: invert(83%) sepia(48%) saturate(3001%) hue-rotate(6deg)
    brightness(96%) contrast(105%);
}
  /* Style menu items*/
nav ul {
	list-style: none;
	margin: 0;
    
}

.active {
	border: 2px solid var(--clr-yellow);
	color: var(--clr-yellow);
}

nav li a {
	color: var(--clr-white);
	text-decoration: none;
	padding: 10px;
    border-radius: 10px;
}

nav li a:hover {
	background-color: var(--clr-back);
	color: var(--clr-yellow);
    border: 2px solid var(--clr-yellow);
    text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.8);
}

nav ul {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
}

/* Style menu grid section */
.main-nav {
	grid-column: 1 / span 12;
	grid-row: 4;
    color: var(--clr-white);
    background-color: var(--clr-back);
    border: none;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    font-family: var(--ff-title);
    font-size: 1.125rem;
    padding: 4px 0;
z-index: 1;
}


/* Footer section styling */

.back-banner-footer {
  grid-column: 1 / -1;
  grid-row: 8;
  background-color: none;
  position: relative;
  display: grid;
  /* border-radius: 15px 15px 15px 15px; */
}

.back-banner-footer:before {
  content:"";
  background-color:var(--clr-back);
  position: absolute;
height: 100%;
width: 100%;
left: 0;
  z-index: -1;
}

.footer-grid {
  padding: 10px;
  grid-column: 1/ span 12;
  grid-row: 8;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows:minmax(50px, auto);
  gap: 0 10px;
  align-content: center;
  justify-content: center;
}

.follow-text {
  color: var(--clr-white);
  grid-column: 1;
  grid-row: 1;
  font-size: 1rem;
  /* margin-left: 10px; */
}
.icon-img {
  width: 40px;
  height: 40px;
  max-width: 100%;
  /* margin: 10px; */
  filter: brightness(0) invert(1);
}

.social-icons {
  grid-column: 1;
  align-self: center;
  justify-self: center;
}

.copyright {
  grid-column: 2;
  z-index: 1;
  color: var(--clr-yellow);
  text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.8);
  justify-self: center;
  align-self: center;
}

.doc-link {
  color: var(--clr-white);
  text-decoration: none;
  z-index: 1;
}

.doc-link:hover {
  color: var(--clr-yellow);
}

.terms {
  grid-column: 3;
z-index: 1;

  justify-self: center;
  align-self: center;
}

.social-link :hover {
  filter: invert(83%) sepia(48%) saturate(3001%) hue-rotate(6deg)
    brightness(96%) contrast(105%);
}







/* Adjust layout for smaller screens */

@media screen and (max-width: 700px) {
	 .wrapper {
    grid-auto-rows: 10px 120px 5px auto 10px minmax(300px, auto) 10px auto 10px;
  }
	.logo {
		grid-column: 1 / span 12;
		grid-row: 1;
	}

	.siteheader {
		grid-column: 1/ span 12;
		grid-row: 2;
		font-size: 2.0em;
		text-align: center;
		justify-content: center;
		padding-left: 0;
  }
  
  /* Hamburger menu handling */
	.burger-menu {
    display: flex;
    justify-content: center;
    padding: 4px;
    filter: brightness(0) invert(1);
  }

  nav ul {
    display: none;
    flex-direction: column;
    align-items: center;   /* KEY: centers items horizontally */
    width: 100%;
    padding: 0;
  }

  #nav-toggle:checked ~ ul {
    display: flex;
  }

  nav li {
    width: 100%;
    margin: 5px 0;
    text-align: center;
  }

  nav li a {
    display: block;
    width: 100%;
    text-align: center;
  }



h1 {
  font-size: 2.5rem;
  line-height: 1;
}
}

@media screen and (max-width: 580px) {
 
.wrapper {
    grid-auto-rows: auto;
  }
  .back-banner-header {
    padding: 5px;
  }




  .logo-left {
    display: none;
  }

  .logo-right {
    display: none;
  }

  .full-logo {
    grid-column: 6 / span 6;
    grid-row: 2 / span 2;
    display: 
    justify-self: start;
    align-self: center;
    padding-left: 20px;
  }
}

@media screen and (max-width: 600px) {

  .footer-grid {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 10px;
  }

  .social-icons,
  .copyright,
  .terms {
    grid-column: 1;
  }
}