/* Modern UI with 3D Elements for Enrollment System */
/* 3D Background Animation */
.animated-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
overflow: hidden;
background: linear-gradient(125deg, #5f27cd, #341f97);
}
.animated-shape {
position: absolute;
border-radius: 50%;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(5px);
animation: float 15s infinite ease-in-out;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.shape-1 {
width: 300px;
height: 300px;
top: -150px;
right: -50px;
animation-delay: 0s;
}
.shape-2 {
width: 200px;
height: 200px;
bottom: -100px;
left: -50px;
animation-delay: 3s;
}
.shape-3 {
width: 150px;
height: 150px;
top: 40%;
right: 15%;
animation-delay: 6s;
}
.shape-4 {
width: 80px;
height: 80px;
bottom: 30%;
left: 15%;
animation-delay: 9s;
}
@keyframes float {
0% {
transform: translateY(0) rotate(0);
}
50% {
transform: translateY(-20px) rotate(5deg);
}
100% {
transform: translateY(0) rotate(0);
}
}
/* Glass Card Styles */
.glass-card {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
overflow: hidden;
}
/* Modern Card Header */
.modern-card-header {
position: relative;
padding: 1.2rem;
background: linear-gradient(135deg, rgba(78, 115, 223, 0.9), rgba(54, 78, 181, 0.7));
color: white;
border-radius: 12px 12px 0 0;
overflow: hidden;
transition: all 0.3s ease-in-out;
}
.modern-card-header::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(45deg, transparent 25%, rgba(255, 255, 255, 0.1) 25%,
rgba(255, 255, 255, 0.1) 50%, transparent 50%, transparent 75%,
rgba(255, 255, 255, 0.1) 75%, rgba(255, 255, 255, 0.1));
background-size: 30px 30px;
animation: moveStripes 3s linear infinite;
z-index: 1;
}
@keyframes moveStripes {
0% {
background-position: 0 0;
}
100% {
background-position: 60px 30px;
}
}
.modern-card-header-content {
position: relative;
z-index: 2;
display: flex;
align-items: center;
}
.modern-card-header-content i {
margin-right: 10px;
font-size: 1.4rem;
animation: pulse 2s infinite;
}
@keyframes pulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
.modern-card-header.success-header {
background: linear-gradient(135deg, rgba(28, 200, 138, 0.9), rgba(16, 152, 98, 0.7));
}
.modern-card-header.warning-header {
background: linear-gradient(135deg, rgba(246, 194, 62, 0.9), rgba(240, 173, 78, 0.7));
}
/* Floating Label Animations */
.floating-label {
position: absolute;
top: -10px;
right: 20px;
background: rgba(255, 255, 255, 0.2);
padding: 4px 12px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 500;
z-index: 3;
transform: translateY(0);
animation: float-label 3s ease-in-out infinite;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
border: 1px solid rgba(255, 255, 255, 0.3);
}
@keyframes float-label {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
}
/* Animated Badge */
.animated-badge {
display: inline-block;
margin-left: 5px;
animation: bounce 1s infinite alternate;
}
@keyframes bounce {
from {
transform: translateY(0);
}
to {
transform: translateY(-3px);
}
}
/* Animations */
.fade-in {
animation: fadeIn 0.8s ease-in-out;
}
.bounce-in {
animation: bounceIn 1s ease-in-out;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes bounceIn {
0% {
opacity: 0;
transform: scale(0.8);
}
70% {
transform: scale(1.05);
}
100% {
opacity: 1;
transform: scale(1);
}
}
/* 3D Button Styles */
.btn-3d {
position: relative;
transition: all 0.3s ease;
border: none;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
overflow: hidden;
transform-style: preserve-3d;
transform: perspective(500px);
}
.btn-3d::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
120deg,
transparent,
rgba(255, 255, 255, 0.3),
transparent
);
transform: translateX(-100%);
transition: all 0.8s ease;
}
.btn-3d:hover::before {
transform: translateX(100%);
}
.btn-primary-3d {
background: linear-gradient(135deg, #4e73df, #2e59d9);
color: white;
}
.btn-success-3d {
background: linear-gradient(135deg, #1cc88a, #13855c);
color: white;
}
.btn-warning-3d {
background: linear-gradient(135deg, #f6c23e, #dda20a);
color: white;
}
.btn-danger-3d {
background: linear-gradient(135deg, #e74a3b, #be2617);
color: white;
}
.btn-outline-3d {
background: transparent;
color: white;
box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.2);
}
/* For glowing effects on card headers */
.glow-effect {
position: absolute;
width: 100px;
height: 100px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.4);
filter: blur(30px);
animation: glow 8s infinite alternate;
opacity: 0.5;
z-index: 0;
}
.glow-1 {
top: -50px;
left: 20%;
animation-delay: 0s;
}
.glow-2 {
bottom: -50px;
right: 20%;
animation-delay: 4s;
}
@keyframes glow {
0% {
transform: translate(0, 0) scale(1);
opacity: 0.3;
}
100% {
transform: translate(20px, 20px) scale(1.5);
opacity: 0.5;
}
}
/* Glass Morphism Cards */
.glass-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.4);
}
.glass-card .card-header {
background: rgba(255, 255, 255, 0.1);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.glass-card .card-body {
padding: 30px;
}
/* Payment Options Cards */
.payment-plan-card {
position: relative;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 1.5rem;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease-in-out;
overflow: hidden;
text-align: center;
height: 100%;
}
.payment-plan-card.selected {
border: 2px solid rgba(255, 255, 255, 0.9);
background: rgba(255, 255, 255, 0.15);
transform: scale(1.05);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2), 0 0 20px rgba(78, 115, 223, 0.5);
}
.payment-plan-card:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(
circle at top right,
rgba(255, 255, 255, 0.1),
transparent 60%
);
z-index: 0;
}
.payment-plan-card .plan-header {
margin-bottom: 20px;
position: relative;
z-index: 1;
}
.payment-plan-card .plan-icon {
font-size: 3rem;
margin-bottom: 15px;
color: rgba(255, 255, 255, 0.9);
}
.payment-plan-card .plan-price {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 0;
color: white;
}
.payment-plan-card .plan-period {
color: rgba(255, 255, 255, 0.8);
font-size: 1rem;
}
.payment-plan-card .plan-features {
list-style: none;
padding: 0;
margin: 30px 0;
position: relative;
z-index: 1;
}
.payment-plan-card .plan-features li {
padding: 10px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
color: rgba(255, 255, 255, 0.9);
}
.payment-plan-card .plan-features li:last-child {
border-bottom: none;
}
.payment-plan-card .plan-footer {
position: relative;
z-index: 1;
}
.plan-monthly {
background: linear-gradient(135deg, #5f27cd 0%, #341f97 100%);
}
.plan-quarterly {
background: linear-gradient(135deg, #8e2de2 0%, #4a00e0 100%);
}
.plan-full {
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
}
.plan-badge {
position: absolute;
top: 0;
right: 0;
background: rgba(255, 255, 255, 0.2);
padding: 5px 15px;
border-radius: 0 15px 0 15px;
font-size: 0.8rem;
font-weight: 600;
color: white;
}
/* Receipt Styles */
.receipt-container {
background: white;
padding: 30px;
border-radius: 15px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
position: relative;
}
.receipt-header {
text-align: center;
padding-bottom: 20px;
border-bottom: 2px dashed #eee;
margin-bottom: 20px;
}
.receipt-logo {
max-width: 150px;
margin-bottom: 15px;
}
.receipt-title {
font-size: 1.8rem;
font-weight: 700;
margin-bottom: 5px;
color: #333;
}
.receipt-subtitle {
font-size: 1rem;
color: #666;
}
.receipt-body {
margin-bottom: 30px;
}
.receipt-info-row {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #eee;
}
.receipt-info-row:last-child {
border-bottom: none;
}
.receipt-label {
font-weight: 600;
color: #555;
}
.receipt-value {
color: #333;
}
.receipt-total {
background: #f9f9f9;
padding: 15px;
border-radius: 10px;
display: flex;
justify-content: space-between;
font-size: 1.2rem;
font-weight: 700;
margin-top: 20px;
}
.receipt-footer {
text-align: center;
margin-top: 30px;
color: #666;
font-size: 0.9rem;
}
.receipt-actions {
text-align: center;
margin-top: 20px;
}
.qr-code {
width: 100px;
height: 100px;
margin: 0 auto 20px;
background: #f9f9f9;
padding: 10px;
border-radius: 5px;
}
.verification-token-display {
background: #f9f9f9;
padding: 20px;
border-radius: 10px;
font-family: monospace;
font-size: 1.2rem;
letter-spacing: 1px;
text-align: center;
margin: 20px 0;
border: 1px dashed #ddd;
}
/* Media Queries */
@media (max-width: 768px) {
.payment-plan-card {
margin-bottom: 20px;
}
.btn-3d {
padding: 10px 25px;
}
.receipt-container {
padding: 20px;
}
}