/* General Navbar Styles */
.navbar {
  display: flex;
  justify-content: space-between; /* Space between logo and nav items */
  align-items: center; /* Center items vertically */
}

/* Color Styles */
.nav-link:link {
  font-family: "Grandstander", cursive;
  color: #ecac58; /* Link color */
  font-size: 30px; /* Font size */
}

.nav-link:visited {
  color: #ecac58; /* Visited link color */
}

.nav-link:hover {
  color: #fbd3df; /* Hover color */
}

.logo {
  width: 200px; /* Logo size */
}

.bg-custom {
  background-color: #8b5e3c; /* Navbar background color */
}

/* Mobile Styles */
@media (max-width: 768px) {
  .navbar {
    flex-direction: column; /* Stack elements vertically */
    align-items: center; /* Center items */
  }

  .navbar-brand {
    margin-left: auto; /* Right-align logo on mobile */
  }

  .navbar-toggler {
    margin-bottom: 10px; /* Space below hamburger menu */
  }

  .navbar-collapse {
    width: 100%; /* Full width for mobile */
    display: flex;
    flex-direction: column; /* Stack nav items vertically */
    align-items: flex-start; /* Align nav items to the left */
  }

  .navbar-nav {
    width: 100%; /* Full width for nav items */
    display: flex;
    flex-direction: column; /* Stack nav items vertically */
    align-items: flex-start; /* Align nav items to the left */
  }

  .nav-item {
    width: 100%; /* Full width for each nav item */
    text-align: left; /* Align text to the left */
  }

  .search-login {
    width: 100%; /* Full width for search and login */
    display: flex;
    justify-content: space-between; /* Space between search and login */
    margin-top: 10px; /* Space above search and login */
  }
}

/* Desktop Styles */
@media (min-width: 769px) {
  .navbar-collapse {
    justify-content: center; /* Center nav items */
  }

  .navbar-brand {
    margin-left: 0; /* Left-align logo on desktop */
  }

  .navbar-nav {
    display: flex; /* Ensure nav items are displayed in a row */
    justify-content: center; /* Center nav items */
  }

  .nav-item {
    margin: 0 15px; /* Space between nav items */
  }
}

/* Custom styles for the Search button */
.btn-search {
  background-color: #fbd3df; /* Change background color */
  color: #8b5e3c; /* Change text color */
  border: none; /* Remove border */
  border-radius: 5px; /* Rounded corners */
  padding: 10px 15px; /* Adjust padding */
  transition: background-color 0.3s; /* Smooth transition for hover effect */
}

.btn-search:hover {
  color: #fbd3df; /* Change text color on hover */
  background-color: #9ca9b0; /* Darker background on hover */
}

/* Custom styles for the Login button */
.btn-login {
  background-color: #fbd3df; /* Change background color */
  color: #8b5e3c; /* Change text color */
  border: none; /* Remove border */
  border-radius: 5px; /* Rounded corners */
  padding: 10px 15px; /* Adjust padding */
  transition: background-color 0.3s; /* Smooth transition for hover effect */
}

.btn-login:hover {
  color: #fbd3df; /* Change text color on hover */
  background-color: #9ca9b0; /* Darker background on hover */
}

h1 {
  font-size: 50px;
  font-family: "Grandstander", cursive;
  font-weight:400;
  color: #ecac58;
}

h2 {
  font-size: 40px;
  font-weight:400;
  color: #8b5e3c;
}

h3 {
  font-size: 30px;
  font-weight:300;
  color: #8b5e3c;
}

h4 {
  font-size: 20px;
  font-weight:250;
  color: #8b5e3c;
}

h5 {
  font-weight:700;
}

h6 {
  font-style:italic;
  font-weight:200;
}

.note {
  font-style:italic;
}

.price {
  font-size: 15px;
  font-weight: bold;
  font-style: oblique;
  color: #8b5e3c;
}

.content {
  margin-bottom: 125px; /* Adjust the value as needed */
}

/* start of Contact Form */
.contact-form {
  max-width: 475px; /* Set the maximum width of the form */
  margin: 0 auto; /* Center the form */
}

.form-group {
  display: flex; /* Use flexbox for alignment */
  flex-direction: column; /* Stack label and input vertically */
  margin-bottom: 15px; /* Space between form groups */
}

label {
  margin-bottom: 5px; /* Space between label and input */
}

input[type="text"],
input[type="email"],
textarea {
  width: 100%; /* Make inputs take full width of the parent */
  max-width: 475px; /* Ensure inputs do not exceed 475px */
  box-sizing: border-box; /* Include padding and border in the element's total width */
  padding: 10px; /* Add some padding for better appearance */
  border: 1px solid #ccc; /* Add a border */
  border-radius: 4px; /* Rounded corners */
}

.contact-button {
  width: 100%; /* Make the button take full width */
  max-width: 475px; /* Ensure button does not exceed 475px */
  padding: 10px; /* Add padding for better appearance */
  background-color: #fbd3df; 
  color: #8b5e3c; /* Text color */
  border: none; /* Remove border */
  border-radius: 4px; /* Rounded corners */
  cursor: pointer; /* Change cursor on hover */
}

.contact-button:hover {
  color: #fbd3df;
  background-color: #9ca9b0; 
} /* end of Contact Form */

.bi {
  color: #8b5e3c;
  font-size: 40px; /* Default size for desktop */
  margin-right: 10px;
  margin-left: 10px;
}

.bi-contact-color {
  color: #8b5e3c; /* Social Media icon color in Follow Us section of Contact Us page */
}

a {
  text-decoration: none; /* removes underline from Social Media links in Follow Us section of Contact Us page */
  color: inherit; 
}

.footer {
  background-color: #9ca9b0;
  color: #8b5e3c;
  font-family: "Roboto", sans-serif;
  min-height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center; 
  padding: 0.5rem 0;
}

.image-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer h5, .footer h6, .footer p {
  margin: 0; /* Remove margins */
  font-size: 1rem; /* Adjust font size */
}

.footer-column {
  padding: 10px;
  display: flex;
  justify-content: center;
}

.social-media {
  display: flex;
  justify-content: center; /* Center icons */
}

.social-media-icons {
  display: flex;
  flex-direction: row; /* Horizontal layout */
  gap: 5px; /* Space between icons */
}

.company-name-address, .phone-email-copyright {
  display: flex;
  flex-direction: column; /* Keep items in a column */
}

/* Media Queries */
@media (max-width: 768px) {
  .footer {
    display: flex;
    flex-direction: row; /* Arrange in rows */
    justify-content: space-between; /* Space between columns */
    padding: 0.5rem 0; /* Smaller padding */
    column-gap: 4px; /* Adjust this value to reduce the gap between columns */
  }

  .bi { 
    font-size: 24px; /* Smaller size for mobile */ 
  }

  .social-media {
    flex: 0 0 55px; /* Set fixed width for social media icons */
    justify-content: center; /* Center icons */
    padding: 0; /* Remove padding */
    margin: 0; /* Remove margin */
  }

  .social-media-icons {
    flex-direction: row; /* Keep icons in a row */
    align-items: center; /* Center icons vertically */
    justify-content: center; /* Center icons */
  }

  .company-name-address {
    text-align: left; /* Align text to the left */
    flex: 1 1 40%; /* Allow to take lower percentage of available space */
    margin: 0; /* Ensure no additional margin is causing the gap */
  }

  .phone-email-copyright {
    text-align: right; /* Align text to the right */
    flex: 1 1 49%; /* Allow to take higher percentage of available space */
    margin: 0; /* Ensure no additional margin is causing the gap */
  }

  .footer h5, .footer h6, .footer p {
    font-size: 0.875rem; /* Reduce font size for mobile */
  }
}

@media (max-width: 577px) {
  .image-container {
    flex-direction: column; /* Align images vertically */
    justify-content: left;
  }
}