/* For Chrome and Safari */
::-webkit-scrollbar {
    width: 12px;
}

::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 20px;
}

::-webkit-scrollbar-thumb {
    background-color: #5a442a; 
    border-radius: 20px;
    border: 3px solid #f0f0f0;
}

.main{
    overflow-x: hidden;
}


body {
    font-family: Arial, sans-serif;
    color: #333;
    background-color: #f0f0f0;
    overflow-x: hidden;

}

header, footer {
    background-color: #f8f9fa;
}

header h1, footer h2 {
    color: #5a442a;
}

.header-logo {
    max-width: 100px; /* Adjust as needed */
    height: auto;
    display: block;
    margin: 0 auto 20px auto; /* Adds margin below the image */
}

.nav-link {
    color: #5a442a;
}

.nav-item.border-right {
    border-right: 1px solid #333;
    padding-right: 10px;
    margin-right: 10px;
}

/* Enhancements for navigation on all screens */
nav ul.nav {
    list-style: none; /* Removes bullet points */
    padding: 0;
    display: flex; /* By default, display links in a row */
    flex-wrap: wrap; /* Allow the items to wrap if there isn't enough space */
}

nav ul.nav li.nav-item {
    margin: 5px; /* Space around each nav item */
    transition: background-color 0.3s; /* Smooth transition for hover effects */
}

nav ul.nav li.nav-item:hover {
    background-color: #eaeaea; /* A light grey background on hover */
}

nav a.nav-link {
    padding: 10px 15px; /* Increase padding for better click/touch area */
    text-decoration: none; /* Removes the underline */
    display: block; /* Makes the entire list item clickable, not just the text */
    transition: color 0.3s; /* Smooth transition for color changes */
}

nav a.nav-link:hover {
    color: #333; /* Darkens the link color on hover */
}

/* Mobile-specific enhancements */
@media screen and (max-width: 768px) {
    nav ul.nav {
        flex-direction: column; /* Stack the links vertically */
    }

    nav ul.nav li.nav-item {
        width: 100%; /* Each nav item takes up the full width */
        text-align: center; /* Centers the link text */
    }

    nav ul.nav li.nav-item.border-right {
        border-right: none; /* Removes right borders on mobile */
        border-bottom: 1px solid #333; /* Adds a bottom border instead */
    }

    nav ul.nav li.nav-item:last-child {
        border-bottom: none; /* Removes the bottom border from the last item */
    }
}

/* Styles for new header and link section */
.products-header {
    font-size: 2.5rem;
    color: #5a442a;
    margin-bottom: 1rem;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

.products-link a {
    font-size: 1.25rem;
    color: #d2b48c;
    text-decoration: none;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.products-link a:hover,
.products-link a:focus {
    color: #5a442a;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
    text-decoration: underline;
}


section h2 {
    color: #5a442a;
}

#products img {
    border-radius: 5px;
    margin-bottom: 15px;
}

#products .card {
    max-width: 300px;
    margin: auto;
    background-color: #f8f9fa;
    padding-top: 20px;
    margin-bottom: 30px; /* Add this line */
}

.img-placeholder {
    filter: blur(10px);
    transition: filter 0.3s ease-in-out;
}

.img-placeholder-loaded {
    filter: blur(0);
}


@media only screen and (min-width: 360px) and (max-width: 640px) {
    #products .card {
      max-width: 100%;
    }
  }

@media (max-width: 768px) {
  #products .card {
    max-width: 100%;
  }
}


.card-title{
    text-decoration: underline;
}

#products .card img {
    border-radius: 5px;
}

#products .card-body {
    color: #5a442a;
}

#products .carousel-item {
    height: 300px;
}

#products .big-image {
    max-height: 400px;
    object-fit: cover;
}


@media only screen and (min-width: 360px) and (max-width: 640px) {
    #products .carousel-item {
      height: auto;
    }
  }

@media (max-width: 768px) {
  #products .carousel-item {
    height: auto;
  }
}


#products .carousel-item img {
    max-height: 100%;
    object-fit: cover;
}

#products .carousel-control-prev-icon {
    filter: invert(1);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%235a442a' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");}

#products .carousel-control-next-icon {
    filter: invert(1);
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%235a442a' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l4 4-4 4L1.25 6.5l2.5-2.5L1.25 1.5 2.75 0z'/%3E%3C/svg%3E");
}


#products .carousel-control-prev-icon:visited,
#products .carousel-control-next-icon:visited {
    filter: invert(1);
}

#custom-orders {
    background-color: #f8f9fa;
    padding: 50px 0;
    border-radius: 15px; /* Increase corner rounding */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease; /* Add transition */
}

.custom-img {
    height: 300px;
    object-fit: cover;
}

.image-label {
    font-size: 18px;
    color: #5a442a;
    font-weight: bold;
}


#custom-orders:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}


#custom-orders h2 {
    color: #5a442a;
}

#custom-orders p {
    color: #5a442a;
    font-size: 18px;
    margin-bottom: 30px;
}

#custom-orders img {
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease; /* Add transition */
}

#custom-orders img:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transform: translateY(-10px); /* Add a lift effect */
}


#custom-orders .col-md-4 {
    padding: 0 15px;
}

.first-custom-img {
    padding-left: 20px; /* adjust padding as needed */
}

.third-custom-img {
    padding-right: 20px; /* adjust padding as needed */
}

#carouselCustomDeck .carousel-control-prev,
#carouselCustomDeck .carousel-control-next {
    display: none;
}

.carousel .carousel-item {
    transition: opacity 1s;
}
.carousel-item:not(.active) {
    position: absolute;
    top: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s;
}


.custom-creation-card {
    line-height: 2.2rem;
    background-color: #fff; /* White background */
    padding: 30px; /* Padding around the content */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    margin-top: 20px; /* Space above */
    margin-bottom: 20px; /* Space below */
}

/* Default mobile styles - stack vertically */
.inspiration-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 20px;
}

.order-online-link {
    display: inline-block;
    padding: 10px 20px;
    margin-top: 30px;
    margin-bottom: 10px;
    background-color: #d2b48c; /* Lighter color for background */
    color: #5a442a; /* Darker color for text */
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.order-online-link:hover,
.order-online-link:focus {
    background-color: #5a442a; /* Darker color for background */
    color: #ffffff; /* Lighter color for text */

}

.inspiration-callout {
    font-size: 18px; /* slightly larger than the base font size */
    background-color: #f8f9fa; /* soft background color */
    display: block;
    text-align: center;
    margin-bottom: 10px; /* Add some spacing between the paragraph and the link */
    padding: 8px 16px; /* some padding */
    border-radius: 20px; /* rounded edges */
    margin: 16px 0; /* some margin to stand out */
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); /* subtle shadow for depth */
    position: relative; /* for pseudo-element positioning */
}


#project-gallery h2 {
    color: #5a442a;
    margin-bottom: 20px;
}

#project-gallery .text-center p {
    font-size: 18px; /* Slightly larger font size for emphasis */
    color: #5a442a; /* Harmonizing with the aesthetic */
    font-weight: 500; /* Medium weight for subtlety */
    margin-top: -10px; /* Adjust as needed for spacing */
    text-shadow: 1px 1px 2px rgba(0,0,0,0.1); /* Optional: subtle shadow for depth */
}


.project-entry {
    margin-bottom: 30px;
}

.project-images img {
    margin-bottom: 15px;
    border-radius: 5px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.project-card {
    background-color: #fff; /* White background */
    padding: 20px; /* Padding inside the card */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    border-radius: 5px; /* Optional: rounded corners */
    margin-bottom: 20px; /* Space between cards if stacked or next to each other */
}

/* Base styles for h3 and p to ensure centered text */
.project-card h3,
.project-card p {
  text-align: center;
  margin: 0 auto; /* Center align */
  padding: 0.5em; /* Add padding for visual comfort */
}

/* Enhancements to make text more engaging and attractive */
.project-card h3 {
  color: #5a442a; /* Color matching the aesthetic */
  font-weight: 600; /* Slightly bolder for emphasis */
  letter-spacing: 0.5px; /* Subtle spacing to enhance readability */
  text-transform: uppercase; /* Optional: uppercase styling */
  margin-top: 20px; /* Add space above the title */
}

.project-card p {
  color: #333;
  font-size: 16px; /* Readable font size */
  line-height: 1.6; /* Improve line spacing */
  margin-bottom: 20px; /* Add space below the paragraph */
}


.additional-images img {
    width: 100px;
    height: auto;
    display: inline-block;
    margin-right: 10px;
    border-radius: 5px;
}

/* Price tag styles */
.price-tag {
    background-color: #f8f9fa; /* Light background to match the card */
    padding: 10px 0; /* Padding for the price tag */
    border-top: 1px solid #e0e0e0; /* Subtle border to separate the price tag */
    border-radius: 0 0 10px 10px; /* Match the card's border radius */
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

.price-tag p.price {
    color: #5a442a; /* Harmonize with the rest of the design */
    font-size: 1.5rem; /* Slightly larger font size */
    font-weight: 600; /* Bold for emphasis */
    margin: 0; /* Remove default margin */
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); /* Subtle text shadow for depth */
    text-align: center; /* Center align the text */
}

.price-tag p.price::before {
    content: ''; /* Placeholder content */
    display: block; /* Make it a block element */
    height: 3px; /* Height of the accent line */
    width: 50px; /* Width of the accent line */
    background: #5a442a; /* Color of the accent line */
    margin: 0 auto 10px auto; /* Center align and add margin below */
    border-radius: 3px; /* Round the edges */
}



/* Testimonial Styles */
#customer-testimonials {
    background-color: #f8f9fa;
    padding: 50px 0;
    border-radius: 15px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

#customer-testimonials h2 {
    color: #5a442a;
}

.testimonial-img {
    margin-left: 50px;
    height: 300px;
    object-fit: cover;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.testimonial-img:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transform: translateY(-10px);
}

.testimonial-text {
    color: #5a442a;
    font-size: 18px;
    font-style: italic;
    padding: 20px;
    background: #f0f0f0;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

.testimonial-text footer {
    margin-top: 15px;
    font-size: 16px;
}





#contact {
    background-color: #f8f9fa;
    padding: 50px 0;
}

#contact h2 {
    text-align: center;
    color: #5a442a;
}

.project-inquiry {
    text-align: center;
    padding: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    font-family: Arial, sans-serif;
    color: #333;
    background-color: #f8f9fa;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    transition: box-shadow 0.3s ease-in-out; /* Add transition effect */
}

.project-inquiry p {
    margin: 0;
    padding: 10px;
}

.project-inquiry:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); /* Add a bigger shadow on hover */
}

.contact-info {
    display: flex;
    justify-content: space-around;
    margin-top: 40px;
}

.contact-info div {
    text-align: center;
    width: 30%; /* adjust as needed */
    padding: 20px;
    background: #f0f0f0;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

.contact-info div:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.logo-container {
    text-align: center;
    margin-top: 50px;
}

.logo-container a img {
    max-width: 400px;
    height: auto;
    transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
    cursor: pointer;  /* Change cursor to pointer */
    border-radius: 400px;
}

.logo-container a img:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transform: translateY(-10px);
}

.developer-info {
    text-align: center;
    margin-top: 20px;
    padding: 20px;
    background: #f8f9fa;
}

.developer-info a {
    color: #5a442a;
    text-decoration: none;
}

.developer-info p {
    margin: 0;
    padding: 5px 0;
}

.developer-logo {
    max-width: 100px; /* Adjust as needed */
    height: auto;
    display: block;
    margin: 0 auto; /* Center the image */
}

/* Back to top button */
#back-to-top-btn {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    font-size: 18px;
    border: none;
    outline: none;
    background-color: #5a442a;
    color: white;
    cursor: pointer;
    padding: 15px;
    border-radius: 4px;
    transition: background-color 0.3s ease-in-out; /* Transition effect for smooth animation */
}

.navbar-toggler {
    border: none;
    background: transparent;
}

.navbar-toggler .navbar-toggler-icon {
    display: inline-block;
    width: 30px;
    height: 3px;
    background-color: #5a442a;
    position: relative;
}

.navbar-toggler .navbar-toggler-icon::before,
.navbar-toggler .navbar-toggler-icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: #5a442a;
    top: -10px;
}

.navbar-toggler .navbar-toggler-icon::after {
    top: 10px;
}

.social-media-logo {
    max-width: 100%;
    height: auto;
    display: block; /* Centers the logo if the width is less than 100% */
    margin: 0 auto; /* Adds margin below the image */
}


/* Hover effect for the social media logo */
.social-media-logo:hover {
    transform: scale(1.05); /* Slightly enlarges the logo */
    transition: transform 0.3s ease; /* Smooth transition for scaling */
}

/* Active effect for the social media logo to simulate a 'raise' when clicked */
.social-media-logo:active {
    transform: translateY(-3px); /* Moves the logo up a bit */
}



@media only screen and (max-width: 576px) {
    .project-entry {
        padding: 0 5px; /* Less lateral padding on the smallest screens */
    }

    .project-card {
        margin-bottom: 10px; /* Even less space between cards */
    }

    .project-card h3 {
        font-size: 18px; /* Even smaller font size for the title */
    }

    .project-card p {
        font-size: 12px; /* Even smaller font size for the description */
    }

    .project-images img {
        max-height: 150px; /* Even smaller images */
    }

    .project-card h3 {
        font-size: 18px; /* Even smaller font size for mobile */
      }
    
      .project-card p {
        font-size: 14px; /* Reduced font size for mobile readability */
      }
}



/* Mobile Responsive CSS for customer testimonials */

@media only screen and (max-width: 640px) {
    #customer-testimonials .col-md-6 {
        padding: 0 15px; /* Give some space on the sides */
        margin-bottom: 20px; /* Space between image and text or between two testimonials */
    }

    #customer-testimonials .testimonial-img {
        margin-left: 0; /* Reset the margin to occupy full width */
        width: 100%; /* Ensure the image takes the full width of the container */
        height: auto; /* Maintain the aspect ratio of the image */
        max-height: none; /* Remove any max-height restrictions */
        object-fit: cover; /* Ensure the image scales correctly */
    }

    #customer-testimonials .testimonial-text {
        font-size: 16px; /* Adjust font size for smaller screens */
    }
}

@media only screen and (min-width: 641px) and (max-width: 768px) {
    #customer-testimonials .col-md-6 {
        padding: 0 10px; /* Adjust padding slightly for medium screens */
    }

    #customer-testimonials .testimonial-img {
        margin-left: 25px; /* Adjust margin for medium screens */
        max-width: 90%; /* Limit the image width to 90% of the container to leave some space */
        height: auto; /* Ensure the height adjusts based on the width */
    }
}


@media only screen and (min-width: 360px) and (max-width: 640px) {
    #back-to-top-btn {
      bottom: 10px;
      right: 10px;
    }
  }

@media (max-width: 768px) {
  #back-to-top-btn {
    bottom: 10px;
    right: 10px;
  }
}

#back-to-top-btn:hover {
    background-color: #d2b48c; /* Tan color */
    color: #5a442a; /* Same color as the original button color for contrast */
}


@media screen and (max-width: 768px) {
    .contact-info {
        flex-direction: column;
        align-items: center;
    }

    .contact-info div {
        width: 70%;  /* Adjust as needed */
        margin-bottom: 20px;
    }

    .social-media-logo {
        width: 50%; /* You can adjust this value for mobile devices */
    }

    .additional-images img {
        width: 80px; /* Smaller images on smaller screens */
    }

    .inspiration-callout {
        display: block; /* take full width */
        text-align: center; /* center the text */
        margin: 16px auto; /* centered margin */
        font-size: 16px; /* slightly smaller font size for mobile screens */
    }

    .inspiration-callout::before {
        margin: 0 auto; /* center the icon */
        display: block;
    }
}

@media screen and (max-width: 320px) {
    .logo-container a img {
        max-width: 100%;  /* Adjust as needed */
    }
}

@media screen and (max-width: 768px) {
    .logo-container a img {
        max-width: 80%;  /* Adjust as needed */
    }
}


@media screen and (max-width: 768px) {
    .developer-logo {
        max-width: 60px;
    }
}


@media screen and (max-width: 768px) {
    header {
        position: fixed; /* Fixed position to stick at the top */
        width: 100%; /* Full width */
        top: 0; /* Stick to the top */
        z-index: 1000; /* Higher than other elements */
    }

    header h1 {
        display: none;
    }

    .header-logo {
        max-width: 120px; /* Adjust as needed */
        margin: 0 auto; /* Center the logo */
    }

    .products-header {
        font-size: 2rem;
    }

    .products-link a {
        font-size: 1rem;
    }

    body {
        padding-top: 183px; /* Replace [HeaderHeight] with the actual height of your header */
    }

    .products{
        margin-top: 50px;
    }

    .project-card {
        padding: 10px; /* Less padding on smaller screens */
        margin-bottom: 15px; /* Less space between cards */
    }

    .project-card h3 {
        font-size: 20px; /* Smaller font size for the title */
    }

    .project-card p {
        font-size: 14px; /* Smaller font size for the description */
    }

    .project-images .carousel-item img {
        display: block; /* Ensure the image is a block element */
        margin-left: auto; /* Auto margin to the left */
        margin-right: auto; /* Auto margin to the right */
      }
    
      /* Additional styles to ensure proper display on smaller screens */
      .project-images {
        text-align: center; /* Align inline-elements (like images) to the center */
      }

    .project-images img {
        max-height: 200px; /* Smaller images on smaller screens */
        object-fit: cover; /* Ensure the images cover the area properly */
    }

    .project-images .carousel-indicators li {
        width: 10px; /* Smaller indicators */
        height: 10px; /* Smaller indicators */
        border-radius: 50%; /* Make them round */
    }

    .project-images .carousel-control-prev-icon,
    .project-images .carousel-control-next-icon {
        width: 20px; /* Smaller control icons */
        height: 20px; /* Smaller control icons */
    }
}

@media screen and (min-width: 769px) {
    header {
        top: 0;
        width: 100%;
        z-index: 1030; /* Bootstrap's default z-index for a fixed navbar is 1030 */
    }

    .navbar-toggler {
        display: none;
    }

    .collapse {
        display: block !important; /* Ensures that the collapse class displays the content */
    }

    /* Ensure the navigation links are visible */
    nav ul.nav {
        display: flex;
        justify-content: center; /* Horizontally centers the navigation links */
    }

    .project-entry {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .project-images img {
        width: 100%; /* Ensures images take full width of their container */
    }

    .social-media-logo {
        width: 20%; /* You can adjust this value for desktop */
    }
    
}


/* Size down h3 on larger screens */
@media screen and (min-width: 992px) {
    .project-card h3 {
      font-size: 22px; /* Slightly smaller than base size */
    }

    .inspiration-section {
        flex-direction: row; /* Set side by side */
        justify-content: center; /* Center the items horizontally */
        align-items: center; /* Center the items vertically */
        margin-bottom: 50px;
    }

    .inspiration-callout {
        margin-right: 20px; /* Add space between the callout and the link */
        margin-bottom: 0; /* Remove the margin-bottom from mobile layout */
        text-align: left; /* Align the text to the left */
    }

    .order-online-link {
        margin-bottom: 0; /* Remove the margin-bottom from mobile layout */
    }
}
  
/* Responsive adjustments for smaller screens */
@media screen and (max-width: 991px) {
    .project-card h3 {
        font-size: 20px; /* Adjust size for smaller screens */
    }

    .project-card p {
        font-size: 15px; /* Slightly smaller font size */
    }
}


/* Size down h3 on larger screens */
@media screen and (min-width: 1024px) {
    .project-card h3 {
        line-height: 2.0rem;;
      font-size: 22px; /* Slightly smaller than base size */
    }
  }