/* Typography
--------------------------------------------- */
body{
    margin:0;
    font-family:'Roboto',Verdana, Geneva, Tahoma, sans-serif;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5;
    color: #000000;
    background-color: #fff;
  }
  
  /* video background */
  #background-video {
    height: 100vh;
    width: 100vw;
    object-fit: cover;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
      font-family:'Roboto', Arial, Helvetica, sans-serif;
      margin: .5em 0;
  }
  
  
  h1 {
      font-size: 4rem;
  }
  
  h2 {
    font-size: 1.75rem;
  }
  
  h3 {
    font-size: 1.2rem;
  }
  
  p {
      margin: 0 0 0.5rem;
  }
  
  
  /* Elements
  --------------------------------------------- */

  
  /* Links
  --------------------------------------------- */
  a,
  a:visited { 
      color: #2632b3;
      text-decoration: underline;
  }


  nav a:hover,
  a:focus,
  a:active {
    text-decoration: underline;
    opacity: 0.7;
  }
  
  a:focus {
      outline: 1px dotted;
  }
  
  /*--------------------------------------------------------------
  # Components
  --------------------------------------------------------------*/
  h1, h2, h3 {
    color: #000000;
    font-family: 'Italiana', sans-serif;
    font-weight: bold;
    text-align: center;
  }
  
  h1 {
    font-size: 7rem;
    margin-top: 30vh; 
  }
  
  h2 { 
    font-size: 3rem; 
  }
  
  h3 {
    font-size: 2rem;
  }
  p {
    padding: 0 1rem;
  }

  
  .site-wrapper {
    /* This is for very large screens */
    max-width: 120rem;
    margin: 0 auto;
    position: relative;
    min-height: 100vh;
  }
  
  /* Header
  --------------------------------------------- */
  .site-header {
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    width: 100%;
    height: 5rem;
    background-color: rgba(0, 0, 0, 0.3);
  }

  .site-header__wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0.5rem 1rem; 
  }

  .site-logo {
    position: relative;
    padding: 0;
    width: 4rem;
    left: 1.5rem;
  }
  
  .site-logo img {
    left: 1rem;
    width: 4rem;
  }
  
  .site-navigation ul {
    list-style: none;
    position: absolute;
    padding: 0;
    margin: 0;
    text-align: center;
    display: none;
    top: 3.5rem; 
    padding: 1rem 0 1rem 0;
  }
  
  
  .site-navigation.toggled ul {
    display: block;
    background-color: #053a4c;
    border-radius: 1rem;
    padding-left: 1rem;
  }
  
  .site-navigation a {
    display: block;
    font-family: 'Italiana', Verdana, Geneva, Tahoma, sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 1.2rem;
    text-decoration: none;
    color: #fffdfd;
  }
  
  .menu-toggle {
      display: block;
      background-color: transparent;
      border: 0;
      padding: 1rem;
  }
  
  .menu-toggle:focus {
      border: 0;
      outline: 1px dotted;
  }

  .toggle-color {
    fill: white;
  }
  
  .site-navigation ul li {
    list-style-type: none;
    padding-right: 1rem;
  }

  .nav-menu {
    position: absolute;
    right: 0;
  }
  
  @media (min-width: 37.5em) {
      .menu-toggle {
        display: none;
      }
      
      .site-navigation {
        width: 75%;
      }
      
      .site-navigation ul {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
      }
     
      .site-navigation ul,
      .site-navigation.toggled ul {
        display: flex;
        justify-content: space-evenly;
        position: relative;
        top: 0;
      }

      .site-navigation a {
      font-size: 1.3rem;
      }

      .site-header__wrapper {
        position: relative;
      }
      .site-logo {
        position: relative;
        left: 4rem;
      }

      .site-logo img {
        width: 4rem;
      }
  }
  
  @media (min-width: 50em) {
  
    .site-navigation a {
    font-size: 1.4rem;
    }

    .site-logo {
      position: relative;
      left: 4rem;
    }
  }

     /* Main
  --------------------------------------------- */
  .background-banner {
    position: relative;
    top: 9.5rem;
  }

  .background-banner h1 {
    margin: 0 auto;
    text-align: center;
    font-size: 2.5rem;
    color: #fff;
    text-transform: uppercase;
    text-shadow:  0px 2px #363635, 
      -2px 0px 2px #363635, 
      0px 2px 2px #363635;
  }

  
  .background-banner h2 {
    font-size: 2rem;
    text-shadow:  0px 1px #fff, 
      -1px 0px 1px #fff, 
      0px 1px 1px #fff;
  }


  
  @media (min-width: 37.5em) {
    .background-banner h1 {
      position: absolute;
      top: 0;
      left: 1rem;
      padding-top: 1rem;
      text-transform: uppercase;
      font-size: 5.5rem;
      background-color: rgba(0, 0, 0, 0);
      text-shadow:  0px 4px #363635, 
        -3px 0px 4px #363635, 
        0px 4px 4px #363635;
        margin-top: 2rem;
    }

    .banner-subtext {
      position: absolute;
      left: 1rem;
      top: 1rem;
    }
  }

  @media (min-width: 50em) {
    .background-banner h1 {
      font-size: 7rem;
    }    
  }

  /* Attractions/Parks
--------------------------------------------- */
.intro h3{
  padding: 0 1rem;
  text-align: center;
  text-decoration: underline;
}

blockquote {
  background-color: #CCE6F4;
  border: 2px solid #053a4c;
  border-radius: 1rem;
  padding: 0.5rem;
  margin-bottom: 1.5rem;
}
.page-header {
  position: relative;
}
.page-header h1 {
  position: absolute;
  font-size: 2.5rem;
  text-transform: uppercase;
  margin: auto;
  top: 5.5rem; 
  left: 0; 
  bottom: 0; 
  right: 0;
  font-size: 2.5rem;
  color: #fff;
  text-shadow:  0px 2px #363635, 
    -2px 0px 2px #363635, 
    0px 2px 2px #363635;
}

.intro {
  border-bottom: 3px double #000000;
  padding-bottom: 1rem;
}


.grid-attractions, grid-parks {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 1rem;
}

.grid-attractions img, grid-parks img {
  display: block;
   width: 100%;
   max-width: 500px;
   height: auto;
   margin: auto;
   margin-bottom: 1rem;
}
.grid-photos {
  border-bottom: 0.1rem solid #000000;
  padding-bottom: 1.5rem;
}

.grid4-photo {
  border-bottom: 0px solid #fff;
}

.attractions-table {
  margin: 0 0.5rem;
}

@media (min-width: 37.5em) {
  .page-header h1 {
    font-size: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-shadow:  0px 4px #000000, 
    -4px 0px 4px #000000, 
    0px 4px 4px #000000;
  }

  .intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 60%;
  }
}

@media (min-width: 50em) {
  .page-header h1 {
    font-size: 7rem;
    text-shadow:  0px 5px #000000, 
    -5px 0px 5px #000000, 
    0px 5px 5px #000000;
    }
}  

@media (min-width: 62.5em) {
  .grid-attractions, .grid-parks {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: auto;
    gap: 3rem 1.5rem;
    margin: 1rem;
    padding: 1rem;
    overflow: hidden;
    
  }

  .grid-attractions div, .grid-parks div {
		display: block;
		width: 100%;
		height: 100%;
		background-color: #ffffff;
    padding-bottom: 1rem;
	}

  .grid-attractions div:first-of-type, 
  .grid-parks div:first-of-type {
		grid-column: 2/3;
	}

  .grid-attractions .grid1-photo,
  .grid-parks .grid1-photo
   {
    grid-column: 3 / span 2;
    grid-row: 1/2;
  }

  .grid-attractions .grid2-text,
  .grid-parks .grid2-text 
  {
    grid-column: 4/5;
    grid-row: 2/3;
  }

  .grid-attractions .grid2-photo,
  .grid-parks .grid2-photo
   {
    grid-column: 2/4;
    grid-row: 2/3;
  }

  .grid-attractions .grid3-text,
  .grid-parks .grid3-text 
  {
    grid-column: 2/3;
    grid-row: 3/4;
  }

  .grid-attractions .grid3-photo,
  .grid-parks .grid3-photo {
    grid-column: 3/5;
    grid-row: 3/4;
  }

  .grid-attractions .grid4-text,
  .grid-parks .grid4-text
   {
    grid-column: 4/5;
    grid-row: 4/5;
  }

  .grid-attractions .grid4-photo,
  .grid-parks .grid4-photo
   {
    grid-column: 2/4;
    grid-row: 4/5;
  }

  .grid-attractions img,
  .grid-parks img 
  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
    }

  .grid-attractions-text, .grid-park-text{
      position: relative;
    }

    .grid-photos {
      border-bottom: 1px solid transparent;
    }

  .grid2-text p::after,
  .grid4-text p::after
  {
    content: '';
    position: absolute;
    top: 100%;
    left: -220%;
    width: 325%;
    height: 1px;
    background-color: black;
    
  }

  .grid1-text p::after,
  .grid3-text p::after {
    content: '';
    position: absolute;
    top: 100%;
    right: -220%;
    width: 325%;
    height: 1px;
    background-color: black;
  }
}

.table-daytrips {
  margin-bottom: 2rem;
}


 
 /* Credits
--------------------------------------------- */
.credits-section {
  margin: 0 0.5rem 0 0.5rem;
  border-bottom: 3px double #000000;
  padding-bottom: 2rem;
}

.contact-us {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
  margin-top: 0;

}

.contact-intro {
  margin: 0 auto;
}

.contact-form {
  width: 90%;
  margin: 0 auto;
}

.contact-image img{
  width: 100%;
  margin-bottom: 1rem;
}

@media (min-width: 37.5em) {
  .contact-us {
    width: 75%;
    margin: 0 auto;
    margin-bottom: 3rem;
  }

}

   /* Footer
  --------------------------------------------- */


footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
}

.footer-home {
  display: flex;
  flex-direction: row;
  justify-content: center;
  position: absolute;
  padding: 1rem;
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  bottom: 0;
  left: 0;
  right: 0;
}

.footer-section {
  flex: 1;
}

.footer-section p{
  font-size: 1rem;
  text-align: center;
  font-weight: 300;
}

@media (min-width: 37.5em) {
  footer {
    flex-direction: row;
  } 

}


