/* This is like the styling for the root of the document, which is basically the entire page, I think? */
:root {
  background-color: rgba(236, 236, 236);
}

main {
  min-height: 300px;
  padding-bottom: 20px;
  flex: 1 0 auto;
}

body {
  text-align: center;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0px;
  font-family: Verdana, sans-serif;
  color: rgba(73, 40, 40);
}

.navbar ul{
  list-style-type: none;
  background-color: rgba(101, 109, 63);
  padding: 10px;
  margin: 0px;
  display: flex;
  justify-content: right;
}

.navbar a{
  color: rgba(236, 236, 236);
  text-decoration: none;
  padding: 15px 10px;
  display: block;
}

.navbar a:hover{
  background-color: rgba(132, 147, 74);
  border-radius: 15px;
}

#BirdScopeLogo {
  margin-right: auto;
  color: rgba(236, 236, 236);
  padding: 15px 10px;
  font-weight: bold;
  font-variant:small-caps;
}

.HeroImage {

  margin: 0px;

  background-image: linear-gradient(rgba(101, 109, 63), rgba(0, 0, 0, 0.5)), url("../Images/HeroImage.png");

  height: 400px;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.HeroText {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: rgba(236, 236, 236);
}

#GalleryButton {
  background-color: rgba(101, 109, 63);
  border-radius: 15px;
  border-style: outset;
  border-color: rgba(132, 147, 74);
  color: rgba(236, 236, 236);
  padding: 10px 15px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 3px 6px rgb(27, 27, 27);
  transition: transform 0.2s ease-out;
}

#GalleryButton:hover{
  background-color: rgba(132, 147, 74);
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

.Featured {
  padding: 16px;
  text-align: center;
}

#AboutFeatured {
  text-align: center;
  font-size: 30px;
}

#AboutMainText {
  padding: 20px;
  text-align: justify;
  font-size: 18px;
  max-width: 900px;
  margin: 0 auto;
  list-style-type:disc;
}

.Row{
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  column-gap: 25px;
}

.HomeColumn {
  width: 240px;
  height: 180px;
  padding: 5px;
  box-shadow: 5px 6px rgb(155, 155, 155);
  background-image: linear-gradient(rgba(101, 109, 63), rgba(132, 147, 74));
  border-radius: 15px;
  color: rgba(236, 236, 236);
  text-align: center;
  transition: transform 1s ease-out;
}

.HomeColumn:hover {
  background-image: linear-gradient(rgba(132, 147, 74), rgba(101, 109, 63));
  transform: translateY(-5px);
  transition: transform 0.2s ease-out;
}

.AboutRow{
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  column-gap: 60px;
}

.AboutColumn {
  width: 260px;
  height: 280px;
  padding: 5px;
  box-shadow: 5px 6px rgb(155, 155, 155);
  background-image: linear-gradient(rgba(101, 109, 63), rgba(132, 147, 74));
  border-radius: 15px;
  color: rgba(236, 236, 236);
  text-align: center;
  transition: transform 1s ease-out;
}

.AboutColumn p {
  margin-top: -10px;
}

section:last-of-type {
  margin-bottom: 30px;
}

.Footer {
  background-image: linear-gradient(rgba(132, 147, 74), rgba(101, 109, 63));
  color: rgba(236, 236, 236);
  text-align: center;
  margin-top: auto;
  position: relative;
  width: 100%;
  padding: 3px;
  clear: both;
  box-sizing: border-box;
  flex-shrink: 0;
}

#FooterLinks {
  color: rgba(236, 236, 236);
  text-decoration: none;
  padding: 10px;
}

.RoundedImage {
  width: 180px;
  height: 180px;
  display: block;
  object-fit: cover;
  padding: 12px;
  margin: 0 auto 15px;
  border-radius: 50%;
}

#FeaturedGallery {
  text-align: center;
}

.GalleryDisplay {
  display: grid;
  grid-template-rows: 200px 200px 200px;
  grid-template-columns: 200px 200px 200px;
  box-sizing: border-box;
  justify-content: center;
  column-gap: 5px;
  row-gap: 5px;
}

.GalleryItem {
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  object-fit: cover;
  justify-content: center;
  filter: drop-shadow(2px 2px 2px rgb(111, 111, 111));
  transition: transform all 0.2s ease-out;
}

.GalleryItem:hover {
  transform: translateY(-8px);
  filter: drop-shadow(4px 6px 4px rgb(111, 111, 111));
  transition: transform all 0.2s ease-out;
}

#Copyright {
  margin-bottom: 30px;
  font-size: 10px;
  text-align: center;
  opacity: 50%;
}

.ContactRow{
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  column-gap: 30px;
}

.ContactColumn {
  width: 300px;
  height: 320px;
  padding: 20px;
  box-shadow: 5px 6px rgb(155, 155, 155);
  background-image: linear-gradient(rgba(101, 109, 63), rgba(132, 147, 74));
  border-radius: 15px;
  color: rgba(236, 236, 236);
  text-align: center;
}

input[type=text], select, textarea {
  width: 80%; 
  padding: 6px;
  border: 1px solid rgba(236, 236, 236);
  border-radius: 10px;
  box-sizing: border-box;
  margin-top: 6px;
  margin-bottom: 2px;
  resize: vertical;
}

#ContactButton {
  background-color: rgba(73, 40, 40);
  border-radius: 15px;
  border-style: outset;
  border-color: rgba(132, 147, 74);
  color: rgba(236, 236, 236);
  padding: 8px 10px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  filter: drop-shadow(2px 4px rgba(101, 109, 63));
  transition: transform 0.2s ease-out;
}

#ContactButton:hover{
  background-color: rgb(99, 55, 55);
  transform: translateY(-2px);
  transition: transform 0.2s ease-out;
}

#ContactInfoColumn {
  width: 300px;
  height: 160px;
  padding: 15px;
  box-shadow: 5px 6px rgb(155, 155, 155);
  background-image: linear-gradient(rgba(132, 147, 74), rgba(101, 109, 63));
  border-radius: 15px;
  color: rgba(236, 236, 236);
  text-align: center;
}

/* Everything after this line is for the responsive design. */

/* 768px and below */
@media screen and (max-width: 768px) {

    .Row, .AboutRow, .ContactRow {
        flex-direction: column;
        align-items: center;
        gap: 25px;
    }
    
    .HomeColumn {
        width: 80%;
        max-width: 400px;
        height: auto;
        min-height: 160px;
        padding: 15px;
    }
    
    .AboutColumn {
        width: 80%;
        max-width: 300px;
        height: auto;
        min-height: 280px;
        padding: 15px;
    }
    
    .RoundedImage {
        width: 200px;
        height: 200px;
        padding: 8px;
        justify-content: center;
    }
    
    #AboutMainText {
        padding: 15px 25px;
        font-size: 16px;
    }
    
    .GalleryDisplay {
        grid-template-rows: 180px, 180px, 180px;
        grid-template-columns: 180px, 180px, 180px;
        gap: 8px;
        padding: 10px;
        max-width: 100vw;
    }
    
    .GalleryItem {
        width: 180px;
        height: 180px;
    }
    
    .ContactColumn {
        width: 80%;
        max-width: 350px;
        height: auto;
        min-height: 300px;
        padding: 20px;
    }
    
    #ContactInfoColumn {
        width: 80%;
        max-width: 350px;
        height: auto;
        min-height: 140px;
    }
    
    input[type=text], select, textarea {
        width: 90%;
    }
    
    .HeroImage {
        height: 350px;
    }
    
    .HeroText h1 {
        font-size: 32px;
    }
    
    .HeroText p {
        font-size: 15px;
        padding: 0 20px;
    }
    
    #AboutFeatured h2 {
        font-size: 28px;
    }
}

/* 480px and below. */
@media screen and (max-width: 480px) {
    .navbar ul {
        flex-direction: column;
        align-items: center;
        padding: 5px;
        width: 100vw;
    }
    
    #BirdScopeLogo {
        margin-right: 0;
        margin-bottom: 5px;
        padding: 10px;
        font-size: 18px;
    }
    
    .navbar a {
        padding: 10px 20px;
        text-align: center;
        width: 100vw;
        font-size: 16px;
    }
    
    .HeroImage {
        height: 280px;
    }
    
    .HeroText h1 {
        font-size: 26px;
    }
    
    .HeroText p {
        font-size: 14px;
        padding: 0 15px;
    }
    
    #GalleryButton {
        padding: 8px 12px;
        font-size: 14px;
    }
    
    .HomeColumn {
        width: 90%;
        padding: 12px;
    }
    
    .HomeColumn h3 {
        font-size: 16px;
    }
    
    .HomeColumn p {
        font-size: 14px;
    }
    
    .AboutColumn {
        width: 90%;
        padding: 12px;
    }
    
    .AboutColumn h3 {
        font-size: 16px;
    }
    
    .RoundedImage {
        width: 200px;
        height: 200px;
        padding: 5px;
    }
    
    #AboutMainText {
        padding: 10px 20px;
        font-size: 14px;
        text-align: left;
    }
    
    #AboutMainText h3 {
        font-size: 18px;
    }
    
    #AboutMainText li {
        font-size: 14px;
    }
    
    .GalleryDisplay {
        grid-template-rows: 140px 140px 140px;
        grid-template-columns: 25% 25% 25%;
        gap: 5px;
        padding: 5px;
    }
    
    .GalleryItem {
        width: 140px;
        height: 140px;    
    }
    
    #FeaturedGallery h1 {
        font-size: 28px;
    }
    
    #FeaturedGallery p {
        font-size: 14px;
        padding: 0 15px;
    }
    
    #ContactFeatured h1 {
        font-size: 28px;
    }
    
    #ContactFeatured p {
        font-size: 14px;
        padding: 0 15px;
    }
    
    .ContactColumn {
        width: 90%;
        padding: 15px;
    }
    
    .ContactColumn h3 {
        font-size: 18px;
    }
    
    #ContactInfoColumn {
        width: 90%;
        padding: 12px;
    }
    
    #ContactInfoColumn p {
        font-size: 14px;
    }
    
    input[type=text], select, textarea {
        width: 95%;
        padding: 5px;
        font-size: 14px;
    }
    
    #ContactButton {
        padding: 6px 12px;
        font-size: 14px;
    }
    
    .Footer {
        padding: 10px;
        font-size: 13px;
    }
    
    #FooterLinks {
        padding: 5px 8px;
        font-size: 13px;
    }
    
    #Copyright {
        margin-bottom: 20px;
        font-size: 8px;
    }
}

/* Added a smooth transition between the responsive changes, because uh... fancy lol */
* {
    transition: all 0.3s ease-in-out;
}

/* Adding this helped with problems with the list. */

#AboutMainText li {
    list-style-type: disc;
    margin-bottom: 10px;
    padding-left: 0;
}

/* Ensure images don't overflow. */
img {
    max-width: 100%;
    height: auto;
}

@media (hover: none) and (pointer: coarse) {
    .navbar a, #GalleryButton,
    #ContactButton, .GalleryItem,
    #FooterLinks {
        padding: 12px 15px;
    }
    /* Makes the button bigger on smaller displays */
    
    .GalleryItem {
        transform: none; /* Disabled hover effects on touch devices */
    }
}