/* UNIFIED COLOR SCHEME & VARIABLES */ :root { /* Primary Colors */ --primary-color: #30875f; /* Green */ --secondary-color: #e84e0f; /* Orange */ --light-bg: #f9f9f9; --dark-bg: #333; /* Text Colors */ --text-dark: #333; --text-medium: #555; --text-light: #666; /* Common Spacing */ --section-padding: 80px 0; --container-width: 1200px; --card-padding: 30px; --border-radius: 12px; /* Transitions */ --transition-speed: 0.3s ease; /* Shadows */ --card-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); --card-shadow-hover: 0 12px 25px rgba(0, 0, 0, 0.12); } /* BASE STYLES */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: Arial, sans-serif; } body { color: var(--text-dark); } a { text-decoration: none; color: inherit; } a:visited, a:active { color: inherit; } a:hover { text-decoration: none; } /* UNIFIED SECTION STYLING */ .section-container { max-width: var(--container-width); margin: 0 auto; padding: 0 20px; } .section-header { text-align: center; margin-bottom: 50px; } .section-title { font-size: 32px; font-weight: 700; text-transform: uppercase; margin-bottom: 15px; } .section-subtitle { font-size: 18px; color: var(--text-light); max-width: 700px; margin: 0 auto; } /* UNIFIED CARD DESIGN */ .card { background-color: white; border-radius: var(--border-radius); box-shadow: var(--card-shadow); transition: transform var(--transition-speed), box-shadow var(--transition-speed); overflow: hidden; } .card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); } .card-icon { width: 70px; height: 70px; background-color: rgba(48, 135, 95, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 15px; } .card-icon i { font-size: 28px; color: var(--primary-color); } .card-title { font-size: 18px; font-weight: 600; margin-bottom: 15px; } .card-description { font-size: 14px; line-height: 1.6; color: var(--text-light); } /* Navigation overlay styling - ONLY for home page */ .nav-container { position: relative; z-index: 1000; margin-bottom: -25px; } /* BANNER SECTION - MANUAL SLIDESHOW */ .banner { position: relative; z-index: 999; margin-top: 0; overflow: hidden; background: #000; height: 80vh; max-height: 800px; min-height: 400px; } .banner-container { display: flex; width: 500%; height: 100%; transition: transform 0.5s ease-in-out; } .banner-item { width: 20%; flex-shrink: 0; position: relative; height: 100%; display: flex; align-items: center; justify-content: center; background: #000; overflow: hidden; } /* Main image styling - fill without cropping */ .banner img { width: 100%; height: 100%; object-fit: fill; object-position: center; display: block; } /* Vimeo Video Container */ .video-container { position: relative; width: 100%; height: 100%; background: #000; } .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } /* Add elegant background overlays for any potential minimal letterboxing */ .banner-item::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient( 135deg, rgba(26, 58, 39, 0.1) 0%, rgba(45, 107, 74, 0.1) 50%, rgba(61, 138, 95, 0.1) 100% ); pointer-events: none; z-index: 1; } /* Manual slideshow controls */ .banner-controls { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 1000; } .banner-dot { width: 12px; height: 12px; border-radius: 50%; background: rgba(255, 255, 255, 0.5); border: 2px solid rgba(255, 255, 255, 0.8); cursor: pointer; transition: all 0.3s ease; } .banner-dot.active { background: white; transform: scale(1.2); } .banner-dot:hover { background: rgba(255, 255, 255, 0.8); } .banner-nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(0, 0, 0, 0.5); color: white; border: none; width: 50px; height: 50px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 20px; transition: all 0.3s ease; z-index: 1000; } .banner-nav:hover { background: rgba(0, 0, 0, 0.8); transform: translateY(-50%) scale(1.1); } .banner-prev { left: 20px; } .banner-next { right: 20px; } .banner + section, .banner + .products-section { margin-top: 25px; } /* PRODUCT SECTION */ .products-section { background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); padding: 80px 0; position: relative; } .section-title { color: #2d8f47; font-size: 2.5rem; font-weight: bold; text-align: center; margin-bottom: 3rem; position: relative; } .section-title::before, .section-title::after { content: ""; position: absolute; top: 50%; width: 60px; height: 2px; background-color: #2d8f47; } .section-title::before { left: -80px; } .section-title::after { right: -80px; } .flower-icon { color: #ffc107; font-size: 2rem; margin: 0 20px; } .product-card { background: white; border-radius: 15px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); overflow: hidden; transition: all 0.3s ease; height: 100%; margin-bottom: 30px; } .product-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); } .product-image { width: 100%; height: 250px; object-fit: cover; transition: transform 0.3s ease; } .product-card:hover .product-image { transform: scale(1.05); } .product-content { padding: 25px; } .product-title { color: #2d8f47; font-size: 1.3rem; font-weight: bold; margin-bottom: 15px; border-bottom: 2px solid #2d8f47; padding-bottom: 10px; } .product-description { color: #666; font-size: 0.95rem; line-height: 1.6; text-align: justify; } .decorative-bg { position: absolute; bottom: -50px; left: 50%; transform: translateX(-50%); width: 200px; height: 100px; background: rgba(45, 143, 71, 0.1); border-radius: 50%; z-index: 1; } /* ABOUT SECTION */ .about-section { background: #f8f9fa; padding: 80px 0; position: relative; overflow: hidden; } .about-section::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url('data:image/svg+xml,'); background-size: 200px 200px; opacity: 0.5; } .about-container { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; padding: 0 20px; } .about-subtitle { color: #ff6b35; font-size: 1rem; font-weight: 500; margin-bottom: 15px; letter-spacing: 0.5px; text-transform: uppercase; } .about-title { color: #28a745; font-size: clamp(1.2rem, 2.5vw, 2rem); font-weight: 700; margin-bottom: 20px; line-height: 1.2; text-transform: uppercase; white-space: nowrap; text-align: center; } .about-title-underline { width: 150px; height: 4px; background: linear-gradient(90deg, #ff6b35, #f7931e); margin-bottom: 40px; border-radius: 2px; } .about-description { color: #495057; line-height: 1.8; margin-bottom: 25px; font-size: 1rem; text-align: justify; } .about-features-section { margin-top: 50px; } .about-features-title { color: #ff6b35; font-size: 1.3rem; font-weight: 700; margin-bottom: 25px; text-transform: uppercase; } .about-feature-item { margin-bottom: 25px; } .about-feature-number { color: #28a745; font-weight: 700; font-size: 1.1rem; display: block; margin-bottom: 10px; } .about-feature-text { color: #495057; line-height: 1.7; text-align: justify; } .about-cta-container { margin-top: 40px; } .about-cta-button { background: transparent; color: #ff6b35; border: none; padding: 0; font-weight: 700; font-size: 1.1rem; text-transform: uppercase; text-decoration: none; display: inline-flex; align-items: center; gap: 15px; transition: all 0.3s ease; } .about-cta-button:hover { color: #f7931e; text-decoration: none; transform: translateX(5px); } .about-cta-button .arrow { font-size: 1.2rem; transition: transform 0.3s ease; } .about-cta-button:hover .arrow { transform: translateX(5px); } /* PRODUCTS & SERVICES SECTION */ .products-services-section { padding: var(--section-padding); background-color: var(--light-bg); } .ps-container { max-width: var(--container-width); margin: 0 auto; padding: 0 20px; } .ps-header { text-align: center; margin-bottom: 50px; } .ps-title { color: var(--secondary-color); font-size: 32px; font-weight: 700; text-transform: uppercase; margin-bottom: 15px; } .ps-subtitle { color: var(--primary-color); font-size: 18px; } .ps-content { width: 100%; } .ps-row { display: flex; justify-content: space-between; margin-bottom: 30px; } .ps-row-centered { justify-content: center; gap: 30px; } .ps-card { background-color: white; border-radius: var(--border-radius); padding: var(--card-padding); text-align: center; box-shadow: var(--card-shadow); transition: transform var(--transition-speed), box-shadow var(--transition-speed); width: calc(33.333% - 20px); } .ps-card:hover { transform: translateY(-10px); box-shadow: var(--card-shadow-hover); } .ps-icon { width: 70px; height: 70px; background-color: rgba(232, 78, 15, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; transition: background-color var(--transition-speed); } .ps-icon i { font-size: 30px; color: var(--secondary-color); transition: color var(--transition-speed); } .ps-card:hover .ps-icon { background-color: var(--secondary-color); } .ps-card:hover .ps-icon i { color: white; } .ps-card-title { font-size: 18px; font-weight: 700; margin-bottom: 15px; } .ps-card-title a { color: var(--primary-color); transition: color var(--transition-speed); text-transform: uppercase; } .ps-card-title a:hover { color: var(--secondary-color); } .ps-card-description { color: var(--text-light); font-size: 14px; line-height: 1.6; } /* NEWS BULLETIN SECTION */ .news-bulletin-section { padding: var(--section-padding); background-color: white; } .news-container { max-width: var(--container-width); margin: 0 auto; padding: 0 20px; } .news-header { text-align: center; margin-bottom: 50px; } .news-title { color: var(--secondary-color); font-size: 32px; font-weight: 700; text-transform: uppercase; margin-bottom: 15px; } .news-subtitle { color: var(--primary-color); font-size: 18px; } .news-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px; margin-bottom: 40px; } .news-item { background-color: white; border-radius: var(--border-radius); overflow: hidden; box-shadow: var(--card-shadow); transition: transform var(--transition-speed), box-shadow var(--transition-speed); cursor: pointer; } .news-item:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); } .news-thumbnail { position: relative; height: 180px; overflow: hidden; } .news-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-speed); } .news-item:hover .news-thumbnail img { transform: scale(1.05); } .news-date { position: absolute; bottom: 10px; right: 10px; background-color: var(--primary-color); color: white; padding: 5px 10px; border-radius: 5px; font-size: 12px; font-weight: 600; } .news-item-title { padding: 15px; font-size: 16px; font-weight: 600; color: var(--text-dark); min-height: 80px; display: flex; align-items: center; } .news-read-more { padding: 10px 15px; color: var(--primary-color); font-weight: 600; text-align: right; border-top: 1px solid #f0f0f0; transition: background-color var(--transition-speed); } .news-item:hover .news-read-more { background-color: rgba(48, 135, 95, 0.05); color: var(--secondary-color); } .news-view-all { text-align: center; margin-top: 40px; } .view-all-button { display: inline-block; background-color: var(--primary-color); color: white; padding: 12px 30px; border-radius: 30px; font-weight: 600; transition: background-color var(--transition-speed), transform 0.2s ease; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); } .view-all-button:hover { background-color: var(--secondary-color); transform: translateY(-2px); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15); } /* PARTNERS SECTION */ .partners-section { padding: var(--section-padding); background-color: var(--light-bg); } .partners-container { max-width: var(--container-width); margin: 0 auto; padding: 0 20px; } .partners-logo-container { display: flex; justify-content: space-around; align-items: center; flex-wrap: wrap; margin-top: 40px; } .partner-logo { padding: 20px; text-align: center; transition: transform var(--transition-speed); } .partner-logo img { max-width: 150px; height: auto; transition: transform var(--transition-speed); } .partner-logo:hover { transform: translateY(-5px); } .partner-logo:hover img { transform: scale(1.05); } /* ========== RESPONSIVE DESIGN ========== */ @media (max-width: 1024px) { .banner { height: 60vh; max-height: 600px; min-height: 350px; } .news-grid { grid-template-columns: repeat(3, 1fr); } .ps-card { width: calc(33.333% - 15px); padding: 25px; } .product-image { height: 220px; } .about-title { white-space: normal; } } @media (max-width: 992px) { .ps-row { flex-wrap: wrap; gap: 20px; } .ps-card { width: calc(50% - 10px); } .ps-row-centered .ps-card { width: calc(50% - 15px); } .news-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } .partners-logo-container { justify-content: center; gap: 30px; } .banner { height: 50vh; max-height: 500px; min-height: 300px; } .section-title::before, .section-title::after { width: 40px; } .section-title::before { left: -50px; } .section-title::after { right: -50px; } .flower-icon { font-size: 1.5rem; margin: 0 15px; } .banner-nav { width: 40px; height: 40px; font-size: 16px; } .banner-prev { left: 15px; } .banner-next { right: 15px; } } @media (max-width: 768px) { :root { --section-padding: 60px 0; --card-padding: 20px; } .banner { height: 45vh; max-height: 450px; min-height: 280px; } .section-title { font-size: 28px; } .section-subtitle { font-size: 16px; padding: 0 15px; } .ps-row { flex-direction: column; align-items: center; } .ps-card, .ps-row-centered .ps-card { width: 100%; max-width: 400px; margin-bottom: 20px; } .product-image { height: 200px; } .product-content { padding: 20px; } .product-title { font-size: 1.2rem; } .about-title-underline { margin-left: auto; margin-right: auto; } .about-description, .about-feature-text { text-align: left; } .news-grid { grid-template-columns: 1fr; gap: 15px; } .news-thumbnail { height: 160px; } .news-item-title { min-height: auto; padding: 12px; font-size: 15px; } .partners-logo-container { gap: 20px; } .partner-logo { padding: 15px; flex: 0 0 calc(50% - 20px); } .partner-logo img { max-width: 120px; } .section-title::before, .section-title::after { display: none; } .flower-icon { margin: 0 10px; } .banner-nav { width: 35px; height: 35px; font-size: 14px; } .banner-prev { left: 10px; } .banner-next { right: 10px; } .banner-controls { bottom: 15px; } .banner-dot { width: 10px; height: 10px; } } @media (max-width: 576px) { .section-title { font-size: 24px; margin-bottom: 10px; } .section-header { margin-bottom: 30px; } .banner { height: 40vh; max-height: 400px; min-height: 250px; } .products-section { padding: 50px 0; } .product-card { margin-bottom: 20px; } .product-image { height: 180px; } .product-content { padding: 15px; } .product-title { font-size: 1.1rem; } .product-description { font-size: 0.9rem; } .about-section { padding: 50px 0; } .about-title { white-space: normal; text-align: center; } .about-title-underline { width: 100px; } .about-features-title { font-size: 1.1rem; } .about-cta-button { font-size: 1rem; } .ps-header { margin-bottom: 30px; } .ps-title { font-size: 24px; } .ps-subtitle { font-size: 16px; } .ps-icon { width: 60px; height: 60px; margin-bottom: 15px; } .ps-icon i { font-size: 24px; } .ps-card-title { font-size: 16px; } .ps-card-description { font-size: 13px; } .news-header { margin-bottom: 30px; } .news-title { font-size: 24px; } .news-subtitle { font-size: 16px; } .news-thumbnail { height: 140px; } .news-date { font-size: 11px; padding: 4px 8px; } .news-item-title { font-size: 14px; padding: 10px; } .news-read-more { padding: 8px 10px; font-size: 14px; } .view-all-button { padding: 10px 25px; font-size: 14px; } .partners-section { padding: 50px 0; } .partner-logo { flex: 0 0 100%; padding: 10px; } .partner-logo img { max-width: 100px; } } @media (max-width: 480px) { .section-container, .ps-container, .news-container, .partners-container { padding: 0 15px; } .ps-card { padding: 20px; } .ps-icon { width: 50px; height: 50px; } .ps-icon i { font-size: 20px; } .news-thumbnail { height: 120px; } .banner { height: 35vh; max-height: 350px; min-height: 200px; } .product-image { height: 160px; } .about-container { padding: 0 15px; } .about-title { font-size: 1.3rem; } .about-feature-number { font-size: 1rem; } .news-grid { gap: 12px; } } @media (max-width: 320px) { .section-title { font-size: 22px; } .banner { height: 30vh; max-height: 300px; min-height: 180px; } .product-image { height: 140px; } .view-all-button { padding: 8px 20px; font-size: 13px; } .partner-logo img { max-width: 80px; } } /* Touch device optimizations */ @media (hover: none) { .card:hover, .ps-card:hover, .news-item:hover, .partner-logo:hover { transform: none; } .card:hover { box-shadow: var(--card-shadow); } .ps-card:hover { box-shadow: var(--card-shadow); } .ps-card:hover .ps-icon { background-color: rgba(232, 78, 15, 0.1); } .ps-card:hover .ps-icon i { color: var(--secondary-color); } .news-item:hover { box-shadow: var(--card-shadow); } .news-item:hover .news-thumbnail img { transform: none; } .news-item:hover .news-read-more { background-color: transparent; color: var(--primary-color); } .tab-button, .view-all-button, .about-cta-button { min-height: 44px; display: flex; align-items: center; justify-content: center; } }