@ -0,0 +1,7 @@ |
|||||||
|
|
||||||
|
# BEGIN WebP Converter |
||||||
|
# ! --- DO NOT EDIT PREVIOUS LINE --- ! |
||||||
|
# ! --- DO NOT EDIT NEXT LINE --- ! |
||||||
|
# END WebP Converter |
||||||
|
|
||||||
|
|
@ -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,2 @@ |
|||||||
|
<?php |
||||||
|
|
@ -0,0 +1,2 @@ |
|||||||
|
<?php |
||||||
|
|
@ -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; |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 391 B |
After Width: | Height: | Size: 246 B |
After Width: | Height: | Size: 458 B |
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,2 @@ |
|||||||
|
<?php |
||||||
|
|
@ -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,2 @@ |
|||||||
|
<?php |
||||||
|
|
@ -0,0 +1,2 @@ |
|||||||
|
<?php |
||||||
|
|
@ -0,0 +1,2 @@ |
|||||||
|
<?php |
||||||
|
|
@ -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) { |
||||||
|
|
||||||
|
} |
After Width: | Height: | Size: 2.3 KiB |
@ -0,0 +1,3 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
?> |
@ -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; |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 225 B |
After Width: | Height: | Size: 458 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.4 KiB |
@ -0,0 +1,4 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
|
||||||
|
?> |
@ -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; |
||||||
|
} |
@ -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 |
||||||
|
*/ |
||||||
|
|