body { font-family: 'Montserrat', sans-serif; color: #333; margin: 0; padding: 0; box-sizing: border-box; background-color: #FAF3E0; /* Warm, cozy background color */ } .header { display: flex; flex-direction: column; align-items: center; background-color: #888; /* Slightly lighter background color */ color: #fff; padding: 20px 0; } .container { width: 90%; max-width: 1600px; /* Increase max-width to allow more items in a line */ margin: 0 auto; } .logo { margin-bottom: 10px; /* Add some space between the logo and navigation */ display: flex; justify-content: center; /* Center the logo */ } .logo img { width: 150px; height: auto; margin-bottom: 20px; border: 2px solid #fff; box-shadow: 0 0 10px #9b9b9b; } .topnav { overflow: hidden; background-color: #333; position: relative; display: flex; justify-content: center; /* Center the navigation links on desktop */ align-items: center; } .topnav a { display: block; color: #f2f2f2; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } .topnav a:hover { background-color: #4b4b4b; color: black; } .topnav a.active { background-color: #91c993; color: white; } .topnav a.icon { display: none; } .products { padding: 60px 0; text-align: center; } .products h2 { font-family: 'Playfair Display', serif; font-size: 2.5em; margin-bottom: 20px; } .product-grid { display: flex; justify-content: space-between; /* Spread items out evenly */ flex-wrap: wrap; gap: 20px; /* Space between items */ } .product-card { background-color: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); flex: 1 1 calc(30% - 20px); /* Make each product card flexible */ margin-bottom: 20px; box-sizing: border-box; /* Ensure padding and borders are included in the width */ } .product-card img { width: 80%; border-radius: 10px; margin-bottom: 15px; } .product-card h3 { font-size: 1.5em; margin-bottom: 10px; } .product-card p { font-size: 1em; } .product-card button { background-color: #333; color: #fff; padding: 10px 20px; text-decoration: none; font-weight: bold; border-radius: 5px; border: none; cursor: pointer; } .product-card button:hover { background-color: #FFD700; color: #333; } .hero { position: relative; overflow: hidden; text-align: center; height: 60vh; /* Adjust height as needed */ } .carousel { position: relative; height: 100%; } .carousel-inner { display: flex; transition: transform 0.5s ease-in-out; height: 100%; } .carousel-item { position: absolute; opacity: 0; transition: opacity 1s ease-in-out; /* Smooth fade effect */ width: 100%; height: 100%; box-sizing: border-box; } .carousel-item.active { opacity: 1; position: relative; } .carousel-item img { width: 100%; height: 100%; object-fit: cover; /* Ensure images cover the container without distortion */ } .carousel-caption { position: absolute; bottom: 20%; left: 50%; transform: translateX(-50%); color: #fff; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); background: rgba(0, 0, 0, 0.5); /* Semi-transparent background for better readability */ padding: 20px; border-radius: 10px; max-width: 90%; /* Ensure the caption doesn't overflow */ text-align: center; } .carousel-caption h1 { font-family: 'Playfair Display', serif; font-size: 3em; margin-bottom: 20px; } .carousel-caption p { font-size: 1.2em; margin-bottom: 20px; } .carousel-caption .btn { background-color: #FFD700; color: #333; padding: 10px 20px; text-decoration: none; font-weight: bold; border-radius: 5px; } .prev, .next { position: absolute; top: 50%; transform: translateY(-50%); color: #fff; font-size: 2em; cursor: pointer; padding: 16px; margin-top: -22px; user-select: none; } .prev { left: 10px; } .next { right: 10px; } .prev:hover, .next:hover { background-color: rgba(0, 0, 0, 0.8); } .about, .products, .contact { padding: 60px 0; text-align: center; } .about h2, .products h2, .contact h2 { font-family: 'Playfair Display', serif; font-size: 2.5em; margin-bottom: 20px; } .about p, .products p, .contact p { font-size: 1.1em; line-height: 1.8; margin-bottom: 20px; max-width: 800px; margin-left: auto; margin-right: auto; } .product-grid { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; } .product-card { background-color: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); flex: 1 1 calc(30% - 20px); margin-bottom: 20px; box-sizing: border-box; } .product-card img { width: 100%; border-radius: 10px; margin-bottom: 15px; } .product-card h3 { font-size: 1.5em; margin-bottom: 10px; } .product-card p { font-size: 1em; } .productbtn { background-color: #333; color: #fff; padding: 10px 20px; text-decoration: none; font-weight: bold; border-radius: 5px; } .contact .btn { background-color: #333; color: #fff; padding: 10px 20px; text-decoration: none; font-weight: bold; border-radius: 5px; } .news { padding: 60px 0; text-align: center; } .news h2, .news h3 { font-family: 'Playfair Display', serif; } .news h2 { font-size: 2.5em; margin-bottom: 20px; } .news h3 { font-size: 1.8em; margin-bottom: 15px; } .news p { font-size: 1.1em; line-height: 1.8; margin-bottom: 20px; max-width: 800px; margin-left: auto; margin-right: auto; } .news img { width: 30%; border-radius: 10px; margin-bottom: 20px; } .footer { background-color: #333; color: #fff; padding: 20px 0; text-align: center; } .footer .social-media a { color: #FFD700; margin: 0 10px; font-size: 1.5em; text-decoration: none; } .footer .social-media a:hover { color: #fff; } .error-404 { padding: 100px 0; text-align: center; } .error-404 h1 { font-size: 6em; font-family: 'Playfair Display', serif; color: #FFD700; /* Gold color for emphasis */ } .error-404 h2 { font-size: 2.5em; margin-bottom: 20px; } .error-404 p { font-size: 1.2em; margin-bottom: 30px; } .error-404 .btn { background-color: #333; color: #fff; padding: 10px 20px; text-decoration: none; font-weight: bold; border-radius: 5px; } .error-404 .btn:hover { background-color: #FFD700; color: #333; } .form-group { margin-bottom: 15px; } .form-group label { display: block; font-weight: bold; margin-bottom: 5px; } .form-group input, .form-group textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; } .form-group textarea { resize: vertical; height: 150px; } button.btn { background-color: #333; color: #fff; padding: 10px 20px; border: none; border-radius: 5px; cursor: pointer; } button.btn:hover { background-color: #555; } /* Media Queries for Responsiveness */ @media (max-width: 768px) { .product-card { width: calc(50% - 20px); } .products p { font-size: 1em; max-width: 90%; } } @media (max-width: 768px) { .news p { font-size: 1em; max-width: 90%; } } @media (max-width: 480px) { .news p { font-size: 0.9em; max-width: 90%; } } @media (max-width: 768px) { .hero { height: 40vh; /* Adjust height for smaller screens */ } .carousel-caption h1 { font-size: 2em; } .carousel-caption p { font-size: 1em; } .prev, .next { font-size: 1.5em; } .about p { font-size: 1em; max-width: 90%; } } @media (max-width: 480px) { .hero { height: 30vh; /* Adjust height for smaller screens */ } .carousel-caption h1 { font-size: 1.5em; } .carousel-caption p { font-size: 0.8em; } .prev, .next { font-size: 1.2em; } .about p { font-size: 0.9em; max-width: 90%; } } @media screen and (max-width: 600px) { .topnav a:not(:first-child) { display: none; } .topnav a.icon { float: right; display: block; } .topnav.responsive { flex-direction: column; align-items: flex-start; background-color: #333; } .topnav.responsive .icon { position: absolute; right: 0; top: 0; background-color: #808080; } .topnav.responsive a { float: none; display: block; text-align: left; width: 100%; color: #f2f2f2; } .product-grid { flex-direction: column; } .product-card { width: 100%; } }