Initial commit | restructurization start and blog module create

pull/1/head
parent fe162ef11b
commit 86f53f07e2
  1. 8
      .gitignore
  2. 7
      wp-content/.htaccess
  3. 9
      wp-content/ai1wm-backups/.htaccess
  4. 1
      wp-content/ai1wm-backups/index.html
  5. 1
      wp-content/ai1wm-backups/index.php
  6. 3
      wp-content/ai1wm-backups/robots.txt
  7. 13
      wp-content/ai1wm-backups/web.config
  8. 5
      wp-content/themes/cosmopet/composer.json
  9. 725
      wp-content/themes/cosmopet/composer.lock
  10. 173
      wp-content/themes/cosmopet/functions.php
  11. 0
      wp-content/themes/cosmopet/global-functions/cache-functions.php
  12. 0
      wp-content/themes/cosmopet/global-functions/core-functions.php
  13. 0
      wp-content/themes/cosmopet/global-functions/multilang-functions.php
  14. 0
      wp-content/themes/cosmopet/global-functions/multisite-functions.php
  15. 3
      wp-content/themes/cosmopet/home.php
  16. 0
      wp-content/themes/cosmopet/index.php
  17. 0
      wp-content/themes/cosmopet/index.twig
  18. 87
      wp-content/themes/cosmopet/modules/blog/assets/css/gp-style-desktop.css
  19. 0
      wp-content/themes/cosmopet/modules/blog/assets/css/gp-style-mobile.css
  20. 32
      wp-content/themes/cosmopet/modules/blog/assets/css/gp-style-tablet.css
  21. 4
      wp-content/themes/cosmopet/modules/blog/assets/css/gp-style-ultra.css
  22. 11
      wp-content/themes/cosmopet/modules/blog/assets/css/gp-style-xl.css
  23. 442
      wp-content/themes/cosmopet/modules/blog/components/archive/assets/css/gp-style-desktop.css
  24. 0
      wp-content/themes/cosmopet/modules/blog/components/archive/assets/css/gp-style-mobile.css
  25. 32
      wp-content/themes/cosmopet/modules/blog/components/archive/assets/css/gp-style-tablet.css
  26. 0
      wp-content/themes/cosmopet/modules/blog/components/archive/component-ajax-controller.php
  27. 5
      wp-content/themes/cosmopet/modules/blog/components/archive/component-controller.php
  28. 511
      wp-content/themes/cosmopet/modules/blog/components/archive/component-template.twig
  29. 0
      wp-content/themes/cosmopet/modules/blog/components/author-banner/component-ajax-controller.php
  30. 2
      wp-content/themes/cosmopet/modules/blog/components/author-banner/component-controller.php
  31. 0
      wp-content/themes/cosmopet/modules/blog/components/author-banner/component-template.twig
  32. 0
      wp-content/themes/cosmopet/modules/blog/components/editorial/component-ajax-controller.php
  33. 2
      wp-content/themes/cosmopet/modules/blog/components/editorial/component-controller.php
  34. 0
      wp-content/themes/cosmopet/modules/blog/components/editorial/component-template.twig
  35. 166
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/css/gp-style-desktop.css
  36. 0
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/css/gp-style-mobile.css
  37. 32
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/css/gp-style-tablet.css
  38. 3
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/img/heart.svg
  39. 3
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/img/msg.svg
  40. 5
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/img/swp-next.svg
  41. 5
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/img/swp-prev.svg
  42. 11
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/assets/js/slider.js
  43. 0
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/component-ajax-controller.php
  44. 2
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/component-controller.php
  45. 123
      wp-content/themes/cosmopet/modules/blog/components/featured-slider/component-template.twig
  46. 0
      wp-content/themes/cosmopet/modules/blog/components/most-read/component-ajax-controller.php
  47. 2
      wp-content/themes/cosmopet/modules/blog/components/most-read/component-controller.php
  48. 0
      wp-content/themes/cosmopet/modules/blog/components/most-read/component-template.twig
  49. 0
      wp-content/themes/cosmopet/modules/blog/components/news-list/component-ajax-controller.php
  50. 2
      wp-content/themes/cosmopet/modules/blog/components/news-list/component-controller.php
  51. 0
      wp-content/themes/cosmopet/modules/blog/components/news-list/component-template.twig
  52. 0
      wp-content/themes/cosmopet/modules/blog/components/themes/component-ajax-controller.php
  53. 2
      wp-content/themes/cosmopet/modules/blog/components/themes/component-controller.php
  54. 0
      wp-content/themes/cosmopet/modules/blog/components/themes/component-template.twig
  55. 0
      wp-content/themes/cosmopet/modules/blog/module-ajax-controller.php
  56. 0
      wp-content/themes/cosmopet/modules/blog/module-controller.php
  57. 0
      wp-content/themes/cosmopet/modules/blog/module.template.twig
  58. 154
      wp-content/themes/cosmopet/modules/footer/assets/css/gp-style-desktop.css
  59. 68
      wp-content/themes/cosmopet/modules/footer/assets/css/gp-style-mobile.css
  60. 4
      wp-content/themes/cosmopet/modules/footer/assets/css/gp-style-tablet.css
  61. 11
      wp-content/themes/cosmopet/modules/footer/assets/img/logo-green.svg
  62. 0
      wp-content/themes/cosmopet/modules/footer/module-ajax-controller.php
  63. 3
      wp-content/themes/cosmopet/modules/footer/module-controller.php
  64. 68
      wp-content/themes/cosmopet/modules/footer/module.template.twig
  65. 87
      wp-content/themes/cosmopet/modules/header/assets/css/gp-style-desktop.css
  66. 0
      wp-content/themes/cosmopet/modules/header/assets/css/gp-style-mobile.css
  67. 32
      wp-content/themes/cosmopet/modules/header/assets/css/gp-style-tablet.css
  68. 4
      wp-content/themes/cosmopet/modules/header/assets/css/gp-style-ultra.css
  69. 11
      wp-content/themes/cosmopet/modules/header/assets/css/gp-style-xl.css
  70. 3
      wp-content/themes/cosmopet/modules/header/assets/img/arrow-down.svg
  71. 11
      wp-content/themes/cosmopet/modules/header/assets/img/bars.svg
  72. 3
      wp-content/themes/cosmopet/modules/header/assets/img/basket-icon.svg
  73. 3
      wp-content/themes/cosmopet/modules/header/assets/img/logo.svg
  74. 4
      wp-content/themes/cosmopet/modules/header/assets/img/user-icon.svg
  75. 0
      wp-content/themes/cosmopet/modules/header/module-ajax-controller.php
  76. 4
      wp-content/themes/cosmopet/modules/header/module-controller.php
  77. 46
      wp-content/themes/cosmopet/modules/header/module.template.twig
  78. 119
      wp-content/themes/cosmopet/modules/layout/assets/css/gp-style-core.css
  79. 78
      wp-content/themes/cosmopet/modules/layout/assets/css/gp-style-normalize.css
  80. 735
      wp-content/themes/cosmopet/modules/layout/assets/css/swiper-bundle.css
  81. 14
      wp-content/themes/cosmopet/modules/layout/assets/js/swiper-bundle.min.js
  82. 4
      wp-content/themes/cosmopet/modules/layout/module-controller.php
  83. 36
      wp-content/themes/cosmopet/modules/layout/module.template.twig
  84. 6
      wp-content/themes/cosmopet/style.css
  85. 14
      wp-content/uploads-webpc/.htaccess

8
.gitignore vendored

@ -35,12 +35,14 @@ wp-config.php
# htaccess # htaccess
/.htaccess /.htaccess
# vendor files in themes
/wp-content/themes/*/vendor
# All plugins # All plugins
# #
# Note: If you wish to whitelist plugins, # Note: If you wish to whitelist plugins,
# uncomment the next line
#/wp-content/plugins /wp-content/plugins
/wp-content/backups-dup-lite
# All themes # All themes
# #

@ -0,0 +1,7 @@
# BEGIN WebP Converter
# ! --- DO NOT EDIT PREVIOUS LINE --- !
# ! --- DO NOT EDIT NEXT LINE --- !
# END WebP Converter

@ -0,0 +1,9 @@
<IfModule mod_mime.c>
AddType application/octet-stream .wpress
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>

@ -0,0 +1 @@
Kangaroos cannot jump here

@ -0,0 +1 @@
Kangaroos cannot jump here

@ -0,0 +1,3 @@
User-agent: *
Disallow: /ai1wm-backups/
Disallow: /wp-content/ai1wm-backups/

@ -0,0 +1,13 @@
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".wpress" mimeType="application/octet-stream" />
</staticContent>
<defaultDocument>
<files>
<add value="index.php" />
</files>
</defaultDocument>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>

@ -0,0 +1,5 @@
{
"require": {
"timber/timber": "^2.1"
}
}

@ -0,0 +1,725 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "6da1f9205429be4e1609181ef22acad2",
"packages": [
{
"name": "composer/installers",
"version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/composer/installers.git",
"reference": "12fb2dfe5e16183de69e784a7b84046c43d97e8e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/installers/zipball/12fb2dfe5e16183de69e784a7b84046c43d97e8e",
"reference": "12fb2dfe5e16183de69e784a7b84046c43d97e8e",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0 || ^2.0",
"php": "^7.2 || ^8.0"
},
"require-dev": {
"composer/composer": "^1.10.27 || ^2.7",
"composer/semver": "^1.7.2 || ^3.4.0",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-phpunit": "^1",
"symfony/phpunit-bridge": "^7.1.1",
"symfony/process": "^5 || ^6 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "Composer\\Installers\\Plugin",
"branch-alias": {
"dev-main": "2.x-dev"
},
"plugin-modifies-install-path": true
},
"autoload": {
"psr-4": {
"Composer\\Installers\\": "src/Composer/Installers"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Kyle Robinson Young",
"email": "kyle@dontkry.com",
"homepage": "https://github.com/shama"
}
],
"description": "A multi-framework Composer library installer",
"homepage": "https://composer.github.io/installers/",
"keywords": [
"Dolibarr",
"Eliasis",
"Hurad",
"ImageCMS",
"Kanboard",
"Lan Management System",
"MODX Evo",
"MantisBT",
"Mautic",
"Maya",
"OXID",
"Plentymarkets",
"Porto",
"RadPHP",
"SMF",
"Starbug",
"Thelia",
"Whmcs",
"WolfCMS",
"agl",
"annotatecms",
"attogram",
"bitrix",
"cakephp",
"chef",
"cockpit",
"codeigniter",
"concrete5",
"concreteCMS",
"croogo",
"dokuwiki",
"drupal",
"eZ Platform",
"elgg",
"expressionengine",
"fuelphp",
"grav",
"installer",
"itop",
"known",
"kohana",
"laravel",
"lavalite",
"lithium",
"magento",
"majima",
"mako",
"matomo",
"mediawiki",
"miaoxing",
"modulework",
"modx",
"moodle",
"osclass",
"pantheon",
"phpbb",
"piwik",
"ppi",
"processwire",
"puppet",
"pxcms",
"reindex",
"roundcube",
"shopware",
"silverstripe",
"sydes",
"sylius",
"tastyigniter",
"wordpress",
"yawik",
"zend",
"zikula"
],
"support": {
"issues": "https://github.com/composer/installers/issues",
"source": "https://github.com/composer/installers/tree/v2.3.0"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2024-06-24T20:46:46+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.0.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
"reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
"shasum": ""
},
"require": {
"php": ">=8.0.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/contracts",
"name": "symfony/contracts"
},
"branch-alias": {
"dev-main": "3.0-dev"
}
},
"autoload": {
"files": [
"function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
"reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
"type": "library",
"extra": {
"thanks": {
"url": "https://github.com/symfony/polyfill",
"name": "symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php81\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
},
{
"name": "timber/timber",
"version": "v2.1.0",
"source": {
"type": "git",
"url": "https://github.com/timber/timber.git",
"reference": "d353d1912a1a051f47ba2d3f2e3ae1af1e5bed53"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/timber/timber/zipball/d353d1912a1a051f47ba2d3f2e3ae1af1e5bed53",
"reference": "d353d1912a1a051f47ba2d3f2e3ae1af1e5bed53",
"shasum": ""
},
"require": {
"composer/installers": "^1.0 || ^2.0",
"php": "^7.4 || ^8.0",
"symfony/polyfill-php80": "^1.27",
"twig/twig": "^2.15.3 || ^3.0"
},
"require-dev": {
"ergebnis/composer-normalize": "^2.28",
"php-parallel-lint/php-parallel-lint": "^1.3",
"php-stubs/acf-pro-stubs": "^6.0",
"php-stubs/wp-cli-stubs": "^2.0",
"phpro/grumphp": "^1.12",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.7",
"squizlabs/php_codesniffer": "^3.0",
"symplify/easy-coding-standard": "^12.0",
"szepeviktor/phpstan-wordpress": "^1.1",
"twig/cache-extra": "^3.3",
"wpackagist-plugin/advanced-custom-fields": "^5.0 || ^6.0",
"wpackagist-plugin/co-authors-plus": "^3.3",
"yoast/wp-test-utils": "^1.0"
},
"suggest": {
"php-coveralls/php-coveralls": "^2.0 for code coverage",
"twig/cache-extra": "For using the cache tag in Twig"
},
"type": "library",
"autoload": {
"psr-4": {
"Timber\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Erik van der Bas",
"email": "erik@basedonline.nl",
"homepage": "https://basedonline.nl"
},
{
"name": "Lukas Gächter",
"email": "lukas.gaechter@mind.ch",
"homepage": "https://www.mind.ch"
},
{
"name": "Nicolas Lemoine",
"email": "nico@n5s.dev",
"homepage": "https://n5s.dev"
},
{
"name": "Jared Novack",
"email": "jared@upstatement.com",
"homepage": "https://upstatement.com"
},
{
"name": "Timber Community",
"homepage": "https://github.com/timber/timber"
}
],
"description": "Create WordPress themes with beautiful OOP code and the Twig Template Engine",
"homepage": "http://timber.upstatement.com",
"keywords": [
"templating",
"themes",
"timber",
"twig",
"wordpress"
],
"support": {
"docs": "https://timber.github.io/docs/",
"issues": "https://github.com/timber/timber/issues",
"source": "https://github.com/timber/timber"
},
"funding": [
{
"url": "https://opencollective.com/timber",
"type": "open_collective"
}
],
"time": "2024-04-10T15:02:17+00:00"
},
{
"name": "twig/twig",
"version": "v3.19.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e",
"reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e",
"shasum": ""
},
"require": {
"php": ">=8.0.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-mbstring": "^1.3",
"symfony/polyfill-php81": "^1.29"
},
"require-dev": {
"phpstan/phpstan": "^2.0",
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
"type": "library",
"autoload": {
"files": [
"src/Resources/core.php",
"src/Resources/debug.php",
"src/Resources/escaper.php",
"src/Resources/string_loader.php"
],
"psr-4": {
"Twig\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Twig Team",
"role": "Contributors"
},
{
"name": "Armin Ronacher",
"email": "armin.ronacher@active-4.com",
"role": "Project Founder"
}
],
"description": "Twig, the flexible, fast, and secure template language for PHP",
"homepage": "https://twig.symfony.com",
"keywords": [
"templating"
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
"source": "https://github.com/twigphp/Twig/tree/v3.19.0"
},
"funding": [
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/twig/twig",
"type": "tidelift"
}
],
"time": "2025-01-29T07:06:14+00:00"
}
],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.1.0"
}

@ -0,0 +1,173 @@
<?php
function includeFilesFromFolder($folder) {
// Проверяем, существует ли папка
if (is_dir($folder)) {
// Открываем директорию
$files = scandir($folder);
// Перебираем файлы в директории
foreach ($files as $file) {
// Пропускаем текущую и родительскую директории
if ($file !== '.' && $file !== '..') {
// Формируем полный путь к файлу
$filePath = $folder . DIRECTORY_SEPARATOR . $file;
// Проверяем, является ли это файлом и имеет ли нужное расширение (например, .php)
if (is_file($filePath) && pathinfo($filePath, PATHINFO_EXTENSION) === 'php') {
include_once $filePath; // Подключаем файл
}
}
}
} else {
throw new Exception("Директория не найдена: $folder");
}
}
// function enqueue_css($directory) {
// // Check if the directory exists
// if (!is_dir($directory)) {
// return; // Exit if the directory doesn't exist
// }
// // Get all CSS files in the specified directory
// $css_files = glob($directory . '/*.css');
// // Enqueue each CSS file
// foreach ($css_files as $css_file) {
// // Get the file name without the directory
// $file_name = basename($css_file);
// // Enqueue the CSS file
// wp_enqueue_style($file_name, get_template_directory_uri() . '/' . $directory . '/' . $file_name);
// }
// }
function include_module($module_name) {
// Убедитесь, что имя модуля не пустое
if (empty($module_name)) {
return;
}
// Получаем путь к каталогу модуля
$module_dir = get_template_directory() . '/modules/' . $module_name;
// Регистрируем стили и скрипты
add_action('wp_enqueue_scripts', function() use ($module_name, $module_dir) {
// Подключаем стили
$css_dir = $module_dir . '/assets/css';
if (is_dir($css_dir)) {
$css_files = scandir($css_dir);
foreach ($css_files as $css_file) {
if (pathinfo($css_file, PATHINFO_EXTENSION) === 'css' && $css_file !== '.' && $css_file !== '..') {
wp_enqueue_style(
$module_name . '-' . pathinfo($css_file, PATHINFO_FILENAME),
get_template_directory_uri() . '/modules/' . $module_name . '/assets/css/' . $css_file
);
}
}
}
// Подключаем скрипты
$js_dir = $module_dir . '/assets/js';
if (is_dir($js_dir)) {
$js_files = scandir($js_dir);
foreach ($js_files as $js_file) {
if (pathinfo($js_file, PATHINFO_EXTENSION) === 'js' && $js_file !== '.' && $js_file !== '..') {
wp_enqueue_script(
$module_name . '-' . pathinfo($js_file, PATHINFO_FILENAME),
get_template_directory_uri() . '/modules/' . $module_name . '/assets/js/' . $js_file,
array('jquery'),
null,
true
);
}
}
}
});
// Подключаем контроллер модуля
$module_controller = $module_dir . '/module-controller.php';
if (file_exists($module_controller)) {
include $module_controller;
}
// Подключаем AJAX контроллер модуля
$module_ajax_controller = $module_dir . '/module-ajax-controller.php';
if (file_exists($module_ajax_controller)) {
include $module_ajax_controller;
}
}
function include_component($module_name, $component_name) {
// Убедитесь, что имя модуля и компонента не пустые
if (empty($module_name) || empty($component_name)) {
return;
}
// Получаем путь к каталогу модуля
$component_dir = get_template_directory() . '/modules/' . $module_name . '/components/' . $component_name;
// Регистрируем стили и скрипты
add_action('wp_enqueue_scripts', function() use ($module_name, $component_name, $component_dir) {
// Подключаем стили
$css_dir = $component_dir . '/assets/css';
if (is_dir($css_dir)) {
$css_files = scandir($css_dir);
foreach ($css_files as $css_file) {
if (pathinfo($css_file, PATHINFO_EXTENSION) === 'css' && $css_file !== '.' && $css_file !== '..') {
wp_enqueue_style($module_name . '-' . $component_name . '-' . pathinfo($css_file, PATHINFO_FILENAME), get_template_directory_uri() . '/modules/' . $module_name . '/components/' . $component_name . '/assets/css/' . $css_file);
}
}
}
// Подключаем скрипты
$js_dir = $component_dir . '/assets/js';
if (is_dir($js_dir)) {
$js_files = scandir($js_dir);
foreach ($js_files as $js_file) {
if (pathinfo($js_file, PATHINFO_EXTENSION) === 'js' && $js_file !== '.' && $js_file !== '..') {
wp_enqueue_script($module_name . '-' . $component_name . '-' . pathinfo($js_file, PATHINFO_FILENAME), get_template_directory_uri() . '/modules/' . $module_name . '/components/' . $component_name . '/assets/js/' . $js_file, array('jquery'), null, true);
}
}
}
});
$component_controller = $component_dir . '/component-controller.php';
if (file_exists($component_controller)) {
include $component_controller;
}
$component_ajax_controller = $component_dir . '/component-ajax-controller.php';
if (file_exists($component_ajax_controller)) {
include $component_ajax_controller;
}
}
require_once __DIR__ . '/vendor/autoload.php';
// Initialize Timber.
Timber\Timber::init();
Timber::$dirname = [
[
'modules',
],
];
includeFilesFromFolder(get_template_directory() . '/global-functions');
// Add the function to the Timber context
add_filter('timber/context', function($context) {
$context['template_path'] = get_template_directory_uri();
return $context;
});
include_module('layout');

@ -0,0 +1,3 @@
<?php
include_component('blog', 'archive');
?>

@ -0,0 +1,87 @@
/* Header */
.header {
background: var(--main_white);
border-bottom: 1px solid var(--interface_title);
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 4;
}
.header-container {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 0;
}
.header-bars {
display: none;
}
.header-logo {
display: flex;
align-items: center;
gap: 8px;
}
.header-logo span {
color: var(---main_black);
font-size: 20px;
text-transform: uppercase;
}
.header-navs {
display: flex;
align-items: center;
gap: 24px;
}
.header-navs__link {
padding: 8px 12px;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
line-height: 20px;
}
.header-accordion {}
.header-accordion__btn {
display: flex;
align-items: center;
gap: 4px;
padding: 8px 12px;
border-radius: 24px;
background: var(--accent-2);
cursor: pointer;
user-select: none;
font-size: 16px;
font-weight: bold;
line-height: 20px;
color: var(---main_black);
}
.header-right {
display: flex;
align-items: center;
gap: 8px;
}
.header-lang__btn {
display: flex;
align-items: center;
cursor: pointer;
user-select: none;
gap: 4px;
padding: 12px 15px;
color: var(---main_black);
font-size: 16px;
font-weight: bold;
line-height: 20px;
}
/* Header end */

@ -0,0 +1,32 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
.header-navs {
display: none;
}
.header-container {
height: 56px;
padding: 0;
}
.header-bars {
display: flex;
align-items: center;
justify-content: center;
}
.header-logo {
font-size: 16px;
line-height: 20px;
gap: 8px;
}
.header-logo img {
width: 31px;
flex-shrink: 0;
}
.header-lang {
display: none;
}
}

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

@ -0,0 +1,11 @@
@media (max-width: 1200px) {
.header-navs {
gap: 12px;
}
.header-navs__link {
font-size: 14px;
}
.header-right {
gap: 4px;
}
}

@ -0,0 +1,442 @@
/* Home */
.home {
padding: 140px 0 68px;
}
.home-title {
font-size: 82px;
font-weight: bold;
line-height: 96px;
color: var(--main_white);
margin-bottom: 16px;
}
.home-description {
font-size: 32px;
font-weight: bold;
line-height: 40px;
color: var(--main_white);
text-transform: uppercase;
margin-bottom: 68px;
}
/* Home end */
/* Anons */
.anons {
background: var(--main_white);
border-radius: 60px;
padding: 51px 0;
}
.anons-theme__title {
color: var(--main_black);
font-size: 24px;
font-weight: bold;
line-height: 28px;
text-transform: uppercase;
margin-bottom: 20px;
}
.anons-theme {
margin-bottom: 60px;
}
.anons-theme ul {
max-width: 1022px;
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.anons-theme ul a {
font-size: 20px;
font-weight: 600;
line-height: 24px;
color: var(--main_black);
padding: 4px 24px;
border: 1px solid #000;
border-radius: 20px;
}
.anons-theme ul a:hover,
.anons-theme ul a.active {
background: var(--main_black);
color: var(--main_white);
}
.anons-best {
margin-bottom: 60px;
}
.anons-best__title {
font-size: 36px;
line-height: 40px;
font-weight: bold;
color: var(--main_black);
margin-bottom: 20px;
}
.anons-best__card-wrap {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}
.anons-best__card {
padding-top: 293px;
border-radius: 48px;
overflow: hidden;
position: relative;
z-index: 1;
}
.anons-best__card.light {
padding-top: 0;
border-radius: 0;
}
.anons-best__card .main-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 360px;
z-index: -1;
}
.anons-best__card .main-img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.anons-best__card.light .main-img {
position: static;
height: 265px;
}
.anons-best__card.light .main-img img {
border-radius: 30px;
}
.anons-best__card-alerts {
position: absolute;
top: 21px;
left: 17px;
width: calc(100% - 34px);
display: flex;
flex-wrap: wrap;
gap: 7px;
z-index: 1;
}
.anons-best__card-alerts li {
padding: 6px 8px;
font-size: 16px;
line-height: 20px;
font-weight: 500;
color: var(--background);
background: var(--main_black);
border-radius: 30px;
}
.anons-best__card-body {
background: var(--accent-1);
padding: 30px 17px 22px;
border-radius: 48px 48px 0 0;
color: var(--main_white);
position: relative;
height: 100%;
}
.anons-best__card.light .anons-best__card-body {
background: transparent;
color: var(--main_black);
padding: 12px 0 34px;
}
.anons-best__card-body__title {
font-size: 28px;
font-weight: bold;
line-height: 32px;
text-transform: uppercase;
margin-bottom: 14px;
}
.anons-best__card.light .anons-best__card-body__title {
font-size: 26px;
}
.anons-best__card-body__datas {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px 10px;
max-width: 264px;
}
.anons-best__card.light .anons-best__card-body__datas {
color: var(--placeholder);
}
.anons-best__card-body__datas p {
font-size: 14px;
line-height: 16px;
font-weight: 500;
}
.anons-best__card-body__datas ul {
display: flex;
align-items: center;
gap: 10px;
}
.anons-best__card-body__datas ul li {
display: flex;
align-items: center;
gap: 4px;
font-size: 14px;
line-height: 16px;
font-weight: 500;
}
.anons-best__card-body__datas ul .logo img {
width: 24px;
height: 24px;
border-radius: 50%;
object-fit: cover;
}
.anons-article {
margin-bottom: 40px;
}
.anons-article__title {
font-size: 36px;
line-height: 40px;
font-weight: bold;
color: var(--main_black);
margin-bottom: 20px;
}
.anons-article__card-wrap {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 40px 25px;
}
.anons-article__more-link {
display: flex;
align-items: center;
justify-content: center;
}
.anons-article__more-link a {
background: var(--accent-3);
color: var(--main_white);
border-radius: 20px;
border: 1px solid var(--main_white);
padding: 16px 24px;
font-size: 20px;
font-weight: 600;
line-height: 24px;
text-transform: uppercase;
}
/* Anons end */
/* Author */
.author {
padding: 111px 0 105px;
}
.author-content {
max-width: 1022px;
margin: 0 auto;
background: #CAFF81;
border-radius: 60px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 35px 42px 35px 209px;
position: relative;
box-shadow: 6px 9px 20px rgba(0, 0, 0, 15%);
}
.author-content__star-1 {
position: absolute;
width: 74px;
top: 18px;
left: -15px;
transform: translateX(-100%);
}
.author-content__star-2 {
position: absolute;
top: 28px;
right: -24px;
transform: translateX(100%);
width: 37px;
}
.author-content__img {
position: absolute;
left: 9px;
top: -43px;
width: 167px;
}
.author-content__img.mb {
display: none;
}
.author-content__title {
color: var(--main_black);
font-size: 36px;
font-weight: bold;
line-height: 40px;
}
.author-content__link {
border-radius: 20px;
background: var(--main_black);
border: 1px solid var(--main_white);
padding: 15px 24px;
font-size: 20px;
font-weight: 600;
line-height: 24px;
color: var(--main_white);
flex-shrink: 0;
}
/* Author end */
/* Editorial */
.editorial {
padding-bottom: 68px;
}
.editorial-head {
position: relative;
z-index: 1;
max-width: 841px;
margin-bottom: 37px;
}
.editorial-head__title {
font-size: 82px;
line-height: 96px;
font-weight: bold;
color: var(--main_white);
text-transform: uppercase;
}
.editorial-head__img {
position: absolute;
z-index: -1;
top: -14px;
right: -20px;
width: 221px;
}
.editorial-head__star {
position: absolute;
top: 8.26px;
right: -13.5px;
transform: translateX(100%);
width: 87.5px;
}
.editorial-card__wrap {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 31px 25px;
position: relative;
z-index: 1;
}
.editorial-card {
border: 2px solid var(--creme-white);
border-radius: 30px;
display: flex;
align-items: stretch;
overflow: hidden;
background: var(--linear);
backdrop-filter: blur(28px);
}
.editorial-card .main-img {
min-height: 282px;
width: 207px;
border-radius: 29px;
overflow: hidden;
flex-shrink: 0;
}
.editorial-card .main-img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.editorial-card__content {
padding: 42px 19px 19px 35px;
}
.editorial-card__content-alerts {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 7px;
margin-bottom: 17px;
}
.editorial-card__content-alerts a {
background: var(--main_black);
border-radius: 16px;
padding: 6px 8px;
font-size: 16px;
font-weight: 500;
line-height: 20px;
color: var(--background);
}
.editorial-card__content-title {
font-size: 28px;
font-weight: bold;
line-height: 32px;
color: var(--grey-black);
text-transform: uppercase;
margin-bottom: 17px;
}
.editorial-card__content-data {
display: flex;
flex-wrap: wrap;
gap: 5px 16px;
color: var(--interface_hover);
font-size: 16px;
font-weight: 500;
line-height: 20px;
}
.editorial-card__content-data ul {
display: flex;
align-items: center;
gap: 16px;
}
.editorial-card__content-data li {
display: flex;
align-items: center;
gap: 5px;
}
.editorial-card__content-data .logo img {
width: 24px;
height: 24px;
border-radius: 50%;
object-fit: cover;
}
/* Editorial end */

@ -0,0 +1,32 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
.header-navs {
display: none;
}
.header-container {
height: 56px;
padding: 0;
}
.header-bars {
display: flex;
align-items: center;
justify-content: center;
}
.header-logo {
font-size: 16px;
line-height: 20px;
gap: 8px;
}
.header-logo img {
width: 31px;
flex-shrink: 0;
}
.header-lang {
display: none;
}
}

@ -0,0 +1,5 @@
<?php
include_component('blog', 'featured-slider');
$context = Timber::get_context();
Timber::render('blog/components/archive/component-template.twig', $context);

@ -0,0 +1,511 @@
{% extends 'layout/module.template.twig' %}
{% block content %}
<!-- Home -->
<section class="home">
<div class="container">
<h1 class="home-title">БЛОГ</h1>
<p class="home-description">Мы пишем про то, что нас по‑настоящему цепляет: биотехнологии, науку, здоровье и то, как этот мир сделать лучше. Мы не боимся сложных тем и неудобных вопросов, ведь именно с них начинается будущее</p>
{% include '/blog/components/featured-slider/component-template.twig' %}
</div>
</section>
<!-- Home end -->
<!-- Anons -->
<section class="anons">
<div class="container">
<div class="anons-theme">
<h3 class="anons-theme__title">Темы:</h3>
<ul>
<li>
<a href="#" class="active">ВСЕ</a>
</li>
<li>
<a href="#">ТРЕНДЫ</a>
</li>
<li>
<a href="#">БИОТЕХНОЛОГИИ</a>
</li>
<li>
<a href="#">ОБЗОРЫ</a>
</li>
<li>
<a href="#">ЗДОРОВЬЕ</a>
</li>
<li>
<a href="#">НАУКА</a>
</li>
<li>
<a href="#">ЭКОЛОГИЯ</a>
</li>
<li>
<a href="#">РАЗВИТИЕ</a>
</li>
<li>
<a href="#">ИСТОРИИ</a>
</li>
<li>
<a href="#">BSF</a>
</li>
<li>
<a href="#">ПСИХОЛОГИЯ</a>
</li>
</ul>
</div>
<div class="anons-best">
<h2 class="anons-best__title">САМЫЕ ЧИТАЕМЫЕ:</h2>
<ul class="anons-best__card-wrap">
<li class="anons-best__card">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Обзоры</a>
</li>
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-best-card-1.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Как рассчитать дневную порцию корма для кошки?</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-white.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-white.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-best-card-2.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Вечно голодная кошка: 8 способов решить проблему</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-white.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-white.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Обзоры</a>
</li>
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-best-card-3.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Корма для животных на основе энтобелка</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-white.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-white.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<div class="anons-article">
<h2 class="anons-article__title">ВСЕ СТАТЬИ</h2>
<ul class="anons-article__card-wrap">
<li class="anons-best__card light">
<ul class="anons-best__card-alerts">
<li>
<a href="#">обзоры</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-article-card-1.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">E-protein: новый белок, изменивший правила игры</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-grey.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-grey.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card light">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Здоровье</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-article-card-2.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Как совершенствовалась формула Cosmodog</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-grey.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-grey.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card light">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Экология</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-article-card-3.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Как выбрать когтеточку: обзор мастхевов для кошки</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-grey.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-grey.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card light">
<ul class="anons-best__card-alerts">
<li>
<a href="#">BSF</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-article-card-4.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Вечно голодная кошка: 8 способов решить проблему</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-grey.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-grey.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card light">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Истории</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-article-card-5.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Вечно голодная кошка: 8 способов решить проблему</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-grey.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-grey.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="anons-best__card light">
<ul class="anons-best__card-alerts">
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="main-img">
<img src="./assets/img/anons-article-card-6.png" alt="">
</a>
<div class="anons-best__card-body">
<a href="#" class="anons-best__card-body__title">Вечно голодная кошка: 8 способов решить проблему</a>
<div class="anons-best__card-body__datas">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/heart-grey.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-grey.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<div class="anons-article__more-link">
<a href="#">ПОКАЗАТЬ ЕЩЁ</a>
</div>
</div>
</section>
<!-- Anons end -->
<!-- Author -->
<section class="author">
<div class="container">
<div class="author-content">
<img src="./assets/img/star-1.png" alt="" class="author-content__star-1">
<img src="./assets/img/star-2.png" alt="" class="author-content__star-2">
<img src="./assets/img/author-card.png" alt="" class="author-content__img">
<img src="./assets/img/author-card-mb.png" alt="" class="author-content__img mb">
<h2 class="author-content__title">ПРЕДЛОЖИТЕ СТАТЬЮ <br>ИЛИ СТАНЬТЕ АВТОРОМ</h2>
<a href="#" class="author-content__link">НАПИШИТЕ НАМ</a>
</div>
</div>
</section>
<!-- Author end -->
<!-- Editorial -->
<section class="editorial">
<div class="container">
<div class="editorial-head">
<h2 class="editorial-head__title">COSMO тема редакции</h2>
<img src="./assets/img/editorial-head-icon.png" alt="" class="editorial-head__img">
<img src="./assets/img/editorial-head-star.png" alt="" class="editorial-head__star">
</div>
<ul class="editorial-card__wrap">
<li class="editorial-card">
<a href="#" class="main-img">
<img src="./assets/img/editorial-card.png" alt="">
</a>
<div class="editorial-card__content">
<ul class="editorial-card__content-alerts">
<li>
<a href="#">Обзоры</a>
</li>
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="editorial-card__content-title">Как рассчитать дневную порцию корма для кошки?</a>
<div class="editorial-card__content-data">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/header-red.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-green.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="editorial-card">
<a href="#" class="main-img">
<img src="./assets/img/editorial-card.png" alt="">
</a>
<div class="editorial-card__content">
<ul class="editorial-card__content-alerts">
<li>
<a href="#">Обзоры</a>
</li>
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="" class="editorial-card__content-title">Как рассчитать дневную порцию корма для кошки?</a>
<div class="editorial-card__content-data">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/header-red.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-green.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="editorial-card">
<a href="#" class="main-img">
<img src="./assets/img/editorial-card.png" alt="">
</a>
<div class="editorial-card__content">
<ul class="editorial-card__content-alerts">
<li>
<a href="#">Обзоры</a>
</li>
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="editorial-card__content-title">Как рассчитать дневную порцию корма для кошки?</a>
<div class="editorial-card__content-data">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/header-red.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-green.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
<li class="editorial-card">
<a href="#" class="main-img">
<img src="./assets/img/editorial-card.png" alt="">
</a>
<div class="editorial-card__content">
<ul class="editorial-card__content-alerts">
<li>
<a href="#">Обзоры</a>
</li>
<li>
<a href="#">Наука</a>
</li>
</ul>
<a href="#" class="editorial-card__content-title">Как рассчитать дневную порцию корма для кошки?</a>
<div class="editorial-card__content-data">
<p>21.10.24</p>
<p>время чтения: 5 минут</p>
<ul>
<li>
<img src="./assets/img/header-red.svg" alt="">
<span>22</span>
</li>
<li>
<img src="./assets/img/msg-green.svg" alt="">
<span>14</span>
</li>
<li class="logo">
<img src="./assets/img/user-logo.png" alt="">
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</section>
<!-- Editorial end -->
{% endblock %}

@ -0,0 +1,166 @@
.home-swp {
position: relative;
}
.home-swp__btn {
position: absolute;
bottom: 22px;
left: 50%;
transform: translateX(-50%);
z-index: 2;
display: flex;
align-items: center;
gap: 24px;
}
.home-swp__btn button {
border: 1px solid var(--main_black);
background: var(--main_white);
width: 56px;
height: 56px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 20px;
}
.home-swp .swiper-slide:not(.swiper-slide-active) {
height: 0;
overflow: hidden;
}
.home-card {
border-radius: 60px;
overflow: hidden;
display: flex;
align-items: flex-start;
gap: 24px;
position: relative;
}
.home-card.bg-yellow {
background: var(--orange_80);
}
.home-card.bg-green {
background: var(--green_90);
}
.home-card.bg-violet {
background: var(--violet_90);
}
.home-card__img {
width: 395px;
border-radius: 60px;
overflow: hidden;
height: 393px;
flex-shrink: 0;
}
.home-card__img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.home-card__content {
padding: 32px 79px 0 0;
}
.home-card__content-title {
font-size: 36px;
font-weight: bold;
line-height: 40px;
text-transform: uppercase;
max-width: 660px;
margin-bottom: 10px;
color: var(--interface_title);
}
.home-card__content-description {
color: var(--interface_title);
margin-bottom: 10px;
font-size: 20px;
font-weight: 500;
line-height: 24px;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}
.home-card__content-body {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 12px;
}
.home-card__content-body__alerts {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 12px;
}
.home-card__content-body__alerts li {
background: var(--interface_hover);
color: var(--background);
border-radius: 16px;
padding: 6px 8px;
font-size: 16px;
font-weight: 500;
line-height: 20px;
}
.home-card__content-body__day {
color: var(--interface_hover);
font-size: 14px;
font-weight: 500;
line-height: 16px;
}
.home-card__content-body__time {
font-size: 14px;
font-weight: 500;
line-height: 16px;
color: var(--interface_hover);
}
.home-card__content-body__data {
display: flex;
align-items: center;
gap: 12px;
}
.home-card__content-body__data>div {
display: flex;
align-items: center;
gap: 4px;
font-size: 14px;
font-weight: 500;
line-height: 16px;
color: var(--interface_hover);
}
.home-card__content-body__data>div .main-img {
width: 32px;
height: 32px;
border-radius: 50%;
object-fit: cover;
}
.home-card__content-body__link {
border: 1px solid #000000;
border-radius: 28px;
background: var(--main_white);
position: absolute;
right: 37px;
bottom: 26px;
padding: 8.5px 16px 12.5px;
font-style: 20px;
font-weight: 500;
line-height: 24px;
}

@ -0,0 +1,32 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
.header-navs {
display: none;
}
.header-container {
height: 56px;
padding: 0;
}
.header-bars {
display: flex;
align-items: center;
justify-content: center;
}
.header-logo {
font-size: 16px;
line-height: 20px;
gap: 8px;
}
.header-logo img {
width: 31px;
flex-shrink: 0;
}
.header-lang {
display: none;
}
}

@ -0,0 +1,3 @@
<svg width="19" height="16" viewBox="0 0 19 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.2859 0C11.2135 0 9.85457 2.23345 9.55915 3.35018C9.34251 2.23345 8.03478 0 4.53702 0C0.164809 0 -1.78496 5.60289 2.05549 10.3971C5.12786 14.2325 8.33808 15.7304 9.55915 16C10.9181 15.7497 14.3686 14.1978 17.2991 9.99278C20.9623 4.73646 18.1263 0 14.2859 0Z" fill="#666666"/>
</svg>

After

Width:  |  Height:  |  Size: 391 B

@ -0,0 +1,3 @@
<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 3C0 1.34315 1.34315 0 3 0H14C15.6569 0 17 1.34315 17 3V16L13.8125 12.3871H3C1.34315 12.3871 0 11.044 0 9.3871V3Z" fill="#666666"/>
</svg>

After

Width:  |  Height:  |  Size: 246 B

@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21 12.3633H4.5" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M21 12.3633L14.636 18.7272" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M21 12.3633L14.636 5.99932" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 458 B

@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.5 12.3633H21" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4.5 12.3633L10.864 18.7272" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4.5 12.3633L10.864 5.99932" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 460 B

@ -0,0 +1,11 @@
const homeSwp = new Swiper('.home-swp .swiper', {
slidesPerView: 1,
spaceBetween: 0,
effect: 'fade',
loop: true,
navigation: {
nextEl: '.home-swp__btn-next',
prevEl: '.home-swp__btn-prev',
}
})

@ -0,0 +1,123 @@
{% set current_path = template_path ~ '/modules/blog/components/featured-slider' %}
<div class="home-swp">
<div class="home-swp__btn">
<button class="home-swp__btn-prev">
<img src="{{ current_path }}/assets/img/swp-prev.svg" alt="">
</button>
<button class="home-swp__btn-next">
<img src="{{ current_path }}/assets/img/swp-next.svg" alt="">
</button>
</div>
<div class="swiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="home-card bg-yellow">
<a href="#" class="home-card__img">
<img src="{{ current_path }}/assets/img/home-card.png" alt="">
</a>
<div class="home-card__content">
<a href="#" class="home-card__content-title">Как выбрать когтеточку: обзор мастхевов для вашей
кошки</a>
<p class="home-card__content-description">Простая с виду задача «купить когтеточку» может
оказаться утомительным и дорогим занятием. Типичная ситуация: вы приобрели сразу несколько
вариантов ...</p>
<div class="home-card__content-body">
<ul class="home-card__content-body__alerts">
<li>Обзоры</li>
<li>Тренды</li>
</ul>
<div class="home-card__content-body__day">21.10.24</div>
<div class="home-card__content-body__time">время чтения: 5 минут</div>
<div class="home-card__content-body__data">
<div>
<img src="{{ current_path }}/assets/img/heart.svg" alt="">
<span>22</span>
</div>
<div>
<img src="{{ current_path }}/assets/img/msg.svg" alt="">
<span>22</span>
</div>
<div>
<img src="{{ current_path }}/assets/img/user-logo.png" alt="" class="main-img">
</div>
</div>
<a href="#" class="home-card__content-body__link">читать статью</a>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="home-card bg-green">
<a href="#" class="home-card__img">
<img src="{{ current_path }}/assets/img/home-card-2.png" alt="">
</a>
<div class="home-card__content">
<a href="#" class="home-card__content-title">Краткая история кормов: от хлебных корок до
лечебных рационов</a>
<p class="home-card__content-description">Современный мир сложно представить без готовых кормов
для собак и кошек. И сложно поверить, что это относительно современная концепция,
существующая менее 150 лет. Поэтапно о том ...</p>
<div class="home-card__content-body">
<ul class="home-card__content-body__alerts">
<li>Обзоры</li>
<li>Тренды</li>
</ul>
<div class="home-card__content-body__day">21.10.24</div>
<div class="home-card__content-body__time">время чтения: 5 минут</div>
<div class="home-card__content-body__data">
<div>
<img src="{{ current_path }}/assets/img/heart.svg" alt="">
<span>22</span>
</div>
<div>
<img src="{{ current_path }}/assets/img/msg.svg" alt="">
<span>22</span>
</div>
<div>
<img src="{{ current_path }}/assets/img/user-logo.png" alt="" class="main-img">
</div>
</div>
<a href="#" class="home-card__content-body__link">читать статью</a>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="home-card bg-violet">
<a href="#" class="home-card__img">
<img src="{{ current_path }}/assets/img/home-card-3.png" alt="">
</a>
<div class="home-card__content">
<a href="#" class="home-card__content-title">Пищевая аллергия у собак. Причины и пути
решения</a>
<p class="home-card__content-description">Даже привычный рацион может вызвать у питомца
нежелательную реакцию – зуд, расстройства ЖКТ, изменения в поведении. Хорошая новость: с
этой проблемой можно справиться. Рассказываем, как ...</p>
<div class="home-card__content-body">
<ul class="home-card__content-body__alerts">
<li>Обзоры</li>
<li>Тренды</li>
</ul>
<div class="home-card__content-body__day">21.10.24</div>
<div class="home-card__content-body__time">время чтения: 5 минут</div>
<div class="home-card__content-body__data">
<div>
<img src="{{ current_path }}/assets/img/heart.svg" alt="">
<span>22</span>
</div>
<div>
<img src="{{ current_path }}/assets/img/msg.svg" alt="">
<span>22</span>
</div>
<div>
<img src="{{ current_path }}/assets/img/user-logo.png" alt="" class="main-img">
</div>
</div>
<a href="#" class="home-card__content-body__link">читать статью</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

@ -0,0 +1,154 @@
/* Footer */
.footer {
background: var(--main_black);
padding: 40px 0 38px;
color: var(--main_white);
}
.footer-top {
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 48px;
}
.footer-top .logo {
display: flex;
align-items: center;
gap: 10px;
font-size: 20px;
font-weight: 500;
text-transform: uppercase;
background: var(--accent-1);
color: transparent;
-webkit-background-clip: text;
background-clip: text;
margin-bottom: 24px;
}
.footer-content__address {
font-size: 24px;
font-weight: 500;
line-height: 32px;
margin-bottom: 32px;
}
.footer-content {
width: 100%;
}
.footer-content ul {
display: flex;
flex-direction: column;
gap: 24px;
}
.footer-content ul li {
display: flex;
flex-direction: column;
gap: 4px;
}
.footer-content ul p {
font-size: 16px;
font-weight: bold;
line-height: 20px;
}
.footer-content ul a {
font-size: 24px;
font-weight: 500;
line-height: 32px;
}
.footer-content__wrap {
display: flex;
align-items: flex-end;
justify-content: space-between;
width: 100%;
}
.footer-top__link {
display: flex;
flex-direction: column;
gap: 24px;
}
.footer-top__link .link-black {
padding: 7px 15px;
color: var(--main_white);
font-size: 24px;
line-height: 32px;
font-weight: 500;
white-space: nowrap;
border: 1px solid var(--main_white);
border-radius: 24px;
}
.footer-top__link .link-white {
width: 100%;
text-align: center;
background: var(--main_white);
color: var(--main_black);
font-size: 20px;
font-weight: 600;
line-height: 24px;
padding: 12px;
border-radius: 20px;
}
.footer-contact {
width: 364px;
flex-shrink: 0;
background: var(--accent-1);
border-radius: 24px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
}
.footer-contact__title {
color: var(--main_black);
font-size: 24px;
font-weight: 500;
line-height: 32px;
}
.footer-contact__submit {
width: 100%;
text-align: center;
height: 48px;
border-radius: 16px;
background: var(--main_black);
font-size: 20px;
font-weight: 600;
line-height: 24px;
color: var(--main_white);
}
.footer-bottom {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 17px;
margin-top: 19px;
border-top: 1px solid var(--main_white);
}
.footer-network {
display: flex;
align-items: center;
gap: 32px;
}
.footer-bottom a {
font-size: 16px;
line-height: 20px;
font-weight: 500;
color: var(--main_white);
opacity: 0.6;
text-decoration: underline;
}
/* Footer end */

@ -0,0 +1,68 @@
/* Стили для мобильных устройств */
@media only screen and (max-width: 576px) {
.footer {
padding: 24px 0 58px;
}
.footer-top {
align-items: flex-start;
text-align: left;
gap: 24px;
}
.footer-content__wrap {
align-items: flex-start;
gap: 24px;
}
.footer-content {
align-items: flex-start;
}
.footer-content .logo {
font-size: 20px;
margin-bottom: 24px;
}
.footer-content__address {
font-size: 18px;
line-height: 24px;
margin-bottom: 32px;
}
.footer-content ul {
gap: 24px;
}
.footer-content ul p {
font-size: 16px;
line-height: 20px;
}
.footer-content ul a {
font-size: 24px;
line-height: 32px;
}
.footer-top__link .link-white {
display: none;
}
.footer-contact {
width: 100%;
padding: 16px;
border-radius: 24px;
}
.footer-contact__title {
color: var(--main_white);
}
.footer-bottom {
margin-top: 0;
padding-top: 24px;
border: 0;
align-items: flex-start;
gap: 17px;
}
}

@ -0,0 +1,4 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
}

@ -0,0 +1,11 @@
<svg width="55" height="44" viewBox="0 0 55 44" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M54.4456 6.968C52.8502 4.26022 48.1445 3.74111 41.1703 5.49485C37.7503 2.7802 33.5793 1.14675 29.203 0.808095C24.8266 0.469444 20.4485 1.44136 16.6411 3.59675C12.8338 5.75214 9.77451 8.99066 7.8633 12.8888C5.9521 16.787 5.27795 21.1633 5.92903 25.4455C0.860701 30.5173 -1.05 34.7988 0.552524 37.5159C1.53158 39.1785 3.63429 40.0203 6.71606 40.0203C8.68733 39.9852 10.649 39.7398 12.5667 39.2884C12.9792 39.1972 13.4011 39.0966 13.8278 38.9891C17.0317 41.5323 20.8992 43.1302 24.9842 43.5984C29.0692 44.0666 33.2052 43.386 36.9149 41.6351C40.6245 39.8842 43.7568 37.1345 45.9501 33.703C48.1434 30.2716 49.3085 26.2985 49.3109 22.242C49.3125 21.1675 49.2333 20.0943 49.0738 19.0314C52.1011 15.9916 54.1255 13.1201 54.7632 10.7374C55.1639 9.27359 55.0548 8.00622 54.4456 6.968ZM27.5014 2.6C32.1048 2.60551 36.5646 4.18168 40.1241 7.0611C43.6836 9.94053 46.1237 13.9459 47.0304 18.3977C43.1971 22.0666 37.8325 25.9926 31.7424 29.444C25.2683 33.1128 19.2233 35.5821 14.2925 36.9266C11.2741 34.2819 9.14206 30.7945 8.17904 26.9271C7.21602 23.0597 7.46753 18.995 8.90022 15.2718C10.3329 11.5486 12.8791 8.34292 16.2011 6.07984C19.5232 3.81675 23.4641 2.60317 27.5014 2.6ZM2.19534 36.5759C1.18784 34.8689 2.78799 31.5251 6.40315 27.6762C7.38336 31.3793 9.34736 34.7574 12.0926 37.4621C6.84408 38.6102 3.19573 38.2782 2.19534 36.5759ZM27.5014 41.8839C23.4308 41.8879 19.4578 40.655 16.1226 38.353C21.2383 36.8144 26.987 34.2914 32.6812 31.0668C38.4299 27.8072 43.4934 24.1781 47.3385 20.6753C47.3812 21.192 47.4097 21.7135 47.4097 22.242C47.4034 27.4486 45.3041 32.4403 41.572 36.1224C37.84 39.8045 32.7799 41.8765 27.5014 41.8839ZM52.9331 10.2533C52.4282 12.124 50.8992 14.3805 48.6068 16.8147C47.6205 13.1031 45.6464 9.71887 42.8889 7.01243C48.0687 5.88535 51.8 6.20336 52.8051 7.90801C53.1512 8.4996 53.1963 9.28762 52.9331 10.2533Z" fill="url(#paint0_radial_12821_4886)"/>
<defs>
<radialGradient id="paint0_radial_12821_4886" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(55 0.74219) rotate(141.981) scale(69.814 92.4982)">
<stop stop-color="#188892"/>
<stop offset="0.45" stop-color="#1EA49C"/>
<stop offset="0.9" stop-color="#76CE75"/>
<stop offset="1" stop-color="#BBE38D"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1,68 @@
{% set current_path = template_path ~ '/modules/footer' %}
<footer class="footer">
<div class="container">
<div class="footer-top">
<div class="footer-content__wrap">
<div class="footer-content">
<a href="/" class="logo">
<img src="{{ current_path }}/assets/img/logo-green.svg" alt="">
<span>сosmopet</span>
</a>
<p class="footer-content__address">
123182 г. Москва, <br>
4-й Красногорский пр., <br>
д. 2/4, стр. 1, этаж/ком. 3/1
</p>
<ul>
<li>
<p>Отзывы и предложения</p>
<a href="mailto:pro@cosmopet.shop" target="_blank">pro@cosmopet.shop</a>
</li>
<li>
<p>Заявки для оптовых покупателей</p>
<a href="mailto:pro@cosmopet.shop" target="_blank">pro@cosmopet.shop</a>
</li>
<li>
<p>Связь с ветеринаром</p>
<a href="mailto:vetvopros@cosmopet.shop" target="_blank">vetvopros@cosmopet.shop</a>
</li>
</ul>
</div>
<div class="footer-top__link">
<a href="#" class="link-black">Чат бот с ветеринаром</a>
<a href="#" class="link-white">Калькулятор рациона</a>
</div>
</div>
<form class="footer-contact">
<h3 class="footer-contact__title">Форма обратной связи</h3>
<input type="text" placeholder="Ваше имя" class="form-inp">
<input type="email" placeholder="Эл.почта" class="form-inp">
<textarea class="form-textarea" name="" placeholder="Текст обращения" id=""></textarea>
<button class="footer-contact__submit" type="submit">Отправить</button>
</form>
</div>
<div class="footer-bottom">
<ul class="footer-network">
<li>
<a href="#">
<img src="{{ current_path }}/assets/img/footer-network-1.svg" alt="">
</a>
</li>
<li>
<a href="#">
<img src="{{ current_path }}/assets/img/footer-network-2.svg" alt="">
</a>
</li>
<li>
<a href="#">
<img src="{{ current_path }}/assets/img/footer-network-3.svg" alt="">
</a>
</li>
</ul>
<a href="#">Соглашение о конфиденциальности</a>
<a href="#">Декларация соответствия корма</a>
<a href="#">Декларация соответствия лакомств</a>
</div>
</div>
</footer>
<!-- Footer end -->

@ -0,0 +1,87 @@
/* Header */
.header {
background: var(--main_white);
border-bottom: 1px solid var(--interface_title);
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 4;
}
.header-container {
display: flex;
align-items: center;
justify-content: space-between;
padding: 16px 0;
}
.header-bars {
display: none;
}
.header-logo {
display: flex;
align-items: center;
gap: 8px;
}
.header-logo span {
color: var(---main_black);
font-size: 20px;
text-transform: uppercase;
}
.header-navs {
display: flex;
align-items: center;
gap: 24px;
}
.header-navs__link {
padding: 8px 12px;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
line-height: 20px;
}
.header-accordion {}
.header-accordion__btn {
display: flex;
align-items: center;
gap: 4px;
padding: 8px 12px;
border-radius: 24px;
background: var(--accent-2);
cursor: pointer;
user-select: none;
font-size: 16px;
font-weight: bold;
line-height: 20px;
color: var(---main_black);
}
.header-right {
display: flex;
align-items: center;
gap: 8px;
}
.header-lang__btn {
display: flex;
align-items: center;
cursor: pointer;
user-select: none;
gap: 4px;
padding: 12px 15px;
color: var(---main_black);
font-size: 16px;
font-weight: bold;
line-height: 20px;
}
/* Header end */

@ -0,0 +1,32 @@
/* Стили для планшетов */
@media only screen and (max-width: 992px) {
.header-navs {
display: none;
}
.header-container {
height: 56px;
padding: 0;
}
.header-bars {
display: flex;
align-items: center;
justify-content: center;
}
.header-logo {
font-size: 16px;
line-height: 20px;
gap: 8px;
}
.header-logo img {
width: 31px;
flex-shrink: 0;
}
.header-lang {
display: none;
}
}

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

@ -0,0 +1,11 @@
@media (max-width: 1200px) {
.header-navs {
gap: 12px;
}
.header-navs__link {
font-size: 14px;
}
.header-right {
gap: 4px;
}
}

@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2.5 5.5L7.5 10.5L12.5 5.5" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 225 B

@ -0,0 +1,11 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_12806_2018)">
<path d="M4 8H20" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M4 16H20" stroke="#121212" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<defs>
<clipPath id="clip0_12806_2018">
<rect width="24" height="24" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 458 B

@ -0,0 +1,3 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.9995 11.5385C19.3616 11.5385 18.7499 11.7816 18.2988 12.2144C17.8478 12.6471 17.5944 13.2341 17.5944 13.8462V15.1282H22.4045V13.8462C22.4045 13.2341 22.1511 12.6471 21.7001 12.2144C21.2491 11.7816 20.6373 11.5385 19.9995 11.5385ZM24.0079 15.1282V13.8462C24.0079 12.8261 23.5856 11.8478 22.8339 11.1265C22.0821 10.4052 21.0626 10 19.9995 10C18.9364 10 17.9168 10.4052 17.1651 11.1265C16.4133 11.8478 15.991 12.8261 15.991 13.8462V15.1282H13.9399M15.991 16.6667H13.9398C13.7471 16.6666 13.5566 16.7066 13.3816 16.7838C13.2065 16.861 13.051 16.9736 12.9255 17.1138C12.8 17.2541 12.7077 17.4188 12.6548 17.5965C12.6019 17.7742 12.5896 17.9608 12.6189 18.1435C12.6189 18.1434 12.6189 18.1435 12.6189 18.1435L13.9604 26.5045C14.0477 27.0493 14.3354 27.5463 14.7714 27.9052C15.2074 28.2642 15.7629 28.4615 16.3373 28.4615C16.3373 28.4615 16.3374 28.4615 16.3373 28.4615H23.6616C24.2362 28.4617 24.7921 28.2644 25.2283 27.9055C25.6645 27.5465 25.9523 27.0496 26.0396 26.5046L27.3811 18.1436C27.3811 18.1436 27.3811 18.1435 27.3811 18.1436C27.4104 17.9609 27.3981 17.7742 27.3452 17.5965C27.2923 17.4188 27.1999 17.2541 27.0745 17.1138C26.949 16.9736 26.7935 16.861 26.6184 16.7838C26.4433 16.7066 26.253 16.6666 26.0603 16.6667H24.0079V18.9744C24.0079 19.3992 23.649 19.7436 23.2062 19.7436C22.7635 19.7436 22.4045 19.3992 22.4045 18.9744V16.6667H17.5944V18.9744C17.5944 19.3992 17.2355 19.7436 16.7927 19.7436C16.3499 19.7436 15.991 19.3992 15.991 18.9744V16.6667ZM24.0079 15.1282H26.0601C26.0601 15.1282 26.0602 15.1282 26.0601 15.1282C26.4839 15.1282 26.9028 15.2161 27.2879 15.3859C27.673 15.5557 28.0153 15.8034 28.2913 16.112C28.5673 16.4206 28.7705 16.7829 28.8869 17.1739C29.0033 17.5649 29.0303 17.9755 28.9658 18.3774L27.6244 26.7385C27.6243 26.7385 27.6244 26.7384 27.6244 26.7385C27.4788 27.6467 26.9991 28.475 26.2722 29.0732C25.5453 29.6715 24.6192 30.0002 23.6616 30C23.6615 30 23.6616 30 23.6616 30H16.3373C15.3799 30 14.454 29.6711 13.7273 29.0728C13.0007 28.4746 12.5212 27.6466 12.3757 26.7386C12.3756 26.7385 12.3757 26.7386 12.3757 26.7386L11.0342 18.3776C10.9697 17.9756 10.9966 17.5649 11.1131 17.1739C11.2295 16.7829 11.4327 16.4206 11.7087 16.112C11.9847 15.8034 12.327 15.5557 12.7121 15.3859C13.0972 15.2161 13.5161 15.1282 13.9399 15.1282" fill="#333333"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,3 @@
<svg width="51" height="40" viewBox="0 0 51 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M50.4859 5.79145C49.0065 3.27258 44.6431 2.78969 38.1761 4.42108C35.0048 1.89583 31.1372 0.376333 27.0791 0.0613091C23.021 -0.253715 18.9613 0.650395 15.4309 2.65541C11.9004 4.66042 9.06364 7.673 7.29143 11.2992C5.51922 14.9254 4.8941 18.9964 5.49783 22.9798C0.798105 27.6978 -0.973633 31.6805 0.51234 34.2081C1.42019 35.7547 3.36998 36.5377 6.22762 36.5377C8.05553 36.5052 9.87449 36.2769 11.6527 35.8569C12.0352 35.7721 12.4265 35.6785 12.8222 35.5785C15.793 37.9443 19.3793 39.4307 23.1672 39.8663C26.9551 40.3018 30.7903 39.6687 34.2301 38.0399C37.67 36.4112 40.5744 33.8533 42.6083 30.6613C44.6421 27.4693 45.7224 23.7733 45.7246 19.9998C45.7261 19.0003 45.6527 18.002 45.5048 17.0132C48.3119 14.1855 50.1891 11.5144 50.7805 9.29786C51.1519 7.93619 51.0508 6.75724 50.4859 5.79145ZM25.5013 1.7282C29.77 1.73333 33.9054 3.19952 37.206 5.87806C40.5066 8.5566 42.7692 12.2825 43.61 16.4238C40.0555 19.8366 35.081 23.4888 29.4339 26.6994C23.4306 30.1122 17.8253 32.4092 13.253 33.66C10.4542 31.1997 8.47718 27.9557 7.5842 24.3581C6.69122 20.7605 6.92444 16.9793 8.25293 13.5159C9.58142 10.0525 11.9424 7.07045 15.0229 4.96526C18.1033 2.86006 21.7576 1.73114 25.5013 1.7282ZM2.03568 33.3337C1.10145 31.7458 2.58523 28.6353 5.93746 25.0549C6.84638 28.4997 8.66755 31.6421 11.2131 34.1581C6.34633 35.2261 2.96332 34.9172 2.03568 33.3337ZM25.5013 38.2714C21.7268 38.275 18.0427 37.1282 14.95 34.9868C19.6937 33.5556 25.0243 31.2085 30.3044 28.2089C35.635 25.1767 40.3303 21.8008 43.8957 18.5424C43.9353 19.0231 43.9617 19.5082 43.9617 19.9998C43.9559 24.8432 42.0092 29.4866 38.5486 32.9118C35.088 36.3371 30.3959 38.2645 25.5013 38.2714ZM49.0835 8.84759C48.6152 10.5877 47.1974 12.6868 45.0718 14.9512C44.1572 11.4985 42.3267 8.3504 39.7697 5.83278C44.5728 4.78434 48.0327 5.08016 48.9648 6.66588C49.2857 7.2162 49.3274 7.94924 49.0835 8.84759Z" fill="#121212"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,4 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.6412 11.6412C17.532 10.7504 18.7402 10.25 20 10.25C21.2598 10.25 22.468 10.7504 23.3588 11.6412C24.2496 12.532 24.75 13.7402 24.75 15C24.75 16.2598 24.2496 17.468 23.3588 18.3588C22.468 19.2496 21.2598 19.75 20 19.75C18.7402 19.75 17.532 19.2496 16.6412 18.3588C15.7504 17.468 15.25 16.2598 15.25 15C15.25 13.7402 15.7504 12.532 16.6412 11.6412ZM20 11.75C19.138 11.75 18.3114 12.0924 17.7019 12.7019C17.0924 13.3114 16.75 14.138 16.75 15C16.75 15.862 17.0924 16.6886 17.7019 17.2981C18.3114 17.9076 19.138 18.25 20 18.25C20.862 18.25 21.6886 17.9076 22.2981 17.2981C22.9076 16.6886 23.25 15.862 23.25 15C23.25 14.138 22.9076 13.3114 22.2981 12.7019C21.6886 12.0924 20.862 11.75 20 11.75Z" fill="#333333"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 23.75C17.138 23.75 16.3114 24.0924 15.7019 24.7019C15.0924 25.3114 14.75 26.138 14.75 27V29C14.75 29.4142 14.4142 29.75 14 29.75C13.5858 29.75 13.25 29.4142 13.25 29V27C13.25 25.7402 13.7504 24.532 14.6412 23.6412C15.532 22.7504 16.7402 22.25 18 22.25H22C23.2598 22.25 24.468 22.7504 25.3588 23.6412C26.2496 24.532 26.75 25.7402 26.75 27V29C26.75 29.4142 26.4142 29.75 26 29.75C25.5858 29.75 25.25 29.4142 25.25 29V27C25.25 26.138 24.9076 25.3114 24.2981 24.7019C23.6886 24.0924 22.862 23.75 22 23.75H18Z" fill="#333333"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,46 @@
{% set current_path = template_path ~ '/modules/header' %}
<header class="header">
<div class="container header-container">
<button class="header-bars">
<img src="{{ current_path }}/assets/img/bars.svg" alt="">
</button>
<a href="/" class="header-logo">
<img src="{{ current_path }}/assets/img/logo.svg" alt="">
<span>сosmopet</span>
</a>
<ul class="header-navs">
<li>
<a href="#" class="header-navs__link">ГЛАВНАЯ</a>
</li>
<li>
<a href="#" class="header-navs__link">О COSMOPET</a>
</li>
<li>
<a href="#" class="header-navs__link">ПРОИЗВОДСТВО</a>
</li>
<li>
<a href="#" class="header-navs__link">БЛОГ</a>
</li>
<li class="header-accordion">
<div class="header-accordion__btn">
<span>ПРОДУКЦИЯ</span>
<img src="{{ current_path }}/assets/img/arrow-down.svg" alt="">
</div>
</li>
</ul>
<div class="header-right">
<div class="header-lang">
<div class="header-lang__btn">
<span>RU</span>
<img src="{{ current_path }}/assets/img/arrow-down.svg" alt="">
</div>
</div>
<a href="#">
<img src="{{ current_path }}/assets/img/user-icon.svg" alt="">
</a>
<a href="#">
<img src="{{ current_path }}/assets/img/basket-icon.svg" alt="">
</a>
</div>
</div>
</header>

@ -0,0 +1,119 @@
@font-face {
font-family: "Craftwork Grotest";
src: url('../fonts/Craftwork_Grotesk_Trial/CraftworkGrotesk-Regular.ttf');
font-weight: 400;
}
@font-face {
font-family: "Craftwork Grotest";
src: url('../fonts/Craftwork_Grotesk_Trial/CraftworkGrotesk-Medium.ttf');
font-weight: 500;
}
@font-face {
font-family: "Craftwork Grotest";
src: url('../fonts/Craftwork_Grotesk_Trial/CraftworkGrotesk-SemiBold.ttf');
font-weight: 600;
}
@font-face {
font-family: "Craftwork Grotest";
src: url('../fonts/Craftwork_Grotesk_Trial/CraftworkGrotesk-Bold.ttf');
font-weight: 700;
}
@font-face {
font-family: "Abel";
src: url('../fonts/Abel/Abel-Regular.ttf');
font-weight: 400;
}
:root {
/* Colors */
--radial: radial-gradient(261.43% 263.03% at 124% -28.000000000000004%,rgb(15, 88, 129),rgb(30, 164, 156) 36.979%,rgb(118, 206, 117) 66.667%,rgb(236, 243, 159) 91.146%);
--accent-1: radial-gradient(142.43% 141.42% at 100% 0%, #188892 0%, #1EA49C 45%, #76CE75 90%, #BBE38D 100%);
--accent-2: radial-gradient(2700.48% 141.42% at 100% 0%,rgb(122, 217, 231),rgb(126, 231, 225) 25%,rgb(181, 228, 180) 80%,rgb(215, 238, 170) 100%);
--accent-3: linear-gradient(6deg, rgb(244, 66, 66) 7.584%,rgb(86, 158, 240) 72.371%);
--linear: linear-gradient(-7.39deg, rgb(244, 241, 240) 23.643%,rgba(244, 241, 240, 0.3) 59.827%);
--btn-bg: radial-gradient(100% 174.56% at 100% 0%, #7AD9E7 0%, #7EE7E1 25%, #B5E4B4 80%, #D7EEAA 100%);
--main_white: #FFFFFF;
--creme-white: #F4F1F0;
--grey-f5: #F5F5F5;
--main_black: #121212;
--grey-black: #121212;
--bg-light-grey: #F5F5F5;
--interface_title: #333333;
--interface_hover: #666666;
--orange_80: #FFDF99;
--green_90: #D9FFCC;
--green-dark: #76CE75;
--violet_90: #E7CAFF;
--blue_90: #CCE2FF;
--background: #F4F1F0;
--placeholder: #999999;
/* Fonts */
--font-craftwork: 'Craftwork Grotest', sans-serif;
--font-abel: 'Abel', serif;
}
body {
background: var(--radial);
font-family: var(--font-craftwork);
font-weight: 500;
}
.container {
max-width: 1232px;
margin: 0 auto;
@media (max-width: 1264px) {
max-width: calc(100% - 32px);
}
}
.form-inp {
height: 48px;
width: 100%;
border: 1px solid var(--placeholder);
border-radius: 20px;
background: var(--main_white);
padding: 0 16px;
color: var(--main_black);
font-size: 20px;
font-weight: 400;
line-height: 24px;
}
.form-inp::placeholder {
color: var(--placeholder);
}
.form-inp:hover,
.form-inp:focus {
border-color: var(--main_black);
}
.form-textarea {
height: 96px;
width: 100%;
resize: none;
background: var(--main_white);
border: 1px solid var(--placeholder);
padding: 12px 16px;
border-radius: 20px;
color: var(--main_black);
font-size: 20px;
font-weight: 400;
line-height: 24px;
}
.form-textarea::placeholder {
color: var(--placeholder);
}
.form-textarea:hover,
.form-textarea:focus {
border-color: var(--main_black);
}

@ -0,0 +1,78 @@
* {
padding: 0;
margin: 0;
box-sizing: border-box;
-webkit-tap-highlight-color: transparent !important;
}
a {
text-decoration: none;
color: inherit;
display: inline-block;
cursor: pointer;
}
img {
max-width: 100%;
}
span,
label {
display: inline-block;
}
html {
scroll-behavior: smooth;
}
input,
textarea {
outline: none;
border: 0;
background: transparent;
}
button,
select {
border: none;
cursor: pointer;
background: transparent;
outline: 0;
}
address {
font-style: normal;
}
.wrapper {
width: 100%;
overflow: hidden;
min-height: 100svh;
}
ul,
ol,
dl {
list-style: none;
padding: 0;
margin: 0;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
padding: 0;
margin: 0;
font-weight: 500;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
-moz-appearance: none;
margin: 0;
}

@ -0,0 +1,735 @@
/**
* Swiper 11.0.5
* Most modern mobile touch slider and framework with hardware accelerated transitions
* https://swiperjs.com
*
* Copyright 2014-2023 Vladimir Kharlampidi
*
* Released under the MIT License
*
* Released on: November 22, 2023
*/
/* FONT_START */
@font-face {
font-family: 'swiper-icons';
src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
font-weight: 400;
font-style: normal;
}
/* FONT_END */
:root {
--swiper-theme-color: #007aff;
/*
--swiper-preloader-color: var(--swiper-theme-color);
--swiper-wrapper-transition-timing-function: initial;
*/
}
:host {
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
z-index: 1;
}
.swiper {
margin-left: auto;
margin-right: auto;
position: relative;
overflow: hidden;
list-style: none;
padding: 0;
/* Fix of Webkit flickering */
z-index: 1;
display: block;
}
.swiper-vertical > .swiper-wrapper {
flex-direction: column;
}
.swiper-wrapper {
position: relative;
width: 100%;
height: 100%;
z-index: 1;
display: flex;
transition-property: transform;
transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
touch-action: pan-y;
}
.swiper-vertical {
touch-action: pan-x;
}
.swiper-slide {
flex-shrink: 0;
width: 100%;
height: 100%;
position: relative;
transition-property: transform;
display: block;
}
.swiper-slide-invisible-blank {
visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
height: auto;
}
.swiper-autoheight .swiper-wrapper {
align-items: flex-start;
transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
transform: translateZ(0);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
transform-style: preserve-3d;
}
.swiper-3d {
perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
overflow: auto;
scrollbar-width: none;
/* For Firefox */
-ms-overflow-style: none;
/* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
content: '';
flex-shrink: 0;
order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
scroll-snap-align: center center;
scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
height: 100%;
min-height: 1px;
width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
width: 100%;
min-width: 1px;
height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
width: 42px;
height: 42px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -21px;
margin-top: -21px;
z-index: 10;
transform-origin: 50%;
box-sizing: border-box;
border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
border-radius: 50%;
border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
--swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
--swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
-webkit-backface-visibility: hidden;
transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
content: '';
position: absolute;
left: 0;
top: 0;
pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
height: 1px;
width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
width: 1px;
height: var(--swiper-virtual-size);
}
:root {
--swiper-navigation-size: 44px;
/*
--swiper-navigation-top-offset: 50%;
--swiper-navigation-sides-offset: 10px;
--swiper-navigation-color: var(--swiper-theme-color);
*/
}
.swiper-button-prev,
.swiper-button-next {
position: absolute;
top: var(--swiper-navigation-top-offset, 50%);
width: calc(var(--swiper-navigation-size) / 44 * 27);
height: var(--swiper-navigation-size);
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
z-index: 10;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
opacity: 0.35;
cursor: auto;
pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
opacity: 0;
cursor: auto;
pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
width: 100%;
height: 100%;
object-fit: contain;
transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
transform: rotate(180deg);
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
left: var(--swiper-navigation-sides-offset, 10px);
right: auto;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto;
}
.swiper-button-lock {
display: none;
}
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
font-family: swiper-icons;
font-size: var(--swiper-navigation-size);
text-transform: none !important;
letter-spacing: 0;
font-variant: initial;
line-height: 1;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
right: var(--swiper-navigation-sides-offset, 10px);
left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
content: 'next';
}
/* Navigation font end */
:root {
/*
--swiper-pagination-color: var(--swiper-theme-color);
--swiper-pagination-left: auto;
--swiper-pagination-right: 8px;
--swiper-pagination-bottom: 8px;
--swiper-pagination-top: auto;
--swiper-pagination-fraction-color: inherit;
--swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
--swiper-pagination-progressbar-size: 4px;
--swiper-pagination-bullet-size: 8px;
--swiper-pagination-bullet-width: 8px;
--swiper-pagination-bullet-height: 8px;
--swiper-pagination-bullet-border-radius: 50%;
--swiper-pagination-bullet-inactive-color: #000;
--swiper-pagination-bullet-inactive-opacity: 0.2;
--swiper-pagination-bullet-opacity: 1;
--swiper-pagination-bullet-horizontal-gap: 4px;
--swiper-pagination-bullet-vertical-gap: 6px;
*/
}
.swiper-pagination {
position: absolute;
text-align: center;
transition: 300ms opacity;
transform: translate3d(0, 0, 0);
z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
bottom: var(--swiper-pagination-bottom, 8px);
top: var(--swiper-pagination-top, auto);
left: 0;
width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
overflow: hidden;
font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transform: scale(0.33);
position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
transform: scale(0.33);
}
.swiper-pagination-bullet {
width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
display: inline-block;
border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
background: var(--swiper-pagination-bullet-inactive-color, #000);
opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
border: none;
margin: 0;
padding: 0;
box-shadow: none;
-webkit-appearance: none;
appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
cursor: pointer;
}
.swiper-pagination-bullet:only-child {
display: none !important;
}
.swiper-pagination-bullet-active {
opacity: var(--swiper-pagination-bullet-opacity, 1);
background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
right: var(--swiper-pagination-right, 8px);
left: var(--swiper-pagination-left, auto);
top: 50%;
transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
top: 50%;
transform: translateY(-50%);
width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
display: inline-block;
transition: 200ms transform,
200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
left: 50%;
transform: translateX(-50%);
white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform,
200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
transition: 200ms transform,
200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
background: var(--swiper-pagination-color, var(--swiper-theme-color));
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
width: 100%;
height: var(--swiper-pagination-progressbar-size, 4px);
left: 0;
top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
width: var(--swiper-pagination-progressbar-size, 4px);
height: 100%;
left: 0;
top: 0;
}
.swiper-pagination-lock {
display: none;
}
:root {
/*
--swiper-scrollbar-border-radius: 10px;
--swiper-scrollbar-top: auto;
--swiper-scrollbar-bottom: 4px;
--swiper-scrollbar-left: auto;
--swiper-scrollbar-right: 4px;
--swiper-scrollbar-sides-offset: 1%;
--swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
--swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
--swiper-scrollbar-size: 4px;
*/
}
.swiper-scrollbar {
border-radius: var(--swiper-scrollbar-border-radius, 10px);
position: relative;
touch-action: none;
background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
position: absolute;
left: var(--swiper-scrollbar-sides-offset, 1%);
bottom: var(--swiper-scrollbar-bottom, 4px);
top: var(--swiper-scrollbar-top, auto);
z-index: 50;
height: var(--swiper-scrollbar-size, 4px);
width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
position: absolute;
left: var(--swiper-scrollbar-left, auto);
right: var(--swiper-scrollbar-right, 4px);
top: var(--swiper-scrollbar-sides-offset, 1%);
z-index: 50;
width: var(--swiper-scrollbar-size, 4px);
height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-scrollbar-drag {
height: 100%;
width: 100%;
position: relative;
background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
border-radius: var(--swiper-scrollbar-border-radius, 10px);
left: 0;
top: 0;
}
.swiper-scrollbar-cursor-drag {
cursor: move;
}
.swiper-scrollbar-lock {
display: none;
}
/* Zoom container styles start */
.swiper-zoom-container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
/* Zoom container styles end */
.swiper-slide-zoomed {
cursor: move;
touch-action: none;
}
/* a11y */
.swiper .swiper-notification {
position: absolute;
left: 0;
top: 0;
pointer-events: none;
opacity: 0;
z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
transition-timing-function: ease-out;
margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
flex-wrap: wrap;
flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
pointer-events: none;
transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-fade .swiper-slide-active {
pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube {
overflow: visible;
}
.swiper-cube .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
visibility: hidden;
transform-origin: 0 0;
width: 100%;
height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
pointer-events: auto;
visibility: visible;
}
.swiper-cube .swiper-cube-shadow {
position: absolute;
left: 0;
bottom: 0px;
width: 100%;
height: 100%;
opacity: 0.6;
z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
content: '';
background: #000;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
filter: blur(50px);
}
.swiper-cube .swiper-slide-next + .swiper-slide {
pointer-events: auto;
visibility: visible;
}
/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Cube slide shadows end */
.swiper-flip {
overflow: visible;
}
.swiper-flip .swiper-slide {
pointer-events: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
pointer-events: auto;
}
/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
z-index: 0;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
/* Flip slide shadows end */
.swiper-creative .swiper-slide {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
transition-property: transform, opacity, height;
}
.swiper-cards {
overflow: visible;
}
.swiper-cards .swiper-slide {
transform-origin: center bottom;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
overflow: hidden;
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,4 @@
<?php
include_module('header');
include_module('footer');

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<meta name="description" content="">
<!-- Яндекс.Вебмастер + Google Search Console -->
<!-- /Яндекс.Вебмастер + Google Search Console -->
<!-- Yandex.Metrika counter -->
<!-- /Yandex.Metrika counter -->
{{ function('wp_head') }}
</head>
<body>
<div class="wrapper">
{% include 'header/module.template.twig' %}
<main>
{% block content %}
{% endblock %}
</main>
{% include 'footer/module.template.twig' %}
</div>
{{ function('wp_footer') }}
</body>
</html>

@ -0,0 +1,6 @@
/*
Theme Name: COSMOPET
Author URI: https://ledoffsky.agency/
Author: ledoffsky.agency
*/

@ -0,0 +1,14 @@
# BEGIN WebP Converter
# ! --- DO NOT EDIT PREVIOUS LINE --- !
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 year"
</IfModule>
<IfModule mod_headers.c>
Header always set Cache-Control "private"
</IfModule>
# ! --- DO NOT EDIT NEXT LINE --- !
# END WebP Converter
Loading…
Cancel
Save