/
unXD
/
Laba_1
Обзор
Документация
Войти
/
unXD
/
Laba_1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CSS/style.css
2 122 строки
43 KB
unXD
#10 A11y
21 мар 2026, 07:02
21 мар 2026, 07:02
0485bdb
Код
Авторство
О чём код?
:root { --color-white: #ffffff; --color-black: #121212; --color-text: #555555; --color-text-dark: #3f3f3f; --color-light: #f5f5f5; --color-card: #ececec; --color-green: #87b94d; --color-green-dark: #5f9730; --color-green-bright: #008f16; --color-yellow: #d1c52d; --color-orange: #f1a64c; --color-purple: #8a4df4; --color-blue-light: #2f85df; --color-blue-dark: #10253a; --color-blue-overlay: rgba(12, 31, 49, 0.8); --color-form-bg: rgba(23, 50, 80, 0.72); --color-border: #d5d5d5; --color-border-soft: rgba(255, 255, 255, 0.18); --color-focus: #ffbf47; --shadow-soft: 0 1rem 2.4rem rgba(0, 0, 0, 0.08); --shadow-card: 0 1.4rem 3.2rem rgba(0, 0, 0, 0.1); } html { box-sizing: border-box; font-size: 62.5%; scroll-behavior: smooth; } *, *::before, *::after { box-sizing: inherit; } ::selection { color: var(--color-white); background-color: var(--color-purple); } body { min-width: 32rem; margin: 0; font-family: "Roboto", Arial, sans-serif; font-size: 1.6rem; line-height: 1.45; color: var(--color-text); background-color: var(--color-white); overflow-x: hidden; } img { display: block; max-width: 100%; height: auto; } a { color: inherit; text-decoration: none; } button, input, select, textarea { font: inherit; } ul, ol, p, h1, h2, h3, fieldset, legend { margin: 0; padding: 0; } .wrapper { max-width: 1170px; margin-left: auto; margin-right: auto; padding-left: 1.6rem; padding-right: 1.6rem; } .sr-only { position: absolute; width: 0.1rem; height: 0.1rem; margin: -0.1rem; border: 0; padding: 0; white-space: nowrap; clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden; } .skip-link { position: absolute; top: -5rem; left: 1.6rem; z-index: 100; padding: 1.2rem 1.6rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--color-blue-dark); background-color: var(--color-focus); border-radius: 0.8rem; } .skip-link:focus, .skip-link:focus-visible { top: 1.6rem; outline: 0.2rem solid var(--color-black); outline-offset: 0.2rem; } a, button, input, select, textarea, summary { transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, opacity 0.3s ease; } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 0.3rem solid var(--color-focus); outline-offset: 0.3rem; } /* ========================================= SHARED HEADER ========================================= */ .header { width: 100%; z-index: 30; } .header:not(.header--solid) { position: absolute; top: 0; left: 0; } .header--solid { position: static; background-color: var(--color-blue-dark); } .header__wrapper { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding-top: 1.6rem; padding-bottom: 1.6rem; } .header__brand { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; } .header__brand:hover { transform: scale(1.02); } .header__logo { width: 9.8rem; } .header__brand-text { display: none; font-family: "Montserrat", Arial, sans-serif; font-size: 1.15rem; line-height: 1.05; color: #8fd0ff; } .header__nav, .header__contacts { display: none; } .header__menu { display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; padding: 0; background: transparent; border: none; cursor: pointer; } .header__menu:hover { transform: scale(1.06) rotate(4deg); } .header__menu-icon { width: 100%; height: 100%; object-fit: contain; } .header__home-link { display: inline-flex; align-items: center; justify-content: center; } .header__home-link:hover { color: var(--color-yellow); transform: scale(1.12); } .header__home-icon { width: 1rem; height: 1rem; object-fit: contain; } .header__messengers { display: flex; align-items: center; gap: 0.8rem; } .header__messenger:hover { transform: scale(1.1) rotate(6deg); } .header__messenger-icon { width: 1.8rem; height: 1.8rem; object-fit: contain; } .header__phone-box { display: flex; flex-direction: column; align-items: flex-end; } .header__phone { font-family: "Montserrat", Arial, sans-serif; font-size: 1.8rem; font-weight: 700; line-height: 1.1; color: var(--color-white); white-space: nowrap; } .header__phone:hover { color: var(--color-yellow); } .header__phone-code { font-size: 1.3rem; font-weight: 400; color: rgba(255, 255, 255, 0.7); } .header__callback { margin-top: 0.2rem; font-size: 1.2rem; line-height: 1.2; color: #9ed8ff; } .header__callback:hover { color: var(--color-white); } .header__nav-link { font-family: "Montserrat", Arial, sans-serif; font-size: 1.3rem; font-weight: 700; line-height: 1.2; color: var(--color-white); text-transform: uppercase; white-space: nowrap; } .header__nav-link:hover { color: var(--color-yellow); transform: scale(1.04); } .header__nav-link--active { color: var(--color-yellow); } /* ========================================= SHARED FOOTER ========================================= */ .footer { color: rgba(255, 255, 255, 0.88); background: linear-gradient(rgba(7, 18, 31, 0.8), rgba(7, 18, 31, 0.8)), url("../images/bg_футер.png") center / cover no-repeat; } .footer__wrapper { display: grid; gap: 3rem; padding-top: 4rem; padding-bottom: 4rem; } .footer__brand { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.6rem; } .footer__brand:hover { transform: scale(1.02); } .footer__logo { width: 10rem; } .footer__brand-text { font-size: 1.2rem; line-height: 1.08; color: #8fd0ff; } .footer__description { max-width: 60rem; margin-bottom: 1.6rem; font-size: 1.6rem; line-height: 1.45; color: rgba(255, 255, 255, 0.86); } .footer__menu { display: flex; flex-wrap: wrap; gap: 1.6rem 2rem; margin-top: 2.6rem; } .footer__menu-link { display: inline-flex; align-items: center; gap: 0.6rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.4rem; font-weight: 700; color: var(--color-white); text-transform: uppercase; } .footer__menu-link:hover { color: var(--color-yellow); } .footer__menu-link--active { color: var(--color-yellow); } .footer__menu-home-icon { width: 1rem; height: 1rem; } .footer__project-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; } .footer__project-link { padding: 0.9rem 1.5rem; border: 0.1rem solid rgba(255, 255, 255, 0.28); border-radius: 999rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.3rem; color: var(--color-white); } .footer__project-link:hover { background-color: rgba(255, 255, 255, 0.14); transform: scale(1.05); } .footer__contacts-title { margin-bottom: 1.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 3rem; font-weight: 700; line-height: 1.1; color: rgba(255, 255, 255, 0.95); } .footer__contacts-list { list-style: none; display: grid; gap: 1.4rem; } .footer__contact { display: flex; align-items: flex-start; gap: 1rem; color: rgba(255, 255, 255, 0.96); } .footer__contact-icon { width: 1.8rem; flex-shrink: 0; margin-top: 0.2rem; } .footer__phone { font-family: "Montserrat", Arial, sans-serif; font-size: 2rem; font-weight: 700; color: var(--color-white); } .footer__phone:hover, .footer__mail:hover, .footer__bottom-link:hover { color: var(--color-yellow); } .footer__contact-note { margin-left: 0.4rem; color: rgba(255, 255, 255, 0.86); } .footer__mail, .footer__bottom-link { color: rgba(255, 255, 255, 0.96); } .footer__bottom { display: grid; gap: 1.4rem; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 0.1rem solid rgba(255, 255, 255, 0.18); font-size: 1.3rem; color: rgba(255, 255, 255, 0.88); } .footer__bottom-right { text-align: left; } /* ========================================= HOME PAGE ONLY ========================================= */ .home-page { padding-bottom: 8.8rem; } .home-page .section, .home-page .location-gallery { padding-top: 4rem; padding-bottom: 4rem; } .home-page .section--light { background-color: var(--color-light); } .home-page .section--center { text-align: center; } .home-page .section__title { margin-bottom: 1.4rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(3.2rem, 8vw, 5.8rem); font-weight: 700; line-height: 1.05; color: var(--color-black); } .home-page .section__title--left { text-align: left; } .home-page .section__title--brush { position: relative; display: inline-block; padding-top: 1.4rem; } .home-page .section__title--brush::before { content: ""; position: absolute; top: 0; left: 50%; width: 18rem; height: 2.6rem; background: url("../images/brush-stroke.svg") center / contain no-repeat; transform: translateX(-50%); z-index: -1; } .home-page .section__title-accent { background-image: linear-gradient(90deg, #5a8b25, #99b92f); -webkit-background-clip: text; background-clip: text; color: transparent; } .home-page .section__text::first-letter, .home-page .hero__description::first-letter, .form-page .form-intro__text::first-letter { font-size: 1.25em; font-weight: 700; color: var(--color-purple); } .home-page .section__lead { max-width: 78rem; margin-bottom: 1.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(2.2rem, 4.6vw, 2.6rem); font-weight: 700; line-height: 1.2; color: var(--color-black); } .home-page .section__text { max-width: 92rem; margin-bottom: 1.6rem; font-size: 1.7rem; line-height: 1.6; color: var(--color-text-dark); } .home-page .section__text--narrow { max-width: 76rem; margin-left: auto; margin-right: auto; } .home-page .section__text--left { margin-left: 0; margin-right: 0; text-align: left; } .home-page .section__link-wrap { margin-top: 1.2rem; } .home-page .section__link-wrap--left { text-align: left; } .home-page .section__link { font-size: 1.8rem; color: var(--color-purple); } .home-page .section__link:hover { color: var(--color-green-dark); } .home-page .hero { min-height: 70rem; padding-top: 9.6rem; padding-bottom: 4.4rem; color: var(--color-white); background: linear-gradient(var(--color-blue-overlay), rgba(12, 31, 49, 0.9)), url("../images/Изображение.png") center / cover no-repeat; } .home-page .hero__content { max-width: 68rem; } .home-page .hero__subtitle { margin-bottom: 0.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.8rem; line-height: 1.2; letter-spacing: 0.02em; } .home-page .hero__title { margin-bottom: 1.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(3.8rem, 11vw, 7.4rem); font-weight: 700; line-height: 0.98; text-transform: uppercase; } .home-page .hero__experience-image { width: min(28rem, 66%); margin-bottom: 2rem; } .home-page .hero__advantages { display: grid; gap: 1.2rem; margin-bottom: 2.4rem; list-style: none; } .home-page .hero__advantage:nth-child(odd) { background-color: rgba(255, 255, 255, 0.06); } .home-page .hero__advantage:nth-child(even) { background-color: rgba(255, 255, 255, 0.12); } .home-page .hero__advantage { display: flex; align-items: flex-start; gap: 1.2rem; padding: 0.8rem 1rem; border-radius: 1rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.8rem; font-weight: 700; line-height: 1.25; } .home-page .hero__advantage-icon { flex-shrink: 0; width: 2.2rem; height: 2.2rem; margin-top: 0.1rem; } .home-page .hero__description { max-width: 60rem; margin-bottom: 2.4rem; font-size: 1.7rem; line-height: 1.6; color: rgba(255, 255, 255, 0.96); } .home-page .hero__info { display: grid; gap: 1.2rem; max-width: 52rem; } .home-page .hero__info-image { width: 100%; } .home-page .hero__info-item:hover .hero__info-image { transform: scale(1.02); } .home-page .hero__info-image--time { width: 80%; margin: 0 auto; } .home-page .hero__form-wrap { display: none; } .home-page .hero-form { display: grid; gap: 2.4rem; } .home-page .hero-form__field { display: grid; gap: 1rem; } .home-page .hero-form__label { font-family: "Montserrat", Arial, sans-serif; font-size: 1.8rem; font-weight: 700; color: rgba(255, 255, 255, 0.84); } .home-page .hero-form__input { width: 100%; height: 6.4rem; padding: 0 1.8rem; border: 0.2rem solid transparent; outline: none; border-radius: 0.8rem; background-color: var(--color-white); box-shadow: 0 0.3rem 0 rgba(0, 0, 0, 0.12); font-family: "Montserrat", Arial, sans-serif; font-size: 1.7rem; color: var(--color-blue-dark); } .home-page .hero-form__input::placeholder { color: rgba(16, 37, 58, 0.58); font-style: italic; } .home-page .hero-form__input:placeholder-shown { background-color: #fbfbfb; } .home-page .hero-form__input:required { border-color: rgba(111, 164, 58, 0.28); } .home-page .hero-form__input:focus { border-color: var(--color-blue-light); box-shadow: 0 0 0 0.4rem rgba(47, 133, 223, 0.18); } .home-page .hero-form__button { display: inline-flex; align-items: center; justify-content: center; width: min(100%, 33.4rem); height: 6.4rem; margin: 0 auto; border: none; border-radius: 999rem; background-color: var(--color-green); font-family: "Montserrat", Arial, sans-serif; font-size: 1.6rem; font-weight: 700; color: var(--color-white); cursor: pointer; } .home-page .hero-form__button:hover { background-color: var(--color-orange); box-shadow: 0 1.4rem 2.4rem rgba(241, 166, 76, 0.28); transform: scale(1.05) rotate(-2deg); } .home-page .hero__form-note { max-width: 48rem; margin: 2.2rem auto 0; text-align: center; font-size: 1.5rem; line-height: 1.5; color: rgba(255, 255, 255, 0.92); } .home-page .hero__form-agreement { max-width: 56rem; margin: 2rem auto 0; text-align: center; font-size: 1.2rem; line-height: 1.5; color: rgba(255, 255, 255, 0.9); } .home-page .hero__form-link { text-decoration: underline; color: var(--color-white); } .home-page .hero__form-link:hover { color: var(--color-yellow); } .home-page .production { padding-top: 5rem; padding-bottom: 2.6rem; } .home-page .production__layout { display: block; } .home-page .production__main, .home-page .production__content { min-width: 0; } .home-page .production__aside-shell { display: none; } .home-page .production__banners { display: grid; gap: 1.6rem; margin-top: 2rem; } .home-page .production__banner { display: block; width: 100%; border-radius: 2rem; overflow: hidden; box-shadow: var(--shadow-soft); } .home-page .production__banner:hover { transform: scale(1.02); } .home-page .production__banner-image { width: 100%; height: auto; } .home-page .sidebar-menu__group, .home-page .sidebar-menu__subgroup { margin: 0; padding: 0; border: none; } .home-page .sidebar-menu__group + .sidebar-menu__group { margin-top: 3.2rem; } .home-page .sidebar-menu__summary, .home-page .sidebar-menu__subsummary { position: relative; display: block; list-style: none; cursor: pointer; font-family: "Montserrat", Arial, sans-serif; font-weight: 700; } .home-page .sidebar-menu__summary::-webkit-details-marker, .home-page .sidebar-menu__subsummary::-webkit-details-marker { display: none; } .home-page .sidebar-menu__summary { margin-bottom: 1.6rem; padding-right: 3.2rem; font-size: 2rem; line-height: 1.2; color: var(--color-black); } .home-page .sidebar-menu__summary:hover, .home-page .sidebar-menu__subsummary:hover { color: var(--color-purple); } .home-page .sidebar-menu__summary::after { content: ""; position: absolute; top: 50%; right: 0; width: 1.9rem; height: 1.9rem; background: url("../images/circle-plus.svg") center / contain no-repeat; transform: translateY(-50%); } .home-page .sidebar-menu__group[open] > .sidebar-menu__summary::after { background-image: url("../images/circle-minus.svg"); } .home-page .sidebar-menu__list, .home-page .sidebar-menu__sublist { list-style: none; } .home-page .sidebar-menu__item { border-bottom: 0.1rem solid var(--color-border); } .home-page .sidebar-menu__item--nested { border-bottom: none; } .home-page .sidebar-menu__link { position: relative; display: block; padding: 1rem 0 1rem 1.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.6rem; font-weight: 700; line-height: 1.3; color: var(--color-purple); } .home-page .sidebar-menu__link:hover { color: var(--color-green-dark); transform: translateX(0.4rem); } .home-page .sidebar-menu__link::before { content: "›"; position: absolute; left: 0; top: 50%; color: #6c6c6c; font-size: 2rem; line-height: 1; transform: translateY(-50%); } .home-page .sidebar-menu__subsummary { padding: 1rem 3.2rem 1rem 1.8rem; font-size: 1.6rem; line-height: 1.3; color: var(--color-purple); border-bottom: 0.1rem solid var(--color-border); } .home-page .sidebar-menu__subsummary::before { content: "›"; position: absolute; left: 0; top: 50%; color: #6c6c6c; font-size: 2rem; line-height: 1; transform: translateY(-50%); } .home-page .sidebar-menu__subsummary::after { content: ""; position: absolute; top: 50%; right: 0; width: 1.9rem; height: 1.9rem; background: url("../images/circle-plus.svg") center / contain no-repeat; transform: translateY(-50%); } .home-page .sidebar-menu__subgroup[open] > .sidebar-menu__subsummary::after { background-image: url("../images/circle-minus.svg"); } .home-page .sidebar-menu__sublist { display: grid; gap: 0.8rem; padding: 0.8rem 0 1rem 1.8rem; } .home-page .sidebar-menu__subitem { position: relative; padding-left: 1.5rem; font-size: 1.5rem; line-height: 1.3; color: var(--color-purple); } .home-page .sidebar-menu__subitem::before { content: ""; position: absolute; left: 0; top: 0.7rem; width: 0.8rem; height: 0.8rem; border-radius: 50%; background-color: var(--color-green-bright); } .home-page .custom { padding-top: 2.4rem; } .home-page .custom__bottom { max-width: 56rem; text-align: left; } .home-page .product-list { display: grid; gap: 1.6rem; margin-top: 2.4rem; margin-bottom: 2.4rem; list-style: none; } .home-page .product-card { display: flex; flex-wrap: wrap; gap: 1.6rem; align-items: flex-start; padding: 1.8rem; text-align: left; background-color: #f0f0f0; border-radius: 2rem; box-shadow: var(--shadow-soft); } .home-page .product-card:hover { transform: scale(1.02); box-shadow: 0 1.6rem 2.8rem rgba(0, 0, 0, 0.1); } .home-page .product-card__content { flex: 1 1 100%; } .home-page .product-card__title { margin-bottom: 0.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 2.2rem; font-weight: 700; line-height: 1.15; color: var(--color-purple); } .home-page .product-card__text { font-size: 1.6rem; line-height: 1.5; } .home-page .product-card__image { width: min(18rem, 100%); margin-inline: auto; object-fit: contain; } .home-page .custom__subtitle { margin-bottom: 1.6rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(2.8rem, 4vw, 4rem); font-weight: 700; line-height: 1.14; color: var(--color-black); } .home-page .variants__list { display: grid; gap: 1.6rem; margin-top: 2.4rem; list-style: none; } .home-page .variants__item { padding: 1.6rem; background-color: var(--color-white); border-radius: 2rem; box-shadow: var(--shadow-soft); } .home-page .variants__item:hover { transform: scale(1.02); } .home-page .variants__image { width: 100%; height: 22rem; margin-bottom: 1.4rem; object-fit: cover; border-radius: 1.6rem; } .home-page .variants__title { font-family: "Montserrat", Arial, sans-serif; font-size: 2rem; font-weight: 700; line-height: 1.2; color: var(--color-black); } .home-page .pullers__intro { margin-bottom: 2.6rem; } .home-page .pullers__layout { display: grid; gap: 1.4rem; text-align: left; } .home-page .branding-card, .home-page .puller-card, .home-page .news-card, .home-page .location-gallery__item { border-radius: 1.6rem; overflow: hidden; box-shadow: var(--shadow-soft); } .home-page .branding-card:hover, .home-page .puller-card:hover, .home-page .news-card:hover, .home-page .location-gallery__item:hover { transform: scale(1.02); } .home-page .branding-card { background-color: #e6eaed; } .home-page .branding-card__content { padding: 2.4rem 2rem 2rem; } .home-page .branding-card__title { margin-bottom: 1rem; font-family: "Montserrat", Arial, sans-serif; font-size: 2.1rem; font-weight: 700; line-height: 1.15; color: var(--color-black); } .home-page .branding-card__accent { margin-bottom: 1.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.6rem; font-weight: 700; line-height: 1.25; color: #658300; } .home-page .branding-card__text { max-width: 40rem; font-size: 1.6rem; line-height: 1.5; color: #555555; } .home-page .branding-card__media { min-height: 20rem; } .home-page .branding-card__image { width: 100%; height: 100%; object-fit: cover; } .home-page .puller-card { position: relative; min-height: 24rem; padding: 1.8rem 1.8rem 0; } .home-page .puller-card--plastic { background-color: #9fb9da; } .home-page .puller-card--textile { background-color: #d9b988; } .home-page .puller-card--reflective { background-color: #bca4ae; } .home-page .puller-card--metal { background-color: #f0f0f0; } .home-page .puller-card__title { position: relative; z-index: 2; font-family: "Montserrat", Arial, sans-serif; font-size: 1.9rem; font-weight: 700; line-height: 1.08; color: var(--color-black); } .home-page .puller-card__title--light { color: var(--color-white); } .home-page .puller-card__image { position: absolute; right: 1.4rem; bottom: 1.2rem; max-width: 78%; max-height: 70%; object-fit: contain; } .home-page .puller-card__image--reflective { max-width: 88%; } .home-page .puller-card__image--metal { right: 0; bottom: 0; width: 100%; max-width: 100%; max-height: 100%; object-fit: cover; } .home-page .button-wrap { margin-top: 2.4rem; text-align: center; } .home-page .button-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.8rem; min-height: 5.6rem; min-width: min(100%, 34rem); padding: 0.6rem 0.8rem 0.6rem 2.6rem; border-radius: 999px; font-family: "Montserrat", Arial, sans-serif; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.01em; } .home-page .button-link--outline { color: var(--color-black); background-color: transparent; border: 0.16rem solid var(--color-green); } .home-page .button-link:hover { color: var(--color-white); background-color: var(--color-green-dark); border-color: var(--color-green-dark); box-shadow: 0 1.6rem 2.8rem rgba(111, 164, 58, 0.26); transform: scale(1.05) rotate(-2deg); } .home-page .button-link:hover .button-link__text { color: var(--color-white); } .home-page .button-link:hover .button-link__circle { background-color: var(--color-white); } .home-page .button-link__text { color: var(--color-black); } .home-page .button-link__circle { display: flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; background-color: var(--color-orange); flex-shrink: 0; } .home-page .button-link__icon { width: 1rem; height: 1rem; object-fit: contain; } .home-page .news__grid { display: grid; gap: 1.6rem; margin-top: 2.4rem; } .home-page .news-card { display: flex; flex-direction: column; background-color: var(--color-white); text-align: left; } .home-page .news-card__category { padding: 1.6rem 1.6rem 0.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.3rem; font-weight: 700; letter-spacing: 0.08em; color: #4f7b19; } .home-page .news-card__image { width: calc(100% - 3.2rem); height: 22rem; margin: 0 auto 1.4rem; border-radius: 1.4rem; object-fit: cover; } .home-page .news-card__title { padding: 0 1.6rem; margin-bottom: 1rem; font-family: "Montserrat", Arial, sans-serif; font-size: 2rem; font-weight: 700; line-height: 1.18; color: var(--color-black); } .home-page .news-card__text { padding: 0 1.6rem 1.6rem; font-size: 1.6rem; line-height: 1.5; } .home-page .location-gallery { padding-top: 1.4rem; padding-bottom: 0; } .home-page .location-gallery__grid { display: grid; gap: 1.6rem; } .home-page .location-gallery__image { width: 100%; height: 100%; object-fit: cover; } .home-page .mobile-nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 60; display: grid; grid-template-columns: repeat(5, 1fr); align-items: end; gap: 0.6rem; padding: 0.8rem 1rem calc(0.8rem + env(safe-area-inset-bottom)); background-color: rgba(255, 255, 255, 0.98); box-shadow: 0 -0.6rem 2rem rgba(0, 0, 0, 0.08); } .home-page .mobile-nav__item, .home-page .mobile-nav__call { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; text-align: center; } .home-page .mobile-nav__item:hover { transform: scale(1.05); } .home-page .mobile-nav__icon { width: 2rem; height: 2rem; object-fit: contain; } .home-page .mobile-nav__text { font-size: 1.1rem; line-height: 1.2; text-transform: lowercase; } .home-page .mobile-nav__call-circle { display: flex; align-items: center; justify-content: center; width: 5.6rem; height: 5.6rem; margin-top: -2rem; border-radius: 50%; background: linear-gradient(135deg, #9bc747, #6fa43a); box-shadow: 0 1rem 2rem rgba(111, 164, 58, 0.35); } .home-page .mobile-nav__call:hover .mobile-nav__call-circle { transform: scale(1.08) rotate(8deg); } .home-page .mobile-nav__call-icon { width: 2.4rem; height: 2.4rem; object-fit: contain; } /* ========================================= FORM PAGE ONLY ========================================= */ .form-page { min-height: 100vh; display: flex; flex-direction: column; background: linear-gradient(rgba(16, 37, 58, 0.92), rgba(16, 37, 58, 0.92)), url("../images/bg_футер.png") center / cover no-repeat; } .form-page .form-main { flex: 1 0 auto; display: flex; align-items: stretch; } .form-page .form-section { width: 100%; padding: 4rem 0 5rem; } .form-page .form-layout { display: grid; gap: 2.4rem; } .form-page .form-intro { color: var(--color-white); } .form-page .form-intro__label { margin-bottom: 1rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.08em; color: var(--color-yellow); } .form-page .form-intro__title { margin-bottom: 1.2rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(3rem, 6vw, 5.2rem); font-weight: 700; line-height: 1.05; } .form-page .form-intro__text { max-width: 70rem; font-size: 1.7rem; line-height: 1.6; color: rgba(255, 255, 255, 0.96); } .form-page .form-intro__required { color: #ffd0d0; font-weight: 700; } .form-page .registration-form { padding: 2rem; background: rgba(255, 255, 255, 0.98); border-radius: 2.4rem; box-shadow: var(--shadow-card); } .form-page .registration-form__group, .form-page .registration-form__nested { margin-bottom: 2rem; border: 0.1rem solid rgba(16, 37, 58, 0.14); border-radius: 1.8rem; padding: 1.8rem; } .form-page .registration-form__legend, .form-page .registration-form__sublegend { padding: 0 0.6rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.8rem; font-weight: 700; color: var(--color-blue-dark); } .form-page .registration-form__grid { display: grid; gap: 1.6rem; } .form-page .registration-form__field { display: grid; gap: 0.8rem; } .form-page .registration-form__label { font-family: "Montserrat", Arial, sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.3; color: var(--color-blue-dark); } .form-page .registration-form__required { color: #b30000; } .form-page .registration-form__input { width: 100%; min-height: 5.2rem; padding: 0 1.4rem; border: 0.2rem solid rgba(16, 37, 58, 0.18); border-radius: 1.2rem; background-color: #f8f8f8; color: var(--color-black); outline: none; font-family: "Montserrat", Arial, sans-serif; } .form-page .registration-form__input::placeholder { color: rgba(16, 37, 58, 0.58); font-style: italic; } .form-page .registration-form__input:placeholder-shown { background-color: #fafafa; } .form-page .registration-form__input:required { border-color: rgba(179, 0, 0, 0.35); box-shadow: inset 0 0 0 0.1rem rgba(179, 0, 0, 0.06); } .form-page .registration-form__input:focus { border-color: var(--color-blue-light); box-shadow: 0 0 0 0.4rem rgba(47, 133, 223, 0.16); } .form-page .registration-form__select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #666 50%), linear-gradient(135deg, #666 50%, transparent 50%); background-position: calc(100% - 2rem) calc(50% - 0.3rem), calc(100% - 1.4rem) calc(50% - 0.3rem); background-size: 0.6rem 0.6rem, 0.6rem 0.6rem; background-repeat: no-repeat; } .form-page .registration-form__checks { display: grid; gap: 1rem; margin-top: 1rem; } .form-page .registration-form__check { display: flex; align-items: center; gap: 1rem; min-height: 4.6rem; padding: 0.8rem 1rem; border-radius: 1.2rem; background-color: #f8f8f8; } .form-page .registration-form__check:hover { background-color: #eef4fb; } .form-page .registration-form__check input { width: 1.8rem; height: 1.8rem; accent-color: var(--color-green-dark); } .form-page .registration-form__check input:checked + .registration-form__check-text { color: var(--color-green-dark); font-weight: 700; text-decoration: underline; } .form-page .registration-form__hint { margin-top: 1rem; font-size: 1.4rem; line-height: 1.4; color: var(--color-text-dark); } .form-page .registration-form__actions { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: center; } .form-page .registration-form__button { display: inline-flex; align-items: center; justify-content: center; gap: 0.8rem; min-width: 18rem; min-height: 5.2rem; padding: 0 1.8rem; border: none; border-radius: 999px; font-family: "Montserrat", Arial, sans-serif; font-size: 1.5rem; font-weight: 700; cursor: pointer; } .form-page .registration-form__button--submit { color: var(--color-white); background-color: var(--color-green-dark); } .form-page .registration-form__button--submit:hover { background-color: var(--color-orange); box-shadow: 0 1.4rem 2.4rem rgba(241, 166, 76, 0.28); transform: scale(1.05) rotate(-2deg); } .form-page .registration-form__button--reset { color: var(--color-blue-dark); background-color: #eceff3; border: 0.1rem solid rgba(16, 37, 58, 0.16); } .form-page .registration-form__button--reset:hover { background-color: var(--color-purple); color: var(--color-white); box-shadow: 0 1.4rem 2.4rem rgba(138, 77, 244, 0.24); transform: scale(1.05) rotate(2deg); } .form-page .registration-form__button-icon { font-size: 1.8rem; line-height: 1; } .form-page .footer { margin-top: auto; } .form-page .footer__logo--animated { transform: rotate(30deg) scale(1.5) skew(12deg, 8deg); transform-origin: center; animation: footerLogoFloat 3.5s ease-in-out infinite; } @keyframes footerLogoFloat { 0% { transform: rotate(30deg) scale(1.5) skew(12deg, 8deg) translateY(0); } 50% { transform: rotate(32deg) scale(1.56) skew(12deg, 8deg) translateY(-0.6rem); } 100% { transform: rotate(30deg) scale(1.5) skew(12deg, 8deg) translateY(0); } } /* ========================================= DASHBOARD ONLY ========================================= */ .dashboard-page { min-height: 100vh; display: flex; flex-direction: column; background-color: #f4f4f4; } .dashboard-page .dashboard-main { flex: 1 0 auto; padding: 3rem 0; } .dashboard-page .dashboard-layout { display: grid; grid-template-columns: 24rem minmax(0, 1fr); min-height: 60rem; border: 0.3rem solid #3a3a3a; background-color: #eadf8f; } .dashboard-page .dashboard-sidebar { padding: 2rem 1.6rem; background-color: #97bddc; border-right: 0.3rem solid #3a3a3a; } .dashboard-page .dashboard-sidebar__list { list-style: none; display: grid; gap: 1.2rem; } .dashboard-page .dashboard-sidebar__link { display: inline-flex; align-items: center; font-size: 2rem; line-height: 1.2; color: #111111; } .dashboard-page .dashboard-sidebar__link::before { content: "-"; margin-right: 0.8rem; } .dashboard-page .dashboard-panel { padding: 2rem; background-color: #eadf8f; } .dashboard-page .dashboard-panel__title { margin-bottom: 2rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(3rem, 4vw, 4.6rem); font-weight: 700; line-height: 1.05; color: #111111; } .dashboard-page .dashboard-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.6rem; } .dashboard-page .dashboard-card { display: flex; align-items: center; justify-content: center; min-height: 14rem; padding: 1rem; background-color: #a7dca8; border: 0.3rem solid #2c9a4a; } .dashboard-page .dashboard-card--wide { grid-column: span 6; } .dashboard-page .dashboard-card--half { grid-column: span 3; } .dashboard-page .dashboard-card--third { grid-column: span 2; } .dashboard-page .dashboard-card__image { width: 100%; height: 100%; object-fit: cover; } /* ========================================= GALLERY ONLY ========================================= */ .gallery-page { min-height: 100vh; display: flex; flex-direction: column; background-color: #f4f4f4; } .gallery-page .gallery-main { flex: 1 0 auto; padding: 4rem 0; } .gallery-page .gallery__title { margin-bottom: 1rem; font-family: "Montserrat", Arial, sans-serif; font-size: clamp(3rem, 4vw, 4.8rem); font-weight: 700; line-height: 1.05; color: #111111; text-align: center; } .gallery-page .gallery__text { margin-bottom: 2.4rem; font-size: clamp(1.8rem, 2.2vw, 2rem); text-align: center; } .gallery-page .gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: 1.6rem; } .gallery-page .gallery-card { display: grid; aspect-ratio: 1 / 1; overflow: hidden; background-color: #ffffff; border-radius: 1.6rem; box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.08); } .gallery-page .gallery-card__image, .gallery-page .gallery-card__link { grid-area: 1 / 1; } .gallery-page .gallery-card__image { width: 100%; height: 100%; object-fit: cover; } .gallery-page .gallery-card__link { align-self: center; justify-self: center; display: inline-flex; align-items: center; justify-content: center; min-width: 14rem; padding: 1.2rem 1.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 1.8rem; line-height: 1.1; color: #ffffff; background-color: rgba(35, 73, 116, 0.88); border-radius: 999rem; } /* ========================================= MEDIA ========================================= */ @media (min-width: 768px) { .header__brand-text { display: block; } .footer__bottom { grid-template-columns: 1fr 1fr; align-items: end; } .footer__bottom-right { text-align: right; } .home-page .hero__info { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .variants__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .location-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .mobile-nav { display: none; } .form-page .registration-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-page .dashboard-layout { grid-template-columns: 24rem minmax(0, 1fr); } } @media (min-width: 1200px) { .header__wrapper { gap: 2rem; padding-top: 2.8rem; padding-bottom: 2.4rem; } .header__nav { display: flex; align-items: center; gap: 2rem; margin-left: auto; } .header__contacts { display: flex; align-items: flex-start; gap: 1rem; flex-shrink: 0; } .home-page { padding-bottom: 0; } .home-page .hero { min-height: 78rem; padding-top: 12.6rem; padding-bottom: 6rem; } .home-page .hero__wrapper { display: grid; grid-template-columns: minmax(0, 1fr) 64rem; align-items: start; gap: 3rem; } .home-page .hero__content { padding-top: 7.4rem; } .home-page .hero__form-wrap { display: block; } .home-page .hero__form-box { position: relative; overflow: hidden; padding: 4.8rem 7rem 2.4rem; border-radius: 3.4rem; background: linear-gradient(180deg, var(--color-form-bg), rgba(20, 41, 60, 0.68)); backdrop-filter: blur(0.7rem); box-shadow: inset 0 0 0 0.1rem rgba(255, 255, 255, 0.06); } .home-page .hero__form-box::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(12, 34, 56, 0.3), rgba(12, 34, 56, 0.3)), url("../images/Изображение.png") center / cover no-repeat; opacity: 0.2; z-index: 0; } .home-page .hero__form-box > * { position: relative; z-index: 1; } .home-page .hero__form-title { margin-bottom: 2.8rem; font-family: "Montserrat", Arial, sans-serif; font-size: 5.2rem; font-weight: 700; line-height: 1.05; color: var(--color-white); } .home-page .production__layout { display: grid; grid-template-columns: minmax(0, 1fr) 28rem; gap: 8rem; align-items: start; } .home-page .production__aside-shell { display: block; } .home-page .custom { padding-top: 1.2rem; } .home-page .product-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } .home-page .variants__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } .home-page .pullers__layout { grid-template-columns: 1fr 1fr 2fr; grid-template-areas: "branding branding branding" "plastic textile metal" "reflective reflective metal"; grid-auto-rows: 22rem; } .home-page .branding-card { grid-area: branding; display: grid; grid-template-columns: 1.05fr 1fr; min-height: 20.2rem; border-radius: 1.4rem; } .home-page .branding-card__content { position: relative; padding: 2.8rem 3rem; z-index: 2; } .home-page .branding-card__content::after { content: ""; position: absolute; top: 0; right: -8rem; width: 14rem; height: 100%; background-color: #e6eaed; clip-path: polygon(0 0, 100% 50%, 0 100%); z-index: -1; } .home-page .branding-card__media { position: relative; z-index: 1; margin-left: -5rem; } .home-page .puller-card--plastic { grid-area: plastic; } .home-page .puller-card--textile { grid-area: textile; } .home-page .puller-card--reflective { grid-area: reflective; } .home-page .puller-card--metal { grid-area: metal; min-height: auto; padding-top: 1.6rem; } .home-page .news__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; } .home-page .location-gallery__grid { grid-template-columns: 1.4fr 0.86fr; gap: 2rem; } .form-page .form-layout { grid-template-columns: 0.9fr 1.1fr; align-items: start; gap: 3rem; } .form-page .registration-form__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .footer__wrapper { grid-template-columns: 1.25fr 0.95fr; column-gap: 6rem; row-gap: 3rem; } .footer__bottom { grid-column: 1 / -1; grid-template-columns: 1fr auto; } .footer__bottom-right { max-width: 48rem; text-align: right; } } @media (max-width: 767px) { .dashboard-page .dashboard-layout { grid-template-columns: 1fr; } .dashboard-page .dashboard-sidebar { border-right: none; border-bottom: 0.3rem solid #3a3a3a; } .dashboard-page .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dashboard-page .dashboard-card--wide, .dashboard-page .dashboard-card--half, .dashboard-page .dashboard-card--third { grid-column: span 2; } } @media (max-width: 575px) { .dashboard-page .dashboard-grid { grid-template-columns: 1fr; } .dashboard-page .dashboard-card--wide, .dashboard-page .dashboard-card--half, .dashboard-page .dashboard-card--third { grid-column: span 1; } }