Spaces:
Sleeping
Sleeping
{% extends "base.html" %} | |
{% block title %}Certificate of Completion{% endblock %} | |
{% block content %} | |
<link href="https://fonts.googleapis.com/css2?family=Great+Vibes&family=Playfair+Display:wght@700&family=Open+Sans&display=swap" rel="stylesheet"> | |
<style> | |
body { | |
background: #f0f2f5; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
min-height: 100vh; | |
margin: 0; | |
padding: 20px; | |
} | |
.container { | |
max-width: 1100px; | |
width: 100%; | |
background: #fff; | |
padding: 0; | |
border-radius: 20px; | |
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); | |
overflow: hidden; | |
border: 12px double #FFD700; /* Rich gold border */ | |
} | |
.certificate-card { | |
background: linear-gradient(135deg, #fdfdfd 0%, #f3f9ff 100%); | |
padding: 60px 80px; | |
text-align: center; | |
position: relative; | |
min-height: 650px; | |
display: flex; | |
flex-direction: column; | |
justify-content: space-between; | |
} | |
/* Decorative corner elements */ | |
.certificate-card::before, | |
.certificate-card::after { | |
content: ""; | |
position: absolute; | |
border: 4px solid #FFD700; | |
width: 80px; | |
height: 80px; | |
} | |
.certificate-card::before { | |
top: 25px; | |
left: 25px; | |
border-right: none; | |
border-bottom: none; | |
} | |
.certificate-card::after { | |
bottom: 25px; | |
right: 25px; | |
border-left: none; | |
border-top: none; | |
} | |
.badge-icon { | |
position: absolute; | |
top: 30px; | |
right: 30px; | |
font-size: 3.5em; | |
color: #FFD700; | |
text-shadow: 2px 2px 6px rgba(0,0,0,0.2); | |
} | |
.certificate-title { | |
font-family: 'Playfair Display', serif; | |
font-size: 3.8em; | |
color: #1d3557; | |
margin-bottom: 15px; | |
text-transform: uppercase; | |
letter-spacing: 2px; | |
} | |
.certificate-subtitle { | |
font-family: 'Open Sans', sans-serif; | |
font-size: 1.4em; | |
color: #444; | |
margin-bottom: 35px; | |
} | |
.certificate-name-label { | |
font-family: 'Open Sans', sans-serif; | |
font-size: 1.2em; | |
color: #6c757d; | |
margin-top: 20px; | |
margin-bottom: 15px; | |
font-weight: 600; | |
} | |
.certificate-name { | |
font-family: 'Great Vibes', cursive; | |
font-size: 4.8em; | |
color: #0d6efd; | |
margin-bottom: 40px; | |
line-height: 1.2; | |
text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15); | |
} | |
.certificate-text { | |
font-family: 'Open Sans', sans-serif; | |
font-size: 1.2em; | |
color: #495057; | |
line-height: 1.8; | |
margin: 0 auto 25px; | |
max-width: 750px; | |
} | |
.certificate-points { | |
font-family: 'Playfair Display', serif; | |
font-size: 1.6em; | |
color: #0a9396; | |
font-weight: 700; | |
margin-top: 20px; | |
} | |
.certificate-footer { | |
width: 100%; | |
display: flex; | |
justify-content: space-between; | |
margin-top: 50px; | |
font-family: 'Open Sans', sans-serif; | |
font-size: 1em; | |
color: #555; | |
} | |
.certificate-signature { | |
width: 40%; | |
text-align: center; | |
} | |
.certificate-signature p { | |
margin-top: 60px; | |
border-top: 2px solid #000; | |
padding-top: 8px; | |
font-weight: 600; | |
} | |
.back-to-dashboard-button { | |
margin-top: 30px; | |
background-color: #007bff; | |
color: white; | |
padding: 12px 28px; | |
border: none; | |
border-radius: 8px; | |
text-decoration: none; | |
font-weight: 600; | |
font-size: 1em; | |
transition: background-color 0.3s ease; | |
} | |
.back-to-dashboard-button:hover { | |
background-color: #0056b3; | |
} | |
@media print { | |
body { | |
background: none; | |
} | |
.container { | |
box-shadow: none; | |
border: 8px double #000; | |
} | |
.certificate-card { | |
border: none; | |
margin: 0; | |
padding: 40px; | |
background: #fff; | |
} | |
.back-to-dashboard-button { | |
display: none; | |
} | |
} | |
</style> | |
<div class="certificate-card"> | |
<div class="badge-icon">π</div> | |
<h1 class="certificate-title">Certificate of Completion</h1> | |
<p class="certificate-subtitle">This certifies that</p> | |
<p class="certificate-name">{{ username }}</p> | |
<p class="certificate-name-label">has successfully completed the course</p> | |
<p class="certificate-text"> | |
for demonstrating outstanding dedication and mastering the principles of Rainwater Harvesting | |
through the <strong>Raindrop Quest: Harvest Hero</strong> learning program. | |
</p> | |
<p class="certificate-points">Total Points Earned: {{ total_points }}</p> | |
<div class="certificate-footer"> | |
<div class="certificate-signature"> | |
<p>Date: {{ 'today' | date('%B %d, %Y') }}</p> | |
</div> | |
<div class="certificate-signature"> | |
<p>Instructor: HydroHero Academy</p> | |
</div> | |
</div> | |
<a href="{{ url_for('dashboard') }}" class="back-to-dashboard-button">Back to Dashboard</a> | |
</div> | |
{% endblock %} | |