diff --git a/kodorvan/site/system/controllers/article.php b/kodorvan/site/system/controllers/article.php new file mode 100755 index 0000000..cef4192 --- /dev/null +++ b/kodorvan/site/system/controllers/article.php @@ -0,0 +1,197 @@ + + */ +final class article extends core +{ + /** + * Errors + * + * @var array $errors Registry of errors + */ + protected array $errors = [ + 'system' => [] + ]; + + /** + * Page: superpack + * + * @return null + */ + public function index(string $urn): null + { + if (str_contains($this->request->headers['accept'] ?? '', content::html->value)) { + // Request for HTML response + + // Initializing the superpack + $superpack = new model()->read(filter: fn(record $record) => $record->urn === $urn && $record->active === 1); + + if ($superpack instanceof model) { + // Initialized the superpack + + // Render page + $page = $this->view->render( + 'pages/article.html', + [ + 'uri' => 'https://' . DOMAIN . "/superpack/$urn", + 'article' => [ + 'urn' => $superpack->urn, + 'head' => [ + 'title' => $superpack->title + ], + 'body' => [ + 'html' => $superpack->html + ] + ], + 'smartphone' => $this->request->smartphone, + 'tablet' => $this->request->tablet + ] + ); + } else { + // Not initialized the superpack + } + + // Sending response + $this->response + ->start() + ->clean() + ->sse() + ->write($page) + ->validate($this->request) + ?->body() + ->end(); + + // Deinitializing rendered page + unset($page); + + // Exit (success) + return null; + } + + // Exit (fail) + return null; + } + + /** + * Page: superpack + * + * @return null + */ + public function create( + ?string $identifier = null, + ?string $urn = null, + ?string $title = null, + ?string $html = null, + ?string $text = null, + string|int|float|null $supercost = null + ): null { + if ($this->request->method === method::get) { + // GET + + if (str_contains($this->request->headers['accept'] ?? '', content::html->value)) { + // Request for HTML response + + // Render page + $page = $this->view->render( + 'pages/system/superpack/create.html', + [ + 'uri' => 'https://' . DOMAIN . "/system/superpack/create", + 'smartphone' => $this->request->smartphone, + 'tablet' => $this->request->tablet + ] + ); + + // Sending response + $this->response + ->start() + ->clean() + ->sse() + ->write($page) + ->validate($this->request) + ?->body() + ->end(); + + // Deinitializing rendered page + unset($page); + + // Exit (success) + return null; + } + } else if ($this->request->method === method::put) { + // PUT + + // Initializing the superpack + $superpack = new model()->read(filter: fn(record $record) => $record->urn === $urn); + + if ($superpack instanceof model) { + // The superpack is already created + + } else { + // The superpack is not already created + + // Sanitizing + $urn = preg_replace('/[^\w\d\-.]+/', '', $urn); + $title = preg_replace('/[^\w\d\s\-.,!]+/u', '', $title); + $supercost = (float) preg_replace('/[^\d.]+/', '', $supercost); + + // Creating the superpack + $superpack = new model()->write( + urn: $urn, + title: $title, + html: $html, + text: $text, + supercost: $supercost + ); + + if ($superpack instanceof record) { + // Created the superpack + + // Sending response + $this->response + ->start() + ->clean() + ->sse() + ->json([ + 'redirect' => "/superpack/$urn" + ]) + ->validate($this->request) + ?->body() + ->end(); + } + } + } + + // Exit (fail) + return null; + } +} diff --git a/kodorvan/site/system/controllers/index.php b/kodorvan/site/system/controllers/index.php index ba96f76..78f42fa 100755 --- a/kodorvan/site/system/controllers/index.php +++ b/kodorvan/site/system/controllers/index.php @@ -47,143 +47,193 @@ final class index extends core // Initializing the team workload $this->view->workload = (string) ($_COOKIE['workload'] ?? rand(20, 80)); - // Initializing services - $this->view->services = [ + // Initializing superpacks + $this->view->superpacks = [ [ - 'class' => 'telegram voronka', - 'title' => 'Телеграм воронка', - 'icon_left' => '', - /* 'icon_center' => 'import', */ + 'class' => 'site direct', 'icon_center' => 'crown', - 'icon_right' => '', - 'description' => <<
- Используя иммерсивные технологии и многофакторный сбор обеспечивает максимальное удержание пользователя - TXT, - 'howto' => 'Направьте к нему клиентов и ждите новых заказов в вашей CRM, на сайте или в чате', - 'buttons' => [ - [ - 'icon' => 'comment', - 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=telegram voronka' - ] + 'image' => [ + 'src' => '/themes/' . THEME . '/images/site_example.jpg', + 'alt' => 'Сайт для рекламы' ], - 'theses' => [ + 'title' => 'Лендинг', + 'description' => 'Сайт для рекламной компании', + 'features' => [ [ - 'class' => 'yellow', - 'characteristic' => '-80%', - 'text' => 'НАГРУЗКА' + 'icon' => 'template', + 'text' => 'Авангардный дизайн' ], [ - 'class' => 'blue', - 'colored' => true, - 'characteristic' => '+5%', - 'text' => 'КОНВЕРСИИ' + 'icon' => '', + 'text' => 'Продумана каждая деталь' ], [ - 'class' => 'green', - 'characteristic' => '0₽', - 'text' => 'НИКАКОЙ АРЕНДЫ' + 'icon' => 'list-tree', + 'text' => 'Глубокий SEO' + ], + /* [ + 'icon' => 'document', + 'text' => 'Юридическая броня' + ], */ + [ + 'icon' => 'bell', + 'text' => 'Регистрация в Роскомнадзор' ] ], - 'background_image_src' => '/themes/default/images/telegram_voronka.png', - 'background_image_alt' => 'Телеграм воронка КОДОРВАНЬ', - 'cost' => '2000', - 'canceled' => 'ЗАБЛОКИРОВАН' + 'deal' => [ + 'cost' => '30 000', + 'text' => 'ПОЛНАЯ СТОИМОСТЬ' + ], + 'button' => [ + 'class' => 'request', + 'text' => 'ВЫБРАТЬ', + 'label' => 'Кнопка для заказа' + ] ], [ - 'class' => 'parser', - 'title' => 'Парсер', - 'icon_left' => '', - 'icon_center' => 'search', - 'icon_right' => '', - 'description' => <<
- Парсер берёт данные с сайтов через API, либо эмулируя пользователя, а так же из excel-документов, CRM и бухгалтерии, затем просчитывает, анализирует и записывает результат - TXT, - 'howto' => 'Подключите источники и снизьте нагрузку на операторов, оптимизируйте процессы', - 'extra' => [ - 'Wildberries', - 'OZON', - 'Yandex Market', - 'Avito', - 'CDEK', - '1C', - 'Bitrix', - 'Мой Склад' + 'class' => 'voronka', + 'icon_center' => 'crown', + 'image' => [ + 'src' => '/themes/' . THEME . '/images/telegram_voronka.png', + 'alt' => 'Воронка в Телеграм' ], - 'buttons' => [ + 'title' => 'Воронка', + /* 'description' => '', */ + 'features' => [ [ - 'icon' => 'comment', - /* 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=parser' */ - 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=parser' - ] - ], - 'theses' => [ - [ - 'class' => 'yellow', - 'colored' => true, - 'characteristic' => '-100%', - 'text' => 'НАГРУЗКА' + 'icon' => 'phone', + 'text' => 'Сбор данных' ], [ - 'class' => 'cyan', - 'icon' => 'infinity', - 'text' => 'ВЕЧНАЯ ПОДДЕРЖКА' + 'icon' => 'copy', + 'text' => 'Синхронизация с CRM' ], [ - 'class' => 'green', - 'icon' => 'play forwards', - 'text' => 'РЕКОРД СКОРОСТИ' + 'icon' => 'track', + 'text' => 'Аналитика всех этапов' + ], + /* [ + 'icon' => '', + 'text' => 'Повышение конверсий' + ], */ + [ + 'icon' => 'style', + 'text' => 'Иммерсивные техники' + ], + [ + 'icon' => 'smile', + 'text' => 'Никакой аренды' ] ], - 'background_image_src' => '/themes/default/images/excel_small_compressed.jpg', - 'background_image_alt' => 'Парсеры КОДОРВАНЬ', - 'cost' => '3000' + 'deal' => [ + 'cost' => '10 000', + 'text' => 'ПОЛНАЯ СТОИМОСТЬ' + ], + 'button' => [ + 'class' => 'request', + 'text' => 'ВЫБРАТЬ', + 'label' => 'Кнопка для заказа' + ] ], [ - 'class' => 'calculator', - 'title' => 'Калькулятор', - 'icon_left' => '', - 'icon_center' => 'calculator', - 'icon_right' => '', - 'description' => <<
- Оператор вводит данные, нажимает на кнопки, двигает ползунки и мгновенно получает точный результат вычислений - TXT, - 'howto' => 'Настройте параметры в панели управления и в долгосрочной перспективе сэкономьте тысячи часов рабочего времени', - 'extra' => [], - 'buttons' => [ - [ - 'icon' => 'comment', - 'href' => 'https://t.me/' . TELEGRAM_ROBOT['domain'] . '?start=calculator' - ] + 'class' => 'ai assistent telegram', + 'icon_center' => '', + 'image' => [ + 'src' => '/themes/' . THEME . '/images/telegram_voronka.png', + 'alt' => 'Воронка в Телеграм' ], - 'theses' => [ + 'title' => 'ИИ-ассистент', + 'description' => 'Личный консультант', + 'features' => [ [ - 'class' => 'yellow', - 'characteristic' => '-95%', - 'text' => 'НАГРУЗКА' + 'icon' => 'assign', + 'text' => 'Самообучение', ], [ - 'class' => 'green', - 'characteristic' => '-80%', - 'text' => 'ОШИБОК ВЫЧИСЛЕНИЙ' + 'icon' => 'performance', + 'text' => 'Индивидуальная настройка' ], [ - 'class' => 'red', - 'colored' => true, - 'characteristic' => '+20%', - 'text' => 'ОБУЧАЕМОСТЬ' + 'icon' => 'extension', + 'text' => 'Актуализация базы данных' + ], + [ + 'icon' => '', + 'text' => 'Передовая ИИ-модель' + ], + [ + 'icon' => 'smile', + 'text' => 'Никакой аренды' ] ], - 'background_image_src' => '/themes/default/images/tordv_compressed.jpg', - 'background_image_alt' => 'Калькулятор КОДОРВАНЬ', - 'cost' => '10 000' - ] - + 'deal' => [ + 'cost' => '15 000', + 'text' => 'ПОЛНАЯ СТОИМОСТЬ' + ], + 'button' => [ + 'class' => 'request', + 'text' => 'ВЫБРАТЬ', + 'label' => 'Кнопка для заказа' + ] + ], + [ + 'class' => 'marketplace', + 'icon_center' => 'crown', + 'image' => [ + 'src' => '/themes/' . THEME . '/images/site_example.jpg', + 'alt' => 'Сайт для рекламы' + ], + 'title' => 'Маркетплейс', + 'description' => 'Бюджет разработки >2млн', + 'features' => [ + [ + 'icon' => 'trophy', + 'text' => 'Чистый код, без конструкторов' + ], + [ + 'icon' => 'template', + 'text' => 'Индивидуальный дизайн' + ], + /* [ + 'icon' => 'import', + 'text' => 'Годовая подписка на обновления' + ], */ + [ + 'icon' => 'extension', + 'text' => 'Подключение к Мой Склад' + ], + [ + 'icon' => 'performance', + 'text' => 'Физический сервер с личным администратором' + ] + ], + 'article' => << +
+ Там он видел весь каталог товаров с категориями, ценами, фильтрами и умным поиском. Всего за 2 минуты он проходил все этапы: наполнял корзину товарами, заполнял адрес доставки (в первый раз) и оплачивал через СБП! Сессия сохраняла данные между устройствами (смартфон и компьютер). Была проведена огромная аналитическая работа с фокус-группами и сбором статистики. Каждый элемент на экране размещён очень обоснованно.
+
+ После оплаты приложение автоматически закрывается и пользователь возвращается в чат с роботом, где он видит список купленных товаров, статус заказа, оплаченный счёт, а так же подтверждение от оператора. Операторам в чат прилетает заказ с кнопкой "написать покупателю" прямо в Telegram!
+
+ Сейчас мы развиваем проект как полноценный сайт, оставляя поддержку версии для мессенджеров.
+
+ В покупку лицензии включена стоимость разработки индивидуального дизайна
+
+ После покупки вам нужно будет оплачивать размещение проекта на наших серверах - так мы гарантируем сохранность нашего кода, а вы экономите сотни тысяч рублей на системном администраторе, бекапах, юридических заморочках с роскомнадзором (берём ответственность на себя) и постоянным масштабированием. Цена небольшая, особенно учитывая, что туда входит наша постоянная тех. поддержка
+
+ Не берём никаких процент с продаж!
+
+ По желанию добавляем или удаляем функции, а критические обновления безопасности устанавливаем бесплатно. В случае проблем, тех.работ или утечек оповещаем моментально. + HTML, + 'deal' => [ + 'cost' => '120 000', + 'text' => 'ВЕЧНАЯ ЛИЦЕНЗИЯ НА КОД' + ], + 'button' => [ + 'class' => 'deal blue', + 'text' => 'ВЫБРАТЬ', + 'label' => 'Кнопка выбора суперпака для калькулятора' + ] + ], ]; // Sending the cookie with the team workload (1800 = 30min) diff --git a/kodorvan/site/system/controllers/project.php b/kodorvan/site/system/controllers/project.php index 93dc33e..aa20fea 100755 --- a/kodorvan/site/system/controllers/project.php +++ b/kodorvan/site/system/controllers/project.php @@ -41,11 +41,11 @@ final class project extends core ]; /** - * Page: calculator + * Page: constructor * * @return null */ - public function calculator(): null + public function constructor(): null { if ($this->request->method === method::get) { // GET @@ -243,6 +243,7 @@ final class project extends core ->start() ->clean() ->sse() + ->json(['errors' => []]) ->validate($this->request) ?->body() ->end(); diff --git a/kodorvan/site/system/public/css/fonts/als_schlange.css b/kodorvan/site/system/public/css/fonts/als_schlange.css new file mode 100755 index 0000000..f4ee8c3 --- /dev/null +++ b/kodorvan/site/system/public/css/fonts/als_schlange.css @@ -0,0 +1,31 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'ALS Schlange'; + src: url("/fonts/als_schlange/alsschlangesans-thin.otf"); + font-weight: 100; +} + +@font-face { + font-family: 'ALS Schlange'; + src: url("/fonts/als_schlange/alsschlangesans-light.otf"); + font-weight: 200; +} + +@font-face { + font-family: 'ALS Schlange'; + src: url("/fonts/als_schlange/alsschlangesans.otf"); + font-weight: 400; +} + +@font-face { + font-family: 'ALS Schlange'; + src: url("/fonts/als_schlange/alsschlangesans-bold.otf"); + font-weight: 600; +} + +@font-face { + font-family: 'ALS Schlange'; + src: url("/fonts/als_schlange/alsschlangesans-black.otf"); + font-weight: 800; +} diff --git a/kodorvan/site/system/public/css/fonts/golos.css b/kodorvan/site/system/public/css/fonts/golos.css new file mode 100755 index 0000000..818ec29 --- /dev/null +++ b/kodorvan/site/system/public/css/fonts/golos.css @@ -0,0 +1,37 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Golos'; + src: url("/fonts/golos/Golos-Text_VF.ttf"); + font-weight: 400 900; +} + +/* @font-face { + font-family: 'Golos'; + src: url("/fonts/golos/Golos-Text_Regular.ttf"); + font-weight: 400; +} + +@font-face { + font-family: 'Golos'; + src: url("/fonts/golos/Golos-Text_Medium.ttf"); + font-weight: 500; +} + +@font-face { + font-family: 'Golos'; + src: url("/fonts/golos/Golos-Text_DemiBold"); + font-weight: 600; +} + +@font-face { + font-family: 'Golos'; + src: url("/fonts/golos/Golos-Text_Bold"); + font-weight: 700; +} + +@font-face { + font-family: 'Golos'; + src: url("/fonts/golos/Golos-Text_Black.ttf"); + font-weight: 800; +} */ diff --git a/kodorvan/site/system/public/css/fonts/strogo.css b/kodorvan/site/system/public/css/fonts/strogo.css new file mode 100755 index 0000000..7fc3877 --- /dev/null +++ b/kodorvan/site/system/public/css/fonts/strogo.css @@ -0,0 +1,6 @@ +@charset "UTF-8"; + +@font-face { + font-family: 'Strogo'; + src: url("/fonts/strogo/Strogo-Regular.ttf"); +} diff --git a/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-black.otf b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-black.otf new file mode 100644 index 0000000..ad15a50 Binary files /dev/null and b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-black.otf differ diff --git a/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-bold.otf b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-bold.otf new file mode 100644 index 0000000..94ef30a Binary files /dev/null and b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-bold.otf differ diff --git a/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-light.otf b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-light.otf new file mode 100644 index 0000000..0c44148 Binary files /dev/null and b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-light.otf differ diff --git a/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-thin.otf b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-thin.otf new file mode 100644 index 0000000..17877eb Binary files /dev/null and b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans-thin.otf differ diff --git a/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans.otf b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans.otf new file mode 100644 index 0000000..75a2618 Binary files /dev/null and b/kodorvan/site/system/public/fonts/als_schlange/alsschlangesans.otf differ diff --git a/kodorvan/site/system/public/fonts/golos/Golos-Text_Black.ttf b/kodorvan/site/system/public/fonts/golos/Golos-Text_Black.ttf new file mode 100755 index 0000000..9c86e87 Binary files /dev/null and b/kodorvan/site/system/public/fonts/golos/Golos-Text_Black.ttf differ diff --git a/kodorvan/site/system/public/fonts/golos/Golos-Text_Bold.ttf b/kodorvan/site/system/public/fonts/golos/Golos-Text_Bold.ttf new file mode 100755 index 0000000..cb4a951 Binary files /dev/null and b/kodorvan/site/system/public/fonts/golos/Golos-Text_Bold.ttf differ diff --git a/kodorvan/site/system/public/fonts/golos/Golos-Text_DemiBold.ttf b/kodorvan/site/system/public/fonts/golos/Golos-Text_DemiBold.ttf new file mode 100755 index 0000000..25e948d Binary files /dev/null and b/kodorvan/site/system/public/fonts/golos/Golos-Text_DemiBold.ttf differ diff --git a/kodorvan/site/system/public/fonts/golos/Golos-Text_Medium.ttf b/kodorvan/site/system/public/fonts/golos/Golos-Text_Medium.ttf new file mode 100755 index 0000000..f6c4e6b Binary files /dev/null and b/kodorvan/site/system/public/fonts/golos/Golos-Text_Medium.ttf differ diff --git a/kodorvan/site/system/public/fonts/golos/Golos-Text_Regular.ttf b/kodorvan/site/system/public/fonts/golos/Golos-Text_Regular.ttf new file mode 100755 index 0000000..2c135ff Binary files /dev/null and b/kodorvan/site/system/public/fonts/golos/Golos-Text_Regular.ttf differ diff --git a/kodorvan/site/system/public/fonts/golos/Golos-Text_VF.ttf b/kodorvan/site/system/public/fonts/golos/Golos-Text_VF.ttf new file mode 100755 index 0000000..f6daaa6 Binary files /dev/null and b/kodorvan/site/system/public/fonts/golos/Golos-Text_VF.ttf differ diff --git a/kodorvan/site/system/public/fonts/strogo/Strogo-Regular.ttf b/kodorvan/site/system/public/fonts/strogo/Strogo-Regular.ttf new file mode 100644 index 0000000..b6406b0 Binary files /dev/null and b/kodorvan/site/system/public/fonts/strogo/Strogo-Regular.ttf differ diff --git a/kodorvan/site/system/public/index.php b/kodorvan/site/system/public/index.php index 21ef7af..9213342 100755 --- a/kodorvan/site/system/public/index.php +++ b/kodorvan/site/system/public/index.php @@ -43,7 +43,7 @@ $core->router ->write('/superpack/$urn', new route('superpack', 'index'), 'GET') - ->write('/project/calculator', new route('project', 'calculator'), 'GET') + ->write('/project/constructor', new route('project', 'constructor'), 'GET') ->write('/project/request', new route('project', 'request'), 'PUT') ->write('/system/superpack/create', new route('superpack', 'create'), 'GET') diff --git a/kodorvan/site/system/public/js/modules/project.mjs b/kodorvan/site/system/public/js/modules/project.mjs index f06f696..dbd6018 100644 --- a/kodorvan/site/system/public/js/modules/project.mjs +++ b/kodorvan/site/system/public/js/modules/project.mjs @@ -8,6 +8,11 @@ * @description * Module for creating projects * + * @todo + * 1. Удалить полностью `this.#elements` и перенести всё управление HTML-элементами + * в систему слушателей событий `EventListener`, для управления извне и разделения логики + * 2. После первого пункта можно будет наконец очистить ебучий конструктор с его аргументами + * * @class * @public * @@ -1065,6 +1070,64 @@ export default class project { return this.#purpose; } + /** + * @name Superpack + * + * @description + * The project superpack + * + * @type {string} + * + * @protected + */ + #superpack; + + /** + * @name Superpack (set) + * + * @public + */ + set superpack(value) { + if (typeof value === 'string' && value.length > 0) { + // String + + // Writing the property + this.#superpack = value; + + // Deleting from the stages registry + this.stages.delete('superpack'); + } else { + // Undefined + + // Deleting the property + this.#superpack = undefined; + + // Writing into the stages registry + this.stages.add('superpack'); + } + + // Dispatching event: "project.write" + this.shell.dispatchEvent( + new CustomEvent("project.write", { + detail: { name: 'superpack', value: this.#superpack } + }) + ); + + // Reinitializing guide HTML-elements + this.guide(); + }; + + /** + * @name Superpack (get) + * + * @return {string} + * + * @public + */ + get superpack() { + return this.#superpack; + } + /** * @name Project * @@ -1729,6 +1792,7 @@ export default class project { payment_output, prepayment, prepayment_output, + superpack, project_name, project_description, project_files, @@ -1775,6 +1839,8 @@ export default class project { if (prepayment instanceof HTMLElement) this.#elements.set('prepayment', prepayment); if (prepayment_output instanceof HTMLElement) this.#elements.set('prepayment_output', prepayment_output); + if (superpack instanceof HTMLElement) this.#elements.set('superpack', superpack); + if (project_name instanceof HTMLElement) this.#elements.set('project_name', project_name); if (project_description instanceof HTMLElement) this.#elements.set('project_description', project_description); if (project_files instanceof HTMLElement) this.#elements.set('project_files', project_files); @@ -2367,6 +2433,7 @@ export default class project { // Exit (success) return JSON.stringify({ identifier: new Date().valueOf(), + superpack: this.#superpack, calculator: { architecture: this.#architecture?.symbol.description, purpose: this.#purpose?.symbol.description, diff --git a/kodorvan/site/system/public/js/pages/main.js b/kodorvan/site/system/public/js/pages/main.js index 9b28f4f..6df452e 100755 --- a/kodorvan/site/system/public/js/pages/main.js +++ b/kodorvan/site/system/public/js/pages/main.js @@ -9,6 +9,10 @@ core.modules.connect(["damper", "project"]).then((connected) => { // Initializing the files input wrap HTML-element const files = document.getElementById("project_files"); + // Initializing the superpack HTML-elements + const superpack = document.getElementById("superpack"); + const superpack_value = superpack.querySelector('span.value'); + // Initializing the instance of the project.mjs core.global.project = new connected.global.project( document.querySelector('section[data-paginator-page="2"]'), @@ -32,6 +36,7 @@ core.modules.connect(["damper", "project"]).then((connected) => { undefined, undefined, undefined, + superpack, document.getElementById("project_name"), document.getElementById("project_description"), files, @@ -96,14 +101,38 @@ core.modules.connect(["damper", "project"]).then((connected) => { // Initializing the page buttons menu core.global.paginator.shell.addEventListener("paginator.page.opened", function (event) { // Scrolling to the introdution HTML-element - introdution?.scrollIntoView({ behavior: 'smooth' }); + // introdution?.scrollIntoView({ behavior: 'smooth' }); + // Сделать для мобилок 300 а для пк 0 + window.scrollTo({ top: window.innerHeight > 1500 ? 0 : 300, behavior: 'smooth' }); // Initializing the page buttons menu menu(event.detail.identifier); }); - // Connecting event listener for project calculation - core.global.project.shell.addEventListener("project.write", function() { + // Connecting event listener for project parameters writings + core.global.project.shell.addEventListener("project.write", function(event) { + if (event.detail.name === 'superpack') { + // Superpack + + if (superpack_value instanceof HTMLElement) { + // Initialized the superpack value HTML-element + + // Writing the superpack value + superpack_value.innerText = event.detail.value ?? ''; + + if (superpack_value.innerText.length > 1) { + // Has a value + + // Showing the superpack HTML-element + superpack.style.removeProperty('display'); + } else { + // Has no value + + // Hiding the sueprpack HTML-element + superpack.style.setProperty('display', 'none'); + } + } + } // Initializing the "project" page button HTML-element const project = core.global.paginator.shell.querySelector('button[data-paginator-page-button="2"]'); @@ -146,7 +175,10 @@ core.modules.connect(["damper", "project"]).then((connected) => { // Initializing the page buttons menu core.global.paginator.shell.addEventListener("paginator.page.opened", function (event) { // Scrolling to the introdution HTML-element - introdution?.scrollIntoView({ behavior: 'smooth' }); + // introdution?.scrollIntoView({ behavior: 'smooth' }); + // window.scrollTo({ top: 300, behavior: 'smooth' }); + // Сделать для мобилок 300 а для пк 0 + window.scrollTo({ top: window.innerHeight > 1500 ? 0 : 300, behavior: 'smooth' }); // Initializing the page buttons menu menu(event.detail.identifier); diff --git a/kodorvan/site/system/public/themes/default/css/colorscheme.css b/kodorvan/site/system/public/themes/default/css/colorscheme.css index 0fe22e3..65a1872 100755 --- a/kodorvan/site/system/public/themes/default/css/colorscheme.css +++ b/kodorvan/site/system/public/themes/default/css/colorscheme.css @@ -4,9 +4,9 @@ :root { --text-color: #fff; --text-color-inverted: #000; - --link-color: #475bf9; - --link-hover-color: #6375ff; - --link-active-color: #3d53f6; + --link-color: #6a6cff; + --link-hover-color: #7aa0fb; + --link-active-color: #5c53c9; --button-background-color: #fff; --button-background-color-inverted: #000; --button-hover-background-color: #abc7c6; @@ -58,9 +58,9 @@ :root { --text-color: #fff; --text-color-inverted: #000; - --link-color: #475bf9; - --link-hover-color: #6375ff; - --link-active-color: #3d53f6; + --link-color: #6a6cff; + --link-hover-color: #7aa0fb; + --link-active-color: #5c53c9; --button-background-color: #fff; --button-background-color-inverted: #000; --button-hover-background-color: #abc7c6; diff --git a/kodorvan/site/system/public/themes/default/css/elements/companies.css b/kodorvan/site/system/public/themes/default/css/elements/companies.css index e1b6059..39220bb 100755 --- a/kodorvan/site/system/public/themes/default/css/elements/companies.css +++ b/kodorvan/site/system/public/themes/default/css/elements/companies.css @@ -2,65 +2,67 @@ article#companies { z-index: 50; + margin-bottom: 5.5rem; width: 100vw; height: 70px; - padding-bottom: 4rem; display: inline-flex; flex-direction: row; - gap: 2rem; + gap: 2em; + font-size: 1rem; pointer-events: none; >img { box-sizing: border-box; - padding: 0.8rem 1.2rem; - border-radius: 1.25rem; + padding: 0.8em 1.2em; + border-radius: 1.25em; /* border-top: 1px solid #e6efff45; border-left: 1px solid #e5edff38; background: #d7f9ff2b; backdrop-filter: blur(1.6px); */ color: #fff; - &:is(.bitrix24) { + &.bitrix24 { padding-top: 1.3rem; padding-bottom: 0.5rem; } - &:is(.moy_sklad) { + &.moy_sklad { padding-top: 0.1rem; padding-bottom: 0.4rem; } - &:is(.wildberries) { + &.wildberries { padding-top: 0.7rem; padding-bottom: 1.1rem; } - &:is(.ozon) { + &.ozon { padding-top: 0.8rem; padding-bottom: 1.1rem; } - &:is(.yandex_market) { + &.yandex_market { padding-bottom: 0.8rem; } - &:is(.vk) { + &.vk { padding-bottom: 0.4rem; } - &:is(.max) { + &.max { padding-bottom: 0.5rem; } - &:is(.avito) { + &.avito { padding-bottom: 1rem; } } } @media (width < 800px) { - section#companies { - height: 50px; - padding-bottom: 2.5rem; + article#companies { + margin-bottom: 4.5rem; + height: max(50px, min(9vw, 70px)); + font-size: min(2vw, 1rem); } } diff --git a/kodorvan/site/system/public/themes/default/css/elements/disabled/range.css b/kodorvan/site/system/public/themes/default/css/elements/disabled/range.css old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/css/elements/ender.css b/kodorvan/site/system/public/themes/default/css/elements/ender.css new file mode 100755 index 0000000..c4f094c --- /dev/null +++ b/kodorvan/site/system/public/themes/default/css/elements/ender.css @@ -0,0 +1,46 @@ +@charset "UTF-8"; + +div#ender { + z-index: 500; + margin-bottom: var(--main-gap, 2em); + padding: 1.2em; + display: flex; + flex-direction: column; + gap: max(1.5rem, 0.3em); + font-size: 4.5rem; + text-align: center; + color: #fff; + rotate: 2deg; + + >button { + --diameter: 7em; + margin: auto; + width: var(--diameter); + height: var(--diameter); + padding: 0.8em; + border-radius: 100%; + border: calc(var(--diameter) * 0.06) solid #fff; + rotate: -2deg; + background: unset; + backdrop-filter: blur(2px); + + &:is(:hover, :focus) { + background: unset; + filter: brightness(0.7); + } + + &:active { + filter: brightness(0.5); + } + + >img.icon { + width: 100%; + height: 100%; + } + } +} + +/* @media (width < 800px) { + div#ender { + } +} */ diff --git a/kodorvan/site/system/public/themes/default/css/elements/facer.css b/kodorvan/site/system/public/themes/default/css/elements/facer.css new file mode 100755 index 0000000..6ca2728 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/css/elements/facer.css @@ -0,0 +1,479 @@ +@charset "UTF-8"; + +section#facer { + --aside-width: 18em; + --button-height: 3.3em; + --button-padding: 1em; + position: relative; + display: grid; + grid-template-columns: var(--aside-width, 10vw) max(24vw, 22em) var(--aside-width, 10vw); + grid-template-rows: repeat(6, auto); + justify-content: center; + column-gap: 3em; + row-gap: 1em; + + >header { + display: flex; + flex-direction: column; + justify-content: center; + + >h1 { + margin: unset; + padding: unset; + text-align: center; + font-family: "MT Sans"; + font-weight: 400; + color: #fff; + text-shadow: 0px 0px 5px #000B, 0px 2px 2px #000B; + + &:not(+small) { + margin-bottom: 0.5em; + } + + &+span { + margin-top: 0.2em; + margin-bottom: 1em; + text-align: center; + color: #e9e8e2; + text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; + } + + &+small { + margin-bottom: 1em; + text-align: center; + color: #fff; + text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; + } + } + } + + >p.promotion { + margin: unset; + margin: 0 0rem 0.4rem 0rem; + padding: 0.5rem 0.7rem; + text-align: center; + font-size: 1.1rem; + font-weight: 600; + color: #45ff01; + border-radius: 1.25rem; + border: 2px solid #45ff01; + text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; + backdrop-filter: blur(1.2px); + } + + >noscript { + display: flex; + flex-direction: column; + + * { + color: #fff; + } + } + + ul.window { + display: flex; + flex-direction: column; + list-style: none; + background: #557d8d42; + + >li { + padding: 0.8em 0; + border-bottom: 2px solid #61ffe117; + + &:first-of-type { + padding-top: unset; + } + + &:last-of-type { + padding-bottom: unset; + border-bottom: unset; + } + + >:is(strong, b) { + color: #cfeee5; + font-weight: 600; + + /* &.important { + color: #87d089; + } */ + } + } + } + + small.window { + background: #557d8d42; + } + + :is(ul, small).window { + /* padding: 0.6em 1em; */ + padding: 1em 1.2em; + text-align: left; + font-family: "Golos"; + font-size: 0.9em; + font-weight: 500; + color: #98adb1; + border-radius: 1.25rem; + border-top: 1px solid #84d1d52e; + backdrop-filter: blur(2px) contrast(1.14); + /* text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; */ + text-shadow: unset; + + >img.icon { + margin-right: 0.5em; + height: 1.6ch; + vertical-align: baseline; + margin-bottom: -2px; + + &.thunder { + margin-top: -0.2em; + margin-right: 0.3em; + height: 2ch; + vertical-align: top; + } + } + + >:is(strong, b) { + /* display: block; */ + font-weight: 600; + color: #ebdada; + + &.red { + color: #f44; + } + + &.green { + color: #44ff50; + } + + &.blue { + color: #457cff; + } + + &.yellow { + color: #faff50; + } + + &.cyan { + color: #01e8ff; + } + } + + /* >li { + color: #99bc99; + filter: brightness(0.9); + + >:is(strong, b) { + color: #dbf0db; + + &.important { + color: #87d089; + } + } + + &:nth-of-type(2n) { + color: #9fc8d4; + + >:is(strong, b) { + color: #f0d4ff; + + &.important { + color: #6bb9fd; + } + } + } + } */ + } + + >div.partners { + margin-top: 1rem; + padding: 0 1em; + display: flex; + flex-direction: column; + + >div.icon { + height: 24px; + scale: 1.2; + background: linear-gradient(#ffe24c 30%, #b89301 80%); + mask: var(--mask-image) no-repeat center bottom; + } + + >b { + text-align: center; + font-family: Bahnschrift; + font-weight: 600; + font-size: 1.2em; + color: #d6d327; + text-shadow: 0px 0px 5px #FFB54147, 0px 0px 2px #FFAF313D; + } + } + + >small.offer { + margin-top: 1.2rem; + padding: 0 1.5em; + text-align: center; + font-size: 0.8em; + color: #fff; + text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; + + >b { + display: block; + } + } + + >div#contacts_shortcut { + margin-top: 1rem; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.1em; + color: #fff; + + >span { + font-family: Bahnschrift; + font-weight: 600; + } + + >div.sim { + a.number { + margin: unset; + color: #fff; + text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; + + >span { + font-weight: 400; + } + + +small { + font-family: "Bahnschrift"; + font-weight: 100; + text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; + } + } + } + } + + >div.mega { + --border-radius: 1.25rem; + --border-width: 4px; + height: var(--button-height, 60px); + display: flex; + flex-direction: row; + + &:is(:first-child) { + margin-bottom: 1rem; + } + + &:has(>button.delete:is(:hover, :focus)) { + >div.content { + border-color: var(--button-hover-background-color); + } + } + + &:has(>button.delete:active) { + >div.content { + border-color: var(--button-active-background-color); + } + } + + >div.content { + z-index: 100; + flex-grow: 1; + padding: 0.52em 0.6em; + display: flex; + align-items: center; + gap: 0.6em; + border-radius: var(--border-radius, 1.25rem); + border: var(--border-width, 4px) solid #fff; + background: #000; + + >img.icon { + width: auto; + max-height: 3rem; + height: 100%; + } + + >span.value { + font-family: "Golos"; + font-size: 1em; + font-weight: 500; + color: #fff; + } + } + + >button.delete { + --offset-left: calc(var(--border-radius, 1.25rem) + var(--border-width, 4px)); + z-index: 50; + margin-left: calc(var(--offset-left) * -1); + width: calc(var(--button-height, 70px) * 1.3 + var(--button-padding, 1em) + var(--offset-left, 0px)); + height: max(var(--button-height, 70px), 100%); + padding: var(--button-padding, 1em); + padding-left: calc(var(--offset-left) + var(--border-width)); + display: flex; + justify-content: center; + align-items: center; + border-radius: 0 var(--border-radius, 1.25rem) var(--border-radius, 1.25rem) 0; + border: unset; + background: #fff; + + &:is(:hover, :focus) { + background: var(--button-hover-background-color); + } + + &:active { + background: var(--button-active-background-color); + } + + >img.icon { + scale: 1.2; + } + } + } + + >div.adaptive { + /* display: contents; */ + display: flex; + flex-direction: row; + gap: 1rem; + + >* { + width: 100%; + } + + >button#back { + --diameter: 7ch; + --radius: calc(var(--diameter, 4ch) / 2); + width: var(--button-height, 30%); + display: flex; + justify-content: center; + align-items: center; + border: unset; + background-color: var(--button-background-color, #fff); + + position: relative; + left: unset; + top: unset; + margin: unset; + min-width: var(--diameter, 4ch); + width: 30%; + height: auto; + border-radius: 1.25rem; + + &:is(:hover, :focus) { + background-color: var(--button-hover-background-color, #abc7c6); + } + + &:active { + background-color: var(--button-active-background-color, #8fa3a2); + } + + >img { + padding-bottom: 0.15em; + scale: 1.4; + } + } + + >div#buttons { + /* margin-bottom: var(--margin-bottom, 0.8rem); */ + margin-bottom: unset; + flex-direction: row; + justify-content: center; + + >button { + min-width: 100%; + height: var(--button-height, 30%); + /* padding: 1.05em 1.3em 1em; + border-radius: 0.75rem; */ + box-sizing: border-box; + padding: 0 var(--button-padding); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-family: "Golos"; + font-size: 1em; + font-weight: 500; + border-radius: 1.25rem; + border: unset; + background-color: var(--button-background-color, #fff); + + &:is(:hover, :focus) { + background-color: var(--button-hover-background-color, #abc7c6); + } + + &:active { + background-color: var(--button-active-background-color, #8fa3a2); + } + + &#send { + --shadow: 0 4px 5px -4px rgba(0, 0, 0, 0.5); + /* padding: 2.3ch 4.5ch 2.5ch; */ + font-weight: 500; + color: #fff; + text-shadow: 0 0px 0.4em #0004, 0 0 1.7em #000; + border: unset; + background: hsl(var(--button-send-background-color, 120deg) 40% 50%); + box-shadow: var(--shadow); + -webkit-box-shadow: var(--shadow); + -moz-box-shadow: var(--shadow); + transition: background 1.2s ease-out; + + &:not(:disabled) { + filter: contrast(1.1); + + &:is(:hover, :focus) { + >div.color { + filter: brightness(0.6); + } + } + + &:active { + >div.color { + filter: brightness(0.45); + } + } + + /* >div.color { + filter: brightness(0.85); + } */ + } + + &:disabled { + >div.color { + filter: grayscale(1) brightness(0.8); + } + } + } + + &:disabled { + >div.color { + filter: grayscale(1) brightness(0.8); + } + + >small.disabled { + display: initial; + } + } + + >small.disabled { + display: none; + font-size: 0.7em; + } + } + + &:is(#paginator) { + flex-direction: row; + justify-content: center; + + >button { + flex-grow: 1; + } + } + } + } +} + +@media (width < 500px) { + section#facer { + --button-height: 4.5em; + } +} diff --git a/kodorvan/site/system/public/themes/default/css/elements/gradient.css b/kodorvan/site/system/public/themes/default/css/elements/gradient.css old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/css/elements/project.css b/kodorvan/site/system/public/themes/default/css/elements/project.css index c44e363..6bc4423 100755 --- a/kodorvan/site/system/public/themes/default/css/elements/project.css +++ b/kodorvan/site/system/public/themes/default/css/elements/project.css @@ -1,8 +1,9 @@ @charset "UTF-8"; -section#project { +/* section#project { --margin-bottom: 0.8rem; --width: 420px; + --button-height: 3.6rem; z-index: 200; position: relative; margin-top: 3rem; @@ -13,64 +14,60 @@ section#project { box-sizing: border-box; display: flex; flex-direction: column; - gap: 1rem; + gap: 1rem; */ - >div { +article#project { + --shadow: 0px 6px 6px -2px rgba(0, 0, 0, 0.5), 0px 0px 14px 5px rgba(0, 0, 0, 0.4); + position: relative; + padding: 1.8em 1.9em; + display: flex; + flex-direction: column; + gap: 1.4em; + border-radius: 1.25rem; + overflow: hidden; + background-color: #fff; + box-shadow: var(--shadow); + -webkit-box-shadow: var(--shadow); + -moz-box-shadow: var(--shadow); + + &:is(.loading) { + >div.loading { + opacity: 1; + height: 100%; + transition: opacity 0.1s ease-in, height 0s linear 0s; + } + } + + >div.loading { + z-index: 1000; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 0%; display: flex; - flex-direction: column; justify-content: center; + align-items: center; + opacity: 0; + pointer-events: all; + background: #2c2c33d4; + backdrop-filter: blur(1.4px); + transition: opacity 0.2s ease-out, height 0s linear 0.2s; - >h1 { - margin: unset; - padding: unset; + &:before { + margin-top: 50px; + position: absolute; + content: var(--project-loading, "Loading"); + width: max-content; text-align: center; - font-family: "MT Sans"; + font-family: "Geologica"; + font-style: normal; font-weight: 400; + font-size: 0.6rem; color: #fff; - text-shadow: 0px 0px 5px #000B, 0px 2px 2px #000B; - - &:not(+small) { - margin-bottom: 0.5em; - } - - &+span { - margin-top: 0.2em; - margin-bottom: 1em; - text-align: center; - color: #e9e8e2; - text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; - } - - &+small { - margin-bottom: 1em; - text-align: center; - color: #fff; - text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; - } } - } - >section.promotion { - >p { - margin: unset; - margin: 0 0rem 0.4rem 0rem; - padding: 0.5rem 0.7rem; - text-align: center; - font-size: 1.1rem; - font-weight: 600; - color: #45ff01; - border-radius: 1.25rem; - border: 2px solid #45ff01; - text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; - backdrop-filter: blur(1.2px); - } - } - - >noscript { - display: flex; - flex-direction: column; - - * { + >i.icon.loading.spinner { color: #fff; } } @@ -78,9 +75,9 @@ section#project { small.guide { padding: 0 0.2em; display: none; - font-family: Bahnschrift; - font-size: 0.75em; - font-weight: 200; + font-family: Golos; + font-size: 0.65em; + font-weight: 400; color: #29262b; &:is(.active) { @@ -88,202 +85,110 @@ section#project { } } - >article { - --shadow: 0px 6px 6px -2px rgba(0, 0, 0, 0.5), 0px 0px 14px 5px rgba(0, 0, 0, 0.4); + >section { + --shadow: 0px 10px 8px -4px rgba(0, 0, 0, 0.15); position: relative; - padding: 2rem 1.7rem; + height: 100%; display: flex; flex-direction: column; - gap: 1.4rem; - border-radius: 1.25rem; - overflow: hidden; - background-color: #fff; - box-shadow: var(--shadow); - -webkit-box-shadow: var(--shadow); - -moz-box-shadow: var(--shadow); - - &:is(.loading) { - >div.loading { - opacity: 1; - height: 100%; - transition: opacity 0.1s ease-in, height 0s linear 0s; - } - } - - >div.loading { - z-index: 1000; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 0%; - display: flex; - justify-content: center; - align-items: center; - opacity: 0; - pointer-events: all; - background: #2c2c33d4; - backdrop-filter: blur(1.4px); - transition: opacity 0.2s ease-out, height 0s linear 0.2s; - - &:before { - margin-top: 50px; - position: absolute; - content: var(--project-loading, "Loading"); - width: max-content; - text-align: center; - font-family: "Geologica"; - font-style: normal; - font-weight: 400; - font-size: 0.6rem; - color: #fff; - } - - >i.icon.loading.spinner { - color: #fff; - } - } - - >section { - --shadow: 0px 10px 8px -4px rgba(0, 0, 0, 0.15); - position: relative; - display: flex; - flex-direction: column; - gap: 0.8em; - /* overflow: hidden; + gap: 0.8em; + /* overflow: hidden; border-radius: 1.125rem; */ - /* border: 2px solid; + /* border: 2px solid; background-color: #fff; box-shadow: var(--shadow); -webkit-box-shadow: var(--shadow); -moz-box-shadow: var(--shadow); */ - span { - font-family: Bahnschrift; - font-weight: 300; + span { + font-family: Golos; + font-weight: 400; + } + + >:is(section, div) { + height: 100%; + padding: unset; + display: flex; + flex-direction: column; + + >span { + font-size: 0.85em; } - >section { - padding: 0 0.6rem 0 0.2rem; - display: flex; - flex-direction: column; + textarea { + margin-top: 0.2em; + min-width: 100%; + max-width: 100%; + width: 100%; + min-height: 8em; + max-height: 60vh; + resize: vertical; + border-radius: 0.75rem; + } - >span { - font-size: 0.85em; - } + >:is(label, div).input { + --title-height: 0.9em; + display: grid; + grid-template-columns: 1.3em auto; + grid-template-rows: var(--title-height, 1em) repeat(2, auto); + align-items: center; + grid-column-gap: 0.5em; + grid-row-gap: 0.2em; - textarea { - margin-top: 0.2em; - min-width: 100%; - max-width: 100%; - width: 100%; - min-height: 8ch; - max-height: 60vh; - resize: vertical; - } - - >:is(label, div).input.icon { - --title-height: 0.9em; - display: grid; - grid-template-columns: 1.3em auto; - grid-template-rows: var(--title-height, 1em) repeat(2, auto); - align-items: center; - grid-column-gap: 0.5em; - grid-row-gap: 0.2em; - - >img.icon { - grid-column: 1; - grid-row: 2/3; - width: 100%; - } - - >span.title { - grid-column: 2; - grid-row: 1; - /* margin-bottom: 0.2em; */ - font-size: var(--title-height, 1em); - padding: 0 0.5em; - font-weight: 400; - font-family: 'Cascadia Code'; - } - - >:is(input, select, textarea) { - grid-column: 2; - grid-row: 2; - width: 100%; - border-radius: 0; - } + &:is(.total) { + display: flex; + flex-direction: column; + >:is(input, select, textarea), + >span.title, >small.guide { - grid-column: 2; - grid-row: 3; - margin-top: 0.2em; + grid-column: 1/-1; } + + >textarea { + flex-grow: 1; + } + } + + >:is(input, select, textarea) { + grid-column: 2; + grid-row: 2; + /* width: 100%; */ + } + + >img.icon { + grid-column: 1; + grid-row: 2/3; + width: 100%; + } + + >span.title { + grid-column: 2; + grid-row: 1; + /* margin-bottom: 0.2em; */ + font-size: var(--title-height, 1em); + padding: 0 0.5em; + font-weight: 400; + font-family: 'Cascadia Code'; + } + + >small.guide { + grid-column: 2; + grid-row: 3; + margin-top: 0.2em; } } - &:is([data-paginator-page="1"]) { - >section#parameters { - gap: 1rem; + .grow { + flex-grow: 1; + } + } - >div#integrations { - display: flex; - flex-direction: column; - gap: 0.4em; + &:is([data-paginator-page="1"]) { + >section#parameters { + gap: 1rem; - >fieldset { - margin: unset; - width: 100%; - box-sizing: border-box; - display: flex; - flex-flow: row wrap; - gap: 0.6em 1em; - /* border-radius: 0.75rem; */ - border: 1px solid #000; - - >legend { - padding: 0 0.5em 0.1em; - font-family: "Cascadia Code"; - font-size: 0.9rem; - font-weight: 400; - } - - >div.integration { - display: contents; - - >input:is([type="radio"], [type="checkbox"]) { - /* display: none; */ - position: absolute; - width: 0; - height: 0; - opacity: 0; - pointer-events: none; - - &:checked+label { - /* font-weight: 600; */ - border-color: #000; - color: #000; - } - - &:not(:checked):is(:hover, :focus)+label, - &:not(:checked)+label:hover { - border-bottom: 1px dashed #111; - color: #111; - } - - &+label { - cursor: pointer; - border-bottom: 1px solid transparent; - color: #2e4043; - } - } - } - } - } - } - - >section#team { - padding: 0 0.6em; + >div#integrations { display: flex; flex-direction: column; gap: 0.4em; @@ -293,7 +198,7 @@ section#project { width: 100%; box-sizing: border-box; display: flex; - justify-content: space-between; + flex-flow: row wrap; gap: 0.6em 1em; /* border-radius: 0.75rem; */ border: 1px solid #000; @@ -305,795 +210,627 @@ section#project { font-weight: 400; } - >label { - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - gap: 0.3rem; + >div.integration { + display: contents; - >input[type="number"] { - appearance: textfield; - -moz-appearance: textfield; - width: 80%; - /* padding: 0.4em 0.6em 0.4em 1.2em; */ - padding: 0.4em 0.6em; - box-sizing: border-box; - text-align: center; - font-family: Nunito; - font-weight: 400; - font-size: 1em; - outline: unset; - border: unset; - border-bottom: 1px solid #000; - background: unset; + >input:is([type="radio"], [type="checkbox"]) { + /* display: none; */ + position: absolute; + width: 0; + height: 0; + opacity: 0; + pointer-events: none; - &::-webkit-outer-spin-button, - &::-webkit-inner-spin-button { - -webkit-appearance: none; - display: none; + &:checked+label { + /* font-weight: 600; */ + border-color: #000; + color: #000; + } + + &:not(:checked):is(:hover, :focus)+label, + &:not(:checked)+label:hover { + border-bottom: 1px dashed #111; + color: #111; + } + + &+label { + cursor: pointer; + border-bottom: 1px solid transparent; + color: #2e4043; } } - - >span { - font-size: 0.9em; - cursor: pointer; - } - } - } - } - - >section#reward { - padding: 0.4em 0.6em 0; - - >label { - position: relative; - display: flex; - flex-direction: column; - gap: 0.6em; - - >span.title { - padding: unset; - font-family: 'Cascadia Code'; - font-weight: 400; - font-size: 0.9rem; - } - - >div.row { - --height: 1.8rem; - position: relative; - width: 100%; - height: var(--height); - display: flex; - align-items: center; - - >input[type="number"] { - appearance: textfield; - -moz-appearance: textfield; - margin: unset; - width: 5ch; - height: var(--height, 1.35rem); - padding: unset; - box-sizing: border-box; - font-size: 1rem; - text-align: right; - outline: unset; - /* border: 2px solid #000; */ - border: unset; - background: unset; - - &::-webkit-outer-spin-button, - &::-webkit-inner-spin-button { - -webkit-appearance: none; - display: none; - } - - +span.currency { - margin-left: 0.2em; - padding-top: 0.1em; - font-family: Nunito; - font-size: 0.9em; - font-weight: 400; - - &:is(.rubles) { - &:after { - content: '₽'; - } - } - } - } - - >input[type="range"] { - --range-height: 6px; - --range-border-radius: 2px; - margin-top: 0.2em; - margin-left: 1rem; - /* appearance: none; */ - width: 100%; - background: unset; - - &:focus { - outline: unset; - } - - &:is(:hover, :focus) { - &::-moz-range-thumb { - background-color: #bdd2c8; - } - - &::-webkit-slider-thumb { - background-color: #bdd2c8; - } - } - - &:active { - &::-moz-range-thumb { - background-color: #507274; - } - - &::-webkit-slider-thumb { - background-color: #507274; - } - } - - &:is(.connected) { - &::-ms-track { - border-radius: 0.4rem; - border-top-left-radius: unset; - border-bottom-left-radius: unset; - border-left: unset; - /* transition: 0.2s ease-in; */ - } - - &::-moz-range-thumb { - border-radius: 0.4rem; - border-top-left-radius: unset; - border-bottom-left-radius: unset; - border-left: unset; - /* transition: 0.2s ease-in; */ - } - } - - &::-webkit-slider-runnable-track { - height: var(--range-height, 6px); - box-sizing: border-box; - border-radius: var(--range-border-radius, 2px); - border: 1px solid #000; - outline: unset; - background-color: #fff; - } - - &::-moz-range-track { - height: var(--range-height, 6px); - box-sizing: border-box; - border-radius: var(--range-border-radius, 2px); - border: 1px solid #000; - background-color: #fff; - } - - &::-moz-range-thumb { - --diameter: 1.5rem; - margin-top: 0; - width: var(--diameter, 1.5rem); - height: var(--diameter, 1.5rem); - box-sizing: border-box; - border-radius: 100%; - border: 2px solid; - background-color: #fff; - /* transition: 0s, background 0.1s ease-in; */ - } - - &::-webkit-slider-thumb { - -webkit-appearance: none; - --diameter: 1.5rem; - width: var(--diameter, 1.5rem); - height: var(--diameter, 1.5rem); - margin-top: -5px; - box-sizing: border-box; - border-radius: 0.4rem; - border: 2px solid; - outline: unset; - /* background-color: var(--color-by-value, #fff); */ - background-color: #fff; - /* transition: 0s, background 0.1s ease-in; */ - } - - &::-ms-track { - /* margin-top: 0; */ - width: 7ch; - height: var(--height, 1.35rem); - box-sizing: border-box; - border-radius: 0.4rem; - border: 2px solid; - outline: unset; - /* background-color: var(--color-by-value, #fff); */ - background-color: #fff; - /* transition: 0s, background 0.1s ease-in; */ - } - - &::-moz-range-progress { - height: var(--range-height, 6px); - box-sizing: border-box; - border-radius: unset; - border-top-left-radius: var(--range-border-radius, 2px); - border-bottom-left-radius: var(--range-border-radius, 2px); - border-left: 1px solid #000; - background-color: #000; - } - } - } - - >small.guide { - padding: unset; } } } } - &:is([data-paginator-page="2"]) { + >section#team { + padding: 0 0.6em; display: flex; flex-direction: column; + gap: 0.4em; - >section#metadata { - gap: 1rem; + >fieldset { + margin: unset; + width: 100%; + box-sizing: border-box; + display: flex; + justify-content: space-between; + gap: 0.6em 1em; + /* border-radius: 0.75rem; */ + border: 1px solid #000; - >label#project_name { - >img.icon { - padding-bottom: 1px; - } - } - - >label#project_description { - >img.icon { - align-self: start; - padding-top: 1px; - } - } - - >div#project_files { - >img.icon { - grid-row: 1; - align-self: start; - } - - >div { - --padding-vertical: 1.7em; - grid-row: 1/3; - position: relative; - min-height: 6ch; - height: min-content; - padding: 0 1.3em var(--padding-vertical, 1em); - display: flex; - flex-direction: column; - justify-content: start; - align-items: center; - gap: 0.2rem; - - &:has(>input[type="file"]:is(:hover, :focus)) { - >label.pseudoinput { - background-color: #e7e6e0; - } - } - - &:has(>input[type="file"]:active) { - >label.pseudoinput { - background-color: #c0bfb4; - } - } - - >span.title { - z-index: 60; - margin: unset; - margin-top: calc(var(--padding-vertical, 1em) + 0.3em); - font-family: Bahnschrift; - font-size: 0.9em; - font-weight: 400; - pointer-events: none; - } - - >ol.files { - z-index: 50; - margin: unset; - margin-top: 0.2em; - padding: unset; - display: flex; - flex-direction: column; - gap: 0.2em; - font-size: 0.8em; - list-style: numbered; - - &:empty { - display: none; - } - - >li { - position: relative; - height: 1.3em; - box-sizing: border-box; - line-height: 1.1em; - - &:has(>button:is(:hover, :focus)) { - border-bottom: 1px dashed #000; - } - - &:has(>button:active) { - border-bottom: 1px solid #000; - } - - >button.delete { - position: absolute; - top: -0.05em; - right: -1.7em; - height: 1.3em; - padding: 0.15em; - border: unset; - background: unset; - - >img { - width: 100%; - height: 100%; - display: block; - } - - &:is(:hover, :focus) { - background-color: #3302; - } - - &:active { - background-color: #3304; - } - } - } - } - - >small.guide { - z-index: 60; - text-align: center; - pointer-events: none; - } - - >label.pseudoinput { - z-index: 0; - position: absolute; - width: 100%; - height: 100%; - box-sizing: border-box; - cursor: context-menu; - border: 1px dashed #000; - - &:is(:hover, :focus) { - >label.pseudoinput { - background-color: #e7e6e0; - } - } - - &:active { - >label.pseudoinput { - background-color: #c0bfb4; - } - } - } - - >input[type="file"] { - position: absolute; - width: 0; - height: 0; - opacity: 0; - pointer-events: none; - } - } - } - } - } - - &:is([data-paginator-page="3"]) { - >section#requester { - gap: 1rem; - - >label#requester_name { - >img.icon {} - } - - >label#requester_sim { - >img.icon {} - } - - >label#requester_mail { - >img.icon { - padding-top: 0.2em; - } - } - - >label#requester_other { - >img.icon { - align-self: start; - padding-top: 1px; - } - - >textarea { - align-self: start; - max-height: 30vh; - } - } - } - - >section#confirmation { - margin-top: 0.5em; - padding: unset; - align-items: center; - gap: unset; - - >label#requester_personal { - padding: 0.6em 0.8em; - box-sizing: border-box; - display: flex; - align-items: center; - gap: 0.7ch; + >legend { + padding: 0 0.5em 0.1em; + font-family: "Cascadia Code"; font-size: 0.9rem; - cursor: pointer; - border-radius: 1.25rem; + font-weight: 400; + } - &:has(>div>input:is(:hover, :focus)), - &:is(:hover, :focus) { - background-color: #e7e6e0; - } + >label { + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + gap: 0.3rem; - &:has(>div>input:active), - &:active { - background-color: #c0bfb4; - } + >input[type="number"] { + appearance: textfield; + -moz-appearance: textfield; + width: 80%; + /* padding: 0.4em 0.6em 0.4em 1.2em; */ + padding: 0.4em 0.6em; + box-sizing: border-box; + text-align: center; + font-family: Nunito; + font-weight: 400; + font-size: 1em; + outline: unset; + border: unset; + border-bottom: 1px solid #000; + background: unset; - >div { - scale: 0.8; - - >input { - position: absolute; - width: 0; - height: 0; - opacity: 0; - pointer-events: none; - - &:checked { - +img { - --display: none; - - +img { - --display: block; - } - } - } - - &:not(:checked) { - +img { - --display: block; - - +img { - --display: none; - } - } - } - } - - >img { - padding-bottom: 0.1ch; + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + display: none; } } >span { - margin-top: 0.15ch; + font-size: 0.9em; + cursor: pointer; } } } } - &:is(#result) { - padding-top: unset; - padding-bottom: unset; - display: flex; + >section#reward { + padding: 0.4em 0.6em 0; - >section#calculated { - width: 100%; - box-sizing: border-box; + >label { + position: relative; display: flex; flex-direction: column; - gap: 0.2em; + gap: 0.6em; - >div { - >p { + >span.title { + padding: unset; + font-family: 'Cascadia Code'; + font-weight: 400; + font-size: 0.9rem; + } + + >div.row { + --height: 1.8rem; + position: relative; + width: 100%; + height: var(--height); + display: flex; + align-items: center; + + >input[type="number"] { + appearance: textfield; + -moz-appearance: textfield; margin: unset; - width: 100%; - display: inline-flex; - gap: 0.2em; - align-items: baseline; + width: 5ch; + height: var(--height, 1.35rem); + padding: unset; + box-sizing: border-box; + font-size: 1rem; + text-align: right; + outline: unset; + /* border: 2px solid #000; */ + border: unset; + background: unset; - >span.title { - margin-right: 0.4em; - width: 45%; - text-align: right; - font-family: Bahnschrift; - font-weight: 300; + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + display: none; } - >span.currency { - font-family: "Cascadia Code"; + +span.currency { + margin-left: 0.2em; + padding-top: 0.1em; + font-family: Nunito; + font-size: 0.9em; font-weight: 400; - &:after { - margin-left: 0.2em; - content: var(--currency, '?'); - font-family: Nunito; - font-size: 0.9em; - font-weight: 600; - } - } - - >span.amount { - font-size: 0.9em; - color: #4d4848; - } - } - - &:is(#hours) { - >p { - >span.hours { - font-family: "Cascadia Code"; - font-weight: 400; - + &:is(.rubles) { &:after { - content: var(--hours, 'h'); - } - } - - >span.days { - margin-left: 0.2em; - font-size: 0.9em; - color: #4d4848; - - &:before { - content: '('; - } - - &:after { - content: var(--days, 'd') ')'; + content: '₽'; } } } } + + >input[type="range"] { + --range-height: 6px; + --range-border-radius: 2px; + margin-top: 0.2em; + margin-left: 1rem; + /* appearance: none; */ + width: 100%; + background: unset; + + &:focus { + outline: unset; + } + + &:is(:hover, :focus) { + &::-moz-range-thumb { + background-color: #bdd2c8; + } + + &::-webkit-slider-thumb { + background-color: #bdd2c8; + } + } + + &:active { + &::-moz-range-thumb { + background-color: #507274; + } + + &::-webkit-slider-thumb { + background-color: #507274; + } + } + + &:is(.connected) { + &::-ms-track { + border-radius: 0.4rem; + border-top-left-radius: unset; + border-bottom-left-radius: unset; + border-left: unset; + /* transition: 0.2s ease-in; */ + } + + &::-moz-range-thumb { + border-radius: 0.4rem; + border-top-left-radius: unset; + border-bottom-left-radius: unset; + border-left: unset; + /* transition: 0.2s ease-in; */ + } + } + + &::-webkit-slider-runnable-track { + height: var(--range-height, 6px); + box-sizing: border-box; + border-radius: var(--range-border-radius, 2px); + border: 1px solid #000; + outline: unset; + background-color: #fff; + } + + &::-moz-range-track { + height: var(--range-height, 6px); + box-sizing: border-box; + border-radius: var(--range-border-radius, 2px); + border: 1px solid #000; + background-color: #fff; + } + + &::-moz-range-thumb { + --diameter: 1.5rem; + margin-top: 0; + width: var(--diameter, 1.5rem); + height: var(--diameter, 1.5rem); + box-sizing: border-box; + border-radius: 100%; + border: 2px solid; + background-color: #fff; + /* transition: 0s, background 0.1s ease-in; */ + } + + &::-webkit-slider-thumb { + -webkit-appearance: none; + --diameter: 1.5rem; + width: var(--diameter, 1.5rem); + height: var(--diameter, 1.5rem); + margin-top: -5px; + box-sizing: border-box; + border-radius: 0.4rem; + border: 2px solid; + outline: unset; + /* background-color: var(--color-by-value, #fff); */ + background-color: #fff; + /* transition: 0s, background 0.1s ease-in; */ + } + + &::-ms-track { + /* margin-top: 0; */ + width: 7ch; + height: var(--height, 1.35rem); + box-sizing: border-box; + border-radius: 0.4rem; + border: 2px solid; + outline: unset; + /* background-color: var(--color-by-value, #fff); */ + background-color: #fff; + /* transition: 0s, background 0.1s ease-in; */ + } + + &::-moz-range-progress { + height: var(--range-height, 6px); + box-sizing: border-box; + border-radius: unset; + border-top-left-radius: var(--range-border-radius, 2px); + border-bottom-left-radius: var(--range-border-radius, 2px); + border-left: 1px solid #000; + background-color: #000; + } + } + } + + >small.guide { + padding: unset; } } } } - >section#calculated { - >.hidden { - /* opacity: 0; */ - } - } - } - - >div.adaptive { - /* display: contents; */ - margin-bottom: var(--margin-bottom, 0.8rem); - display: flex; - flex-direction: row; - gap: 1rem; - - >* { - width: 100%; - } - - >button#back { - --diameter: 7ch; - --radius: calc(var(--diameter, 4ch) / 2); - /* position: absolute; - left: calc(-1.2rem - var(--diameter, 4ch)); - top: calc(10rem - var(--radius, 2ch)); */ - /* width: var(--diameter, 4ch); */ - /* height: var(--diameter, 4ch); */ + &:is([data-paginator-page="2"]) { display: flex; - justify-content: center; - align-items: center; - /* border-radius: 100%; */ - border: unset; - background-color: var(--button-background-color, #fff); + flex-direction: column; - position: relative; - left: unset; - top: unset; - margin: unset; - min-width: var(--diameter, 4ch); - width: 30%; - height: auto; - border-radius: 1.25rem; + >div#metadata { + gap: 1.4em; - &:is(:hover, :focus) { - background-color: var(--button-hover-background-color, #abc7c6); - } - - &:active { - background-color: var(--button-active-background-color, #8fa3a2); - } - - >img { - padding-bottom: 0.15em; - scale: 1.2; - } - } - - >section#buttons { - /* margin-bottom: var(--margin-bottom, 0.8rem); */ - margin-bottom: unset; - flex-direction: row; - justify-content: center; - - >button { - min-width: 100%; - /* padding: 1.05em 1.3em 1em; - border-radius: 0.75rem; */ - box-sizing: border-box; - padding: 1.25em 1.3em 1.2em; - font-size: 1rem; - border-radius: 1.25rem; - border: unset; - background-color: var(--button-background-color, #fff); - - &:is(:hover, :focus) { - background-color: var(--button-hover-background-color, #abc7c6); + >label#project_name { + >img.icon { + padding-bottom: 1px; + } } - &:active { - background-color: var(--button-active-background-color, #8fa3a2); + >label#project_description { + >img.icon { + align-self: start; + padding-top: 1px; + } } - &:is(#send) { - --shadow: 0 4px 5px -4px rgba(0, 0, 0, 0.5); - /* padding: 2.3ch 4.5ch 2.5ch; */ - font-weight: 600; - font-size: 1rem; - color: #fff; - text-shadow: 0 0 4px #000, 0 3px 1.4rem #0009; - border: unset; - background: hsl(var(--button-send-background-color, 120deg) 40% 50%); - box-shadow: var(--shadow); - -webkit-box-shadow: var(--shadow); - -moz-box-shadow: var(--shadow); - transition: background 1.2s ease-out; + >div#project_files { + --padding-vertical: 1.7em; + --outline-padding: 0.3em; + grid-row: 1/3; + position: relative; + min-height: 6ch; + height: min-content; + padding: 0 1.3em var(--padding-vertical, 1em); + display: flex; + flex-direction: column; + justify-content: start; + align-items: center; + gap: 0.2rem; - &:not(:disabled) { - filter: contrast(1.1); + /* &:is(:hover, :focus) { + --outline-padding: 0.4em; + } */ + + &:has(>input[type="file"]:is(:hover, :focus)) { + >label.pseudoinput { + background-color: #d0f8ed; + } + } + + &:has(>input[type="file"]:active) { + >label.pseudoinput { + background-color: #a5e0d0; + } + } + + >span.title { + z-index: 60; + margin: unset; + margin-top: calc(var(--padding-vertical, 1em) + 0.25em); + font-family: Bahnschrift; + font-size: 0.9em; + font-weight: 400; + pointer-events: none; + } + + >ol.files { + z-index: 50; + margin: unset; + margin-top: 0.2em; + padding: unset; + display: flex; + flex-direction: column; + gap: 0.2em; + font-size: 0.8em; + list-style: numbered; + + &:empty { + display: none; + } + + >li { + position: relative; + height: 1.3em; + box-sizing: border-box; + line-height: 1.1em; + + &:has(>button:is(:hover, :focus)) { + border-bottom: 1px dashed #000; + } + + &:has(>button:active) { + border-bottom: 1px solid #000; + } + + >button.delete { + position: absolute; + top: -0.05em; + right: -1.7em; + height: 1.3em; + padding: 0.15em; + border: unset; + background: unset; + + >img { + width: 100%; + height: 100%; + display: block; + } + + &:is(:hover, :focus) { + background-color: #3302; + } + + &:active { + background-color: #3304; + } + } + } + } + + >small.guide { + z-index: 60; + text-align: center; + pointer-events: none; + } + + >label.pseudoinput { + z-index: 0; + position: absolute; + margin-top: var(--outline-padding); + width: calc(100% - var(--outline-padding, 0px) * 2); + height: calc(100% - var(--outline-padding, 0px) * 2); + box-sizing: border-box; + cursor: context-menu; + border-radius: 0.75rem; + outline: 1px dashed #000; + outline-offset: var(--outline-padding, 0px); + /* transition: width 0.1s ease-in, outline-offset 0.1s ease-in; */ &:is(:hover, :focus) { - >div.color { - filter: brightness(0.6); + >label.pseudoinput { + background-color: #d0f8ed; } } &:active { - >div.color { - filter: brightness(0.45); + >label.pseudoinput { + background-color: #a5e0d0; + } + } + } + + >input[type="file"] { + position: absolute; + width: 0; + height: 0; + opacity: 0; + pointer-events: none; + } + } + } + } + + &:is([data-paginator-page="3"]) { + >section#requester { + gap: 1.4em; + + >label#requester_name { + >img.icon {} + } + + >label#requester_sim { + >img.icon {} + } + + >label#requester_mail { + >img.icon { + padding-top: 0.2em; + } + } + + >label#requester_other { + >img.icon { + align-self: start; + padding-top: 1px; + } + + >textarea { + align-self: start; + max-height: 30vh; + } + } + } + + >section#confirmation { + margin-top: 0.5em; + padding: unset; + align-items: center; + gap: unset; + + >label#requester_personal { + padding: 0.6em 0.8em; + box-sizing: border-box; + display: flex; + align-items: center; + gap: 0.6em; + font-size: 0.7em; + cursor: pointer; + border-radius: 1.25rem; + + &:has(>div>input:is(:hover, :focus)), + &:is(:hover, :focus) { + background-color: #e7e6e0; + } + + &:has(>div>input:active), + &:active { + background-color: #c0bfb4; + } + + >span.icon { + scale: 0.8; + + >input { + position: absolute; + width: 0; + height: 0; + opacity: 0; + pointer-events: none; + + &:checked { + +img { + --display: none; + + +img { + --display: block; + } + } + } + + &:not(:checked) { + +img { + --display: block; + + +img { + --display: none; + } + } } } - /* >div.color { - filter: brightness(0.85); - } */ + >img { + padding-bottom: 0.1ch; + } } - &:disabled { - >div.color { - filter: grayscale(1) brightness(0.8); + >span.text { + margin-top: 0.15ch; + } + } + } + } + + &:is(#result) { + padding-top: unset; + padding-bottom: unset; + display: flex; + + >section#calculated { + width: 100%; + box-sizing: border-box; + display: flex; + flex-direction: column; + gap: 0.2em; + + >div { + >p { + margin: unset; + width: 100%; + display: inline-flex; + gap: 0.2em; + align-items: baseline; + + >span.title { + margin-right: 0.4em; + width: 45%; + text-align: right; + font-family: Bahnschrift; + font-weight: 300; + } + + >span.currency { + font-family: "Cascadia Code"; + font-weight: 400; + + &:after { + margin-left: 0.2em; + content: var(--currency, '?'); + font-family: Nunito; + font-size: 0.9em; + font-weight: 600; + } + } + + >span.amount { + font-size: 0.9em; + color: #4d4848; + } + } + + &:is(#hours) { + >p { + >span.hours { + font-family: "Cascadia Code"; + font-weight: 400; + + &:after { + content: var(--hours, 'h'); + } + } + + >span.days { + margin-left: 0.2em; + font-size: 0.9em; + color: #4d4848; + + &:before { + content: '('; + } + + &:after { + content: var(--days, 'd') ')'; + } + } } } } } - - &:is(#paginator) { - flex-direction: row; - justify-content: center; - - >button { - flex-grow: 1; - } - } } } - >small:is(.description, .technologies, .guarantee) { - padding: 0.9em 1.2em; - text-align: left; - font-family: Nunito; - font-size: 0.9em; - color: #d6c1c1; - background: #a5c2c724; - border-radius: 1.25rem; - border-top: 1px solid #84d1d52e; - backdrop-filter: blur(2px) contrast(1.14); - /* text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; */ - text-shadow: unset; - - >img.icon { - margin-right: 0.2em; - height: 2ch; - padding-top: 0.1em; - vertical-align: top; - } - - >:is(strong, b) { - /* display: block; */ - font-weight: 600; - color: #ebdada; - } - } - - /* >small.description {} - - >small.guarantee {} */ - - >div.partners { - margin-top: 1.4rem; - margin-bottom: 0.5rem; - padding: 0 1em; - display: flex; - flex-direction: column; - - >div.icon { - height: 24px; - scale: 1.2; - background: linear-gradient(#ffe24c 30%, #b89301 80%); - mask: var(--mask-image) no-repeat center bottom; - } - - >b { - text-align: center; - font-family: Bahnschrift; - font-weight: 600; - font-size: 1.2em; - color: #d6d327; - text-shadow: 0px 0px 5px #FFB54147, 0px 0px 2px #FFAF313D; - } - } - - >small.offer { - margin-top: 1.2rem; - padding: 0 1.5em; - text-align: center; - font-size: 0.8em; - color: #fff; - text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; - - >b { - display: block; - } - } - - >section#contacts_shortcut { - display: flex; - flex-direction: column; - align-items: center; - gap: 0.1em; - color: #fff; - - >span { - font-family: Bahnschrift; - font-weight: 600; - } - - >div.sim { - a.number { - margin: unset; - color: #fff; - text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; - - >span { - font-weight: 400; - } - - +small { - font-family: "Bahnschrift"; - font-weight: 100; - text-shadow: 0px 1px 3px #000C, 0px 1px 1px #000B; - } - } + >section#calculated { + >.hidden { + /* opacity: 0; */ } } } @@ -1131,6 +868,20 @@ section#project { } } +@media (width < 500px) { + article#project { + >section { + >:is(section, div) { + >:is(label, div).input { + >:is(input, select, textarea) { + width: 100%; + } + } + } + } + } +} + @media (width < 480px) { section#project { >article { diff --git a/kodorvan/site/system/public/themes/default/css/elements/superpacks.css b/kodorvan/site/system/public/themes/default/css/elements/superpacks.css index f1928ff..15577bf 100755 --- a/kodorvan/site/system/public/themes/default/css/elements/superpacks.css +++ b/kodorvan/site/system/public/themes/default/css/elements/superpacks.css @@ -1,487 +1,455 @@ @charset "UTF-8"; section#superpacks { + --vignette: #ccc9c9; position: relative; + margin-bottom: var(--main-gap, 2em); padding-bottom: 5rem; display: flex; - background: #fff; + border-radius: 0 0 4rem 4rem; + background: linear-gradient(90deg, var(--vignette) 0%, #fff 20%, #fff 80%, var(--vignette) 100%); + + >div.separator { + --mask-size: 100vw; + z-index: 100; + position: absolute; + top: -15.6vw; + width: var(--mask-size); + aspect-ratio: 700/250; + pointer-events: none; + background: red; + background: radial-gradient(circle, hsl(calc(var(--scroll-deg, 0deg) * 4 + -40deg) 100% 50%) 40%, #000 110%); + mask: var(--mask); + } >h1 { - --padding-top: 1.2vw; - position: relative; - /* margin-top: var(--padding-top, 0px); */ - margin-top: unset; - margin-bottom: 3rem; - width: 100%; - height: 105px; - display: flex; + --letter-spacing: max(calc(var(--scroll-px-hundred) * -6 + 0.5em), 0.1em); + z-index: 500; + margin: unset; + margin-top: calc(-0.85em + 5vw); + padding-left: var(--letter-spacing); + display: inline-flex; justify-content: center; - pointer-events: none; - scale: 1.4; - transform-origin: top; + align-items: center; + text-align: center; + font-family: Golos; + /* font-size: 11rem; */ + font-size: min(11rem, 9.5vw); + font-weight: min(calc(var(--scroll) / 2 + 200), 800); + line-height: 0.9em; + letter-spacing: var(--letter-spacing); + color: transparent; + /* background: linear-gradient(90deg, #540000, #000, #000, #120052) text; */ + background: linear-gradient(180deg, #a7ffda, #ceeaff) text; + transform: perspective(1em) rotateX(4deg); + filter: drop-shadow(0 0.03em 0.02em #0006) drop-shadow(0 0.06em 0.1em #0007); + transition: + letter-spacing 0.1s ease-in-out, + padding 0.1s ease-in-out, + font-weight 0.12s ease-in; + } - /* &:before { - content: ''; - border-bottom: 0.65vw solid #1f5a58; - position: absolute; - bottom: 0; - width: 12.8%; - } */ + >h2 { + margin: unset; + margin-top: 1.5em; + width: min(66rem, 70vw); + font-family: Golos; + font-size: max(2.7rem, min(4.5vw, 4.3rem)); + font-weight: 650; + text-align: center; + } - >img.layer { - z-index: 30; - position: absolute; - padding-left: 3.2vw; - width: 100%; - height: 5vw; + >p.description { + margin-bottom: 1.8em; + width: min(65.5rem, 69vw); + font-family: Golos; + font-size: max(1.5rem, min(2vw, 1.8rem)); + font-weight: 450; + line-height: 1.45em; + color: #2a455d; - &:is(.packs) { - margin-left: 3px; - } + >span.quality { + color: #000; + background: #00cfff; } - >div.labubumba { - --mask-size: 72vw; - position: absolute; - top: -7.4vw; - width: 72vw; - height: 17.2vw; - background: red; - background: radial-gradient(circle, red 12vw, #000 50vw); - background: radial-gradient(circle, hsl(calc(var(--scroll-deg, 0deg) * 12) 100% 50%) 12vw, #000 50vw); - mask: var(--mask); - clip-path: polygon(0 0, 0 100%, 39% 100%, 39% 46.5%, 61% 46.5%, 61% 100%, 100% 100%, 100% 0); + >span.cost { + color: #000; + background: #03ff65; } } >div.flow { - --row-amount: 3; - --row-amount-protected: min(max(1, var(--row-amount, 1)), 4); - --gap: 1rem; - width: var(--width); + --gap-column: 4rem; + margin-top: 2em; + margin-bottom: 3em; + width: 70vw; box-sizing: border-box; display: flex; flex-flow: row wrap; justify-content: space-between; - gap: var(--gap); + column-gap: var(--gap-column); + row-gap: 4em; + font-family: "Golos"; + font-size: 1.7rem; >article.superpack { - --superpack-width: max(250px, round(down, calc(var(--width) / var(--row-amount-protected, 2) - (var(--gap, 0px) * 0.5 * (var(--row-amount-protected, 2) - 1))), 1px)); - /* i do not know what have i done */ - /* --superpack-width: max(250px, calc(round(down, round(nearest, var(--width) / var(--row-amount-protected, 2), 1px) - round(up, var(--gap) / (var(--row-amount-protected, 2)), 1px), var(--gap)) + var(--gap) / var(--row-amount-protected))); */ - --icon-background-color: #261d1b; - --background-color: #3f312e; + /* --cover-width: min(13vw, 220px); */ + --cover-width: 220px; + --cover-height: 330px; + --cost-offset-top: -2.7rem; + --cost-offset-aside: -0.8rem; + --buttons-amount: 1; position: relative; - min-width: 250px; - width: var(--superpack-width); - min-height: 450px; + width: calc(50% - var(--gap-column, 2rem) / 2); + padding: unset; box-sizing: border-box; - padding: 1.2rem 0 0; - display: flex; - flex-direction: column; - align-items: center; - color: #fff; - transition: width 0.2s cubic-bezier(0.5, 0, 0, 1); + display: grid; + grid-template-columns: var(--cover-width, 40%) auto; + grid-template-rows: var(--cover-height, 330px) repeat(var(--buttons-amount, 1), 2em); + column-gap: 2.5rem; + row-gap: 1rem; + /* transform: perspective(220px) rotateY(1deg); */ - &:is(.telegram.voronka) { - --icon-background-color: #1a82b6; - --background-color: #27a6e6; - } + &.full { - &:is(.parser) { - --icon-background-color: #996405; - /* --background-color: #fcfd1e; */ - --background-color: #e58523; - } - - &:is(.calculator) { - --icon-background-color: #a93737; - --background-color: #d24545; - } - - >i.icon { - position: absolute; - margin-top: -1rem; - color: #000; - - &:is(.left) { - justify-self: start; + >img.cover, + >section.short { + z-index: 0; + opacity: 0; + transition: opacity 0.1s ease-out; } - &:is(.center) { - justify-self: center; - } - - &:is(.right) { - justify-self: end; - } - - &:is(.crown) { - top: 1.2em; - } - - &:is(.search) { - top: 1em; - } - - &:is(.file.document) { - top: 1em; - } - - &:is(.calculator) { - top: 0.8em; - } - } - - >div.head { - --border-height: 20px; - --border-gap: 0.4em; - z-index: 50; - position: relative; - width: 100%; - height: calc(2.6em + var(--border-height, 0px) - 0.75rem + var(--border-gap, 0px)); - box-sizing: border-box; - display: flex; - justify-content: center; - align-items: start; - /* text-shadow: 0px -0.03em 0.24em #000000b3, 0px -0.03em 1em #00000087; */ - - &:after { - z-index: -100; - position: absolute; - bottom: -0.75rem; - left: 0; - content: ''; - width: 100%; - height: var(--border-height); - border-radius: 0.75rem 0.75rem 0 0; - background-color: var(--background-color); - } - - >h4 { - z-index: 200; - margin: unset; - display: flex; - font-family: "Bahnschrift"; - font-size: 1.4rem; - font-weight: 400; - color: #000; - } - } - - >div.body { - --superpack-body-padding: 1rem; - /* --shadow: 0px 0.8em 40px 1.7em rgba(0, 0, 0, 0.4); */ - z-index: 100; - position: relative; - flex-grow: 1; - width: 100%; - height: 100%; - box-sizing: border-box; - padding: var(--superpack-body-padding, 1rem); - display: flex; - flex-direction: column; - gap: 1em; - overflow: hidden; - border-radius: 0.75rem; - background-color: #130d0d; - /* box-shadow: var(--shadow); - -webkit-box-shadow: var(--shadow); - -moz-box-shadow: var(--shadow); */ - - >span.canceled { - z-index: 999; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - box-sizing: border-box; - padding: 0.6em 0 0.6em; - display: flex; - justify-content: center; - align-items: center; - font-weight: 400; - font-family: Industry; - text-transform: uppercase; - border-top: 1px solid #ff070780; - color: #ffe2d8; - background-color: #691515d1; - transform-origin: left bottom; - text-shadow: 0px 2px 2px black; - /* backdrop-filter: blur(1px); */ - mix-blend-mode: hard-light; - } - - >div.icon { - --diameter: 60px; + >section.full { z-index: 500; - position: absolute; - justify-content: center; - align-items: center; - left: calc(var(--diameter) / -2.5); - margin-top: calc(var(--diameter) / -2.5); - width: var(--diameter); - height: var(--diameter); - display: flex; - border-radius: 100%; - background-color: var(--background-color); + opacity: 1; + pointer-events: all; + transition: opacity 0.1s ease-in; + } - &:before { - --border-size: 6px; - content: ''; - margin: auto; - width: calc(100% - var(--border-size) * 2); - height: calc(100% - var(--border-size) * 2); - display: block; - border-radius: 100%; - background-color: var(--icon-background-color, #fff); - } + >div.buttons { - >i.icon { - position: absolute; - color: #fff; + >button, + >a.button { + --transition-margin: margin 0.1s ease-in; + --transition-opacity: opacity 0.1s ease-in; + --transition-border-radius: border-radius 0.08s ease-in; - * { + &.toggler { + margin-left: 1rem; + flex-grow: 0; + width: 0px; + + >span.text { + opacity: 0; + transition: opacity 0.1s ease-in; + } + + >img.icon { + opacity: 1; + /* scale: 1.2; */ + transition: opacity 0.08s ease-in 0.12s, scale 0.1s ease-in; + } + } + + &.chooser { + flex-grow: 1; + min-width: unset; + width: 100%; + opacity: 1; + border-radius: 1.25rem; color: #fff; } } } + } + + &.reversed { + grid-template-columns: auto var(--cover-width, 40%); + /* transform: perspective(220px) rotateY(-1deg); */ + + >img.cover { + grid-column: 2; + } + + >section.short { + grid-column: 1; + + >h1.title { + text-align: right; + } + + >p.description { + text-align: right; + } + + >ul.features { + text-align: right; + + >li { + flex-direction: row-reverse; + } + } + } + + + >div.buttons { + grid-column: 2; + + /* >button.toggler, + >a.button {} */ + } + + >p.cost { + grid-column: 1; + margin-left: auto; + text-align: right; + } + } + + >img.cover { + z-index: 100; + grid-column: 1; + grid-row: 1; + width: 100%; + height: 100%; + opacity: 1; + object-fit: cover; + object-position: center bottom; + pointer-events: none; + border-radius: 1.25rem; + filter: brightness(0.85) contrast(1.05); + transition: opacity 0.1s ease-in; + } + + >section.short { + z-index: 500; + grid-column: 2; + grid-row: 1; + display: flex; + flex-direction: column; + /* gap: 1rem; */ + overflow: scroll; + opacity: 1; + transition: opacity 0.1s ease-in; + + >h1.title { + z-index: 300; + margin: unset; + padding: unset; + font-weight: 600; + font-size: 1.5em; + line-height: 0.9em; + } + + >p.description { + margin: unset; + margin-top: 0.4em; + font-size: 0.8em; + font-weight: 520; + color: #7f9a9c; + } + + >ul.features { + margin: unset; + margin-top: 1.2em; + flex-grow: 1; + padding: unset; + display: flex; + flex-direction: column; + gap: 1rem; + list-style: none; + font-weight: 400; + font-size: 0.7em; + overflow: hidden; + + >li { + flex-grow: 0.05; + display: flex; + gap: 0.6em; + + >img.icon { + height: 1.9ch; + } + } + } + } + + >section.full { + z-index: 0; + grid-row: 1; + grid-column: 1/-1; + max-height: var(--cover-height); + display: flex; + flex-direction: column; + gap: 0.3em; + opacity: 0; + pointer-events: none; + transition: opacity 0.1s ease-out; + + >h1 { + margin: unset; + font-family: Golos; + font-weight: 600; + font-size: 1.5em; + line-height: 0.9em; + } >p { margin: unset; - font-family: "Bahnschrift"; - font-size: 0.8rem; - font-weight: 200; - - &:is(.description) { - margin: unset; - flex-grow: 1; - font-size: 1rem; - color: #fff; - } - - &:is(.howto) { - font-style: italic; - color: #dacfcf; - } + padding: 0 1em; + font-size: 0.6em; + overflow-y: scroll; } + } - >div.extra { - --superpack-extra-gap: 1em; - --superpack-extra-animation-duration: 60s; - position: relative; - margin: 0 calc(var(--superpack-body-padding, 1rem) * -1); - height: 1em; - display: inline-flex; - font-family: 'Cascadia Code'; - font-size: 0.7rem; - color: #8b8b8bcf; + >div.buttons { + grid-column: 1; + grid-row: 2; + display: flex; - >p { - position: absolute; - margin: unset; - min-width: var(--superpack-width); - width: max-content; - padding-left: var(--superpack-extra-gap, 1em); - word-break: keep-all; - display: inline-flex; - gap: var(--superpack-extra-gap, 1em); - animation-name: hotline; - animation-duration: var(--superpack-extra-animation-duration, 10s); - animation-iteration-count: infinite; - animation-timing-function: linear; - - &:first-of-type {} - - &:last-of-type { - animation-delay: calc(var(--superpack-extra-animation-duration, 10s) / -2); - } - } - } - - >div.footer { - --superpack-footer-height: 60px; - width: 100%; - min-height: var(--superpack-footer-height, 70px); - height: fit-content; - display: flex; - gap: 1rem; - - >div.buttons { - --footer-buttons-gap: 0.4rem; - min-width: var(--superpack-footer-height, 70px); - width: var(--superpack-footer-height, 70px); - box-sizing: border-box; - display: flex; - justify-content: center; - flex-flow: row wrap; - gap: var(--footer-buttons-gap, 0.4rem); - - >a[type="button"] { - flex-grow: 1; - width: calc(50% - var(--footer-buttons-gap, 0.4rem) / 2); - height: calc(50% - var(--footer-buttons-gap, 0.4rem) / 2); - box-sizing: border-box; - padding: 0.4rem 0.4rem; - display: flex; - justify-content: center; - align-items: center; - border-radius: 0.75rem; - border: 1px solid #a0a0a096; - border-right: unset; - border-bottom: unset; - color: #fff; - background-color: #8b8b8b66; - backdrop-filter: blur(1px); - transition: filter 0.05s ease-in; - - &:is(:only-of-type) { - height: 100%; - } - - &:hover { - filter: brightness(1.3); - transition: filter 0s; - } - - &:active { - filter: brightness(1) contrast(1.2); - transition: filter 0s; - } - - >i.icon.comment { - margin-top: -0.3em; - } - } - } - - >div.theses { - position: relative; - width: 100%; - box-sizing: border-box; - padding: 0.2em 0; - display: flex; - flex-direction: column; - justify-content: center; - gap: 0.2em; - font-family: 'Bahnschrift'; - font-size: 0.9rem; - font-weight: 100; - - >p { - margin: unset; - min-height: 0.9rem; - display: inline-flex; - gap: 0.4rem; - color: #cbcbcb; - - &:is(.blue) { - &:is(.colored) { - color: #979aff; - } - - >span.characteristic { - color: #6c7fff; - } - } - - &:is(.green) { - &:is(.colored) { - color: #99ff90; - } - - >span.characteristic { - color: #4bff3d; - } - } - - &:is(.yellow) { - &:is(.colored) { - color: #fffa7f; - } - - >span.characteristic { - color: #e0ff35; - } - } - - &:is(.cyan) { - &:is(.colored) { - color: #caf4ff; - } - - >span.characteristic { - color: #04efff; - } - } - - &:is(.red) { - &:is(.colored) { - color: #ff6767; - } - - >span.characteristic { - color: #ff4747; - } - } - - >span.characteristic { - --characteristic-width: 2.5em; - position: relative; - width: var(--characteristic-width); - min-width: var(--characteristic-width); - display: flex; - justify-content: end; - text-align: right; - font-weight: 200; - - >i { - margin: 0 auto; - align-self: center; - - &:is(.infinity) { - margin-top: -0.2em; - } - - &:is(.play.forwards) { - margin-top: -0.2em; - margin-left: calc(60% + 0.2em); - } - } - } - } - } - } - - >img.background { - z-index: -100; - position: absolute; - top: 0; - left: 0; + >button, + >a.button { + --transition-margin: margin 0.1s ease-out 0.19s; + --transition-width-animation: ease-in; + --transition-opacity: opacity 0.1s ease-in 0.08s; + --transition-border-radius: border-radius 0.1s ease-in 0.05s; + --transition-outline: outline 0.1s ease-in; + --transition-outline-offset: outline-offset 0.1s ease-in; width: 100%; height: 100%; - object-fit: cover; - scale: 1.1; - /* filter: blur(1.2px) brightness(0.25); */ - filter: blur(1px) brightness(0.18) contrast(1.05); + padding: unset; + box-sizing: border-box; + display: flex; + justify-content: center; + align-items: center; + gap: 0.3em; + font-family: Golos; + font-size: 0.7em; + line-height: 0.9em; + font-weight: 600; + opacity: 1; + overflow: hidden; + border-radius: 1.25rem; + outline: 4px solid transparent; + outline-offset: 0px; + border: unset; + /* border: 1px solid #000; */ + color: #fff; + /* background: linear-gradient(var(--linear-rotate, -30deg), #3f81ff 0%, #2ea7ff 40%, #18f5c1 100%); */ + background: #000; + transition: + var(--transition-margin), + flex-grow 0.2s var(--transition-width-animation), + width 0.2s var(--transition-width-animation), + var(--transition-border-radius), + var(--transition-opacity), + var(--transition-outline), + var(--transition-outline-offset), + color 0.1s ease-in; - &:is(.telegram.voronka) { - object-position: center; + + &:hover { + outline-offset: -10px; } + + &:is(:hover, :focus) { + --transition-outline: outline 0.1s ease-out; + --transition-outline-offset: outline-offset 0.1s ease-out; + outline-color: #fff; + } + + &:active { + outline-color: #799590; + /* outline-offset: -10px; */ + } + + &.toggler { + position: relative; + margin-left: unset; + min-width: 3em; + flex-grow: 1; + color: #000; + border: 4px solid #000; + outline: unset; + background: #fff; + + &:is(:hover, :focus) { + background: #cdd4d8; + } + + &:active { + background: #9ba4a9; + } + + >span.text { + position: absolute; + opacity: 1; + transition: opacity 0.08s ease-out 0.12s; + } + + >img.icon { + position: absolute; + margin: unset; + opacity: 0; + /* scale: 0.8; */ + transition: opacity 0.1s ease-in, scale 0.1s ease-in; + } + } + + &.chooser { + flex-grow: 0; + width: 0px; + opacity: 0; + border: unset; + border-radius: 0.75rem; + color: transparent; + /* background: linear-gradient(-11deg, #ccd025 0%, #f7f43d 100%); */ + } + + >img.icon { + margin-top: -0.1em; + margin-right: calc(var(--icon-width, 24px) * -1); + height: 1.4em; + } + } + + >button>span.text, + >a.button { + padding-top: 0.1em; } } >p.cost { + grid-column: 2; + grid-row: 2; margin: unset; - margin-top: 0.2rem; - margin-right: 0.8rem; - width: 100%; - text-align: right; - font-family: 'Nunito'; - font-size: 2rem; - font-weight: 600; - color: #000; + padding: unset; + display: flex; + flex-direction: column; + justify-content: center; + line-height: 0.6em; + gap: 0.3rem; + font-family: MT Sans; + font-size: 2.4rem; + border-radius: 1.25rem; + + >span.amount { + font-size: 1.2em; + line-height: 0.8em; + color: #000; + + &:after { + margin-left: 0.2em; + content: var(--currency); + } + } + + >span.label { + font-size: 0.7em; + line-height: 0.8em; + color: #7f9a9c; + } } } } @@ -498,72 +466,120 @@ section#superpacks { } } -@media (width < 1600px) { +@media (width < 1700px) { section#superpacks { - >h1 { - height: 80px; - scale: 1.5; - - >div.labubumba { - --mask-size: 67vw; - } - } - >div.flow { - --row-amount: 2; - } - } -} - -@media (width < 1200px) { - section#superpacks { - >h1 { - height: 6.5vw; - scale: 1.8; - - >div.labubumba { - --mask-size: 56vw; - top: -8.4vw; - height: 19.2vw; - mask: var(--mask-mobile, var(--mask)); - } - } - - >div.flow { - --row-amount: 1; - } - } -} - -@media (width < 800px) { - section#superpacks { - >h1 { - margin-top: -1vw; - margin-bottom: 5rem; - height: 4.5vw; - scale: 2.2; - - >div.labubumba { - --mask-size: 46vw; - } - } - - >div.flow { - width: 100%; - padding: 0 2rem; + width: 75vw; >article.superpack { - min-width: unset; + --cover-width: 200px; + --cover-height: 330px; + } + } + } +} + +@media (width < 1500px) { + section#superpacks { + --vignette: #e1dede; + + >div.flow { + width: 60vw; + + >article.superpack { + --cover-width: 35%; + --cover-height: 330px; width: 100%; } } } } -@media (width < 500px) { +@media (width < 1000px) { section#superpacks { - >h1 { - height: 4.5vw; + --vignette: #e6e5e5; + + >div.flow { + width: 80vw; + } + } +} + +@media (width < 800px) { + section#superpacks { + margin-top: calc(4em + 10vw); + + >h1 { + margin-top: calc(-2.05em + 5vw); + flex-direction: column; + font-size: max(5rem, min(7rem, 12.5vw)); + + >span.packs { + font-size: 1.22em; + margin-top: 0.1em; + } + } + + >div.flow { + width: 7#5vw; + + >article.superpack { + --cover-width: 35%; + --cover-height: 330px; + width: 100%; + + } + } + } +} + +@media (width < 600px) { + section#superpacks { + >div.flow { + width: 75vw; + grid-row-gap: 5em; + + >article.superpack { + --cover-width: 35%; + --cover-height: 330px; + --buttons-amount: 2; + width: 100%; + grid-template-columns: 100%; + grid-template-rows: auto repeat(var(--buttons-amount, 1), 2em); + grid-row-gap: 1.2em; + + &.reversed { + grid-template-columns: 100%; + + >section.short, + >p.cost, + >div.buttons { + grid-column: 1; + grid-row: unset; + } + + >section.short, + >section.full { + grid-row: 1; + } + } + + >img { + display: none; + } + + >section.short, + >p.cost, + >div.buttons { + grid-column: 1; + grid-row: unset; + } + + >section.short, + >section.full { + grid-row: 1; + } + } } } } diff --git a/kodorvan/site/system/public/themes/default/css/fonts.css b/kodorvan/site/system/public/themes/default/css/fonts.css index 22ff313..ddee4ce 100755 --- a/kodorvan/site/system/public/themes/default/css/fonts.css +++ b/kodorvan/site/system/public/themes/default/css/fonts.css @@ -1,11 +1,14 @@ /* @import url('/css/fonts/fira.css'); */ /* @import url('/css/fonts/hack.css'); */ /* @import url('/css/fonts/dejavu.css'); */ -@import url('/css/fonts/nunito.css'); +/* @import url('/css/fonts/nunito.css'); */ +/* @import url('/css/fonts/als_schlange.css'); */ +@import url('/css/fonts/golos.css'); @import url('/css/fonts/cascadia_code.css'); @import url('/css/fonts/geologica.css'); /* @import url('/css/fonts/commissioner.css'); */ @import url('/css/fonts/mt_sans.css'); +/* @import url('/css/fonts/strogo.css'); */ /* @import url('/css/fonts/vredina.css'); */ @import url('/css/fonts/gost.css'); @import url('/css/fonts/bahnschrift.css'); diff --git a/kodorvan/site/system/public/themes/default/css/footer.css b/kodorvan/site/system/public/themes/default/css/footer.css index d179cb9..4c6a10e 100755 --- a/kodorvan/site/system/public/themes/default/css/footer.css +++ b/kodorvan/site/system/public/themes/default/css/footer.css @@ -87,16 +87,6 @@ footer { font-size: 0.8rem; color: #a3a396; - ::selection { - color: #000; - background: #F22; - } - - ::-moz-selection { - color: #000; - background: #F22; - } - >span.row { display: inline-flex; justify-content: end; diff --git a/kodorvan/site/system/public/themes/default/css/header.css b/kodorvan/site/system/public/themes/default/css/header.css index bdb8d6d..3505bd4 100755 --- a/kodorvan/site/system/public/themes/default/css/header.css +++ b/kodorvan/site/system/public/themes/default/css/header.css @@ -1,6 +1,6 @@ @charset "UTF-8"; -header { +body>header { z-index: 1000; top: 0; left: 0; @@ -9,7 +9,7 @@ header { height: calc(var(--menu-height) + var(--introdution-height)); pointer-events: none; - > div { + >div { top: 0; position: sticky; width: 100%; @@ -26,7 +26,7 @@ header { display: none; } - > a#logotype { + >a#logotype { margin-top: -0.4rem; display: flex; flex-direction: column; @@ -34,13 +34,13 @@ header { text-decoration: none; color: #000; - > h4:only-of-type:first-child { + >h4:only-of-type:first-child { margin: unset; font-family: "Cascadia Code"; font-size: 2.5em; } - > small:only-of-type:last-child { + >small:only-of-type:last-child { justify-self: end; align-self: end; margin-top: -0.8em; @@ -51,14 +51,14 @@ header { } } - > nav#menu { + >nav#menu { display: flex; justify-content: center; align-items: center; gap: 1rem; font-family: "Geologica"; - > a { + >a { text-decoration: none; font-weight: 500; font-size: 1rem; diff --git a/kodorvan/site/system/public/themes/default/css/interface/logotype.css b/kodorvan/site/system/public/themes/default/css/interface/logotype.css old mode 100644 new mode 100755 index 49f9704..36f4532 --- a/kodorvan/site/system/public/themes/default/css/interface/logotype.css +++ b/kodorvan/site/system/public/themes/default/css/interface/logotype.css @@ -1,9 +1,10 @@ h1#logotype { z-index: 200; margin: unset; - margin-top: 6rem; - margin-bottom: 2rem; + margin-top: 100px; + margin-bottom: unset; width: max-content; + height: 200px; display: flex; flex-direction: column; text-align: center; diff --git a/kodorvan/site/system/public/themes/default/css/interface/media.css b/kodorvan/site/system/public/themes/default/css/interface/media.css index 9c1a038..0d780ee 100755 --- a/kodorvan/site/system/public/themes/default/css/interface/media.css +++ b/kodorvan/site/system/public/themes/default/css/interface/media.css @@ -7,7 +7,7 @@ div.social.media { gap: 1ch; >a { - display: contents; + display: block; >img { width: auto; diff --git a/kodorvan/site/system/public/themes/default/css/interface/sim.css b/kodorvan/site/system/public/themes/default/css/interface/sim.css index 37a3560..f0c4156 100755 --- a/kodorvan/site/system/public/themes/default/css/interface/sim.css +++ b/kodorvan/site/system/public/themes/default/css/interface/sim.css @@ -30,7 +30,7 @@ div.sim { border: unset; >img.icon { - scale: 0.8; + /* scale: 0.8; */ color: #fff; } } diff --git a/kodorvan/site/system/public/themes/default/css/main.css b/kodorvan/site/system/public/themes/default/css/main.css index 41e4007..5dc2972 100755 --- a/kodorvan/site/system/public/themes/default/css/main.css +++ b/kodorvan/site/system/public/themes/default/css/main.css @@ -4,6 +4,7 @@ main { --scroll-px-ten: calc(var(--scroll-px) / 10); --scroll-px-hundred: calc(var(--scroll-px-ten) / 10); --scroll-px-thousand: calc(var(--scroll-px-hundred) / 10); + --main-gap: 60px; margin-top: var(--menu-height); min-height: 100vh; display: flex; diff --git a/kodorvan/site/system/public/themes/default/css/messages/request.css b/kodorvan/site/system/public/themes/default/css/messages/request.css old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/css/pages/index.css b/kodorvan/site/system/public/themes/default/css/pages/index.css index f655d1b..312377f 100755 --- a/kodorvan/site/system/public/themes/default/css/pages/index.css +++ b/kodorvan/site/system/public/themes/default/css/pages/index.css @@ -2,6 +2,67 @@ body { >main { + >section#facer { + padding: 3rem 0 8rem; + font-size: 1.3rem; + + >header { + grid-column: 2; + grid-row: 1; + } + + >ul.description { + grid-column: 1; + grid-row: 2; + margin: unset; + height: fit-content; + } + + >article#project { + grid-column: 2; + grid-row: 2; + } + + >div.other { + grid-column: 3; + grid-row: 2; + display: flex; + flex-direction: column; + gap: 1em; + + >small.guarantee { + /* background: #2ea05b3d; */ + } + } + + >div.mega#superpack { + grid-column: 2; + grid-row: 3; + } + + >div.adaptive { + grid-column: 2; + /* grid-row: 4; */ + } + + >a.full { + grid-column: 2; + /* grid-row: 5; */ + text-align: center; + font-size: 0.8em; + } + + >div.partners { + grid-column: 2; + /* grid-row: 6; */ + } + + >div#contacts_shortcut { + grid-column: 2; + /* grid-row: 7; */ + } + } + >section.section { z-index: 500; width: 100%; @@ -24,3 +85,53 @@ body { } } } + +@media (width < 90rem) { + body { + >main { + section#facer { + grid-template-columns: max(24vw, 22em); + + >header, + >article#project, + >div.mega#superpack, + >div.adaptive, + >a.full, + >div.partners, + >div#contacts_shortcut { + grid-column: 1; + } + + >ul.description { + display: none; + } + + >div.other { + grid-column: 1; + grid-row: unset; + margin-top: 1em; + } + } + } + } +} + +@media (width < 800px) { + body { + >main { + section#facer { + grid-template-columns: 70vw; + } + } + } +} + +@media (width < 600px) { + body { + >main { + section#facer { + grid-template-columns: 80vw; + } + } + } +} diff --git a/kodorvan/site/system/public/themes/default/css/system.css b/kodorvan/site/system/public/themes/default/css/system.css index 792acfd..15276ef 100755 --- a/kodorvan/site/system/public/themes/default/css/system.css +++ b/kodorvan/site/system/public/themes/default/css/system.css @@ -20,7 +20,7 @@ --cookies-width: 24rem; --cookies-height: 4rem; - font-family: "Nunito", "DejaVu", sans-serif; + font-family: "Golos", sans-serif; text-decoration: none; outline: none; border: none; @@ -40,6 +40,20 @@ text-shadow: none; } +.important { + &::selection { + color: #000; + background: #F22; + text-shadow: none; + } + + &::-moz-selection { + color: #000; + background: #F22; + text-shadow: none; + } +} + body { margin: unset; width: 100vw; @@ -54,7 +68,7 @@ body { background-color: #020c13; >div.vignette { - z-index: 100; + z-index: -100; position: fixed; top: 0; width: 100vw; @@ -72,7 +86,7 @@ body { --dot-color: #041825; --dot-size: 23px; --dot-space: 24px; - z-index: -50; + z-index: -500; position: fixed; top: 0; left: min(-30vw, -300px); @@ -101,14 +115,14 @@ a { } &::selection { - color: #094ef2; - background: #dbd035; + color: #00F; + background: #FF2; text-shadow: none; } &::-moz-selection { - color: #094ef2; - background: #dbd035; + color: #00f; + background: #FF2; text-shadow: none; } @@ -148,6 +162,7 @@ input[type="range"] { input:not([type="range"]) { margin: unset; + margin-right: 0.8em; padding: 0.2em 0.4em 0.3em; box-sizing: border-box; font-size: 1em; @@ -186,16 +201,17 @@ select { textarea { margin: unset; - padding: 0.5em 0.7em; + padding: 0.8em 1.2em; box-sizing: border-box; - font-size: 1em; + font-size: 0.8em; outline: unset; border: 1px solid; border-bottom: 1px solid; background: unset; } -button { +button, +a.button { font-family: Bahnschrift; font-weight: 400; cursor: pointer; diff --git a/kodorvan/site/system/public/themes/default/images/cookie.png b/kodorvan/site/system/public/themes/default/images/cookie.png old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/excel.png b/kodorvan/site/system/public/themes/default/images/excel.png old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/excel_compressed.png b/kodorvan/site/system/public/themes/default/images/excel_compressed.png old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/excel_small_compressed.jpg b/kodorvan/site/system/public/themes/default/images/excel_small_compressed.jpg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-bottom-left.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-bottom-left.svg new file mode 100644 index 0000000..611707f --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-bottom-left.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-bottom-right.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-bottom-right.svg new file mode 100644 index 0000000..ca94816 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-bottom-right.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-down.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-down.svg new file mode 100644 index 0000000..46d2740 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-down.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow_left.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-left.svg similarity index 100% rename from kodorvan/site/system/public/themes/default/images/icons/arrow_left.svg rename to kodorvan/site/system/public/themes/default/images/icons/arrow-left.svg diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-long-down.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-down.svg new file mode 100644 index 0000000..c18911e --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-down.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-long-left.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-left.svg new file mode 100644 index 0000000..565142a --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-left.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-long-right.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-right.svg new file mode 100644 index 0000000..79abb36 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-right.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-long-up.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-up.svg new file mode 100644 index 0000000..b12a554 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-long-up.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-right.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-right.svg new file mode 100644 index 0000000..3575813 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-right.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-top-left.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-top-left.svg new file mode 100644 index 0000000..832e109 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-top-left.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-top-right.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-top-right.svg new file mode 100644 index 0000000..2e511e2 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-top-right.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/arrow-top.svg b/kodorvan/site/system/public/themes/default/images/icons/arrow-top.svg new file mode 100644 index 0000000..0121746 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/arrow-top.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/assign.svg b/kodorvan/site/system/public/themes/default/images/icons/assign.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/band-aid.svg b/kodorvan/site/system/public/themes/default/images/icons/band-aid.svg new file mode 100644 index 0000000..5ca38d5 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/band-aid.svg @@ -0,0 +1,30 @@ + + + + + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/bell.svg b/kodorvan/site/system/public/themes/default/images/icons/bell.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/bold/close.svg b/kodorvan/site/system/public/themes/default/images/icons/bold/close.svg new file mode 100755 index 0000000..08af8c4 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/bold/close.svg @@ -0,0 +1,21 @@ + + + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/bolt.svg b/kodorvan/site/system/public/themes/default/images/icons/bolt.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/briefcase.svg b/kodorvan/site/system/public/themes/default/images/icons/briefcase.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/calculator.svg b/kodorvan/site/system/public/themes/default/images/icons/calculator.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/circle.svg b/kodorvan/site/system/public/themes/default/images/icons/circle.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/circle_check.svg b/kodorvan/site/system/public/themes/default/images/icons/circle_check.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/circle_dot.svg b/kodorvan/site/system/public/themes/default/images/icons/circle_dot.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/close.svg b/kodorvan/site/system/public/themes/default/images/icons/close.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/comment.svg b/kodorvan/site/system/public/themes/default/images/icons/comment.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/copy.svg b/kodorvan/site/system/public/themes/default/images/icons/copy.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/crown.svg b/kodorvan/site/system/public/themes/default/images/icons/crown.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/disc.svg b/kodorvan/site/system/public/themes/default/images/icons/disc.svg new file mode 100644 index 0000000..985c772 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/disc.svg @@ -0,0 +1,28 @@ + + + + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/document.svg b/kodorvan/site/system/public/themes/default/images/icons/document.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/extension.svg b/kodorvan/site/system/public/themes/default/images/icons/extension.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/external.svg b/kodorvan/site/system/public/themes/default/images/icons/external.svg new file mode 100755 index 0000000..844f854 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/external.svg @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/eye.svg b/kodorvan/site/system/public/themes/default/images/icons/eye.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/gift.svg b/kodorvan/site/system/public/themes/default/images/icons/gift.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/heart.svg b/kodorvan/site/system/public/themes/default/images/icons/heart.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/import.svg b/kodorvan/site/system/public/themes/default/images/icons/import.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/infinity.svg b/kodorvan/site/system/public/themes/default/images/icons/infinity.svg new file mode 100644 index 0000000..abe14d5 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/infinity.svg @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/kodorvan.svg b/kodorvan/site/system/public/themes/default/images/icons/kodorvan.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/list-tree.svg b/kodorvan/site/system/public/themes/default/images/icons/list-tree.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/lock.svg b/kodorvan/site/system/public/themes/default/images/icons/lock.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/mail.svg b/kodorvan/site/system/public/themes/default/images/icons/mail.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/max.svg b/kodorvan/site/system/public/themes/default/images/icons/max.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/nametag.svg b/kodorvan/site/system/public/themes/default/images/icons/nametag.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/notes.svg b/kodorvan/site/system/public/themes/default/images/icons/notes.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/path_intersect.svg b/kodorvan/site/system/public/themes/default/images/icons/path_intersect.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/performance.svg b/kodorvan/site/system/public/themes/default/images/icons/performance.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/phone.svg b/kodorvan/site/system/public/themes/default/images/icons/phone.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/smile-mouth-open.svg b/kodorvan/site/system/public/themes/default/images/icons/smile-mouth-open.svg new file mode 100644 index 0000000..2aa5f4e --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/smile-mouth-open.svg @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file diff --git a/kodorvan/site/system/public/themes/default/images/icons/smile.svg b/kodorvan/site/system/public/themes/default/images/icons/smile.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/style.svg b/kodorvan/site/system/public/themes/default/images/icons/style.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/superpack/black.svg b/kodorvan/site/system/public/themes/default/images/icons/superpack/black.svg new file mode 100755 index 0000000..7556b36 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/superpack/black.svg @@ -0,0 +1,16 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/superpack/cosmos.svg b/kodorvan/site/system/public/themes/default/images/icons/superpack/cosmos.svg new file mode 100755 index 0000000..8b662ad --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/superpack/cosmos.svg @@ -0,0 +1,36 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/superpack/small/black.svg b/kodorvan/site/system/public/themes/default/images/icons/superpack/small/black.svg new file mode 100755 index 0000000..c45c316 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/superpack/small/black.svg @@ -0,0 +1,16 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/superpack/small/cosmos.svg b/kodorvan/site/system/public/themes/default/images/icons/superpack/small/cosmos.svg new file mode 100755 index 0000000..f8fe5b8 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/superpack/small/cosmos.svg @@ -0,0 +1,36 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/superpack/small/white.svg b/kodorvan/site/system/public/themes/default/images/icons/superpack/small/white.svg new file mode 100755 index 0000000..eef4478 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/superpack/small/white.svg @@ -0,0 +1,16 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/superpack/white.svg b/kodorvan/site/system/public/themes/default/images/icons/superpack/white.svg new file mode 100755 index 0000000..c19e02f --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/superpack/white.svg @@ -0,0 +1,16 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/telegram.svg b/kodorvan/site/system/public/themes/default/images/icons/telegram.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/template.svg b/kodorvan/site/system/public/themes/default/images/icons/template.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/toolbox.svg b/kodorvan/site/system/public/themes/default/images/icons/toolbox.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/track.svg b/kodorvan/site/system/public/themes/default/images/icons/track.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/trash.svg b/kodorvan/site/system/public/themes/default/images/icons/trash.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/trophy.svg b/kodorvan/site/system/public/themes/default/images/icons/trophy.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/unlock.svg b/kodorvan/site/system/public/themes/default/images/icons/unlock.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/arrow-top.svg b/kodorvan/site/system/public/themes/default/images/icons/white/arrow-top.svg new file mode 100644 index 0000000..1390c7b --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/arrow-top.svg @@ -0,0 +1,12 @@ + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/bolt.svg b/kodorvan/site/system/public/themes/default/images/icons/white/bolt.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/close.svg b/kodorvan/site/system/public/themes/default/images/icons/white/close.svg new file mode 100755 index 0000000..b501b71 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/close.svg @@ -0,0 +1,12 @@ + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/copy.svg b/kodorvan/site/system/public/themes/default/images/icons/white/copy.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/crown.svg b/kodorvan/site/system/public/themes/default/images/icons/white/crown.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/external.svg b/kodorvan/site/system/public/themes/default/images/icons/white/external.svg new file mode 100755 index 0000000..fa9b680 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/external.svg @@ -0,0 +1,16 @@ + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/heart.svg b/kodorvan/site/system/public/themes/default/images/icons/white/heart.svg new file mode 100755 index 0000000..e22796d --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/heart.svg @@ -0,0 +1,14 @@ + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/phone.svg b/kodorvan/site/system/public/themes/default/images/icons/white/phone.svg new file mode 100755 index 0000000..4df6859 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/phone.svg @@ -0,0 +1,20 @@ + + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/smile-mouth-open.svg b/kodorvan/site/system/public/themes/default/images/icons/white/smile-mouth-open.svg new file mode 100644 index 0000000..c17511e --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/smile-mouth-open.svg @@ -0,0 +1,26 @@ + + + + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/solid/crown.svg b/kodorvan/site/system/public/themes/default/images/icons/white/solid/crown.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/solid/heart.svg b/kodorvan/site/system/public/themes/default/images/icons/white/solid/heart.svg new file mode 100755 index 0000000..b253671 --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/icons/white/solid/heart.svg @@ -0,0 +1,12 @@ + + + diff --git a/kodorvan/site/system/public/themes/default/images/icons/white/trophy.svg b/kodorvan/site/system/public/themes/default/images/icons/white/trophy.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/interface/ebalumba.svg b/kodorvan/site/system/public/themes/default/images/interface/ebalumba.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/interface/labubumba.svg b/kodorvan/site/system/public/themes/default/images/interface/labubumba.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/interface/labubumba_2.svg b/kodorvan/site/system/public/themes/default/images/interface/labubumba_2.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/interface/labubumba_2_mobile.svg b/kodorvan/site/system/public/themes/default/images/interface/labubumba_2_mobile.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/interface/sigmumba.svg b/kodorvan/site/system/public/themes/default/images/interface/sigmumba.svg new file mode 100755 index 0000000..66d0bfd --- /dev/null +++ b/kodorvan/site/system/public/themes/default/images/interface/sigmumba.svg @@ -0,0 +1,39 @@ + + + + + + diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/1c.svg b/kodorvan/site/system/public/themes/default/images/logotypes/1c.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/avito.svg b/kodorvan/site/system/public/themes/default/images/logotypes/avito.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/bitrix24.svg b/kodorvan/site/system/public/themes/default/images/logotypes/bitrix24.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/max.svg b/kodorvan/site/system/public/themes/default/images/logotypes/max.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/moy_sklad.svg b/kodorvan/site/system/public/themes/default/images/logotypes/moy_sklad.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/openai.svg b/kodorvan/site/system/public/themes/default/images/logotypes/openai.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/ozon.svg b/kodorvan/site/system/public/themes/default/images/logotypes/ozon.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/vk.svg b/kodorvan/site/system/public/themes/default/images/logotypes/vk.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/wildberries.svg b/kodorvan/site/system/public/themes/default/images/logotypes/wildberries.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/yandex_direct.svg b/kodorvan/site/system/public/themes/default/images/logotypes/yandex_direct.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/yandex_market.svg b/kodorvan/site/system/public/themes/default/images/logotypes/yandex_market.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/yclients.svg b/kodorvan/site/system/public/themes/default/images/logotypes/yclients.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/logotypes/yookassa.svg b/kodorvan/site/system/public/themes/default/images/logotypes/yookassa.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/site_example.jpg b/kodorvan/site/system/public/themes/default/images/site_example.jpg new file mode 100755 index 0000000..7cb2de2 Binary files /dev/null and b/kodorvan/site/system/public/themes/default/images/site_example.jpg differ diff --git a/kodorvan/site/system/public/themes/default/images/superpacks/packs.svg b/kodorvan/site/system/public/themes/default/images/superpacks/packs.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/superpacks/poh.svg b/kodorvan/site/system/public/themes/default/images/superpacks/poh.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/superpacks/super.svg b/kodorvan/site/system/public/themes/default/images/superpacks/super.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/superpacks/super_border.svg b/kodorvan/site/system/public/themes/default/images/superpacks/super_border.svg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/tordv.jpg b/kodorvan/site/system/public/themes/default/images/tordv.jpg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/public/themes/default/images/tordv_compressed.jpg b/kodorvan/site/system/public/themes/default/images/tordv_compressed.jpg old mode 100644 new mode 100755 diff --git a/kodorvan/site/system/views/metrics/yandex.html b/kodorvan/site/system/views/metrics/yandex.html index 50b8d9a..f47d9c8 100755 --- a/kodorvan/site/system/views/metrics/yandex.html +++ b/kodorvan/site/system/views/metrics/yandex.html @@ -8,4 +8,8 @@ ym(108320242, 'init', {ssr:true, webvisor:true, clickmap:true, referrer: document.referrer, url: location.href, accurateTrackBounce:true, trackLinks:true}); - + diff --git a/kodorvan/site/system/views/themes/default/core.html b/kodorvan/site/system/views/themes/default/core.html index 61f1c2a..a7c5551 100755 --- a/kodorvan/site/system/views/themes/default/core.html +++ b/kodorvan/site/system/views/themes/default/core.html @@ -2,27 +2,27 @@ - - {% use '/themes/default/head.html' with meta as head_meta, css as head_css %} + + {% use '/themes/default/head.html' with meta as head_meta, css as head_css %} - {{ block('head_meta') }} - {% block meta %} - {% endblock %} + {{ block('head_meta') }} + {% block meta %} + {% endblock %} - {{ block('head_css') }} - {% block css %} - {% endblock %} + {{ block('head_css') }} + {% block css %} + {% endblock %} - {% include '/metrics/yandex.html' %} - + {% include '/metrics/yandex.html' %} + - - {% block body %} - {% endblock %} + + {% block body %} + {% endblock %} - {% include '/themes/default/js.html' %} - {% block js %} - {% endblock %} - + {% include '/themes/default/js.html' %} + {% block js %} + {% endblock %} + diff --git a/kodorvan/site/system/views/themes/default/elements/cases.html b/kodorvan/site/system/views/themes/default/elements/cases.html index 7a9435c..3470323 100755 --- a/kodorvan/site/system/views/themes/default/elements/cases.html +++ b/kodorvan/site/system/views/themes/default/elements/cases.html @@ -1,47 +1,47 @@

ПЕЧАТАЛКА биба

- pechatalka + pechatalka

under.style

- under.style + under.style

Музей-библиотека имени Сурикова

- surikov + surikov

ПЕЧАТАЛКА

- pechatalka + pechatalka

under.style

- under.style + under.style

Музей-библиотека имени Сурикова

- surikov + surikov

ПЕЧАТАЛКА

- pechatalka + pechatalka

under.style

- under.style + under.style

Музей-библиотека имени Сурикова

- surikov + surikov
diff --git a/kodorvan/site/system/views/themes/default/elements/companies.html b/kodorvan/site/system/views/themes/default/elements/companies.html index 8794aa1..e90433c 100755 --- a/kodorvan/site/system/views/themes/default/elements/companies.html +++ b/kodorvan/site/system/views/themes/default/elements/companies.html @@ -1,6 +1,6 @@
{% for alt, file in integrations %} - {{ alt }} + {{ alt }} {% endfor %}
diff --git a/kodorvan/site/system/views/themes/default/elements/ender.html b/kodorvan/site/system/views/themes/default/elements/ender.html new file mode 100755 index 0000000..468fe3f --- /dev/null +++ b/kodorvan/site/system/views/themes/default/elements/ender.html @@ -0,0 +1,19 @@ +
+ + на этом всё +
diff --git a/kodorvan/site/system/views/themes/default/elements/project/full.html b/kodorvan/site/system/views/themes/default/elements/project/full.html index ea370c9..fd77855 100755 --- a/kodorvan/site/system/views/themes/default/elements/project/full.html +++ b/kodorvan/site/system/views/themes/default/elements/project/full.html @@ -21,7 +21,7 @@
@@ -136,7 +136,7 @@ value="1800" autocomplete="off" oninput="document.getElementById('hour_input_range').value = this.value; core.global.project.hour = this.value;" - /> + > + > Введите предложение оплаты за рабочий час команды @@ -156,9 +156,9 @@
@@ -304,10 +298,20 @@
+ +
- - + oninput="core.global.project.requester.personal = this.checked" + > + lock kodorvan + unlock kodorvan + + Разрешаю запись, обработку и хранение моих персональных данных + - - - - -
- - -
- - -
- - -
- - Команда разработчиков с большой историей! Передаём проект в полную собственность. Не используем ИИ в разработке! Не оставляем блокировки и скрытые метки в коде! Юридическая броня! Грамотный SEO - не текстами, а глубоко в архитектуре. Собственные сервера в Перми! - - technologies kodorvanУникальные технологии: наши разработки, проверенные годами в проектах с большой ответственностью и высокой нагрузкой. - - technologies kodorvanГарантия качества: небольшие проекты мы передаём нашим студентам, но за качество кода и соблюдение сроков всегда отвечает наставник! - -
-
- Поддерживаем проекты наших
партнёров с 2014 года!
-
- -
- {% include '/themes/default/interface/media.html' %} - {% include '/themes/default/interface/sim.html' %} - ЗВОНИТЕ ПО НОМЕРУ
- + diff --git a/kodorvan/site/system/views/themes/default/elements/rofls.html b/kodorvan/site/system/views/themes/default/elements/rofls.html index 266e655..c4b7dc0 100755 --- a/kodorvan/site/system/views/themes/default/elements/rofls.html +++ b/kodorvan/site/system/views/themes/default/elements/rofls.html @@ -1,50 +1,50 @@ {% endif %} -{% endmacro service %} +{% endmacro superpack %} -
-

- СУПЕР - ПАКИ -
-

+
+
-

На момент 2026.04.18 суперпаки находятся в полной переработке

-

Формируем готовые предложения с мощной и проверенной годами кодовой базой

+

СУПЕРПАКИ

+ +

Готовые технические решения

+ +

Проект эталонного качества по фиксированной цене с проверенной годами кодовой базой для максимально быстрого и уверенного старта

- {% for service in services %} + {% for superpack in superpacks %} {{ - _self.service( - class: service.class, - title: service.title, - icon_left: service.icon_left, - icon_center: service.icon_center, - icon_right: service.icon_right, - description: service.description, - howto: service.howto, - extra: service.extra, - buttons: service.buttons, - theses: service.theses, - background_image_src: service.background_image_src, - background_image_alt: service.background_image_alt, - cost: service.cost, - canceled: service.canceled + _self.superpack( + identifier: loop.index, + class: superpack.class, + icon: superpack.icon, + image: superpack.image, + title: superpack.title, + description: superpack.description, + features: superpack.features, + article: superpack.article, + deal: superpack.deal, + button: superpack.button, + reversed: loop.index % 2 == 0 ) }} {% endfor %} diff --git a/kodorvan/site/system/views/themes/default/elements/telegram.html b/kodorvan/site/system/views/themes/default/elements/telegram.html index fa56d2c..97efcfa 100755 --- a/kodorvan/site/system/views/themes/default/elements/telegram.html +++ b/kodorvan/site/system/views/themes/default/elements/telegram.html @@ -1,6 +1,6 @@
- Telegram logotype icon + Telegram logotype icon
diff --git a/kodorvan/site/system/views/themes/default/footer.html b/kodorvan/site/system/views/themes/default/footer.html index 7e1d3c4..657dcb9 100755 --- a/kodorvan/site/system/views/themes/default/footer.html +++ b/kodorvan/site/system/views/themes/default/footer.html @@ -9,7 +9,7 @@ --company-tax: "{{ language.name == 'ru' or true ? 'ИНН' : 'TAX' }}"; } - + {% endblock %} {% block body %} @@ -24,8 +24,8 @@

{{ company.name.short }}

- {{ company.tax }} - {{ company.identifier }} + {{ company.tax }} + {{ company.identifier }}

{% if company.address.full is not empty %}{{ company.address.full }}{% endif %}, @@ -39,7 +39,12 @@ {% include '/themes/default/interface/sim.html' %} {% if company.contacts.request.mail is not empty %} - {{ company.contacts.request.mail }} + {{ company.contacts.request.mail }} {% endif %} {% include '/themes/default/interface/media.html' %} @@ -47,12 +52,12 @@

{% include '/themes/default/elements/rofls.html' %} diff --git a/kodorvan/site/system/views/themes/default/head.html b/kodorvan/site/system/views/themes/default/head.html index c563260..f537ea7 100755 --- a/kodorvan/site/system/views/themes/default/head.html +++ b/kodorvan/site/system/views/themes/default/head.html @@ -1,79 +1,79 @@ {% block meta %} - + - + {{ title ?? 'Кодорвань - разработка сайтов в Перми' }} - - - + + + - - - - - + + + + + - - - - - - + + + + + + {% if opengraph.image.uri is not empty %} - + {% if opengraph.image.width is not empty %} - + {% endif %} {% if opengraph.image.height is not empty %} - + {% endif %} {% if opengraph.image.alt is not empty %} - + {% endif %} {% endif %} - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + {% for meta in head.metas %} - + {% endfor %} + {% endblock %} diff --git a/kodorvan/site/system/views/themes/default/messages/request.html b/kodorvan/site/system/views/themes/default/messages/request.html old mode 100644 new mode 100755 index ebf695d..6ca0301 --- a/kodorvan/site/system/views/themes/default/messages/request.html +++ b/kodorvan/site/system/views/themes/default/messages/request.html @@ -6,11 +6,18 @@ {{ project.name }} - +
+ {% if superpack is not empty %} +
+

Суперпак

+

{{ superpack }}

+
+ {% endif %} +

Проект

{{ project.name }} diff --git a/kodorvan/site/system/views/themes/default/pages/article.html b/kodorvan/site/system/views/themes/default/pages/article.html index 952dd32..21783d9 100755 --- a/kodorvan/site/system/views/themes/default/pages/article.html +++ b/kodorvan/site/system/views/themes/default/pages/article.html @@ -3,9 +3,9 @@ {% block css %} {{ parent() }} - - - + + + {% endblock %} {% block before %} @@ -24,7 +24,7 @@ {% if article.head.image.height is not empty %}height="{{ article.head.image.height }}"{% endif %} {% if article.head.image.alt is not empty %}alt="{{ article.head.image.alt }}"{% endif %} aria-label="Фоновое изображение верхнего колонтинула статьи" - /> + > {% endif %}
diff --git a/kodorvan/site/system/views/themes/default/pages/index.html b/kodorvan/site/system/views/themes/default/pages/index.html index de330ad..d3470dd 100755 --- a/kodorvan/site/system/views/themes/default/pages/index.html +++ b/kodorvan/site/system/views/themes/default/pages/index.html @@ -3,34 +3,36 @@ {% block css %} {{ parent() }} - - - - - - + + + + + + + {% if smartphone %} - + {% else %} - - + + {% endif %} - - - + + + + + {% endblock %} {% block before %} @@ -39,10 +41,119 @@ {% block main %} {% include '/themes/default/interface/logotype.html' %} - {% include '/themes/default/elements/project/short.html' %} +
+
+

СОЗДАНИЕ ПРОЕКТА

+ Отправьте заявку и получите бесплатную консультацию с расчётом стоимости +
+ + + + + + {% include '/themes/default/elements/project/short.html' %} + + + +
+ + +
+ + +
+ + +
+ + Продвинутый конструктор заказа + +
    +
  • Передаём проект заказчику в полную собственность
  • +
  • Не оставляем блокировки и скрытые метки в коде
  • +
  • Юридическая броня каждому пикселю на экране
  • +
  • Команда профессионалов по цене программиста с авито
  • +
  • Грамотные SEO и GEO - не текстом, а глубоко в архитектуре
  • +
  • Собственные сервера в Перми, бесплатно на этапе разработки
  • + +
+ +
+ ⚡Уникальные технологии: самые передовые российские разработки, мощные и надёжные

Часть из них - фреймворки и библиотеки нашего производства
+ + ♥Низкие цены: в разработке участвуют наши студенты, а за качество и соблюдение сроков отвечает наставник + + 📞Вечная поддержка - наша гарантия качества +
+ + + +
+ {% include '/themes/default/interface/media.html' %} + {% include '/themes/default/interface/sim.html' %} + ЗВОНИТЕ ПО НОМЕРУ +
+
{% include '/themes/default/elements/companies.html' %} {% include '/themes/default/elements/superpacks.html' %} + {% include '/themes/default/elements/ender.html' %} {% if cookies.cookies_popup_closed is empty %} {% include '/themes/default/elements/cookies.html' %} @@ -61,26 +172,28 @@ let main = document.getElementById('main'); setInterval(() => { - main.style.setProperty('--scroll-px', window.pageYOffset + 'px'); - main.style.setProperty('--scroll-deg', window.pageYOffset / 100 + 'deg') - }, 60); + const scroll = window.pageYOffset.toFixed(2); + main.style.setProperty('--scroll', scroll); + main.style.setProperty('--scroll-px', scroll + 'px'); + main.style.setProperty('--scroll-deg', (scroll / 140).toFixed(2) + 'deg') + }, 120); - + diff --git a/kodorvan/site/system/views/themes/default/pages/offer.html b/kodorvan/site/system/views/themes/default/pages/offer.html index 1a4b8fc..8a3104f 100755 --- a/kodorvan/site/system/views/themes/default/pages/offer.html +++ b/kodorvan/site/system/views/themes/default/pages/offer.html @@ -3,9 +3,9 @@ {% block css %} {{ parent() }} - - - + + + {% endblock %} {% block before %} diff --git a/kodorvan/site/system/views/themes/default/pages/project/calculator.html b/kodorvan/site/system/views/themes/default/pages/project/calculator.html index da862c9..17b5015 100755 --- a/kodorvan/site/system/views/themes/default/pages/project/calculator.html +++ b/kodorvan/site/system/views/themes/default/pages/project/calculator.html @@ -3,11 +3,11 @@ {% block css %} {{ parent() }} - - - - - + + + + + {% endblock %} {% block before %} diff --git a/kodorvan/site/system/views/themes/default/pages/system/article/create.html b/kodorvan/site/system/views/themes/default/pages/system/article/create.html old mode 100644 new mode 100755 index 406d71b..e6d76cd --- a/kodorvan/site/system/views/themes/default/pages/system/article/create.html +++ b/kodorvan/site/system/views/themes/default/pages/system/article/create.html @@ -4,9 +4,9 @@ {% block css %} {{ parent() }} - - - + + + {% endblock %} {% block before %} @@ -20,7 +20,7 @@
- import kodorvan + import kodorvan
Импорт @@ -65,11 +65,11 @@ value="" autocomplete="off" oninput="core.system.superpack.files = this.files" - /> + >