Files
WWW/html/css/style.css
2026-01-10 22:23:00 +03:00

493 lines
8.8 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Базовые стили */
:root {
--primary: #4361ee;
--secondary: #3a0ca3;
--accent: #f72585;
--light: #f8f9fa;
--dark: #212529;
--gray: #6c757d;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
color: var(--dark);
background-color: #fff;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
/* Навигация */
.navbar {
background-color: white;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
position: fixed;
width: 100%;
top: 0;
z-index: 1000;
}
.navbar .container {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 20px;
}
.logo {
font-size: 1.5rem;
font-weight: bold;
color: var(--primary);
text-decoration: none;
}
.nav-links {
display: flex;
gap: 2rem;
}
.nav-links a {
text-decoration: none;
color: var(--dark);
font-weight: 500;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(--primary);
}
.menu-toggle {
display: none;
background: none;
border: none;
font-size: 1.5rem;
cursor: pointer;
color: var(--dark);
}
/* Герой-секция */
.hero {
padding: 120px 0 60px;
background: linear-gradient(135deg, #4361ee 0%, #3a0ca3 100%);
color: white;
}
.hero-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.hero-text h1 {
font-size: 3rem;
margin-bottom: 1rem;
}
.highlight {
color: var(--accent);
}
.hero-text p {
font-size: 1.2rem;
margin-bottom: 2rem;
opacity: 0.9;
}
.social-links {
display: flex;
gap: 1rem;
}
.social-links a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
background: rgba(255, 255, 255, 0.1);
border-radius: 50%;
color: white;
font-size: 1.2rem;
transition: all 0.3s;
}
.social-links a:hover {
background: var(--accent);
transform: translateY(-3px);
}
.hero-image {
display: flex;
justify-content: center;
align-items: center;
}
.avatar-img {
width: 300px;
height: 300px;
border-radius: 50%;
object-fit: cover;
border: 4px solid white;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
transition: all 0.3s ease;
}
.avatar-img:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}
/* Секции */
.section {
padding: 80px 0;
animation: fadeIn 0.8s ease-out;
}
.section h2 {
text-align: center;
font-size: 2.5rem;
margin-bottom: 3rem;
color: var(--secondary);
}
.bg-light {
background-color: var(--light);
}
/* Обо мне */
.about-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: start;
}
.about-text p {
margin-bottom: 1rem;
font-size: 1.1rem;
line-height: 1.8;
}
.facts {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.fact-card {
text-align: center;
padding: 2rem 1rem;
background: white;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
transition: transform 0.3s;
}
.fact-card:hover {
transform: translateY(-5px);
}
.fact-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 1rem;
}
/* Интересы */
.interests-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 2rem;
}
.interest-card {
background: white;
padding: 2rem;
border-radius: 10px;
text-align: center;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
transition: all 0.3s;
}
.interest-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}
.interest-icon {
width: 80px;
height: 80px;
background: linear-gradient(135deg, var(--primary), var(--secondary));
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1.5rem;
color: white;
font-size: 2rem;
}
/* Проекты */
.projects-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.project-card {
background: white;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
transition: all 0.3s;
}
.project-card:hover {
transform: translateY(-10px);
}
.project-image {
height: 200px;
background: linear-gradient(135deg, #4361ee, #3a0ca3);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 4rem;
}
.project-card h3 {
padding: 1.5rem 1.5rem 0.5rem;
}
.project-card p {
padding: 0 1.5rem;
color: var(--gray);
margin-bottom: 1.5rem;
}
.btn {
display: inline-block;
background: var(--primary);
color: white;
padding: 0.8rem 1.5rem;
border-radius: 5px;
text-decoration: none;
font-weight: 600;
transition: all 0.3s;
border: none;
cursor: pointer;
margin: 1.5rem;
}
.btn:hover {
background: var(--secondary);
transform: translateY(-2px);
}
/* Блог */
.blog-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
}
.blog-card {
background: white;
padding: 2rem;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.blog-date {
color: var(--accent);
font-weight: 600;
margin-bottom: 0.5rem;
}
.blog-card h3 {
margin-bottom: 1rem;
}
.blog-card p {
color: var(--gray);
margin-bottom: 1rem;
}
.read-more {
color: var(--primary);
text-decoration: none;
font-weight: 600;
}
.read-more:hover {
text-decoration: underline;
}
/* Контакты */
.contact-wrapper {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
max-width: 800px;
margin: 0 auto;
}
.contact-info p {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.5rem;
font-size: 1.1rem;
}
.contact-info i {
color: var(--primary);
width: 24px;
}
.contact-form input,
.contact-form textarea {
width: 100%;
padding: 1rem;
margin-bottom: 1rem;
border: 1px solid #ddd;
border-radius: 5px;
font-family: inherit;
}
.contact-form button {
width: 100%;
}
/* Футер */
footer {
background: var(--dark);
color: white;
text-align: center;
padding: 2rem 0;
}
footer p {
margin-bottom: 0.5rem;
}
/* Анимации */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* Стили для счетчика */
[data-counter] {
transition: all 0.3s ease;
font-weight: bold;
}
.counter-loaded {
color: #4CAF50;
animation: pulse 2s infinite;
}
@keyframes pulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
100% {
transform: scale(1);
}
}
/* Стиль для счетчика в навигации */
.nav-counter {
background: linear-gradient(45deg, #FF6B6B, #4ECDC4);
color: white;
padding: 5px 12px;
border-radius: 20px;
font-size: 14px;
margin-left: 15px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
/* Стиль для счетчика в футере */
.footer-counter {
font-size: 12px;
color: #666;
margin-top: 10px;
}
/* Адаптивность */
@media (max-width: 768px) {
.menu-toggle {
display: block;
}
.nav-links {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: white;
flex-direction: column;
padding: 1rem;
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}
.nav-links.active {
display: flex;
}
.hero-content,
.about-content,
.contact-wrapper {
grid-template-columns: 1fr;
gap: 2rem;
}
.hero-text h1 {
font-size: 2rem;
}
.avatar-img {
width: 200px;
height: 200px;
}
.hero-image {
order: -1; /* Переместить изображение выше текста на мобильных */
}
.facts {
grid-template-columns: 1fr;
}
.section {
padding: 60px 0;
}
}