Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions aboutUs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,7 @@ <h3>Backend Engineering</h3>
<div class="about-card">
<div class="card-icon"><i class="fas fa-laptop-code"></i></div>
<h3>Full-Stack Web</h3>
<p>Designing responsive, SEO-optimized, and high-speed web applications using modern HTML/CSS and
frontend frameworks.</p>
<p>Designing responsive, SEO-optimized, and high-speed web applications using modern HTML/CSS/JS and frontend as well as backend frameworks.</p>
</div>
<div class="about-card">
<div class="card-icon"><i class="fas fa-cloud"></i></div>
Expand Down
65 changes: 43 additions & 22 deletions contactUs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -205,28 +205,6 @@ <h4>Vimal Tech</h4>
</div>
</div>
</div>
</div>

<div class="contact-form-wrapper glass-panel">
<h3 style="margin-bottom: 20px; font-family: var(--font-primary);">Put Quick Details and get Quotation
</h3>
<div class="info-card highlight-card fade-in" style="--delay: 0.3s; margin-bottom: 20px;">
<div class="card-content">
<div class="input-group">
<label for="name">Your Name:</label>
</div>
<div class="input-group">
<label for="email">Email Address:</label>
</div>
<div class="input-group">
<label for="message">Project Requirements:</label>
</div>
<a href="/contact" class="btn primary glow-btn"
style="width: 100%; border: none; cursor: pointer;">
Go to Contact Form <i class="fas fa-paper-plane" style="margin-left: 8px;"></i>
</a>
</div>
</div>
<div class="info-card highlight-card fade-in" style="--delay: 0.3s;">
<div class="card-icon"><i class="fas fa-certificate"></i></div>
<div class="card-content">
Expand All @@ -251,6 +229,49 @@ <h4 class="mobile-card-content">Official Registration</h4>
</div>
</div>

<div class="contact-form-wrapper glass-panel">
<h3 style="margin-bottom: 20px; font-family: var(--font-primary);">Start a Conversation</h3>

<form action="#" method="POST" class="contact-form fade-in" style="--delay: 0.3s;">

<div class="input-group">
<label for="name">Your Name</label>
<input type="text" id="name" name="name" placeholder="e.g., John Doe" required
autocomplete="name">
</div>

<div class="input-group">
<label for="email">Email Address</label>
<input type="email" id="email" name="email" placeholder="john@example.com" required
autocomplete="email">
</div>

<div class="input-group">
<label for="service">How can we help?</label>
<select id="service" name="service" required>
<option value="" disabled selected>Select a service...</option>
<option value="backend">Java Backend / API Development</option>
<option value="fullstack">Full-Stack Web Development</option>
<option value="vps">Deployment / Server Setup</option>
<option value="other">General Inquiry / Consultation</option>
</select>
</div>

<div class="input-group">
<label for="message">Project Requirements</label>
<textarea id="message" name="message" rows="5"
placeholder="Tell me about your vision, tech stack, or timeline..." required></textarea>
</div>

<button type="submit" class="btn primary glow-btn"
style="width: 100%; border: none; cursor: pointer; margin-top: 10px;">
Send Message <i class="fas fa-paper-plane" style="margin-left: 8px;"></i>
</button>
<p style="font-size: 0.8rem; color: var(--color-muted); text-align: center; margin-top: 10px;">
I typically respond within <strong>24 hours</strong>.
</p>
</form>
</div>
</div>
</section>

Expand Down
121 changes: 121 additions & 0 deletions css/contactUs.css
Original file line number Diff line number Diff line change
Expand Up @@ -373,4 +373,125 @@ body.dark .udyam-box {
transform: translateY(30px);
animation: fadeUp 0.8s forwards;
animation-delay: var(--delay, 0s);
}

/* New CSS For Contact Form*/
/* --- Modern Contact Form Styles --- */
/* --- Interactive Contact Form Styling --- */
/* --- Interactive Contact Form Styling --- */
.contact-form {
display: flex;
flex-direction: column;
gap: 1.2rem;
}

/* Base Input Styling - Updated for better contrast and visibility */
.input-group input,
.input-group select,
.input-group textarea {
width: 100%;
padding: 0.85rem 1rem;
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.2);
/* Using a dark translucent background prevents it from looking solid white */
background-color: rgba(0, 0, 0, 0.4);
color: #ffffff;
/* Explicitly force text to be white */
font-family: inherit;
font-size: 0.95rem;
transition: all 0.3s ease;
outline: none;
box-sizing: border-box;
}

/* Fix for Chrome/Safari Autofill forcing inputs to turn solid white */
.input-group input:-webkit-autofill,
.input-group input:-webkit-autofill:hover,
.input-group input:-webkit-autofill:focus,
.input-group textarea:-webkit-autofill,
.input-group textarea:-webkit-autofill:hover,
.input-group textarea:-webkit-autofill:focus,
.input-group select:-webkit-autofill,
.input-group select:-webkit-autofill:hover,
.input-group select:-webkit-autofill:focus {
border: 1px solid rgba(255, 255, 255, 0.2);
-webkit-text-fill-color: #ffffff !important;
-webkit-box-shadow: 0 0 0px 1000px #1a1a2e inset !important;
/* Adjust #1a1a2e to match your dark background */
transition: background-color 5000s ease-in-out 0s;
}

/* Focus States (Glow Effect) */
.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus {
border-color: #3b82f6;
background-color: rgba(0, 0, 0, 0.6);
/* Darkens slightly on focus */
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
}

/* Placeholder Styling */
.input-group input::placeholder,
.input-group textarea::placeholder {
color: rgba(255, 255, 255, 0.6);
/* Made slightly brighter for readability */
}

/* --- Custom Dropdown Styling --- */
.input-group select {
/* 1. Hide the ugly default browser arrow */
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;

/* 2. Add our own custom white SVG arrow */
background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
background-repeat: no-repeat;
/* Position the arrow on the right side */
background-position: right 1rem top 50%;
background-size: 0.65rem auto;

/* 3. Add padding so the text doesn't overlap the new arrow */
padding-right: 2.5rem;

/* 4. Prevent long text from breaking the layout */
text-overflow: ellipsis;
}

/* Force a dark background for the opened list (for browsers that support it) */
.input-group select option {
background-color: #1e293b;
/* A sleek dark slate instead of default gray */
color: #ffffff;
padding: 10px;
/* Adds breathing room where supported */
}

/* Fix for Firefox to ensure the background color applies */
.input-group select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #fff;
}

/* --- Mobile Adjustments --- */
@media (max-width: 768px) {
.contact-form-wrapper {
padding: 1.5rem;
/* Reduces container padding on mobile */
}

.contact-form {
gap: 1rem;
/* Slightly tighter spacing between inputs */
}

.input-group input,
.input-group select,
.input-group textarea {
padding: 0.75rem 1rem;
/* Slightly shorter inputs for screen economy */
font-size: 1rem;
/* Prevents iOS Safari from auto-zooming on focus */
}
}
2 changes: 0 additions & 2 deletions css/global.css
Original file line number Diff line number Diff line change
Expand Up @@ -1061,8 +1061,6 @@ body.dark .section-title {
/* 40px is the sweet spot for premium footer logos */
width: auto;
object-fit: contain;
/* Optional: Gives your lime-green 'V' a tiny subtle glow against the dark background */
filter: drop-shadow(0 0 6px rgba(163, 230, 53, 0.4));
margin-bottom: -10px;
}

Expand Down
2 changes: 1 addition & 1 deletion js/contact.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ document.addEventListener("DOMContentLoaded", function () {
? "http://localhost:8080"
: "https://api.vimaltech.dev";

fetch(`${API_BASE}/api/v1/contact`, {
fetch(`${API_BASE}/api/v1/contacts`, {
method: "POST",
headers: {
"Content-Type": "application/json",
Expand Down
48 changes: 24 additions & 24 deletions js/contactUs.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,27 @@
// Above all js code handled in global.js,
// this file is only for contact us page specific js code like form submission logic

document.addEventListener("DOMContentLoaded", () => {
// Simple Form Submission Mock
const contactForm = document.getElementById('contactForm');
const formStatus = document.getElementById('formStatus');

if (contactForm) {
contactForm.addEventListener('submit', (e) => {
e.preventDefault(); // Stop page reload

// Show Success Message
formStatus.textContent = "✓ Message sent successfully! I will get back to you soon.";
formStatus.className = "form-status success";

// Clear inputs
contactForm.reset();

// Hide message after 5 seconds
setTimeout(() => {
formStatus.style.display = 'none';
formStatus.className = "form-status";
}, 5000);
});
}
});
// document.addEventListener("DOMContentLoaded", () => {
// // Simple Form Submission Mock
// const contactForm = document.getElementById('contactForm');
// const formStatus = document.getElementById('formStatus');

// if (contactForm) {
// contactForm.addEventListener('submit', (e) => {
// e.preventDefault(); // Stop page reload

// // Show Success Message
// formStatus.textContent = "✓ Message sent successfully! I will get back to you soon.";
// formStatus.className = "form-status success";

// // Clear inputs
// contactForm.reset();

// // Hide message after 5 seconds
// setTimeout(() => {
// formStatus.style.display = 'none';
// formStatus.className = "form-status";
// }, 5000);
// });
// }
// });
Loading