Revamp email templates for improved design and user experience

- Enhanced the admin notification, manual review, and user confirmation email templates with modern styling and responsive design.
- Implemented glassmorphism effects, gradient backgrounds, and animated elements for a visually appealing layout.
- Improved content structure with clear sections for messages, actions, and technical details, ensuring better readability and engagement.
- Added dynamic elements and call-to-action buttons to enhance user interaction and response rates.
This commit is contained in:
2025-06-26 23:16:21 +02:00
parent e19dc8eb3e
commit 559bd3e983
3 changed files with 1236 additions and 107 deletions

View File

@@ -1,94 +1,499 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>New Contact Form Submission</title>
<style>
/* Reset and base styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 600px;
margin: 0 auto;
color: #1a1a1a;
background: linear-gradient(135deg, #1e293b 0%, #334155 50%, #475569 100%);
background-size: 300% 300%;
animation: gradientShift 15s ease infinite;
min-height: 100vh;
padding: 20px;
margin: 0;
}
@keyframes gradientShift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
/* Main container with glassmorphism */
.email-container {
max-width: 700px;
margin: 40px auto;
background: rgba(255, 255, 255, 0.97);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 24px;
overflow: hidden;
box-shadow:
0 32px 80px rgba(0, 0, 0, 0.2),
0 0 0 1px rgba(255, 255, 255, 0.1) inset;
position: relative;
}
/* Alert-style header */
.header {
background-color: #2563eb;
background: linear-gradient(135deg, #dc2626 0%, #ef4444 50%, #f87171 100%);
background-size: 200% 200%;
animation: gradientShift 8s ease-in-out infinite;
color: white;
padding: 20px;
padding: 30px;
text-align: center;
border-radius: 8px 8px 0 0;
position: relative;
overflow: hidden;
}
.header::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
background-size: 25px 25px;
animation: backgroundMove 20s linear infinite;
opacity: 0.3;
}
@keyframes backgroundMove {
0% { transform: translateX(0) translateY(0); }
100% { transform: translateX(-25px) translateY(-25px); }
}
.header h1 {
font-size: 2.2rem;
font-weight: 900;
margin: 0;
position: relative;
z-index: 2;
text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
letter-spacing: -0.02em;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
}
.header h1::before {
content: '🔔';
font-size: 1.8rem;
}
.header-subtitle {
font-size: 1rem;
margin-top: 8px;
opacity: 0.9;
position: relative;
z-index: 2;
font-weight: 500;
}
/* Content area */
.content {
background-color: #f8fafc;
padding: 20px;
border: 1px solid #e2e8f0;
border-top: none;
border-radius: 0 0 8px 8px;
padding: 40px 30px;
position: relative;
}
.field {
margin-bottom: 15px;
}
.field-label {
.alert-banner {
background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(248, 113, 113, 0.05));
border: 1px solid rgba(239, 68, 68, 0.2);
border-radius: 12px;
padding: 16px 20px;
margin-bottom: 30px;
display: flex;
align-items: center;
gap: 12px;
font-weight: 600;
color: #4b5563;
margin-bottom: 5px;
color: #dc2626;
}
.field-value {
background-color: white;
padding: 10px;
border-radius: 4px;
border: 1px solid #e2e8f0;
.alert-banner::before {
content: '⚡';
font-size: 1.2rem;
}
/* Professional contact display */
.contact-display {
background: linear-gradient(135deg, rgba(102, 126, 234, 0.03), rgba(245, 87, 108, 0.03));
border: 1px solid rgba(102, 126, 234, 0.1);
border-radius: 20px;
padding: 30px;
margin: 30px 0;
position: relative;
backdrop-filter: blur(10px);
}
.contact-header {
margin-bottom: 25px;
padding-bottom: 20px;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.contact-title {
font-size: 1.5rem;
font-weight: 700;
color: #1f2937;
margin: 0 0 8px 0;
}
.contact-subtitle {
font-size: 1rem;
color: #6b7280;
font-weight: 500;
}
.message-section {
margin: 25px 0;
}
.message-title {
font-size: 1.1rem;
font-weight: 700;
color: #374151;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.message-title::before {
content: '💬';
font-size: 1.1rem;
}
.response-section {
margin: 25px 0;
}
.response-title {
font-size: 1.1rem;
font-weight: 700;
color: #374151;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 8px;
}
.response-title::before {
content: '✍️';
font-size: 1.1rem;
}
.response-area {
background: rgba(255, 255, 255, 0.9);
padding: 20px;
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.05);
color: #6b7280;
font-style: italic;
min-height: 80px;
line-height: 1.6;
}
.message-content {
background: rgba(255, 255, 255, 0.9);
padding: 20px;
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.05);
color: #374151;
line-height: 1.7;
white-space: pre-wrap;
background-color: white;
padding: 15px;
border-radius: 4px;
border: 1px solid #e2e8f0;
margin: 10px 0;
font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
font-size: 0.95rem;
max-height: 200px;
overflow-y: auto;
}
/* Collapsible technical details */
.meta-details {
margin: 30px 0;
border: 1px solid rgba(107, 114, 128, 0.2);
border-radius: 12px;
overflow: hidden;
}
.meta-summary {
background: linear-gradient(135deg, rgba(107, 114, 128, 0.08), rgba(75, 85, 99, 0.05));
padding: 16px 20px;
cursor: pointer;
list-style: none;
display: flex;
align-items: center;
justify-content: space-between;
transition: background 0.3s ease;
}
.meta-summary:hover {
background: linear-gradient(135deg, rgba(107, 114, 128, 0.12), rgba(75, 85, 99, 0.08));
}
.meta-summary::after {
content: '▼';
font-size: 0.8rem;
color: #6b7280;
transition: transform 0.3s ease;
}
.meta-details[open] .meta-summary::after {
transform: rotate(180deg);
}
.meta-details .meta-section {
background: rgba(248, 250, 252, 0.8);
border: none;
border-radius: 0;
margin: 0;
padding: 20px;
}
.meta-grid {
display: grid;
gap: 12px;
}
.meta-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.meta-item:last-child {
border-bottom: none;
}
.meta-label {
font-weight: 600;
color: #6b7280;
font-size: 0.9rem;
}
.meta-value {
color: #374151;
font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
font-size: 0.85rem;
text-align: right;
max-width: 60%;
word-break: break-all;
}
/* Action buttons */
.action-section {
display: flex;
gap: 12px;
margin: 30px 0;
flex-wrap: wrap;
}
.action-button {
flex: 1;
min-width: 140px;
display: inline-block;
padding: 14px 24px;
text-decoration: none;
border-radius: 12px;
font-weight: 700;
font-size: 0.9rem;
text-align: center;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.action-primary {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);
}
.action-secondary {
background: rgba(107, 114, 128, 0.1);
color: #374151;
border: 2px solid rgba(107, 114, 128, 0.2);
}
.action-button:hover {
transform: translateY(-2px);
}
.action-primary:hover {
box-shadow: 0 15px 35px rgba(102, 126, 234, 0.4);
}
.action-secondary:hover {
background: rgba(107, 114, 128, 0.15);
border-color: rgba(107, 114, 128, 0.3);
}
/* Footer */
.footer {
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid #e2e8f0;
font-size: 0.9em;
padding: 25px 30px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
background: linear-gradient(135deg, rgba(248, 250, 252, 0.8), rgba(241, 245, 249, 0.8));
text-align: center;
font-size: 0.9rem;
color: #6b7280;
}
.meta-info {
font-size: 0.85em;
color: #6b7280;
margin-top: 20px;
padding-top: 10px;
border-top: 1px solid #e2e8f0;
.footer-note {
margin-bottom: 8px;
}
.footer-website {
font-weight: 600;
background: linear-gradient(135deg, #667eea, #764ba2);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
/* Priority indicator */
.priority-high {
position: absolute;
top: 20px;
right: 20px;
background: linear-gradient(135deg, #ef4444, #dc2626);
color: white;
padding: 6px 12px;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
/* Responsive design */
@media (max-width: 640px) {
body {
padding: 10px;
}
.email-container {
margin: 20px auto;
border-radius: 20px;
}
.header, .content, .footer {
padding: 20px;
}
.header h1 {
font-size: 1.8rem;
}
.action-section {
flex-direction: column;
}
.action-button {
min-width: auto;
}
.meta-item {
flex-direction: column;
align-items: flex-start;
gap: 4px;
}
.meta-value {
max-width: 100%;
text-align: left;
}
}
</style>
</head>
<body>
<div class="header">
<h1>New Contact Form Submission</h1>
</div>
<div class="content">
<div class="field">
<div class="field-label">Name</div>
<div class="field-value">{{name}}</div>
<div class="email-container">
<div class="priority-high">New Submission</div>
<!-- Header -->
<div class="header">
<h1>Contact Form Alert</h1>
<div class="header-subtitle">New message received on 365DevNet</div>
</div>
<div class="field">
<div class="field-label">Email</div>
<div class="field-value">{{email}}</div>
</div>
<div class="field">
<div class="field-label">Message</div>
<div class="message-content">{{message}}</div>
</div>
<div class="meta-info">
<div><strong>IP Address:</strong> {{ipAddress}}</div>
<div><strong>User Agent:</strong> {{userAgent}}</div>
<div><strong>Time:</strong> {{time}}</div>
<!-- Content -->
<div class="content">
<div class="alert-banner">
A new contact form submission requires your attention
</div>
<!-- Professional Contact Display (Forward-Friendly) -->
<div class="contact-display">
<div class="contact-header">
<h2 class="contact-title">New Contact from {{name}}</h2>
<div class="contact-subtitle">{{email}} • {{time}}</div>
</div>
<div class="message-section">
<div class="message-title">Message</div>
<div class="message-content">{{message}}</div>
</div>
<div class="response-section">
<div class="response-title">Response Notes</div>
<div class="response-area">
<p><em>Use this space to draft your response or add internal notes before replying...</em></p>
<br><br><br>
</div>
</div>
</div>
<!-- Quick Actions -->
<div class="action-section">
<a href="mailto:{{email}}?subject=Re: Your message to 365DevNet&body=Hi {{name}},%0A%0AThank you for contacting 365DevNet. %0A%0A[Your response here]%0A%0ABest regards,%0ARichard Bergsma%0A365DevNet" class="action-button action-primary">Reply to {{name}}</a>
</div>
<!-- Technical Details (Collapsible) -->
<details class="meta-details">
<summary class="meta-summary">
<span class="meta-title">Technical Information</span>
</summary>
<div class="meta-section">
<div class="meta-grid">
<div class="meta-item">
<span class="meta-label">IP Address:</span>
<span class="meta-value">{{ipAddress}}</span>
</div>
<div class="meta-item">
<span class="meta-label">User Agent:</span>
<span class="meta-value">{{userAgent}}</span>
</div>
<div class="meta-item">
<span class="meta-label">Submission Time:</span>
<span class="meta-value">{{time}}</span>
</div>
</div>
</div>
</details>
</div>
<!-- Footer -->
<div class="footer">
<p>This message was sent from the contact form on {{websiteName}}</p>
<div class="footer-note">This notification was sent from the contact form on</div>
<div class="footer-website">{{websiteName}}</div>
</div>
</div>
</body>

View File

@@ -1 +1,439 @@
<p><strong>Email:</strong> {{email}}</p><p><strong>Message:</strong> {{message}}</p><p><strong>Justification:</strong> {{justification}}</p>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Contact Submission Requires Manual Review</title>
<style>
/* Reset and base styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #1a1a1a;
background: linear-gradient(135deg, #f59e0b 0%, #d97706 50%, #92400e 100%);
background-size: 300% 300%;
animation: gradientShift 15s ease infinite;
min-height: 100vh;
padding: 20px;
margin: 0;
}
@keyframes gradientShift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
/* Main container with glassmorphism */
.email-container {
max-width: 650px;
margin: 40px auto;
background: rgba(255, 255, 255, 0.97);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 24px;
overflow: hidden;
box-shadow:
0 32px 80px rgba(0, 0, 0, 0.2),
0 0 0 1px rgba(255, 255, 255, 0.1) inset;
position: relative;
}
/* Warning-style header */
.header {
background: linear-gradient(135deg, #f59e0b 0%, #d97706 50%, #b45309 100%);
background-size: 200% 200%;
animation: gradientShift 8s ease-in-out infinite;
color: white;
padding: 30px;
text-align: center;
position: relative;
overflow: hidden;
}
.header::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
background-size: 30px 30px;
animation: backgroundMove 25s linear infinite;
opacity: 0.2;
}
@keyframes backgroundMove {
0% { transform: translateX(0) translateY(0); }
100% { transform: translateX(-30px) translateY(-30px); }
}
.header h1 {
font-size: 2.1rem;
font-weight: 900;
margin: 0;
position: relative;
z-index: 2;
text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
letter-spacing: -0.02em;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
}
.header h1::before {
content: '⚠️';
font-size: 1.8rem;
animation: attention 2s ease-in-out infinite;
}
@keyframes attention {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
}
.header-subtitle {
font-size: 1rem;
margin-top: 8px;
opacity: 0.95;
position: relative;
z-index: 2;
font-weight: 600;
}
/* Content area */
.content {
padding: 40px 30px;
position: relative;
}
.warning-banner {
background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(217, 119, 6, 0.1));
border: 2px solid rgba(245, 158, 11, 0.3);
border-radius: 16px;
padding: 20px;
margin-bottom: 30px;
display: flex;
align-items: flex-start;
gap: 16px;
position: relative;
}
.warning-banner::before {
content: '🔍';
font-size: 1.5rem;
flex-shrink: 0;
margin-top: 2px;
}
.warning-content {
flex: 1;
}
.warning-title {
font-weight: 700;
color: #92400e;
font-size: 1.1rem;
margin-bottom: 8px;
}
.warning-text {
color: #a16207;
font-size: 0.95rem;
line-height: 1.6;
}
/* Contact details grid */
.review-grid {
display: grid;
gap: 24px;
margin: 30px 0;
}
.review-field {
background: linear-gradient(135deg, rgba(102, 126, 234, 0.04), rgba(245, 87, 108, 0.04));
border: 1px solid rgba(102, 126, 234, 0.12);
border-radius: 18px;
padding: 24px;
position: relative;
backdrop-filter: blur(10px);
transition: all 0.3s ease;
}
.review-field:hover {
transform: translateY(-3px);
box-shadow: 0 12px 35px rgba(102, 126, 234, 0.12);
border-color: rgba(102, 126, 234, 0.2);
}
.field-label {
font-size: 0.85rem;
font-weight: 700;
color: #4b5563;
text-transform: uppercase;
letter-spacing: 0.6px;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 10px;
}
.field-label.email::before { content: '📧'; font-size: 1.1rem; }
.field-label.message::before { content: '💬'; font-size: 1.1rem; }
.field-label.justification::before { content: '⚖️'; font-size: 1.1rem; }
.field-value {
background: rgba(255, 255, 255, 0.9);
padding: 16px 20px;
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.06);
color: #1f2937;
font-weight: 500;
word-break: break-word;
line-height: 1.6;
}
.message-content, .justification-content {
background: rgba(255, 255, 255, 0.95);
padding: 20px;
border-radius: 14px;
border: 1px solid rgba(0, 0, 0, 0.06);
color: #374151;
line-height: 1.7;
white-space: pre-wrap;
font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
font-size: 0.95rem;
max-height: 180px;
overflow-y: auto;
box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.05);
}
.justification-content {
background: linear-gradient(135deg, rgba(245, 158, 11, 0.08), rgba(217, 119, 6, 0.05));
border-color: rgba(245, 158, 11, 0.2);
color: #92400e;
font-weight: 600;
}
/* Action section */
.action-section {
background: linear-gradient(135deg, rgba(220, 38, 38, 0.05), rgba(239, 68, 68, 0.03));
border: 1px solid rgba(220, 38, 38, 0.15);
border-radius: 18px;
padding: 28px;
margin: 35px 0;
text-align: center;
}
.action-title {
font-size: 1.2rem;
font-weight: 700;
color: #dc2626;
margin-bottom: 12px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.action-title::before {
content: '🎯';
font-size: 1.3rem;
}
.action-description {
color: #7f1d1d;
margin-bottom: 24px;
font-size: 0.95rem;
line-height: 1.6;
}
.action-buttons {
display: flex;
gap: 14px;
justify-content: center;
flex-wrap: wrap;
}
.action-button {
padding: 14px 28px;
text-decoration: none;
border-radius: 12px;
font-weight: 700;
font-size: 0.9rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
min-width: 120px;
text-align: center;
}
.action-approve {
background: linear-gradient(135deg, #10b981, #059669);
color: white;
box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
}
.action-reject {
background: linear-gradient(135deg, #ef4444, #dc2626);
color: white;
box-shadow: 0 8px 20px rgba(239, 68, 68, 0.3);
}
.action-investigate {
background: rgba(245, 158, 11, 0.1);
color: #92400e;
border: 2px solid rgba(245, 158, 11, 0.3);
}
.action-button:hover {
transform: translateY(-2px) scale(1.02);
}
.action-approve:hover {
box-shadow: 0 15px 35px rgba(16, 185, 129, 0.4);
}
.action-reject:hover {
box-shadow: 0 15px 35px rgba(239, 68, 68, 0.4);
}
.action-investigate:hover {
background: rgba(245, 158, 11, 0.15);
border-color: rgba(245, 158, 11, 0.4);
}
/* Footer */
.footer {
padding: 25px 30px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
background: linear-gradient(135deg, rgba(254, 243, 199, 0.6), rgba(253, 230, 138, 0.4));
text-align: center;
}
.footer-warning {
font-size: 0.9rem;
color: #92400e;
font-weight: 600;
margin-bottom: 8px;
}
.footer-note {
font-size: 0.85rem;
color: #a16207;
}
/* Priority indicator */
.priority-review {
position: absolute;
top: 20px;
right: 20px;
background: linear-gradient(135deg, #f59e0b, #d97706);
color: white;
padding: 8px 16px;
border-radius: 25px;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.6px;
animation: reviewPulse 3s ease-in-out infinite;
box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
}
@keyframes reviewPulse {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.8; transform: scale(1.05); }
}
/* Responsive design */
@media (max-width: 640px) {
body {
padding: 10px;
}
.email-container {
margin: 20px auto;
border-radius: 20px;
}
.header, .content, .footer {
padding: 20px;
}
.header h1 {
font-size: 1.7rem;
flex-direction: column;
gap: 8px;
}
.action-buttons {
flex-direction: column;
align-items: center;
}
.action-button {
width: 100%;
max-width: 200px;
}
.warning-banner {
flex-direction: column;
text-align: center;
}
}
</style>
</head>
<body>
<div class="email-container">
<div class="priority-review">Manual Review</div>
<!-- Header -->
<div class="header">
<h1>Review Required</h1>
<div class="header-subtitle">Contact submission flagged for manual review</div>
</div>
<!-- Content -->
<div class="content">
<div class="warning-banner">
<div class="warning-content">
<div class="warning-title">Automated Review Alert</div>
<div class="warning-text">
This contact form submission has been flagged by our automated systems and requires manual review before processing. Please examine the content and take appropriate action.
</div>
</div>
</div>
<!-- Review Information -->
<div class="review-grid">
<div class="review-field">
<div class="field-label email">Email Address</div>
<div class="field-value">{{email}}</div>
</div>
<div class="review-field">
<div class="field-label message">Message Content</div>
<div class="message-content">{{message}}</div>
</div>
<div class="review-field">
<div class="field-label justification">Review Justification</div>
<div class="justification-content">{{justification}}</div>
</div>
</div>
<!-- Footer -->
<div class="footer">
<div class="footer-warning">⚠️ This submission requires immediate attention</div>
<div class="footer-note">365DevNet Automated Review System</div>
</div>
</div>
</body>
</html>

View File

@@ -1,80 +1,366 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Thank you for your message</title>
<style>
/* Reset and base styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
line-height: 1.6;
color: #333;
color: #1a1a1a;
background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
background-size: 300% 300%;
animation: gradientShift 15s ease infinite;
min-height: 100vh;
padding: 20px;
margin: 0;
}
@keyframes gradientShift {
0%, 100% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
}
/* Main container with glassmorphism */
.email-container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
margin: 40px auto;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 24px;
overflow: hidden;
box-shadow:
0 32px 80px rgba(0, 0, 0, 0.15),
0 0 0 1px rgba(255, 255, 255, 0.1) inset;
position: relative;
}
/* Animated header with gradient */
.header {
background-color: #2563eb;
background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
background-size: 200% 200%;
animation: gradientShift 8s ease-in-out infinite;
color: white;
padding: 20px;
padding: 40px 30px;
text-align: center;
border-radius: 8px 8px 0 0;
position: relative;
overflow: hidden;
}
.header::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
background-size: 30px 30px;
animation: backgroundMove 20s linear infinite;
opacity: 0.3;
}
@keyframes backgroundMove {
0% { transform: translateX(0) translateY(0); }
100% { transform: translateX(-30px) translateY(-30px); }
}
.header h1 {
font-size: 2.5rem;
font-weight: 900;
margin: 0;
position: relative;
z-index: 2;
text-shadow: 0 2px 20px rgba(0, 0, 0, 0.2);
letter-spacing: -0.02em;
}
.header-subtitle {
font-size: 1.1rem;
margin-top: 8px;
opacity: 0.9;
position: relative;
z-index: 2;
font-weight: 500;
}
/* Content area */
.content {
background-color: #f8fafc;
padding: 20px;
border: 1px solid #e2e8f0;
border-top: none;
border-radius: 0 0 8px 8px;
padding: 40px 30px;
position: relative;
}
.message {
background-color: white;
padding: 15px;
border-radius: 4px;
border: 1px solid #e2e8f0;
margin: 20px 0;
.greeting {
font-size: 1.2rem;
font-weight: 600;
color: #2563eb;
margin-bottom: 20px;
}
.footer {
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid #e2e8f0;
font-size: 0.9em;
color: #6b7280;
.main-message {
font-size: 1.1rem;
color: #374151;
margin-bottom: 30px;
line-height: 1.7;
}
.button {
/* Message display with modern styling */
.message-section {
background: linear-gradient(135deg, rgba(102, 126, 234, 0.05), rgba(245, 87, 108, 0.05));
border: 1px solid rgba(102, 126, 234, 0.1);
border-radius: 16px;
padding: 24px;
margin: 30px 0;
position: relative;
backdrop-filter: blur(10px);
}
.message-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #667eea, #764ba2, #f093fb);
border-radius: 16px 16px 0 0;
}
.message-title {
font-size: 1.1rem;
font-weight: 700;
color: #1f2937;
margin-bottom: 12px;
display: flex;
align-items: center;
}
.message-title::before {
content: '💬';
margin-right: 8px;
font-size: 1.2rem;
}
.message-content {
background: rgba(255, 255, 255, 0.8);
padding: 16px;
border-radius: 12px;
border: 1px solid rgba(0, 0, 0, 0.05);
font-style: italic;
color: #4b5563;
line-height: 1.6;
white-space: pre-wrap;
}
/* Call-to-action button */
.cta-section {
text-align: center;
margin: 35px 0;
}
.cta-button {
display: inline-block;
background-color: #2563eb;
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
padding: 12px 24px;
padding: 16px 32px;
text-decoration: none;
border-radius: 6px;
margin: 20px 0;
border-radius: 50px;
font-weight: 700;
font-size: 1rem;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
border: 2px solid transparent;
position: relative;
overflow: hidden;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.button:hover {
background-color: #1d4ed8;
.cta-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
.cta-button:hover::before {
left: 100%;
}
.cta-button:hover {
transform: translateY(-3px) scale(1.02);
box-shadow: 0 20px 40px rgba(102, 126, 234, 0.4);
}
/* Additional info section */
.additional-info {
background: rgba(79, 172, 254, 0.05);
border-left: 4px solid #4facfe;
padding: 20px;
margin: 25px 0;
border-radius: 0 12px 12px 0;
font-size: 0.95rem;
color: #374151;
}
/* Footer */
.footer {
padding: 30px;
border-top: 1px solid rgba(0, 0, 0, 0.1);
background: linear-gradient(135deg, rgba(248, 250, 252, 0.8), rgba(241, 245, 249, 0.8));
text-align: center;
}
.footer-signature {
font-size: 1.1rem;
font-weight: 600;
color: #1f2937;
margin-bottom: 8px;
}
.footer-team {
background: linear-gradient(135deg, #667eea, #764ba2);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700;
font-size: 1rem;
}
.footer-disclaimer {
font-size: 0.85rem;
color: #6b7280;
margin-top: 15px;
padding-top: 15px;
border-top: 1px solid rgba(0, 0, 0, 0.05);
}
/* Floating decorative elements */
.floating-decoration {
position: absolute;
pointer-events: none;
opacity: 0.1;
}
.decoration-1 {
top: 20%;
right: 10%;
width: 60px;
height: 60px;
background: linear-gradient(135deg, #667eea, #764ba2);
border-radius: 50%;
animation: float 6s ease-in-out infinite;
}
.decoration-2 {
bottom: 30%;
left: 15%;
width: 40px;
height: 40px;
background: linear-gradient(135deg, #f093fb, #f5576c);
border-radius: 30%;
animation: float 8s ease-in-out infinite reverse;
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(180deg); }
}
/* Responsive design */
@media (max-width: 640px) {
body {
padding: 10px;
}
.email-container {
margin: 20px auto;
border-radius: 20px;
}
.header {
padding: 30px 20px;
}
.header h1 {
font-size: 2rem;
}
.content {
padding: 30px 20px;
}
.footer {
padding: 20px;
}
.cta-button {
padding: 14px 28px;
font-size: 0.9rem;
}
}
</style>
</head>
<body>
<div class="header">
<h1>Thank you for your message</h1>
</div>
<div class="content">
<p>Dear {{name}},</p>
<p>Thank you for contacting {{websiteName}}. We have received your message and will get back to you as soon as possible.</p>
<div class="email-container">
<!-- Floating decorative elements -->
<div class="floating-decoration decoration-1"></div>
<div class="floating-decoration decoration-2"></div>
<div class="message">
<h3>Your Message:</h3>
<p>{{message}}</p>
<!-- Header -->
<div class="header">
<h1>Thank You!</h1>
<div class="header-subtitle">Your message has been received</div>
</div>
<p>If you have any additional information to share, please don't hesitate to reply to this email.</p>
<!-- Content -->
<div class="content">
<div class="greeting">Dear {{name}},</div>
<a href="https://www.365devnet.eu" class="button">Visit Our Website</a>
<div class="main-message">
Thank you for reaching out to <strong>365DevNet</strong>. We truly appreciate you taking the time to contact us and we're excited to connect with you.
</div>
<!-- Message display -->
<div class="message-section">
<div class="message-title">Your Message</div>
<div class="message-content">{{message}}</div>
</div>
<div class="additional-info">
<strong>What happens next?</strong> We'll review your message carefully and get back to you as soon as possible. Our typical response time is within 24-48 hours during business days.
</div>
<!-- Call to action -->
<div class="cta-section">
<a href="https://www.365devnet.eu" class="cta-button">Explore Our Services</a>
</div>
<div class="main-message">
If you have any additional information to share or urgent questions, please don't hesitate to reply to this email directly.
</div>
</div>
<!-- Footer -->
<div class="footer">
<p>Best regards,<br>{{websiteName}} Team</p>
<p><small>This is an automated message, please do not reply directly to this email.</small></p>
<div class="footer-signature">Best regards,</div>
<div class="footer-team">365DevNet Team</div>
<div class="footer-disclaimer">
This is an automated confirmation message. You can reply directly to this email to reach our team.
</div>
</div>
</div>
</body>