diff --git a/src/css/style.css b/src/css/style.css index 3bfac5b..3a325fa 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -99,64 +99,186 @@ body { top: 0; left: 0; width: 100%; - background: rgba(255, 255, 255, 0.95); - backdrop-filter: blur(10px); - -webkit-backdrop-filter: blur(10px); - box-shadow: var(--shadow); + background: rgba(255, 255, 255, 0.85); + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); z-index: 1000; + border-bottom: 1px solid rgba(79, 70, 229, 0.08); + transition: all 0.3s ease; +} + +.header::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(79, 70, 229, 0.05) 100%); + pointer-events: none; +} + +.header.scrolled { + background: rgba(255, 255, 255, 0.95); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); + border-bottom-color: rgba(79, 70, 229, 0.15); } .nav-container { display: flex; justify-content: space-between; align-items: center; - padding: 1rem 0; + padding: 1.2rem 0; + position: relative; + z-index: 2; } .logo { - font-size: 1.5rem; - font-weight: 700; + font-size: 1.6rem; + font-weight: 800; color: var(--text-color); + text-decoration: none; + display: flex; + align-items: center; + gap: 0.5rem; + position: relative; + transition: all 0.3s ease; +} + +.logo::before { + content: ''; + position: absolute; + top: -8px; + left: -8px; + right: -8px; + bottom: -8px; + background: linear-gradient(135deg, rgba(79, 70, 229, 0.1) 0%, transparent 100%); + border-radius: 12px; + opacity: 0; + transition: opacity 0.3s ease; +} + +.logo:hover::before { + opacity: 1; } .logo span { - color: var(--primary-color); + background: var(--gradient-1); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + position: relative; + z-index: 1; } .nav-links { display: flex; list-style: none; - gap: 2rem; + gap: 2.5rem; align-items: center; + margin: 0; + background: rgba(255, 255, 255, 0.6); + padding: 0.8rem 1.5rem; + border-radius: 50px; + backdrop-filter: blur(10px); + border: 1px solid rgba(79, 70, 229, 0.1); } .nav-links a { text-decoration: none; color: var(--text-color); font-weight: 500; - transition: var(--transition); + transition: all 0.3s ease; + position: relative; + padding: 0.5rem 1rem; + border-radius: 25px; } -.nav-links a:hover { +.nav-links a::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: var(--gradient-1); + border-radius: 25px; + opacity: 0; + transform: scale(0.8); + transition: all 0.3s ease; +} + +.nav-links a:hover::before, +.nav-links a.active::before { + opacity: 0.1; + transform: scale(1); +} + +.nav-links a:hover, +.nav-links a.active { color: var(--primary-color); - background: var(--secondary-color); - padding: 0.5rem 1rem; - border-radius: 5px; + transform: translateY(-1px); } .lang-switch { display: flex; - gap: 0.5rem; + gap: 0.3rem; + background: rgba(79, 70, 229, 0.1); + padding: 0.3rem; + border-radius: 20px; } .lang-switch a { - padding: 0.2rem 0.5rem; - border-radius: 4px; + padding: 0.4rem 0.8rem !important; + border-radius: 15px; + font-size: 0.85rem; + font-weight: 600; } .lang-switch a.active { background: var(--gradient-1); - color: var(--white); + color: var(--white) !important; + transform: none !important; +} + +.lang-switch a.active::before { + display: none; +} + +.contact-btn { + padding: 0.9rem 1.8rem; + background: var(--gradient-1); + color: var(--white) !important; + border-radius: 50px; + text-decoration: none; + font-weight: 600; + transition: all 0.3s ease; + position: relative; + overflow: hidden; + z-index: 10; + display: inline-block; +} + +.contact-btn::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 ease; + z-index: -1; +} + +.contact-btn:hover::before { + left: 100%; +} + +.contact-btn:hover { + transform: translateY(-2px); + box-shadow: 0 8px 25px rgba(79, 70, 229, 0.3); + color: var(--white) !important; } .contact-icons { @@ -182,61 +304,324 @@ body { /* Hero Section */ .hero-section { - padding: 143px 0 0; + padding: 160px 0 0; background: var(--primary-color); position: relative; overflow: hidden; color: var(--white); + min-height: 100vh; +} + +.hero-background { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 1; +} + +.gradient-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(135deg, rgba(79, 70, 229, 0.9) 0%, rgba(79, 70, 229, 0.8) 100%); + z-index: 2; +} + +.pattern-grid { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px), + linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px); + background-size: 30px 30px; + z-index: 3; +} + +.floating-shapes { + position: absolute; + width: 100%; + height: 100%; + z-index: 3; +} + +.shape { + position: absolute; + background: rgba(255, 255, 255, 0.1); + border-radius: 50%; +} + +.shape1 { + width: 300px; + height: 300px; + top: -150px; + right: -150px; + animation: float 15s infinite; +} + +.shape2 { + width: 200px; + height: 200px; + bottom: -100px; + left: -100px; + animation: float 20s infinite; +} + +.shape3 { + width: 150px; + height: 150px; + top: 50%; + right: 15%; + animation: float 18s infinite; +} + +.hero-content { + position: relative; + z-index: 4; + max-width: 900px; + margin: 0 auto; + padding-bottom: 180px; +} + +.hero-text { + text-align: center; + margin-top: 40px; } .main-title { - font-size: 4rem; - line-height: 1.2; + font-size: 5.2rem; + line-height: 1.1; margin-bottom: 2rem; font-weight: 700; - background: var(--white); +} + +.text-line { + display: block; +} + +.action-line { + display: flex; + align-items: center; + justify-content: center; + gap: 1rem; + color: rgba(255, 255, 255, 0.9); +} + +.click-button { + position: relative; + display: inline-flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 1.5rem; + font-size: 120%; + font-weight: 900; + text-decoration: none; + background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.1) 100%); + border-radius: 50px; + border: 2px solid rgba(255,255,255,0.2); + backdrop-filter: blur(5px); + transition: all 0.3s ease; + cursor: pointer; + overflow: hidden; +} + +.click-text { + background: linear-gradient(135deg, #fff 0%, #818CF8 100%); -webkit-background-clip: text; background-clip: text; color: transparent; - text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); + position: relative; + z-index: 2; +} + +.click-icon { + display: flex; + align-items: center; + justify-content: center; + width: 24px; + height: 24px; + color: #fff; + position: relative; + z-index: 2; + transition: transform 0.3s ease; +} + +.click-button::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: var(--gradient-1); + opacity: 0; + transition: opacity 0.3s ease; + z-index: 1; +} + +.click-button:hover { + transform: translateY(2px); + border-color: rgba(255,255,255,0.4); + box-shadow: 0 5px 15px rgba(0,0,0,0.2); +} + +.click-button:hover::before { + opacity: 1; +} + +.click-button:hover .click-icon { + animation: bounceDown 1s infinite; +} + +@keyframes bounceDown { + 0%, 20%, 50%, 80%, 100% { + transform: translateY(0); + } + 40% { + transform: translateY(8px); + } + 60% { + transform: translateY(4px); + } +} + +.click-button:active { + transform: translateY(4px); +} + +.click-effect { + position: relative; + font-size: 120%; + font-weight: 900; + background: linear-gradient(135deg, #fff 0%, #818CF8 100%); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + padding: 0 0.5rem; + cursor: pointer; + animation: clickPulse 2s infinite; + text-shadow: 0 0 20px rgba(255, 255, 255, 0.3); + transform-origin: center; +} + +.click-effect::before { + content: ''; + position: absolute; + top: -10px; + left: -10px; + right: -10px; + bottom: -10px; + background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 70%); + border-radius: 50%; + z-index: -1; + animation: glowPulse 2s infinite; +} + +.click-effect::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 120%; + height: 120%; + background: radial-gradient(circle, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0) 60%); + transform: translate(-50%, -50%) scale(0.8); + border-radius: 50%; + z-index: -1; + animation: ripple 2s infinite; +} + +@keyframes clickPulse { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.05); + text-shadow: 0 0 30px rgba(255, 255, 255, 0.5); + } + 100% { + transform: scale(1); + } +} + +@keyframes glowPulse { + 0% { + opacity: 0.5; + transform: scale(0.8); + } + 50% { + opacity: 1; + transform: scale(1.1); + } + 100% { + opacity: 0.5; + transform: scale(0.8); + } +} + +@keyframes ripple { + 0% { + transform: translate(-50%, -50%) scale(0.8); + opacity: 0; + } + 50% { + transform: translate(-50%, -50%) scale(1.2); + opacity: 0.3; + } + 100% { + transform: translate(-50%, -50%) scale(0.8); + opacity: 0; + } +} + +.text-line.highlight { + color: transparent; + -webkit-text-stroke: 2px var(--white); } .hero-description { - color: var(--secondary-color); - font-size: 1.2rem; - margin-bottom: 2rem; + font-size: 1.4rem; + margin-bottom: 3rem; + opacity: 0.9; + line-height: 1.6; } .hero-buttons { display: flex; gap: 1rem; + justify-content: center; } .btn { - display: inline-block; + display: inline-flex; + align-items: center; + gap: 0.5rem; padding: 1rem 2rem; border-radius: 50px; text-decoration: none; font-weight: 500; transition: var(--transition); - text-align: center; } .btn-primary { - background: var(--accent-color); - color: var(--white); - box-shadow: var(--shadow); + background: var(--white); + color: var(--primary-color); } .btn-secondary { - background: transparent; - border: 2px solid var(--white); + background: rgba(255, 255, 255, 0.1); color: var(--white); + backdrop-filter: blur(5px); } .btn:hover { transform: translateY(-3px); - box-shadow: var(--shadow-lg); } .hero-image { @@ -251,17 +636,19 @@ body { .wave-separator { position: relative; width: 100%; - background: var(--primary-color); - height: 200px; + background: transparent; + height: 400px; overflow: hidden; + margin-top: -170px; + z-index: 10; } .wave-separator .wave { position: absolute; - bottom: -2px; + bottom: -20%; left: -100%; width: 300%; - height: 100%; + height: 140%; animation: wave 18s linear infinite; transform: translate3d(0, 0, 0); will-change: transform; @@ -269,12 +656,14 @@ body { .wave-separator .wave2 { animation: wave 12s linear infinite; - opacity: 0.5; + opacity: 0.3; + bottom: -25%; } .wave-separator .wave3 { animation: wave 8s linear infinite; - opacity: 0.2; + opacity: 0.1; + bottom: -30%; } .wave-separator .wave path { @@ -301,28 +690,257 @@ body { /* About Section */ .about-section { - padding: 80px 0; background: var(--white); -} - -.section-title { - font-size: 2.5rem; - margin-bottom: 2rem; - text-align: center; -} - -.highlight-text { - font-size: 1.5rem; - color: var(--primary-color); - margin-bottom: 1.5rem; - font-weight: 600; + padding: 60px 0; + position: relative; + overflow: hidden; } .about-content { + max-width: 900px; + margin: 0 auto; + position: relative; + z-index: 2; +} + +.background-grid { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-image: linear-gradient(var(--primary-color) 1px, transparent 1px), + linear-gradient(90deg, var(--primary-color) 1px, transparent 1px); + background-size: 50px 50px; + background-position: center center; + opacity: 0.03; + z-index: 1; +} + +.about-header { + margin-bottom: 3rem; +} + +.overline { + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 3px; + color: var(--primary-color); + display: block; + margin-bottom: 1rem; + font-weight: 500; +} + +.about-title { + font-size: 4rem; + line-height: 1.1; + margin-bottom: 1rem; + font-weight: 700; +} + +.gradient-text { + background: var(--gradient-1); + -webkit-background-clip: text; + background-clip: text; + color: transparent; +} + +.about-description { + margin-bottom: 4rem; +} + +.text-block { + margin-bottom: 2rem; +} + +.text-block p { + font-size: 1.1rem; + line-height: 1.8; + color: var(--text-light); +} + +.large-text { + font-size: 1.8rem !important; + line-height: 1.4 !important; + color: var(--text-color) !important; + font-weight: 500; +} + +.highlight-block { + border-left: 4px solid var(--primary-color); + padding-left: 2rem; + margin-left: -2rem; +} + +.highlight-block p { + font-size: 1.4rem; + line-height: 1.6; + color: var(--text-color); + font-weight: 500; +} + +.stats-row { display: grid; - grid-template-columns: 1fr 1fr; - gap: 4rem; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; + margin-bottom: 4rem; + padding: 2rem 0; + position: relative; +} + +.stats-row::before { + content: ''; + position: absolute; + top: 0; + left: -2rem; + right: -2rem; + height: 1px; + background: linear-gradient(90deg, + transparent 0%, + rgba(79, 70, 229, 0.1) 50%, + transparent 100%); +} + +.stats-row::after { + content: ''; + position: absolute; + bottom: 0; + left: -2rem; + right: -2rem; + height: 1px; + background: linear-gradient(90deg, + transparent 0%, + rgba(79, 70, 229, 0.1) 50%, + transparent 100%); +} + +.stat-item { + text-align: center; + padding: 1rem; +} + +.stat-number { + font-size: 3rem; + font-weight: 700; + color: var(--primary-color); + line-height: 1; + margin-bottom: 0.5rem; +} + +.stat-label { + color: var(--text-light); + font-size: 1rem; + font-weight: 500; +} + +.cta-container { + display: flex; align-items: center; + gap: 2rem; +} + +.guarantee-badge { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.75rem 1.5rem; + background: rgba(79, 70, 229, 0.05); + border-radius: 50px; + color: var(--primary-color); + font-weight: 500; +} + +.guarantee-badge i { + font-size: 1.2rem; +} + +.about-features { + display: grid; + gap: 2rem; +} + +.feature { + display: flex; + align-items: flex-start; + gap: 1.5rem; + padding: 1.5rem; + border-radius: 15px; + background: var(--white); + transition: var(--transition); + border: 1px solid rgba(79, 70, 229, 0.1); +} + +.feature:hover { + transform: translateY(-5px); + box-shadow: var(--shadow); + border-color: var(--primary-color); +} + +.feature-icon { + width: 50px; + height: 50px; + background: var(--gradient-1); + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.feature-icon i { + font-size: 1.2rem; + color: var(--white); +} + +.feature-text h3 { + color: var(--primary-color); + margin-bottom: 0.5rem; + font-size: 1.2rem; +} + +.feature-text p { + color: var(--text-light); + font-size: 0.95rem; +} + +.about-image { + position: relative; +} + +.image-container { + position: relative; + z-index: 1; +} + +.image-container img { + width: 100%; + height: auto; + border-radius: 20px; +} + +.experience-badge { + position: absolute; + bottom: 40px; + right: -20px; + background: var(--white); + padding: 1.5rem; + border-radius: 15px; + box-shadow: var(--shadow-lg); + text-align: center; + z-index: 2; +} + +.experience-badge .number { + font-size: 2.5rem; + font-weight: 700; + color: var(--primary-color); + display: block; + line-height: 1; +} + +.experience-badge .text { + color: var(--text-light); + font-size: 0.9rem; } /* Exams Section */ @@ -444,7 +1062,7 @@ body { /* Contact Section */ .contact-section { - padding: 80px 0; + padding: 60px 0; background: var(--gradient-1); color: var(--white); } @@ -452,7 +1070,7 @@ body { .contact-content { display: grid; grid-template-columns: 1fr 1fr; - gap: 4rem; + gap: 3rem; align-items: center; } @@ -498,7 +1116,7 @@ body { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; - margin: 2rem 0; + margin-bottom: 60px; text-align: center; } @@ -519,16 +1137,81 @@ body { /* Methodology Section renamed to Exam Types */ .methodology-section { background: var(--white); - padding: 80px 0; + padding: 60px 0; position: relative; - margin-top: -2px; + z-index: 4; + margin-top: -40px; +} + +.exam-types-header { + text-align: center; + margin-bottom: 4rem; + position: relative; +} + +.exam-types-overline { + display: inline-block; + font-size: 0.9rem; + text-transform: uppercase; + letter-spacing: 2px; + color: var(--text-light); + font-weight: 500; + margin-bottom: 1rem; + padding: 0.5rem 1.5rem; + background: rgba(79, 70, 229, 0.05); + border-radius: 50px; + border: 1px solid rgba(79, 70, 229, 0.1); + position: relative; + overflow: hidden; +} + +.exam-types-overline::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(79, 70, 229, 0.1), transparent); + animation: shimmer 3s infinite; +} + +.exam-types-title { + font-size: 3.2rem; + font-weight: 800; + color: var(--text-color); + margin: 0; + position: relative; + text-transform: uppercase; + letter-spacing: 2px; +} + +.exam-types-title::after { + content: ''; + position: absolute; + bottom: -10px; + left: 50%; + transform: translateX(-50%); + width: 120px; + height: 4px; + background: var(--gradient-1); + border-radius: 2px; +} + +@keyframes shimmer { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(200%); + } } .exam-types-grid { display: grid; grid-template-columns: repeat(2, 1fr); - gap: 2rem; - margin-top: 3rem; + gap: 1.5rem; + margin-top: 2rem; } .exam-type-card { @@ -632,9 +1315,18 @@ body { .success-card { background: var(--white); - border-radius: 15px; + border-radius: 20px; + border: 2px solid var(--primary-color); padding: 2rem; - box-shadow: var(--shadow); + text-align: center; + height: 100%; + box-sizing: border-box; + transform-style: preserve-3d; + backface-visibility: visible; /* Контент всегда виден */ + will-change: transform, opacity; + display: flex; + flex-direction: column; + justify-content: space-between; } .score-improvement { @@ -727,6 +1419,75 @@ body { transition: transform 0.6s ease; } +.price-block { + text-align: center; + padding: 3rem; + margin: 3rem 0; + background: rgba(79, 70, 229, 0.03); + border-radius: 20px; + position: relative; +} + +.price-block::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient(90deg, + transparent 0%, + rgba(79, 70, 229, 0.1) 50%, + transparent 100%); +} + +.price-block::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient(90deg, + transparent 0%, + rgba(79, 70, 229, 0.1) 50%, + transparent 100%); +} + +.price-label { + font-size: 1.2rem; + color: var(--text-light); + margin-bottom: 1rem; + text-transform: uppercase; + letter-spacing: 2px; +} + +.price-amount { + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + margin-bottom: 1rem; +} + +.currency { + font-size: 2.5rem; + color: var(--primary-color); + font-weight: 600; +} + +.amount { + font-size: 4rem; + font-weight: 700; + color: var(--primary-color); + line-height: 1; +} + +.price-note { + color: var(--text-light); + font-size: 1rem; +} + /* Footer */ .footer { background: var(--text-color); @@ -791,6 +1552,19 @@ body { grid-template-columns: 1fr; } + .about-content { + grid-template-columns: 1fr; + gap: 3rem; + } + + .about-image { + order: -1; + } + + .experience-badge { + right: 20px; + } + .footer-content { grid-template-columns: 1fr; gap: 2rem; @@ -823,7 +1597,15 @@ body { } .main-title { - font-size: 2.5rem; + font-size: 3rem; + } + + .hero-section { + padding: 120px 0 0; + } + + .hero-content { + padding-bottom: 80px; } .hero-buttons { @@ -841,6 +1623,84 @@ body { .footer-links { grid-template-columns: repeat(2, 1fr); } + + .about-description .highlight { + font-size: 1.2rem; + } + + .feature { + padding: 1rem; + } + + .feature-icon { + width: 40px; + height: 40px; + } + + .about-title { + font-size: 3rem; + } + + .large-text { + font-size: 1.4rem !important; + } + + .highlight-block p { + font-size: 1.2rem; + } + + .stats-row { + grid-template-columns: 1fr; + gap: 1.5rem; + } + + .cta-container { + flex-direction: column; + align-items: flex-start; + gap: 1rem; + } + + .guarantee-badge { + width: 100%; + justify-content: center; + } + + .price-block { + padding: 2rem; + margin: 2rem 0; + } + + .amount { + font-size: 3rem; + } + + .currency { + font-size: 2rem; + } + + .methodology-section, + .about-section, + .contact-section { + padding: 40px 0; + } + + .section-title { + margin-bottom: 1rem; + } + + .exam-types-title { + font-size: 2.5rem; + letter-spacing: 1px; + } + + .exam-types-header { + margin-bottom: 3rem; + } + + .exam-types-overline { + font-size: 0.8rem; + padding: 0.4rem 1rem; + } } @media (max-width: 480px) { @@ -866,3 +1726,1127 @@ body { grid-template-columns: 1fr; } } + +/* Stats Section */ +.stats-section { + background: transparent; + padding: 0; + position: relative; + z-index: 15; + margin-top: -150px; +} + +.stats-header { + text-align: center; + margin-bottom: 2rem; + padding-top: 60px; +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 2rem; + max-width: 1000px; + margin: 0 auto; + padding-bottom: 80px; +} + +.stat-card { + position: relative; + background: var(--white); + padding: 2.5rem 2rem; + border-radius: 20px; + box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12); + border: 1px solid rgba(79, 70, 229, 0.1); + transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); + overflow: hidden; + text-align: center; + cursor: pointer; + z-index: 5; +} + +.stat-card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 4px; + background: var(--gradient-1); + transform: scaleX(0); + transition: transform 0.4s ease; +} + +.stat-card:hover { + transform: translateY(-25px) scale(1.08); + box-shadow: 0 35px 70px rgba(79, 70, 229, 0.25); + border-color: var(--primary-color); + z-index: 20; +} + +.stat-card:hover::before { + transform: scaleX(1); +} + +.stat-icon { + width: 80px; + height: 80px; + margin: 0 auto 1.5rem; + background: var(--gradient-1); + border-radius: 20px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + transition: all 0.4s ease; +} + +.stat-icon i { + font-size: 2rem; + color: var(--white); + transition: transform 0.4s ease; +} + +.stat-card:hover .stat-icon { + transform: scale(1.15) rotate(8deg); + box-shadow: 0 15px 30px rgba(79, 70, 229, 0.4); +} + +.stat-card:hover .stat-icon i { + transform: scale(1.2); +} + +.stat-card:hover .stat-number { + transform: scale(1.1); + text-shadow: 0 5px 15px rgba(79, 70, 229, 0.3); +} + +.stat-card:hover .stat-title { + color: var(--primary-color); + transform: translateY(-2px); +} + +.stat-card:hover .stat-description { + color: var(--text-color); + transform: translateY(-1px); +} + +.stat-card:hover .stat-decoration { + transform: scale(2); + opacity: 0.6; +} + +/* Добавляем плавность для всех элементов карточки */ +.stat-title, +.stat-description { + transition: all 0.4s ease; +} + +.stat-number { + font-size: 3.5rem; + font-weight: 800; + background: var(--gradient-1); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + line-height: 1; + margin-bottom: 0.5rem; + transition: all 0.4s ease; +} + +.stat-title { + font-size: 1.4rem; + font-weight: 600; + color: var(--text-color); + margin-bottom: 0.5rem; + transition: all 0.4s ease; +} + +.stat-description { + font-size: 1rem; + color: var(--text-light); + line-height: 1.4; + transition: all 0.4s ease; +} + +.stat-decoration { + position: absolute; + top: -20px; + right: -20px; + width: 100px; + height: 100px; + background: radial-gradient(circle, rgba(79, 70, 229, 0.05) 0%, transparent 70%); + border-radius: 50%; + transition: all 0.4s ease; +} + +.stats-overline { + display: block; + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 3px; + color: var(--primary-color); + font-weight: 600; + margin-bottom: 1rem; + position: relative; +} + +.stats-overline::after { + content: ''; + position: absolute; + bottom: -8px; + left: 50%; + transform: translateX(-50%); + width: 60px; + height: 2px; + background: var(--gradient-1); +} + +.stats-title { + font-size: 3rem; + font-weight: 700; + background: var(--gradient-1); + -webkit-background-clip: text; + background-clip: text; + color: transparent; + margin: 0; + position: relative; +} + +.stats-title::before { + content: ''; + position: absolute; + top: 50%; + left: -150px; + width: 100px; + height: 1px; + background: linear-gradient(90deg, transparent 0%, var(--primary-color) 100%); + transform: translateY(-50%); +} + +.stats-title::after { + content: ''; + position: absolute; + top: 50%; + right: -150px; + width: 100px; + height: 1px; + background: linear-gradient(90deg, var(--primary-color) 0%, transparent 100%); + transform: translateY(-50%); +} + +.stats-grid:hover .stat-card:not(:hover) { + transform: scale(0.92) translateY(10px); + opacity: 0.6; + filter: blur(1px); +} + +/* Responsive */ +@media (max-width: 992px) { + .stats-grid { + grid-template-columns: 1fr; + gap: 1.5rem; + max-width: 400px; + } + + .stats-section { + padding: 60px 0; + } +} + +@media (max-width: 768px) { + .stat-card { + padding: 2rem 1.5rem; + } + + .stat-number { + font-size: 3rem; + } + + .stat-icon { + width: 60px; + height: 60px; + } + + .stat-icon i { + font-size: 1.5rem; + } + + .stats-title { + font-size: 2.5rem; + } + + .stats-title::before, + .stats-title::after { + display: none; + } + + .stats-header { + margin-bottom: 3rem; + } +} + +.accordion-container { + max-width: 800px; + margin: 0 auto; +} + +.accordion-item { + background: var(--white); + border-radius: 16px; + margin-bottom: 1rem; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08); + border: 1px solid rgba(79, 70, 229, 0.1); + transition: all 0.3s ease; + overflow: hidden; +} + +.accordion-item:hover { + transform: translateY(-2px); + box-shadow: 0 8px 30px rgba(79, 70, 229, 0.15); + border-color: rgba(79, 70, 229, 0.2); +} + +.accordion-item.active { + border-color: var(--primary-color); + box-shadow: 0 8px 30px rgba(79, 70, 229, 0.2); +} + +.accordion-header { + display: flex; + align-items: center; + padding: 1.5rem 2rem; + cursor: pointer; + transition: all 0.3s ease; + position: relative; +} + +.accordion-item.active .accordion-header { + background: rgba(79, 70, 229, 0.05); +} + +.accordion-icon { + width: 50px; + height: 50px; + background: var(--gradient-1); + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 1rem; + transition: all 0.3s ease; +} + +.accordion-icon i { + font-size: 1.2rem; + color: var(--white); +} + +.accordion-item:hover .accordion-icon { + transform: scale(1.05); + box-shadow: 0 4px 15px rgba(79, 70, 229, 0.3); +} + +.accordion-title { + flex: 1; +} + +.accordion-title h3 { + font-size: 1.3rem; + font-weight: 600; + color: var(--text-color); + margin: 0 0 0.2rem 0; + transition: color 0.3s ease; +} + +.accordion-subtitle { + font-size: 0.9rem; + color: var(--text-light); + font-weight: 500; +} + +.accordion-item.active .accordion-title h3 { + color: var(--primary-color); +} + +.accordion-toggle { + width: 40px; + height: 40px; + display: flex; + align-items: center; + justify-content: center; + background: rgba(79, 70, 229, 0.1); + border-radius: 50%; + transition: all 0.3s ease; +} + +.accordion-toggle i { + font-size: 0.9rem; + color: var(--primary-color); + transition: transform 0.3s ease; +} + +.accordion-item.active .accordion-toggle { + background: var(--primary-color); +} + +.accordion-item.active .accordion-toggle i { + color: var(--white); + transform: rotate(180deg); +} + +.accordion-content { + max-height: 0; + overflow: hidden; + transition: all 0.4s ease; + background: rgba(79, 70, 229, 0.02); +} + +.accordion-item.active .accordion-content { + max-height: 300px; + padding: 0 2rem 2rem 2rem; +} + +.accordion-content .exam-description { + font-size: 1rem; + color: var(--text-light); + line-height: 1.6; + margin-bottom: 1.5rem; +} + +.exam-features { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; +} + +.feature-tag { + background: rgba(79, 70, 229, 0.1); + color: var(--primary-color); + padding: 0.4rem 0.8rem; + border-radius: 20px; + font-size: 0.85rem; + font-weight: 500; + border: 1px solid rgba(79, 70, 229, 0.2); + transition: all 0.3s ease; +} + +.feature-tag:hover { + background: var(--primary-color); + color: var(--white); + transform: translateY(-1px); +} + +@media (max-width: 768px) { + .accordion-header { + padding: 1.2rem 1.5rem; + } + + .accordion-icon { + width: 40px; + height: 40px; + margin-right: 0.8rem; + } + + .accordion-title h3 { + font-size: 1.1rem; + } + + .accordion-content.active { + padding: 0 1.5rem 1.5rem 1.5rem; + } + + .feature-tag { + font-size: 0.8rem; + padding: 0.3rem 0.6rem; + } +} + +/* Instant Connect Section */ +.instant-connect-section { + background: linear-gradient(135deg, var(--primary-color) 0%, #5B4FE8 100%); + padding: 80px 0; + color: var(--white); + position: relative; + overflow: hidden; +} + +.instant-connect-section::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: + radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%), + radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08) 0%, transparent 50%); + z-index: 1; +} + +.instant-connect-content { + position: relative; + z-index: 2; + text-align: center; + max-width: 800px; + margin: 0 auto; +} + +.connect-header { + margin-bottom: 4rem; +} + +.connect-title { + font-size: 3.5rem; + font-weight: 700; + margin-bottom: 1.5rem; + line-height: 1.2; +} + +.connect-subtitle { + font-size: 1.3rem; + opacity: 0.9; + line-height: 1.5; +} + + + +/* Telegram CTA Button */ +.telegram-cta { + margin-bottom: 0; +} + +.telegram-btn { + display: inline-flex; + align-items: center; + gap: 1.5rem; + padding: 2rem 3rem; + background: linear-gradient(135deg, #0088cc 0%, #0066cc 100%); + border-radius: 60px; + text-decoration: none; + color: var(--white); + font-weight: 600; + transition: all 0.3s ease; + box-shadow: 0 15px 40px rgba(0, 136, 204, 0.3); + position: relative; + overflow: hidden; + transform: translateY(0); +} + +.telegram-btn::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 ease; +} + +.telegram-btn:hover::before { + left: 100%; +} + +.telegram-btn:hover { + transform: translateY(-5px) scale(1.05); + box-shadow: 0 20px 50px rgba(0, 136, 204, 0.4); +} + +.btn-icon { + width: 60px; + height: 60px; + background: rgba(255, 255, 255, 0.2); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 1.8rem; +} + +.btn-content { + text-align: center; +} + +.btn-main-text { + display: block; + font-size: 1.6rem; + font-weight: 700; +} + + + +/* Mobile Responsiveness */ +@media (max-width: 768px) { + .connect-title { + font-size: 2.5rem; + } + + .connect-subtitle { + font-size: 1.1rem; + } + + .telegram-btn { + padding: 1.5rem 2.5rem; + gap: 1rem; + } + + .btn-main-text { + font-size: 1.3rem; + } + + .btn-icon { + width: 50px; + height: 50px; + font-size: 1.5rem; + } +} + +/* Success Stories Section */ +.success-section { + background: var(--white); + padding: 100px 0; + position: relative; + overflow: hidden; +} + +.success-header { + text-align: center; + margin-bottom: 4rem; + position: relative; + z-index: 2; +} + +.success-overline { + font-size: 0.9rem; + font-weight: 500; + text-transform: uppercase; + letter-spacing: 2px; + color: var(--primary-color); + margin-bottom: 0.5rem; + display: block; +} + +.success-title { + font-size: 3.5rem; + font-weight: 700; + color: #2D3748; + margin-bottom: 1rem; + line-height: 1.1; +} + +.success-subtitle { + font-size: 1.1rem; + color: var(--text-light); + max-width: 500px; + margin: 0 auto; + line-height: 1.5; +} + +/* Carousel Container */ +.carousel-container { + position: relative; + max-width: 1000px; + margin: 0 auto; + z-index: 2; +} + +.carousel-track-container { + border-radius: 20px; + position: relative; + height: 500px; /* Fixed height for 3D effect */ + perspective: 1200px; /* Увеличил perspective для лучшего 3D эффекта */ + overflow: visible; /* Allow 3D transforms to be visible */ +} + +.carousel-track { + position: relative; + width: 100%; + height: 100%; + transform-style: preserve-3d; + will-change: transform; +} + +/* Success Cards */ +.success-card { + background: var(--white); + border-radius: 20px; + padding: 2.5rem; + box-shadow: + 0 20px 60px rgba(0, 0, 0, 0.1), + 0 0 0 1px rgba(79, 70, 229, 0.05); + border: 2px solid var(--primary-color); + position: relative; + overflow: hidden; + height: 100%; + transform-style: preserve-3d; + backface-visibility: hidden; + will-change: transform, opacity; +} + + + + + +/* Card Header */ +.card-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 2rem; +} + +.student-avatar { + width: 60px; + height: 60px; + border-radius: 50%; + overflow: hidden; + border: 3px solid var(--primary-color); + box-shadow: 0 4px 15px rgba(79, 70, 229, 0.3); +} + +.student-avatar img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.student-details { + flex: 1; + margin-left: 1rem; +} + +.student-name { + font-size: 1.2rem; + font-weight: 600; + color: var(--text-color); + display: block; + margin-bottom: 0.2rem; +} + +.student-location { + font-size: 0.9rem; + color: var(--text-light); + opacity: 0.7; +} + +.university-badge { + background: var(--gradient-1); + color: var(--white); + padding: 0.4rem 1rem; + border-radius: 15px; + font-size: 0.8rem; + font-weight: 600; + box-shadow: 0 4px 15px rgba(79, 70, 229, 0.3); +} + +/* Score Transformation */ +.score-transformation { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 2rem; + padding: 1.5rem; + background: linear-gradient(135deg, rgba(79, 70, 229, 0.05) 0%, rgba(79, 70, 229, 0.02) 100%); + border-radius: 15px; + border: 1px solid rgba(79, 70, 229, 0.1); +} + +.score-before, +.score-after { + text-align: center; + flex: 1; +} + +.score-label { + display: block; + font-size: 0.8rem; + color: var(--text-light); + margin-bottom: 0.5rem; + text-transform: uppercase; + font-weight: 600; +} + +.score-value { + display: block; + font-size: 1.1rem; + font-weight: 700; + padding: 0.5rem 1rem; + border-radius: 10px; + border: 2px solid; +} + +.score-before .score-value { + color: #ef4444; + border-color: #ef4444; + background: rgba(239, 68, 68, 0.1); +} + +.score-after .score-value { + color: #10b981; + border-color: #10b981; + background: rgba(16, 185, 129, 0.1); +} + +.score-arrow { + margin: 0 1rem; + color: var(--primary-color); + font-size: 1.5rem; + animation: pulse-arrow 2s infinite; +} + +@keyframes pulse-arrow { + 0%, 100% { transform: scale(1); } + 50% { transform: scale(1.1); } +} + +/* Testimonial */ +.testimonial { + font-size: 1rem; + line-height: 1.6; + color: var(--text-color); + font-style: italic; + margin-bottom: 2rem; + position: relative; + padding-left: 1.5rem; +} + +.testimonial::before { + content: '"'; + position: absolute; + left: 0; + top: -0.5rem; + font-size: 2rem; + color: var(--primary-color); + font-weight: 700; +} + +/* Achievement */ +.achievement { + display: flex; + align-items: center; + gap: 0.8rem; + background: rgba(16, 185, 129, 0.1); + padding: 1rem; + border-radius: 12px; + border-left: 4px solid #10b981; +} + +.achievement i { + color: #10b981; + font-size: 1.2rem; +} + +.achievement span { + color: var(--text-color); + font-weight: 600; + font-size: 0.95rem; +} + +/* Navigation Arrows */ +.carousel-nav { + position: absolute; + top: 50%; /* Центрируем по вертикали */ + transform: translateY(-50%); /* Точное центрирование */ + width: 50px; + height: 50px; + border: 2px solid var(--primary-color); + border-radius: 50%; + background: rgba(255, 255, 255, 0.9); + backdrop-filter: blur(10px); + color: var(--primary-color); + cursor: pointer; + transition: all 0.3s ease; + z-index: 10; + display: flex; + align-items: center; + justify-content: center; + font-size: 1.2rem; + outline: none; + user-select: none; +} + +.carousel-nav:hover { + background: var(--primary-color); + color: var(--white); + transform: translateY(-50%) scale(1.1) rotateZ(5deg); + box-shadow: 0 8px 25px rgba(139, 92, 246, 0.3); +} + +.carousel-nav:active { + transform: translateY(-50%) scale(0.95) rotateZ(-5deg); +} + +.carousel-prev { + left: -25px; +} + +.carousel-next { + right: -25px; +} + +/* Indicators */ +.carousel-indicators { + display: flex; + justify-content: center; + gap: 0.8rem; + margin-top: 2rem; +} + +.carousel-dot { + width: 12px; + height: 12px; + border-radius: 50%; + border: 2px solid var(--primary-color); + background: transparent; + cursor: pointer; + transition: all 0.3s ease; + outline: none; + user-select: none; +} + +.carousel-dot.active, +.carousel-dot:hover { + background: var(--primary-color); + transform: scale(1.2); +} + +/* Mobile Responsiveness */ +@media (max-width: 768px) { + .success-title { + font-size: 2.2rem; + } + + .success-card { + padding: 2rem; + } + + .card-header { + flex-direction: column; + align-items: flex-start; + gap: 1rem; + } + + .student-details { + margin-left: 0; + } + + .score-transformation { + flex-direction: column; + gap: 1rem; + } + + .score-arrow { + transform: rotate(90deg); + margin: 0.5rem 0; + } + + .carousel-nav { + width: 40px; + height: 40px; + font-size: 1rem; + } + + .carousel-prev { + left: -20px; + } + + .carousel-next { + right: -20px; + } +} + +/* Card Flip Container */ +.carousel-slide { + position: absolute; + width: 100%; + height: 100%; + padding: 0 1rem; + box-sizing: border-box; + perspective: 1200px; /* Увеличил perspective */ +} + +.card-flip-container { + position: relative; + width: 100%; + height: 100%; + transition: transform 0.8s ease-in-out; /* Более плавная анимация */ + transform-style: preserve-3d; + transform-origin: center center; /* Центр поворота */ +} + +/* Автоматический переворот контента для читаемости */ +.card-flip-container .success-card * { + transition: transform 0.8s ease-in-out; +} + +/* Убираем автоматический переворот текста - будем управлять вручную */ +.card-flip-container.flipped .success-card { + /* Убираем автоматический переворот */ +} + +/* Настраиваем двустороннюю карточку */ +.card-face { + position: absolute; + width: 100%; + height: 100%; + backface-visibility: hidden; /* Скрываем заднюю сторону */ + border-radius: 20px; + display: flex; + flex-direction: column; +} + +.card-face.front { + transform: rotateX(0deg); +} + +.card-face.back { + transform: rotateX(180deg); +} + +/* ===== CONTACT FORM SECTION ===== */ +.contact-form-section { + padding: 8rem 0; + background: var(--primary-color); + color: var(--white); +} + +.contact-grid { + display: grid; + grid-template-columns: 1fr 1fr; + align-items: center; + gap: 6rem; +} + +/* Left side */ +.contact-info { + display: flex; + flex-direction: column; +} + +.contact-heading { + font-size: 8rem; + font-weight: 700; + line-height: 1; + margin-bottom: 2rem; + display: flex; + flex-direction: column; +} + +.contact-subheading { + font-size: 1.2rem; + line-height: 1.6; + max-width: 450px; + margin-bottom: 3rem; + color: rgba(255, 255, 255, 0.8); +} + +.highlight-link { + color: var(--white); + font-weight: 600; + text-decoration: underline; + text-underline-offset: 4px; + transition: opacity 0.3s ease; +} + +.highlight-link:hover { + opacity: 0.8; +} + +.contact-methods { + display: flex; + gap: 1rem; +} + +.contact-method-btn { + padding: 0.8rem 1.5rem; + border: 1px solid rgba(255, 255, 255, 0.4); + border-radius: 8px; + color: var(--white); + text-decoration: none; + font-weight: 500; + transition: all 0.3s ease; +} + +.contact-method-btn:hover { + background: var(--white); + color: var(--primary-color); +} + +/* Right side - Form */ +.contact-form-container { + padding: 3rem; + background: rgba(255, 255, 255, 0.05); + border-radius: 16px; + backdrop-filter: blur(10px); + border: 1px solid rgba(255, 255, 255, 0.1); +} + +.contact-form { + display: flex; + flex-direction: column; + gap: 2rem; +} + +.form-group { + display: flex; + flex-direction: column; +} + +.form-group label { + font-size: 0.9rem; + color: rgba(255, 255, 255, 0.7); + margin-bottom: 0.5rem; +} + +.form-group input { + background: transparent; + border: none; + border-bottom: 1px solid rgba(255, 255, 255, 0.3); + padding: 0.8rem 0; + color: var(--white); + font-size: 1.1rem; + transition: border-color 0.3s ease; +} + +.form-group input:focus { + outline: none; + border-bottom-color: var(--white); +} + +.submit-btn { + padding: 1.2rem; + background: var(--white); + color: var(--primary-color); + border: none; + border-radius: 8px; + font-size: 1.1rem; + font-weight: 600; + cursor: pointer; + transition: all 0.3s ease; + margin-top: 1rem; +} + +.submit-btn:hover { + background: #e2e8f0; +} + +/* Mobile Responsiveness */ +@media (max-width: 992px) { + .contact-grid { + grid-template-columns: 1fr; + gap: 4rem; + } + .contact-heading { + font-size: 6rem; + } +} + +@media (max-width: 768px) { + .contact-heading { + font-size: 4rem; + } + .contact-form-section { + padding: 5rem 0; + } +} diff --git a/src/index.html b/src/index.html index ad7ee6e..8cca26e 100644 --- a/src/index.html +++ b/src/index.html @@ -3,249 +3,419 @@
-