From e1d76922a71bb722c1c587bfe50d1fb214a6cd31 Mon Sep 17 00:00:00 2001 From: Dauren777 Date: Fri, 19 Jun 2026 06:07:30 +0000 Subject: [PATCH] study-friendly design: warm colors, animations, motivation --- css/style.css | 637 +++++++++++++++++++++++++++++++++++--------------- index.html | 25 +- 2 files changed, 469 insertions(+), 193 deletions(-) diff --git a/css/style.css b/css/style.css index 726d56c..3a87993 100644 --- a/css/style.css +++ b/css/style.css @@ -1,15 +1,19 @@ :root { - --ink: #0F1218; - --cyan: #00E5FF; - --cyan-50: #E8FCFF; + --ink: #1A1D23; + --ink-light: #2D3436; + --accent: #6C5CE7; + --accent-light: #A29BFE; + --accent-50: #F0EEFF; + --green: #00B894; + --green-light: #E6F9F4; + --warm: #FFEAA7; + --warm-light: #FFF9E6; --white: #FFFFFF; - --gray-500: #5B6573; - --gray-100: #F2F4F7; - --blue: #4A90D9; - --blue-light: #E8F4FD; - --blue-dark: #2C6FAC; - --shadow: 0 2px 12px rgba(0,0,0,0.08); - --shadow-hover: 0 4px 20px rgba(0,0,0,0.12); + --gray-500: #636E72; + --gray-300: #B2BEC3; + --gray-100: #F5F6FA; + --shadow: 0 2px 16px rgba(108, 92, 231, 0.08); + --shadow-hover: 0 8px 30px rgba(108, 92, 231, 0.15); } * { @@ -23,7 +27,7 @@ html { } body { - font: 17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif; + font: 17px/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif; color: var(--ink); background: var(--white); min-height: 100vh; @@ -31,16 +35,23 @@ body { flex-direction: column; } +::selection { + background: var(--accent-light); + color: var(--white); +} + .container { max-width: 1140px; margin: 0 auto; padding: 0 24px; } -/* Header & Navigation */ +/* ===== HEADER ===== */ header { - background: var(--white); - box-shadow: 0 1px 4px rgba(0,0,0,0.06); + background: rgba(255,255,255,0.95); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + border-bottom: 1px solid var(--gray-100); position: sticky; top: 0; z-index: 100; @@ -50,45 +61,63 @@ header { display: flex; align-items: center; justify-content: space-between; - padding: 12px 24px; + padding: 14px 24px; max-width: 1140px; margin: 0 auto; } .logo { - font-size: 22px; + font-size: 24px; font-weight: 800; color: var(--ink); text-decoration: none; display: flex; align-items: center; gap: 8px; + letter-spacing: -0.5px; +} + +.logo-icon { + width: 36px; + height: 36px; + background: var(--accent); + color: var(--white); + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + font-size: 18px; + font-weight: 800; } .logo span { - color: var(--blue); + color: var(--accent); } .nav-list { display: flex; list-style: none; - gap: 4px; + gap: 2px; } .nav-list a { text-decoration: none; color: var(--gray-500); - font-size: 15px; - font-weight: 500; + font-size: 14px; + font-weight: 600; padding: 8px 14px; border-radius: 8px; transition: all 0.2s; } -.nav-list a:hover, +.nav-list a:hover { + color: var(--accent); + background: var(--accent-50); +} + .nav-list a.active { - color: var(--ink); - background: var(--gray-100); + color: var(--white); + background: var(--accent); } .menu-toggle { @@ -101,91 +130,146 @@ header { padding: 4px; } -/* Footer */ +/* ===== FOOTER ===== */ footer { background: var(--ink); - color: var(--gray-500); + color: var(--gray-300); text-align: center; - padding: 32px 24px; + padding: 36px 24px; margin-top: auto; font-size: 14px; } footer a { - color: var(--cyan); + color: var(--accent-light); text-decoration: none; + font-weight: 600; } -/* Hero Section */ +footer a:hover { + color: var(--accent); +} + +/* ===== HERO ===== */ .hero { - background: linear-gradient(135deg, var(--ink) 0%, #1a2332 100%); - color: var(--white); + background: linear-gradient(135deg, var(--accent-50) 0%, var(--warm-light) 50%, var(--green-light) 100%); + color: var(--ink); padding: 100px 24px; text-align: center; + position: relative; + overflow: hidden; +} + +.hero::before { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: radial-gradient(circle at 30% 50%, rgba(108,92,231,0.05) 0%, transparent 50%), + radial-gradient(circle at 70% 50%, rgba(0,184,148,0.05) 0%, transparent 50%); + pointer-events: none; +} + +.hero .container { + position: relative; +} + +.hero-badge { + display: inline-block; + background: var(--accent); + color: var(--white); + padding: 6px 18px; + border-radius: 20px; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 1px; + margin-bottom: 20px; } .hero h1 { font-size: 56px; font-weight: 800; - line-height: 1.05; + line-height: 1.1; margin-bottom: 16px; + letter-spacing: -1.5px; } .hero h1 span { - color: var(--cyan); + color: var(--accent); +} + +.hero .highlight { + background: linear-gradient(135deg, var(--accent), var(--green)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; } .hero p { font-size: 20px; - color: #9aa3b2; + color: var(--gray-500); max-width: 600px; - margin: 0 auto 32px; + margin: 0 auto 36px; + line-height: 1.6; } -.hero .btn { - font-size: 18px; - padding: 16px 36px; +.hero-buttons { + display: flex; + gap: 16px; + justify-content: center; + flex-wrap: wrap; } -/* Buttons */ +/* ===== BUTTONS ===== */ .btn { - display: inline-block; - background: var(--cyan); - color: var(--ink); - padding: 14px 28px; - border-radius: 8px; + display: inline-flex; + align-items: center; + gap: 8px; + background: var(--accent); + color: var(--white); + padding: 14px 30px; + border-radius: 12px; font-weight: 700; text-decoration: none; - transition: all 0.25s; + transition: all 0.3s; border: none; cursor: pointer; font-size: 16px; + box-shadow: 0 4px 14px rgba(108, 92, 231, 0.25); } .btn:hover { - transform: translateY(-2px); - box-shadow: 0 4px 14px rgba(0, 229, 255, 0.4); + transform: translateY(-3px); + box-shadow: 0 8px 25px rgba(108, 92, 231, 0.35); } -.btn-primary { - background: var(--blue); - color: var(--white); -} - -.btn-primary:hover { - background: var(--blue-dark); - box-shadow: 0 4px 14px rgba(74, 144, 217, 0.4); +.btn:active { + transform: translateY(-1px); } .btn-outline { background: transparent; - color: var(--white); - border: 2px solid var(--white); + color: var(--accent); + border: 2px solid var(--accent); + box-shadow: none; } .btn-outline:hover { - background: var(--white); - color: var(--ink); + background: var(--accent); + color: var(--white); + box-shadow: 0 8px 25px rgba(108, 92, 231, 0.3); +} + +.btn-green { + background: var(--green); + box-shadow: 0 4px 14px rgba(0, 184, 148, 0.25); +} + +.btn-green:hover { + box-shadow: 0 8px 25px rgba(0, 184, 148, 0.35); } .btn:disabled { @@ -194,16 +278,25 @@ footer a { transform: none; } -/* Section */ +/* ===== SECTIONS ===== */ .section { padding: 80px 24px; } +.section-alt { + background: var(--gray-100); +} + .section-title { font-size: 36px; - font-weight: 700; + font-weight: 800; text-align: center; margin-bottom: 12px; + letter-spacing: -0.5px; +} + +.section-title span { + color: var(--accent); } .section-subtitle { @@ -216,7 +309,7 @@ footer a { margin-right: auto; } -/* Cards */ +/* ===== CARDS ===== */ .cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); @@ -226,22 +319,58 @@ footer a { .card { background: var(--white); border: 1px solid var(--gray-100); - border-radius: 16px; - padding: 32px; - transition: all 0.25s; + border-radius: 20px; + padding: 36px 32px; + transition: all 0.3s; box-shadow: var(--shadow); + position: relative; + overflow: hidden; +} + +.card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 4px; + background: linear-gradient(90deg, var(--accent), var(--green)); + opacity: 0; + transition: opacity 0.3s; +} + +.card:hover::before { + opacity: 1; } .card:hover { - transform: translateY(-4px); + transform: translateY(-6px); box-shadow: var(--shadow-hover); + border-color: transparent; } .card-icon { - font-size: 36px; - margin-bottom: 16px; + width: 56px; + height: 56px; + background: var(--accent-50); + border-radius: 14px; + display: flex; + align-items: center; + justify-content: center; + font-size: 26px; + margin-bottom: 20px; + transition: transform 0.3s; } +.card:hover .card-icon { + transform: scale(1.1); +} + +.card:nth-child(2) .card-icon { background: var(--green-light); } +.card:nth-child(3) .card-icon { background: var(--warm-light); } +.card:nth-child(4) .card-icon { background: var(--accent-50); } +.card:nth-child(5) .card-icon { background: var(--green-light); } + .card h3 { font-size: 22px; font-weight: 700; @@ -251,37 +380,39 @@ footer a { .card p { color: var(--gray-500); margin-bottom: 20px; + line-height: 1.6; } .card .btn { font-size: 14px; - padding: 10px 20px; -} - -/* How it works */ -.how-it-works { - background: var(--gray-100); + padding: 10px 22px; } +/* ===== HOW IT WORKS ===== */ .steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); - gap: 32px; + gap: 40px; text-align: center; } +.step { + position: relative; +} + .step-number { - width: 48px; - height: 48px; - background: var(--cyan); - color: var(--ink); + width: 56px; + height: 56px; + background: var(--accent); + color: var(--white); font-size: 22px; font-weight: 800; border-radius: 50%; display: flex; align-items: center; justify-content: center; - margin: 0 auto 16px; + margin: 0 auto 20px; + box-shadow: 0 4px 14px rgba(108, 92, 231, 0.3); } .step h3 { @@ -293,28 +424,53 @@ footer a { .step p { color: var(--gray-500); font-size: 15px; + line-height: 1.6; } -/* Vocabulary page */ +/* ===== PAGE HEADER ===== */ +.page-header { + background: linear-gradient(135deg, var(--accent-50) 0%, var(--warm-light) 100%); + color: var(--ink); + padding: 64px 24px; + text-align: center; + position: relative; +} + +.page-header h1 { + font-size: 42px; + font-weight: 800; + margin-bottom: 8px; + letter-spacing: -1px; +} + +.page-header p { + font-size: 18px; + color: var(--gray-500); + max-width: 500px; + margin: 0 auto; +} + +/* ===== VOCABULARY ===== */ .vocab-table { width: 100%; border-collapse: collapse; background: var(--white); - border-radius: 12px; + border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); } .vocab-table th { - background: var(--blue); + background: var(--accent); color: var(--white); - padding: 14px 18px; + padding: 16px 20px; text-align: left; - font-weight: 600; + font-weight: 700; + font-size: 15px; } .vocab-table td { - padding: 12px 18px; + padding: 14px 20px; border-bottom: 1px solid var(--gray-100); } @@ -323,7 +479,11 @@ footer a { } .vocab-table tr:hover td { - background: var(--blue-light); + background: var(--accent-50); +} + +.vocab-table td:first-child { + font-weight: 600; } .vocab-categories { @@ -335,24 +495,28 @@ footer a { } .category-btn { - padding: 8px 18px; + padding: 8px 20px; border-radius: 20px; border: 2px solid var(--gray-100); background: var(--white); cursor: pointer; font-size: 14px; - font-weight: 500; + font-weight: 600; transition: all 0.2s; } -.category-btn:hover, -.category-btn.active { - background: var(--blue); - color: var(--white); - border-color: var(--blue); +.category-btn:hover { + border-color: var(--accent-light); + color: var(--accent); } -/* Grammar page */ +.category-btn.active { + background: var(--accent); + color: var(--white); + border-color: var(--accent); +} + +/* ===== GRAMMAR ===== */ .grammar-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); @@ -362,26 +526,36 @@ footer a { .grammar-card { background: var(--white); border: 1px solid var(--gray-100); - border-radius: 16px; - padding: 28px; + border-radius: 20px; + padding: 32px; box-shadow: var(--shadow); + transition: all 0.3s; +} + +.grammar-card:hover { + transform: translateY(-4px); + box-shadow: var(--shadow-hover); } .grammar-card h3 { font-size: 22px; font-weight: 700; margin-bottom: 12px; - color: var(--blue); + color: var(--accent); + display: flex; + align-items: center; + gap: 8px; } .grammar-card .formula { - background: var(--cyan-50); - padding: 12px 16px; - border-radius: 8px; - font-family: monospace; + background: var(--accent-50); + padding: 14px 18px; + border-radius: 10px; + font-family: 'SF Mono', 'Fira Code', monospace; font-size: 16px; - margin: 12px 0; - border-left: 3px solid var(--cyan); + margin: 16px 0; + border-left: 4px solid var(--accent); + line-height: 1.5; } .grammar-card .examples { @@ -390,35 +564,50 @@ footer a { .grammar-card .examples li { list-style: none; - padding: 6px 0; + padding: 8px 0; color: var(--gray-500); + border-bottom: 1px solid var(--gray-100); +} + +.grammar-card .examples li:last-child { + border-bottom: none; } .grammar-card .examples li::before { content: "→ "; - color: var(--blue); + color: var(--green); font-weight: 700; } -/* Exercises page */ +/* ===== EXERCISES ===== */ .exercise { background: var(--white); border: 1px solid var(--gray-100); - border-radius: 16px; - padding: 28px; + border-radius: 20px; + padding: 32px; margin-bottom: 24px; box-shadow: var(--shadow); + transition: all 0.3s; +} + +.exercise:hover { + box-shadow: var(--shadow-hover); } .exercise h3 { font-size: 18px; font-weight: 700; margin-bottom: 16px; + color: var(--accent); } .exercise .question { font-size: 17px; margin-bottom: 16px; + padding: 12px 16px; + background: var(--gray-100); + border-radius: 10px; + font-weight: 500; } .exercise .options { @@ -430,80 +619,85 @@ footer a { .exercise .option { display: flex; align-items: center; - gap: 10px; - padding: 10px 16px; + gap: 12px; + padding: 12px 18px; border: 2px solid var(--gray-100); - border-radius: 8px; + border-radius: 12px; cursor: pointer; transition: all 0.2s; } .exercise .option:hover { - border-color: var(--blue); - background: var(--blue-light); + border-color: var(--accent-light); + background: var(--accent-50); } .exercise .option input[type="radio"] { - accent-color: var(--blue); - width: 18px; - height: 18px; + accent-color: var(--accent); + width: 20px; + height: 20px; } .exercise .option.correct { - border-color: #28a745; - background: #e8f5e9; + border-color: var(--green); + background: var(--green-light); } .exercise .option.wrong { - border-color: #dc3545; - background: #fce4ec; + border-color: #E17055; + background: #FDF0ED; } .exercise .feedback { - margin-top: 12px; - padding: 10px 16px; - border-radius: 8px; - font-weight: 600; + margin-top: 14px; + padding: 12px 18px; + border-radius: 12px; + font-weight: 700; display: none; + font-size: 15px; } .exercise .feedback.correct { display: block; - background: #e8f5e9; - color: #28a745; + background: var(--green-light); + color: var(--green); + border: 2px solid var(--green); } .exercise .feedback.wrong { display: block; - background: #fce4ec; - color: #dc3545; + background: #FDF0ED; + color: #E17055; + border: 2px solid #E17055; } .fill-input { - padding: 8px 12px; + padding: 10px 16px; border: 2px solid var(--gray-100); - border-radius: 8px; + border-radius: 10px; font-size: 16px; - width: 200px; + width: 220px; transition: border-color 0.2s; + font-family: inherit; } .fill-input:focus { outline: none; - border-color: var(--blue); + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-50); } .fill-input.correct { - border-color: #28a745; - background: #e8f5e9; + border-color: var(--green); + background: var(--green-light); } .fill-input.wrong { - border-color: #dc3545; - background: #fce4ec; + border-color: #E17055; + background: #FDF0ED; } -/* Tests page */ +/* ===== TESTS ===== */ .test-question { background: var(--white); border: 1px solid var(--gray-100); @@ -515,8 +709,24 @@ footer a { .test-question h4 { font-size: 16px; - font-weight: 600; - margin-bottom: 12px; + font-weight: 700; + margin-bottom: 14px; + display: flex; + align-items: center; + gap: 8px; +} + +.test-question h4 .q-number { + display: inline-flex; + width: 28px; + height: 28px; + background: var(--accent-50); + color: var(--accent); + border-radius: 8px; + align-items: center; + justify-content: center; + font-size: 13px; + font-weight: 800; } .test-question .options { @@ -529,27 +739,30 @@ footer a { display: flex; align-items: center; gap: 10px; - padding: 8px 14px; + padding: 10px 16px; border: 2px solid var(--gray-100); - border-radius: 8px; + border-radius: 10px; cursor: pointer; transition: all 0.2s; } .test-question .option:hover { - border-color: var(--blue); + border-color: var(--accent-light); + background: var(--accent-50); } .test-question .option input[type="radio"] { - accent-color: var(--blue); + accent-color: var(--accent); + width: 18px; + height: 18px; } .result-box { text-align: center; - padding: 32px; - background: var(--blue-light); - border-radius: 16px; - margin-top: 24px; + padding: 40px; + background: linear-gradient(135deg, var(--accent-50), var(--green-light)); + border-radius: 20px; + margin-top: 32px; display: none; } @@ -558,9 +771,9 @@ footer a { } .result-box .score { - font-size: 48px; + font-size: 56px; font-weight: 800; - color: var(--blue); + color: var(--accent); } .result-box p { @@ -569,33 +782,49 @@ footer a { margin-top: 8px; } -/* Reading page */ +/* ===== READING ===== */ .reading-text { background: var(--white); border: 1px solid var(--gray-100); - border-radius: 16px; - padding: 28px; + border-radius: 20px; + padding: 32px; margin-bottom: 24px; box-shadow: var(--shadow); + transition: all 0.3s; +} + +.reading-text:hover { + box-shadow: var(--shadow-hover); } .reading-text h3 { font-size: 22px; font-weight: 700; margin-bottom: 16px; - color: var(--blue); + color: var(--accent); } .reading-text .text-content { - line-height: 1.8; - margin-bottom: 20px; + line-height: 1.9; + margin-bottom: 24px; font-size: 16px; } +.reading-text .text-content p { + margin-bottom: 12px; +} + +.reading-text .questions { + background: var(--gray-100); + padding: 20px 24px; + border-radius: 12px; +} + .reading-text .questions h4 { - font-weight: 600; + font-weight: 700; margin-bottom: 12px; font-size: 16px; + color: var(--accent); } .reading-text .questions ol { @@ -607,89 +836,113 @@ footer a { color: var(--gray-500); } -/* Contact page */ +/* ===== CONTACT ===== */ .contact-form { max-width: 600px; margin: 0 auto; background: var(--white); border: 1px solid var(--gray-100); - border-radius: 16px; - padding: 40px; + border-radius: 20px; + padding: 44px; box-shadow: var(--shadow); } .form-group { - margin-bottom: 20px; + margin-bottom: 22px; } .form-group label { display: block; - font-weight: 600; - margin-bottom: 6px; + font-weight: 700; + margin-bottom: 8px; font-size: 15px; + color: var(--ink); } .form-group input, .form-group textarea { width: 100%; - padding: 12px 16px; + padding: 14px 18px; border: 2px solid var(--gray-100); - border-radius: 8px; + border-radius: 12px; font-size: 16px; font-family: inherit; - transition: border-color 0.2s; + transition: all 0.2s; + color: var(--ink); } .form-group input:focus, .form-group textarea:focus { outline: none; - border-color: var(--blue); + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-50); } .form-group textarea { - min-height: 120px; + min-height: 130px; resize: vertical; } .contact-form .btn { width: 100%; + justify-content: center; } .form-message { text-align: center; - padding: 20px; - background: #e8f5e9; - color: #28a745; - border-radius: 12px; - margin-top: 16px; - font-weight: 600; + padding: 24px; + background: var(--green-light); + color: var(--green); + border: 2px solid var(--green); + border-radius: 14px; + margin-top: 20px; + font-weight: 700; display: none; + font-size: 16px; } .form-message.show { display: block; } -/* Page header */ -.page-header { - background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%); +/* ===== MOTIVATION BANNER ===== */ +.motivation-banner { + background: linear-gradient(135deg, var(--accent) 0%, var(--green) 100%); color: var(--white); - padding: 60px 24px; + padding: 40px 24px; text-align: center; + border-radius: 20px; + margin-bottom: 32px; } -.page-header h1 { - font-size: 42px; +.motivation-banner h3 { + font-size: 28px; font-weight: 800; margin-bottom: 8px; } -.page-header p { - font-size: 18px; +.motivation-banner p { + font-size: 16px; opacity: 0.9; } -/* Mobile */ +/* ===== ANIMATIONS ===== */ +@keyframes fadeInUp { + from { opacity: 0; transform: translateY(20px); } + to { opacity: 1; transform: translateY(0); } +} + +.card, .step, .grammar-card, .exercise, .reading-text, .test-question { + animation: fadeInUp 0.5s ease both; +} + +.card:nth-child(1) { animation-delay: 0.05s; } +.card:nth-child(2) { animation-delay: 0.1s; } +.card:nth-child(3) { animation-delay: 0.15s; } +.card:nth-child(4) { animation-delay: 0.2s; } +.card:nth-child(5) { animation-delay: 0.25s; } + +/* ===== MOBILE ===== */ @media (max-width: 768px) { .menu-toggle { display: block; @@ -703,9 +956,10 @@ footer a { left: 0; right: 0; background: var(--white); - box-shadow: 0 4px 12px rgba(0,0,0,0.1); + border-bottom: 1px solid var(--gray-100); padding: 8px; gap: 2px; + box-shadow: 0 8px 20px rgba(0,0,0,0.08); } .nav-list.open { @@ -714,7 +968,7 @@ footer a { .nav-list a { padding: 12px 16px; - border-radius: 8px; + border-radius: 10px; } .hero h1 { @@ -725,6 +979,10 @@ footer a { font-size: 18px; } + .hero { + padding: 60px 20px; + } + .section { padding: 48px 20px; } @@ -738,7 +996,7 @@ footer a { } .page-header { - padding: 40px 20px; + padding: 44px 20px; } .cards-grid { @@ -777,17 +1035,22 @@ footer a { } .logo { - font-size: 18px; + font-size: 20px; } .hero { - padding: 60px 16px; + padding: 48px 16px; } .hero h1 { font-size: 28px; } + .hero-buttons { + flex-direction: column; + align-items: center; + } + .card { padding: 24px; } diff --git a/index.html b/index.html index 0ccbb3a..c9b67fc 100644 --- a/index.html +++ b/index.html @@ -27,15 +27,19 @@
-

Welcome to English Easy

-

Learn English step by step with vocabulary, grammar, exercises, reading texts, and tests. Start your journey today!

- Start Learning +
Start your journey
+

Learn English with Easy Steps

+

Vocabulary, grammar, exercises, reading texts, and tests — everything you need to start speaking English with confidence.

+
-

What You Will Learn

+

What You'll Learn

We make learning English simple and fun with clear explanations and interactive exercises.

@@ -72,9 +76,18 @@
-
+
-

How It Works

+
+

Ready to Start?

+

Every expert was once a beginner. Take the first step today!

+
+
+
+ +
+
+

How It Works

Three simple steps to start learning English.