<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>The Power of Forgiveness - Student Response Visualization</title>

<style>

* {

margin: 0;

padding: 0;

box-sizing: border-box;

}

body {

font-family: 'Arial', sans-serif;

background: linear-gradient(135deg, #0f0f23 0%, #1a1a3a 50%, #2d2d5f 100%);

min-height: 100vh;

color: white;

overflow-x: hidden;

}

.container {

max-width: 1200px;

margin: 0 auto;

padding: 2rem;

}

.header {

text-align: center;

margin-bottom: 3rem;

position: relative;

}

.title {

font-size: 3rem;

font-weight: bold;

background: linear-gradient(45deg, #ffd700, #ff6b6b, #4ecdc4);

-webkit-background-clip: text;

-webkit-text-fill-color: transparent;

background-clip: text;

margin-bottom: 1rem;

animation: glow 2s ease-in-out infinite alternate;

}

.subtitle {

font-size: 1.3rem;

color: #b8b8d1;

margin-bottom: 0.5rem;

}

.impact-stat {

font-size: 2rem;

color: #4ecdc4;

font-weight: bold;

animation: pulse 2s infinite;

}

@keyframes glow {

from { filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5)); }

to { filter: drop-shadow(0 0 20px rgba(255, 215, 0, 0.8)); }

}

@keyframes pulse {

0%, 100% { transform: scale(1); }

50% { transform: scale(1.05); }

}

.visualization-container {

display: grid;

grid-template-columns: 1fr 1fr;

gap: 3rem;

margin-bottom: 3rem;

}

.chart-section {

background: rgba(255, 255, 255, 0.1);

border-radius: 20px;

padding: 2rem;

backdrop-filter: blur(10px);

border: 1px solid rgba(255, 255, 255, 0.2);

position: relative;

overflow: hidden;

}

.chart-section::before {

content: '';

position: absolute;

top: 0;

left: -100%;

width: 100%;

height: 100%;

background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);

animation: shimmer 3s infinite;

}

@keyframes shimmer {

0% { left: -100%; }

100% { left: 100%; }

}

.response-bars {

display: flex;

flex-direction: column;

gap: 1rem;

height: 400px;

justify-content: space-between;

}

.response-item {

display: flex;

align-items: center;

gap: 1rem;

opacity: 0;

animation: slideIn 1s ease-out forwards;

}

.response-item:nth-child(1) { animation-delay: 0.2s; }

.response-item:nth-child(2) { animation-delay: 0.4s; }

.response-item:nth-child(3) { animation-delay: 0.6s; }

.response-item:nth-child(4) { animation-delay: 0.8s; }

.response-item:nth-child(5) { animation-delay: 1s; }

@keyframes slideIn {

from {

opacity: 0;

transform: translateX(-50px);

}

to {

opacity: 1;

transform: translateX(0);

}

}

.response-label {

min-width: 140px;

font-weight: bold;

text-align: right;

}

.bar-container {

flex: 1;

height: 50px;

background: rgba(255, 255, 255, 0.1);

border-radius: 25px;

overflow: hidden;

position: relative;

}

.bar {

height: 100%;

border-radius: 25px;

position: relative;

overflow: hidden;

animation: fillBar 2s ease-out forwards;

transform-origin: left;

}

@keyframes fillBar {

from { width: 0; }

to { width: var(--width); }

}

.bar::after {

content: '';

position: absolute;

top: 0;

left: -100%;

width: 100%;

height: 100%;

background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);

animation: barShimmer 2s infinite;

}

@keyframes barShimmer {

0% { left: -100%; }

100% { left: 100%; }

}

.strongly-agree {

background: linear-gradient(45deg, #ff6b6b, #ffd700);

--width: 41.2%;

}

.agree {

background: linear-gradient(45deg, #4ecdc4, #45b7d1);

--width: 36.2%;

}

.neutral {

background: linear-gradient(45deg, #95a5a6, #bdc3c7);

--width: 18.6%;

}

.disagree {

background: linear-gradient(45deg, #e74c3c, #c0392b);

--width: 2.1%;

}

.strongly-disagree {

background: linear-gradient(45deg, #8e44ad, #9b59b6);

--width: 1.9%;

}

.percentage {

min-width: 60px;

font-size: 1.1rem;

font-weight: bold;

color: #ffd700;

}

.circular-progress {

position: relative;

width: 300px;

height: 300px;

margin: 0 auto;

}

.progress-ring {

transform: rotate(-90deg);

}

.progress-circle {

fill: none;

stroke-width: 20;

stroke-linecap: round;

}

.progress-bg {

stroke: rgba(255, 255, 255, 0.1);

}

.progress-bar {

stroke: url(#gradient);

stroke-dasharray: 565.48;

stroke-dashoffset: 565.48;

animation: drawCircle 3s ease-out forwards;

}

@keyframes drawCircle {

to {

stroke-dashoffset: 141.37; /* 75% of circumference */

}

}

.progress-center {

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

text-align: center;

}

.progress-percentage {

font-size: 3rem;

font-weight: bold;

color: #ffd700;

margin-bottom: 0.5rem;

}

.progress-label {

font-size: 1rem;

color: #b8b8d1;

line-height: 1.3;

}

.transformation-icons {

display: flex;

justify-content: space-around;

margin: 2rem 0;

flex-wrap: wrap;

gap: 1rem;

}

.icon-item {

text-align: center;

padding: 1rem;

background: rgba(255, 255, 255, 0.05);

border-radius: 15px;

transition: transform 0.3s ease;

animation: float 3s ease-in-out infinite;

}

.icon-item:nth-child(even) {

animation-direction: reverse;

animation-delay: 1.5s;

}

.icon-item:hover {

transform: translateY(-10px);

}

@keyframes float {

0%, 100% { transform: translateY(0px); }

50% { transform: translateY(-10px); }

}

.icon {

font-size: 2rem;

margin-bottom: 0.5rem;

display: block;

}

.quote-section {

text-align: center;

padding: 2rem;

background: rgba(255, 255, 255, 0.05);

border-radius: 20px;

margin-top: 2rem;

border-left: 5px solid #ffd700;

}

.quote {

font-size: 1.3rem;

font-style: italic;

color: #e8e8f0;

margin-bottom: 1rem;

line-height: 1.6;

}

.quote-author {

color: #ffd700;

font-weight: bold;

}

@media (max-width: 768px) {

.visualization-container {

grid-template-columns: 1fr;

}

.title {

font-size: 2rem;

}

.response-item {

flex-direction: column;

text-align: center;

gap: 0.5rem;

}

.response-label {

min-width: auto;

text-align: center;

}

}

</style>

</head>

<body>

<div class="container">

<div class="header">

<h1 class="title">The Power of Forgiveness</h1>

<p class="subtitle">Student Responses to Louis Zamperini's Transformative Story</p>

<p class="impact-stat">77.4% of students experienced the power of forgiveness</p>

</div>

<div class="visualization-container">

<div class="chart-section">

<h3 style="margin-bottom: 2rem; color: #ffd700; text-align: center;">Detailed Response Breakdown</h3>

<div class="response-bars">

<div class="response-item">

<div class="response-label">Strongly Agree</div>

<div class="bar-container">

<div class="bar strongly-agree"></div>

</div>

<div class="percentage">41.2%</div>

</div>

<div class="response-item">

<div class="response-label">Agree</div>

<div class="bar-container">

<div class="bar agree"></div>

</div>

<div class="percentage">36.2%</div>

</div>

<div class="response-item">

<div class="response-label">Neutral</div>

<div class="bar-container">

<div class="bar neutral"></div>

</div>

<div class="percentage">18.6%</div>

</div>

<div class="response-item">

<div class="response-label">Disagree</div>

<div class="bar-container">

<div class="bar disagree"></div>

</div>

<div class="percentage">2.1%</div>

</div>

<div class="response-item">

<div class="response-label">Strongly Disagree</div>

<div class="bar-container">

<div class="bar strongly-disagree"></div>

</div>

<div class="percentage">1.9%</div>

</div>

</div>

</div>

<div class="chart-section">

<h3 style="margin-bottom: 2rem; color: #ffd700; text-align: center;">Overall Impact</h3>

<div class="circular-progress">

<svg class="progress-ring" width="300" height="300">

<defs>

<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">

<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1" />

<stop offset="50%" style="stop-color:#ffd700;stop-opacity:1" />

<stop offset="100%" style="stop-color:#4ecdc4;stop-opacity:1" />

</linearGradient>

</defs>

<circle class="progress-circle progress-bg" cx="150" cy="150" r="90"></circle>

<circle class="progress-circle progress-bar" cx="150" cy="150" r="90"></circle>

</svg>

<div class="progress-center">

<div class="progress-percentage">77.4%</div>

<div class="progress-label">Students Impacted<br>by Forgiveness</div>

</div>

</div>

</div>

</div>

<div class="transformation-icons">

<div class="icon-item">

<span class="icon">💪</span>

<div>Resilience</div>

</div>

<div class="icon-item">

<span class="icon">🕊️</span>

<div>Forgiveness</div>

</div>

<div class="icon-item">

<span class="icon">🌟</span>

<div>Hope</div>

</div>

<div class="icon-item">

<span class="icon">⛓️‍💥</span>

<div>Breaking Chains</div>

</div>

<div class="icon-item">

<span class="icon">🦅</span>

<div>Freedom</div>

</div>

<div class="icon-item">

<span class="icon">📚</span>

<div>Growth</div>

</div>

</div>

<div class="quote-section">

<p class="quote">"The paradox of vengefulness is that it makes men dependent upon those who have harmed them, believing that their release from pain will come only when their tormentors suffer."</p>

<p class="quote-author">— Laura Hillenbrand, Unbroken</p>

</div>

</div>

</body>

</html>