/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Fonts */
@font-face {
    font-family: 'Malibu';
    src: url('../FONTS/Malibu.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Lemon_Tuesday';
    src: url('../FONTS/Lemon_Tuesday.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

/* Global Link Styling */
a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none;
    color: rgba(var(--bs-dark-rgb), 1) !important;
}

/* Global Reset & Box Sizing */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Viewport */
html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: 'Malibu', serif;
    line-height: 1.6;
    background-color: #f4f4f4;
}


/* Top Nav Section */
.top-nav {
    position: relative;
    height: 12vh;
    width: 100vw;
    margin: 0;
	padding: 1rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    color: white;
    background-color: rgba(162, 185, 162, 0.95);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    z-index: 10;
}

/* Hamburger button styling */
	.hamburger {
	  display: none;
	  font-size: 2rem;
	  background: none;
	  border: none;
	  color: white;
	  cursor: pointer;
	}
	
	/* Links container */
	.nav-links {
	  display: flex;
	  gap: 4rem;
	}


/* Logo Image */
#logo {
    height: auto;
    max-width: 120px;
    max-height: 100px;
    animation: fadeInUp 1.5s ease-out forwards;
    display: block;
}

/* Anchor for Logo */
#picture-link {
    display: inline-block; 
    text-decoration: none;
    width: auto;
}

/* Link Container for Nav Links */
.link-container {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  font-weight: bold;
  flex-wrap: wrap;
  gap: 4rem;
  color: black;
  text-decoration: none;
  cursor: pointer;
  animation: fadeInUp 1.5s ease-out forwards;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: auto;
}


/* Flower Elements */
.flower-wrap {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.5);
  transform-origin: center;
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 10;
}

.flower-show {
  opacity: 1;
  transform: scale(1);
}

#flower {
  width: 60px;
}


/* Hero Section */
.roadside-hero {
  position: relative;
  width: 100%;
  height: 60vh;
  background-image: url('../Images/IMG_6756.JPG');
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-text {
  background-color: rgba(255, 255, 255, 0.8); 
  padding: 2rem 3rem;
  border-radius: 1rem;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.hero-text h1 {
  font-size: 2.8rem;
  font-family: 'Malibu', cursive;
  color: #8b6f47;
}

/* Roadside Info Section */
.roadside-details {
  padding: 4rem 2rem;
  background-color: #f6f8f4;
  text-align: center;
  width: auto;
  margin: auto;
}

.roadside-details h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #6b8e23;
  font-family: 'Malibu', serif;
}

.roadside-details p {
  font-size: 1.1rem;
  line-height: 1.8;
  font-family: 'Lemon_Tuesday';
}

/* Carousel Section */
.carousel-section {
  background-color: #fefdfc;
  padding: 3rem 2rem;
  text-align: center;
}

.carousel {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  padding-bottom: 1rem;
  scroll-snap-type: x mandatory;
}

.carousel-item {
  flex: 0 0 auto;
  width: 200px;
  scroll-snap-align: start;
  border-radius: 1rem;
  background-color: white;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  padding: 1rem;
}

.carousel-item img {
  width: 100%;
  border-radius: 0.5rem;
}

.carousel-item p {
  margin-top: 0.5rem;
  font-weight: bold;
  font-family: 'Playfair Display';
}

/* Chalkboard Section */
.chalkboard-section {
  background-color: #fdf0e7;
  padding: 3rem 2rem;
  font-family: 'Courier New', Courier, monospace;
  text-align: center;
}

.chalkboard-section h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #333;
}

.chalkboard {
  background-color: #333;
  color: white;
  padding: 2rem;
  border-radius: 0.75rem;
  font-size: 1.2rem;
  max-width: 600px;
  margin: auto;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}

/* Testimonials */
.testimonials {
  background-color: #e9f1e8;
  padding: 3rem 2rem;
  text-align: center;
}

.testimonials h2 {
  font-family: 'Malibu', serif;
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #5c775c;
}

.testimonial-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}

.testimonial {
  background-color: white;
  border: 1px solid #cde0cd;
  border-radius: 1rem;
  padding: 1.5rem;
  max-width: 300px;
  font-family: 'Playfair Display';
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Flower Facts Cards */
.flower-facts {
  padding: 4rem 2rem;
  background-color: #fefdfc;
}

.flower-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.card {
  background-color: white;
  border: 2px solid #a2b9a2;
  border-radius: 1rem;
  padding: 1.5rem;
  width: 280px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  font-family: 'Lemon_Tuesday';
}

.card h3 {
  color: #7d9d7d;
  margin-bottom: 1rem;
}

/* Call to Action */
.cta-banner {
  background-color: #d3e0d3;
  padding: 3rem 2rem;
  text-align: center;
}

.cta-banner h2 {
  font-size: 2rem;
  font-family: 'Malibu', serif;
  margin-bottom: 1rem;
}

.cta-banner button {
  padding: 0.8rem 2rem;
  background-color: #a2b9a2;
  border: none;
  color: white;
  font-family: 'Playfair Display';
  font-size: 1.1rem;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.cta-banner button:hover {
  background-color: #8da88d;
}


#copyright-text {
    font-family:'Courier New', Courier, monospace;
    color: gray;
    font-size: xx-small;
	text-align: center;
	Margin-top: 1rem;
    
}

/* Optional Code (might delete later) */

.map-container {
    position: relative;
    width: 50%;
    padding-bottom: 28.125%;
    height: 0;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.map-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}



/* Media */


@media (max-width: 600px) {
    #title {
        font-size: 45px;
    }

    .flower {
        width: 40px;
    }

    .about-us {
        font-size: 1.2rem;
    }
}


@media (max-width: 768px) {
  .carousel {
    flex-direction: column;
    align-items: center;
  }

  .flower-cards {
    flex-direction: column;
    align-items: center;
  }

  .testimonial-container {
    flex-direction: column;
    align-items: center;
  }
  .roadside-stand-info {
    padding: 20px;
    font-size: 1.2rem;
}

.roadside-stand-info h1 {
    font-size: 2.2rem;
}

.roadside-stand-info p {
    font-size: 1rem;
}

.hamburger {
    display: block;
  }

  .nav-links {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: rgba(162, 185, 162, 0.95);
    width: 100%;
    padding: 1rem;
    z-index: 9;
  }

  .nav-links.show {
    display: flex;
  }

  .nav-links h2 {
    margin: 0.5rem 0;
  }

  .top-nav {
    flex-wrap: wrap;
    height: auto;
    padding: 1rem;
  }

  #logo {
    max-width: 100px;
  }

}


@media (max-width: 1024px) {
    .top-nav {
        flex-direction: column;
        gap: 1rem;
    }

    #logo {
        max-width: 180px;
    }

    .section {
        flex-direction: column;
        align-items: center;
    }

    .link-container {
        flex-direction: column;
        font-size: 1rem;
    }

    #owners {
        width: 90%;
    }

    .about-us {
        font-size: 1.5rem;
    }

    #title {
        font-size: 60px;
    }
}

 /* Extra large screens */
  @media (min-width: 1440px) {
    #logo {
      max-width: 200px;
    }
  }