added all modified files

vectorblocks--kosbelan
freelancer 11 months ago
parent b1afb0f09c
commit 17c7665854
  1. 50
      README.md
  2. 161
      assets/css/gp-style-core.css
  3. 815
      assets/css/gp-style-desktop.css
  4. 190
      assets/css/gp-style-mobile.css
  5. 254
      assets/css/gp-style-tablet.css
  6. 4
      assets/css/gp-style-ultra.css
  7. BIN
      assets/fonts/DINPro-Black.eot
  8. BIN
      assets/fonts/DINPro-Black.ttf
  9. BIN
      assets/fonts/DINPro-Black.woff
  10. BIN
      assets/fonts/DINPro-Medium.eot
  11. BIN
      assets/fonts/DINPro-Medium.ttf
  12. BIN
      assets/fonts/DINPro-Medium.woff
  13. 3
      assets/img/advantages_icon1.svg
  14. 3
      assets/img/advantages_icon2.svg
  15. 3
      assets/img/advantages_icon3.svg
  16. 11
      assets/img/advantages_icon4.svg
  17. BIN
      assets/img/bg_after.webp
  18. BIN
      assets/img/bg_before.webp
  19. BIN
      assets/img/favicon.ico
  20. BIN
      assets/img/footer-logo.webp
  21. BIN
      assets/img/gift.webp
  22. BIN
      assets/img/hero-img-full.webp
  23. 11
      assets/img/i-close.svg
  24. 18
      assets/img/i-info.svg
  25. 11
      assets/img/i-percent.svg
  26. 3
      assets/img/i-select.svg
  27. 3
      assets/img/i-tel.svg
  28. BIN
      assets/img/logo.webp
  29. 3
      assets/img/tg-white.svg
  30. 3
      assets/img/tg.svg
  31. 3
      assets/img/wh-white.svg
  32. 3
      assets/img/wh.svg
  33. 0
      assets/js/main.js
  34. 38
      assets/js/script.js
  35. 254
      index.html
  36. 38
      send-telegram.php
  37. 29
      send/ajax.js
  38. 40
      send/phpmailer/Exception.php
  39. 5126
      send/phpmailer/PHPMailer.php
  40. 1466
      send/phpmailer/SMTP.php
  41. 73
      send/send.php
  42. 39
      ui_kit.html

@ -1,50 +0,0 @@
## **Требования к верстке**
### **С точки зрения веб-разработки:**
* верстаем на чистом HTML/CSS с использованием flex и grid (без подключение библиотек типа bootstrap и т.п.)
* при именовании блоков используем методологию **БЭМ в стиле "Two Dashes"**:
`block-name__elem-name--mod-name--mod-val`
+ имена записываются латиницей в нижнем регистре
+ для разделения слов в именах БЭМ-сущностей используется дефис (-)
+ имя элемента отделяется от имени блока двумя подчеркиваниями (__)
+ модификаторы отделяются от имения блока или элемента двумя дефисами (--)
+ значение модификатора отделяется от его имени двумя дефисами (--)
* из конечного HTML-файла убрать все комментарии, если такие имеются
* все медиазапросы пишутся в отдельных файлах (которые мы подготовили) для того чтобы оптимизировать скорость загрузки; если используется препроцессор, то не нужно в классе каждого блока использовать импорты медиа запросов, а наоборот выносим пример можно посмотреть на ["видео"](https://www.youtube.com/watch?v=9uaENbRyVT4)
* **ВАЖНО:** если верстка делается для многостраничного сайта (особенно на CMS), то для всех страниц прописывать уникальный класс в \<body\>, от которого строить все CSS-правила на этой странице + для кажой станицы использовать свои отдельные CSS-файлы
### **С точки зрения SEO:**
* все теги использовать строго по назначению! Текстовые (strong, b, i, em, h1-h6… p) используем только в текстовых блоках и заголовках. Для дизайна используем div и span. Например не нужно втыкать в подвал, шапку или формы захвата h4 или закрывать просто крупный текст, который не является заголовком в h2.
* на странице должен быть только один заголовок первого уровня (h1)
* должны присутствовать все основные теги и атрибуты — html, head, body, title, description, lang=ru, content=html, charset=utf8
* для кнопок, нажатие на которые не требует редиректа используем тег \<button\>, а не \<a\>
* для \<img\> самостоятельно проставляем атрибут alt="", со значением описывающим того что изображено на картинке
## **Порядок работы**
### **Подготовка окружения для локальной разработки**
1. Выкачивать локально на свой компьютер шаблон командой: `git clone https://git.good-production.xyz/Good-Production/template-for-verstka.git`
2. Далее создать свою ветку командой: `git checkout -b ${project_name}--${name}`
3. Приступить к локальной разработке в созданной ветке
4. Для демонстрации работы пушить свои комиты в созданную ветку командой: `git push origin ${project_name}--${name}`
- во время push для авторизации понадобиться логин/пароль: `freelancer/freelancerfreelancer00`
5. Отписать в чат, чтоб руководитель проектом посмотрел результат и выкачал его на тестовый стенд
в командах заменить переменные:
`${project_name}` -- условное названия проекта (как варинат использовать домен сайта)
`${name}` -- имя/ник исполнителя
## **Оптимальный порядок непосредственно в процессе верстки**
1. Сначала определить CSS-переменные для основных цветов/градиентов, начертаний шрифтов (толщина, размер, модификация, межтрочный интервал) и занести в специально подгтовленный CSS-файл `style-core.css`
2. Все шрифты выкачать и сохранить локально в директорию `/assets/fonts/` и подключить их в файле `style-core.css`
3. Далее начинать стоит с верстки UI kit (должен быть предоставлен в макете дизайнером), для того чтобы переиспользовать готовые элементы по ходу верстки макетов. Стили для UI kit писать так же в файл `style-core.css`.
Саму HTML-верстку для UI kit делать в файле `ui_kit.html`
3. Как UI kit будет готов, можно смело переходить к верстке основных листов макета "*.html" и просто использовать готовые классы из `style-core.css`
### **Примечания**
Для работы с Figma рекомендуем использовать плагин ["Inspect Styles"](https://www.figma.com/community/plugin/1254262542670221199) для инспевтирования CSS-свойсв.

@ -1,16 +1,149 @@
/* Переменные, шрифты, UI kit */
@import url('https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap');
@font-face {
font-family: 'DIN Pro';
src: url('fonts/DINPro-Medium.eot');
src: local('DIN Pro Medium'), local('DINPro-Medium'),
url('fonts/DINPro-Medium.eot?#iefix') format('embedded-opentype'),
url('fonts/DINPro-Medium.woff') format('woff'),
url('fonts/DINPro-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'DIN Pro';
src: url('fonts/DINPro-Black.eot');
src: local('DIN Pro Black'), local('DINPro-Black'),
url('fonts/DINPro-Black.eot?#iefix') format('embedded-opentype'),
url('fonts/DINPro-Black.woff') format('woff'),
url('fonts/DINPro-Black.ttf') format('truetype');
font-weight: 900;
font-style: normal;
font-display: swap;
}
/*
ШАБЛОН использования глобальных переменных:
:root {
--main-text: #e1667c;
--main-color: #8da6cb;
--font-family: "Craftwork Grotesk", sans-serif;
}
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
ol,
ul {
list-style: none;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

@ -1,18 +1,823 @@
/* Основные стили для компьютера */
:root {
--clr-general: #00071e;
}
* {
box-sizing: border-box;
}
html {
overflow-x: hidden;
}
body {
font-family: 'Onest', sans-serif;
font-weight: 400;
font-size: 14px;
color: var(--clr-general);
background: #f9f7f6;
overflow-x: hidden;
}
*[class*='__container'] {
width: 100%;
max-width: 1328px;
margin: 0 auto;
padding: 0 64px;
}
/* писать сюда... */
.flex {
display: flex;
}
.flex-ac {
align-items: center;
}
.flex-jcsb {
justify-content: space-between;
}
.gap-10 {
gap: 10px;
}
.gap-24 {
gap: 24px;
}
.gap-42 {
gap: 42px;
}
/* Title */
h1 {
font-family: 'DIN Pro', sans-serif;
font-weight: 500;
font-size: 62px;
line-height: 120%;
letter-spacing: -0.04em;
text-transform: uppercase;
background: linear-gradient(
142deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.22) 42%,
rgba(255, 255, 255, 0) 100%
),
var(--clr-general);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
h1 b,
h1 strong {
font-weight: 900;
}
/* Button */
.btn {
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 12px 24px 0 rgba(255, 204, 0, 0.25);
background: linear-gradient(
322deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.32) 41.5%,
rgba(255, 255, 255, 0) 100%
),
#fc0;
border: none;
outline: none;
font-weight: 600;
font-size: 15px;
line-height: 140%;
color: var(--clr-general);
cursor: pointer;
transition: all 0.15s ease-in-out;
}
.btn:hover {
box-shadow: 0 1px 14px 0 rgba(255, 204, 0, 0.2);
transform: scale(0.98);
}
.btn-small {
border-radius: 14px;
padding: 17px 24px;
}
.btn-big {
height: 72px;
font-size: 16px;
border-radius: 20px;
padding: 20px 24px;
}
/* Header */
.header {
display: flex;
justify-content: center;
width: 100%;
}
.header__container {
position: absolute;
top: 28px;
z-index: 2;
}
.header__logo {
max-width: 280px;
}
.header__logo p {
font-weight: 400;
font-size: 14px;
line-height: 130%;
opacity: 0.8;
}
.header__contacts {
}
.header__socials {
}
.header__socials-link {
display: flex;
align-items: center;
justify-content: center;
width: 47px;
height: 47px;
border-radius: 9px;
box-shadow: 0 10px 32px 0 rgba(0, 0, 0, 0.07);
background: #fff;
transition: transform 0.2s ease-in-out;
}
.header__socials-link:hover {
transform: scale(1.1);
}
.header__tel {
font-weight: 700;
font-size: 22px;
letter-spacing: -0.03em;
color: var(--clr-general);
text-decoration: none;
transition: opacity 0.2s ease-in-out;
}
.header__tel:hover {
opacity: 0.7;
}
/* Hero */
.hero {
padding-top: 170px;
padding-bottom: 102px;
position: relative;
z-index: 1;
}
.hero::after {
content: '';
width: 100%;
height: 100%;
background: url('../img/bg_after.webp') bottom left no-repeat;
background-size: contain;
position: absolute;
bottom: 0;
left: 0;
z-index: -1;
}
.hero::before {
content: '';
width: 220px;
height: 295px;
background: url('../img/bg_before.webp') center no-repeat;
background-size: contain;
position: absolute;
bottom: 200px;
left: 0;
z-index: 1;
animation: herobefore 6s ease-in-out infinite;
}
@keyframes herobefore {
0%,
100% {
transform: translateY(0) translateX(0);
}
40%,
60% {
transform: translateY(20px) translateX(-2px);
}
}
.hero__img {
}
.hero__content {
display: flex;
align-items: flex-end;
gap: 64px;
justify-content: space-between;
position: relative;
z-index: 1;
}
.hero__content::after {
content: '';
position: absolute;
top: -60px;
right: -590px;
width: 1230px;
height: 830px;
pointer-events: none;
z-index: -1;
background: url('../img/hero-img-full.webp') center no-repeat;
background-size: cover;
}
.hero__leftside {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 32px;
max-width: 590px;
}
.hero__title {
}
.hero__title h1 {
}
.hero__desc {
display: inline-flex;
align-items: center;
gap: 14px;
border: 2px solid rgba(28, 27, 27, 0.9);
border-radius: 15px;
padding: 13px 24px;
}
.hero__desc::before {
content: '';
width: 24px;
height: 24px;
background: url('../img/i-info.svg') center no-repeat;
background-size: cover;
}
.hero__desc p {
font-weight: 500;
font-size: 20px;
line-height: 130%;
}
.hero__desc p b {
font-weight: 700;
}
.hero__price {
display: flex;
flex-direction: column;
gap: 24px;
border-radius: 28px;
padding: 16px 16px 24px 16px;
box-shadow: 0 10px 32px 0 rgba(0, 0, 0, 0.02);
background: #fff;
}
.hero__price-header {
display: flex;
align-items: center;
gap: 24px;
border-radius: 24px;
padding: 16px;
background: linear-gradient(
142deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.2) 41.5%,
rgba(255, 255, 255, 0) 100%
),
#f7f5f3;
}
.hero__price-header span {
display: flex;
align-items: center;
gap: 10px;
border-radius: 14px;
padding: 14px 20px;
background: linear-gradient(
142deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.2) 41.5%,
rgba(255, 255, 255, 0) 100%
),
#d92d2d;
font-weight: 600;
font-size: 18px;
line-height: 140%;
color: #fff;
}
.hero__price-header span::before {
content: '';
width: 24px;
height: 24px;
background: url('../img/i-percent.svg') center no-repeat;
background-size: cover;
}
.hero__price-header p {
font-weight: 400;
font-size: 17px;
line-height: 130%;
max-width: 220px;
}
.hero__price-header p b {
font-weight: 600;
}
.hero__price-content {
display: flex;
align-items: center;
justify-content: center;
gap: 32px;
}
.hero__price-stock {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 2px;
}
.hero__price-stock span {
font-weight: 500;
font-size: 20px;
line-height: 140%;
letter-spacing: -0.02em;
text-decoration: line-through;
text-align: right;
opacity: 0.4;
}
.hero__price-stock p {
font-weight: 700;
font-size: 30px;
line-height: 140%;
letter-spacing: -0.02em;
}
.hero__price-unit {
border-radius: 10px;
padding: 7px 14px;
background: linear-gradient(
322deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.34) 41.5%,
rgba(255, 255, 255, 0) 100%
),
#fc0;
}
.hero__price-unit p {
font-weight: 500;
font-size: 18px;
line-height: 140%;
}
.hero__rightside {
}
.hero__form {
display: flex;
flex-direction: column;
gap: 24px;
max-width: 490px;
border: 1px solid rgba(255, 255, 255, 0.7);
border-radius: 26px;
padding: 32px;
box-shadow: 0 10px 42px 0 rgba(0, 0, 0, 0.17);
background: linear-gradient(
142deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.2) 41.5%,
rgba(255, 255, 255, 0) 100%
),
#f2f2f2;
}
.hero__form-title {
}
.hero__form-title p {
font-weight: 400;
font-size: 18px;
line-height: 130%;
letter-spacing: -0.02em;
text-align: center;
}
.hero__form-title p b {
font-weight: 600;
}
.hero__form-action {
}
.hero__form-action form {
display: flex;
flex-direction: column;
gap: 12px;
}
.hero__form-action select,
.hero__form-action input {
width: 100%;
height: 72px;
border: none;
outline: none;
border-radius: 20px;
padding: 12px 32px;
background: #fff;
font-family: 'Onest', sans-serif;
font-weight: 500;
font-size: 16px;
color: var(--clr-general);
transition: color 0.15s ease-in-out;
}
.hero__form-action input:hover::placeholder,
.hero__form-action select:hover {
color: rgba(28, 27, 27, 0.75);
}
.hero__form-action select {
color: rgba(28, 27, 27, 0.5);
-webkit-appearance: none;
-moz-appearance: none;
text-indent: 1px;
text-overflow: '';
position: relative;
background: url('../img/i-select.svg') center no-repeat #fff;
background-size: 18px;
background-position-x: calc(100% - 32px);
cursor: pointer;
}
.hero__form-action select::-ms-expand {
display: none;
}
.hero__form-action select:has(option[value='']:not(:checked)) {
color: var(--clr-general);
}
.hero__form-action input::placeholder {
color: rgba(28, 27, 27, 0.5);
transition: color 0.15s ease-in-out;
}
.hero__form-gift {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 10px;
margin-top: 8px;
border-radius: 20px;
padding: 24px 12px 24px 24px;
background: linear-gradient(
130deg,
rgba(255, 255, 255, 0) 30%,
rgba(255, 255, 255, 0.24) 80%,
rgba(255, 255, 255, 0) 100%
),
var(--clr-general);
position: relative;
z-index: 1;
}
.hero__form-gift::after {
content: '';
width: 150px;
height: 105px;
z-index: -1;
pointer-events: none;
background: url('../img/gift.webp') center no-repeat;
background-size: cover;
position: absolute;
bottom: 0;
right: 0;
}
.hero__form-gift p {
display: inline-flex;
border-radius: 90px;
padding: 4px 12px;
background: rgba(255, 255, 255, 0.12);
font-weight: 500;
font-size: 16px;
line-height: 140%;
text-align: center;
color: #fff;
}
.hero__form-gift ul {
list-style-type: disc;
padding-left: 24px;
}
.hero__form-gift ul li {
list-style-type: disc;
font-weight: 600;
font-size: 16px;
line-height: 140%;
color: #fff;
}
.hero__advantages {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
margin-top: 102px;
position: relative;
z-index: 1;
}
.hero__advantages-item {
display: flex;
align-items: center;
justify-content: flex-start;
flex-direction: column;
gap: 20px;
border-radius: 24px;
padding: 24px 14px;
box-shadow: 0 10px 32px 0 rgba(0, 0, 0, 0.01);
background: #fff;
}
.hero__advantages-item p {
font-weight: 500;
font-size: 16px;
line-height: 140%;
text-align: center;
}
.hero__advantages-icon {
display: flex;
align-items: center;
justify-content: center;
border-radius: 20px;
min-width: 60px;
width: 60px;
height: 60px;
background: linear-gradient(
329deg,
rgba(255, 255, 255, 0) 9.59%,
rgba(255, 255, 255, 0.1) 47.6%,
rgba(255, 255, 255, 0) 100%
),
var(--clr-general);
}
/* Footer */
.footer {
background: linear-gradient(
329deg,
rgba(255, 255, 255, 0) 9.59%,
rgba(255, 255, 255, 0.02) 47.6%,
rgba(255, 255, 255, 0) 100%
),
var(--clr-general);
padding-top: 42px;
padding-bottom: 52px;
color: #fff;
}
.footer__container {
display: flex;
flex-direction: column;
gap: 42px;
}
.footer__top {
display: grid;
align-items: center;
grid-template-columns: repeat(3, 1fr);
}
.footer__logo {
}
.footer__logo p {
font-weight: 500;
font-size: 13px;
line-height: 140%;
max-width: 260px;
}
.footer__address {
font-weight: 500;
font-size: 16px;
text-align: center;
}
.footer__contacts {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 46px;
}
.footer__tel {
font-weight: 700;
font-size: 22px;
color: #fff;
text-decoration: none;
transition: color 0.15s ease-in-out;
}
.footer__tel:hover {
color: #fc0;
}
.footer__socials {
display: flex;
align-items: center;
gap: 10px;
}
.footer__socials-link {
display: flex;
align-items: center;
justify-content: center;
border-radius: 9px;
padding: 10px;
width: 44px;
height: 44px;
box-shadow: 0 10px 32px 0 rgba(0, 0, 0, 0.07);
/* background: #282828; */
background: rgba(255, 255, 255, 0.1);
transition: transform 0.2s ease-in-out;
}
.footer__socials-link:hover {
transform: scale(1.1);
}
.footer__bottom {
display: grid;
align-items: center;
grid-template-columns: repeat(3, 1fr);
}
.footer__bottom p,
.footer__bottom a {
font-weight: 500;
font-size: 14px;
color: #fff;
text-decoration: none;
}
.footer__bottom a {
transition: opacity 0.2s ease-in-out;
}
.footer__bottom a:hover {
opacity: 0.5;
}
.footer__bottom a:nth-child(2) {
text-align: center;
}
.footer__bottom a:nth-child(3) {
text-align: right;
}
/* Preloader */
.preloader {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 7, 30, 0.8);
/* background: #00071e; */
/* -webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px); */
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
opacity: 1;
z-index: 200;
pointer-events: none;
}
.preloader.hidden {
opacity: 0;
}
.preloader.hidden .preloader__icon {
opacity: 0;
}
/* Стили для лептопов */
/* @media only screen and (min-width: 992px) and (max-width: 1400px) {
.preloader__icon {
position: absolute;
top: 50%;
left: 50%;
width: 128px;
height: 128px;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><rect fill="%23FFCC00" stroke="%23FFCC00" stroke-width="15" width="30" height="30" x="25" y="50"><animate attributeName="y" calcMode="spline" dur="2" values="50;120;50;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.4"></animate></rect><rect fill="%23FFCC00" stroke="%23FFCC00" stroke-width="15" width="30" height="30" x="85" y="50"><animate attributeName="y" calcMode="spline" dur="2" values="50;120;50;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.2"></animate></rect><rect fill="%23FFCC00" stroke="%23FFCC00" stroke-width="15" width="30" height="30" x="145" y="50"><animate attributeName="y" calcMode="spline" dur="2" values="50;120;50;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="0"></animate></rect></svg>');
background-size: contain;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
opacity: 1;
-webkit-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
} */
/* Modal */
#modal__bg {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 7, 30, 0.8);
z-index: 155;
opacity: 0;
}
.modal {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 255;
padding: 42px;
background: #fff;
border-radius: 32px;
opacity: 0;
}
.modal.opened,
#modal__bg.opened {
display: flex;
opacity: 1;
}
.modal__close {
position: absolute;
top: -32px;
right: -32px;
width: 42px;
height: 42px;
background: url('../img/i-close.svg') center no-repeat;
background-size: 20px;
border-radius: 12px;
cursor: pointer;
transition: opacity 0.15s ease-in-out;
}
.modal__close:hover {
opacity: 0.5;
}
.modal__content {
position: relative;
font-size: 16px;
line-height: 145%;
}
.modal__content p {
}
.modal__content span {
display: inline-flex;
font-size: 18px;
font-weight: 600;
margin-bottom: 14px;
}
.modal__title {
max-width: 420px;
margin-left: auto;
margin-right: auto;
margin-bottom: 24px;
}
.modal__title p {
font-family: 'DIN Pro', sans-serif;
font-size: 23px;
font-weight: 500;
line-height: 130%;
text-align: center;
letter-spacing: -0.04em;
text-transform: uppercase;
background: linear-gradient(
142deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.22) 42%,
rgba(255, 255, 255, 0) 100%
),
var(--clr-general);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.modal__title p b,
.modal__title p strong {
font-weight: 600;
}
.modal__form {
}
.modal__form form {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
}
.modal__form form input {
width: 100%;
height: 72px;
border: none;
outline: none;
border-radius: 20px;
padding: 12px 32px;
background: linear-gradient(
142deg,
rgba(255, 255, 255, 0) 0%,
rgba(255, 255, 255, 0.2) 41.5%,
rgba(255, 255, 255, 0) 100%
),
#f2f2f2;
font-family: 'Onest', sans-serif;
font-weight: 500;
font-size: 16px;
color: var(--clr-general);
transition: color 0.25s ease-in-out;
}
.modal__form form input::placeholder {
color: rgba(28, 27, 27, 0.5);
transition: color 0.15s ease-in-out;
}
.modal__form form input:hover::placeholder {
color: rgba(28, 27, 27, 0.8);
}
/* Form */
form.sending {
position: relative;
}
form.sending::before,
form.sending::after {
content: '';
position: absolute;
}
form.sending::after {
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgb(245 245 245 / 60%);
z-index: 10;
}
section.modal form.sending::after {
background: rgb(255 255 255 / 60%);
}
form::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 128px;
height: 128px;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><rect fill="%23FFCC00" stroke="%23FFCC00" stroke-width="15" width="30" height="30" x="25" y="50"><animate attributeName="y" calcMode="spline" dur="2" values="50;120;50;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.4"></animate></rect><rect fill="%23FFCC00" stroke="%23FFCC00" stroke-width="15" width="30" height="30" x="85" y="50"><animate attributeName="y" calcMode="spline" dur="2" values="50;120;50;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="-.2"></animate></rect><rect fill="%23FFCC00" stroke="%23FFCC00" stroke-width="15" width="30" height="30" x="145" y="50"><animate attributeName="y" calcMode="spline" dur="2" values="50;120;50;" keySplines=".5 0 .5 1;.5 0 .5 1" repeatCount="indefinite" begin="0"></animate></rect></svg>');
background-size: contain;
transform: translate(-50%, -50%);
opacity: 0;
pointer-events: none;
}
form.sending::before {
opacity: 1;
z-index: 15;
}

@ -1,5 +1,185 @@
/* Стили для мобильных устройств */
@media only screen and (max-width: 576px) {
}
@media screen and (max-width: 576px) {
.hero__price {
margin-top: 24px;
}
.hero__content::after {
right: -320px;
top: 290px;
}
}
@media screen and (max-width: 540px) {
.header__container {
align-items: flex-start;
gap: 24px;
padding-bottom: 24px;
}
.header__container::after {
content: '';
position: absolute;
bottom: 0;
left: 24px;
width: calc(100% - 48px);
height: 1px;
background: #e7e7e7;
}
.header__logo {
max-width: 240px;
}
.header__logo p {
font-size: 12px;
}
.header__contacts {
flex-wrap: wrap;
width: 100%;
justify-content: flex-end;
row-gap: 24px;
}
.header__contacts button.btn {
}
.header__tel {
font-size: 20px;
margin: 0;
}
.hero {
padding-top: 170px;
}
}
@media screen and (max-width: 470px) {
h1 {
font-size: 39px;
text-align: left;
}
.hero__leftside {
align-items: flex-start;
}
.hero__price {
margin-top: 12px;
}
.hero__price-header p {
max-width: 160px;
}
.hero__content {
gap: 34px;
}
.hero__content::after {
opacity: 1;
right: -290px;
width: 520px;
height: 320px;
background-size: contain;
top: 280px;
}
.hero__form-gift {
overflow: hidden;
}
.hero__form-gift::after {
right: -10%;
opacity: 0.6;
}
.hero__advantages {
grid-template-columns: 1fr;
gap: 6px;
}
.hero__price {
border-radius: 12px;
padding: 10px;
padding-bottom: 14px;
}
.hero__price-header {
gap: 10px;
padding: 10px;
border-radius: 10px;
}
.hero__price-header p {
font-size: 14px;
}
.hero__price-header span {
padding: 8px 12px;
border-radius: 10px;
font-size: 14px;
}
.hero__price-stock p {
font-size: 20px;
}
.hero__price-stock span {
font-size: 15px;
}
.hero__price-unit {
border-radius: 8px;
padding: 6px 12px;
}
.hero__price-unit p {
font-size: 13px;
}
.hero__price-header span::before {
width: 16px;
height: 16px;
}
.hero__price-content {
gap: 10px;
}
.header__logo {
/* flex-direction: column;
align-items: flex-start; */
}
.header__logo p {
/* max-width: 100%; */
}
.header__container {
align-items: center;
}
.header__tel {
font-size: 18px;
}
.hero__form {
gap: 20px;
padding: 20px 14px;
border-radius: 16px;
}
.hero__form-title p {
font-size: 15px;
}
}
@media screen and (max-width: 390px) {
h1 {
font-size: 36px;
}
.header__logo img {
width: 46px;
}
.header__logo p {
font-size: 11px;
}
.header__tel {
font-size: 17px;
}
.hero__form-action select,
.hero__form-action input {
height: 60px;
border-radius: 12px;
}
}
@media screen and (max-width: 375px) {
*[class*='__container'] {
padding-left: 12px;
padding-right: 12px;
}
.header__container {
gap: 0;
}
h1 {
font-size: 34px;
}
.hero__desc::before {
display: none;
}
.header__logo img {
width: 44px;
}
.header__logo p {
font-size: 10px;
}
.header__tel {
font-size: 16.5px;
}
}

@ -1,5 +1,249 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
}
*[class*='__container'] {
padding: 0 42px;
}
h1 {
font-size: 52px;
}
.hero__content {
flex-direction: column;
align-items: center;
}
.hero__leftside {
max-width: 100%;
align-items: center;
text-align: center;
}
.hero__content::after {
opacity: 0.1;
right: -140px;
}
.footer__tel {
font-size: 17px;
}
.header__contacts {
gap: 10px;
}
.header__tel {
order: 3;
margin-left: 14px;
}
.header__contacts button.btn p {
display: none;
}
.header__contacts button.btn {
width: 47px;
height: 47px;
border-radius: 9px;
position: relative;
padding: 0;
}
.header__contacts button.btn::before {
content: '';
width: 24px;
height: 24px;
background: url('../img/i-tel.svg') center no-repeat;
background-size: cover;
}
.hero__advantages {
grid-template-columns: repeat(2, 1fr);
}
.hero__advantages-item {
flex-direction: row;
}
.hero__advantages-item p {
text-align: left;
}
.hero__advantages-item p br {
content: '';
padding: 0;
}
.footer__logo {
flex-direction: column;
text-align: center;
}
.footer__tel {
font-size: 19px;
}
.footer__contacts {
gap: 24px;
}
.footer__top,
.footer__bottom {
display: flex;
flex-direction: column;
gap: 32px;
}
.footer__bottom {
gap: 12px;
}
.footer__bottom p {
padding-bottom: 32px;
}
@media screen and (max-width: 740px) {
.header__logo {
max-width: 200px;
gap: 12px;
}
.header__logo img {
width: 64px;
height: auto;
}
.header__logo p {
font-size: 11px;
}
}
@media screen and (max-width: 670px) {
.header__socials-link,
.footer__socials-link,
.header__contacts button.btn {
width: 40px;
height: 40px;
}
.header__socials-link img,
.footer__socials-link img {
width: 24px;
height: 24px;
}
.header__contacts button.btn::before {
width: 20px;
height: 20px;
}
.header__tel,
.footer__tel {
font-size: 18px;
}
h1 {
font-size: 49px;
}
}
@media screen and (max-width: 620px) {
*[class*='__container'] {
padding: 0 24px;
}
.header__logo {
max-width: 140px;
gap: 14px;
}
.header__logo img {
width: 56px;
}
.hero__advantages {
gap: 16px;
}
.hero__advantages-item {
gap: 14px;
padding: 16px 14px;
border-radius: 16px;
}
.hero__advantages-icon {
min-width: 46px;
width: 46px;
height: 46px;
border-radius: 10px;
}
.hero__advantages-icon img {
width: 30px;
height: 30px;
}
.hero__advantages-item p {
font-size: 14px;
}
h1 {
font-size: 42px;
}
.header__socials-link,
.footer__socials-link,
.header__contacts button.btn {
width: 37px;
height: 37px;
}
.header__socials-link img,
.footer__socials-link img {
width: 22px;
height: 22px;
}
.header__contacts button.btn::before {
width: 18px;
height: 18px;
}
.hero {
padding-top: 140px;
padding-bottom: 64px;
}
.hero__leftside {
gap: 24px;
}
.hero__desc::before {
width: 20px;
height: 20px;
}
.hero__desc {
padding: 10px 20px;
border-radius: 12px;
}
.hero__desc p {
font-size: 16px;
}
.hero__price {
gap: 12px;
margin-right: auto;
}
.hero__price-header,
.hero__price-content {
flex-direction: column;
gap: 16px;
}
.hero__price-stock {
align-items: center;
text-align: center;
}
.hero__price-header span {
padding: 12px 16px;
border-radius: 12px;
font-size: 16px;
}
.hero__price-header span::before {
width: 19px;
height: 19px;
}
.hero__price-header p {
font-size: 16px;
}
.hero__price-stock span {
font-size: 18px;
}
.hero__price-stock p {
font-size: 24px;
}
.hero__price-unit {
}
.hero__price-unit p {
font-size: 16px;
}
.hero__content::after {
opacity: 1;
right: -290px;
width: 620px;
height: 420px;
background-size: contain;
top: 230px;
}
.hero__form-title p {
font-size: 16px;
max-width: 390px;
margin-left: auto;
margin-right: auto;
}
.hero__form-action select,
.hero__form-action input,
.btn-big {
font-size: 15px;
}
.hero__form-gift p,
.hero__form-gift ul li {
font-size: 14px;
}
.hero__advantages {
margin-top: 64px;
}
}

@ -1,4 +0,0 @@
/* Стили для ультрашироких экранов */
@media only screen and (min-width: 1400px) {
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,3 @@
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M23.4873 2.39045L25.9881 4.2624C26.6721 4.77436 27.392 5.03637 28.245 5.08387L31.3639 5.25736C33.2315 5.36121 34.7484 6.63393 35.1749 8.45519L35.8875 11.4967C36.0823 12.3285 36.4654 12.9919 37.0883 13.5766L39.3661 15.7144C40.7299 16.9944 41.0737 18.9444 40.23 20.6137L38.8207 23.4015C38.4354 24.164 38.3023 24.9184 38.4037 25.7667L38.7745 28.8685C38.9965 30.7258 38.0064 32.4405 36.287 33.1769L33.4155 34.4067C32.6301 34.743 32.0432 35.2354 31.5757 35.9504L29.8659 38.5648C28.8421 40.1302 26.9815 40.8073 25.1911 40.2662L22.2009 39.3626C21.3831 39.1154 20.617 39.1154 19.7992 39.3626L16.809 40.2662C15.0186 40.8073 13.1579 40.1302 12.1342 38.5648L10.4244 35.9504C9.95674 35.2354 9.36989 34.743 8.5846 34.4067L5.71285 33.1767C3.99348 32.4403 3.00344 30.7256 3.22542 28.8683L3.5962 25.7666C3.69759 24.9183 3.56453 24.1638 3.17915 23.4014L1.76994 20.6135C0.926164 18.9443 1.26996 16.9943 2.63381 15.7142L4.91157 13.5764C5.53452 12.9918 5.91752 12.3283 6.11234 11.4965L6.82487 8.45502C7.25143 6.63385 8.76827 5.36113 10.6359 5.2572L13.7548 5.0837C14.6078 5.03629 15.3277 4.7742 16.0117 4.26224L18.5125 2.39029C20.0098 1.26958 21.9899 1.26958 23.4873 2.39045ZM19.4046 22.0713L16.6907 19.3574C15.9873 18.654 14.8463 18.654 14.143 19.3574C13.4395 20.0608 13.4395 21.2017 14.143 21.9051L18.1347 25.8968C18.8381 26.6001 19.9791 26.6002 20.6824 25.8968C23.0884 23.4907 25.4671 21.0576 27.862 18.6406C28.5604 17.9358 28.5581 16.7985 27.8542 16.0985C27.1502 15.3984 26.0097 15.4004 25.3106 16.1064L19.4046 22.0713ZM20.9999 7.5841C17.2953 7.5841 13.9412 9.08576 11.5134 11.5136C9.08565 13.9414 7.58398 17.2954 7.58398 21C7.58398 24.7046 9.08565 28.0586 11.5134 30.4864C13.9412 32.9142 17.2953 34.4159 20.9999 34.4159C24.7045 34.4159 28.0585 32.9142 30.4863 30.4864C32.9141 28.0586 34.4157 24.7046 34.4157 21C34.4157 17.2954 32.9141 13.9414 30.4863 11.5136C28.0585 9.08576 24.7045 7.5841 20.9999 7.5841ZM29.5583 12.4416C27.368 10.2513 24.3421 8.8966 20.9999 8.8966C17.6576 8.8966 14.6317 10.2513 12.4415 12.4416C10.2512 14.6318 8.89648 17.6577 8.89648 21C8.89648 24.3423 10.2512 27.3681 12.4415 29.5584C14.6317 31.7486 17.6576 33.1034 20.9999 33.1034C24.3421 33.1034 27.368 31.7486 29.5583 29.5585C31.7485 27.3682 33.1032 24.3423 33.1032 21.0001C33.1033 17.6577 31.7485 14.6318 29.5583 12.4416Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,3 @@
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M33.937 8.21272L31.312 1.65022C31.1172 1.1631 30.7809 0.745525 30.3464 0.45138C29.912 0.157236 29.3994 1.40132e-05 28.8748 0L13.1248 0C12.6001 1.40132e-05 12.0875 0.157236 11.6531 0.45138C11.2187 0.745525 10.8824 1.1631 10.6876 1.65022L8.06256 8.21272C7.81195 8.83841 7.81195 9.53659 8.06256 10.1623L10.6876 16.7248C10.8824 17.2119 11.2187 17.6295 11.6531 17.9236C12.0875 18.2178 12.6001 18.375 13.1248 18.375H14.4373C14.4373 19.8247 15.6126 21 17.0623 21H18.3748V22.0081C18.3748 25.1298 20.0827 27.9804 22.725 29.271C24.0894 29.9382 24.9373 31.2949 24.9373 32.8118C24.9373 34.9094 23.0967 36.75 20.9991 36.75C18.8285 36.75 17.0623 34.9838 17.0623 32.8125C17.0623 31.3628 15.8869 30.1875 14.4373 30.1875C12.9876 30.1875 11.8123 31.3628 11.8123 32.8125C11.8123 37.8786 15.9337 42 20.9991 42C25.9793 42 30.1873 37.792 30.1873 32.8118C30.1873 29.2729 28.2108 26.109 25.0296 24.5543C24.176 24.137 23.6248 23.138 23.6248 22.0081V21H24.9373C26.3869 21 27.5623 19.8247 27.5623 18.375H28.8748C29.3994 18.375 29.912 18.2178 30.3464 17.9236C30.7809 17.6295 31.1172 17.2119 31.312 16.7248L33.937 10.1623C34.1876 9.53659 34.1876 8.83841 33.937 8.21272ZM14.8748 14.4375H12.1076L15.6075 3.9375H18.3748L14.8748 14.4375ZM20.6334 14.4375H17.8662L21.3661 3.9375H24.1334L20.6334 14.4375ZM26.392 14.4375H23.6248L27.1247 3.9375H29.892L26.392 14.4375Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,3 @@
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.9414 9.24741C33.5828 10.0923 34.9757 12.2216 36.7221 15.1523H29.9414V9.24741ZM8.6607 15.3984C9.37371 15.3984 9.89116 15.7426 9.89116 16.5469C9.89116 17.2253 9.34229 17.7755 8.66422 17.7773H1.23047C0.55084 17.7773 0 18.3285 0 19.0078C0 19.6874 0.55084 20.2383 1.23047 20.2383H12.3047C12.9907 20.2383 13.54 20.7887 13.54 21.4688C13.54 22.1484 12.9892 22.6992 12.3095 22.6992H1.23047C0.55084 22.6992 0 23.2501 0 23.9297C0 24.6093 0.55084 25.1602 1.23047 25.1602H3.9375V28.8516C3.9375 29.5312 4.48834 30.082 5.16797 30.082H7.64138C8.08229 32.254 10.0014 33.8555 12.2637 33.8555C14.5259 33.8555 16.4451 32.254 16.886 30.082H29.3797C29.8206 32.254 31.7397 33.8555 34.002 33.8555C36.2642 33.8555 38.1833 32.254 38.6242 30.082H40.7695C41.4492 30.082 42 29.5312 42 28.8516V21.4688C42 17.8584 38.1919 17.6187 38.1884 17.6133H28.7109C28.0313 17.6133 27.4805 17.0624 27.4805 16.3828V9H5.16797C4.48834 9 3.9375 9.55084 3.9375 10.2305V12.9375H2.46094C1.78131 12.9375 1.23047 13.4883 1.23047 14.168C1.23047 14.8476 1.78131 15.3984 2.46094 15.3984H8.6607ZM35.5971 27.5436C36.478 28.4244 36.478 29.8532 35.5971 30.7341C34.1801 32.1511 31.7461 31.143 31.7461 29.1387C31.7461 27.1346 34.1801 26.1266 35.5971 27.5436ZM13.8588 27.5436C14.7397 28.4244 14.7397 29.8532 13.8588 30.7341C12.4418 32.1511 10.0078 31.143 10.0078 29.1387C10.0078 27.1346 12.4418 26.1266 13.8588 27.5436Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,11 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2019_1481)">
<path d="M38.8039 7.4743H36.7467V2.37257C36.7467 1.72501 36.2217 1.20001 35.5742 1.20001H34.6135V2.60318C34.6135 3.23456 34.1282 3.77785 33.4976 3.80755C32.8242 3.83929 32.2683 3.30272 32.2683 2.63632V1.20001H30.1351V7.47438H27.8352V1.20001H25.7091V2.63632C25.7091 3.28389 25.1841 3.80888 24.5365 3.80888C23.889 3.80888 23.364 3.28389 23.364 2.63632V1.20001H21.2236V7.47438H18.8785V1.20001H16.7381V2.63632C16.7381 3.28389 16.2131 3.80888 15.5655 3.80888C14.918 3.80888 14.393 3.28389 14.393 2.63632V1.20001H12.2192V7.47438H9.88878V1.20001H7.73182V2.60318C7.73182 3.23456 7.24661 3.77785 6.61593 3.80755C5.94257 3.83929 5.3867 3.30272 5.3867 2.63632V1.20001H4.40221C3.75465 1.20001 3.22965 1.72501 3.22965 2.37257V7.47438H1.17244C0.524872 7.47438 -0.00012207 7.99937 -0.00012207 8.64694V10.9921C-0.00012207 11.6396 0.524872 12.1646 1.17244 12.1646H38.8039C39.4515 12.1646 39.9765 11.6396 39.9765 10.9921V8.64694C39.9765 7.9993 39.4516 7.4743 38.8039 7.4743ZM33.0328 22.5209C35.5825 22.5209 37.8957 23.5512 39.579 25.2168C39.8223 25.002 39.9765 24.6887 39.9765 24.3385V21.9934C39.9765 21.3458 39.4515 20.8208 38.8039 20.8208H36.7467V15.7398C36.7467 15.0922 36.2217 14.5672 35.5742 14.5672H34.6135V15.9704C34.6135 16.6017 34.1282 17.145 33.4976 17.1747C32.8242 17.2065 32.2683 16.6699 32.2683 16.0035V14.5672H30.1351V20.8208H27.8352V14.5672H25.7091V16.0035C25.7091 16.6511 25.1841 17.1761 24.5365 17.1761C23.889 17.1761 23.364 16.6511 23.364 16.0035V14.5672H21.2236V20.8208H18.8785V14.5672H16.7381V16.0035C16.7381 16.6511 16.2131 17.1761 15.5655 17.1761C14.918 17.1761 14.393 16.6511 14.393 16.0035V14.5672H12.2192V20.8208H9.88878V14.5672H7.73182V15.9704C7.73182 16.6017 7.24661 17.145 6.61593 17.1747C5.94257 17.2065 5.3867 16.6699 5.3867 16.0035V14.5672H4.40221C3.75465 14.5672 3.22965 15.0922 3.22965 15.7398V20.8208H1.17244C0.524872 20.8208 -0.00012207 21.3458 -0.00012207 21.9934V24.3385C-0.00012207 24.9861 0.524872 25.5111 1.17244 25.5111H26.2022C27.9044 23.6734 30.3363 22.5209 33.0328 22.5209ZM23.7207 31.8331C23.7207 31.3165 23.7637 30.8099 23.8449 30.3161C23.5538 30.1027 23.364 29.7593 23.364 29.3708V27.9345H21.2236V34.1099H18.8785V27.9345H16.7381V29.3708C16.7381 30.0183 16.2131 30.5433 15.5655 30.5433C14.918 30.5433 14.393 30.0183 14.393 29.3708V27.9345H12.2192V34.1099H9.88878V27.9345H7.73182V29.3376C7.73182 29.969 7.24661 30.5123 6.61593 30.542C5.94257 30.5737 5.3867 30.0372 5.3867 29.3708V27.9345H4.40221C3.75465 27.9345 3.22965 28.4594 3.22965 29.107V34.1099H1.17244C0.524872 34.1099 -0.00012207 34.6349 -0.00012207 35.2825V37.6276C-0.00012207 38.2752 0.524872 38.8002 1.17244 38.8002H26.8614C24.9363 37.0928 23.7207 34.6024 23.7207 31.8331Z" fill="white"/>
<path d="M33.0327 24.866C29.191 24.866 26.0656 27.9914 26.0656 31.8331C26.0656 35.6747 29.191 38.8001 33.0327 38.8001C36.8743 38.8001 39.9997 35.6747 39.9997 31.8331C39.9997 27.9914 36.8743 24.866 33.0327 24.866ZM36.3039 29.8145L33.2962 35.0241C33.1933 35.2024 33.0452 35.3504 32.867 35.4534C32.6888 35.5563 32.4866 35.6105 32.2807 35.6105C32.0749 35.6105 31.8727 35.5563 31.6945 35.4534C31.5162 35.3504 31.3682 35.2024 31.2653 35.0241L29.7614 32.4193C29.4376 31.8585 29.6297 31.1413 30.1905 30.8176C30.7514 30.4937 31.4685 30.686 31.7922 31.2468L32.2807 32.0927L34.2731 28.6419C34.5968 28.0811 35.3139 27.8887 35.8748 28.2127C36.4356 28.5365 36.6277 29.2536 36.3039 29.8145Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_2019_1481">
<rect width="40" height="40" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

@ -0,0 +1,11 @@
<svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2035_1668)">
<path d="M0.935471 0.935471C1.5161 0.354843 2.45748 0.354843 3.03811 0.935471L24.0645 21.9619C24.6451 22.5425 24.6451 23.4839 24.0645 24.0645C23.4839 24.6451 22.5425 24.6451 21.9619 24.0645L0.935471 3.03811C0.354843 2.45748 0.354843 1.5161 0.935471 0.935471Z" fill="white"/>
<path d="M24.0645 0.935609C24.6452 1.51624 24.6452 2.45762 24.0645 3.03825L3.03813 24.0646C2.45751 24.6453 1.51612 24.6453 0.935494 24.0646C0.354866 23.484 0.354867 22.5426 0.935494 21.962L21.9619 0.935609C22.5425 0.354982 23.4839 0.354981 24.0645 0.935609Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_2035_1668">
<rect width="24" height="24.0001" fill="white" transform="translate(0.5 0.5)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 834 B

@ -0,0 +1,18 @@
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2019_1413)">
<circle cx="12.5" cy="12.5" r="7.5" fill="#1C1B1B"/>
<path d="M12 0.5C5.36761 0.5 0 5.867 0 12.5C0 19.1323 5.367 24.5 12 24.5C18.6324 24.5 24 19.133 24 12.5C24 5.8677 18.633 0.5 12 0.5ZM13.2323 17.2635C13.2323 17.6426 12.6795 18.0216 12.0002 18.0216C11.2894 18.0216 10.784 17.6426 10.784 17.2635V11.2453C10.784 10.8031 11.2895 10.5029 12.0002 10.5029C12.6795 10.5029 13.2323 10.8031 13.2323 11.2453V17.2635ZM12.0003 9.04981C11.2737 9.04981 10.7051 8.51277 10.7051 7.91248C10.7051 7.31225 11.2737 6.791 12.0003 6.791C12.7111 6.791 13.2798 7.31225 13.2798 7.91248C13.2798 8.51277 12.711 9.04981 12.0003 9.04981Z" fill="black"/>
<path d="M12 0.5C5.36761 0.5 0 5.867 0 12.5C0 19.1323 5.367 24.5 12 24.5C18.6324 24.5 24 19.133 24 12.5C24 5.8677 18.633 0.5 12 0.5ZM13.2323 17.2635C13.2323 17.6426 12.6795 18.0216 12.0002 18.0216C11.2894 18.0216 10.784 17.6426 10.784 17.2635V11.2453C10.784 10.8031 11.2895 10.5029 12.0002 10.5029C12.6795 10.5029 13.2323 10.8031 13.2323 11.2453V17.2635ZM12.0003 9.04981C11.2737 9.04981 10.7051 8.51277 10.7051 7.91248C10.7051 7.31225 11.2737 6.791 12.0003 6.791C12.7111 6.791 13.2798 7.31225 13.2798 7.91248C13.2798 8.51277 12.711 9.04981 12.0003 9.04981Z" fill="#FFCC00"/>
<path d="M12 0.5C5.36761 0.5 0 5.867 0 12.5C0 19.1323 5.367 24.5 12 24.5C18.6324 24.5 24 19.133 24 12.5C24 5.8677 18.633 0.5 12 0.5ZM13.2323 17.2635C13.2323 17.6426 12.6795 18.0216 12.0002 18.0216C11.2894 18.0216 10.784 17.6426 10.784 17.2635V11.2453C10.784 10.8031 11.2895 10.5029 12.0002 10.5029C12.6795 10.5029 13.2323 10.8031 13.2323 11.2453V17.2635ZM12.0003 9.04981C11.2737 9.04981 10.7051 8.51277 10.7051 7.91248C10.7051 7.31225 11.2737 6.791 12.0003 6.791C12.7111 6.791 13.2798 7.31225 13.2798 7.91248C13.2798 8.51277 12.711 9.04981 12.0003 9.04981Z" fill="url(#paint0_linear_2019_1413)"/>
</g>
<defs>
<linearGradient id="paint0_linear_2019_1413" x1="5.08642" y1="-0.262542" x2="25.6213" y2="0.490587" gradientUnits="userSpaceOnUse">
<stop stop-color="white" stop-opacity="0"/>
<stop offset="0.415" stop-color="white" stop-opacity="0.32"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<clipPath id="clip0_2019_1413">
<rect width="24" height="24" fill="white" transform="translate(0 0.5)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1,11 @@
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_2019_1421)">
<path d="M22.4042 12.8108C22.3565 12.7142 22.3317 12.6078 22.3317 12.5C22.3317 12.3922 22.3565 12.2858 22.4042 12.1892L23.2993 10.358C23.7977 9.33842 23.4028 8.12319 22.4003 7.5913L20.5999 6.636C20.5045 6.58577 20.4219 6.5143 20.3586 6.4271C20.2952 6.3399 20.2527 6.2393 20.2344 6.13308L19.8823 4.12548C19.6862 3.0077 18.6523 2.25658 17.5288 2.41554L15.5107 2.701C15.404 2.71643 15.2952 2.70712 15.1927 2.6738C15.0902 2.64049 14.9967 2.58406 14.9195 2.50886L13.4546 1.09175C12.6389 0.302658 11.3611 0.302611 10.5455 1.09175L9.08059 2.509C9.00335 2.58418 8.90986 2.6406 8.80735 2.67391C8.70484 2.70723 8.59604 2.71654 8.48936 2.70114L6.47126 2.41568C5.34744 2.25663 4.31385 3.00785 4.11778 4.12562L3.76565 6.13312C3.74735 6.23935 3.70489 6.33995 3.64153 6.42716C3.57818 6.51437 3.49563 6.58585 3.40027 6.63609L1.59981 7.5914C0.597345 8.12324 0.202473 9.33856 0.700845 10.3581L1.59592 12.1892C1.64356 12.2859 1.66834 12.3923 1.66834 12.5001C1.66834 12.6079 1.64356 12.7142 1.59592 12.8109L0.700798 14.6421C0.202426 15.6616 0.597298 16.8769 1.59976 17.4087L3.40022 18.3641C3.4956 18.4143 3.57815 18.4857 3.64152 18.5729C3.70488 18.6601 3.74735 18.7607 3.76565 18.867L4.11778 20.8746C4.29628 21.8921 5.1688 22.6057 6.17159 22.6057C6.27036 22.6057 6.37058 22.5987 6.47131 22.5845L8.48941 22.299C8.59609 22.2836 8.7049 22.2929 8.80741 22.3262C8.90993 22.3595 9.00341 22.4159 9.08064 22.4911L10.5455 23.9083C10.9534 24.3028 11.4766 24.5001 12 24.5001C12.5233 24.5 13.0469 24.3028 13.4546 23.9083L14.9195 22.4911C15.0776 22.3383 15.293 22.2684 15.5107 22.299L17.5288 22.5845C18.6528 22.7435 19.6862 21.9923 19.8823 20.8745L20.2345 18.867C20.2528 18.7608 20.2952 18.6602 20.3586 18.573C20.422 18.4858 20.5045 18.4143 20.5999 18.3641L22.4003 17.4087C23.4028 16.8769 23.7977 15.6616 23.2993 14.642L22.4042 12.8108ZM9.23158 6.27103C10.6309 6.27103 11.7693 7.40948 11.7693 8.80878C11.7693 10.2081 10.6309 11.3465 9.23158 11.3465C7.83227 11.3465 6.69383 10.2081 6.69383 8.80878C6.69383 7.40948 7.83227 6.27103 9.23158 6.27103ZM7.92171 17.5571C7.78657 17.6922 7.60943 17.7598 7.43234 17.7598C7.25524 17.7598 7.07806 17.6922 6.94296 17.5571C6.67268 17.2868 6.67268 16.8485 6.94296 16.5783L16.0783 7.4429C16.3486 7.17262 16.7868 7.17262 17.0571 7.4429C17.3274 7.71318 17.3274 8.15141 17.0571 8.42169L7.92171 17.5571ZM14.7684 18.729C13.3691 18.729 12.2307 17.5906 12.2307 16.1913C12.2307 14.792 13.3691 13.6535 14.7684 13.6535C16.1677 13.6535 17.3062 14.792 17.3062 16.1913C17.3062 17.5906 16.1677 18.729 14.7684 18.729Z" fill="white"/>
<path d="M14.7687 15.0378C14.1327 15.0378 13.6152 15.5552 13.6152 16.1913C13.6152 16.8273 14.1326 17.3448 14.7687 17.3448C15.4047 17.3448 15.9222 16.8273 15.9222 16.1913C15.9222 15.5552 15.4047 15.0378 14.7687 15.0378ZM9.23186 7.65524C8.59582 7.65524 8.07837 8.17269 8.07837 8.80873C8.07837 9.44478 8.59582 9.96227 9.23186 9.96227C9.86791 9.96227 10.3854 9.44482 10.3854 8.80873C10.3854 8.17274 9.86791 7.65524 9.23186 7.65524Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_2019_1421">
<rect width="24" height="24" fill="white" transform="translate(0 0.5)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.6521 13.769C9.85806 14.9327 8.14194 14.9327 7.34793 13.769L2.13379 6.12724C1.22796 4.79968 2.1787 3 3.78586 3L14.2141 3C15.8213 3 16.772 4.79968 15.8662 6.12724L10.6521 13.769Z" fill="#D8D8D8"/>
</svg>

After

Width:  |  Height:  |  Size: 311 B

@ -0,0 +1,3 @@
<svg width="27" height="28" viewBox="0 0 27 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M24.728 19.28C24.6624 19.228 19.9 15.7952 18.5928 16.0416C17.9688 16.152 17.612 16.5776 16.896 17.4296C16.7808 17.5672 16.504 17.8968 16.2888 18.1312C15.8363 17.9836 15.3949 17.804 14.968 17.5936C12.7644 16.5208 10.984 14.7404 9.9112 12.5368C9.70069 12.1099 9.52103 11.6685 9.3736 11.216C9.6088 11 9.9384 10.7232 10.0792 10.6048C10.9272 9.8928 11.3536 9.536 11.464 8.9104C11.6904 7.6144 8.26 2.8192 8.224 2.776C8.06836 2.55366 7.86524 2.36869 7.62934 2.23448C7.39344 2.10027 7.13065 2.02018 6.86 2C5.4696 2 1.5 7.1496 1.5 8.0168C1.5 8.0672 1.5728 13.1904 7.8904 19.6168C14.3104 25.9272 19.4328 26 19.4832 26C20.3512 26 25.5 22.0304 25.5 20.64C25.48 20.3703 25.4004 20.1084 25.2669 19.8732C25.1334 19.638 24.9493 19.4354 24.728 19.28Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.7769 4.43003C20.024 4.32602 20.2945 4.29015 20.5602 4.32614C20.8258 4.36214 21.077 4.46869 21.2876 4.63471C21.4981 4.80073 21.6603 5.02014 21.7572 5.27011C21.8542 5.52008 21.8824 5.79147 21.8389 6.05603L19.5709 19.813C19.3509 21.14 17.8949 21.901 16.6779 21.24C15.6599 20.687 14.1479 19.835 12.7879 18.946C12.1079 18.501 10.0249 17.076 10.2809 16.062C10.5009 15.195 14.0009 11.937 16.0009 10C16.7859 9.23903 16.4279 8.80003 15.5009 9.50003C13.1989 11.238 9.50287 13.881 8.28087 14.625C7.20287 15.281 6.64087 15.393 5.96887 15.281C4.74287 15.077 3.60587 14.761 2.67787 14.376C1.42387 13.856 1.48487 12.132 2.67687 11.63L19.7769 4.43003Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 808 B

@ -0,0 +1,3 @@
<svg width="27" height="28" viewBox="0 0 27 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.2495 5.48377C22.5275 5.36676 22.8318 5.32641 23.1307 5.3669C23.4296 5.4074 23.7121 5.52727 23.949 5.71404C24.1858 5.90081 24.3683 6.14765 24.4774 6.42886C24.5865 6.71008 24.6182 7.01539 24.5692 7.31302L22.0177 22.7896C21.7702 24.2825 20.1322 25.1386 18.7631 24.395C17.6178 23.7729 15.9168 22.8144 14.3868 21.8143C13.6218 21.3136 11.2785 19.7105 11.5665 18.5698C11.814 17.5944 15.7515 13.9291 18.0015 11.75C18.8846 10.8939 18.4818 10.4 17.439 11.1875C14.8492 13.1428 10.6912 16.1161 9.31647 16.9531C8.10372 17.6911 7.47147 17.8171 6.71547 17.6911C5.33622 17.4616 4.05709 17.1061 3.01309 16.673C1.60234 16.088 1.67097 14.1485 3.01197 13.5838L22.2495 5.48377Z" fill="#1C1B1B"/>
</svg>

After

Width:  |  Height:  |  Size: 831 B

@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2C17.523 2 22 6.477 22 12C22 17.523 17.523 22 12 22C10.2328 22.003 8.49659 21.5353 6.97001 20.645L2.00402 22L3.35601 17.032C2.46497 15.5049 1.99692 13.768 2.00002 12C2.00002 6.477 6.47701 2 12 2ZM8.59201 7.3L8.39201 7.308C8.2627 7.31691 8.13636 7.35087 8.02001 7.408C7.91159 7.46951 7.81257 7.54629 7.72601 7.636C7.60601 7.749 7.53801 7.847 7.46501 7.942C7.09513 8.4229 6.89598 9.01331 6.89901 9.61999C6.90101 10.11 7.02901 10.587 7.22901 11.033C7.63801 11.935 8.31101 12.89 9.19901 13.775C9.41301 13.988 9.62301 14.202 9.84901 14.401C10.9524 15.3724 12.2673 16.073 13.689 16.447L14.257 16.534C14.442 16.544 14.627 16.53 14.813 16.521C15.1042 16.5056 15.3885 16.4268 15.646 16.29C15.7769 16.2223 15.9046 16.1489 16.029 16.07C16.029 16.07 16.0713 16.0413 16.154 15.98C16.289 15.88 16.372 15.809 16.484 15.692C16.568 15.6053 16.638 15.5047 16.694 15.39C16.772 15.227 16.85 14.916 16.882 14.657C16.906 14.459 16.899 14.351 16.896 14.284C16.892 14.177 16.803 14.066 16.706 14.019L16.124 13.758C16.124 13.758 15.254 13.379 14.722 13.137C14.6663 13.1127 14.6067 13.0989 14.546 13.096C14.4776 13.0888 14.4084 13.0965 14.3432 13.1184C14.278 13.1403 14.2182 13.176 14.168 13.223C14.163 13.221 14.096 13.278 13.373 14.154C13.3315 14.2098 13.2743 14.2519 13.2088 14.275C13.1433 14.2982 13.0723 14.3013 13.005 14.284C12.9398 14.2666 12.876 14.2446 12.814 14.218C12.69 14.166 12.647 14.146 12.562 14.11C11.9879 13.8599 11.4564 13.5215 10.987 13.107C10.861 12.997 10.744 12.877 10.624 12.761C10.2306 12.3842 9.88776 11.958 9.60401 11.493L9.54501 11.398C9.50327 11.3338 9.46905 11.265 9.44301 11.193C9.40501 11.046 9.50401 10.928 9.50401 10.928C9.50401 10.928 9.74701 10.662 9.86001 10.518C9.97001 10.378 10.063 10.242 10.123 10.145C10.241 9.95499 10.278 9.75999 10.216 9.60899C9.93601 8.92499 9.64668 8.24466 9.34801 7.568C9.28901 7.434 9.11401 7.338 8.95501 7.319C8.90101 7.31233 8.84701 7.307 8.79301 7.303C8.65874 7.29529 8.5241 7.29663 8.39001 7.307L8.59201 7.3Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,3 @@
<svg width="27" height="28" viewBox="0 0 27 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 2.5C19.8515 2.5 25 7.64855 25 14C25 20.3514 19.8515 25.5 13.5 25.5C11.4677 25.5035 9.47108 24.9656 7.71551 23.9417L2.00462 25.5L3.55942 19.7868C2.53472 18.0307 1.99646 16.0332 2.00002 14C2.00002 7.64855 7.14857 2.5 13.5 2.5ZM9.58081 8.595L9.35081 8.6042C9.20211 8.61444 9.05681 8.6535 8.92301 8.7192C8.79832 8.78993 8.68446 8.87824 8.58491 8.9814C8.44691 9.11135 8.36871 9.22404 8.28476 9.33329C7.8594 9.88633 7.63038 10.5653 7.63386 11.263C7.63616 11.8265 7.78336 12.375 8.01336 12.8879C8.48371 13.9252 9.25766 15.0235 10.2789 16.0412C10.525 16.2862 10.7665 16.5323 11.0264 16.7611C12.2953 17.8783 13.8074 18.6839 15.4424 19.114L16.0956 19.2141C16.3083 19.2256 16.5211 19.2095 16.735 19.1991C17.0698 19.1815 17.3968 19.0908 17.6929 18.9335C17.8434 18.8557 17.9903 18.7713 18.1334 18.6805C18.1334 18.6805 18.182 18.6475 18.2771 18.577C18.4324 18.462 18.5278 18.3803 18.6566 18.2458C18.7532 18.1461 18.8337 18.0304 18.8981 17.8985C18.9878 17.711 19.0775 17.3534 19.1143 17.0555C19.1419 16.8278 19.1339 16.7036 19.1304 16.6266C19.1258 16.5035 19.0235 16.3759 18.9119 16.3218L18.2426 16.0217C18.2426 16.0217 17.2421 15.5858 16.6303 15.3075C16.5663 15.2797 16.4977 15.2637 16.4279 15.2604C16.3492 15.2522 16.2697 15.2609 16.1947 15.2861C16.1197 15.3113 16.051 15.3524 15.9932 15.4064C15.9875 15.4041 15.9104 15.4697 15.079 16.4771C15.0312 16.5412 14.9655 16.5897 14.8901 16.6163C14.8148 16.6429 14.7332 16.6465 14.6558 16.6266C14.5808 16.6066 14.5074 16.5812 14.4361 16.5507C14.2935 16.4909 14.2441 16.4679 14.1463 16.4265C13.4861 16.1389 12.8749 15.7497 12.3351 15.273C12.1902 15.1465 12.0556 15.0085 11.9176 14.8751C11.4652 14.4418 11.0709 13.9517 10.7446 13.4169L10.6768 13.3077C10.6288 13.2339 10.5894 13.1548 10.5595 13.0719C10.5158 12.9029 10.6296 12.7672 10.6296 12.7672C10.6296 12.7672 10.9091 12.4613 11.039 12.2957C11.1655 12.1347 11.2725 11.9783 11.3415 11.8667C11.4772 11.6482 11.5197 11.424 11.4484 11.2503C11.1264 10.4637 10.7937 9.68136 10.4502 8.9032C10.3824 8.7491 10.1811 8.6387 9.99826 8.61685C9.93616 8.60918 9.87406 8.60305 9.81196 8.59845C9.65755 8.58959 9.50272 8.59113 9.34851 8.60305L9.58081 8.595Z" fill="#1C1B1B"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,38 @@
window.addEventListener('load', function () {
const preloader = document.querySelector('#preloader')
preloader.classList.add('hidden')
setTimeout(function () {
preloader.remove()
}, 500)
})
document.addEventListener('DOMContentLoaded', function () {
let modalBg = document.querySelector('#modal__bg')
if (modalBg) {
let modalBtnAll = document.querySelectorAll('.modal__btn')
let modalBtnCloseAll = document.querySelectorAll('.modal__close')
for (const modalBtnItem of modalBtnAll) {
modalBtnItem.addEventListener('click', function (e) {
e.preventDefault()
let modalBtnData = this.dataset.modal
let modalSection = document.querySelector(
'section.modal[data-id=' + modalBtnData + ']'
)
modalBg.classList.add('opened')
modalSection.classList.add('opened')
})
}
modalBg.addEventListener('click', function () {
modalBg.classList.remove('opened')
document.querySelector('section.modal.opened').classList.remove('opened')
})
for (const modalBtnCloseItem of modalBtnCloseAll) {
modalBtnCloseItem.addEventListener('click', function () {
modalBg.classList.remove('opened')
document
.querySelector('section.modal.opened')
.classList.remove('opened')
})
}
}
})

@ -1,69 +1,207 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SEO title</title>
<meta name="description" content="SEO Description">
<link rel="shortcut icon" href="/assets/img/favicon.ico?v=1.0">
<!-- Базовые стили -->
<link rel="stylesheet" href="/assets/css/gp-style-core.css?v=1.0">
<link rel="stylesheet" href="/assets/css/gp-style-desktop.css?v=1.0">
<!-- Адаптив -->
<link rel="stylesheet" media="screen and (min-width: 1400px)" href="/assets/css/gp-style-ultra.css?v=1.0">
<link rel="stylesheet" media="screen and (max-width: 992px)" href="/assets/css/gp-style-tablet.css?v=1.0">
<link rel="stylesheet" media="screen and (max-width: 576px)" href="/assets/css/gp-style-mobile.css?v=1.0">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Газобетонные блоки напрямую от производителя в Томске | Вектор</title>
<meta name="description" content="SEO Description">
<link rel="shortcut icon" href="assets/img/favicon.ico?v=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<!-- Яндекс.Вебмастер + Google Search Console -->
<meta name="yandex-verification" content="XXXXXXXXXXXXXXXXX" />
<meta name="google-site-verification" content="XXXXXXXXXXXXXXXXX" />
<!-- /Яндекс.Вебмастер + Google Search Console -->
<link rel="stylesheet" href="assets/css/gp-style-core.css?v=1.0">
<link rel="stylesheet" href="assets/css/gp-style-desktop.css?v=1.0">
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (m, e, t, r, i, k, a) {
m[i] = m[i] || function () { (m[i].a = m[i].a || []).push(arguments) };
m[i].l = 1 * new Date();
for (var j = 0; j < document.scripts.length; j++) { if (document.scripts[j].src === r) { return; } }
k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
<link rel="stylesheet" media="screen and (max-width: 992px)" href="assets/css/gp-style-tablet.css?v=1.0">
<link rel="stylesheet" media="screen and (max-width: 576px)" href="assets/css/gp-style-mobile.css?v=1.0">
</head>
ym(XXXXXX, "init", { // XXXXXX - счетчик
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true,
ecommerce: "dataLayer"
});
</script>
<noscript>
<div><img src="https://mc.yandex.ru/watch/85828806" style="position:absolute; left:-9999px;" alt="" /></div>
</noscript>
<!-- /Yandex.Metrika counter -->
</head>
<body>
<!-- Пример формы для отправки в Телеграмм (обработчик send-telegram.php) -->
<form class="form" method="post" action="/send-telegram.php">
<div class="form__item">
<input class="form__input" type="text" name="name" required>
<label class="form__label">Ваше имя</label>
<body>
<div id="preloader" class="preloader">
<div class="preloader__icon">
</div>
</div>
<header class="header">
<div class="header__container container flex flex-ac flex-jcsb">
<div class="header__logo flex flex-ac gap-24">
<img src="assets/img/logo.webp" width="84" height="64" alt="Официальный представитель завода СИБИТ в Томске">
<p>Официальный представитель завода СИБИТ в&nbsp;Томске</p>
</div>
<div class="header__contacts flex flex-ac gap-42">
<div class="header__socials flex flex-ac gap-10">
<a href="https://t.me/+79234352557" target="_blank" class="header__socials-link">
<img src="assets/img/tg.svg" width="27" height="27" alt="Мы в Telegram" title="Мы в Telegram">
</a>
<a href="https://wa.me/+79234352557" target="_blank" class="header__socials-link">
<img src="assets/img/wh.svg" width="27" height="27" alt="Мы в Whatsapp" title="Мы в Whatsapp">
</a>
</div>
<a href="tel:+79234352557" class="header__tel" title="Позвоните нам">+7 (923) 435 25 57</a>
<button class="btn btn-small modal__btn" data-modal="request">
<p>Обратный звонок</p>
</button>
</div>
</div>
</header>
<main>
<section class="section hero">
<div class="section__container container">
<div class="hero__content">
<div class="hero__leftside">
<div class="hero__title">
<h1><b>Газобетонные блоки</b>&nbsp;напрямую от&nbsp;производителя в&nbsp;Томске.</h1>
</div>
<div class="hero__desc">
<p><b>Любой объем</b>, доставка от 1 дня</p>
</div>
<div class="hero__price">
<div class="hero__price-header">
<span>Акция месяца</span>
<p><b>Только до 30.09</b> розница по оптовым ценам</p>
</div>
<div class="hero__price-content">
<div class="hero__price-stock">
<span>от 5999 руб/м3</span>
<p>от 4999 руб/м3</p>
</div>
<div class="hero__price-unit">
<p>за 1 поддон</p>
</div>
</div>
</div>
</div>
<div class="hero__rightside">
<div class="hero__form">
<div class="hero__form-title">
<p><b>Оставьте заявку</b>, чтобы рассчитать и&nbsp;зафиксировать стоимость</p>
</div>
<div class="hero__form-action">
<form class="generalform" id="generalform" action="">
<select name="types" id="types" required>
<option value disabled selected>Выберите тип блока</option>
<option value="Стеновые блоки">Стеновые блоки</option>
<option value="Перемычки">Перемычки</option>
<option value="Плиты">Плиты</option>
</select>
<select name="quantity" id="quantity" required>
<option value disabled selected>Укажите количество</option>
<option value="1-5 м3">1-5 м3</option>
<option value="5-10 м3">5-10 м3</option>
<option value="10-50 м3">10-50 м3</option>
<option value="50-100 м3">50-100 м3</option>
<option value="Более 100 м3">Более 100 м3</option>
</select>
<input type="tel" id="tel" name="tel" value="" placeholder="+7 (____) ___-__-__" required>
<button class="btn btn-big">Забронировать стоимость</button>
</form>
</div>
<div class="hero__form-gift">
<p>При заказе до 08.09</p>
<ul>
<li>пенополистирол в подарок</li>
</ul>
</div>
</div>
<div class="form__item">
<input class="form__input" type="text" name="phone" required>
<label class="form__label">Номер телефона</label>
</div>
</div>
<div class="hero__advantages">
<div class="hero__advantages-item">
<div class="hero__advantages-icon">
<img src="assets/img/advantages_icon1.svg" width="40" height="40" alt="Гарантия 50 лет">
</div>
<input class="form__input btn" type="submit" value="Отправить">
<p>Гарантия 50 лет</p>
</div>
<div class="hero__advantages-item">
<div class="hero__advantages-icon">
<img src="assets/img/advantages_icon2.svg" width="40" height="40" alt="Выгрузка кран/манипулятор">
</div>
<p>Выгрузка с помощью</br>крана/манипулятора</p>
</div>
<div class="hero__advantages-item">
<div class="hero__advantages-icon">
<img src="assets/img/advantages_icon3.svg" width="40" height="40"
alt="Доставка от 1го дня по Томску и области до вашего объекта">
</div>
<p>Доставка от 1го дня по Томску и&nbsp;области до вашего объекта</p>
</div>
<div class="hero__advantages-item">
<div class="hero__advantages-icon">
<img src="assets/img/advantages_icon4.svg" width="38" height="38"
alt="Большой ассортимент всегда в наличии">
</div>
<p>Большой ассортимент всегда&nbsp;в&nbsp;наличии</p>
</div>
</div>
</div>
</section>
</main>
<footer class="footer">
<div class="footer__container container">
<div class="footer__top">
<div class="footer__logo flex flex-ac gap-24">
<img src="assets/img/footer-logo.webp" width="84" height="64"
alt="Официальный представитель завода СИБИТ в Томске">
<p>ООО "Вектор"<br />Официальный дистрибьютор бренда Сибит в Томске и области</p>
</div>
<div class="footer__address">
<p>г. Томск ул. Карла Маркса 63</p>
</div>
<div class="footer__contacts">
<a href="tel:+79234352557" class="footer__tel" title="Позвоните нам">+7 (923) 435 25 57</a>
<div class="footer__socials flex flex-ac gap-10">
<a href="https://t.me/+79234352557" target="_blank" class="footer__socials-link">
<img src="assets/img/tg-white.svg" width="27" height="27" alt="Мы в Telegram" title="Мы в Telegram">
</a>
<a href="https://wa.me/+79234352557" target="_blank" class="footer__socials-link">
<img src="assets/img/wh-white.svg" width="27" height="27" alt="Мы в Whatsapp" title="Мы в Whatsapp">
</a>
</div>
</div>
</div>
<div class="footer__bottom">
<p>© VEKTOR.RU Все права защищены</p>
<a href="#" target="_blank">Политика конфиденциальности</a>
<a href="#" class="modal__btn" data-modal="bank">Реквизиты компании</a>
</div>
</div>
</footer>
<section class="modal" data-id="request">
<div class="modal__close"></div>
<div class="modal__content">
<div class="modal__title">
<p><b>Оставьте заявку</b>, и мы перезвоним в&nbsp;течение 5ти минут</p>
</div>
<div class="modal__form" id="modalform">
<form action="" id="request">
<input type="text" id="request_name" name="request_name" value="" placeholder="Введите имя" required="">
<input type="tel" id="request_tel" name="request_tel" value="" placeholder="+7 (____) ___-__-__" required="">
<button class="btn btn-big">Оставить заявку</button>
</form>
</div>
</div>
</section>
<section class="modal" data-id="success">
<div class="modal__close"></div>
<div class="modal__content">
<div class="modal__title">
<p><b>Спасибо за обращение!</p>
</div>
<p style="text-align:center;">Наш специалист свяжется с вами в ближайшее рабочее время</p>
</div>
</section>
<section class="modal" data-id="bank">
<div class="modal__close"></div>
<div class="modal__content">
<span>Реквизиты компании:</span>
<p>ИП Созыкина Лариса Александровна</p>
<p>701404455332</p>
<p>г. Томск ул. Карла Маркса 63</p>
</div>
</section>
<div id="modal__bg"></div>
</body>
<script defer src="assets/js/script.js"></script>
<script defer src="send/ajax.js"></script>
<script src="/assets/js/gp-main.js"></script>
</body>
</html>

@ -1,38 +0,0 @@
<?php
/* Пример из: https://vc.ru/dev/158136-kak-otpravlyat-zayavki-s-lendinga-pryamo-v-telegram */
//В переменную $token нужно вставить токен, который нам прислал @botFather
$token = "1094153697:AAFiLXXXXXLl0hRDsxBij1lddKydKxSSsOg04";
//Сюда вставляем chat_id
$chat_id = "-40XXXX740";
//Определяем переменные для передачи данных из нашей формы
if ($_POST['phone'] !== '') {
$name = ($_POST['name']);
$phone = ($_POST['phone']);
//Собираем в массив то, что будет передаваться боту
$arr = array(
'Имя:' => $name,
'Телефон:' => $phone
);
//Настраиваем внешний вид сообщения в телеграме
foreach($arr as $key => $value) {
$txt .= "<b>".$key."</b> ".$value."%0A";
};
//Передаем данные боту
$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");
//Выводим сообщение об успешной отправке
if ($sendToTelegram) {
echo 'Спасибо! Ваша заявка принята. Мы свяжемся с вами в ближайшее время.';
}else{
echo 'Что-то пошло не так. Попробуйте отправить форму ещё раз.';
}
}
?>

@ -0,0 +1,29 @@
jQuery(document).ready(function () {
jQuery('form').submit(function () {
var formID = jQuery(this).attr('id')
var formNm = jQuery('#' + formID)
formNm.addClass('sending')
jQuery.ajax({
type: 'POST',
url: 'send/send.php',
data: formNm.serialize(),
dataType: 'json',
success: function (data, jqXHR) {
if (data.result == 'success') {
setTimeout(() => {
formNm.removeClass('sending')
jQuery('section.modal.opened').removeClass('opened')
jQuery('#modal__bg').addClass('opened')
jQuery('section.modal[data-id="success"]').addClass('opened')
}, 1000)
}
},
error: function (jqXHR, text, error) {
console.log('ошибка')
console.log(jqXHR)
console.log(error)
},
})
return false
})
})

@ -0,0 +1,40 @@
<?php
/**
* PHPMailer Exception class.
* PHP Version 5.5.
*
* @see https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project
*
* @author Marcus Bointon (Synchro/coolbru) <phpmailer@synchromedia.co.uk>
* @author Jim Jagielski (jimjag) <jimjag@gmail.com>
* @author Andy Prevost (codeworxtech) <codeworxtech@users.sourceforge.net>
* @author Brent R. Matzelle (original founder)
* @copyright 2012 - 2020 Marcus Bointon
* @copyright 2010 - 2012 Jim Jagielski
* @copyright 2004 - 2009 Andy Prevost
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
* @note This program is distributed in the hope that it will be useful - WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE.
*/
namespace PHPMailer\PHPMailer;
/**
* PHPMailer exception handler.
*
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
*/
class Exception extends \Exception
{
/**
* Prettify error message output.
*
* @return string
*/
public function errorMessage()
{
return '<strong>' . htmlspecialchars($this->getMessage(), ENT_COMPAT | ENT_HTML401) . "</strong><br />\n";
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,73 @@
<?php
// ini_set('display_errors', 1);
// error_reporting(E_ALL);
require 'phpmailer/PHPMailer.php';
require 'phpmailer/SMTP.php';
require 'phpmailer/Exception.php';
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->SMTPDebug = 0;
// $mail->isSMTP();
$mail->SMTPAuth = true;
$mail->CharSet = 'utf-8';
$mail->Host = 'mail.hosting.reg.ru';
$mail->Username = 'admin@dezhub.ru';
$mail->Password = 'vM7hA0vS0qmL1qQ4';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
// $mail->setFrom('noreply@vectortomsk.ru', 'Вектор');
$mail->setFrom('noreply@ledoffsky.agency', 'Вектор');
$mailAddress = 'kosbelan@yandex.ru';
$mail->addAddress($mailAddress);
$message = '';
foreach($_POST as $key => $value) {
preg_match("/name/", $key, $match);
if (strpos($key, 'name') !== false) {
$key = 'Имя:';
}
if (strpos($key, 'tel') !== false) {
$key = 'Номер телефона:';
}
if (strpos($key, 'types') !== false) {
$key = 'Тип блока:';
}
if (strpos($key, 'quantity') !== false) {
$key = 'Количество:';
}
if( empty($value) ) {
$key = '';
$value = '';
}
$message .= "<tr><td style='background:#f5f5f5;border-radius:10px;'><b>".$key."</b></td><td>".$value."</td></tr>";
};
$body = '
<table cellpadding="10" cellspacing="5" style="border:1px solid #ebebeb;border-radius:10px;">
<tbody>
'. $message .'
</tbody>
</table>
<p>Отправлено с сайта: <a href="https://vectortomsk.ru/">Вектор</a></p>
';
$mail->isHTML(true);
$mail->Subject = 'Заявка с сайта Вектор';
$mail->Body = $body;
if($mail->send()){
echo json_encode(array('result' => 'success'));
}
}
?>

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>UI kit</title>
<link rel="stylesheet" type="text/css" href="/assets/css/style-core.css">
</head>
<style>
/* Стили для выравнивания UI-элеметнов для данной страницы */
.ui__ui-wrapper{
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-column-gap: 30px;
grid-row-gap: 30px;
width: 100vw;
min-height: 100vh;
}
.ui,
.ui__item{
display: flex;
justify-content: center;
align-items: center;
}
/* ВСЕ ОСТАЛЬНЫЕ СТИЛИ ПИШЕМ В style-core.css!!! */
</style>
<body class="ui">
<div class="ui__ui-wrapper">
<div class="ui__item"></div>
<div class="ui__item"></div>
<div class="ui__item"></div>
<!-- ... -->
<div class="ui__item"></div>
</div>
</body>
</html>
Loading…
Cancel
Save