| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Guarantee + Nearest Flow Block</title> |
| <script src="https://cdn.tailwindcss.com"></script> |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
| <style> |
| @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;900&display=swap'); |
| |
| body { |
| font-family: 'Inter', sans-serif; |
| background-color: #0a0a0a; |
| color: #E1E1E1; |
| overflow-x: hidden; |
| } |
| |
| .neon-yellow { |
| color: #f6fc79; |
| text-shadow: 0 0 8px rgba(246, 252, 121, 0.7); |
| } |
| |
| .neon-yellow-bg { |
| background-color: #f6fc79; |
| box-shadow: 0 0 15px rgba(246, 252, 121, 0.7); |
| } |
| |
| .neon-yellow-border { |
| border-color: #f6fc79; |
| box-shadow: 0 0 10px rgba(246, 252, 121, 0.5); |
| } |
| |
| .glow-text { |
| text-shadow: 0 0 10px rgba(246, 252, 121, 0.9); |
| } |
| |
| .glow-box { |
| box-shadow: 0 0 15px rgba(246, 252, 121, 0.7); |
| } |
| |
| .glow-box:hover { |
| box-shadow: 0 0 25px rgba(246, 252, 121, 0.9); |
| } |
| |
| .border-glow { |
| border-color: #f6fc79; |
| box-shadow: 0 0 10px rgba(246, 252, 121, 0.5); |
| } |
| |
| .border-glow:hover { |
| box-shadow: 0 0 20px rgba(246, 252, 121, 0.8); |
| } |
| |
| .dashboard-container { |
| perspective: 1000px; |
| transform-style: preserve-3d; |
| } |
| |
| .dashboard { |
| transform: rotateY(-15deg) rotateX(5deg); |
| transition: all 0.5s ease; |
| } |
| |
| .dashboard:hover { |
| transform: rotateY(-10deg) rotateX(3deg); |
| } |
| |
| .traffic-flow { |
| position: relative; |
| height: 100%; |
| overflow: hidden; |
| } |
| |
| .flow-item { |
| position: absolute; |
| transition: all 0.5s ease; |
| } |
| |
| .pulse { |
| animation: pulse 2s infinite; |
| } |
| |
| @keyframes pulse { |
| 0% { transform: scale(1); opacity: 1; } |
| 50% { transform: scale(1.05); opacity: 0.8; } |
| 100% { transform: scale(1); opacity: 1; } |
| } |
| |
| .particles { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| pointer-events: none; |
| } |
| |
| .particle { |
| position: absolute; |
| background-color: rgba(246, 252, 121, 0.8); |
| border-radius: 50%; |
| pointer-events: none; |
| } |
| |
| .tooltip { |
| visibility: hidden; |
| opacity: 0; |
| transition: all 0.3s ease; |
| } |
| |
| .flow-item:hover .tooltip { |
| visibility: visible; |
| opacity: 1; |
| } |
| |
| .nav-link { |
| position: relative; |
| transition: all 0.3s ease; |
| } |
| |
| .nav-link:hover { |
| text-shadow: 0 0 10px rgba(246, 252, 121, 0.9); |
| color: #f6fc79 !important; |
| } |
| |
| .process-arrow { |
| position: absolute; |
| color: #f6fc79; |
| font-size: 24px; |
| top: 50%; |
| transform: translateY(-50%); |
| z-index: 1; |
| } |
| |
| @media (max-width: 768px) { |
| .dashboard { |
| transform: none; |
| } |
| } |
| .arrow-animation { |
| animation: arrowPulse 1.5s infinite; |
| } |
| @keyframes arrowPulse { |
| 0% { opacity: 0.5; transform: translateY(-50%) translateX(0); } |
| 50% { opacity: 1; transform: translateY(-50%) translateX(5px); } |
| 100% { opacity: 0.5; transform: translateY(-50%) translateX(0); } |
| } |
| |
| |
| .guarantee-flow-container { |
| opacity: 0; |
| transform: translateY(20px); |
| animation: fadeInUp 0.8s ease forwards; |
| } |
| |
| @keyframes fadeInUp { |
| to { |
| opacity: 1; |
| transform: translateY(0); |
| } |
| } |
| |
| .guarantee-section { |
| background-color: #121212; |
| animation: slideInLeft 0.6s ease-out forwards; |
| } |
| |
| .flow-section { |
| background-color: #1a1a1a; |
| animation: slideInRight 0.6s ease-out forwards; |
| } |
| |
| @keyframes slideInLeft { |
| from { |
| transform: translateX(-20px); |
| opacity: 0; |
| } |
| to { |
| transform: translateX(0); |
| opacity: 1; |
| } |
| } |
| |
| @keyframes slideInRight { |
| from { |
| transform: translateX(20px); |
| opacity: 0; |
| } |
| to { |
| transform: translateX(0); |
| opacity: 1; |
| } |
| } |
| |
| .shield-icon { |
| animation: shieldGlow 3s infinite alternate; |
| } |
| |
| @keyframes shieldGlow { |
| 0% { |
| filter: drop-shadow(0 0 8px rgba(246, 252, 121, 0.7)); |
| transform: scale(1); |
| } |
| 100% { |
| filter: drop-shadow(0 0 20px rgba(246, 252, 121, 1)); |
| transform: scale(1.05); |
| } |
| } |
| |
| .places-count { |
| animation: countPulse 2s infinite; |
| } |
| |
| @keyframes countPulse { |
| 0% { |
| color: #f6fc79; |
| text-shadow: 0 0 8px rgba(246, 252, 121, 0.7); |
| } |
| 50% { |
| color: #fff; |
| text-shadow: 0 0 15px rgba(246, 252, 121, 1); |
| } |
| 100% { |
| color: #f6fc79; |
| text-shadow: 0 0 8px rgba(246, 252, 121, 0.7); |
| } |
| } |
| |
| .book-button { |
| animation: bounce 1s ease; |
| transition: all 0.3s ease; |
| } |
| |
| @keyframes bounce { |
| 0%, 20%, 50%, 80%, 100% { |
| transform: translateY(0); |
| } |
| 40% { |
| transform: translateY(-10px); |
| } |
| 60% { |
| transform: translateY(-5px); |
| } |
| } |
| |
| .book-button:hover { |
| transform: translateY(-2px); |
| box-shadow: 0 0 25px rgba(246, 252, 121, 0.9); |
| } |
| |
| .progress-bar { |
| height: 6px; |
| background-color: #333; |
| border-radius: 3px; |
| overflow: hidden; |
| } |
| |
| .progress-fill { |
| height: 100%; |
| background-color: #f6fc79; |
| border-radius: 3px; |
| transition: width 0.5s ease; |
| box-shadow: 0 0 8px rgba(246, 252, 121, 0.7); |
| } |
| |
| .shield-bg { |
| position: absolute; |
| right: 20px; |
| bottom: 20px; |
| opacity: 0.1; |
| width: 120px; |
| height: 120px; |
| z-index: 0; |
| filter: drop-shadow(0 0 5px rgba(246, 252, 121, 0.5)); |
| } |
| |
| .calendar-bg { |
| position: absolute; |
| right: 20px; |
| bottom: 20px; |
| opacity: 0.1; |
| width: 120px; |
| height: 120px; |
| z-index: 0; |
| filter: drop-shadow(0 0 5px rgba(246, 252, 121, 0.5)); |
| } |
| |
| .icon-container { |
| width: 48px; |
| height: 48px; |
| display: flex; |
| align-items: center; |
| justify-content: center; |
| margin-right: 12px; |
| } |
| |
| .highlight-text { |
| color: #f6fc79; |
| text-shadow: 0 0 8px rgba(246, 252, 121, 0.7); |
| font-weight: 600; |
| } |
| |
| .guarantee-percent { |
| background-color: #f6fc79; |
| color: #0a0a0a; |
| font-weight: 800; |
| box-shadow: 0 0 10px rgba(246, 252, 121, 0.7); |
| } |
| </style> |
| </head> |
| <body class="min-h-screen flex items-center justify-center p-4"> |
| <div class="container mx-auto max-w-6xl"> |
| |
| <div class="guarantee-flow-container mb-20"> |
| <div class="flex flex-col lg:flex-row rounded-xl overflow-hidden border border-gray-800 border-glow"> |
| |
| <div class="guarantee-section w-full lg:w-1/2 p-8 relative overflow-hidden"> |
| <div class="relative z-10"> |
| <div class="flex items-center mb-4"> |
| <div class="icon-container"> |
| <svg class="shield-icon w-full h-full" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| <path d="M12 22C12 22 20 18 20 12V5L12 2L4 5V12C4 18 12 22 12 22Z" stroke="#f6fc79" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M12 8V12V8ZM12 12H15H12ZM12 12H9H12Z" stroke="#f6fc79" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| </svg> |
| </div> |
| <h2 class="text-2xl font-bold neon-yellow glow-text">Гарантия</h2> |
| </div> |
| <p class="text-lg mb-6"> |
| Мы уверены в качестве нашего курса. Если вы не получите результат после прохождения всех модулей и выполнения заданий, мы <span class="highlight-text">вернём вам деньги</span>. |
| </p> |
| <div class="flex items-center"> |
| <div class="guarantee-percent px-4 py-2 rounded-full mr-4"> |
| 100% |
| </div> |
| <span class="text-sm opacity-80">Гарантия возврата средств</span> |
| </div> |
| </div> |
| <svg class="shield-bg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| <path d="M12 22C12 22 20 18 20 12V5L12 2L4 5V12C4 18 12 22 12 22Z" stroke="#f6fc79" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> |
| </svg> |
| </div> |
| |
| |
| <div class="flow-section w-full lg:w-1/2 p-8 relative overflow-hidden"> |
| <div class="relative z-10"> |
| <div class="flex items-center mb-4"> |
| <div class="icon-container"> |
| <svg class="w-full h-full neon-yellow" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| <path d="M19 4H5C3.89543 4 3 4.89543 3 6V20C3 21.1046 3.89543 22 5 22H19C20.1046 22 21 21.1046 21 20V6C21 4.89543 20.1046 4 19 4Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M16 2V6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M8 2V6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M3 10H21" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M8 14H8.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M12 14H12.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M16 14H16.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M8 18H8.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M12 18H12.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M16 18H16.01" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> |
| </svg> |
| </div> |
| <h2 class="text-2xl font-bold neon-yellow glow-text">Ближайший поток</h2> |
| </div> |
| |
| <div class="mb-6"> |
| <div class="flex items-center mb-2"> |
| <span class="text-gray-400 mr-2">Старт курса:</span> |
| <span class="font-bold neon-yellow">5 мая</span> |
| </div> |
| <div class="flex items-center"> |
| <span class="text-gray-400 mr-2">Осталось мест:</span> |
| <span class="places-count font-bold">7 из 50</span> |
| </div> |
| </div> |
| |
| <div class="mb-4"> |
| <div class="flex justify-between text-sm mb-1"> |
| <span>Заполненность потока:</span> |
| <span class="neon-yellow">86%</span> |
| </div> |
| <div class="progress-bar"> |
| <div class="progress-fill" style="width: 86%"></div> |
| </div> |
| </div> |
| |
| <button class="book-button w-full md:w-auto neon-yellow-bg hover:neon-yellow-bg text-black font-bold py-3 px-8 rounded-full transition-all duration-300 glow-box"> |
| <svg class="w-5 h-5 inline mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> |
| <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path> |
| </svg> |
| Забронировать место |
| </button> |
| </div> |
| <svg class="calendar-bg" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| <path d="M19 4H5C3.89543 4 3 4.89543 3 6V20C3 21.1046 3.89543 22 5 22H19C20.1046 22 21 21.1046 21 20V6C21 4.89543 20.1046 4 19 4Z" stroke="#f6fc79" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M16 2V6" stroke="#f6fc79" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M8 2V6" stroke="#f6fc79" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> |
| <path d="M3 10H21" stroke="#f6fc79" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"/> |
| </svg> |
| </div> |
| </div> |
| </div> |
| </div> |
|
|
| <script> |
| |
| document.addEventListener('DOMContentLoaded', function() { |
| |
| const placesElement = document.querySelector('.places-count'); |
| |
| </html> |