/* views\contactPage\contactMain.css */ /* CONTACT PAGE SPECIFIC STYLES */ /* General Styles */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: Arial, sans-serif; } body { color: #333; } a { text-decoration: none; color: inherit; } /* Ensure visited links don't turn purple */ a:visited { color: inherit; } /* Optional: Keep hover state consistent */ a:hover { text-decoration: none; color: inherit; } /* Optional: Keep active state consistent */ a:active { color: inherit; } /* Contact Section */ .contact-section { padding: 60px 5%; background-color: #f9f9f9; max-width: 1400px; margin: 0 auto; } .page-intro { text-align: center; color: #30875f; font-size: 2rem; font-weight: bold; margin-bottom: 40px; position: relative; } .page-intro:after { content: ""; display: block; width: 80px; height: 3px; background-color: #e84e0f; margin: 15px auto 0; } .contact-container { display: flex; gap: 40px; margin-top: 30px; } /* Enhanced Form Container */ .contact-form { flex: 1; background-color: white; padding: 35px; border-radius: 12px; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; overflow: hidden; } .contact-form::before { content: ""; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: linear-gradient(to bottom, #30875f, #e84e0f); } .contact-form:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); } .contact-form h2 { color: #30875f; font-size: 1.6rem; margin-bottom: 30px; position: relative; padding-bottom: 12px; font-weight: 600; } .contact-form h2::after { content: ""; position: absolute; bottom: 0; left: 0; width: 60px; height: 3px; background: linear-gradient(to right, #30875f, #e84e0f); border-radius: 2px; } /* Form Progress Bar */ .form-progress { height: 4px; background: #eee; width: 100%; margin-bottom: 25px; border-radius: 2px; overflow: hidden; } .form-progress-bar { height: 100%; width: 0; background: linear-gradient(to right, #30875f, #e84e0f); transition: width 0.3s ease; } /* Improved Form Groups */ .form-group { margin-bottom: 25px; position: relative; animation: fadeIn 0.5s ease forwards; opacity: 0; } .form-group:nth-child(1) { animation-delay: 0.1s; } .form-group:nth-child(2) { animation-delay: 0.2s; } .form-group:nth-child(3) { animation-delay: 0.3s; } .form-group:nth-child(4) { animation-delay: 0.4s; } .form-group label { display: block; font-weight: 500; margin-bottom: 10px; color: #444; transition: color 0.3s; font-size: 0.95rem; } /* Required field indicator */ .form-group label.required::after { content: " *"; color: #e84e0f; } .form-group input, .form-group textarea { width: 100%; padding: 14px 16px 14px 45px; border: 2px solid #eaeaea; border-radius: 8px; font-size: 1rem; transition: all 0.3s; background-color: #f9f9f9; } .form-group input:hover, .form-group textarea:hover { border-color: #d0d0d0; background-color: #f5f5f5; } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: #30875f; background-color: #fff; box-shadow: 0 0 0 4px rgba(48, 135, 95, 0.1); } .form-group.focused label { color: #30875f; } .form-group textarea { resize: vertical; min-height: 140px; line-height: 1.6; } /* Input Icons */ .form-group::before { font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 16px; top: 46px; color: #999; z-index: 1; transition: color 0.3s; } .form-group:nth-child(1)::before { content: "\f007"; /* User icon */ } .form-group:nth-child(2)::before { content: "\f0e0"; /* Email icon */ } .form-group:nth-child(3)::before { content: "\f095"; /* Phone icon */ } .form-group:nth-child(4)::before { content: "\f075"; /* Message icon */ } .form-group input:focus + .form-group::before, .form-group textarea:focus + .form-group::before { color: #30875f; } /* Validation styling */ .form-group.success input, .form-group.success textarea { border-color: #2ecc71; } .form-group.error input, .form-group.error textarea { border-color: #e74c3c; } .form-group .error-message { color: #e74c3c; font-size: 0.85rem; margin-top: 5px; display: none; } .form-group.error .error-message { display: block; animation: fadeIn 0.3s ease forwards; } /* Enhanced Submit Button */ .submit-button { background: linear-gradient(to right, #30875f, #2a7954); color: white; padding: 16px 40px; border: none; border-radius: 50px; font-size: 1.1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: inline-block; box-shadow: 0 4px 15px rgba(48, 135, 95, 0.3); position: relative; overflow: hidden; text-transform: uppercase; letter-spacing: 1px; animation: fadeIn 0.5s ease forwards; animation-delay: 0.5s; opacity: 0; } .submit-button:hover { background: linear-gradient(to right, #e84e0f, #d24510); transform: translateY(-3px); box-shadow: 0 6px 20px rgba(232, 78, 15, 0.4); } .submit-button:active { transform: translateY(0); box-shadow: 0 2px 10px rgba(232, 78, 15, 0.3); } .submit-button::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; background: rgba(255, 255, 255, 0.3); border-radius: 50%; transform: scale(0); opacity: 0; transition: transform 0.6s, opacity 0.6s; } .submit-button:hover::after { transform: scale(15); opacity: 0.3; } /* Contact Details Section */ .contact-details { flex: 1; background-color: white; padding: 35px; border-radius: 12px; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; overflow: hidden; } .contact-details::before { content: ""; position: absolute; top: 0; left: 0; width: 5px; height: 100%; background: linear-gradient(to bottom, #e84e0f, #30875f); } .contact-details:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15); } .contact-details h2 { color: #30875f; font-size: 1.6rem; margin-bottom: 30px; position: relative; padding-bottom: 12px; font-weight: 600; } .contact-details h2::after { content: ""; position: absolute; bottom: 0; left: 0; width: 60px; height: 3px; background: linear-gradient(to right, #e84e0f, #30875f); border-radius: 2px; } .contact-item { display: flex; align-items: flex-start; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #eee; transition: transform 0.3s ease; } .contact-item:hover { transform: translateX(5px); } .contact-item:last-child { border-bottom: none; } .contact-item i { font-size: 20px; color: #30875f; margin-right: 15px; margin-top: 3px; transition: color 0.3s, transform 0.3s; } .contact-item:hover i { color: #e84e0f; transform: scale(1.2); } .contact-item p { margin: 0; color: #444; line-height: 1.5; } .contact-item a { color: #30875f; text-decoration: none; transition: color 0.3s; position: relative; } .contact-item a::after { content: ""; position: absolute; width: 100%; height: 1px; bottom: -2px; left: 0; background-color: #e84e0f; transform: scaleX(0); transform-origin: bottom right; transition: transform 0.3s ease-out; } .contact-item a:hover { color: #e84e0f; } .contact-item a:hover::after { transform: scaleX(1); transform-origin: bottom left; } .map-container { margin-top: 25px; border-radius: 12px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; } .map-container:hover { transform: scale(1.01); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); } .map-container::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(48, 135, 95, 0.05); z-index: 1; opacity: 0; transition: opacity 0.3s; pointer-events: none; } .map-container:hover::before { opacity: 1; } .map-container iframe { display: block; width: 100%; border: 0; } /* Animation Keyframes */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(48, 135, 95, 0.4); } 70% { box-shadow: 0 0 0 10px rgba(48, 135, 95, 0); } 100% { box-shadow: 0 0 0 0 rgba(48, 135, 95, 0); } } /* Responsive Design */ @media (max-width: 1200px) { .contact-section { padding: 50px 4%; } .contact-form, .contact-details { padding: 30px; } } @media (max-width: 992px) { .page-intro { font-size: 1.8rem; } .contact-container { gap: 30px; } .contact-form h2, .contact-details h2 { font-size: 1.5rem; margin-bottom: 25px; } } @media (max-width: 768px) { .contact-container { flex-direction: column; } .contact-form, .contact-details { width: 100%; padding: 25px; } .page-intro { font-size: 1.6rem; } .contact-form h2, .contact-details h2 { font-size: 1.4rem; margin-bottom: 20px; } .form-group input, .form-group textarea { padding: 12px 12px 12px 40px; font-size: 0.95rem; } .form-group::before { top: 43px; } .submit-button { padding: 14px 30px; font-size: 1rem; width: 100%; } .contact-item i { font-size: 18px; } } @media (max-width: 576px) { .contact-section { padding: 40px 15px; } .page-intro { font-size: 1.4rem; margin-bottom: 25px; } .contact-form, .contact-details { padding: 20px; } .contact-form h2, .contact-details h2 { font-size: 1.3rem; margin-bottom: 15px; } .form-group { margin-bottom: 18px; } .form-group label { font-size: 0.9rem; margin-bottom: 8px; } .form-group input, .form-group textarea { padding: 11px 11px 11px 38px; font-size: 0.9rem; } .form-group::before { top: 40px; left: 14px; font-size: 0.9rem; } .submit-button { padding: 12px 25px; font-size: 0.95rem; } .contact-item { margin-bottom: 15px; padding-bottom: 12px; } }