更新网站架构
No files matched your search
@@ -0,0 +1,227 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\admin\controller\Cms\Domain;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use think\facade\Db;
|
||||
use think\Request;
|
||||
use app\model\System\SystemDomainPool;
|
||||
|
||||
/**
|
||||
* 主域名池管理控制器
|
||||
*/
|
||||
class DomainPoolController extends BaseController
|
||||
{
|
||||
/**
|
||||
* 获取域名池列表
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$page = $request->param('page', 1, 'int');
|
||||
$pageSize = $request->param('pageSize', 10, 'int');
|
||||
$mainDomain = $request->param('main_domain', '');
|
||||
$status = $request->param('status', '');
|
||||
|
||||
$where = [['delete_time', '=', null]];
|
||||
|
||||
if ($mainDomain) {
|
||||
$where[] = ['main_domain', 'like', "%$mainDomain%"];
|
||||
}
|
||||
if ($status !== '' && $status !== null) {
|
||||
$where[] = ['status', '=', $status];
|
||||
}
|
||||
|
||||
$list = SystemDomainPool::where($where)
|
||||
->page($page, $pageSize)
|
||||
->order('id', 'desc')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
$total = SystemDomainPool::where($where)
|
||||
->count();
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => 'success',
|
||||
'data' => [
|
||||
'list' => $list,
|
||||
'total' => $total
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取启用状态的主域名列表(供租户选择)
|
||||
*/
|
||||
public function getEnabledDomains()
|
||||
{
|
||||
$list = SystemDomainPool::where('status', 1)
|
||||
->where('delete_time', null)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => 'success',
|
||||
'data' => $list
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建主域名
|
||||
*/
|
||||
public function create(Request $request)
|
||||
{
|
||||
$mainDomain = $request->param('main_domain', '');
|
||||
|
||||
if (empty($mainDomain)) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '主域名不能为空'
|
||||
]);
|
||||
}
|
||||
|
||||
// 检查域名是否已存在
|
||||
$exists = SystemDomainPool::where('main_domain', $mainDomain)
|
||||
->where('delete_time', null)
|
||||
->find();
|
||||
|
||||
if ($exists) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '该域名已存在'
|
||||
]);
|
||||
}
|
||||
|
||||
$now = date('Y-m-d H:i:s');
|
||||
$id = SystemDomainPool::insertGetId([
|
||||
'main_domain' => $mainDomain,
|
||||
'status' => 1,
|
||||
'create_time' => $now,
|
||||
'update_time' => $now
|
||||
]);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '创建成功',
|
||||
'data' => ['id' => $id]
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑主域名
|
||||
*/
|
||||
public function update(Request $request)
|
||||
{
|
||||
$id = $request->param('id', 0, 'int');
|
||||
$mainDomain = $request->param('main_domain', '');
|
||||
$status = $request->param('status', null);
|
||||
|
||||
if ($id <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '参数错误'
|
||||
]);
|
||||
}
|
||||
|
||||
if (empty($mainDomain)) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '主域名不能为空'
|
||||
]);
|
||||
}
|
||||
|
||||
// 检查域名是否与其他记录重复
|
||||
$exists = SystemDomainPool::where('main_domain', $mainDomain)
|
||||
->where('id', '<>', $id)
|
||||
->where('delete_time', null)
|
||||
->find();
|
||||
|
||||
if ($exists) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '该域名已存在'
|
||||
]);
|
||||
}
|
||||
|
||||
$data = [
|
||||
'main_domain' => $mainDomain,
|
||||
'update_time' => date('Y-m-d H:i:s')
|
||||
];
|
||||
|
||||
if ($status !== null) {
|
||||
$data['status'] = $status;
|
||||
}
|
||||
|
||||
SystemDomainPool::where('id', $id)->update($data);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '更新成功'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除主域名(软删除)
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
if ($id <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '参数错误'
|
||||
]);
|
||||
}
|
||||
|
||||
SystemDomainPool::where('id', $id)
|
||||
->update([
|
||||
'delete_time' => date('Y-m-d H:i:s')
|
||||
]);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '删除成功'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 切换主域名状态
|
||||
*/
|
||||
public function toggleStatus(Request $request)
|
||||
{
|
||||
$id = $request->param('id', 0, 'int');
|
||||
|
||||
if ($id <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '参数错误'
|
||||
]);
|
||||
}
|
||||
|
||||
$domain = SystemDomainPool::where('id', $id)
|
||||
->find();
|
||||
|
||||
if (!$domain) {
|
||||
return json([
|
||||
'code' => 404,
|
||||
'msg' => '域名不存在'
|
||||
]);
|
||||
}
|
||||
|
||||
$newStatus = $domain['status'] == 1 ? 0 : 1;
|
||||
|
||||
SystemDomainPool::where('id', $id)
|
||||
->update([
|
||||
'status' => $newStatus,
|
||||
'update_time' => date('Y-m-d H:i:s')
|
||||
]);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '状态更新成功',
|
||||
'data' => ['status' => $newStatus]
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,311 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\admin\controller\Cms\Domain;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use think\facade\Db;
|
||||
use think\Request;
|
||||
use think\facade\Session;
|
||||
|
||||
/**
|
||||
* 租户域名绑定控制器
|
||||
*/
|
||||
class TenantDomainController extends BaseController
|
||||
{
|
||||
/**
|
||||
* 获取租户域名列表(管理员查看所有)
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$page = $request->param('page', 1, 'int');
|
||||
$pageSize = $request->param('pageSize', 10, 'int');
|
||||
$tenantId = $request->param('tenant_id', 0, 'int');
|
||||
$status = $request->param('status', '');
|
||||
$subDomain = $request->param('sub_domain', '');
|
||||
|
||||
$where = [['delete_time', '=', null]];
|
||||
|
||||
if ($tenantId > 0) {
|
||||
$where[] = ['tenant_id', '=', $tenantId];
|
||||
}
|
||||
if ($status !== '' && $status !== null) {
|
||||
$where[] = ['status', '=', $status];
|
||||
}
|
||||
if ($subDomain) {
|
||||
$where[] = ['sub_domain', 'like', "%$subDomain%"];
|
||||
}
|
||||
|
||||
$list = Db::name('mete_tenant_domain')
|
||||
->where($where)
|
||||
->page($page, $pageSize)
|
||||
->order('id', 'desc')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
$total = Db::name('mete_tenant_domain')
|
||||
->where($where)
|
||||
->count();
|
||||
|
||||
// 获取租户名称
|
||||
$tenantIds = array_column($list, 'tenant_id');
|
||||
$tenants = [];
|
||||
if ($tenantIds) {
|
||||
$tenantList = Db::name('mete_tenant')
|
||||
->whereIn('id', $tenantIds)
|
||||
->select()
|
||||
->toArray();
|
||||
$tenants = array_column($tenantList, null, 'id');
|
||||
}
|
||||
|
||||
// 附加租户名称
|
||||
foreach ($list as &$item) {
|
||||
$item['tenant_name'] = $tenants[$item['tenant_id']]['tenant_name'] ?? '';
|
||||
}
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => 'success',
|
||||
'data' => [
|
||||
'list' => $list,
|
||||
'total' => $total
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前租户的域名列表(租户端)
|
||||
*/
|
||||
public function myDomains(Request $request)
|
||||
{
|
||||
$tid = $request->param('tid', 0, 'int');
|
||||
|
||||
if ($tid <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '租户ID不能为空'
|
||||
]);
|
||||
}
|
||||
|
||||
$list = Db::name('mete_tenant_domain')
|
||||
->where('tenant_id', $tid)
|
||||
->where('delete_time', null)
|
||||
->order('id', 'desc')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => 'success',
|
||||
'data' => $list
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 租户申请二级域名
|
||||
*/
|
||||
public function apply(Request $request)
|
||||
{
|
||||
$tid = $request->param('tenant_id', 0, 'int');
|
||||
$subDomain = $request->param('sub_domain', '');
|
||||
$mainDomain = $request->param('main_domain', '');
|
||||
|
||||
if ($tid <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '租户ID不能为空'
|
||||
]);
|
||||
}
|
||||
|
||||
if (empty($subDomain)) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '二级域名前缀不能为空'
|
||||
]);
|
||||
}
|
||||
|
||||
if (empty($mainDomain)) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '请选择主域名'
|
||||
]);
|
||||
}
|
||||
|
||||
// 验证域名格式(只能包含字母、数字、连字符)
|
||||
if (!preg_match('/^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9]$/', $subDomain)) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '二级域名前缀格式不正确'
|
||||
]);
|
||||
}
|
||||
|
||||
// 检查主域名是否存在且启用
|
||||
$mainDomainInfo = Db::name('mete_system_domain_pool')
|
||||
->where('main_domain', $mainDomain)
|
||||
->where('status', 1)
|
||||
->where('delete_time', null)
|
||||
->find();
|
||||
|
||||
if (!$mainDomainInfo) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '主域名不存在或已禁用'
|
||||
]);
|
||||
}
|
||||
|
||||
// 检查二级域名是否已被使用
|
||||
$exists = Db::name('mete_tenant_domain')
|
||||
->where('sub_domain', $subDomain)
|
||||
->where('main_domain', $mainDomain)
|
||||
->where('delete_time', null)
|
||||
->find();
|
||||
|
||||
if ($exists) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '该二级域名已被使用'
|
||||
]);
|
||||
}
|
||||
|
||||
$fullDomain = $subDomain . '.' . $mainDomain;
|
||||
$now = date('Y-m-d H:i:s');
|
||||
|
||||
$id = Db::name('mete_tenant_domain')->insertGetId([
|
||||
'tenant_id' => $tid,
|
||||
'sub_domain' => $subDomain,
|
||||
'main_domain' => $mainDomain,
|
||||
'full_domain' => $fullDomain,
|
||||
'status' => 0, // 审核中
|
||||
'create_time' => $now,
|
||||
'update_time' => $now
|
||||
]);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '申请提交成功,等待审核',
|
||||
'data' => ['id' => $id]
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核租户域名(通过/拒绝)
|
||||
*/
|
||||
public function audit(Request $request)
|
||||
{
|
||||
$id = $request->param('id', 0, 'int');
|
||||
$action = $request->param('action', ''); // 'approve' 或 'reject'
|
||||
|
||||
if ($id <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '参数错误'
|
||||
]);
|
||||
}
|
||||
|
||||
$domain = Db::name('mete_tenant_domain')
|
||||
->where('id', $id)
|
||||
->find();
|
||||
|
||||
if (!$domain) {
|
||||
return json([
|
||||
'code' => 404,
|
||||
'msg' => '域名不存在'
|
||||
]);
|
||||
}
|
||||
|
||||
if ($domain['status'] != 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '该域名已审核过了'
|
||||
]);
|
||||
}
|
||||
|
||||
$newStatus = $action === 'approve' ? 1 : 2; // 1-已生效 2-已拒绝
|
||||
|
||||
Db::name('mete_tenant_domain')
|
||||
->where('id', $id)
|
||||
->update([
|
||||
'status' => $newStatus,
|
||||
'update_time' => date('Y-m-d H:i:s')
|
||||
]);
|
||||
|
||||
$msg = $action === 'approve' ? '审核通过' : '已拒绝';
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => $msg
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 禁用/启用租户域名
|
||||
*/
|
||||
public function toggleStatus(Request $request)
|
||||
{
|
||||
$id = $request->param('id', 0, 'int');
|
||||
|
||||
if ($id <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '参数错误'
|
||||
]);
|
||||
}
|
||||
|
||||
$domain = Db::name('mete_tenant_domain')
|
||||
->where('id', $id)
|
||||
->find();
|
||||
|
||||
if (!$domain) {
|
||||
return json([
|
||||
'code' => 404,
|
||||
'msg' => '域名不存在'
|
||||
]);
|
||||
}
|
||||
|
||||
// 只有已生效的域名才能被禁用
|
||||
if ($domain['status'] != 1) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '只有已生效的域名才能被禁用'
|
||||
]);
|
||||
}
|
||||
|
||||
// 切换为禁用状态
|
||||
Db::name('mete_tenant_domain')
|
||||
->where('id', $id)
|
||||
->update([
|
||||
'status' => 2,
|
||||
'update_time' => date('Y-m-d H:i:s')
|
||||
]);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '已禁用'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除租户域名(软删除)
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
if ($id <= 0) {
|
||||
return json([
|
||||
'code' => 400,
|
||||
'msg' => '参数错误'
|
||||
]);
|
||||
}
|
||||
|
||||
Db::name('mete_tenant_domain')
|
||||
->where('id', $id)
|
||||
->update([
|
||||
'delete_time' => date('Y-m-d H:i:s')
|
||||
]);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '删除成功'
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\admin\controller;
|
||||
namespace app\admin\controller\Cms\Theme;
|
||||
|
||||
use app\admin\BaseController;
|
||||
use app\service\ThemeService;
|
||||
@@ -20,14 +20,18 @@ class ThemeController extends BaseController
|
||||
$this->themeService = new ThemeService();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取模板列表(后台管理)
|
||||
* @return \think\response\Json
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$tid = Request::get('tid', 0, 'int');
|
||||
|
||||
$themes = $this->themeService->getThemeList();
|
||||
$currentTheme = $this->themeService->getCurrentTheme();
|
||||
$currentTheme = $this->themeService->getCurrentTheme($tid);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
@@ -45,6 +49,7 @@ class ThemeController extends BaseController
|
||||
*/
|
||||
public function switch()
|
||||
{
|
||||
$tid = Request::post('tid', 0, 'int');
|
||||
$themeKey = Request::post('theme_key', '');
|
||||
|
||||
if (empty($themeKey)) {
|
||||
@@ -54,7 +59,7 @@ class ThemeController extends BaseController
|
||||
]);
|
||||
}
|
||||
|
||||
$result = $this->themeService->switchTheme($themeKey);
|
||||
$result = $this->themeService->switchTheme($tid, $themeKey);
|
||||
|
||||
if ($result) {
|
||||
return json([
|
||||
@@ -75,9 +80,10 @@ class ThemeController extends BaseController
|
||||
*/
|
||||
public function getData()
|
||||
{
|
||||
$tid = Request::get('tid', 0, 'int');
|
||||
$themeKey = Request::get('theme_key', '');
|
||||
|
||||
$themeData = $this->themeService->getThemeData($themeKey ?: null);
|
||||
$themeData = $this->themeService->getThemeData($tid, $themeKey ?: null);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
@@ -92,6 +98,7 @@ class ThemeController extends BaseController
|
||||
*/
|
||||
public function saveData()
|
||||
{
|
||||
$tid = Request::post('tid', 0, 'int');
|
||||
$themeKey = Request::post('theme_key', '');
|
||||
$fieldKey = Request::post('field_key', '');
|
||||
$fieldValue = Request::post('field_value', '');
|
||||
@@ -103,7 +110,7 @@ class ThemeController extends BaseController
|
||||
]);
|
||||
}
|
||||
|
||||
$result = $this->themeService->saveThemeField($themeKey, $fieldKey, $fieldValue);
|
||||
$result = $this->themeService->saveThemeField($tid, $themeKey, $fieldKey, $fieldValue);
|
||||
|
||||
if ($result) {
|
||||
return json([
|
||||
@@ -13,6 +13,8 @@ use think\db\exception\DbException;
|
||||
use think\Request;
|
||||
use app\model\Tenant\Tenant;
|
||||
use app\model\AdminUser;
|
||||
use app\model\Template\TemplateSiteConfig;
|
||||
use app\model\Template\TemplateSiteConfig;
|
||||
|
||||
class TenantController extends BaseController
|
||||
{
|
||||
@@ -64,6 +66,9 @@ class TenantController extends BaseController
|
||||
$data = $this->request->post();
|
||||
$tenant = Tenant::create($data);
|
||||
if ($tenant) {
|
||||
// 创建租户默认数据
|
||||
$this->createTenantDefaultData($tenant->id);
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => '创建成功',
|
||||
@@ -76,6 +81,24 @@ class TenantController extends BaseController
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建租户默认数据
|
||||
* @param int $tenantId 租户ID
|
||||
*/
|
||||
private function createTenantDefaultData(int $tenantId)
|
||||
{
|
||||
$now = date('Y-m-d H:i:s');
|
||||
|
||||
// 创建租户默认模板配置
|
||||
TemplateSiteConfig::create([
|
||||
'tid' => $tenantId,
|
||||
'key' => 'current_theme',
|
||||
'value' => 'default',
|
||||
'create_time' => $now,
|
||||
'update_time' => $now
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑租户
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
use think\facade\Route;
|
||||
|
||||
// 主域名池管理路由
|
||||
Route::group('domain/pool', function () {
|
||||
Route::get('index', 'app\admin\controller\Cms\Domain\DomainPoolController/index');
|
||||
Route::get('getEnabledDomains', 'app\admin\controller\Cms\Domain\DomainPoolController/getEnabledDomains');
|
||||
Route::post('create', 'app\admin\controller\Cms\Domain\DomainPoolController/create');
|
||||
Route::post('update', 'app\admin\controller\Cms\Domain\DomainPoolController/update');
|
||||
Route::delete('delete/:id', 'app\admin\controller\Cms\Domain\DomainPoolController/delete');
|
||||
Route::post('toggleStatus', 'app\admin\controller\Cms\Domain\DomainPoolController/toggleStatus');
|
||||
});
|
||||
|
||||
// 租户域名绑定路由
|
||||
Route::group('domain/tenant', function () {
|
||||
Route::get('index', 'app\admin\controller\Cms\Domain\TenantDomainController/index');
|
||||
Route::get('myDomains', 'app\admin\controller\Cms\Domain\TenantDomainController/myDomains');
|
||||
Route::post('apply', 'app\admin\controller\Cms\Domain\TenantDomainController/apply');
|
||||
Route::post('audit', 'app\admin\controller\Cms\Domain\TenantDomainController/audit');
|
||||
Route::post('toggleStatus', 'app\admin\controller\Cms\Domain\TenantDomainController/toggleStatus');
|
||||
Route::delete('delete/:id', 'app\admin\controller\Cms\Domain\TenantDomainController/delete');
|
||||
});
|
||||
@@ -2,7 +2,7 @@
|
||||
use think\facade\Route;
|
||||
|
||||
// 模板管理路由
|
||||
Route::get('theme', 'app\admin\controller\ThemeController@index');
|
||||
Route::post('theme/switch', 'app\admin\controller\ThemeController@switch');
|
||||
Route::get('theme/data', 'app\admin\controller\ThemeController@getData');
|
||||
Route::post('theme/data', 'app\admin\controller\ThemeController@saveData');
|
||||
Route::get('theme', 'app\admin\controller\Cms\Theme\ThemeController@index');
|
||||
Route::post('theme/switch', 'app\admin\controller\Cms\Theme\ThemeController@switch');
|
||||
Route::get('theme/data', 'app\admin\controller\Cms\Theme\ThemeController@getData');
|
||||
Route::post('theme/data', 'app\admin\controller\Cms\Theme\ThemeController@saveData');
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\common\middleware;
|
||||
|
||||
use think\facade\Db;
|
||||
use think\Request;
|
||||
|
||||
/**
|
||||
* 域名解析中间件
|
||||
* 通过访问域名自动识别租户
|
||||
*/
|
||||
class DomainParse
|
||||
{
|
||||
public function handle(Request $request, \Closure $next)
|
||||
{
|
||||
$host = $request->host(true); // 获取完整域名,不带端口
|
||||
|
||||
// 排除后台域名和平台官网域名
|
||||
$adminDomains = ['admin.xxx.com']; // TODO: 配置后台域名
|
||||
$platformDomains = ['www.xxx.com', 'xxx.com']; // TODO: 配置平台官网域名
|
||||
|
||||
if (in_array($host, $adminDomains) || in_array($host, $platformDomains)) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
// 解析二级域名
|
||||
$domainParts = explode('.', $host);
|
||||
|
||||
// 至少需要三级域名(如 sub.domain.com)
|
||||
if (count($domainParts) < 3) {
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
$subDomain = $domainParts[0];
|
||||
$mainDomain = implode('.', array_slice($domainParts, 1));
|
||||
|
||||
// 查询租户域名绑定记录
|
||||
$tenantDomain = Db::name('mete_tenant_domain')
|
||||
->where('full_domain', $host)
|
||||
->where('status', 1) // 只有已生效的域名才能访问
|
||||
->where('delete_time', null)
|
||||
->find();
|
||||
|
||||
if ($tenantDomain) {
|
||||
// 将租户ID写入请求对象,供后续控制器使用
|
||||
$request->tenantId = $tenantDomain['tenant_id'];
|
||||
|
||||
// 同时写入header,方便前端获取
|
||||
$request->header['X-Tenant-Id', $tenantDomain['tenant_id']);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,8 @@ use app\model\System\SystemSiteSettings;
|
||||
use app\service\ThemeService;
|
||||
use think\db\exception\DbException;
|
||||
use think\facade\Env;
|
||||
use think\facade\Request;
|
||||
use app\model\Template\TemplateSiteConfig;
|
||||
|
||||
class Index extends BaseController
|
||||
{
|
||||
@@ -33,16 +35,34 @@ class Index extends BaseController
|
||||
*/
|
||||
public function init()
|
||||
{
|
||||
// 直接返回默认模板数据
|
||||
// 获取租户ID(从请求参数)
|
||||
$tid = Request::param('tid', 0, 'int');
|
||||
|
||||
// 从TemplateSiteConfig获取配置(根据租户ID)
|
||||
$config = null;
|
||||
if ($tid > 0) {
|
||||
$config = TemplateSiteConfig::where('tid', $tid)
|
||||
->where('key', 'current_theme')
|
||||
->find();
|
||||
}
|
||||
|
||||
$themeKey = $config['value'] ?? 'default';
|
||||
|
||||
// 模板路径:/themes/{theme_key}/,优先使用index.php,其次index.html
|
||||
$themeBasePath = root_path() . 'public' . DIRECTORY_SEPARATOR . 'themes' . DIRECTORY_SEPARATOR . $themeKey;
|
||||
|
||||
if (is_file($themeBasePath . DIRECTORY_SEPARATOR . 'index.php')) {
|
||||
$themePath = '/themes/' . $themeKey . '/index.php';
|
||||
} else {
|
||||
$themePath = '/themes/' . $themeKey . '/index.html';
|
||||
}
|
||||
|
||||
return json([
|
||||
'code' => 200,
|
||||
'msg' => 'success',
|
||||
'data' => [
|
||||
'theme_key' => 'default',
|
||||
'theme_path' => '/themes/default/index.html',
|
||||
'data' => [
|
||||
'site_name' => '企业官网'
|
||||
]
|
||||
'theme_key' => $themeKey,
|
||||
'theme_path' => $themePath
|
||||
]
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
\app\common\middleware\AllowCrossDomain::class,
|
||||
\app\common\middleware\DomainParse::class,
|
||||
\think\middleware\SessionInit::class,
|
||||
];
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\System;
|
||||
|
||||
use think\Model;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
/**
|
||||
* 系统域名池模型
|
||||
*/
|
||||
class SystemDomainPool extends Model
|
||||
{
|
||||
|
||||
// 数据库表名
|
||||
protected $name = 'mete_system_domain_pool';
|
||||
|
||||
// 字段类型转换
|
||||
protected $type = [
|
||||
'id' => 'integer',
|
||||
'main_domain' => 'string',
|
||||
'status' => 'integer',
|
||||
'create_time' => 'datetime',
|
||||
'update_time' => 'datetime',
|
||||
'delete_time' => 'datetime',
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\model\Template;
|
||||
|
||||
use think\Model;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
class TemplateSiteConfig extends Model
|
||||
{
|
||||
use SoftDelete;
|
||||
|
||||
protected $name = 'mete_template_site_config';
|
||||
|
||||
protected $type = [
|
||||
'id' => 'integer',
|
||||
'tid' => 'integer',
|
||||
'key' => 'string',
|
||||
'value' => 'string',
|
||||
'create_time' => 'datetime',
|
||||
'update_time' => 'datetime',
|
||||
'delete_time' => 'datetime',
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace app\model\Template;
|
||||
|
||||
use think\Model;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
class TemplateThemeData extends Model
|
||||
{
|
||||
use SoftDelete;
|
||||
|
||||
protected $name = 'mete_template_theme_data';
|
||||
|
||||
protected $type = [
|
||||
'id' => 'integer',
|
||||
'theme_key' => 'string',
|
||||
'field_key' => 'string',
|
||||
'field_value' => 'string',
|
||||
'create_time' => 'datetime',
|
||||
'update_time' => 'datetime',
|
||||
'delete_time' => 'datetime',
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Liu21st <liu21st@gmail.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\Tenant;
|
||||
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 租户域名模型
|
||||
*/
|
||||
class TenantDomain extends Model
|
||||
{
|
||||
// 数据库表名
|
||||
protected $name = 'mete_tenant_domain';
|
||||
|
||||
// 字段类型转换
|
||||
protected $type = [
|
||||
'id' => 'integer',
|
||||
'tenant_id' => 'integer',
|
||||
'sub_domain' => 'string',
|
||||
'main_domain' => 'string',
|
||||
'full_domain' => 'string',
|
||||
'status' => 'integer',
|
||||
'create_time' => 'datetime',
|
||||
'update_time' => 'datetime',
|
||||
'delete_time' => 'datetime',
|
||||
];
|
||||
}
|
||||
@@ -67,7 +67,8 @@ class ThemeService
|
||||
}
|
||||
|
||||
$fullPath = $this->themesPath . DIRECTORY_SEPARATOR . $item;
|
||||
if (is_dir($fullPath) && is_file($fullPath . DIRECTORY_SEPARATOR . 'index.html')) {
|
||||
// 检查是否有 index.html 或 index.php
|
||||
if (is_dir($fullPath) && (is_file($fullPath . DIRECTORY_SEPARATOR . 'index.html') || is_file($fullPath . DIRECTORY_SEPARATOR . 'index.php'))) {
|
||||
$dirs[] = $item;
|
||||
}
|
||||
}
|
||||
@@ -114,14 +115,18 @@ class ThemeService
|
||||
|
||||
/**
|
||||
* 获取当前激活的模板Key
|
||||
* @param int $tid 租户ID
|
||||
* @return string
|
||||
*/
|
||||
public function getCurrentTheme(): string
|
||||
public function getCurrentTheme(int $tid = 0): string
|
||||
{
|
||||
try {
|
||||
$where = [['key', '=', 'current_theme'], ['delete_time', '=', null]];
|
||||
if ($tid > 0) {
|
||||
$where[] = ['tid', '=', $tid];
|
||||
}
|
||||
$config = Db::name('mete_template_site_config')
|
||||
->where('key', 'current_theme')
|
||||
->where('delete_time', null)
|
||||
->where($where)
|
||||
->find();
|
||||
return $config['value'] ?? 'default';
|
||||
} catch (\Exception $e) {
|
||||
@@ -131,10 +136,11 @@ class ThemeService
|
||||
|
||||
/**
|
||||
* 切换当前模板
|
||||
* @param int $tid 租户ID
|
||||
* @param string $themeKey
|
||||
* @return bool
|
||||
*/
|
||||
public function switchTheme(string $themeKey): bool
|
||||
public function switchTheme(int $tid, string $themeKey): bool
|
||||
{
|
||||
// 验证模板是否存在
|
||||
$themes = $this->getThemeList();
|
||||
@@ -152,9 +158,12 @@ class ThemeService
|
||||
|
||||
try {
|
||||
// 查找或创建配置记录
|
||||
$where = [['key', '=', 'current_theme'], ['delete_time', '=', null]];
|
||||
if ($tid > 0) {
|
||||
$where[] = ['tid', '=', $tid];
|
||||
}
|
||||
$config = Db::name('mete_template_site_config')
|
||||
->where('key', 'current_theme')
|
||||
->where('delete_time', null)
|
||||
->where($where)
|
||||
->find();
|
||||
|
||||
$now = date('Y-m-d H:i:s');
|
||||
@@ -181,17 +190,21 @@ class ThemeService
|
||||
|
||||
/**
|
||||
* 获取模板数据(用于前端渲染)
|
||||
* @param int $tid 租户ID
|
||||
* @param string|null $themeKey
|
||||
* @return array
|
||||
*/
|
||||
public function getThemeData(?string $themeKey = null): array
|
||||
public function getThemeData(int $tid = 0, ?string $themeKey = null): array
|
||||
{
|
||||
$themeKey = $themeKey ?? $this->getCurrentTheme();
|
||||
$themeKey = $themeKey ?? $this->getCurrentTheme($tid);
|
||||
|
||||
try {
|
||||
$where = [['theme_key', '=', $themeKey], ['delete_time', '=', null]];
|
||||
if ($tid > 0) {
|
||||
$where[] = ['tid', '=', $tid];
|
||||
}
|
||||
$themeData = Db::name('mete_template_theme_data')
|
||||
->where('theme_key', $themeKey)
|
||||
->where('delete_time', null)
|
||||
->where($where)
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
@@ -216,18 +229,25 @@ class ThemeService
|
||||
|
||||
/**
|
||||
* 保存模板字段数据
|
||||
* @param int $tid 租户ID
|
||||
* @param string $themeKey
|
||||
* @param string $fieldKey
|
||||
* @param mixed $fieldValue
|
||||
* @return bool
|
||||
*/
|
||||
public function saveThemeField(string $themeKey, string $fieldKey, $fieldValue): bool
|
||||
public function saveThemeField(int $tid, string $themeKey, string $fieldKey, $fieldValue): bool
|
||||
{
|
||||
try {
|
||||
$where = [
|
||||
['theme_key', '=', $themeKey],
|
||||
['field_key', '=', $fieldKey],
|
||||
['delete_time', '=', null]
|
||||
];
|
||||
if ($tid > 0) {
|
||||
$where[] = ['tid', '=', $tid];
|
||||
}
|
||||
$existing = Db::name('mete_template_theme_data')
|
||||
->where('theme_key', $themeKey)
|
||||
->where('field_key', $fieldKey)
|
||||
->where('delete_time', null)
|
||||
->where($where)
|
||||
->find();
|
||||
|
||||
$value = is_array($fieldValue) ? json_encode($fieldValue, JSON_UNESCAPED_UNICODE) : $fieldValue;
|
||||
@@ -242,6 +262,7 @@ class ThemeService
|
||||
]);
|
||||
} else {
|
||||
Db::name('mete_template_theme_data')->insert([
|
||||
'tid' => $tid,
|
||||
'theme_key' => $themeKey,
|
||||
'field_key' => $fieldKey,
|
||||
'field_value' => $value,
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
@charset "UTF-8";/*!
|
||||
* Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vLine truncated
|
||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-webkit-backface-visibility:hidden;outline:0;overflow:hidden}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;opacity:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;max-width:100%;margin:0;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{width:100%;max-width:100%;position:relative;width:100vh;max-width:100vh;width:100%!important}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';display:block;position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:80vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%}.gslide-inline .ginlined-content{padding:20px;width:100%}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:block;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p::last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;background:0 0;position:absolute;bottom:15px;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinalLine truncated
|
||||
@@ -0,0 +1,3 @@
|
||||
.tns-outer{padding:0 !important}.tns-outer [hidden]{display:none !important}.tns-outer [aria-controls],.tns-outer [data-action]{cursor:pointer}.tns-slider{-webkit-transition:all 0s;-moz-transition:all 0s;transition:all 0s}.tns-slider>.tns-item{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.tns-horizontal.tns-subpixel{white-space:nowrap}.tns-horizontal.tns-subpixel>.tns-item{display:inline-block;vertical-align:top;white-space:normal}.tns-horizontal.tns-no-subpixel:after{content:'';display:table;clear:both}.tns-horizontal.tns-no-subpixel>.tns-item{float:left}.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item{margin-right:-100%}.tns-no-calc{position:relative;left:0}.tns-gallery{position:relative;left:0;min-height:1px}.tns-gallery>.tns-item{position:absolute;left:-100%;-webkit-transition:transform 0s, opacity 0s;-moz-transition:transform 0s, opacity 0s;transition:transform 0s, opacity 0s}.tns-gallery>.tns-slide-active{position:relative;left:auto !important}.tns-gallery>.tns-moving{-webkit-transition:all 0.25s;-moz-transition:all 0.25s;transition:all 0.25s}.tns-autowidth{display:inline-block}.tns-lazy-img{-webkit-transition:opacity 0.6s;-moz-transition:opacity 0.6s;transition:opacity 0.6s;opacity:0.6}.tns-lazy-img.tns-complete{opacity:1}.tns-ah{-webkit-transition:height 0s;-moz-transition:height 0s;transition:height 0s}.tns-ovh{overflow:hidden}.tns-visually-hidden{position:absolute;left:-10000em}.tns-transparent{opacity:0;visibility:hidden}.tns-fadeIn{opacity:1;filter:alpha(opacity=100);z-index:0}.tns-normal,.tns-fadeOut{opacity:0;filter:alpha(opacity=0);z-index:-1}.tns-vpfix{white-space:nowrap}.tns-vpfix>div,.tns-vpfix>li{display:inline-block}.tns-t-subp2{margin:0 auto;width:310px;position:relative;height:10px;overflow:hidden}.tns-t-ct{width:2333.3333333%;width:-webkit-calc(100% * 70 / 3);width:-moz-calc(100% * 70 / 3);width:calc(100% * 70 / 3);position:absolute;right:0}.tns-t-ct:after{content:'';display:table;clear:both}.tns-t-ct>div{width:1.4285714%;width:-webkit-calc(100% / 70);width:-moz-calc(100% / 70);width:calc(100% / 70);height:10px;float:left}
|
||||
|
||||
/*# sourceMappingURL=sourcemaps/tiny-slider.css.map */
|
||||
|
After Width: | Height: | Size: 596 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="559" viewBox="0 0 630 559" width="630" xmlns="http://www.w3.org/2000/svg"><path d="m630 273.5c0 151.05-122.275 273.5-273.108 273.5-150.834 0 45.975-122.45 45.975-273.5s-196.809-273.5-45.975-273.5c150.833 0 273.108 122.45 273.108 273.5z" fill="#f6faff"/><path d="m266.813 478.874c-144.596-43.787-226.3175-196.501-182.531-341.096 43.787-144.59588 103.872 79.569 248.467 123.356 144.596 43.786 318.947-109.387 275.16 35.209-43.786 144.596-196.5 226.318-341.096 182.531z" fill="#ebf4ff"/><path d="m90.7228 471.057c50.1052 0 90.7232-2.729 90.7232-6.097 0-3.367-40.618-6.097-90.7232-6.097-50.1048 0-90.7228 2.73-90.7228 6.097 0 3.368 40.618 6.097 90.7228 6.097z" fill="#fff"/><path d="m90.7228 471.057c50.1052 0 90.7232-2.729 90.7232-6.097 0-3.367-40.618-6.097-90.7232-6.097-50.1048 0-90.7228 2.73-90.7228 6.097 0 3.368 40.618 6.097 90.7228 6.097z" fill="#5468ff" opacity=".2"/><path d="m113.969 158.377c7.428-6.926 19.007-6.845 26.981-.553 13.083 10.317 37.468 29.413 45.345 34.697 10.943 7.317 59.616 35.161 59.616 35.161l-5.313 11.568s-60.853-21.462-69.511-27.421c-8.657-5.959-58.363-31.624-61.024-43.087-.96-4.04.895-7.552 3.906-10.365z" fill="#5468ff"/><path d="m230.607 223.918c.992.195 5.215 1.682 5.581-.106.432-2.114-3.954-3.138-5.264-2.975-1.88.235-3.767-.252-6.143.357-1.872.48-3.637.951-5.525 1.407-1.033.244-1.839 1.065-2.831 1.471-.814.325-2.376 1.358-3.711 1.35-.491-.04-.978-.122-1.456-.244-.073.227-.073.463-.155.683-.996 2.606-2.132 5.157-3.401 7.641 1.572.164 3.156.164 4.728 0 .974-.133 1.967.011 2.864.415.878.309 1.765.642 2.652.959.702.328 1.428.6 2.173.813.675.13 1.904.098 2.034-.748-.003-.408-.097-.811-.274-1.179-.178-.368-.434-.693-.751-.951-.944-.812-4.142-.609-3.54-2.438.395-.816.948-1.546 1.627-2.147.628-.627 1.426-1.056 2.295-1.235 1.744-.592 3.606-.757 5.427-.48 1.147.187 2.189.366 3.255-.301.813-.512 1.171-1.065.122-1.764-.361-.243-.746-.45-1.148-.618.482-.021.965.009 1.441.09z" fill="#fff"/><path d="m330.287 349.187c139.602 0 252.771-8.718 252.771-19.471s-113.169-19.47-252.771-19.47c-139.601 0-252.7704 8.717-252.7704 19.47s113.1694 19.471 252.7704 19.471z" fill="#fff"/><path d="m330.287 349.187c139.602 0 252.771-8.718 252.771-19.471s-113.169-19.47-252.771-19.47c-139.601 0-252.7704 8.717-252.7704 19.47s113.1694 19.471 252.7704 19.471z" fill="#5468ff" opacity=".1"/><path d="m458.089 71.4147-14.329-4.2274c-.524-.1635-1.076-.2208-1.623-.1686s-1.078.2127-1.562.4724c-.484.2596-.912.6131-1.257 1.0397-.346.4266-.603.9178-.757 1.4449l-1.839 6.2192c-5.564-.327-11.144.2635-16.517 1.7478l-3.1-5.6907c-.529-.9573-1.416-1.666-2.467-1.9708s-2.18-.1808-3.139.3449l-13.124 7.1378c-.958.5282-1.668 1.4145-1.973 2.4645s-.181 2.1781.345 3.1368l3.1 5.6907c-4.16 3.6886-7.684 8.0364-10.431 12.8691l-6.184-1.837c-1.05-.3104-2.182-.1909-3.144.332-.963.523-1.679 1.406-1.99 2.456l-4.231 14.316c-.153.52-.203 1.064-.146 1.603.057.538.22 1.06.479 1.536.26.476.61.896 1.032 1.236.421.34.906.594 1.426.747l6.225 1.837c-.328 5.56.263 11.136 1.749 16.503l-5.696 3.098c-.958.528-1.667 1.414-1.972 2.464s-.181 2.178.345 3.137l7.136 13.113c.529.957 1.416 1.666 2.466 1.971 1.051.305 2.18.181 3.14-.345l5.696-3.097c3.699 4.163 8.062 7.687 12.912 10.43l-1.839 6.219c-.31 1.05-.19 2.18.333 3.142s1.408 1.677 2.458 1.988l14.329 4.227c.52.154 1.065.203 1.604.146s1.061-.22 1.537-.479c.476-.258.897-.609 1.237-1.03.341-.421.595-.906.748-1.425l1.839-6.219c5.561.327 11.139-.263 16.509-1.748l3.1 5.691c.529.957 1.416 1.666 2.466 1.97 1.051.305 2.18.181 3.14-.345l13.124-7.137c.958-.529 1.668-1.415 1.973-2.465s.181-2.178-.345-3.137l-3.1-5.69c4.166-3.698 7.693-8.057 10.439-12.902l6.224 1.837c1.051.31 2.182.191 3.145-.332s1.678-1.406 1.989-2.456l4.231-14.316c.311-1.05.191-2.181-.332-3.143-.523-.961-1.408-1.676-2.458-1.987l-6.225-1.837c.328-5.557-.263-11.13-1.749-16.495l5.695-3.098c.958-.528 1.668-1.414 1.973-2.464s.181-2.178-.345-3.137l-7.136-13.1131c-.529-.9573-1.416-1.666-2.467-1.9708s-2.18-.1808-3.139.3449l-5.696 3.0973c-3.7-4.1633-8.063-7.6875-12.913-10.4302l1.839-6.2192c.302-1.0413.182-2.1594-.334-3.1131-.516-.9536-1.387-1.6663-2.424-1.9841zm-18.372 35.6803c3.96 1.17 7.484 3.486 10.126 6.656 2.643 3.17 4.286 7.052 4.72 11.155.435 4.103-.358 8.242-2.278 11.895-1.92 3.652-4.881 6.654-8.509 8.625-3.627 1.972-7.758 2.824-11.87 2.45-4.112-.375-8.021-1.959-11.232-4.553s-5.58-6.081-6.808-10.02c-1.228-3.94-1.258-8.154-.089-12.111.777-2.627 2.064-5.076 3.788-7.206 1.724-2.131 3.851-3.901 6.26-5.21 2.408-1.309 5.052-2.131 7.778-2.42 2.727-.288 5.484-.037 8.114.739z" fill="#5468ff"/><path d="m442.345 98.2016c-5.722-1.6915-11.818-1.6487-17.517.1227-5.698 1.7717-10.742 5.1917-14.494 9.8287s-6.043 10.282-6.583 16.22.695 11.903 3.549 17.14c2.854 5.236 7.199 9.509 12.484 12.278 5.286 2.768 11.275 3.908 17.209 3.275s11.546-3.011 16.127-6.833c4.581-3.821 7.925-8.915 9.608-14.635 2.255-7.66 1.375-15.9-2.447-22.912-3.821-7.012-10.272-12.222-17.936-14.4844zm-2.628 8.8934c3.96 1.169 7.485 3.485 10.127 6.656 2.643 3.17 4.285 7.052 4.72 11.155.434 4.102-.358 8.24Line truncated
|
||||
|
After Width: | Height: | Size: 43 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="98" viewBox="0 0 1495 98" width="1495" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="471.212" x2="425.871" y1="72.7488" y2="-4.60297"><stop offset="0" stop-color="#c5259a"/><stop offset=".169697" stop-color="#55369b"/><stop offset=".575758" stop-color="#4779c6"/><stop offset="1" stop-color="#70d0e4"/></linearGradient><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="503.813" x2="503.813" y1="2.94141" y2="79.4543"><stop offset="0" stop-color="#7a2393"/><stop offset=".472727" stop-color="#951e93"/><stop offset="1" stop-color="#ee197f"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="459" x2="459" y1="2.94141" y2="80.2184"><stop offset="0" stop-color="#7a2393"/><stop offset=".472727" stop-color="#951e93"/><stop offset=".890909" stop-color="#ee197f"/><stop offset="1" stop-color="#ee1a98"/></linearGradient><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="419.429" x2="430.139" y1="16.0342" y2="2.6294"><stop offset="0" stop-color="#423a9c"/><stop offset=".327273" stop-color="#4779c6"/><stop offset="1" stop-color="#70d0e4"/></linearGradient><linearGradient id="e" gradientUnits="userSpaceOnUse" x1="504.349" x2="493.995" y1="67.333" y2="79.6408"><stop offset="0" stop-color="#3f2d92"/><stop offset=".193939" stop-color="#951e93"/><stop offset="1" stop-color="#ee197f"/></linearGradient><linearGradient id="f"><stop offset="0" stop-color="#2bdbdc"/><stop offset="1" stop-color="#0067f4"/></linearGradient><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="1289.01" x2="1289.01" xlink:href="#f" y1="0" y2="49.9893"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="1264" x2="1264" xlink:href="#f" y1="24.9893" y2="74.9893"/><linearGradient id="i" gradientUnits="userSpaceOnUse" x1="1276.5" x2="1276.5" xlink:href="#f" y1="49.9893" y2="74.9893"/><linearGradient id="j" gradientUnits="userSpaceOnUse" x1="1251.5" x2="1251.5" xlink:href="#f" y1="24.9893" y2="49.9893"/><g fill="#070707"><path d="m96.3572 46.1043v11.4222c-.6595.664-1.4083 1.233-2.2247 1.6906-.7961.445-1.6392.8002-2.5138 1.0589-.8917.2616-1.8059.4393-2.7307.5311-.9511.0971-1.9065.1453-2.8626.1445-1.8607.0147-3.7047-.3532-5.4173-1.0809-1.6521-.7043-3.1571-1.7126-4.4369-2.9726-1.2722-1.2659-2.2889-2.7648-2.9946-4.4149-.7347-1.7131-1.107-3.5597-1.0935-5.4236-.0141-2.4669.6372-4.892 1.8854-7.0199.6113-1.0314 1.3503-1.9816 2.1996-2.828 1.7095-1.7021 3.8317-2.931 6.1589-3.5665 1.2056-.3322 2.451-.4982 3.7016-.4934 1.0049-.0015 2.0067.1134 2.9851.3425.9757.2269 1.9239.5587 2.8281.9899.9095.4411 1.7754.9672 2.5861 1.5711.8287.6135 1.5996 1.3014 2.3033 2.0551l-1.1438 1.1595c-.3239.3549-.7208.6356-1.1634.8227-.4426.1872-.9204.2763-1.4007.2613-.6948.0058-1.3739-.2063-1.9419-.6064-.7241-.4977-1.5156-.8892-2.3505-1.1627-.8686-.2815-1.7766-.4226-2.6898-.4179-1.1882-.0044-2.3646.2352-3.4565.7039-2.1493.8978-3.87 2.5893-4.8045 4.7228-.4765 1.0898-.7195 2.2672-.7133 3.4565-.0094 1.2099.2436 2.4073.7416 3.51.7337 1.6146 1.9169 2.9837 3.408 3.9438 1.4912.9601 3.2272 1.4705 5.0007 1.4703.6049-.0143 1.2083-.0658 1.8068-.1539.5651-.0849 1.1245-.2046 1.6748-.3583.5753-.1588 1.1262-.3956 1.6372-.7038v-3.8305l-1.5712-.0283c-.4716.002-.9381-.0988-1.3669-.2953-.4186-.2046-.7569-.543-.9615-.9616-.2779-.6301-.4018-1.3173-.3614-2.0047v-1.5241z"/><path d="m109.539 60.6971h-4.984v-27.2593h10.235c1.236-.0187 2.461.2345 3.588.7416 1.037.4695 1.97 1.139 2.747 1.9702.758.8096 1.358 1.7538 1.769 2.784.719 1.7655.83 3.7203.314 5.5556-.211.7574-.528 1.481-.943 2.1493-.883 1.4127-2.142 2.5518-3.635 3.29 1.332 1.8162 2.657 3.6147 3.975 5.3953 1.317 1.7806 2.65 3.5717 3.997 5.3733h-3.916c-.321-.0076-.639-.0659-.942-.1728-.394-.1295-.768-.3113-1.113-.5405-.428-.2767-.83-.5922-1.2-.9427-.45-.4408-.854-.9262-1.207-1.4486l-4.964-6.6962h-3.721zm5.405-14.819c.476-.0028.946-.1101 1.376-.3142.432-.1955.82-.4742 1.144-.8202.327-.3458.588-.7483.77-1.1878.188-.441.285-.9156.286-1.3951 0-.4878-.097-.9708-.286-1.4203-.184-.4387-.445-.841-.77-1.1878-.325-.3441-.713-.6216-1.144-.817-.43-.2057-.9-.313-1.376-.3142h-5.405v7.4377z"/><path d="m139.749 33.4377h4.509l11.909 27.2593h-3.101c-.686.006-1.358-.1848-1.939-.5499-.581-.3644-1.039-.8955-1.313-1.524l-1.619-3.689h-12.383l-1.597 3.689c-.13.3071-.311.5906-.534.839-.228.2528-.49.4727-.779.6536-.292.1865-.61.3304-.943.4274-.329.1022-.673.1541-1.018.1539h-3.101zm-1.731 16.4907h7.972l-3.557-8.2547c-.152-.3346-.264-.6858-.334-1.0464-.056-.3142-.094-.5593-.106-.7227-.024.246-.061.4905-.114.7321-.07.3551-.175.7024-.314 1.037z"/><path d="m170.477 60.697h-5.008v-11.5479c.006-.378-.085-.7514-.264-1.084-.215-.374-.45-.7359-.704-1.0841l-10.008-13.5433h3.824c.767-.0164 1.527.1529 2.215.4934.644.3313 1.191.8226 1.59 1.4266l5.383 7.2869c.158.2112.275.4499.345.7039.063.2388.098.3928.11.4556.024-.1513.06-.3005.107-.4462.076-.2597.202-.502.371-.7133l5.364-7.2681c.39-.6185.939-1.121 1.59-1.4548.69-.3344 1.449-.5003 2.215-.484hLine truncated
|
||||
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="44" viewBox="0 0 45 44" width="45" xmlns="http://www.w3.org/2000/svg"><g fill="#0067f4"><path d="m28.9548 22.4531v-.8684c0-6.4427-2.106-12.74067-6.0912-18.20787-.2052-.27872-.5292-.44488-.8748-.44488s-.6696.16616-.8748.44488c-3.9852 5.4672-6.0912 11.76517-6.0912 18.20787v.8684c-4.9356 2.7068-5.65384 9.0423-5.68084 9.3264-.0324.3001.0702.6003.27.8254.2052.2251.49684.3538.79924.3538h23.139c.3078 0 .5994-.1287.7992-.3538.2052-.2251.3024-.5253.27-.8254-.0162-.2841-.729-6.6196-5.6646-9.3264zm-13.932 2.5835v5.7781h-3.3102c.3618-1.5008 1.2474-4.1004 3.3102-5.7781zm2.16-3.4519c0-5.4993 1.6578-10.8915 4.806-15.68331 3.1482 4.79181 4.806 10.18401 4.806 15.68331v9.23h-9.612zm11.772 9.23v-5.7781c2.052 1.6777 2.9484 4.2773 3.3102 5.7781z"/><path d="m23.112 15.0294h-2.7378c-.594 0-1.08.4824-1.08 1.072s.486 1.072 1.08 1.072h2.7378c.594 0 1.08-.4824 1.08-1.072s-.4806-1.072-1.08-1.072z"/><path d="m18.2088 35.3975c-.594 0-1.08.4824-1.08 1.072v6.0943c0 .5896.486 1.072 1.08 1.072s1.08-.4824 1.08-1.072v-6.0943c0-.5896-.486-1.072-1.08-1.072z"/><path d="m21.9888 35.3975c-.594 0-1.08.4824-1.08 1.072v6.0943c0 .5896.486 1.072 1.08 1.072s1.08-.4824 1.08-1.072v-6.0943c0-.5896-.486-1.072-1.08-1.072z"/><path d="m25.7688 35.3975c-.594 0-1.08.4824-1.08 1.072v6.0943c0 .5896.486 1.072 1.08 1.072s1.08-.4824 1.08-1.072v-6.0943c0-.5896-.4806-1.072-1.08-1.072z"/><path d="m6.4476 16.8733h-1.6038v-1.5919c0-.5896-.486-1.072-1.08-1.072s-1.08.4824-1.08 1.072v1.5919h-1.6038c-.594 0-1.08.4824-1.08 1.072s.486 1.072 1.08 1.072h1.6038v1.5919c0 .5896.486 1.072 1.08 1.072s1.08-.4824 1.08-1.072v-1.5919h1.6038c.594 0 1.08-.4824 1.08-1.072s-.4806-1.072-1.08-1.072z"/><path d="m28.3824 3.92888h.7182v.71288c0 .5896.486 1.072 1.08 1.072s1.08-.4824 1.08-1.072v-.71288h.7182c.594 0 1.08-.4824 1.08-1.072s-.486-1.072-1.08-1.072h-.7182v-.71288c0-.5896-.486-1.072-1.08-1.072s-1.08.4824-1.08 1.072v.71288h-.7182c-.594 0-1.08.4824-1.08 1.072s.4806 1.072 1.08 1.072z"/><path d="m43.1676 10.3073h-2.7432v-2.72291c0-.5896-.486-1.072-1.08-1.072s-1.08.4824-1.08 1.072v2.72291h-2.7432c-.594 0-1.08.4824-1.08 1.072s.486 1.072 1.08 1.072h2.7432v2.7229c0 .5896.486 1.072 1.08 1.072s1.08-.4824 1.08-1.072v-2.7229h2.7432c.594 0 1.08-.4824 1.08-1.072s-.486-1.072-1.08-1.072z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="767" viewBox="0 0 1440 767" width="1440" xmlns="http://www.w3.org/2000/svg"><path d="m-14.8936 273.223c3.6985-23.916 20.64073-43.806 39.6425-58.829 52.1994-41.35 125.4821-54.514 188.8431-33.939 63.362 20.576 126.106 43.663 143.978 107.78 6.113 21.881 8.527 44.758 16.167 66.152 20.043 56.063 78.466 96.02 138.04 94.405 76.273-2.058 128.14-59.891 191.368-93.277 45.844-24.204 114.163-1.515 139.233 56.119 22.523 51.749-14.13 106.529-25.956 156.132-12.114 50.842 7.818 101.153 49.232 133.123 41.746 32.257 105.13 48.452 156.846 35.797 50.03-12.235 84.13-49.846 122.07-81.861 49.16-41.483 127.43-43.319 187.69-35.443 28.79 3.761 58.22 9.823 86.53 3.407 49.23-11.15 57.18-52.412 57.67-95.776.68-60.09.02-120.202-1.11-180.27-2.24-118.233-6.42-236.444-6.42-354.72131h-1483.8014v281.20131z" fill="#ebf4ff"/><path d="m1524.87 305.304c-22.19 75.665-103.56 116.861-179.92 136.795-49.59 12.943-101.32 20.687-152.17 14.16s-100.97-28.518-134.41-67.325c-29.47-34.204-44.4-79.028-74.01-113.122-41.481-47.811-107.788-68.674-171.105-67.435s-124.552 22.102-183.13 46.151c-33.84 13.895-68.61 29.227-105.196 28.143-43.252-1.284-82.562-25.488-115.317-53.741-32.755-28.23-61.457-61.306-96.847-86.174-96.78-68.055-240.0465-60.0459-328.6549 18.341v-169.09706h1511.8599z" fill="#2f80ed" opacity=".3"/><path d="m623.282 521.593c2.635 9.624 7.264 18.938 13.088 27.169 23.587 33.363 62.144 64.094 105.174 47.412 32.777-12.699 57.183-48.872 70.869-79.891 10.343-23.43 11.561-49.514-2.103-72.059-23.299-38.452-72.375-43.276-109.958-24.713-25.004 12.345-50.428 31.77-68.212 53.342-11.914 14.491-13.398 32.08-8.858 48.74z" fill="#ebf4ff"/><g fill="#2f80ed"><path d="m1234.25 386.58c0-4.47-3.08-7.545-7.55-7.545 4.47 0 7.55-3.075 7.55-7.544 0 4.469 3.08 7.544 7.55 7.544-4.47 0-7.55 3.075-7.55 7.545z"/><path d="m1286.11 440.453c0-4.469-3.07-7.545-7.55-7.545 4.48 0 7.55-3.075 7.55-7.544 0 4.469 3.08 7.544 7.56 7.544-4.45 0-7.56 3.076-7.56 7.545z"/><path d="m1313.64 305.073c0-4.469-3.08-7.544-7.55-7.544 4.47 0 7.55-3.075 7.55-7.545 0 4.47 3.08 7.545 7.55 7.545-4.47 0-7.55 3.075-7.55 7.544z"/><path d="m1101.55 354.875c0-4.469-3.08-7.544-7.56-7.544 4.48 0 7.56-3.075 7.56-7.544 0 4.469 3.07 7.544 7.55 7.544-4.48 0-7.55 3.097-7.55 7.544z"/><path d="m1180.63 270.537c0-4.469-3.08-7.544-7.55-7.544 4.47 0 7.55-3.076 7.55-7.545 0 4.469 3.08 7.545 7.55 7.545-4.47 0-7.55 3.097-7.55 7.544z"/><path d="m1135.52 318.791c0-7.987-5.52-13.496-13.51-13.496 7.99 0 13.51-5.509 13.51-13.496 0 7.987 5.51 13.496 13.51 13.496-7.98 0-13.51 5.509-13.51 13.496z"/><path d="m1250.61 297.529c0-7.987-5.51-13.496-13.51-13.496 8 0 13.51-5.509 13.51-13.496 0 7.987 5.52 13.496 13.51 13.496-7.97 0-13.51 5.509-13.51 13.496z"/><path d="m1293.67 365.252c0-6.128-4.26-10.376-10.39-10.376 6.16 0 10.39-4.248 10.39-10.377 0 6.151 4.25 10.377 10.38 10.377-6.13 0-10.38 4.248-10.38 10.376z"/><path d="m1200.78 324.985c0-5.31-3.67-8.96-8.97-8.96 5.32 0 8.97-3.651 8.97-8.96 0 5.309 3.66 8.96 8.97 8.96-5.29-.022-8.97 3.65-8.97 8.96z"/><path d="m859.646 718.325c0-4.004 2.769-6.77 6.777-6.77-4.008 0-6.777-2.765-6.777-6.77 0 4.005-2.768 6.77-6.777 6.77 4.009 0 6.777 2.766 6.777 6.77z"/><path d="m813.05 766.711c0-4.004 2.768-6.77 6.777-6.77-4.009 0-6.777-2.765-6.777-6.77 0 4.005-2.768 6.77-6.777 6.77 4.009 0 6.777 2.766 6.777 6.77z"/><path d="m788.334 645.116c0-4.005 2.769-6.77 6.777-6.77-4.008 0-6.777-2.766-6.777-6.77 0 4.004-2.768 6.77-6.776 6.77 4.008 0 6.776 2.765 6.776 6.77z"/><path d="m978.861 689.852c0-4.005 2.769-6.771 6.777-6.771-4.008 0-6.777-2.765-6.777-6.77 0 4.005-2.768 6.77-6.776 6.77 4.008 0 6.776 2.766 6.776 6.771z"/><path d="m907.837 614.097c0-4.004 2.769-6.77 6.777-6.77-4.008 0-6.777-2.765-6.777-6.77 0 4.005-2.768 6.77-6.777 6.77 4.009 0 6.777 2.766 6.777 6.77z"/><path d="m948.344 657.438c0-7.168 4.96-12.124 12.136-12.124-7.176 0-12.136-4.956-12.136-12.124 0 7.168-4.961 12.124-12.137 12.124 7.176 0 12.137 4.956 12.137 12.124z"/><path d="m844.941 638.346c0-7.169 4.961-12.124 12.137-12.124-7.176 0-12.137-4.956-12.137-12.125 0 7.169-4.961 12.125-12.136 12.125 7.175 0 12.136 4.955 12.136 12.124z"/><path d="m806.273 699.188c0-5.509 3.809-9.315 9.324-9.315-5.515 0-9.324-3.805-9.324-9.314 0 5.509-3.809 9.314-9.346 9.314 5.537-.022 9.346 3.806 9.346 9.315z"/><path d="m889.699 662.992c0-4.757 3.3-8.054 8.062-8.054-4.762 0-8.062-3.296-8.062-8.053 0 4.757-3.299 8.053-8.061 8.053 4.784 0 8.061 3.297 8.061 8.054z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="608" viewBox="0 0 736 608" width="736" xmlns="http://www.w3.org/2000/svg"><path d="m77.9908 534.435h87.7512v-284.003h-87.7512z" fill="#fff"/><path d="m77.9908 534.435h87.7512v-284.003h-87.7512z" fill="#5468ff" opacity=".7"/><path d="m3.5038 534.389h74.4873v-283.912h-74.4873z" fill="#5468ff"/><path d="m88.4792 323.11h70.4038v-61.178h-70.4038z" fill="#fff"/><path d="m88.4792 391.227h70.4038v-61.178h-70.4038z" fill="#fff"/><path d="m88.4792 391.227h70.4038v-61.178h-70.4038z" fill="#5468ff" opacity=".6"/><path d="m88.4792 459.344h70.4038v-61.178h-70.4038z" fill="#fff"/><path d="m88.4792 527.461h70.4038v-61.178h-70.4038z" fill="#fff"/><path d="m88.4792 323.11h70.4038v-61.178h-70.4038z" fill="#5468ff" opacity=".6"/><path d="m88.4792 459.344h70.4038v-61.178h-70.4038z" fill="#5468ff" opacity=".6"/><path d="m88.4792 527.461h70.4038v-61.178h-70.4038z" fill="#5468ff" opacity=".6"/><path d="m126.132 275.674c1.351 0 2.446-1.095 2.446-2.446s-1.095-2.446-2.446-2.446c-1.35 0-2.445 1.095-2.445 2.446s1.095 2.446 2.445 2.446z" fill="#fff"/><path d="m126.132 344.576c1.351 0 2.446-1.095 2.446-2.446s-1.095-2.446-2.446-2.446c-1.35 0-2.445 1.095-2.445 2.446s1.095 2.446 2.445 2.446z" fill="#fff"/><path d="m126.132 413.489c1.351 0 2.446-1.095 2.446-2.446 0-1.35-1.095-2.445-2.446-2.445-1.35 0-2.445 1.095-2.445 2.445 0 1.351 1.095 2.446 2.445 2.446z" fill="#fff"/><path d="m126.132 482.391c1.351 0 2.446-1.095 2.446-2.446 0-1.35-1.095-2.445-2.446-2.445-1.35 0-2.445 1.095-2.445 2.445 0 1.351 1.095 2.446 2.445 2.446z" fill="#fff"/><path d="m155.595 591.403h10.147v-56.969h-10.147z" fill="#5468ff"/><path d="m78.3437 591.403h10.147v-56.969h-10.147z" fill="#5468ff"/><path d="m4.58431 591.403h10.14699v-56.969h-10.14699z" fill="#5468ff"/><path d="m589.562 495.041h-80.664l14.527 86.238c.303 1.8 1.11 3.477 2.329 4.836 1.218 1.359 2.797 2.345 4.553 2.842l.284.08c.239.057.467.136.717.182.54.105 1.088.166 1.638.182v.08l.398-.057h35.947c.664 0 1.327-.065 1.979-.194 2.094-.32 4.025-1.318 5.498-2.84 1.473-1.523 2.407-3.486 2.659-5.589l7.007-59.426.318-2.366 2.776-23.536zm-15.22 55.012h-8.282l.831-25.026h9.589zm2.946-25.026h7.963l-2.946 25.026h-7.156zm-23.638 52.771-.501-21.739h11.922l-.728 21.739zm-12.889-21.739h11.58l.501 21.739h-10.386zm.899 21.739h-9.715c-.922-5.87-2.127-13.503-3.413-21.739h11.433zm-1.32-27.745-1.957-25.026h13.287l.58 25.026zm12.718 0-.58-25.026h13.65l-.83 25.026zm-.717-31.033-.625-23.183h15.357l-.774 23.183zm-.796 0h-13.651l-1.808-23.183h14.89zm-14.424 0h-14.47l-1.433-8.952c-1.502-9.374-2.071-12.9-2.378-14.22h16.415zm.466 6.007 1.957 25.026h-11.979l-1.217-7.679c-.933-5.904-1.865-11.819-2.753-17.347zm-10.773 25.026h-7.78l-4.221-25.026h8.043c1.171 7.735 2.537 16.335 3.902 25.026zm.945 6.006c1.137 7.519 2.354 14.948 3.412 21.739h-7.473l-3.663-21.739zm37.425 21.739.728-21.739h7.963l-1.865 21.739zm1.957-58.778.773-23.183h11.103l-1.991 23.183zm-49.063-23.183c.319 1.672 1.797 10.795 3.765 23.183h-8.099l-3.902-23.183zm60.916 81.904h-6.234l1.866-21.739h6.928zm6.928-58.778h-8.122l1.991-23.183h8.861z" fill="#5468ff"/><path d="m735.909 265.982c0-4.198-5.221-7.622-11.66-7.622h-584.591c-6.438 0-11.66 3.413-11.66 7.622v13.89h42.977v315.194h14.333v-315.206h490.288v315.627h14.333v-315.627h45.957z" fill="#fff"/><path d="m735.909 265.982c0-4.198-5.221-7.622-11.66-7.622h-584.591c-6.438 0-11.66 3.413-11.66 7.622v13.89h42.977v315.194h14.333v-315.206h490.288v315.627h14.333v-315.627h45.957z" fill="#5468ff" opacity=".2"/><path d="m400.932 258.61h61.735v-163.3416h-61.735z" fill="#5468ff"/><path d="m400.932 258.61h61.735v-163.3416h-61.735z" fill="#000d44" opacity=".2"/><path d="m548.872 44.0326v157.2564l-59.722-.956-62.566-1.001-19.759-.318-63.283-1.013-38.21-.66v-153.3084c.003-2.6379 1.053-5.1667 2.919-7.0309 1.867-1.8642 4.397-2.9113 7.035-2.9113h223.609c1.308-.003 2.604.2518 3.814.75 1.209.4982 2.309 1.2299 3.235 2.1532.927.9234 1.662 2.0204 2.165 3.2282.502 1.2078.761 2.5027.763 3.8108z" fill="#5468ff"/><path d="m548.872 44.0326v157.2564l-59.722-.956-62.566-1.001-19.759-.318-63.283-1.013-38.21-.66v-153.3084c.003-2.6379 1.053-5.1667 2.919-7.0309 1.867-1.8642 4.397-2.9113 7.035-2.9113h223.609c1.308-.003 2.604.2518 3.814.75 1.209.4982 2.309 1.2299 3.235 2.1532.927.9234 1.662 2.0204 2.165 3.2282.502 1.2078.761 2.5027.763 3.8108z" fill="#000d44" opacity=".2"/><path d="m538.85 47.5708h-223.496c-.509 0-.922.4125-.922.9214v138.7248c0 .509.413.922.922.922h223.496c.508 0 .921-.413.921-.922v-138.7248c0-.5089-.413-.9214-.921-.9214z" fill="#fff"/><path d="m305.412 196.625v11.74c0 4.601 1.827 9.013 5.081 12.266 3.253 3.254 7.665 5.081 12.266 5.081h208.765c4.601 0 9.013-1.827 12.267-5.081 3.253-3.253 5.081-7.665 5.081-12.266v-11.74z" fill="#5468ff"/><path d="m377.282 259.236h101.789c1.508 0 2.955-.599 4.022-1.666 1.067-1.066 1.666-2.513 1.666-4.021 0-1.509-.599-2.956-1.666-4.022-1.067-1.067-2.514-1.666-4.022-1.666h-101.789c-1.508 0-2.955.599-4.022 1.666-1.066 1.066-1.666 2.513-1.666 4.022 0 1.508.6 2.955 1.666 4.021 1.067 1.067 2.514 1.666 4.0Line truncated
|
||||
|
After Width: | Height: | Size: 22 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="43" viewBox="0 0 173 43" width="173" xmlns="http://www.w3.org/2000/svg"><g fill="#2f80ed"><path d="m63.375 37.6-21.6-36c-.5-1.1-1.6-1.6-2.9-1.6-1.1 0-2.1.5-2.9 1.6l-9.3 16.3-4.5-7.2c-.5-1.1-1.6-1.6-2.9-1.6-1.1 0-2.1.5-2.9 1.6l-16 26.9c-.5 1.1-.5 2.4 0 3.5.8 1.1 1.9 1.6 3.2 1.6h57.1c1.3 0 2.4-.5 2.9-1.6.3-1.1.3-2.5-.2-3.5zm-56.8-.3 12.5-21.1 4.5 7.5c.5 1.1 1.6 1.6 2.9 1.6 1.1 0 2.4-.5 2.9-1.6l9.6-16.3 18 29.9z"/><path d="m79.339 14.558-2.646-4.94899h-.196l.49 4.94899v22.442h-3.822v-34.83899h2.156l16.415 22.88299 2.548 4.704h.245l-.539-4.704v-22.34399h3.822v34.83899h-2.156z"/><path d="m104.371 24.75c0-4.1487.914-7.3173 2.744-9.506 1.862-2.2213 4.524-3.332 7.987-3.332 1.829 0 3.413.3103 4.753.931 1.372.588 2.499 1.4537 3.381 2.597.882 1.1107 1.535 2.4663 1.96 4.067.424 1.568.637 3.3157.637 5.243 0 4.1487-.931 7.3337-2.793 9.555-1.83 2.1887-4.476 3.283-7.938 3.283-1.83 0-3.43-.294-4.802-.882-1.34-.6207-2.45-1.4863-3.332-2.597-.882-1.1433-1.536-2.499-1.96-4.067-.425-1.6007-.637-3.3647-.637-5.292zm4.067 0c0 1.2413.114 2.4337.343 3.577.261 1.1433.653 2.1397 1.176 2.989.522.8493 1.208 1.5353 2.058 2.058.849.5227 1.878.784 3.087.784 4.442.0327 6.664-3.1033 6.664-9.408 0-1.274-.131-2.4827-.392-3.626-.229-1.1433-.605-2.1397-1.127-2.989-.523-.8493-1.209-1.519-2.058-2.009-.85-.5227-1.879-.784-3.087-.784-4.443-.0327-6.664 3.1033-6.664 9.408z"/><path d="m138.495 26.857 1.372 4.655h.049l1.225-4.753 5.488-14.259h4.214l-10.437 25.039h-1.666l-10.633-25.039h4.508z"/><path d="m154.686 14.313c1.241-.7513 2.678-1.3067 4.312-1.666 1.666-.3593 3.397-.539 5.194-.539 1.698 0 3.054.2287 4.067.686 1.045.4573 1.829 1.0617 2.352 1.813.555.7187.914 1.519 1.078 2.401.196.882.294 1.764.294 2.646 0 1.96-.049 3.871-.147 5.733s-.147 3.626-.147 5.292c0 1.2087.049 2.352.147 3.43s.277 2.0743.539 2.989h-2.891l-1.029-3.43h-.245c-.294.4573-.67.9147-1.127 1.372-.425.4247-.948.8167-1.568 1.176-.621.3267-1.34.6043-2.156.833-.817.2287-1.748.343-2.793.343-1.046 0-2.026-.1633-2.94-.49-.882-.3267-1.65-.784-2.303-1.372-.654-.6207-1.176-1.3557-1.568-2.205-.36-.8493-.539-1.813-.539-2.891 0-1.4373.294-2.6297.882-3.577.588-.98 1.404-1.7477 2.45-2.303 1.078-.588 2.352-.9963 3.822-1.225 1.502-.2613 3.152-.392 4.949-.392h1.323c.457 0 .914.0327 1.372.098.098-.98.147-1.862.147-2.646 0-1.7967-.36-3.0543-1.078-3.773-.719-.7187-2.026-1.078-3.92-1.078-.556 0-1.16.049-1.813.147-.621.0653-1.274.1797-1.96.343-.654.1307-1.291.3103-1.911.539-.588.196-1.111.4247-1.568.686zm6.958 19.649c.914 0 1.731-.1143 2.45-.343.718-.2613 1.339-.5717 1.862-.931.522-.392.947-.8167 1.274-1.274.359-.4573.62-.8983.784-1.323v-4.067c-.458-.0327-.931-.049-1.421-.049-.458-.0327-.915-.049-1.372-.049-1.013 0-2.009.0653-2.989.196-.948.098-1.797.3103-2.548.637-.719.294-1.307.7187-1.764 1.274-.425.5227-.637 1.1923-.637 2.009 0 1.1433.408 2.0907 1.225 2.842.816.7187 1.862 1.078 3.136 1.078z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){if(t&&t.__esModule)return t;var e=Object.create(null);return t&&Object.keys(t).forEach((function(n){if("default"!==n){var i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}})),e.default=t,Object.freeze(e)}var n=e(t);function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function o(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(){return(s=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function r(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var a,l,c=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},u=function(t){var e=t.getAttribute("data-bs-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},d=function(t){var e=u(t);return e&&document.querySelector(e)?e:null},f=function(t){var e=u(t);return e?document.querySelector(e):null},h=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=Number.parseFloat(n),s=Number.parseFloat(i);return o||s?(n=n.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(n)+Number.parseFloat(i))):0},p=function(t){t.dispatchEvent(new Event("transitionend"))},g=function(t){return(t[0]||t).nodeType},m=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||p(t)}),i)},_=function(t,e,n){Object.keys(n).forEach((function(i){var o,s=n[i],r=e[i],a=r&&g(r)?"element":null==(o=r)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+s+'".')}))},v=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},b=function(){return function(){}},y=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},E=function(t){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()},T="rtl"===document.documentElement.dir,k=(a={},l=1,{set:function(t,e,n){void 0===t.bsKey&&(t.bsKey={key:e,id:l},l++),a[t.bsKey.id]=n},get:function(t,e){if(!t||void 0===t.bsKey)return null;var n=t.bsKey;return n.key===e?a[n.id]:null},delete:function(t,e){if(void 0!==t.bsKey){var n=t.bsKey;n.key===e&&(delete a[n.id],delete t.bsKey)}}}),A=function(t,e,n){k.set(t,e,n)},L=function(t,e){return k.get(t,e)},C=function(t,e){k.delete(t,e)},D=/[^.]*(?=\..*)\.|.*/,S=/\..*/,N=/::\d+$/,O={},I=1,j={mouseenter:"mouseover",mouseleave:"mouseout"},P=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function x(t,e){return e&&e+"::"+I++||t.uidEvent||I++}function H(t){var e=x(t);return t.uidEvent=e,O[e]=O[e]||{},O[e]}function B(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,s=i.length;o<s;o++){var r=t[i[o]];if(r.originalHandler===e&&r.delegationSelector===n)return r}return null}function M(t,e,n){var i="string"==typeof e,o=i?n:e,s=t.replace(S,""),r=j[s];return r&&(s=r),P.has(s)||(s=t),[i,o,s]}function R(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var s=M(e,n,i),r=s[0],a=s[1],l=s[2],c=H(t),u=c[l]||(c[l]={}),d=B(u,a,r?n:null);if(d)d.oneOff=d.oneOff&&o;else{var f=x(a,e.replace(D,"")),h=r?function(t,e,n){return function i(o){for(var s=t.querySelectorAll(e),r=o.target;r&&r!==this;r=r.parentNode)for(var a=s.length;a--;)if(s[a]===r)return o.delegateTarget=r,i.oneOff&&Q.off(t,o.type,n),n.apply(r,[o]);return null}}(t,n,i):function(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&Q.off(t,i.type,e),e.apply(t,[i])}}(t,n);h.delegationSelector=r?n:null,h.originalHandler=a,h.oneOff=o,h.uidEvent=f,u[f]=h,t.addEventListener(l,h,r)}}}function K(t,e,n,i,o){var s=B(e[n],i,o);s&&(t.removeEventListLine truncated
|
||||
//# sourceMappingURL=bootstrap.min.js.map
|
||||
@@ -0,0 +1 @@
|
||||
function counterUp(t){"use strict";this.defaults={duration:3e3,prepend:"",append:"%",selector:".countup",start:0,end:100,intvalues:!1,interval:100};var e=this;this.upating=!1,this.intervalID=null,this.props={};for(var r in this.defaults)"undefined"!=typeof r&&(e.props[r]=e.defaults[r],t.hasOwnProperty(r)&&e.props.hasOwnProperty(r)&&(e.props[r]=t[r]));this.domelems=document.querySelectorAll(this.props.selector),this.elems=[];var n={};this.domelems.forEach(function(t){n.obj=t;var r=parseInt(t.getAttribute("cup-start"));isNaN(r)?n.start=e.props.start:n.start=r;var p=parseInt(t.getAttribute("cup-end"));isNaN(p)?n.end=e.props.end:n.end=p;var a=parseInt(t.getAttribute("cup-duration"));isNaN(a)?n.duration=e.props.duration:n.duration=a;var s=t.getAttribute("cup-prepend");null==s?n.prepend=e.props.prepend:n.prepend=s;var i=t.getAttribute("cup-append");null==i?n.append=e.props.append:n.append=i;var o=t.getAttribute("cup-intval");null==o?n.intvalues=e.props.intvalues:n.intvalues=o,n.step=(n.end-n.start)/(n.duration/e.props.interval),n.val=n.start,e.elems.push(n),n={}})}counterUp.prototype.start=function(){"use strict";var t=this;this.intervalID=setInterval(function(){t.updating||t.update()},t.props.interval)},counterUp.prototype.update=function(){"use strict";this.updating=!0;var t=!0;this.elems.forEach(function(e){e.val+=e.step,e.val<e.end?(1==e.intvalues?e.obj.innerHTML=e.prepend+Math.floor(e.val).toString()+e.append:e.obj.innerHTML=e.prepend+(Math.round(100*e.val)/100).toString()+e.append,t=!1):e.obj.innerHTML=e.prepend+e.end.toString()+e.append}),1==t&&clearInterval(this.intervalID),this.updating=!1};
|
||||
@@ -0,0 +1 @@
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).GLightbox=e()}(this,(function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function n(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function s(t){return function(t){if(Array.isArray(t)){for(var e=0,i=new Array(t.length);e<t.length;e++)i[e]=t[e];return i}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function o(t){return Math.sqrt(t.x*t.x+t.y*t.y)}function l(t,e){var i=function(t,e){var i=o(t)*o(e);if(0===i)return 0;var n=function(t,e){return t.x*e.x+t.y*e.y}(t,e)/i;return n>1&&(n=1),Math.acos(n)}(t,e);return function(t,e){return t.x*e.y-e.x*t.y}(t,e)>0&&(i*=-1),180*i/Math.PI}var r=function(){function t(i){e(this,t),this.handlers=[],this.el=i}return n(t,[{key:"add",value:function(t){this.handlers.push(t)}},{key:"del",value:function(t){t||(this.handlers=[]);for(var e=this.handlers.length;e>=0;e--)this.handlers[e]===t&&this.handlers.splice(e,1)}},{key:"dispatch",value:function(){for(var t=0,e=this.handlers.length;t<e;t++){var i=this.handlers[t];"function"==typeof i&&i.apply(this.el,arguments)}}}]),t}();function a(t,e){var i=new r(t);return i.add(e),i}var h=function(){function t(i,n){e(this,t),this.element="string"==typeof i?document.querySelector(i):i,this.start=this.start.bind(this),this.move=this.move.bind(this),this.end=this.end.bind(this),this.cancel=this.cancel.bind(this),this.element.addEventListener("touchstart",this.start,!1),this.element.addEventListener("touchmove",this.move,!1),this.element.addEventListener("touchend",this.end,!1),this.element.addEventListener("touchcancel",this.cancel,!1),this.preV={x:null,y:null},this.pinchStartLen=null,this.zoom=1,this.isDoubleTap=!1;var s=function(){};this.rotate=a(this.element,n.rotate||s),this.touchStart=a(this.element,n.touchStart||s),this.multipointStart=a(this.element,n.multipointStart||s),this.multipointEnd=a(this.element,n.multipointEnd||s),this.pinch=a(this.element,n.pinch||s),this.swipe=a(this.element,n.swipe||s),this.tap=a(this.element,n.tap||s),this.doubleTap=a(this.element,n.doubleTap||s),this.longTap=a(this.element,n.longTap||s),this.singleTap=a(this.element,n.singleTap||s),this.pressMove=a(this.element,n.pressMove||s),this.twoFingerPressMove=a(this.element,n.twoFingerPressMove||s),this.touchMove=a(this.element,n.touchMove||s),this.touchEnd=a(this.element,n.touchEnd||s),this.touchCancel=a(this.element,n.touchCancel||s),this._cancelAllHandler=this.cancelAll.bind(this),window.addEventListener("scroll",this._cancelAllHandler),this.delta=null,this.last=null,this.now=null,this.tapTimeout=null,this.singleTapTimeout=null,this.longTapTimeout=null,this.swipeTimeout=null,this.x1=this.x2=this.y1=this.y2=null,this.preTapPosition={x:null,y:null}}return n(t,[{key:"start",value:function(t){if(t.touches){this.now=Date.now(),this.x1=t.touches[0].pageX,this.y1=t.touches[0].pageY,this.delta=this.now-(this.last||this.now),this.touchStart.dispatch(t,this.element),null!==this.preTapPosition.x&&(this.isDoubleTap=this.delta>0&&this.delta<=250&&Math.abs(this.preTapPosition.x-this.x1)<30&&Math.abs(this.preTapPosition.y-this.y1)<30,this.isDoubleTap&&clearTimeout(this.singleTapTimeout)),this.preTapPosition.x=this.x1,this.preTapPosition.y=this.y1,this.last=this.now;var e=this.preV;if(t.touches.length>1){this._cancelLongTap(),this._cancelSingleTap();var i={x:t.touches[1].pageX-this.x1,y:t.touches[1].pageY-this.y1};e.x=i.x,e.y=i.y,this.pinchStartLen=o(e),this.multipointStart.dispatch(t,this.element)}this._preventTap=!1,this.longTapTimeout=setTimeout(function(){this.longTap.dispatch(t,this.element),this._preventTap=!0}.bind(this),750)}}},{key:"move",value:function(t){if(t.touches){var e=this.preV,i=t.touches.length,n=t.touches[0].pageX,s=t.touches[0].pageY;if(this.isDoubleTap=!1,i>1){var r=t.touches[1].pageX,a=t.touches[1].pageY,h={x:t.touches[1].pageX-n,y:t.touches[1].pageY-s};null!==e.x&&(this.pinchStartLen>0&&(t.zoom=o(h)/this.pinchStartLen,this.pinch.dispatch(t,this.element)),t.angle=l(h,e),this.rotate.dispatch(t,this.element)),e.x=h.x,e.y=h.y,null!==this.x2&&null!==this.sx2?(t.deltaX=(n-this.x2+r-this.sx2)/2,t.deltaY=(s-this.y2+a-this.sy2)/2):(t.deltaX=0,t.deltaY=0),this.twoFingerPressMove.dispatch(t,this.element),this.sx2=r,this.sy2=a}else{if(null!==this.x2){t.deltaX=n-this.x2,t.deltaY=s-this.y2;var c=Math.abs(Line truncated
|
||||
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* imagesLoaded PACKAGED v4.1.4
|
||||
* JavaScript is all like "You images are done yet or what?"
|
||||
* MIT License
|
||||
*/
|
||||
|
||||
!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(e,r),delete n[r]),r.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],function(i){return t(e,i)}):"object"==typeof module&&module.exports?module.exports=t(e,require("ev-emitter")):e.imagesLoaded=t(e,e.EvEmitter)}("undefined"!=typeof window?window:this,function(e,t){function i(e,t){for(var i in t)e[i]=t[i];return e}function n(e){if(Array.isArray(e))return e;var t="object"==typeof e&&"number"==typeof e.length;return t?d.call(e):[e]}function o(e,t,r){if(!(this instanceof o))return new o(e,t,r);var s=e;return"string"==typeof e&&(s=document.querySelectorAll(e)),s?(this.elements=n(s),this.options=i({},this.options),"function"==typeof t?r=t:i(this.options,t),r&&this.on("always",r),this.getImages(),h&&(this.jqDeferred=new h.Deferred),void setTimeout(this.check.bind(this))):void a.error("Bad element for imagesLoaded "+(s||e))}function r(e){this.img=e}function s(e,t){this.url=e,this.element=t,this.img=new Image}var h=e.jQuery,a=e.console,d=Array.prototype.slice;o.prototype=Object.create(t.prototype),o.prototype.options={},o.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},o.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),this.options.background===!0&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&u[t]){for(var i=e.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var r=e.querySelectorAll(this.options.background);for(n=0;n<r.length;n++){var s=r[n];this.addElementBackgroundImages(s)}}}};var u={1:!0,9:!0,11:!0};return o.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(t.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,e),n=i.exec(t.backgroundImage)}},o.prototype.addImage=function(e){var t=new r(e);this.images.push(t)},o.prototype.addBackground=function(e,t){var i=new s(e,t);this.images.push(i)},o.prototype.check=function(){function e(e,i,n){setTimeout(function(){t.progress(e,i,n)})}var t=this;return this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?void this.images.forEach(function(t){t.once("progress",e),t.check()}):void this.complete()},o.prototype.progress=function(e,t,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&a&&a.log("progress: "+i,e,t)},o.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},r.prototype=Object.create(t.prototype),r.prototype.check=function(){var e=this.getIsImageComplete();return e?void this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),void(this.proxyImage.src=this.img.src))},r.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},r.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},r.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},r.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},r.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},r.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},s.prototype=Object.create(r.prototype),s.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url;var e=this.getIsImageCompleteLine truncated
|
||||
@@ -0,0 +1,104 @@
|
||||
|
||||
(function() {
|
||||
|
||||
/* ====================
|
||||
Preloader
|
||||
======================= */
|
||||
window.onload = function () {
|
||||
window.setTimeout(fadeout, 300);
|
||||
}
|
||||
|
||||
function fadeout() {
|
||||
document.querySelector('.preloader').style.opacity = '0';
|
||||
document.querySelector('.preloader').style.display = 'none';
|
||||
}
|
||||
|
||||
// =========== sticky menu
|
||||
window.onscroll = function () {
|
||||
var header_navbar = document.querySelector(".hero-section-wrapper-5 .header");
|
||||
var sticky = header_navbar.offsetTop;
|
||||
|
||||
if (window.pageYOffset > sticky) {
|
||||
header_navbar.classList.add("sticky");
|
||||
} else {
|
||||
header_navbar.classList.remove("sticky");
|
||||
}
|
||||
|
||||
// show or hide the back-top-top button
|
||||
var backToTo = document.querySelector(".scroll-top");
|
||||
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
|
||||
backToTo.style.display = "flex";
|
||||
} else {
|
||||
backToTo.style.display = "none";
|
||||
}
|
||||
};
|
||||
|
||||
// header-6 toggler-icon
|
||||
let navbarToggler6 = document.querySelector(".header-6 .navbar-toggler");
|
||||
var navbarCollapse6 = document.querySelector(".header-6 .navbar-collapse");
|
||||
|
||||
document.querySelectorAll(".header-6 .page-scroll").forEach(e =>
|
||||
e.addEventListener("click", () => {
|
||||
navbarToggler6.classList.remove("active");
|
||||
navbarCollapse6.classList.remove('show')
|
||||
})
|
||||
);
|
||||
navbarToggler6.addEventListener('click', function() {
|
||||
navbarToggler6.classList.toggle("active");
|
||||
})
|
||||
|
||||
|
||||
// section menu active
|
||||
function onScroll(event) {
|
||||
var sections = document.querySelectorAll('.page-scroll');
|
||||
var scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
|
||||
|
||||
for (var i = 0; i < sections.length; i++) {
|
||||
var currLink = sections[i];
|
||||
var val = currLink.getAttribute('href');
|
||||
var refElement = document.querySelector(val);
|
||||
var scrollTopMinus = scrollPos + 73;
|
||||
if (refElement.offsetTop <= scrollTopMinus && (refElement.offsetTop + refElement.offsetHeight > scrollTopMinus)) {
|
||||
document.querySelector('.page-scroll').classList.remove('active');
|
||||
currLink.classList.add('active');
|
||||
} else {
|
||||
currLink.classList.remove('active');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
window.document.addEventListener('scroll', onScroll);
|
||||
|
||||
|
||||
// ===== pricing-style-4 slider
|
||||
tns({
|
||||
container: '.pricing-active',
|
||||
autoplay: false,
|
||||
mouseDrag: true,
|
||||
gutter: 0,
|
||||
nav: false,
|
||||
controls: true,
|
||||
controlsText: [
|
||||
'<i class="lni lni-chevron-left prev"></i>',
|
||||
'<i class="lni lni-chevron-right prev"></i>',
|
||||
],
|
||||
responsive: {
|
||||
0: {
|
||||
items: 1,
|
||||
},
|
||||
768: {
|
||||
items: 2,
|
||||
},
|
||||
992: {
|
||||
items: 1.2,
|
||||
},
|
||||
1200: {
|
||||
items: 2,
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// WOW active
|
||||
new WOW().init();
|
||||
|
||||
})();
|
||||
@@ -0,0 +1,2 @@
|
||||
var tns=function(){var t=window,Ai=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)},e=window,Ni=e.cancelAnimationFrame||e.mozCancelAnimationFrame||function(t){clearTimeout(t)};function Li(){for(var t,e,n,i=arguments[0]||{},a=1,r=arguments.length;a<r;a++)if(null!==(t=arguments[a]))for(e in t)i!==(n=t[e])&&void 0!==n&&(i[e]=n);return i}function Bi(t){return 0<=["true","false"].indexOf(t)?JSON.parse(t):t}function Si(t,e,n,i){if(i)try{t.setItem(e,n)}catch(t){}return n}function Hi(){var t=document,e=t.body;return e||((e=t.createElement("body")).fake=!0),e}var n=document.documentElement;function Oi(t){var e="";return t.fake&&(e=n.style.overflow,t.style.background="",t.style.overflow=n.style.overflow="hidden",n.appendChild(t)),e}function Di(t,e){t.fake&&(t.remove(),n.style.overflow=e,n.offsetHeight)}function ki(t,e,n,i){"insertRule"in t?t.insertRule(e+"{"+n+"}",i):t.addRule(e,n,i)}function Ri(t){return("insertRule"in t?t.cssRules:t.rules).length}function Ii(t,e,n){for(var i=0,a=t.length;i<a;i++)e.call(n,t[i],i)}var i="classList"in document.createElement("_"),Pi=i?function(t,e){return t.classList.contains(e)}:function(t,e){return 0<=t.className.indexOf(e)},zi=i?function(t,e){Pi(t,e)||t.classList.add(e)}:function(t,e){Pi(t,e)||(t.className+=" "+e)},Wi=i?function(t,e){Pi(t,e)&&t.classList.remove(e)}:function(t,e){Pi(t,e)&&(t.className=t.className.replace(e,""))};function qi(t,e){return t.hasAttribute(e)}function Fi(t,e){return t.getAttribute(e)}function r(t){return void 0!==t.item}function ji(t,e){if(t=r(t)||t instanceof Array?t:[t],"[object Object]"===Object.prototype.toString.call(e))for(var n=t.length;n--;)for(var i in e)t[n].setAttribute(i,e[i])}function Vi(t,e){t=r(t)||t instanceof Array?t:[t];for(var n=(e=e instanceof Array?e:[e]).length,i=t.length;i--;)for(var a=n;a--;)t[i].removeAttribute(e[a])}function Gi(t){for(var e=[],n=0,i=t.length;n<i;n++)e.push(t[n]);return e}function Qi(t,e){"none"!==t.style.display&&(t.style.display="none")}function Xi(t,e){"none"===t.style.display&&(t.style.display="")}function Yi(t){return"none"!==window.getComputedStyle(t).display}function Ki(e){if("string"==typeof e){var n=[e],i=e.charAt(0).toUpperCase()+e.substr(1);["Webkit","Moz","ms","O"].forEach(function(t){"ms"===t&&"transform"!==e||n.push(t+i)}),e=n}for(var t=document.createElement("fakeelement"),a=(e.length,0);a<e.length;a++){var r=e[a];if(void 0!==t.style[r])return r}return!1}function Ji(t,e){var n=!1;return/^Webkit/.test(t)?n="webkit"+e+"End":/^O/.test(t)?n="o"+e+"End":t&&(n=e.toLowerCase()+"end"),n}var a=!1;try{var o=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("test",null,o)}catch(t){}var u=!!a&&{passive:!0};function Ui(t,e,n){for(var i in e){var a=0<=["touchstart","touchmove"].indexOf(i)&&!n&&u;t.addEventListener(i,e[i],a)}}function _i(t,e){for(var n in e){var i=0<=["touchstart","touchmove"].indexOf(n)&&u;t.removeEventListener(n,e[n],i)}}function Zi(){return{topics:{},on:function(t,e){this.topics[t]=this.topics[t]||[],this.topics[t].push(e)},off:function(t,e){if(this.topics[t])for(var n=0;n<this.topics[t].length;n++)if(this.topics[t][n]===e){this.topics[t].splice(n,1);break}},emit:function(e,n){n.type=e,this.topics[e]&&this.topics[e].forEach(function(t){t(n,e)})}}}Object.keys||(Object.keys=function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return e}),"remove"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)});var $i=function(H){H=Li({container:".slider",mode:"carousel",axis:"horizontal",items:1,gutter:0,edgePadding:0,fixedWidth:!1,autoWidth:!1,viewportMax:!1,slideBy:1,center:!1,controls:!0,controlsPosition:"top",controlsText:["prev","next"],controlsContainer:!1,prevButton:!1,nextButton:!1,nav:!0,navPosition:"top",navContainer:!1,navAsThumbnails:!1,arrowKeys:!1,speed:300,autoplay:!1,autoplayPosition:"top",autoplayTimeout:5e3,autoplayDirection:"forward",autoplayText:["start","stop"],autoplayHoverPause:!1,autoplayButton:!1,autoplayButtonOutput:!0,autoplayResetOnVisibility:!0,animateIn:"tns-fadeIn",animateOut:"tns-fadeOut",animateNormal:"tns-normal",animateDelay:!1,loop:!0,rewind:!1,autoHeight:!1,responsive:!1,lazyload:!1,lazyloadSelector:".tns-lazy-img",touch:!0,mouseDrag:!1,swipeAngle:15,nested:!1,preventActionWhenRunning:!1,preventScrollOnTouch:!1,freezable:!0,onInit:!1,useLocalStorage:!0,nonce:!1},H||{});var O=document,m=window,a={ENTER:13,SPACE:32,LEFT:37,RIGHT:39},e={},n=H.useLocalStorage;if(n){var t=navigator.userAgent,i=new Date;try{(e=m.localStorage)?(e.setItem(i,i),n=e.getItem(i)==i,e.removeItem(i)):n=!1,n||(e={})}catch(t){n=!1}n&&(e.tnsApp&&e.tnsApp!==t&&["tC","tPL","tMQ","tTf","t3D","tTDu","tTDe","tADu","tADe","tTE","tAE"].forEach(function(t){e.removeItem(t)}),localStorage.tnsApp=t)}var y=e.tC?Bi(e.tC):Si(e,"tC",function(){var t=document,e=Hi(),n=Oi(e),i=t.createElement("div"),aLine truncated
|
||||
//# sourceMappingURL=../sourcemaps/tiny-slider.js.map
|
||||
@@ -0,0 +1,3 @@
|
||||
/*! WOW wow.js - v1.3.0 - 2016-10-04
|
||||
* https://wowjs.uk
|
||||
* Copyright (c) 2016 Thomas Grainger; Licensed MIT */!function(a,b){if("function"==typeof define&&define.amd)define(["module","exports"],b);else if("undefined"!=typeof exports)b(module,exports);else{var c={exports:{}};b(c,c.exports),a.WOW=c.exports}}(this,function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function d(a,b){return b.indexOf(a)>=0}function e(a,b){for(var c in b)if(null==a[c]){var d=b[c];a[c]=d}return a}function f(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)}function g(a){var b=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],c=arguments.length<=2||void 0===arguments[2]?!1:arguments[2],d=arguments.length<=3||void 0===arguments[3]?null:arguments[3],e=void 0;return null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e}function h(a,b){null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)&&a["on"+b]()}function i(a,b,c){null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c}function j(a,b,c){null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]}function k(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight}Object.defineProperty(b,"__esModule",{value:!0});var l,m,n=function(){function a(a,b){for(var c=0;c<b.length;c++){var d=b[c];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,d.key,d)}}return function(b,c,d){return c&&a(b.prototype,c),d&&a(b,d),b}}(),o=window.WeakMap||window.MozWeakMap||function(){function a(){c(this,a),this.keys=[],this.values=[]}return n(a,[{key:"get",value:function(a){for(var b=0;b<this.keys.length;b++){var c=this.keys[b];if(c===a)return this.values[b]}}},{key:"set",value:function(a,b){for(var c=0;c<this.keys.length;c++){var d=this.keys[c];if(d===a)return this.values[c]=b,this}return this.keys.push(a),this.values.push(b),this}}]),a}(),p=window.MutationObserver||window.WebkitMutationObserver||window.MozMutationObserver||(m=l=function(){function a(){c(this,a),"undefined"!=typeof console&&null!==console&&(console.warn("MutationObserver is not supported by your browser."),console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content."))}return n(a,[{key:"observe",value:function(){}}]),a}(),l.notSupported=!0,m),q=window.getComputedStyle||function(a){var b=/(\-([a-z]){1})/g;return{getPropertyValue:function(c){"float"===c&&(c="styleFloat"),b.test(c)&&c.replace(b,function(a,b){return b.toUpperCase()});var d=a.currentStyle;return(null!=d?d[c]:void 0)||null}}},r=function(){function a(){var b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c(this,a),this.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null,scrollContainer:null,resetAnimation:!0},this.animate=function(){return"requestAnimationFrame"in window?function(a){return window.requestAnimationFrame(a)}:function(a){return a()}}(),this.vendors=["moz","webkit"],this.start=this.start.bind(this),this.resetAnimation=this.resetAnimation.bind(this),this.scrollHandler=this.scrollHandler.bind(this),this.scrollCallback=this.scrollCallback.bind(this),this.scrolled=!0,this.config=e(b,this.defaults),null!=b.scrollContainer&&(this.config.scrollContainer=document.querySelector(b.scrollContainer)),this.animationNameCache=new o,this.wowEvent=g(this.config.boxClass)}return n(a,[{key:"init",value:function(){this.element=window.document.documentElement,d(document.readyState,["interactive","complete"])?this.start():i(document,"DOMContentLoaded",this.start),this.finished=[]}},{key:"start",value:function(){var a=this;if(this.stopped=!1,this.boxes=[].slice.call(this.element.querySelectorAll("."+this.config.boxClass)),this.all=this.boxes.slice(0),this.boxes.length)if(this.disabled())this.resetStyle();else for(var b=0;b<this.boxes.length;b++){var c=this.boxes[b];this.applyStyle(c,!0)}if(this.disabled()||(i(this.config.scrollContainer||window,"scroll",this.scrollHandler),i(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live){var d=new p(function(b){for(var c=0;c<b.length;c++)for(var d=b[c],e=0;e<d.addedNodes.length;e++){var f=d.addedNodes[e];a.doSync(f)}});d.observe(document.body,{childList:!0,subtree:!0})}}},{key:"stop",value:function(){this.stopped=!0,j(this.config.scrollContainer||window,"scroll",this.scrollHandler),j(window,"resize",this.scrollHandler),null!=this.interval&&clearInterval(this.interval)}},{key:"sync",value:function(){p.notSupported&&this.doSync(this.element)}},{key:"doSync",value:function(a){if("undefined"!=typeof a&&null!==a||(a=this.element),1===a.nodeType){a=a.parentNode||a;for(var b=a.querySelectorAll("."+this.config.boxClass),c=0;c<b.lengtLine truncated
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"name": "默认模板",
|
||||
"description": "标准企业官网模板,适用于各类企业展示",
|
||||
"version": "1.0.0",
|
||||
"author": "System",
|
||||
"fields": {
|
||||
"site_name": "网站名称",
|
||||
"banner": "轮播图列表",
|
||||
"news": "新闻列表",
|
||||
"solutions": "解决方案",
|
||||
"partners": "合作伙伴"
|
||||
}
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title data-field="site_name">企业官网</title>
|
||||
<link rel="stylesheet" href="./styles/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<!-- 头部 -->
|
||||
<header class="header">
|
||||
<div class="container">
|
||||
<h1 data-field="site_name">企业官网</h1>
|
||||
<nav class="nav">
|
||||
<a href="/">首页</a>
|
||||
<a href="/news">新闻资讯</a>
|
||||
<a href="/solutions">解决方案</a>
|
||||
<a href="/contact">联系我们</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- 轮播图 -->
|
||||
<section class="banner">
|
||||
<div class="banner-slides">
|
||||
<div class="slide active" data-field="banner">
|
||||
<img src="./images/banner1.jpg" alt="Banner 1">
|
||||
<div class="banner-content">
|
||||
<h2>欢迎来到我们的网站</h2>
|
||||
<p>专业的企业数字化解决方案提供商</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 新闻资讯 -->
|
||||
<section class="news section">
|
||||
<div class="container">
|
||||
<h2 class="section-title">新闻资讯</h2>
|
||||
<div class="news-list" data-field="news">
|
||||
<div class="news-item">
|
||||
<h3>公司动态</h3>
|
||||
<p>这里是新闻内容...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 解决方案 -->
|
||||
<section class="solutions section">
|
||||
<div class="container">
|
||||
<h2 class="section-title">解决方案</h2>
|
||||
<div class="solutions-grid" data-field="solutions">
|
||||
<div class="solution-card">
|
||||
<h3>解决方案一</h3>
|
||||
<p>详细描述...</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 合作伙伴 -->
|
||||
<section class="partners section">
|
||||
<div class="container">
|
||||
<h2 class="section-title">合作伙伴</h2>
|
||||
<div class="partners-grid" data-field="partners">
|
||||
<div class="partner-logo">Partner Logo</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 底部 -->
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p>© 2024 <span data-field="site_name">企业官网</span>. All rights reserved.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- 数据注入脚本 -->
|
||||
<script src="./js/theme-loader.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,527 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="no-js" lang="">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="x-ua-compatible" content="ie=edge" />
|
||||
<title>Nova - Bootstrap 5 Template</title>
|
||||
<meta name="description" content="" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<!-- Place favicon.ico in the root directory -->
|
||||
|
||||
<!-- ========================= CSS here ========================= -->
|
||||
<link rel="stylesheet" href="assets/css/bootstrap-5.0.0-beta1.min.css" />
|
||||
<link rel="stylesheet" href="assets/css/LineIcons.2.0.css"/>
|
||||
<link rel="stylesheet" href="assets/css/tiny-slider.css"/>
|
||||
<link rel="stylesheet" href="assets/css/animate.css"/>
|
||||
<link rel="stylesheet" href="assets/css/lindy-uikit.css"/>
|
||||
</head>
|
||||
<body>
|
||||
<!--[if lte IE 9]>
|
||||
<p class="browserupgrade">
|
||||
You are using an <strong>outdated</strong> browser. Please
|
||||
<a href="https://browsehappy.com/">upgrade your browser</a> to improve
|
||||
your experience and security.
|
||||
</p>
|
||||
<![endif]-->
|
||||
|
||||
<!-- ========================= preloader start ========================= -->
|
||||
<div class="preloader">
|
||||
<div class="loader">
|
||||
<div class="spinner">
|
||||
<div class="spinner-container">
|
||||
<div class="spinner-rotator">
|
||||
<div class="spinner-left">
|
||||
<div class="spinner-circle"></div>
|
||||
</div>
|
||||
<div class="spinner-right">
|
||||
<div class="spinner-circle"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========================= preloader end ========================= -->
|
||||
|
||||
<!-- ========================= hero-section-wrapper-5 start ========================= -->
|
||||
<section id="home" class="hero-section-wrapper-5">
|
||||
|
||||
<!-- ========================= header-6 start ========================= -->
|
||||
<header class="header header-6">
|
||||
<div class="navbar-area">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-12">
|
||||
<nav class="navbar navbar-expand-lg">
|
||||
<a class="navbar-brand" href="index.html">
|
||||
<img src="assets/img/logo/logo.svg" alt="Logo" />
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent6" aria-controls="navbarSupportedContent6" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="toggler-icon"></span>
|
||||
<span class="toggler-icon"></span>
|
||||
<span class="toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse sub-menu-bar" id="navbarSupportedContent6">
|
||||
<ul id="nav6" class="navbar-nav ms-auto">
|
||||
<li class="nav-item">
|
||||
<a class="page-scroll active" href="#home">Home</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="page-scroll" href="#feature">Feature</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="page-scroll" href="#about">About</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="page-scroll" href="#pricing">Pricing</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="page-scroll" href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="header-action d-flex">
|
||||
<a href="#0"> <i class="lni lni-cart"></i> </a>
|
||||
<a href="#0"> <i class="lni lni-alarm"></i> </a>
|
||||
</div>
|
||||
<!-- navbar collapse -->
|
||||
</nav>
|
||||
<!-- navbar -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- row -->
|
||||
</div>
|
||||
<!-- container -->
|
||||
</div>
|
||||
<!-- navbar area -->
|
||||
</header>
|
||||
<!-- ========================= header-6 end ========================= -->
|
||||
|
||||
<!-- ========================= hero-5 start ========================= -->
|
||||
<div class="hero-section hero-style-5 img-bg" style="background-image: url('assets/img/hero/hero-5/hero-bg.svg')">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="hero-content-wrapper">
|
||||
<h2 class="mb-30 wow fadeInUp" data-wow-delay=".2s">You're Using Free Lite Version</h2>
|
||||
<p class="mb-30 wow fadeInUp" data-wow-delay=".4s">Please purchase full version of the template to get all sections and permission to use with commercial projects.</p>
|
||||
<a href="#0" class="button button-lg radius-50 wow fadeInUp" data-wow-delay=".6s">Get Started <i class="lni lni-chevron-right"></i> </a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 align-self-end">
|
||||
<div class="hero-image wow fadeInUp" data-wow-delay=".5s">
|
||||
<img src="assets/img/hero/hero-5/hero-img.svg" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========================= hero-5 end ========================= -->
|
||||
|
||||
</section>
|
||||
<!-- ========================= hero-section-wrapper-6 end ========================= -->
|
||||
|
||||
<!-- ========================= feature style-5 start ========================= -->
|
||||
<section id="feature" class="feature-section feature-style-5">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xxl-5 col-xl-5 col-lg-7 col-md-8">
|
||||
<div class="section-title text-center mb-60">
|
||||
<h3 class="mb-15 wow fadeInUp" data-wow-delay=".2s">Specializing In</h3>
|
||||
<p class="wow fadeInUp" data-wow-delay=".4s">Stop wasting time and money designing and managing a website that doesn’t get results. Happiness guaranteed!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="single-feature wow fadeInUp" data-wow-delay=".2s">
|
||||
<div class="icon">
|
||||
<i class="lni lni-vector"></i>
|
||||
<svg width="110" height="72" viewBox="0 0 110 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M110 54.7589C110 85.0014 85.3757 66.2583 55 66.2583C24.6243 66.2583 0 85.0014 0 54.7589C0 24.5164 24.6243 0 55 0C85.3757 0 110 24.5164 110 54.7589Z" fill="#EBF4FF"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h5>Graphics Design</h5>
|
||||
<p>Short description for the ones who look for something new.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="single-feature wow fadeInUp" data-wow-delay=".4s">
|
||||
<div class="icon">
|
||||
<i class="lni lni-pallet"></i>
|
||||
<svg width="110" height="72" viewBox="0 0 110 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M110 54.7589C110 85.0014 85.3757 66.2583 55 66.2583C24.6243 66.2583 0 85.0014 0 54.7589C0 24.5164 24.6243 0 55 0C85.3757 0 110 24.5164 110 54.7589Z" fill="#EBF4FF"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h5>Print Design</h5>
|
||||
<p>Short description for the ones who look for something new.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="single-feature wow fadeInUp" data-wow-delay=".6s">
|
||||
<div class="icon">
|
||||
<i class="lni lni-stats-up"></i>
|
||||
<svg width="110" height="72" viewBox="0 0 110 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M110 54.7589C110 85.0014 85.3757 66.2583 55 66.2583C24.6243 66.2583 0 85.0014 0 54.7589C0 24.5164 24.6243 0 55 0C85.3757 0 110 24.5164 110 54.7589Z" fill="#EBF4FF"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h5>Business Analysis</h5>
|
||||
<p>Short description for the ones who look for something new.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="single-feature wow fadeInUp" data-wow-delay=".2s">
|
||||
<div class="icon">
|
||||
<i class="lni lni-code-alt"></i>
|
||||
<svg width="110" height="72" viewBox="0 0 110 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M110 54.7589C110 85.0014 85.3757 66.2583 55 66.2583C24.6243 66.2583 0 85.0014 0 54.7589C0 24.5164 24.6243 0 55 0C85.3757 0 110 24.5164 110 54.7589Z" fill="#EBF4FF"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h5>Web Development</h5>
|
||||
<p>Short description for the ones who look for something new.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="single-feature wow fadeInUp" data-wow-delay=".4s">
|
||||
<div class="icon">
|
||||
<i class="lni lni-lock"></i>
|
||||
<svg width="110" height="72" viewBox="0 0 110 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M110 54.7589C110 85.0014 85.3757 66.2583 55 66.2583C24.6243 66.2583 0 85.0014 0 54.7589C0 24.5164 24.6243 0 55 0C85.3757 0 110 24.5164 110 54.7589Z" fill="#EBF4FF"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h5>Best Security</h5>
|
||||
<p>Short description for the ones who look for something new.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6">
|
||||
<div class="single-feature wow fadeInUp" data-wow-delay=".6s">
|
||||
<div class="icon">
|
||||
<i class="lni lni-code"></i>
|
||||
<svg width="110" height="72" viewBox="0 0 110 72" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M110 54.7589C110 85.0014 85.3757 66.2583 55 66.2583C24.6243 66.2583 0 85.0014 0 54.7589C0 24.5164 24.6243 0 55 0C85.3757 0 110 24.5164 110 54.7589Z" fill="#EBF4FF"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h5>Web Design</h5>
|
||||
<p>Short description for the ones who look for something new.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- ========================= feature style-5 end ========================= -->
|
||||
|
||||
<!-- ========================= about style-4 start ========================= -->
|
||||
<section id="about" class="about-section about-style-4">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-xl-5 col-lg-6">
|
||||
<div class="about-content-wrapper">
|
||||
<div class="section-title mb-30">
|
||||
<h3 class="mb-25 wow fadeInUp" data-wow-delay=".2s">The future of designing starts here</h3>
|
||||
<p class="wow fadeInUp" data-wow-delay=".3s">Stop wasting time and money designing and managing a website that doesn’t get results. Happiness guaranteed,</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li class="wow fadeInUp" data-wow-delay=".35s">
|
||||
<i class="lni lni-checkmark-circle"></i>
|
||||
Stop wasting time and money designing and managing a website that doesn’t get results.
|
||||
</li>
|
||||
<li class="wow fadeInUp" data-wow-delay=".4s">
|
||||
<i class="lni lni-checkmark-circle"></i>
|
||||
Stop wasting time and money designing and managing.
|
||||
</li>
|
||||
<li class="wow fadeInUp" data-wow-delay=".45s">
|
||||
<i class="lni lni-checkmark-circle"></i>
|
||||
Stop wasting time and money designing and managing a website that doesn’t get results.
|
||||
</li>
|
||||
</ul>
|
||||
<a href="#0" class="button button-lg radius-10 wow fadeInUp" data-wow-delay=".5s">Learn More</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
<div class="about-image text-lg-right wow fadeInUp" data-wow-delay=".5s">
|
||||
<img src="assets/img/about/about-4/about-img.svg" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- ========================= about style-4 end ========================= -->
|
||||
|
||||
<!-- ========================= pricing style-4 start ========================= -->
|
||||
<section id="pricing" class="pricing-section pricing-style-4 bg-light">
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-xl-5 col-lg-6">
|
||||
<div class="section-title mb-60">
|
||||
<h3 class="mb-15 wow fadeInUp" data-wow-delay=".2s">Pricing Plan</h3>
|
||||
<p class="wow fadeInUp" data-wow-delay=".4s">Stop wasting time and money designing and managing a website that doesn’t get results. Happiness guaranteed!Stop wasting time and money designing and managing a website that doesn’t get results. Happiness guaranteed!</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-7 col-lg-6">
|
||||
<div class="pricing-active-wrapper wow fadeInUp" data-wow-delay=".4s">
|
||||
<div class="pricing-active">
|
||||
<div class="single-pricing-wrapper">
|
||||
<div class="single-pricing">
|
||||
<h6>Basic Design</h6>
|
||||
<h4>Web Design</h4>
|
||||
<h3>$ 29.00</h3>
|
||||
<ul>
|
||||
<li>Carefully crafted components</li>
|
||||
<li>Amazing page examples</li>
|
||||
<li>Super friendly support team</li>
|
||||
<li>Awesome Support</li>
|
||||
</ul>
|
||||
<a href="#0" class="button radius-30">Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="single-pricing-wrapper">
|
||||
<div class="single-pricing">
|
||||
<h6>Standard Design</h6>
|
||||
<h4>Web Development</h4>
|
||||
<h3>$ 89.00</h3>
|
||||
<ul>
|
||||
<li>Carefully crafted components</li>
|
||||
<li>Amazing page examples</li>
|
||||
<li>Super friendly support team</li>
|
||||
<li>Awesome Support</li>
|
||||
</ul>
|
||||
<a href="#0" class="button radius-30">Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="single-pricing-wrapper">
|
||||
<div class="single-pricing">
|
||||
<h6>Pro Design</h6>
|
||||
<h4>Design & Develop</h4>
|
||||
<h3>$ 199.00</h3>
|
||||
<ul>
|
||||
<li>Carefully crafted components</li>
|
||||
<li>Amazing page examples</li>
|
||||
<li>Super friendly support team</li>
|
||||
<li>Awesome Support</li>
|
||||
</ul>
|
||||
<a href="#0" class="button radius-30">Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- ========================= pricing style-4 end ========================= -->
|
||||
|
||||
<!-- ========================= contact-style-3 start ========================= -->
|
||||
<section id="contact" class="contact-section contact-style-3">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xxl-5 col-xl-5 col-lg-7 col-md-10">
|
||||
<div class="section-title text-center mb-50">
|
||||
<h3 class="mb-15">Get in touch</h3>
|
||||
<p>Stop wasting time and money designing and managing a website that doesn’t get results. Happiness guaranteed!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
<div class="contact-form-wrapper">
|
||||
<form action="" method="">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="single-input">
|
||||
<input type="text" id="name" name="name" class="form-input" placeholder="Name">
|
||||
<i class="lni lni-user"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="single-input">
|
||||
<input type="email" id="email" name="email" class="form-input" placeholder="Email">
|
||||
<i class="lni lni-envelope"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="single-input">
|
||||
<input type="text" id="number" name="number" class="form-input" placeholder="Number">
|
||||
<i class="lni lni-phone"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="single-input">
|
||||
<input type="text" id="subject" name="subject" class="form-input" placeholder="Subject">
|
||||
<i class="lni lni-text-format"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="single-input">
|
||||
<textarea name="message" id="message" class="form-input" placeholder="Message" rows="6"></textarea>
|
||||
<i class="lni lni-comments-alt"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="form-button">
|
||||
<button type="submit" class="button"> <i class="lni lni-telegram-original"></i> Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4">
|
||||
<div class="left-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 col-md-6">
|
||||
<div class="single-item">
|
||||
<div class="icon">
|
||||
<i class="lni lni-phone"></i>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p>0045939863784</p>
|
||||
<p>+004389478327</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12 col-md-6">
|
||||
<div class="single-item">
|
||||
<div class="icon">
|
||||
<i class="lni lni-envelope"></i>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p>yourmail@gmail.com</p>
|
||||
<p>admin@yourwebsite.com</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12 col-md-6">
|
||||
<div class="single-item">
|
||||
<div class="icon">
|
||||
<i class="lni lni-map-marker"></i>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p>John's House, 13/5 Road, Sidny United State Of America</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- ========================= contact-style-3 end ========================= -->
|
||||
|
||||
<!-- ========================= clients-logo start ========================= -->
|
||||
<section class="clients-logo-section pt-100 pb-100">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="client-logo wow fadeInUp" data-wow-delay=".2s">
|
||||
<img src="assets/img/clients/brands.svg" alt="" class="w-100">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- ========================= clients-logo end ========================= -->
|
||||
|
||||
<!-- ========================= footer style-4 start ========================= -->
|
||||
<footer class="footer footer-style-4">
|
||||
<div class="container">
|
||||
<div class="widget-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-xl-3 col-lg-4 col-md-6">
|
||||
<div class="footer-widget wow fadeInUp" data-wow-delay=".2s">
|
||||
<div class="logo">
|
||||
<a href="#0"> <img src="assets/img/logo/logo.svg" alt=""> </a>
|
||||
</div>
|
||||
<p class="desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Facilisis nulla placerat amet amet congue.</p>
|
||||
<ul class="socials">
|
||||
<li> <a href="#0"> <i class="lni lni-facebook-filled"></i> </a> </li>
|
||||
<li> <a href="#0"> <i class="lni lni-twitter-filled"></i> </a> </li>
|
||||
<li> <a href="#0"> <i class="lni lni-instagram-filled"></i> </a> </li>
|
||||
<li> <a href="#0"> <i class="lni lni-linkedin-original"></i> </a> </li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-2 offset-xl-1 col-lg-2 col-md-6 col-sm-6">
|
||||
<div class="footer-widget wow fadeInUp" data-wow-delay=".3s">
|
||||
<h6>Quick Link</h6>
|
||||
<ul class="links">
|
||||
<li> <a href="#0">Home</a> </li>
|
||||
<li> <a href="#0">About</a> </li>
|
||||
<li> <a href="#0">Service</a> </li>
|
||||
<li> <a href="#0">Testimonial</a> </li>
|
||||
<li> <a href="#0">Contact</a> </li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-lg-3 col-md-6 col-sm-6">
|
||||
<div class="footer-widget wow fadeInUp" data-wow-delay=".4s">
|
||||
<h6>Services</h6>
|
||||
<ul class="links">
|
||||
<li> <a href="#0">Web Design</a> </li>
|
||||
<li> <a href="#0">Web Development</a> </li>
|
||||
<li> <a href="#0">Seo Optimization</a> </li>
|
||||
<li> <a href="#0">Blog Writing</a> </li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-3 col-lg-3 col-md-6">
|
||||
<div class="footer-widget wow fadeInUp" data-wow-delay=".5s">
|
||||
<h6>Download App</h6>
|
||||
<ul class="download-app">
|
||||
<li>
|
||||
<a href="#0">
|
||||
<span class="icon"><i class="lni lni-apple"></i></span>
|
||||
<span class="text">Download on the <b>App Store</b> </span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#0">
|
||||
<span class="icon"><i class="lni lni-play-store"></i></span>
|
||||
<span class="text">GET IT ON <b>Play Store</b> </span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="copyright-wrapper wow fadeInUp" data-wow-delay=".2s">
|
||||
<p>Design and Developed by <a href="https://uideck.com" rel="nofollow" target="_blank">UIdeck</a> Built-with <a href="https://uideck.com" rel="nofollow" target="_blank">Lindy UI Kit</a>. Distributed by <a href="https://themewagon.com" target="_blank">ThemeWagon</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- ========================= footer style-4 end ========================= -->
|
||||
|
||||
<!-- ========================= scroll-top start ========================= -->
|
||||
<a href="#" class="scroll-top"> <i class="lni lni-chevron-up"></i> </a>
|
||||
<!-- ========================= scroll-top end ========================= -->
|
||||
|
||||
|
||||
<!-- ========================= JS here ========================= -->
|
||||
<script src="assets/js/bootstrap-5.0.0-beta1.min.js"></script>
|
||||
<script src="assets/js/tiny-slider.js"></script>
|
||||
<script src="assets/js/wow.min.js"></script>
|
||||
<script src="assets/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,213 +0,0 @@
|
||||
/**
|
||||
* 模板数据注入脚本
|
||||
* 功能:监听 postMessage 事件,当收到 SET_SITE_DATA 时,
|
||||
* 自动寻找带有 data-field 属性的 HTML 标签,替换为对应的数据
|
||||
*/
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
// 日志开关
|
||||
const DEBUG = false;
|
||||
|
||||
function log(...args) {
|
||||
if (DEBUG) {
|
||||
console.log('[ThemeLoader]', ...args);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 替换元素内容或属性
|
||||
* @param {HTMLElement} element - 目标元素
|
||||
* @param {string} field - 字段名
|
||||
* @param {any} value - 数据值
|
||||
*/
|
||||
function applyDataToElement(element, field, value) {
|
||||
if (value === undefined || value === null) {
|
||||
log(`字段 ${field} 值为空,跳过`);
|
||||
return;
|
||||
}
|
||||
|
||||
// 如果是数组或对象,尝试解析
|
||||
if (typeof value === 'string') {
|
||||
try {
|
||||
const parsed = JSON.parse(value);
|
||||
if (parsed) {
|
||||
value = parsed;
|
||||
}
|
||||
} catch (e) {
|
||||
// 保持原值
|
||||
}
|
||||
}
|
||||
|
||||
// 处理数组类型(用于轮播图、列表等)
|
||||
if (Array.isArray(value)) {
|
||||
handleArrayField(element, field, value);
|
||||
return;
|
||||
}
|
||||
|
||||
// 处理对象类型
|
||||
if (typeof value === 'object') {
|
||||
handleObjectField(element, field, value);
|
||||
return;
|
||||
}
|
||||
|
||||
// 处理基础类型(字符串、数字)
|
||||
// 1. 如果是 input/textarea/select,设置为 value
|
||||
const tagName = element.tagName.toLowerCase();
|
||||
if (tagName === 'input' || tagName === 'textarea' || tagName === 'select') {
|
||||
element.value = value;
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. 如果有 src 属性,设置为 src(图片等)
|
||||
if (element.hasAttribute('src') && !element.hasAttribute('data-keep-src')) {
|
||||
// 检查是否是占位符图片
|
||||
const currentSrc = element.getAttribute('src');
|
||||
if (!currentSrc || currentSrc.indexOf('placeholder') > -1) {
|
||||
element.src = value;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// 3. 否则设置为 innerText
|
||||
element.innerText = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理数组类型的字段(如轮播图、列表)
|
||||
*/
|
||||
function handleArrayField(container, field, dataList) {
|
||||
// 查找模板元素(带有 data-template 属性的元素)
|
||||
const templateElement = container.querySelector('[data-template]');
|
||||
if (!templateElement) {
|
||||
log(`字段 ${field} 未找到模板元素`);
|
||||
return;
|
||||
}
|
||||
|
||||
const template = templateElement.cloneNode(true);
|
||||
template.removeAttribute('data-template');
|
||||
template.style.display = '';
|
||||
|
||||
// 清空容器
|
||||
container.innerHTML = '';
|
||||
|
||||
// 渲染每个数据项
|
||||
dataList.forEach((item, index) => {
|
||||
const itemElement = template.cloneNode(true);
|
||||
applyDataToObject(itemElement, item, index);
|
||||
container.appendChild(itemElement);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理对象类型的字段
|
||||
*/
|
||||
function handleObjectField(element, field, data) {
|
||||
// 递归处理对象属性
|
||||
applyDataToObject(element, data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将数据应用到元素及其子元素
|
||||
*/
|
||||
function applyDataToObject(element, data, index = 0) {
|
||||
// 处理 data-field 属性
|
||||
const fieldElements = element.querySelectorAll('[data-field]');
|
||||
fieldElements.forEach(el => {
|
||||
const field = el.getAttribute('data-field');
|
||||
// 支持点号分隔的路径,如 "banner.0.image"
|
||||
const value = getNestedValue(data, field);
|
||||
if (value !== undefined) {
|
||||
applyDataToElement(el, field, value);
|
||||
}
|
||||
});
|
||||
|
||||
// 也处理元素本身的 data-field
|
||||
if (element.hasAttribute('data-field')) {
|
||||
const field = element.getAttribute('data-field');
|
||||
const value = getNestedValue(data, field);
|
||||
if (value !== undefined) {
|
||||
applyDataToElement(element, field, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取嵌套属性值
|
||||
* @param {object} obj - 数据对象
|
||||
* @param {string} path - 属性路径,如 "banner.0.image"
|
||||
* @returns {any}
|
||||
*/
|
||||
function getNestedValue(obj, path) {
|
||||
if (!path) return obj;
|
||||
|
||||
const keys = path.split('.');
|
||||
let value = obj;
|
||||
|
||||
for (const key of keys) {
|
||||
if (value === null || value === undefined) {
|
||||
return undefined;
|
||||
}
|
||||
value = value[key];
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化数据注入
|
||||
*/
|
||||
function init() {
|
||||
log('ThemeLoader 初始化');
|
||||
|
||||
// 监听来自父窗口的消息
|
||||
window.addEventListener('message', function(event) {
|
||||
log('收到消息:', event.data);
|
||||
|
||||
// 验证消息类型
|
||||
if (!event.data || event.data.type !== 'SET_SITE_DATA') {
|
||||
return;
|
||||
}
|
||||
|
||||
const siteData = event.data.data;
|
||||
if (!siteData) {
|
||||
log('未收到有效数据');
|
||||
return;
|
||||
}
|
||||
|
||||
log('开始注入数据:', siteData);
|
||||
|
||||
// 查找所有带有 data-field 属性的元素
|
||||
const elements = document.querySelectorAll('[data-field]');
|
||||
|
||||
elements.forEach(element => {
|
||||
const field = element.getAttribute('data-field');
|
||||
const value = siteData[field];
|
||||
|
||||
if (value !== undefined) {
|
||||
applyDataToElement(element, field, value);
|
||||
}
|
||||
});
|
||||
|
||||
// 触发自定义事件,通知数据已加载
|
||||
window.dispatchEvent(new CustomEvent('themeDataLoaded', {
|
||||
detail: siteData
|
||||
}));
|
||||
|
||||
log('数据注入完成');
|
||||
});
|
||||
|
||||
// 发送就绪消息给父窗口
|
||||
window.parent.postMessage({
|
||||
type: 'THEME_READY'
|
||||
}, '*');
|
||||
}
|
||||
|
||||
// DOM 加载完成后初始化
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', init);
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
})();
|
||||
|
After Width: | Height: | Size: 105 KiB |
@@ -1,153 +0,0 @@
|
||||
/* 基础样式 */
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding: 60px 0;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
text-align: center;
|
||||
font-size: 32px;
|
||||
margin-bottom: 40px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* 头部 */
|
||||
.header {
|
||||
background: #fff;
|
||||
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.header .container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 70px;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
font-size: 24px;
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
.nav a {
|
||||
margin-left: 30px;
|
||||
text-decoration: none;
|
||||
color: #333;
|
||||
transition: color 0.3s;
|
||||
}
|
||||
|
||||
.nav a:hover {
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
/* 轮播图 */
|
||||
.banner {
|
||||
margin-top: 70px;
|
||||
height: 500px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.banner-slides .slide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.banner-slides .slide.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.banner-slides .slide img {
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.banner-content {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.banner-content h2 {
|
||||
font-size: 48px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.banner-content p {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
/* 新闻 */
|
||||
.news-list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 30px;
|
||||
}
|
||||
|
||||
.news-item {
|
||||
background: #f5f5f5;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
/* 解决方案 */
|
||||
.solutions-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.solution-card {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
padding: 40px 20px;
|
||||
border-radius: 8px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
/* 合作伙伴 */
|
||||
.partners-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.partner-logo {
|
||||
background: #f5f5f5;
|
||||
padding: 30px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
/* 底部 */
|
||||
.footer {
|
||||
background: #333;
|
||||
color: #fff;
|
||||
padding: 30px 0;
|
||||
text-align: center;
|
||||
}
|
||||
@@ -0,0 +1,398 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<title>Zay Shop - About Page</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="apple-touch-icon" href="assets/img/apple-icon.png">
|
||||
<link rel="shortcut icon" type="image/x-icon" href="assets/img/favicon.ico">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="assets/css/templatemo.css">
|
||||
<link rel="stylesheet" href="assets/css/custom.css">
|
||||
|
||||
<!-- Load fonts style after rendering the layout styles -->
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@100;200;300;400;500;700;900&display=swap">
|
||||
<link rel="stylesheet" href="assets/css/fontawesome.min.css">
|
||||
<!--
|
||||
|
||||
TemplateMo 559 Zay Shop
|
||||
|
||||
https://templatemo.com/tm-559-zay-shop
|
||||
|
||||
-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!-- Start Top Nav -->
|
||||
<nav class="navbar navbar-expand-lg bg-dark navbar-light d-none d-lg-block" id="templatemo_nav_top">
|
||||
<div class="container text-light">
|
||||
<div class="w-100 d-flex justify-content-between">
|
||||
<div>
|
||||
<i class="fa fa-envelope mx-2"></i>
|
||||
<a class="navbar-sm-brand text-light text-decoration-none" href="mailto:info@company.com">info@company.com</a>
|
||||
<i class="fa fa-phone mx-2"></i>
|
||||
<a class="navbar-sm-brand text-light text-decoration-none" href="tel:010-020-0340">010-020-0340</a>
|
||||
</div>
|
||||
<div>
|
||||
<a class="text-light" href="https://fb.com/templatemo" target="_blank" rel="sponsored"><i class="fab fa-facebook-f fa-sm fa-fw me-2"></i></a>
|
||||
<a class="text-light" href="https://www.instagram.com/" target="_blank"><i class="fab fa-instagram fa-sm fa-fw me-2"></i></a>
|
||||
<a class="text-light" href="https://twitter.com/" target="_blank"><i class="fab fa-twitter fa-sm fa-fw me-2"></i></a>
|
||||
<a class="text-light" href="https://www.linkedin.com/" target="_blank"><i class="fab fa-linkedin fa-sm fa-fw"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- Close Top Nav -->
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
<nav class="navbar navbar-expand-lg navbar-light shadow">
|
||||
<div class="container d-flex justify-content-between align-items-center">
|
||||
|
||||
<a class="navbar-brand text-success logo h1 align-self-center" href="index.html">
|
||||
Zay
|
||||
</a>
|
||||
|
||||
<button class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#templatemo_main_nav" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="align-self-center collapse navbar-collapse flex-fill d-lg-flex justify-content-lg-between" id="templatemo_main_nav">
|
||||
<div class="flex-fill">
|
||||
<ul class="nav navbar-nav d-flex justify-content-between mx-lg-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="index.html">Home</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="about.html">About</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="shop.html">Shop</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="contact.html">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar align-self-center d-flex">
|
||||
<div class="d-lg-none flex-sm-fill mt-3 mb-4 col-7 col-sm-auto pr-3">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control" id="inputMobileSearch" placeholder="Search ...">
|
||||
<div class="input-group-text">
|
||||
<i class="fa fa-fw fa-search"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a class="nav-icon d-none d-lg-inline" href="#" data-bs-toggle="modal" data-bs-target="#templatemo_search">
|
||||
<i class="fa fa-fw fa-search text-dark mr-2"></i>
|
||||
</a>
|
||||
<a class="nav-icon position-relative text-decoration-none" href="#">
|
||||
<i class="fa fa-fw fa-cart-arrow-down text-dark mr-1"></i>
|
||||
<span class="position-absolute top-0 left-100 translate-middle badge rounded-pill bg-light text-dark">7</span>
|
||||
</a>
|
||||
<a class="nav-icon position-relative text-decoration-none" href="#">
|
||||
<i class="fa fa-fw fa-user text-dark mr-3"></i>
|
||||
<span class="position-absolute top-0 left-100 translate-middle badge rounded-pill bg-light text-dark">+99</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
<!-- Close Header -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade bg-white" id="templatemo_search" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg" role="document">
|
||||
<div class="w-100 pt-1 mb-5 text-right">
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<form action="" method="get" class="modal-content modal-body border-0 p-0">
|
||||
<div class="input-group mb-2">
|
||||
<input type="text" class="form-control" id="inputModalSearch" name="q" placeholder="Search ...">
|
||||
<button type="submit" class="input-group-text bg-success text-light">
|
||||
<i class="fa fa-fw fa-search text-white"></i>
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<section class="bg-success py-5">
|
||||
<div class="container">
|
||||
<div class="row align-items-center py-5">
|
||||
<div class="col-md-8 text-white">
|
||||
<h1>About Us</h1>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
|
||||
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
|
||||
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<img src="assets/img/about-hero.svg" alt="About Hero">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Close Banner -->
|
||||
|
||||
<!-- Start Section -->
|
||||
<section class="container py-5">
|
||||
<div class="row text-center pt-5 pb-3">
|
||||
<div class="col-lg-6 m-auto">
|
||||
<h1 class="h1">Our Services</h1>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
|
||||
Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6 col-lg-3 pb-5">
|
||||
<div class="h-100 py-5 services-icon-wap shadow">
|
||||
<div class="h1 text-success text-center"><i class="fa fa-truck fa-lg"></i></div>
|
||||
<h2 class="h5 mt-4 text-center">Delivery Services</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3 pb-5">
|
||||
<div class="h-100 py-5 services-icon-wap shadow">
|
||||
<div class="h1 text-success text-center"><i class="fas fa-exchange-alt"></i></div>
|
||||
<h2 class="h5 mt-4 text-center">Shipping & Return</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3 pb-5">
|
||||
<div class="h-100 py-5 services-icon-wap shadow">
|
||||
<div class="h1 text-success text-center"><i class="fa fa-percent"></i></div>
|
||||
<h2 class="h5 mt-4 text-center">Promotion</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 col-lg-3 pb-5">
|
||||
<div class="h-100 py-5 services-icon-wap shadow">
|
||||
<div class="h1 text-success text-center"><i class="fa fa-user"></i></div>
|
||||
<h2 class="h5 mt-4 text-center">24 Hours Service</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- End Section -->
|
||||
|
||||
<!-- Start Brands -->
|
||||
<section class="bg-light py-5">
|
||||
<div class="container my-4">
|
||||
<div class="row text-center py-3">
|
||||
<div class="col-lg-6 m-auto">
|
||||
<h1 class="h1">Our Brands</h1>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
|
||||
Lorem ipsum dolor sit amet.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-lg-9 m-auto tempaltemo-carousel">
|
||||
<div class="row d-flex flex-row">
|
||||
<!--Controls-->
|
||||
<div class="col-1 align-self-center">
|
||||
<a class="h1" href="#templatemo-slide-brand" role="button" data-bs-slide="prev">
|
||||
<i class="text-light fas fa-chevron-left"></i>
|
||||
</a>
|
||||
</div>
|
||||
<!--End Controls-->
|
||||
|
||||
<!--Carousel Wrapper-->
|
||||
<div class="col">
|
||||
<div class="carousel slide carousel-multi-item pt-2 pt-md-0" id="templatemo-slide-brand" data-bs-ride="carousel">
|
||||
<!--Slides-->
|
||||
<div class="carousel-inner product-links-wap" role="listbox">
|
||||
|
||||
<!--First slide-->
|
||||
<div class="carousel-item active">
|
||||
<div class="row">
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_01.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_02.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_03.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_04.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End First slide-->
|
||||
|
||||
<!--Second slide-->
|
||||
<div class="carousel-item">
|
||||
<div class="row">
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_01.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_02.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_03.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_04.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End Second slide-->
|
||||
|
||||
<!--Third slide-->
|
||||
<div class="carousel-item">
|
||||
<div class="row">
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_01.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_02.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_03.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
<div class="col-3 p-md-5">
|
||||
<a href="#"><img class="img-fluid brand-img" src="assets/img/brand_04.png" alt="Brand Logo"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End Third slide-->
|
||||
|
||||
</div>
|
||||
<!--End Slides-->
|
||||
</div>
|
||||
</div>
|
||||
<!--End Carousel Wrapper-->
|
||||
|
||||
<!--Controls-->
|
||||
<div class="col-1 align-self-center">
|
||||
<a class="h1" href="#templatemo-slide-brand" role="button" data-bs-slide="next">
|
||||
<i class="text-light fas fa-chevron-right"></i>
|
||||
</a>
|
||||
</div>
|
||||
<!--End Controls-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!--End Brands-->
|
||||
|
||||
|
||||
<!-- Start Footer -->
|
||||
<footer class="bg-dark" id="tempaltemo_footer">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-4 pt-5">
|
||||
<h2 class="h2 text-success border-bottom pb-3 border-light logo">Zay Shop</h2>
|
||||
<ul class="list-unstyled text-light footer-link-list">
|
||||
<li>
|
||||
<i class="fas fa-map-marker-alt fa-fw"></i>
|
||||
123 Consectetur at ligula 10660
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-phone fa-fw"></i>
|
||||
<a class="text-decoration-none" href="tel:010-020-0340">010-020-0340</a>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa fa-envelope fa-fw"></i>
|
||||
<a class="text-decoration-none" href="mailto:info@company.com">info@company.com</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 pt-5">
|
||||
<h2 class="h2 text-light border-bottom pb-3 border-light">Products</h2>
|
||||
<ul class="list-unstyled text-light footer-link-list">
|
||||
<li><a class="text-decoration-none" href="#">Luxury</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Sport Wear</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Men's Shoes</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Women's Shoes</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Popular Dress</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Gym Accessories</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Sport Shoes</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 pt-5">
|
||||
<h2 class="h2 text-light border-bottom pb-3 border-light">Further Info</h2>
|
||||
<ul class="list-unstyled text-light footer-link-list">
|
||||
<li><a class="text-decoration-none" href="#">Home</a></li>
|
||||
<li><a class="text-decoration-none" href="#">About Us</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Shop Locations</a></li>
|
||||
<li><a class="text-decoration-none" href="#">FAQs</a></li>
|
||||
<li><a class="text-decoration-none" href="#">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row text-light mb-4">
|
||||
<div class="col-12 mb-3">
|
||||
<div class="w-100 my-3 border-top border-light"></div>
|
||||
</div>
|
||||
<div class="col-auto me-auto">
|
||||
<ul class="list-inline text-left footer-icons">
|
||||
<li class="list-inline-item border border-light rounded-circle text-center">
|
||||
<a rel="nofollow" class="text-light text-decoration-none" target="_blank" href="http://fb.com/templatemo"><i class="fab fa-facebook-f fa-lg fa-fw"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item border border-light rounded-circle text-center">
|
||||
<a class="text-light text-decoration-none" target="_blank" href="https://www.instagram.com/"><i class="fab fa-instagram fa-lg fa-fw"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item border border-light rounded-circle text-center">
|
||||
<a class="text-light text-decoration-none" target="_blank" href="https://twitter.com/"><i class="fab fa-twitter fa-lg fa-fw"></i></a>
|
||||
</li>
|
||||
<li class="list-inline-item border border-light rounded-circle text-center">
|
||||
<a class="text-light text-decoration-none" target="_blank" href="https://www.linkedin.com/"><i class="fab fa-linkedin fa-lg fa-fw"></i></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<label class="sr-only" for="subscribeEmail">Email address</label>
|
||||
<div class="input-group mb-2">
|
||||
<input type="text" class="form-control bg-dark border-light" id="subscribeEmail" placeholder="Email address">
|
||||
<div class="input-group-text btn-success text-light">Subscribe</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w-100 bg-black py-3">
|
||||
<div class="container">
|
||||
<div class="row pt-2">
|
||||
<div class="col-12">
|
||||
<p class="text-left text-light">
|
||||
Copyright © 2021 Company Name
|
||||
| Designed by <a rel="sponsored" href="https://templatemo.com/page/1" target="_blank">TemplateMo</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</footer>
|
||||
<!-- End Footer -->
|
||||
|
||||
<!-- Start Script -->
|
||||
<script src="assets/js/jquery-1.11.0.min.js"></script>
|
||||
<script src="assets/js/jquery-migrate-1.2.1.min.js"></script>
|
||||
<script src="assets/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="assets/js/templatemo.js"></script>
|
||||
<script src="assets/js/custom.js"></script>
|
||||
<!-- End Script -->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
@charset "UTF-8";/*!
|
||||
* Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vLine truncated
|
||||
/*# sourceMappingURL=bootstrap.min.css.map */
|
||||
@@ -0,0 +1,3 @@
|
||||
/*
|
||||
Custom Css
|
||||
*/
|
||||
@@ -0,0 +1,4 @@
|
||||
/*!
|
||||
* Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com
|
||||
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
*/.fa-fw,.fa-li{text-align:center}.fab,.far{font-weight:400}.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circlLine truncated
|
||||
@@ -0,0 +1,207 @@
|
||||
@charset 'UTF-8';
|
||||
/* Slider */
|
||||
.slick-loading .slick-list
|
||||
{
|
||||
background: #fff url('../img/ajax-loader.gif') center center no-repeat;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
@font-face
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
src: url('../webfonts/slick.eot');
|
||||
src: url('../webfonts/slick.eot?#iefix') format('embedded-opentype'),
|
||||
url('../webfonts/slick.woff') format('woff'),
|
||||
url('../webfonts/slick.ttf') format('truetype'),
|
||||
url('../webfonts/slick.svg#slick') format('svg');
|
||||
}
|
||||
/* Arrows */
|
||||
.slick-prev,
|
||||
.slick-next
|
||||
{
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 0;
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
color: transparent;
|
||||
border: none;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
.slick-prev:hover,
|
||||
.slick-prev:focus,
|
||||
.slick-next:hover,
|
||||
.slick-next:focus
|
||||
{
|
||||
color: transparent;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
.slick-prev:hover:before,
|
||||
.slick-prev:focus:before,
|
||||
.slick-next:hover:before,
|
||||
.slick-next:focus:before
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.slick-prev.slick-disabled:before,
|
||||
.slick-next.slick-disabled:before
|
||||
{
|
||||
opacity: .25;
|
||||
}
|
||||
|
||||
.slick-prev:before,
|
||||
.slick-next:before
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-size: 20px;
|
||||
line-height: 1;
|
||||
|
||||
opacity: .75;
|
||||
color: white;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.slick-prev
|
||||
{
|
||||
left: -25px;
|
||||
}
|
||||
[dir='rtl'] .slick-prev
|
||||
{
|
||||
right: -25px;
|
||||
left: auto;
|
||||
}
|
||||
.slick-prev:before
|
||||
{
|
||||
content: '←';
|
||||
}
|
||||
[dir='rtl'] .slick-prev:before
|
||||
{
|
||||
content: '→';
|
||||
}
|
||||
|
||||
.slick-next
|
||||
{
|
||||
right: -25px;
|
||||
}
|
||||
[dir='rtl'] .slick-next
|
||||
{
|
||||
right: auto;
|
||||
left: -25px;
|
||||
}
|
||||
.slick-next:before
|
||||
{
|
||||
content: '→';
|
||||
}
|
||||
[dir='rtl'] .slick-next:before
|
||||
{
|
||||
content: '←';
|
||||
}
|
||||
|
||||
/* Dots */
|
||||
.slick-dotted.slick-slider
|
||||
{
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.slick-dots
|
||||
{
|
||||
position: absolute;
|
||||
bottom: -25px;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
list-style: none;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
.slick-dots li
|
||||
{
|
||||
position: relative;
|
||||
|
||||
display: inline-block;
|
||||
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin: 0 5px;
|
||||
padding: 0;
|
||||
|
||||
cursor: pointer;
|
||||
}
|
||||
.slick-dots li button
|
||||
{
|
||||
font-size: 0;
|
||||
line-height: 0;
|
||||
|
||||
display: block;
|
||||
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
padding: 5px;
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
color: transparent;
|
||||
border: 0;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
.slick-dots li button:hover,
|
||||
.slick-dots li button:focus
|
||||
{
|
||||
outline: none;
|
||||
}
|
||||
.slick-dots li button:hover:before,
|
||||
.slick-dots li button:focus:before
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.slick-dots li button:before
|
||||
{
|
||||
font-family: 'slick';
|
||||
font-size: 6px;
|
||||
line-height: 20px;
|
||||
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
|
||||
content: '•';
|
||||
text-align: center;
|
||||
|
||||
opacity: .25;
|
||||
color: black;
|
||||
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
.slick-dots li.slick-active button:before
|
||||
{
|
||||
opacity: .75;
|
||||
color: black;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
@charset 'UTF-8';.slick-dots,.slick-next,.slick-prev{position:absolute;display:block;padding:0}.slick-dots li button:before,.slick-next:before,.slick-prev:before{font-family:slick;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-loading .slick-list{background:url(../img/ajax-loader.gif) center center no-repeat #fff}@font-face{font-family:slick;font-weight:400;font-style:normal;src:url(../webfonts/slick.eot);src:url(../webfonts/slick.eot?#iefix) format('embedded-opentype'),url(../webfonts/slick.woff) format('woff'),url(../webfonts/slick.ttf) format('truetype'),url(../webfonts/slick.svg#slick) format('svg')}.slick-next,.slick-prev{font-size:0;line-height:0;top:50%;width:20px;height:20px;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:0;background:0 0}.slick-next:focus,.slick-next:hover,.slick-prev:focus,.slick-prev:hover{color:transparent;outline:0;background:0 0}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{font-size:20px;line-height:1;opacity:.75;color:#fff}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←'}.slick-next:before,[dir=rtl] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}[dir=rtl] .slick-next:before{content:'←'}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{bottom:-25px;width:100%;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#000}.slick-dots li.slick-active button:before{opacity:.75;color:#000}
|
||||
@@ -0,0 +1,2 @@
|
||||
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}
|
||||
/*# sourceMappingURL=slick.min.css.map */
|
||||
@@ -0,0 +1,191 @@
|
||||
/*
|
||||
|
||||
TemplateMo 559 Zay Shop
|
||||
|
||||
https://templatemo.com/tm-559-zay-shop
|
||||
|
||||
---------------------------------------------
|
||||
Table of contents
|
||||
------------------------------------------------
|
||||
1. Typography
|
||||
2. General
|
||||
3. Nav
|
||||
4. Hero Carousel
|
||||
5. Accordion
|
||||
6. Shop
|
||||
7. Product
|
||||
8. Carousel Hero
|
||||
9. Carousel Brand
|
||||
10. Services
|
||||
11. Contact map
|
||||
12. Footer
|
||||
13. Small devices (landscape phones, 576px and up)
|
||||
14. Medium devices (tablets, 768px and up)
|
||||
15. Large devices (desktops, 992px and up)
|
||||
16. Extra large devices (large desktops, 1200px and up)
|
||||
--------------------------------------------- */
|
||||
|
||||
|
||||
|
||||
|
||||
/* Typography */
|
||||
body, ul, li, p, a, label, input, div {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 18px !important;
|
||||
font-weight: 300 !important;
|
||||
}
|
||||
.h1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 48px !important;
|
||||
font-weight: 200 !important;
|
||||
}
|
||||
.h2 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 30px !important;
|
||||
font-weight: 300;
|
||||
}
|
||||
.h3 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 22px !important;
|
||||
}
|
||||
/* General */
|
||||
.logo { font-weight: 500 !important;}
|
||||
.text-warning { color: #ede861 !important;}
|
||||
.text-muted { color: #bcbcbc !important;}
|
||||
.text-success { color: #59ab6e !important;}
|
||||
.text-light { color: #cfd6e1 !important;}
|
||||
.bg-dark { background-color: #212934 !important;}
|
||||
.bg-light { background-color: #e9eef5 !important;}
|
||||
.bg-black { background-color: #1d242d !important;}
|
||||
.bg-success { background-color: #59ab6e !important;}
|
||||
.btn-success {
|
||||
background-color: #59ab6e !important;
|
||||
border-color: #56ae6c !important;
|
||||
}
|
||||
.pagination .page-link:hover {color: #000;}
|
||||
.pagination .page-link:hover, .pagination .page-link.active {
|
||||
background-color: #69bb7e;
|
||||
color: #fff;
|
||||
}
|
||||
/* Nav */
|
||||
#templatemo_nav_top { min-height: 40px;}
|
||||
#templatemo_nav_top * { font-size: .9em !important;}
|
||||
#templatemo_main_nav a { color: #212934;}
|
||||
#templatemo_main_nav a:hover { color: #69bb7e;}
|
||||
#templatemo_main_nav .navbar .nav-icon { margin-right: 20px;}
|
||||
|
||||
/* Hero Carousel */
|
||||
#template-mo-zay-hero-carousel { background: #efefef !important;}
|
||||
/* Accordion */
|
||||
.templatemo-accordion a { color: #000;}
|
||||
.templatemo-accordion a:hover { color: #333d4a;}
|
||||
/* Shop */
|
||||
.shop-top-menu a:hover { color: #69bb7e !important;}
|
||||
/* Product */
|
||||
.product-wap { box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.10);}
|
||||
.product-wap .product-color-dot.color-dot-red { background:#f71515;}
|
||||
.product-wap .product-color-dot.color-dot-blue { background:#6db4fe;}
|
||||
.product-wap .product-color-dot.color-dot-black { background:#000000;}
|
||||
.product-wap .product-color-dot.color-dot-light { background:#e0e0e0;}
|
||||
.product-wap .product-color-dot.color-dot-green { background:#0bff7e;}
|
||||
.card.product-wap .card .product-overlay {
|
||||
background: rgba(0,0,0,.2);
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition: .3s;
|
||||
}
|
||||
.card.product-wap:hover .card .product-overlay {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
.card.product-wap a { color: #000;}
|
||||
#carousel-related-product .slick-slide:focus { outline: none !important;}
|
||||
#carousel-related-product .slick-dots li button:before {
|
||||
font-size: 15px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
/* Brand */
|
||||
.brand-img {
|
||||
filter: grayscale(100%);
|
||||
opacity: 0.5;
|
||||
transition: .5s;
|
||||
}
|
||||
.brand-img:hover {
|
||||
filter: grayscale(0%);
|
||||
opacity: 1;
|
||||
}
|
||||
/* Carousel Hero */
|
||||
#template-mo-zay-hero-carousel .carousel-indicators li {
|
||||
margin-top: -50px;
|
||||
background-color: #59ab6e;
|
||||
}
|
||||
#template-mo-zay-hero-carousel .carousel-control-next i,
|
||||
#template-mo-zay-hero-carousel .carousel-control-prev i {
|
||||
color: #59ab6e !important;
|
||||
font-size: 2.8em !important;
|
||||
}
|
||||
/* Carousel Brand */
|
||||
.tempaltemo-carousel .h1 {
|
||||
font-size: .5em !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
/* Services */
|
||||
.services-icon-wap {transition: .3s;}
|
||||
.services-icon-wap:hover, .services-icon-wap:hover i {color: #fff;}
|
||||
.services-icon-wap:hover {background: #69bb7e;}
|
||||
/* Contact map */
|
||||
.leaflet-control a, .leaflet-control { font-size: 10px !important;}
|
||||
.form-control { border: 1px solid #e8e8e8;}
|
||||
/* Footer */
|
||||
#tempaltemo_footer a { color: #dcdde1;}
|
||||
#tempaltemo_footer a:hover { color: #68bb7d;}
|
||||
#tempaltemo_footer ul.footer-link-list li { padding-top: 10px;}
|
||||
#tempaltemo_footer ul.footer-icons li {
|
||||
width: 2.6em;
|
||||
height: 2.6em;
|
||||
line-height: 2.6em;
|
||||
}
|
||||
#tempaltemo_footer ul.footer-icons li:hover {
|
||||
background-color: #cfd6e1;
|
||||
transition: .5s;
|
||||
}
|
||||
#tempaltemo_footer ul.footer-icons li:hover i {
|
||||
color: #212934;
|
||||
transition: .5s;
|
||||
}
|
||||
#tempaltemo_footer .border-light { border-color: #2d343f !important;}
|
||||
/*
|
||||
// Extra small devices (portrait phones, less than 576px)
|
||||
// No media query since this is the default in Bootstrap
|
||||
*/
|
||||
/* Small devices (landscape phones, 576px and up)*/
|
||||
.product-wap .h3, .product-wap li, .product-wap i, .product-wap p {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
.product-wap .product-color-dot {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.tempaltemo-carousel .h1 { font-size: 1em !important;}
|
||||
}
|
||||
|
||||
/*// Medium devices (tablets, 768px and up)*/
|
||||
@media (min-width: 768px) {
|
||||
#templatemo_main_nav .navbar-nav {max-width: 450px;}
|
||||
}
|
||||
|
||||
/* Large devices (desktops, 992px and up)*/
|
||||
@media (min-width: 992px) {
|
||||
#templatemo_main_nav .navbar-nav {max-width: 550px;}
|
||||
#template-mo-zay-hero-carousel .carousel-item {min-height: 30rem !important;}
|
||||
.product-wap .h3, .product-wap li, .product-wap i, .product-wap p {font-size: 18px !important;}
|
||||
.product-wap .product-color-dot {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Extra large devices (large desktops, 1200px and up)*/
|
||||
@media (min-width: 1200px) {}
|
||||
@@ -0,0 +1 @@
|
||||
.h1,.h2,.h3,a,body,div,input,label,li,p,ul{font-family:Roboto,sans-serif}a,body,div,input,label,li,p,ul{font-size:18px!important;font-weight:300!important}.h1{font-size:48px!important;font-weight:200!important}.h2{font-size:30px!important;font-weight:300}.h3{font-size:22px!important}.logo{font-weight:500!important}.text-warning{color:#ede861!important}.text-muted{color:#bcbcbc!important}.text-success{color:#59ab6e!important}.text-light{color:#cfd6e1!important}.bg-dark{background-color:#212934!important}.bg-light{background-color:#e9eef5!important}.bg-black{background-color:#1d242d!important}.bg-success,.btn-success{background-color:#59ab6e!important}.btn-success{border-color:#56ae6c!important}.pagination .page-link.active,.pagination .page-link:hover{background-color:#69bb7e;color:#fff}#templatemo_nav_top{min-height:40px}#templatemo_nav_top *{font-size:.9em!important}#templatemo_main_nav a{color:#212934}#templatemo_main_nav a:hover{color:#69bb7e}#templatemo_main_nav .navbar .nav-icon{margin-right:20px}#template-mo-zay-hero-carousel{background:#efefef!important}.templatemo-accordion a{color:#000}.templatemo-accordion a:hover{color:#333d4a}.shop-top-menu a:hover{color:#69bb7e!important}.product-wap{box-shadow:0 5px 10px 0 rgba(0,0,0,.1)}.product-wap .product-color-dot.color-dot-red{background:#f71515}.product-wap .product-color-dot.color-dot-blue{background:#6db4fe}.product-wap .product-color-dot.color-dot-black{background:#000}.product-wap .product-color-dot.color-dot-light{background:#e0e0e0}.product-wap .product-color-dot.color-dot-green{background:#0bff7e}.card.product-wap .card .product-overlay{background:rgba(0,0,0,.2);visibility:hidden;opacity:0;transition:.3s}.card.product-wap:hover .card .product-overlay{visibility:visible;opacity:1}.card.product-wap a{color:#000}#carousel-related-product .slick-slide:focus{outline:0!important}#carousel-related-product .slick-dots li button:before{font-size:15px;margin-top:20px}.brand-img{filter:grayscale(100%);opacity:.5;transition:.5s}.brand-img:hover{filter:grayscale(0);opacity:1}#template-mo-zay-hero-carousel .carousel-indicators li{margin-top:-50px;background-color:#59ab6e}#template-mo-zay-hero-carousel .carousel-control-next i,#template-mo-zay-hero-carousel .carousel-control-prev i{color:#59ab6e!important;font-size:2.8em!important}.tempaltemo-carousel .h1{font-size:.5em!important;color:#000!important}.services-icon-wap{transition:.3s}.services-icon-wap:hover,.services-icon-wap:hover i{color:#fff}.services-icon-wap:hover{background:#69bb7e}.leaflet-control,.leaflet-control a{font-size:10px!important}.form-control{border:1px solid #e8e8e8}#tempaltemo_footer a{color:#dcdde1}#tempaltemo_footer a:hover{color:#68bb7d}#tempaltemo_footer ul.footer-link-list li{padding-top:10px}#tempaltemo_footer ul.footer-icons li{width:2.6em;height:2.6em;line-height:2.6em}#tempaltemo_footer ul.footer-icons li:hover{background-color:#cfd6e1;transition:.5s}#tempaltemo_footer ul.footer-icons li:hover i{color:#212934;transition:.5s}#tempaltemo_footer .border-light{border-color:#2d343f!important}.product-wap .h3,.product-wap i,.product-wap li,.product-wap p{font-size:12px!important}.product-wap .product-color-dot{width:6px;height:6px}@media (min-width:576px){.tempaltemo-carousel .h1{font-size:1em!important}}@media (min-width:768px){#templatemo_main_nav .navbar-nav{max-width:450px}}@media (min-width:992px){#templatemo_main_nav .navbar-nav{max-width:550px}#template-mo-zay-hero-carousel .carousel-item{min-height:30rem!important}.product-wap .h3,.product-wap i,.product-wap li,.product-wap p{font-size:18px!important}.product-wap .product-color-dot{width:12px;height:12px}}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500"><path d="M448.31 449c0 11.28-88.78 20.42-198.31 20.42S51.69 460.31 51.69 449s88.78-20.39 198.31-20.39 198.31 9.14 198.31 20.39z" fill="#ebebeb"/><path d="M334.52 52.69H165.46a17.26 17.26 0 00-17.1 17.42v348a17.27 17.27 0 0017.1 17.42h169.06a17.29 17.29 0 0017.12-17.42v-348a17.28 17.28 0 00-17.12-17.42zm6.42 354.67c0 9.16-6.86 16.57-15.32 16.57H174.38c-8.48 0-15.34-7.41-15.34-16.57V83.3c0-18.66 6.86-19.57 15.34-19.57h30.3c1.76 0 3.2 2 3.2 4.48v1.07c0 5.81 3.18 5.83 7.08 5.83H285c3.94 0 7.1 0 7.1-5.83v-1.07c0-2.48 1.42-4.48 3.21-4.48h30.29c8.46 0 15.32 2.48 15.32 19.57z" fill="#263238"/><path d="M340.94 83.3v324.06c0 9.16-6.86 16.57-15.32 16.57H174.38c-8.48 0-15.34-7.41-15.34-16.57V83.3c0-18.66 6.86-19.57 15.34-19.57h30.3c1.76 0 3.2 2 3.2 4.48v1.07c0 5.81 3.18 5.83 7.08 5.83H285c3.94 0 7.1 0 7.1-5.83v-1.07c0-2.48 1.42-4.48 3.21-4.48h30.29c8.48 0 15.34 2.48 15.34 19.57z" fill="#fff"/><path d="M340.94 83.3v324.06c0 9.16-6.86 16.57-15.32 16.57H174.38c-8.48 0-15.34-7.41-15.34-16.57V83.3c0-18.66 6.86-19.57 15.34-19.57h30.3c1.76 0 3.2 2 3.2 4.48v1.07c0 5.81 3.18 5.83 7.08 5.83H285c3.94 0 7.1 0 7.1-5.83v-1.07c0-2.48 1.42-4.48 3.21-4.48h30.29c8.48 0 15.34 2.48 15.34 19.57z" fill="#fff"/><path d="M340.94 83.3v28.85H159V83.3c0-18.66 6.86-19.57 15.34-19.57h30.3c1.76 0 3.2 2 3.2 4.48v1.07c0 5.81 3.18 5.83 7.08 5.83H285c3.94 0 7.1 0 7.1-5.83v-1.07c0-2.48 1.42-4.48 3.21-4.48h30.29c8.48 0 15.34 2.48 15.34 19.57z" fill="#a6d453"/><g fill="#fff"><path d="M199.45 71l-.29.29c-.06 0-.11.11-.17.17a4 4 0 00-5.64 0l-.16-.17-.29-.29.37-.32a4.06 4.06 0 01.86-.55 4.18 4.18 0 011.13-.38c.19 0 .38 0 .57-.08s.48 0 .5 0h.38a4.51 4.51 0 011 .25 4.58 4.58 0 01.71.33 5.35 5.35 0 01.67.47l.31.28z"/><path d="M194.27 72.39c-.15-.16-.3-.31-.46-.46a3.32 3.32 0 014.71 0l-.46.46a2.61 2.61 0 00-1.89-.78 2.66 2.66 0 00-1.9.78z"/><path d="M197.6 72.85l-.46.46a1.38 1.38 0 00-1.94 0l-.46-.46a2 2 0 012.86 0z"/><path d="M196.58 73.73a.41.41 0 01-.41.41.42.42 0 110-.83.41.41 0 01.41.42z"/></g><path d="M170.9 71.89a1.21 1.21 0 111.21 1.21 1.21 1.21 0 01-1.21-1.21zm3.8 0a1.21 1.21 0 111.21 1.21 1.21 1.21 0 01-1.21-1.21zm3.8 0a1.21 1.21 0 111.2 1.21 1.2 1.2 0 01-1.2-1.21zm3.8 0a1.21 1.21 0 111.2 1.21 1.2 1.2 0 01-1.2-1.21zm3.79 0a1.21 1.21 0 111.21 1.21 1.21 1.21 0 01-1.21-1.21zm141.21 2.63h-9.82V70h9.82zM318 74h8.82v-3.52H318z" fill="#fff"/><path fill="#fff" d="M318.3 70.75h6.33v3h-6.33zm9 .29h.87v2.43h-.87zm-151.68 30.43l-5.37-5.03 5.37-5.03.84.88-4.43 4.15 4.43 4.15-.84.88zm148.76-10.06l5.37 5.03-5.37 5.03-.84-.88 4.43-4.15-4.43-4.15.84-.88zm-100.92 4.83a3.3 3.3 0 013.3-3.24 3.39 3.39 0 012.08.7.54.54 0 01.09.72.53.53 0 01-.72.1 2.28 2.28 0 00-1.45-.5 2.41 2.41 0 00-1.62.65 2.23 2.23 0 00-.66 1.57 2.19 2.19 0 00.66 1.57 2.4 2.4 0 001.62.64 2.29 2.29 0 001.45-.49.55.55 0 01.72.1.54.54 0 01-.09.72 3.39 3.39 0 01-2.08.7 3.28 3.28 0 01-3.3-3.24zM233.75 98h-2.19l-.44 1.18a.51.51 0 01-.46.31.52.52 0 01-.18 0 .51.51 0 01-.29-.65l2-5.3a.52.52 0 01.95 0l2 5.3a.51.51 0 01-.3.65.43.43 0 01-.17 0 .5.5 0 01-.46-.31zm-.37-1l-.73-1.93-.73 1.93zm5.93-2.82h-1.44V99a.49.49 0 01-.49.5.5.5 0 01-.5-.5v-4.8h-1.42a.5.5 0 01-.49-.51.48.48 0 01.49-.49h3.85a.48.48 0 01.49.49.51.51 0 01-.49.49zm4.33 3.82h-2.18l-.46 1.17a.51.51 0 01-.46.31.43.43 0 01-.17 0 .5.5 0 01-.3-.65l2-5.3a.52.52 0 011 0l2 5.3a.5.5 0 01-.3.65.4.4 0 01-.17 0 .51.51 0 01-.46-.31zm-.37-1l-.73-1.93-.72 1.93zm2.97 2v-5.33a.5.5 0 011 0v4.81h2.44a.51.51 0 01.5.5.51.51 0 01-.5.5h-2.94a.5.5 0 01-.5-.48zm9.68-5a3.31 3.31 0 010 4.56 3 3 0 01-2.15 1 3.06 3.06 0 01-2.21-1 3.37 3.37 0 010-4.56 3 3 0 012.21-1 2.92 2.92 0 012.15 1zm-.12 2.28a2.35 2.35 0 00-.61-1.58 2 2 0 00-1.42-.64 2 2 0 00-1.46.64 2.3 2.3 0 00-.61 1.58 2.26 2.26 0 00.61 1.57 2 2 0 001.46.64 2 2 0 001.42-.64 2.3 2.3 0 00.61-1.61zm2.52-.03a3.28 3.28 0 013.32-3.25 3.35 3.35 0 012.06.7.52.52 0 11-.64.81 2.3 2.3 0 00-1.42-.49 2.26 2.26 0 00-1.62.66 2.15 2.15 0 000 3.12 2.25 2.25 0 001.62.65 2.48 2.48 0 001.24-.34v-1.23h-1.29a.52.52 0 01-.51-.51.51.51 0 01.51-.51h1.79a.51.51 0 01.52.51v2.16a.44.44 0 01-.17.22 3.34 3.34 0 01-2.05.7 3.27 3.27 0 01-3.36-3.2zm10.22 3.23a2.6 2.6 0 01-2.61-2.6v-3.21a.49.49 0 01.5-.49.49.49 0 01.5.49v3.21a1.61 1.61 0 003.21 0v-3.21a.5.5 0 011 0v3.21a2.6 2.6 0 01-2.6 2.6zm4.26-.48v-5.33a.49.49 0 01.5-.49h2.94a.5.5 0 01.5.49.52.52 0 01-.5.51h-2.44v1.64h2.1a.51.51 0 01.49.5.49.49 0 01-.49.5h-2.1v1.66h2.44a.51.51 0 01.5.5.51.51 0 01-.5.5h-2.92a.5.5 0 01-.52-.48zm-13.25-31.15h-19.11a1.18 1.18 0 01-1.18-1.18 1.18 1.18 0 011.18-1.18h19.11a1.18 1.18 0 011.18 1.18 1.18 1.18 0 01-1.18 1.18z"/><path fill="#a6d453" d="M175.46 369.28h67.47v54.65h-67.47z"/><path fill="#ebebeb" d="M257.07 369.28h67.47v54.65h-67.47zm-81.61-101.09h67.47v67.47h-67.47z"/><path fill="#a6d453" d="M257.07 268.19h67.47v67.47h-67.47z"/><path fill="#ebebeb" d="M257.07 167.1h67.47v67.47h-67.47z"/><path fill="#a6d453" d="M175.46 167.1h67.47v67.47h-67.47zm.01 73.98h7.38v7.38h-7.38z"/><path fill="#455a64" d="M185.77 241.Line truncated
|
||||
|
After Width: | Height: | Size: 45 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 180 KiB |
|
After Width: | Height: | Size: 123 KiB |
|
After Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 91 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 234 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 139 KiB |
@@ -0,0 +1,7 @@
|
||||
/*!
|
||||
* Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function e(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}function n(){return(n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}function i(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var o,r,s=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},a=function(t){var e=t.getAttribute("data-bs-target");if(!e||"#"===e){var n=t.getAttribute("href");e=n&&"#"!==n?n.trim():null}return e},l=function(t){var e=a(t);return e&&document.querySelector(e)?e:null},c=function(t){var e=a(t);return e?document.querySelector(e):null},u=function(t){if(!t)return 0;var e=window.getComputedStyle(t),n=e.transitionDuration,i=e.transitionDelay,o=Number.parseFloat(n),r=Number.parseFloat(i);return o||r?(n=n.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(n)+Number.parseFloat(i))):0},f=function(t){t.dispatchEvent(new Event("transitionend"))},d=function(t){return(t[0]||t).nodeType},h=function(t,e){var n=!1,i=e+5;t.addEventListener("transitionend",(function e(){n=!0,t.removeEventListener("transitionend",e)})),setTimeout((function(){n||f(t)}),i)},p=function(t,e,n){Object.keys(n).forEach((function(i){var o,r=n[i],s=e[i],a=s&&d(s)?"element":null==(o=s)?""+o:{}.toString.call(o).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option "'+i+'" provided type "'+a+'" but expected type "'+r+'".')}))},g=function(t){if(!t)return!1;if(t.style&&t.parentNode&&t.parentNode.style){var e=getComputedStyle(t),n=getComputedStyle(t.parentNode);return"none"!==e.display&&"none"!==n.display&&"hidden"!==e.visibility}return!1},m=function(){return function(){}},v=function(t){return t.offsetHeight},_=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},b=function(t){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()},y="rtl"===document.documentElement.dir,w=(o={},r=1,{set:function(t,e,n){void 0===t.bsKey&&(t.bsKey={key:e,id:r},r++),o[t.bsKey.id]=n},get:function(t,e){if(!t||void 0===t.bsKey)return null;var n=t.bsKey;return n.key===e?o[n.id]:null},delete:function(t,e){if(void 0!==t.bsKey){var n=t.bsKey;n.key===e&&(delete o[n.id],delete t.bsKey)}}}),E=function(t,e,n){w.set(t,e,n)},T=function(t,e){return w.get(t,e)},k=function(t,e){w.delete(t,e)},O=/[^.]*(?=\..*)\.|.*/,L=/\..*/,A=/::\d+$/,C={},D=1,x={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function j(t,e){return e&&e+"::"+D++||t.uidEvent||D++}function N(t){var e=j(t);return t.uidEvent=e,C[e]=C[e]||{},C[e]}function I(t,e,n){void 0===n&&(n=null);for(var i=Object.keys(t),o=0,r=i.length;o<r;o++){var s=t[i[o]];if(s.originalHandler===e&&s.delegationSelector===n)return s}return null}function P(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(L,""),s=x[r];return s&&(r=s),S.has(r)||(r=t),[i,o,r]}function M(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=P(e,n,i),s=r[0],a=r[1],l=r[2],c=N(t),u=c[l]||(c[l]={}),f=I(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var d=j(a,e.replace(O,"")),h=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return o.delegateTarget=s,i.oneOff&&H.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return i.delegateTarget=t,n.oneOff&&H.off(t,i.type,e),e.apply(t,[i])}}(t,n);h.delegationSelector=s?n:null,h.originalHandler=a,h.oneOff=o,h.uidEvent=d,u[d]=h,t.addEventListener(l,h,s)}}}function B(t,e,n,i,o){var r=I(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var H={on:function(t,e,n,i){M(t,e,n,i,!1)},one:function(t,e,n,i){M(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=P(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=N(t),u=e.startsWith(".");if(void 0===s){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forLine truncated
|
||||
//# sourceMappingURL=bootstrap.bundle.min.js.map
|
||||
@@ -0,0 +1,4 @@
|
||||
/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
|
||||
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+Line truncated
|
||||
}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=nLine truncated
|
||||
},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)Line truncated
|
||||
@@ -0,0 +1,2 @@
|
||||
/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
|
||||
jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxCompLine truncated
|
||||
@@ -0,0 +1 @@
|
||||
!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(t),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(t).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,void 0!==document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):void 0!==document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=e++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}}()).prototype.activateADA=function(){this.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):!0===o?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&!0===i.options.adaptiveHeight&&!1===i.options.vertical){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),!0===s.options.rtl&&!1===s.options.vertical&&(e=-e),!1===s.transformsEnabled?!1===s.options.vertical?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):!1===s.cssTransitions?(!0===s.options.rtl&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),!1===s.options.vertical?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),!1===s.options.vertical?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this.getNavTarget();null!==t&&"object"==typeof t&&t.each(fuLine truncated
|
||||
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
|
||||
TemplateMo 559 Zay Shop
|
||||
|
||||
https://templatemo.com/tm-559-zay-shop
|
||||
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
$(document).ready(function() {
|
||||
|
||||
// Accordion
|
||||
var all_panels = $('.templatemo-accordion > li > ul').hide();
|
||||
|
||||
$('.templatemo-accordion > li > a').click(function() {
|
||||
console.log('Hello world!');
|
||||
var target = $(this).next();
|
||||
if(!target.hasClass('active')){
|
||||
all_panels.removeClass('active').slideUp();
|
||||
target.addClass('active').slideDown();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
// End accordion
|
||||
|
||||
// Product detail
|
||||
$('.product-links-wap a').click(function(){
|
||||
var this_src = $(this).children('img').attr('src');
|
||||
$('#product-detail').attr('src',this_src);
|
||||
return false;
|
||||
});
|
||||
$('#btn-minus').click(function(){
|
||||
var val = $("#var-value").html();
|
||||
val = (val=='1')?val:val-1;
|
||||
$("#var-value").html(val);
|
||||
$("#product-quanity").val(val);
|
||||
return false;
|
||||
});
|
||||
$('#btn-plus').click(function(){
|
||||
var val = $("#var-value").html();
|
||||
val++;
|
||||
$("#var-value").html(val);
|
||||
$("#product-quanity").val(val);
|
||||
return false;
|
||||
});
|
||||
$('.btn-size').click(function(){
|
||||
var this_val = $(this).html();
|
||||
$("#product-size").val(this_val);
|
||||
$(".btn-size").removeClass('btn-secondary');
|
||||
$(".btn-size").addClass('btn-success');
|
||||
$(this).removeClass('btn-success');
|
||||
$(this).addClass('btn-secondary');
|
||||
return false;
|
||||
});
|
||||
// End roduct detail
|
||||
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
"use strict";$(document).ready(function(){var t=$(".templatemo-accordion > li > ul").hide();$(".templatemo-accordion > li > a").click(function(){var a=$(this).next();return a.hasClass("active")||(t.removeClass("active").slideUp(),a.addClass("active").slideDown()),!1}),$(".product-links-wap a").click(function(){var t=$(this).children("img").attr("src");return $("#product-detail").attr("src",t),!1}),$("#btn-minus").click(function(){var t=$("#var-value").html();return t="1"==t?t:t-1,$("#var-value").html(t),$("#product-quanity").val(t),!1}),$("#btn-plus").click(function(){var t=$("#var-value").html();return t++,$("#var-value").html(t),$("#product-quanity").val(t),!1}),$(".btn-size").click(function(){var t=$(this).html();return $("#product-size").val(t),$(".btn-size").removeClass("btn-secondary"),$(".btn-size").addClass("btn-success"),$(this).removeClass("btn-success"),$(this).addClass("btn-secondary"),!1})});
|
||||