This commit is contained in:
2026-05-26 17:16:51 +05:00
parent f0eb7fb1ea
commit 244a409444
2 changed files with 27 additions and 22 deletions

View File

@@ -3,8 +3,8 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>СТС-Авто — Демонтаж и капитальный ремонт магистральных трубопроводов</title>
<meta name="description" content="Демонтаж и капитальный ремонт магистральных трубопроводов по всей России. Собственная спецтехника. Лицензии СРО и НОСТРОЙ. Более 10 лет опыта.">
<title>СТС-Авто — Демонтаж нефтегазопроводов по России, утилизация отходов</title>
<meta name="description" content="Демонтаж нефтегазопроводов по России, утилизация отходов. Собственная спецтехника. Лицензии СРО и НОСТРОЙ. Более {years} лет опыта.">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Roboto+Condensed:wght@400;500;700&display=swap" rel="stylesheet">
<style>
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
@@ -44,10 +44,6 @@ img { max-width: 100%; display: block; }
/* ========== HEADER — CONSTRUCTION EQUIPMENT STYLE ========== */
.header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; transition: all 0.3s; }
.header-top-strip {
height: 6px;
background: repeating-linear-gradient(90deg, var(--orange) 0px, var(--orange) 20px, var(--yellow-warn) 20px, var(--yellow-warn) 40px, var(--orange) 40px, var(--orange) 60px);
}
.header-main {
background: linear-gradient(180deg, #2c3e50 0%, #1a2a3a 100%);
@@ -76,8 +72,8 @@ img { max-width: 100%; display: block; }
pointer-events: none;
}
.logo { display: flex; align-items: center; position: relative; z-index: 2; }
.logo img { height: 144px; width: auto; }
.logo { display: flex; align-items: center; position: relative; z-index: 2; margin-top: -18px; margin-bottom: -18px; }
.logo img { height: 180px; width: auto; }
.nav { display: flex; align-items: center; gap: 24px; position: relative; z-index: 2; }
@@ -100,10 +96,6 @@ img { max-width: 100%; display: block; }
}
.header-phone svg { width: 18px; height: 18px; fill: var(--orange); }
.header-bottom-strip {
height: 4px;
background: repeating-linear-gradient(90deg, #555 0px, #555 8px, #777 8px, #777 10px, #555 10px, #555 18px, #444 18px, #444 20px);
}
.burger {
display: none; flex-direction: column; gap: 5px; cursor: pointer;
@@ -533,7 +525,6 @@ img { max-width: 100%; display: block; }
<!-- HEADER -->
<header class="header" id="header">
<div class="header-top-strip"></div>
<div class="header-main">
<div class="header-inner">
<a href="#hero" class="logo">
@@ -555,7 +546,6 @@ img { max-width: 100%; display: block; }
<div class="burger" id="burger"><span></span><span></span><span></span></div>
</div>
</div>
<div class="header-bottom-strip"></div>
</header>
<!-- MOBILE NAV -->
@@ -582,8 +572,8 @@ img { max-width: 100%; display: block; }
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2L15.09 8.26L22 9.27L17 14.14L18.18 21.02L12 17.77L5.82 21.02L7 14.14L2 9.27L8.91 8.26L12 2Z"/></svg>
Лицензии СРО и НОСТРОЙ
</div>
<h1>Демонтаж и капитальный ремонт <span>магистральных трубопроводов</span> по всей России</h1>
<p class="hero-subtitle">Собственная спецтехника. Лицензии СРО и НОСТРОЙ. Более 10 лет опыта. Работаем на опасных производственных объектах без привлечения субподрядчиков.</p>
<h1>демонтаж нефтегазопроводов по России, утилизация отходов</h1>
<p class="hero-subtitle">Собственная спецтехника. Лицензии СРО и НОСТРОЙ. Более {years} лет опыта. Работаем на опасных производственных объектах без привлечения субподрядчиков.</p>
<div class="hero-contacts">
<div class="hero-contact-item">
<svg viewBox="0 0 24 24"><path d="M6.62 10.79a15.053 15.053 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.2 2.2z"/></svg>
@@ -603,7 +593,7 @@ img { max-width: 100%; display: block; }
<a href="#services" class="btn btn-outline">Наши услуги</a>
</div>
<div class="hero-stats">
<div class="hero-stat"><div class="hero-stat-number" data-target="10">0</div><div class="hero-stat-label">лет на рынке</div></div>
<div class="hero-stat"><div class="hero-stat-number" data-target="{years}">0</div><div class="hero-stat-label">лет на рынке</div></div>
<div class="hero-stat"><div class="hero-stat-number" data-target="200">0</div><div class="hero-stat-label">объектов выполнено</div></div>
<div class="hero-stat"><div class="hero-stat-number" data-target="50">0</div><div class="hero-stat-label">единиц техники</div></div>
<div class="hero-stat"><div class="hero-stat-number" data-target="6">0</div><div class="hero-stat-label">федеральных округов</div></div>
@@ -617,7 +607,7 @@ img { max-width: 100%; display: block; }
<div class="container">
<div class="section-header reveal">
<h2 class="section-title">О <span>компании</span></h2>
<p class="section-subtitle">Компания «СТС-Авто» — надёжный партнёр в сфере демонтажа и капитального ремонта магистральных трубопроводов. Мы работаем на всей территории Российской Федерации, обеспечивая полный цикл работ собственными силами и техникой.</p>
<p class="section-subtitle">Компания «СТС-Авто» — надёжный партнёр в сфере демонтажа нефтегазопроводов по России, утилизации отходов. Мы работаем на всей территории Российской Федерации, обеспечивая полный цикл работ собственными силами и техникой.</p>
</div>
<div class="about-grid">
<div class="about-image reveal-left">
@@ -661,8 +651,8 @@ img { max-width: 100%; display: block; }
<div class="services-grid">
<div class="service-card large reveal">
<div class="service-icon"><svg viewBox="0 0 24 24"><path d="M19.35 10.04A7.49 7.49 0 0012 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 000 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"/></svg></div>
<h3>Демонтаж и капитальный ремонт труб, трубопроводов</h3>
<p>Выполняем полный цикл работ по демонтажу и капитальному ремонту магистральных и промысловых трубопроводов любого типа и диаметра.</p>
<h3>Демонтаж нефтегазопроводов, утилизация отходов</h3>
<p>Выполняем полный цикл работ по демонтажу магистральных и промысловых трубопроводов любого типа и диаметра, а также утилизацию отходов.</p>
<ul class="service-list">
<li>Нефтепроводы, газопроводы, водоводы — все типы магистральных и промысловых сетей</li>
<li>Полный цикл: от вскрытия и вырезки дефектных участков до вывоза и сдачи металлолома</li>
@@ -740,7 +730,7 @@ img { max-width: 100%; display: block; }
<div class="process-number">3</div>
<div class="process-content">
<h3>Выполнение работ</h3>
<p>Мобилизуем технику и персонал на объект. Выполняем демонтаж, капитальный ремонт, рекультивацию или строительство проездов в соответствии с проектной документацией. Ежедневные отчёты о ходе работ.</p>
<p>Мобилизуем технику и персонал на объект. Выполняем демонтаж, капитальный ремонт, утилизацию отходов, рекультивацию или строительство проездов в соответствии с проектной документацией. Ежедневные отчёты о ходе работ.</p>
</div>
</div>
<div class="process-step reveal">
@@ -1154,6 +1144,18 @@ img { max-width: 100%; display: block; }
(function() {
'use strict';
var yearsSince2011 = new Date().getFullYear() - 2011;
document.title = document.title.replace('{years}', yearsSince2011);
var metaDesc = document.querySelector('meta[name="description"]');
if (metaDesc) metaDesc.setAttribute('content', metaDesc.getAttribute('content').replace('{years}', yearsSince2011));
var heroSubtitle = document.querySelector('.hero-subtitle');
if (heroSubtitle) heroSubtitle.textContent = heroSubtitle.textContent.replace('{years}', yearsSince2011);
var heroStatNumber = document.querySelector('.hero-stat-number');
if (heroStatNumber) heroStatNumber.setAttribute('data-target', yearsSince2011);
var header = document.getElementById('header');
var scrollTopBtn = document.getElementById('scrollTop');

View File

@@ -131,7 +131,10 @@ app.delete('/api/leads/:id', (req, res) => {
// Serve frontend
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'public', 'index.html'));
const years = new Date().getFullYear() - 2011;
const htmlPath = path.join(__dirname, 'public', 'index.html');
const html = fs.readFileSync(htmlPath, 'utf8');
res.send(html.replace(/\{years\}/g, String(years)));
});
app.listen(PORT, async () => {