diff --git a/theme_classic_store/__init__.py b/theme_classic_store/__init__.py new file mode 100644 index 000000000..b14594469 --- /dev/null +++ b/theme_classic_store/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import controller +from . import models diff --git a/theme_classic_store/__manifest__.py b/theme_classic_store/__manifest__.py new file mode 100644 index 000000000..b8cb812ce --- /dev/null +++ b/theme_classic_store/__manifest__.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +{ + 'name': 'Theme Classic Store', + 'description': 'Theme Classic Store for Odoo Website and e-Commerce', + 'summary': 'Theme Classic Store is an attractive eCommerce Website theme. ' + 'The theme comes with many useful and stylish snippets', + 'version': '14.0.1.0.0', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'category': 'Theme/eCommerce', + 'depends': ['website_blog', 'website_sale_wishlist', 'website_sale_comparison'], + 'data': [ + 'views/classic_store_config.xml', + 'data/classic_store_config_data.xml', + 'security/ir.model.access.csv', + 'views/layout.xml', + 'views/assets.xml', + 'views/footer.xml', + 'views/header.xml', + 'views/contact_us.xml', + 'views/blog.xml', + 'views/shop.xml', + 'views/shop_sidebar.xml', + 'views/404.xml', + 'views/product_view.xml', + 'views/product_view_inherits.xml', + 'views/snippets/about.xml', + 'views/snippets/banner.xml', + 'views/snippets/categories.xml', + 'views/snippets/listing.xml', + 'views/snippets/package.xml', + 'views/snippets/team.xml', + 'views/snippets/counter.xml', + 'views/snippets/sub_header.xml', + 'views/snippets/search.xml', + 'views/snippets/trending.xml', + ], + 'images': [ + 'static/description/banner.png', + 'static/description/theme_screenshot.png', + ], + 'license': 'LGPL-3', + 'installable': True, + 'application': False, + 'auto_install': False, +} diff --git a/theme_classic_store/controller/__init__.py b/theme_classic_store/controller/__init__.py new file mode 100644 index 000000000..abd1486cb --- /dev/null +++ b/theme_classic_store/controller/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import s_category +from . import price_filter +from . import s_trending diff --git a/theme_classic_store/controller/price_filter.py b/theme_classic_store/controller/price_filter.py new file mode 100644 index 000000000..028336e53 --- /dev/null +++ b/theme_classic_store/controller/price_filter.py @@ -0,0 +1,161 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from werkzeug.exceptions import NotFound +from odoo.addons.http_routing.models.ir_http import slug +from odoo.addons.website.controllers.main import QueryURL +from odoo.addons.website_sale.controllers.main import TableCompute, WebsiteSale +from odoo import http +from odoo.http import request + + +class PriceFilter(WebsiteSale): + + @http.route() + def shop(self, page=0, category=None, search='', ppg=False, **post): + """Override WebsiteSale shop for Price Filter""" + maximum = minimum = 0 + add_qty = int(post.get('add_qty', 1)) + Category = request.env['product.public.category'] + if category: + category = Category.search([('id', '=', int(category))], limit=1) + if not category or not category.can_access_from_current_website(): + raise NotFound() + else: + category = Category + + if ppg: + try: + ppg = int(ppg) + post['ppg'] = ppg + except ValueError: + ppg = False + if not ppg: + ppg = request.env['website'].get_current_website().shop_ppg or 20 + + ppr = request.env['website'].get_current_website().shop_ppr or 4 + + product_ids = request.env['product.template'].search( + ['&', ('sale_ok', '=', True), ('active', '=', True)]) + + if product_ids and product_ids.ids: + request.cr.execute( + 'select min(list_price),max(list_price) from product_template where id in %s', + (tuple(product_ids.ids),)) + list_prices = request.cr.fetchall() + + minimum = list_prices[0][0] + maximum = list_prices[0][1] + + attrib_list = request.httprequest.args.getlist('attrib') + attrib_values = [[int(x) for x in v.split("-")] for v in attrib_list if + v] + attributes_ids = {v[0] for v in attrib_values} + attrib_set = {v[1] for v in attrib_values} + + domain = self._get_search_domain(search, category, attrib_values) + + if post.get('minimum') and post.get('maximum'): + domain = domain + [('list_price', '>=', float(post.get('minimum'))), + ('list_price', '<=', float(post.get('maximum')))] + + keep = QueryURL('/shop', category=category and int(category), + search=search, attrib=attrib_list, + order=post.get('order'), minimum=post.get('minimum'), + maximum=post.get('maximum')) + + pricelist_context, pricelist = self._get_pricelist_context() + + request.context = dict(request.context, pricelist=pricelist.id, + partner=request.env.user.partner_id) + + url = "/shop" + if search: + post["search"] = search + if attrib_list: + post['attrib'] = attrib_list + + Product = request.env['product.template'].with_context(bin_size=True) + + search_product = Product.search(domain, + order=self._get_search_order(post)) + website_domain = request.website.website_domain() + categs_domain = [('parent_id', '=', False)] + website_domain + if search: + search_categories = Category.search( + [('product_tmpl_ids', 'in', + search_product.ids)] + website_domain).parents_and_self + categs_domain.append(('id', 'in', search_categories.ids)) + else: + search_categories = Category + categs = Category.search(categs_domain) + + if category: + url = "/shop/category/%s" % slug(category) + + product_count = len(search_product) + pager = request.website.pager(url=url, total=product_count, page=page, + step=ppg, scope=7, url_args=post) + offset = pager['offset'] + products = search_product[offset: offset + ppg] + + ProductAttribute = request.env['product.attribute'] + if products: + # get all products without limit + attributes = ProductAttribute.search( + [('product_tmpl_ids', 'in', search_product.ids)]) + else: + attributes = ProductAttribute.browse(attributes_ids) + + layout_mode = request.session.get('website_sale_shop_layout_mode') + if not layout_mode: + if request.website.viewref( + 'website_sale.products_list_view').active: + layout_mode = 'list' + else: + layout_mode = 'grid' + + values = { + 'search': search, + 'category': category, + 'attrib_values': attrib_values, + 'attrib_set': attrib_set, + 'pager': pager, + 'pricelist': pricelist, + 'add_qty': add_qty, + 'products': products, + 'search_count': product_count, # common for all searchbox + 'bins': TableCompute().process(products, ppg, ppr), + 'ppg': ppg, + 'ppr': ppr, + 'categories': categs, + 'attributes': attributes, + 'keep': keep, + 'search_categories_ids': search_categories.ids, + 'layout_mode': layout_mode, + 'minimum': minimum, + 'maximum': maximum, + + } + if category: + values['main_object'] = category + return request.render("website_sale.products", values) diff --git a/theme_classic_store/controller/s_category.py b/theme_classic_store/controller/s_category.py new file mode 100644 index 000000000..1ef78066c --- /dev/null +++ b/theme_classic_store/controller/s_category.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import http +from odoo.http import request + + +class WebsiteClassicCategory(http.Controller): + + @http.route('/classic_product_category', auth="public", type='json', + website=True) + def get_product_categories(self): + product_ids = request.env['product.template'].sudo().search( + [('website_published', '=', True)]) + + product_category_ids = request.env[ + 'product.public.category'].sudo().search([]) + + product_categories_main_list = [] + for rec in product_category_ids: + if rec.child_id: + product_categories_main_list.append(rec) + + category_counter = {} + for rec in product_category_ids: + category_counter[rec] = 0 + + for rec in product_ids: + for cat in rec.public_categ_ids: + if cat in product_category_ids: + category_counter[cat] += 1 + + values = { + 'product_categories_main': product_categories_main_list, + 'counter': category_counter + } + + response = http.Response( + template='theme_classic_store.s_classic_store_categories', + qcontext=values) + return response.render() diff --git a/theme_classic_store/controller/s_trending.py b/theme_classic_store/controller/s_trending.py new file mode 100644 index 000000000..91cd4a65f --- /dev/null +++ b/theme_classic_store/controller/s_trending.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import http, fields +from odoo.http import request +import datetime + + +class WebsiteClassicTrending(http.Controller): + + @http.route('/classic_product_trending', auth="public", type='json', + website=True) + def get_trending_products(self): + + classic_config = request.env[ + 'classic_store.config'].sudo().search([]) + trending_products = classic_config.trending_product_ids + + if not trending_products: + products = request.env['product.template'].sudo().search([]) + for each in products: + each.views = 0 + each.most_viewed = False + date = fields.Datetime.now() + date_before = date - datetime.timedelta(days=7) + products = request.env['website.track'].sudo().search( + [('visit_datetime', '<=', date), + ('visit_datetime', '>=', date_before), + ('product_id', '!=', False)]) + for pro in products: + pro.product_id.views = pro.product_id.views + 1 + + trending_products = request.env['product.template'].sudo().search( + [('is_published', '=', True), + ('views', '!=', 0)], + order='views desc', limit=4) + + values = { + 'trending_products': trending_products + } + + response = http.Response( + template='theme_classic_store.s_classic_store_trending', + qcontext=values) + return response.render() diff --git a/theme_classic_store/data/classic_store_config_data.xml b/theme_classic_store/data/classic_store_config_data.xml new file mode 100644 index 000000000..4f8839b51 --- /dev/null +++ b/theme_classic_store/data/classic_store_config_data.xml @@ -0,0 +1,9 @@ + + + + + Classic Store Configuration + 100000 + + + \ No newline at end of file diff --git a/theme_classic_store/models/__init__.py b/theme_classic_store/models/__init__.py new file mode 100644 index 000000000..606210e0b --- /dev/null +++ b/theme_classic_store/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from . import product_category +from . import classic_store_config diff --git a/theme_classic_store/models/classic_store_config.py b/theme_classic_store/models/classic_store_config.py new file mode 100644 index 000000000..830496127 --- /dev/null +++ b/theme_classic_store/models/classic_store_config.py @@ -0,0 +1,67 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import models, fields + + +class ClassicStoreConfig(models.Model): + _name = 'classic_store.config' + + name = fields.Char('Name') + max_price = fields.Integer(string="Maximum Price", default=100000, + help="Maximum amount to apply in product filter.") + + trending_product_ids = fields.Many2many('product.template', + string="Trending Products", + help="Manually enter trending " + "products or leave the field " + "blank to automatically " + "add the trending products.", + domain=[ + ('is_published', '=', True)]) + + +class ThemeClassicStore(models.AbstractModel): + _inherit = 'theme.utils' + + def _theme_classic_store(self, mod): + self.disable_view('website_sale_comparison.add_to_compare') + self.disable_view('website_sale_comparison.product_attributes_body') + self.disable_view('website_sale.add_grid_or_list_option') + self.disable_view('website_sale.products_add_to_cart') + self.disable_view('website_sale_comparison.add_to_compare') + self.disable_view('website_sale.product_buy_now') + self.disable_view('website_sale_wishlist.add_to_wishlist') + self.disable_view('website_sale.add_grid_or_list_option') + self.disable_view('website_sale.products_images_full') + self.disable_view('website_sale.products_list_view') + self.disable_view('website_sale.recommended_products') + self.disable_view('website_sale.product_picture_magnify_auto') + self.disable_view('website_sale.product_buy_now') + self.disable_view('website_sale.product_comment') + self.disable_view('website_sale.product_picture_magnify') + self.disable_view('website_sale.product_variants') + self.disable_view('website_sale_comparison.product_attributes_body') + self.disable_view('website_sale.recently_viewed_products_product') + self.disable_view('website_sale.ecom_show_extra_fields') + self.disable_view('website_sale.product_custom_text') + self.disable_view('website_sale_wishlist.product_add_to_wishlist') diff --git a/theme_classic_store/models/product_category.py b/theme_classic_store/models/product_category.py new file mode 100644 index 000000000..43b2a314b --- /dev/null +++ b/theme_classic_store/models/product_category.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2021-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# + +from odoo import models, fields + + +class ProductPublicCategory(models.Model): + _inherit = 'product.public.category' + + category_count = fields.Integer("Count", compute="_compute_category_count") + + def _compute_category_count(self): + for ct in self: + product_ids = self.env['product.template'].search( + [('website_published', '=', True)]) + count = 0 + for rec in product_ids: + for cat in rec.public_categ_ids: + if cat in ct: + count += 1 + ct.category_count = count + + +class Product(models.Model): + _inherit = 'product.template' + + views = fields.Integer('Views') + most_viewed = fields.Boolean('Most Viewed') diff --git a/theme_classic_store/security/ir.model.access.csv b/theme_classic_store/security/ir.model.access.csv new file mode 100644 index 000000000..9db56111d --- /dev/null +++ b/theme_classic_store/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink +access_theme_classic_store,classic_store.config,model_classic_store_config,base.group_user,1,1,1,1 diff --git a/theme_classic_store/static/description/banner.png b/theme_classic_store/static/description/banner.png new file mode 100644 index 000000000..aa0ec781f Binary files /dev/null and b/theme_classic_store/static/description/banner.png differ diff --git a/theme_classic_store/static/description/icon.png b/theme_classic_store/static/description/icon.png new file mode 100644 index 000000000..62f7ba0f9 Binary files /dev/null and b/theme_classic_store/static/description/icon.png differ diff --git a/theme_classic_store/static/description/images/1.jpg b/theme_classic_store/static/description/images/1.jpg new file mode 100644 index 000000000..bedd6404f Binary files /dev/null and b/theme_classic_store/static/description/images/1.jpg differ diff --git a/theme_classic_store/static/description/images/2.jpg b/theme_classic_store/static/description/images/2.jpg new file mode 100644 index 000000000..ca59769f1 Binary files /dev/null and b/theme_classic_store/static/description/images/2.jpg differ diff --git a/theme_classic_store/static/description/images/3.jpg b/theme_classic_store/static/description/images/3.jpg new file mode 100644 index 000000000..aa8ea4b68 Binary files /dev/null and b/theme_classic_store/static/description/images/3.jpg differ diff --git a/theme_classic_store/static/description/images/4.jpg b/theme_classic_store/static/description/images/4.jpg new file mode 100644 index 000000000..7a41d6bb9 Binary files /dev/null and b/theme_classic_store/static/description/images/4.jpg differ diff --git a/theme_classic_store/static/description/images/5.jpg b/theme_classic_store/static/description/images/5.jpg new file mode 100644 index 000000000..4a1d9ee26 Binary files /dev/null and b/theme_classic_store/static/description/images/5.jpg differ diff --git a/theme_classic_store/static/description/images/6.jpg b/theme_classic_store/static/description/images/6.jpg new file mode 100644 index 000000000..941d9da4e Binary files /dev/null and b/theme_classic_store/static/description/images/6.jpg differ diff --git a/theme_classic_store/static/description/images/Cybrosys.png b/theme_classic_store/static/description/images/Cybrosys.png new file mode 100644 index 000000000..d76b5bafb Binary files /dev/null and b/theme_classic_store/static/description/images/Cybrosys.png differ diff --git a/theme_classic_store/static/description/images/categories.jpg b/theme_classic_store/static/description/images/categories.jpg new file mode 100644 index 000000000..54b3ee4a0 Binary files /dev/null and b/theme_classic_store/static/description/images/categories.jpg differ diff --git a/theme_classic_store/static/description/images/cybro-logo-oca-no-text.png b/theme_classic_store/static/description/images/cybro-logo-oca-no-text.png new file mode 100644 index 000000000..180d15dd6 Binary files /dev/null and b/theme_classic_store/static/description/images/cybro-logo-oca-no-text.png differ diff --git a/theme_classic_store/static/description/images/cybro-logo-oca.png b/theme_classic_store/static/description/images/cybro-logo-oca.png new file mode 100644 index 000000000..90e4c9cb9 Binary files /dev/null and b/theme_classic_store/static/description/images/cybro-logo-oca.png differ diff --git a/theme_classic_store/static/description/images/demo-1.jpg b/theme_classic_store/static/description/images/demo-1.jpg new file mode 100644 index 000000000..706c03c39 Binary files /dev/null and b/theme_classic_store/static/description/images/demo-1.jpg differ diff --git a/theme_classic_store/static/description/images/demo-2.jpg b/theme_classic_store/static/description/images/demo-2.jpg new file mode 100644 index 000000000..012f306b5 Binary files /dev/null and b/theme_classic_store/static/description/images/demo-2.jpg differ diff --git a/theme_classic_store/static/description/images/demo-3.jpg b/theme_classic_store/static/description/images/demo-3.jpg new file mode 100644 index 000000000..566f15fd1 Binary files /dev/null and b/theme_classic_store/static/description/images/demo-3.jpg differ diff --git a/theme_classic_store/static/description/images/demo-4.jpg b/theme_classic_store/static/description/images/demo-4.jpg new file mode 100644 index 000000000..c993a237e Binary files /dev/null and b/theme_classic_store/static/description/images/demo-4.jpg differ diff --git a/theme_classic_store/static/description/images/demo-5.jpg b/theme_classic_store/static/description/images/demo-5.jpg new file mode 100644 index 000000000..80719f2cd Binary files /dev/null and b/theme_classic_store/static/description/images/demo-5.jpg differ diff --git a/theme_classic_store/static/description/images/hero.png b/theme_classic_store/static/description/images/hero.png new file mode 100644 index 000000000..be71c0c0e Binary files /dev/null and b/theme_classic_store/static/description/images/hero.png differ diff --git a/theme_classic_store/static/description/images/laptop-screenshots.jpg b/theme_classic_store/static/description/images/laptop-screenshots.jpg new file mode 100644 index 000000000..773454287 Binary files /dev/null and b/theme_classic_store/static/description/images/laptop-screenshots.jpg differ diff --git a/theme_classic_store/static/description/images/phone-screenshots.jpg b/theme_classic_store/static/description/images/phone-screenshots.jpg new file mode 100644 index 000000000..b35ff4b20 Binary files /dev/null and b/theme_classic_store/static/description/images/phone-screenshots.jpg differ diff --git a/theme_classic_store/static/description/index.html b/theme_classic_store/static/description/index.html new file mode 100644 index 000000000..0fe86c856 --- /dev/null +++ b/theme_classic_store/static/description/index.html @@ -0,0 +1,295 @@ + +
+
+
+ Cybrosys Logo +
+
+
+
+
+ Theme Screenshot +
+
+

Theme Classic Store

+

+ Theme Classic Store is an attractive and unique front-end theme mainly suitable for eCommerce website. Many + custom designed snippets facilitates to add better user experience. Contains Categories Snippet with subcategories and its product count, Shop categories sidebar with product count, Shop price filter. This theme fully customized the eCommerce website, shop view, custom categories view, product view, contact-us page...etc. +

+
+
+ + + + +
+
+

Desktop View

+

+ Attractive webpages with elegant desktop view. User friendly and Modern looking theme makes your page more Stylish and Beautiful. +

+
+
+ Theme Screenshot +
+
+
+
+ Theme Screenshot +
+
+

Mobile View

+

+ The webpages are Stylish, Attractive and Easy to use in mobile view also. +

+
+
+ + + + +
+ +
+
+
+ Theme Screenshot +
+
+

Home Page

+

+ Stylish Home page which is easily customizable. Simple and attractive header with + page menus that has animated styles. +

+
+
+
+ + + +
+
+
+ Theme Screenshot +
+
+

Shop page

+

+ Shop Page with additional features like Category sidebar with product counts and Price filter. +

+
+
+
+ +
+ + + + +
+
+ Theme Screenshot +
+
+

Overview

+

+ Theme Classic Store is a simple and elegant theme for your odoo website. It is easy to customize and use. It comes with customizable snippets that can be dragged and dropped to make attractive webpages. + Simple and stylish header, footer and page banners. +

+
+
+ + + +
+
+

Categories

+

+ Categories Snippet which shows all the main categories of the e-commerce shop with its sub categories and corresponding product count. The sequence of apperance, image and count is dynamically updated from backend data. +

+
+
+ Theme Screenshot +
+
+ + + +
+ +
+
+
+ Theme Screenshot +
+
+

Product Preview

+

+ Product preview page with simple and stylish display features and additional Product Details, Specification and Review Tabs. +

+
+
+
+ + + +
+
+
+ Theme Screenshot +
+
+

Blog

+

+ Blog Page with stylish banner and list view. +

+
+
+
+ + + + +
+
+
+ Theme Screenshot +
+
+

About Us

+

+ About Us page which can be easily created and customized using snippets. +

+
+
+
+ +
+ + + +
+
+
+

Demo Pages

+
+
+
+ +
+
+
+ +
Home
+
+
+
+ +
+
+ +
Shop
+
+
+
+ +
+
+ +
Blog
+
+
+
+ +
+ +
+
+
+ +
Product Preview
+
+
+
+ +
+
+ +
About Us Page
+
+
+
+ +
+
+ + + +
+
+

Get Help

+
+

If you have anything to share with us + based + on + your use of this module, please let us know. We are ready to offer our support.

+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

A Quality Theme From

+
+
+ +
+
+ +
\ No newline at end of file diff --git a/theme_classic_store/static/description/theme_screenshot.png b/theme_classic_store/static/description/theme_screenshot.png new file mode 100644 index 000000000..c199c7467 Binary files /dev/null and b/theme_classic_store/static/description/theme_screenshot.png differ diff --git a/theme_classic_store/static/src/css/animate.min.css b/theme_classic_store/static/src/css/animate.min.css new file mode 100644 index 000000000..76d2fe1a8 --- /dev/null +++ b/theme_classic_store/static/src/css/animate.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * animate.css - https://animate.style/ + * Version - 4.1.1 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2020 Animate.css + */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/theme_classic_store/static/src/css/classic_store.css b/theme_classic_store/static/src/css/classic_store.css new file mode 100644 index 000000000..69c03469d --- /dev/null +++ b/theme_classic_store/static/src/css/classic_store.css @@ -0,0 +1,29 @@ + + + + +.page-link { + position: relative; + display: block; + padding: .5rem .75rem; + margin-left: -1px; + line-height: 1.25; + color: #763242 !important; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #c09f7f !important; + border-color: #c09f7f !important; +} + +.page-link:hover { + z-index: 2; + color: #0056b3; + text-decoration: none; + background-color: #763242 !important; + border-color: #dee2e6; +} \ No newline at end of file diff --git a/theme_classic_store/static/src/css/owl.carousel.min.css b/theme_classic_store/static/src/css/owl.carousel.min.css new file mode 100644 index 000000000..a71df11c0 --- /dev/null +++ b/theme_classic_store/static/src/css/owl.carousel.min.css @@ -0,0 +1,6 @@ +/** + * Owl Carousel v2.3.4 + * Copyright 2013-2018 David Deutsch + * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE + */ +.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} \ No newline at end of file diff --git a/theme_classic_store/static/src/css/owl.theme.default.min.css b/theme_classic_store/static/src/css/owl.theme.default.min.css new file mode 100644 index 000000000..487088d2e --- /dev/null +++ b/theme_classic_store/static/src/css/owl.theme.default.min.css @@ -0,0 +1,6 @@ +/** + * Owl Carousel v2.3.4 + * Copyright 2013-2018 David Deutsch + * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE + */ +.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} \ No newline at end of file diff --git a/theme_classic_store/static/src/css/style.css b/theme_classic_store/static/src/css/style.css new file mode 100644 index 000000000..b2069d274 --- /dev/null +++ b/theme_classic_store/static/src/css/style.css @@ -0,0 +1,4366 @@ +/*@import url("https://fonts.googleapis.com/css2?family=Mulish:wght@300;400;500;600;700;800;900&display=swap"); +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* Sections + ========================================================================== */ +/** + * Remove the margin in all browsers. + */ +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ +hr { + box-sizing: content-box; + /* 1 */ + height: 0; + /* 1 */ + overflow: visible; + /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +pre { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ +/** + * Remove the gray background on active links in IE 10. + */ +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ +abbr[title] { + border-bottom: none; + /* 1 */ + text-decoration: underline; + /* 2 */ + text-decoration: underline dotted; + /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ +code, +kbd, +samp { + font-family: monospace, monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** + * Remove the border on images inside links in IE 10. + */ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ +legend { + box-sizing: border-box; + /* 1 */ + color: inherit; + /* 2 */ + display: table; + /* 1 */ + max-width: 100%; + /* 1 */ + padding: 0; + /* 3 */ + white-space: normal; + /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; + /* 1 */ + padding: 0; + /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ +[type="search"] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* Interactive + =========================================== + =============================== */ +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ +/** + * Add the correct display in IE 10+. + */ +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ +[hidden] { + display: none; +} + +*:focus { + outline: 0 !important; + box-shadow: none !important; +} + +button:focus { + border: none; + outline: none; +} + +button:active { + border: none; + outline: none; + box-shadow: none; +} + +* { + list-style-type: none; + font-family: "Mulish", sans-serif; + font-size: 14px; +} + +*:focus, *:active { + outline: none !important; +} + +*:hover { + transition: 0.5s; +} + +h3 { + color: #565656; + font-weight: 700; + font-size: 30px; + letter-spacing: 0.05em; + text-align: center; +} + +.banner { + background-image: linear-gradient(9deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.65)), url(./../images/banner/hero.jpg); + width: 100%; + background-size: cover; + background-repeat: no-repeat; +} + +@media screen and (max-width: 768px) { + .banner { + height: 820px; + } +} + +.banner .card { + background: transparent; + border: none; + padding: 100px 0 25px 0; +} + +.banner .card .card-body { + background: transparent !important; + text-align: center; +} + +.banner .card .card-body .card-title { + font-size: 65px; + font-weight: bold; + letter-spacing: 0.05em; + margin-bottom: 15px; + color: #763242; +} + +@media screen and (max-width: 768px) { + .banner .card .card-body .card-title { + font-size: 50px; + } +} + +.banner .card .card-body .card-text { + font-size: 20px; + font-weight: 500; + color: #fff; +} + +@media screen and (max-width: 768px) { + .banner .card .card-body .card-text { + font-size: 16px; + font-weight: normal; + } +} + +.banner .populor { + padding-bottom: 180px; +} + +.banner .populor h4 { + color: #fff; + font-size: 16px; + font-weight: bolder; + margin-bottom: 30px; +} + +.banner .populor .populor-buttons a { + margin: 0 7px; +} + +.search .wrapper { + background-color: #fff; + box-shadow: 1px 25px 19px -16px #c4c4c4; + border-radius: 3px; + padding: 35px 15px; + margin-top: -95px; +} + +@media screen and (max-width: 768px) { + .search .wrapper { + margin-top: -276px; + } +} + +.search .wrapper .form-group input { + padding: 25px 5px; +} + +.banner_about { + background-color: #763242; + width: 100%; + text-align: center; +} + +.banner_about h3 { + color: #fff; + font-weight: bold; + font-size: 42px; + padding: 40px 0; +} + +.banner_search { + background-color: #763242; + width: 100%; + text-align: center; +} + +.btn { + border: none !important; + outline: 0 !important; + box-shadow: none !important; + transition: 0.5s; + color: #c09f7f; +} + +.btn-primary { + background-color: #c09f7f !important; + border-color: #c09f7f; + padding: 14px 31px; + color: #fff !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; + letter-spacing: 1px; +} + +.btn-primary:hover { + color: #fff !important; + background-color: #c8ac90 !important; +} + +.btn-primary-s { + background-color: #c09f7f !important; + border-color: #c09f7f; + padding: 14px 31px; + color: #fff !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; +} + +.btn-primary-s:hover { + color: #fff !important; + background-color: #c8ac90 !important; +} + +.btn-login { + background-color: transparent !important; + padding: 4px 18px; + color: #000000 !important; + font-size: 14px; + font-weight: 600; + border-radius: 0; + border: 1px solid !important; + border-color: 2px solid #dedede !important; + margin-left: 10px; +} + +.btn-login:hover { + color: #fff !important; + background-color: #b8926e !important; +} + +.btn-listing { + background-color: #d8ceca !important; + padding: 5px 18px; + color: #fff !important; + font-size: 14px; + font-weight: 600; + border-radius: 0; + border: 1px solid !important; +} + +.btn-listing:hover { + color: #fff !important; + background-color: #cdc0bb !important; + border: none; +} + +.btn-pop { + background-color: transparent !important; + padding: 4px 14px; + color: #fff !important; + font-size: 12px; + font-weight: 600; + border-radius: 0; + border: 1px solid #404040 !important; +} + +.btn-pop span { + padding-right: 5px; +} + +.btn-pop:hover { + color: #fff !important; +} + +.btn-cta { + background-color: #763242 !important; + padding: 14px 34px; + color: #fff !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; + letter-spacing: 0.05em; + margin-right: 10px; +} + +.btn-cta:hover { + color: #fff !important; + background: #c09f7f !important; +} + +.btn-ctb { + background-color: #fff !important; + padding: 14px 31px; + color: #000000 !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; + letter-spacing: 0.05em; + border: 1px solid; + border-color: #fff; + margin-right: 10px; +} + +.btn-ctb:hover { + border: 1px solid !important; + border-color: #fff !important; + color: #fff !important; + background: #763242 !important; +} + +.btn-profile { + background-color: #763242 !important; + padding: 5px 18px; + color: #fff !important; + font-size: 14px; + font-weight: 400; + border-radius: 5px; +} + +.btn-profile:hover { + color: #fff !important; + background-color: #642a38 !important; + border: none; +} + +.btn-delete { + background-color: #d43d3d !important; + border-color: #c09f7f; + padding: 14px 31px; + color: #fff !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; +} + +.btn-delete:hover { + color: #fff !important; + background: #eb2424 !important; +} + +.btn-transparent { + background-color: transparent !important; + border-color: #c09f7f; + padding: 14px 31px; + color: #c09f7f !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; + border: 1px solid !important; + margin-top: 20px; +} + +.btn-transparent:hover { + color: #fff !important; + background: #c09f7f !important; +} + +.btn-transparent2 { + background-color: transparent !important; + border-color: #fff; + padding: 14px 31px; + color: #fff !important; + font-size: 16px; + font-weight: 600; + border-radius: 3px; + border: 1px solid !important; + margin-top: 20px; +} + +.btn-transparent2:hover { + color: #797979 !important; + background: #fff !important; + border: none !important; +} + +.btn-primaryc { + background-color: #c09f7f !important; + border-color: #c09f7f; + padding: 14px 31px; + color: #fff !important; + font-size: 16px; + font-weight: 600; + border-radius: 5px; + letter-spacing: 1px; + width: 55%; +} + +.btn-primaryc:hover { + color: #fff !important; + background-color: #c8ac90 !important; +} + +.navigation { + border: 1px solid; + border-bottom-color: #dedede; +} + +@media screen and (max-width: 992px) { + .navigation .login { + display: none; + } +} + +.navigation .login2 { + display: none; +} + +@media screen and (max-width: 992px) { + .navigation .login2 { + display: block; + text-align: center; + margin-top: 15px; + } +} + +.navbar-dark { + padding: 20px 0; +} + +.navbar-dark .navbar-toggler { + border: 2px solid; + border-color: #763242; +} + +.navbar-dark .navbar-toggler .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgb(86, 114, 249)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-dark .navbar-brand { + color: #565656; + font-size: 30px; + font-weight: 900; +} + +.navbar-dark .navbar-brand:hover { + color: #000000; +} + +.navbar-dark .navbar-brand span { + color: #763242; + font-size: 20px; +} + +.navbar-dark .navbar-nav { + text-align: center; +} + +@media screen and (max-width: 992px) { + .navbar-dark .navbar-nav .nav-item .dropdown-menu { + text-align: center; + } +} + +.navbar-dark .navbar-nav .nav-item .dropdown-menu .dropdown-item { + padding: 10px 10px; +} + +.navbar-dark .navbar-nav .nav-item .dropdown-menu .dropdown-item:hover { + color: #763242; +} + +.navbar-dark .navbar-nav .nav-item .nav-link { + color: #797979; + font-size: 16px; + padding: 0 20px; +} + +@media screen and (max-width: 992px) { + .navbar-dark .navbar-nav .nav-item .nav-link { + padding: 10px 0; + } +} + +.navbar-nav .nav-item.active .nav-link { + color: #763242 !important; +} + +.navbar-dark .navbar-nav .nav-link:focus, +.navbar-dark .navbar-nav .nav-link:hover { + color: rgba(0, 0, 0, 0.993); +} + +/* ============ desktop view ============ */ +@media all and (min-width: 992px) { + .navbar .nav-item .dropdown-menu { + display: none; + } + .navbar .nav-item:hover .nav-link { + color: #181818; + } + .navbar .nav-item:hover .dropdown-menu { + display: block; + border: none; + } + .navbar .nav-item .dropdown-menu { + margin-top: 0; + padding: 20px 10px; + } +} + +/* ============ desktop view .end// ============ */ +#arrow { + position: relative; + top: 0; + transition: top ease 0.5s; + font-size: 16px; +} + +#arrow:hover { + top: -5px; + color: #181818; +} + +.navbar-dark .navbar-nav .nav-item .dropdown-menu .dropdown-item:active { + color: #fff; +} + +.footer { + background-color: #565656; +} + +.footer .footer_logo { + margin-top: 30px; +} + +.footer .footer_logo .navbar-brand { + padding-top: 30px; + color: #fff; + font-size: 30px; + font-weight: 900; +} + +.footer .footer_logo .navbar-brand:hover { + color: #000000; +} + +.footer .footer_logo .navbar-brand span { + color: #763242; + font-size: 20px; +} + +.footer .footer_logo p { + color: #c7c7c7; + line-height: 26px; + padding-top: 30px; +} + +.footer .pages { + margin-top: 44px; +} + +@media screen and (max-width: 768px) { + .footer .pages { + margin-top: 0; + } +} + +.footer .pages h4 { + padding-top: 32px; + color: #fff; + font-size: 20px; + padding-bottom: 30px; +} + +.footer .pages a { + display: block; + color: #797979; + padding-bottom: 15px; +} + +.footer .pages a:hover { + color: #763242; +} + +.footer .apps { + margin-top: 75px; + padding: 18px 30px; + background: #46484A; + border-radius: 2px; +} + +@media screen and (max-width: 768px) { + .footer .apps { + margin-top: 30px; + margin-bottom: 50px; + } +} + +.footer .apps .mob_img { + display: flex; + padding-bottom: 20px; +} + +.footer .apps .mob_img .mob_icon { + max-width: 50px; +} + +.footer .apps .mob_img img { + width: 100%; +} + +.footer .apps .mob_img p { + color: #c7c7c7; + padding-left: 20px; +} + +.footer .apps .buttons { + display: flex; + justify-content: space-between; + margin-bottom: 20px; +} + +.footer .apps .buttons .wrapper_img { + max-width: 140px; +} + +.footer .apps .buttons .wrapper_img img { + width: 100%; +} + +.footer .footer_bottom { + position: relative; + background: #363839; + padding: 25px 0; +} + +.footer .footer_bottom .bottom_left { + margin-top: 10px; + color: #c7c7c7; +} + +.footer .footer_bottom .bottom-right { + margin-top: 10px; +} + +@media screen and (max-width: 768px) { + .footer .footer_bottom .bottom-right ul { + padding-left: 0; + margin-top: 30px; + } +} + +.footer .footer_bottom .bottom-right ul a { + color: #c7c7c7; + padding: 0 20px; +} + +@media screen and (max-width: 768px) { + .footer .footer_bottom .bottom-right ul a:first-child { + padding-left: 0; + } +} + +.footer .footer_bottom .bottom-right ul a:hover { + color: #fff; +} + +.footer .footer_bottom .bottom-right ul li { + font-size: 14px; + margin-right: 20px; +} + +.Products_main { + margin-top: 90px; + margin-bottom: 90px; +} + +.Products_main .heading { + padding-bottom: 50px; +} + +.Products_main .heading h3 { + text-align: left; + font-size: 25px; +} + +.Products_main .heading p { + color: #797979; +} + +.Products_main .product_sidebar { + padding: 0 25px; + /*Checkboxes styles*/ +} + +.Products_main .product_sidebar .wrapper { + margin-bottom: 30px; +} + +.Products_main .product_sidebar .wrapper .widget_header h4 { + font-size: 22px; + font-weight: 600; +} + +.Products_main .product_sidebar .wrapper hr { + color: #000000; +} + +.Products_main .product_sidebar .wrapper ul { + padding-left: 0; +} + +.Products_main .product_sidebar .wrapper ul li { + padding: 10px 0; +} + +.Products_main .product_sidebar .wrapper ul li a { + display: flex !important; + justify-content: space-between !important; + color: #565656; + text-decoration: none; +} + +.Products_main .product_sidebar .wrapper ul li a:hover { + color: #763242; +} + +.Products_main .product_sidebar .wrapper ul li a:hover span { + color: #fff !important; + background-color: #763242; + height: 25px; + width: 36px; + border-radius: 16%; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.Products_main .product_sidebar .wrapper ul li a span { + color: #797979 !important; + height: 25px !important; + width: 36px !important; + border-radius: 16% !important; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.Products_main .product_sidebar .wrapper .range_main { + position: relative; + margin-top: 40px; + padding-left: 30px; +} + +.Products_main .product_sidebar .wrapper .range_main .range { + width: 149px; + height: 48px; + border: 0; + background: #579de7; + position: absolute; + top: 193%; +} + +.Products_main .product_sidebar .wrapper .range_main .range:before, .Products_main .product_sidebar .wrapper .range_main .range:after { + content: ""; + position: absolute; + top: 0; + z-index: -1; + height: 100%; + width: 28px; + background: silver; + pointer-events: none; +} + +.Products_main .product_sidebar .wrapper .range_main .range:before { + left: -28px; + border-radius: 5px 0 0 5px; +} + +.Products_main .product_sidebar .wrapper .range_main .range:after { + right: -28px; + border-radius: 0 5px 5px 0; +} + +.Products_main .product_sidebar .wrapper .range_main input { + -webkit-appearance: none; + position: absolute; + width: calc(100% + 40px); + height: 100%; + margin: 0; + background-color: transparent; + outline: none; + left: -20px; + -webkit-tap-highlight-color: transparent; +} + +.Products_main .product_sidebar .wrapper .range_main .lbl-lft, +.Products_main .product_sidebar .wrapper .range_main .lbl-rgt { + position: absolute; + top: -15px; + color: #1a1a1a; + font-size: 12px; + font-weight: 700; +} + +.Products_main .product_sidebar .wrapper .range_main .lbl-lft { + left: -28px; +} + +.Products_main .product_sidebar .wrapper .range_main .lbl-rgt { + right: -28px; + text-align: left; +} + +.Products_main .product_sidebar .wrapper .range_main .range-thumb { + position: absolute; + top: 0px; + margin-left: -24px; + border-radius: 50%; + border: 5px solid #878484; + background: white; + height: 48px; + width: 48px; + outline: none; + transition: transform 0.3s ease; + text-align: center; + font-size: 12px; + line-height: 38px; + color: #1a1a1a; + font-weight: 700; + pointer-events: none; +} + +.Products_main .product_sidebar .wrapper .range_main .range-thumb::before { + display: none; + content: ""; + position: absolute; + z-index: 1; + top: 53px; + left: 50%; + transform: translateX(-50%); + border-radius: 3px; + width: 2px; + height: 28px; + margin-left: -3px; + background: rgba(255, 255, 255, 0.25); + box-shadow: 6px 0 0 rgba(255, 255, 255, 0.25); +} + +.Products_main .product_sidebar .wrapper .range_main .range-thumb::after { + content: ""; + position: absolute; + bottom: -5px; + left: -5px; + width: 48px; + height: 10px; + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDhweCIgaGVpZ2h0PSIxMHB4IiB2aWV3Qm94PSIwIDAgNDggMTAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ3ICg0NTM5NikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Q29tYmluZWQgU2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iQXJ0Ym9hcmQiIGZpbGw9IiM2MTY4RTciPgogICAgICAgICAgICA8cGF0aCBkPSJNMTEuMTU0NjA2NCwyLjE4MjkyMDUxZS0xMiBMNC40NzIyMTMwMSwyLjE4MjkyMDUxZS0xMiBDNS40MjIyOTI4NiwxLjA2MTUxMjk4IDYsMi40NjMyOTExMyA2LDQgQzYsNy4zMTM3MDg1IDMuMzEzNzA4NSwxMCAwLDEwIEw0OCwxMCBDNDQuNjg2MjkxNSwxMCA0Miw3LjMxMzcwODUgNDIsNCBDNDIsMi40NjMyOTExMyA0Mi41Nzc3MDcxLDEuMDYxNTEyOTggNDMuNTI3Nzg3LDAgTDQzLjUyNzc4NywyLjE4MjkyMDUxZS0xMiBMMzYuODQ1MzkzNiwyLjE4MjkyMDUxZS0xMiBDMzMuNDYzMzI1NSwzLjEwNDc5MzA5IDI4Ljk1Mjk4NzQsNSAyNCw1IEMxOS4wNDcwMTI2LDUgMTQuNTM2Njc0NSwzLjEwNDc5MzA5IDExLjE1NDYwNjQsMi4xOTQyNDQ3OWUtMTIgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="); + background-repeat: no-repeat; + background-position: center; +} + +.Products_main .product_sidebar .wrapper .range_main .resize { + position: fixed; + bottom: 20px; + left: 0; + width: 100%; + text-align: center; + font-size: 14px; + font-weight: 500; + color: #c8ccd4; +} + +@media screen and (max-width: 768px) { + .Products_main .product_sidebar .wrapper .range_main .hover + .range-thumb, + .Products_main .product_sidebar .wrapper .range_main .active + .range-thumb { + transform: translateY(-48px); + } +} + +.Products_main .product_sidebar .wrapper .range_main .hover + .range-thumb::before, +.Products_main .product_sidebar .wrapper .range_main .active + .range-thumb::before { + display: block; +} + +.Products_main .product_sidebar .check { + margin-top: 90px; + padding-top: 60px; +} + +.Products_main .product_sidebar .chekbox_wrapper { + margin-top: 20px; +} + +.Products_main .product_sidebar input[type="checkbox"] { + display: none; +} + +.Products_main .product_sidebar input[type="checkbox"] + label { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 20px; + color: #797979; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} + +.Products_main .product_sidebar input[type="checkbox"] + label:last-child { + margin-bottom: 0; +} + +.Products_main .product_sidebar input[type="checkbox"] + label:before { + content: ""; + display: block; + width: 20px; + height: 20px; + border: 1px solid #763242; + position: absolute; + left: 0; + top: 0; + opacity: 0.6; + transition: all 0.12s, border-color 0.08s; +} + +.Products_main .product_sidebar input[type="checkbox"]:checked + label:before { + width: 10px; + top: -5px; + left: 5px; + border-radius: 0; + opacity: 1; + border-top-color: transparent; + border-left-color: transparent; + transform: rotate(45deg); +} + +@media screen and (max-width: 768px) { + .Products_main .product_right { + margin-top: 70px; + } +} + +.Products_main .product_right .product_right_top .choose { + display: flex; + justify-content: space-between; +} + +@media screen and (max-width: 992px) { + .Products_main .product_right .product_right_top .choose .ch { + margin-right: 10px !important; + } +} + +.Products_main .product_right .views { + float: right; + display: flex; +} + +@media screen and (max-width: 768px) { + .Products_main .product_right .views { + float: none; + margin-top: 30px; + } +} + +.Products_main .product_right .views ul { + display: flex; +} + +.Products_main .product_right .views ul:last-child { + padding-right: 0; +} + +.Products_main .product_right .views li { + padding-right: 20px; +} + +.Products_main .product_right .views li a { + color: #565656; + text-decoration: none; +} + +.Products_main .product_right .views li a:hover { + color: #763242; +} + +.Products_main .product_right .views li a:active { + color: #797979; +} + +.Products_main .product_right_bottom { + padding-top: 20px; + margin-top: 50px; +} + +.Products_main .product_right_bottom .card { + margin-bottom: 30px; +} + +.product_right_bottom .card { + margin: 0px 15px 10px 15px !important; +} + +.oe_product_cart { + border:none !important; + margin-bottom: 30px; + +} + +.Products_main .product_right_bottom .card .card-body .card-title { + color: #565656; + font-weight: 700; + letter-spacing: 0.05em; + font-size: 19px; +} + +.Products_main .product_right_bottom .card .card-body .list-group-item { + border: 0; + padding: 10px 10px 10px 0; + margin-bottom: 0 !important; + margin-bottom: 10px; +} + +.Products_main .product_right_bottom .card .card-body .list-group-item a { + color: #797979; + text-decoration: none; +} + +.Products_main .product_right_bottom .card .card-body .list-group-item span { + padding-right: 10px; +} + +.Products_main .product_right_bottom .card .card-body p { + color: #797979; +} + +.Products_main .product_right_bottom .card .card-rating { + padding-left: 16px; + padding-bottom: 20px; + padding-top: 5px; +} + +.Products_main .product_right_bottom .card .card-rating .card-link { + color: #763242; +} + +.Products_main .product_right_bottom .card .card-rating .card-link span { + font-size: 18px; +} + +.Products_main .product_right_bottom .bottom { + display: flex; + justify-content: center; + padding-top: 50px; +} + +.Products_main .product_right_bottom .bottom nav .pagination .page-item { + border: none; +} + +.Products_main .product_right_bottom .bottom nav .pagination .page-item .page-link { + border: none; + color: #797979; + padding: 15px 20px; + border-radius: 7px; + font-size: 18px; + margin: 0 5px; +} + +@media screen and (max-width: 456px) { + .Products_main .product_right_bottom .bottom nav .pagination .page-item .page-link { + padding: 12px 16px !important; + font-size: 16px !important; + } +} + +.Products_main .product_right_bottom .bottom nav .pagination .page-item .page-link:hover { + background-color: #763242; + color: #fff; +} + +.Products_main .product_right_bottom .bottom nav .pagination .page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #763242; + border-color: #763242; +} + +.trending { + margin-top: 90px; +} + +.trending .top_heading { + margin-bottom: 60px; + position: relative; +} + +.trending .top_heading h3 { + color: #565656; + font-weight: 700; + font-size: 30px; + letter-spacing: 0.05em; + text-align: center; +} + +.trending .top_heading p { + color: #797979; + font-size: 18px; + margin-top: 12px; +} + +.trending .top_heading .bottom_line:before { + content: " "; + display: block; + margin: 0 auto; + position: absolute; + bottom: -30px; + left: 0; + right: 0; + width: 127px; + height: 2px; + background-color: #e0e0e0; +} + +.trending .top_heading .bottom_line:after { + content: " "; + display: block; + margin: 0 auto; + position: absolute; + bottom: -30px; + left: 0; + right: 0; + width: 50px; + height: 4px; + background-color: #763242; +} + +.trending .trending_body { + padding-top: 40px; +} + +.trending .trending_body .card .card-body .card-title { + color: #565656; + font-weight: 700; + letter-spacing: 0.05em; + font-size: 19px; +} + +.trending .trending_body .card .card-body .list-group-item { + border: 0; + padding: 10px 10px 10px 0; + margin-bottom: 0 !important; + margin-bottom: 10px; +} + +.trending .trending_body .card .card-body .list-group-item a { + color: #797979; + text-decoration: none; +} + +.trending .trending_body .card .card-body .list-group-item span { + padding-right: 10px; +} + +.trending .trending_body .card .card-body .list-group-flush { + display: ruby; +} + +@media screen and (max-width: 768px) { + .trending .trending_body .card .card-body .list-group-flush { + display: block; + } +} + +.trending .trending_body .card .card-body p { + color: #797979; +} + +.trending .trending_body .card .card-rating { + padding-left: 16px; + padding-bottom: 20px; + padding-top: 5px; +} + +.trending .trending_body .card .card-rating .card-link { + color: #763242; +} + +.trending .trending_body .card .card-rating .card-link span { + font-size: 18px; +} + +.categories { + margin-top: 90px; + padding-bottom: 90px; +} + +.categories .top_heading2 { + margin-bottom: 60px; + position: relative; +} + +.categories .top_heading2 h3 { + color: #565656; + font-weight: 700; + font-size: 30px; + letter-spacing: 0.05em; + text-align: center; +} + +.categories .top_heading2 p { + color: #797979; + font-size: 18px; + margin-top: 12px; +} + +.categories .top_heading2 .bottom_line:before { + content: " "; + display: block; + margin: 0 auto; + position: absolute; + bottom: -30px; + left: 0; + right: 0; + width: 127px; + height: 2px; + background-color: #e0e0e0; +} + +.categories .top_heading2 .bottom_line:after { + content: " "; + display: block; + margin: 0 auto; + position: absolute; + bottom: -30px; + left: 0; + right: 0; + width: 50px; + height: 4px; + background-color: #763242; +} + +.categories .wrapper { + padding-top: 40px; +} + +.categories .wrapper .c_wrapper { + box-shadow: 0px 7px 7px 4px #f0f0f0; +} + +.categories .wrapper .c_wrapper:hover { + background-color: #eeeee6a8; +} + +.categories .wrapper .c_wrapper .categories_single { + text-align: center !important; + padding-bottom: 10px; +} + +.categories .wrapper .c_wrapper .categories_single .icon { + color: #fff; + background-color: #ccdb38; + height: 40px; + width: 40px; + padding-top: 13px; + border-radius: 50%; + font-size: 14px; + box-shadow: 0 0 0px 4px #b4b87659; + margin-bottom: 15px; +} + +.categories .wrapper .c_wrapper .categories_single .c_img { + height: 80px; + width: 80px; + padding-top: 0; + border-radius: 50%; + margin: auto; + box-shadow: 0 0 0px 4px #b4b87659; + margin-bottom: 15px; +} + +.categories .wrapper .c_wrapper .categories_single .c_img img { + width: 100%; + border-radius: 50%; +} + +.categories .wrapper .c_wrapper .categories_single .fa-apple { + background-color: #d346bb; + box-shadow: 0 0 0px 4px #d346bb88; +} + +.categories .wrapper .c_wrapper .categories_single .fa-home { + background-color: #8f46d3; + box-shadow: 0 0 0px 4px #8f46d367; +} + +.categories .wrapper .c_wrapper .categories_single .fa-shopping-basket { + background-color: #46a6d3; + box-shadow: 0 0 0px 4px #46a6d359; +} + +.categories .wrapper .c_wrapper .categories_single .fa-briefcase { + background-color: #095775; + box-shadow: 0 0 0px 4px #09567563; +} + +.categories .wrapper .c_wrapper .categories_single .fa-car { + background-color: #539b51; + box-shadow: 0 0 0px 4px #549b5169; +} + +.categories .wrapper .c_wrapper .categories_single .fa-paw { + background-color: #d3ad46; + box-shadow: 0 0 0px 4px #d3ad4675; +} + +.categories .wrapper .c_wrapper .categories_single h5 { + color: #565656; + font-weight: 700; + font-size: 19px; +} + +.categories .wrapper .c_wrapper .categories_list { + margin-top: 20px; + padding: 0 20px; + margin-bottom: 40px; +} + +.categories .wrapper .c_wrapper .categories_list li { + display: flex; + justify-content: space-between; + color: #797979; + padding-bottom: 20px; + align-items: center; +} + +@media screen and (max-width: 996px) { + .categories .wrapper .c_wrapper .categories_list li { + justify-content: space-around; + } +} + +.categories .wrapper .c_wrapper .categories_list li a { + color: #797979; +} + +.categories .wrapper .c_wrapper .categories_list li span { + background-color: #763242; + padding: 5px; + border-radius: 50%; + height: 35px; + width: 35px; + text-align: center; + color: white; +} + +.ctaa { + background-image: linear-gradient(9deg, rgba(0, 0, 0, 0.548), rgba(0, 0, 0, 0.65)), url(./../images/call-to-action/cta-background.jpg); + text-align: center; + padding: 100PX 0; + background-size: cover; + background-position: center; +} + +.ctaa .wrapper { + text-align: center !important; + color: #fff; + width: 100%; + margin-bottom: 30px; +} + +.ctaa .ct_buttons { + display: flex; + justify-content: center; +} + +.dashboard { + margin-top: 90px; + margin-bottom: 40px; +} + +.dashboard .sidebar { + width: 100%; + text-align: center; + margin-bottom: 50px; +} + +.dashboard .sidebar .profile_img { + max-width: 130px; + text-align: center; + margin: auto; +} + +.dashboard .sidebar .profile_img img { + width: 100%; + border-radius: 50%; +} + +.dashboard .sidebar .user { + margin-bottom: 90px; +} + +.dashboard .sidebar .user .user_name { + padding-top: 10px; + color: #565656; + font-size: 18px; + font-weight: 700; +} + +.dashboard .sidebar .user .user_name p { + color: #797979; + margin-top: 5px; + font-weight: 400; +} + +.dashboard .sidebar .user_menu ul { + text-align: left; + font-weight: 700; + padding: 0 15px; +} + +.dashboard .sidebar .user_menu ul li { + margin-bottom: 10px; + align-items: baseline; + display: flex; +} + +.dashboard .sidebar .user_menu ul li a { + display: flex; + align-items: baseline; + color: #797979; + text-decoration: none; + font-size: 16px; + padding: 10px 20px; + width: 100%; +} + +.dashboard .sidebar .user_menu ul li a:hover { + color: #565656; +} + +.dashboard .sidebar .user_menu ul li a .icon { + padding-right: 10px; +} + +.dashboard .sidebar .user_menu ul li a .count { + margin-left: auto; + color: #797979; + height: 24px; + width: 26px; + border-radius: 50%; + text-align: center; + color: #797979; +} + +.dashboard .sidebar .user_menu ul li a .count:hover { + background-color: #763242; + color: #fff !important; +} + +.dashboard .sidebar .user_menu li.active a { + background: #763242; + color: #fff; +} + +.dashboard .dashbord_content .right_head { + color: #565656; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 10px; + margin-bottom: 20px; +} + +.dashboard .dashbord_content .dash_head { + color: #565656; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + border-top-color: #dedede !important; + padding-left: 10px; + padding-top: 10px; + padding-bottom: 10px; + font-weight: 700; +} + +.dashboard .dashbord_content .dash_body .wrapper { + margin: 40px 0; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 20px; +} + +.dashboard .dashbord_content .dash_body .wrapper:last-child { + border: none !important; +} + +.dashboard .dashbord_content .dash_body .dash_img { + max-width: 100px; + padding-top: 25px; +} + +.dashboard .dashbord_content .dash_body .dash_img img { + width: 100%; +} + +.dashboard .dashbord_content .dash_body .dash_product h5 { + padding-bottom: 10px; +} + +.dashboard .dashbord_content .dash_body .dash_product ul { + padding-left: 0; +} + +.dashboard .dashbord_content .dash_body .dash_product ul li { + display: flex; + justify-content: space-between; + color: #797979; +} + +@media screen and (max-width: 768px) { + .dashboard .dashbord_content .dash_body .dash_product ul li { + display: block; + margin-bottom: 10px; + } +} + +.dashboard .dashbord_content .dash_body .dash_product ul li .active { + color: #d8ceca; +} + +.dashboard .dashbord_content .dash_body .dash_cat { + font-size: 16px; + height: 10em; + display: flex; + align-items: center; + justify-content: end; +} + +.dashboard .dashbord_content .dash_body .dash_buttons { + display: flex; + justify-content: end; + height: 100%; + align-items: center; +} + +@media screen and (max-width: 768px) { + .dashboard .dashbord_content .dash_body .dash_buttons { + display: block; + } +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul { + display: flex; + padding-left: 0; +} + +@media screen and (max-width: 568px) { + .dashboard .dashbord_content .dash_body .dash_buttons ul { + display: block; + } +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul li { + max-width: 45px; + margin-right: 8px; +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul li .view:hover { + background-color: #3791bb; + color: #fff; +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul li .edit:hover { + background-color: #e45ed9; + color: #fff; +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul li .paper:hover { + background-color: #74e45e; + color: #fff; +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul li .delete:hover { + background-color: #883d3d; + color: #fff; +} + +.dashboard .dashbord_content .dash_body .dash_buttons ul li a { + color: #565656; + font-size: 18px; + width: 100%; + display: block; + border-radius: 50%; + text-align: center; + width: 40px; + height: 40px; + padding-top: 4px; +} + +.dashboard .dashbord_content .bottom { + display: flex; + justify-content: center; + padding-bottom: 50px; +} + +.dashboard .dashbord_content .bottom nav .pagination .page-item { + border: none; +} + +.dashboard .dashbord_content .bottom nav .pagination .page-item .page-link { + border: none; + color: #797979; + padding: 15px 20px; + border-radius: 7px; + font-size: 18px; + margin: 0 5px; +} + +@media screen and (max-width: 456px) { + .dashboard .dashbord_content .bottom nav .pagination .page-item .page-link { + padding: 12px 16px !important; + font-size: 16px !important; + } +} + +.dashboard .dashbord_content .bottom nav .pagination .page-item .page-link:hover { + background-color: #763242; + color: #fff; +} + +.dashboard .dashbord_content .bottom nav .pagination .page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #763242; + border-color: #763242; +} + +.modal-footer { + justify-content: space-between; +} + +.modal-body .model_img { + text-align: center; + margin: auto; + max-width: 200px; + padding-bottom: 20px; +} + +.modal-body .model_img img { + width: 100%; +} + +.modal-body .question { + text-align: center; +} + +.modal-body .question h4 { + color: #565656; +} + +.modal-body .question p { + color: #797979; +} + +.about { + margin-top: 90px; + padding-bottom: 40px; +} + +.about .about_img img { + width: 100%; + border-radius: 5px; +} + +.about .about_left h4 { + color: #565656; + padding-bottom: 10px; +} + +.about .about_left p { + color: #797979; + font-size: 14px; + line-height: 30px; +} + +.team { + margin-top: 90px; + padding-bottom: 70px; +} + +.team h4 { + text-align: center; + font-size: 25px; +} + +.team .card { + margin-top: 50px; +} + +.team .card .card-img-top img { + width: 100%; + border-radius: 5px; +} + +.team .card .card-body { + text-align: center; +} + +.team .card .card-body h4 { + font-size: 20px; + padding-top: 10px; +} + +.team .card .card-body p { + padding-bottom: 10px; + color: #797979; +} + +.counter_main { + margin-top: 90px; + padding-bottom: 95px; +} + +.counter_main .counter { + background-color: #f5f5f5; + padding: 20px 0; + border-radius: 5px; +} + +.counter_main .count-title { + font-size: 25px; + font-weight: normal; + margin-top: 15px; + margin-bottom: 0; + color: #565656; + text-align: center; +} + +.counter_main .count-text { + font-size: 20px; + font-weight: normal; + margin-top: 15px; + margin-bottom: 0; + text-align: center; + color: #565656; +} + +.counter_main .fa-2x { + margin: 0 auto; + float: none; + display: table; + color: #763242; + font-size: 60px; + font-weight: lighter; +} + +.contact { + margin-top: 90px; + padding-bottom: 90px; +} + +.contact .c_left { + color: #565656; +} + +@media screen and (max-width: 992px) { + .contact .c_left { + margin-bottom: 80px; + } +} + +.contact .c_left h4 { + font-size: 22px; + padding-bottom: 20px; +} + +.contact .c_left .mind { + font-size: 66px; + color: #565656; + font-weight: 600; +} + +@media screen and (max-width: 992px) { + .contact .c_left .mind { + font-size: 50px; + } +} + +.contact .c_left p { + color: #797979; + font-size: 14px; + padding-top: 25px; +} + +.contact .c_right .form-group { + padding: 10px; +} + +@media screen and (max-width: 992px) { + .contact .c_right .form-group { + padding: 0; + } +} + +.contact .c_right .form-group .form-control { + border-radius: 2px; + height: 50px; + background-color: transparent; + color: #666; + box-shadow: none; + font-size: 15px; + margin-bottom: 20px; +} + +.contact .c_right .form-group textarea { + height: 200px; +} + +select { + cursor: pointer; + /* styling */ + background-color: white; + border: 1px solid #ccc; + border-radius: 4px; + display: inline-block; + font: inherit; + line-height: 1.5em; + padding: 0.5em 3.5em 0.5em 1em; + /* reset */ + margin: 0; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + background-image: linear-gradient(45deg, transparent 50%, #ccc 50%), linear-gradient(135deg, #ccc 50%, transparent 50%), linear-gradient(to right, #ccc, #ccc); + background-position: calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px), calc(100% - 2.5em) 0.5em; + background-size: 5px 5px, 5px 5px, 1px 1.5em; + background-repeat: no-repeat; + /* Very imp: hide arrow in IE */ +} + +select .selected { + font-weight: 600; +} + +select::-ms-expand { + display: none; +} + +select:-moz-focusring { + color: transparent; + text-shadow: none; +} + +select:focus { + background-image: linear-gradient(45deg, green 50%, transparent 50%), linear-gradient(135deg, transparent 50%, green 50%), linear-gradient(to right, green, green); + background-position: calc(100% - 15px) 1em, calc(100% - 20px) 1em, calc(100% - 2.5em) 0.5em; + background-size: 5px 5px, 5px 5px, 1px 1.5em; + background-repeat: no-repeat; + border-color: green; + outline: 0; +} + +.user_profile { + margin-top: 90px; + margin-bottom: 90px; +} + +.user_profile .sidebar { + width: 100%; + text-align: center; +} + +.user_profile .sidebar .profile_img { + max-width: 150px; + text-align: center; + margin: auto; +} + +.user_profile .sidebar .profile_img img { + width: 100%; + border-radius: 50%; + border: 8px solid; + border-color: #dedede; +} + +.user_profile .sidebar .user { + margin-bottom: 90px; +} + +.user_profile .sidebar .user .user_name { + padding-top: 10px; + color: #565656; + font-size: 18px; + font-weight: 700; +} + +.user_profile .sidebar .user_menu ul { + text-align: left; + padding: 0 15px; +} + +.user_profile .sidebar .user_menu ul li { + margin-bottom: 10px; + align-items: baseline; + display: flex; +} + +.user_profile .sidebar .user_menu ul li a { + display: flex; + align-items: baseline; + color: #565656; + text-decoration: none; + font-size: 16px; + padding: 10px 20px; + width: 100%; +} + +.user_profile .sidebar .user_menu ul li a:hover { + color: #763242; +} + +.user_profile .sidebar .user_menu ul li a .count { + margin-left: auto; + color: #797979; + height: 24px; + width: 26px; + border-radius: 50%; + text-align: center; + color: #797979; +} + +.user_profile .sidebar .user_menu ul li a .count:hover { + background-color: #763242; + color: #fff !important; +} + +.user_profile .sidebar .user_menu li.active a { + background: #5672f9; + color: #fff; +} + +@media screen and (max-width: 992px) { + .user_profile .Profile_content { + margin-top: 70px; + } +} + +.user_profile .Profile_content .heading { + margin-bottom: 45px; +} + +.user_profile .Profile_content .heading h4 { + color: #565656; + font-size: 25px; + text-align: left; +} + +.user_profile .Profile_content .heading p { + color: #797979; + font-size: 14px; + padding-top: 10px; +} + +.user_profile .Profile_content .personal_info .info_head, .user_profile .Profile_content .mail_info .info_head, .user_profile .Profile_content .password_info .info_head { + width: 100%; + padding-top: 10px; + padding-bottom: 5px; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + margin-bottom: 20px; +} + +.user_profile .Profile_content .personal_info .form-group label, .user_profile .Profile_content .mail_info .form-group label, .user_profile .Profile_content .password_info .form-group label { + color: #797979; +} + +.user_profile .Profile_content .personal_info .form-group .form-control, .user_profile .Profile_content .mail_info .form-group .form-control, .user_profile .Profile_content .password_info .form-group .form-control { + border-radius: 2px; + height: 50px; + background-color: transparent; + color: #666; + box-shadow: none; + font-size: 15px; + margin-bottom: 20px; +} + +.user_profile .Profile_content .personal_info .choose-file, .user_profile .Profile_content .mail_info .choose-file, .user_profile .Profile_content .password_info .choose-file { + align-items: baseline; +} + +.user_profile .Profile_content .personal_info .choose-file i, .user_profile .Profile_content .mail_info .choose-file i, .user_profile .Profile_content .password_info .choose-file i { + background-color: #763242; + margin-right: 10px; + height: 46px; + width: 49px; + padding-top: 13px; + color: white; + border-radius: 50%; + font-size: 19px; +} + +.user_profile .Profile_content .personal_info .form-check, .user_profile .Profile_content .mail_info .form-check, .user_profile .Profile_content .password_info .form-check { + color: #797979; + padding-bottom: 20px; +} + +.user_profile .Profile_content .mail_info { + margin-top: 90px; +} + +.packages { + margin-top: 90px; + margin-bottom: 90px; +} + +.packages .package_head { + padding-top: 20px; +} + +.packages .card { + margin-top: 50px; +} + +.packages .card:hover { + box-shadow: 0px 8px 13px 5px rgba(176, 176, 176, 0.71); +} + +.packages .card .card-body { + padding: 60px 20px; +} + +.packages .card .card-body span { + color: #763242; + font-size: 50px; +} + +.packages .card .card-body .card-title { + color: #565656; + font-size: 25px; + font-weight: 700; + margin-top: 30px; +} + +.packages .card .card-body .card-text { + color: #565656; + font-size: 25px; + margin-top: 20px; + font-weight: 700; + border: 1px solid; + border-color: transparent; + padding-bottom: 10px; + margin-left: 32px; + margin-right: 32px; + border-bottom-color: #dedede !important; +} + +.packages .card .card-body .card-text span { + font-size: 20px; + color: #565656; +} + +.packages .card .card-body ul { + margin: 30px 0; + padding-left: 0; + font-size: 15px; +} + +.packages .card .card-body ul .hh { + padding-left: 10px; +} + +.nn { + display: flex !important; + justify-content: center; + align-items: baseline; + color: #797979; + margin-bottom: 30px; +} + +.advance-search { + margin-top: 35px; + margin-bottom: 20px; + color: #fff; +} + +.advance-search .form-control { + display: block; + width: 100%; + height: 100%; + padding: .375rem .75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #ffffff; + background-color: transparent; + background-clip: padding-box; + border: 1px solid #ffffff; + border-radius: 0 !important; + transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; +} + +.advance-search .form-control::placeholder { + color: #fff; + opacity: 1; +} + +.product_single { + margin-top: 90px; + margin-bottom: 90px; +} + +.product_single .product_preview .head { + color: #565656; + font-weight: 600; + font-size: 25px; +} + +.product_single .product_preview .product_type { + margin-top: 20px; + display: flex; +} + +.product_single .product_preview .product_type .wrapper { + padding-right: 40px; +} + +.product_single .product_preview .product_type span { + color: #797979; + font-size: 14px; +} + +.product_single .product_preview .product_type a { + color: #565656; + font-size: 15px; + padding-left: 5px; +} + +.product_single .product_preview .product_type a:hover { + color: grey; + text-decoration: none; +} + +.product_single .trending_body1 { + margin-top: 90px; + margin-bottom: 150px; +} + +.product_single .trending_body1 .card { + max-width: 450px; + border: none; + margin: auto; +} + +@media screen and (max-width: 768px) { + .product_single .trending_body1 .card { + max-width: 350px; + } +} + +.product_single .trending_body1 .card img { + width: 100%; +} + +@media screen and (max-width: 992px) { + .product_single .tabs { + margin-bottom: 70px; + } +} + +.product_single .tabs .nav-pills { + justify-content: center; +} + +.product_single .tabs .nav-pills .nav-item .nav-link { + border-radius: 0; + padding: 20px 30px; + color: #000000; + margin-right: 5px; +} + +.product_single .tabs .nav-pills .nav-item .nav-link:hover { + background-color: #763242; + color: #fff; +} + +.product_single .tabs .tab-content .tab-pane .p_details { + padding-top: 20px; +} + +.product_single .tabs .tab-content .tab-pane .p_details h4 { + color: #565656; + font-weight: 700; + font-size: 22px; + margin-top: 10px; + width: 100%; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 10px; +} + +.product_single .tabs .tab-content .tab-pane .p_details p { + color: #797979; + padding-top: 20px; + line-height: 25px; +} + +.product_single .tabs .tab-content .tab-pane .p_details .youtube { + width: 100%; +} + +.product_single .tabs .tab-content .tab-pane .p_spec { + padding-top: 20px; +} + +.product_single .tabs .tab-content .tab-pane .p_spec h4 { + color: #565656; + font-weight: 700; + font-size: 22px; + margin-top: 10px; + width: 100%; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 10px; +} + +.product_single .tabs .tab-content .tab-pane .P_review { + padding-top: 20px; +} + +.product_single .tabs .tab-content .tab-pane .P_review h4 { + color: #565656; + font-weight: 700; + font-size: 22px; + margin-top: 10px; + width: 100%; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 10px; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review { + margin-top: 20px; + margin-bottom: 50px; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .wrapper { + display: flex; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .user_img { + max-width: 75px; + margin-right: 50px; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .user_img img { + width: 100%; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .review_details { + padding-top: 20px; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .review_details .rating { + display: flex; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .review_details .rating span { + color: grey; + font-size: 14px; + padding-right: 10px; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .review_details h5 { + padding: 10px 0; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .review_details .date { + color: #797979; + padding-bottom: 10px; +} + +.product_single .tabs .tab-content .tab-pane .P_review .u_review .review_details p { + color: #797979; + line-height: 25px; +} + +.product_single .tabs .tab-content .tab-pane .sub_review .rating { + padding-top: 20px; +} + +.product_single .tabs .tab-content .tab-pane .sub_review .rating span { + color: #6c6a74; + font-size: 14px; + padding-right: 10px; +} + +.product_single .tabs .tab-content .tab-pane .sub_review .rating span:hover { + color: #000000; +} + +.product_single .tabs .tab-content .tab-pane .sub_review .review-submit { + margin-top: 20px; +} + +.product_single .tabs .tab-content .tab-pane .sub_review .review-submit .form-control { + height: 50px; + margin-bottom: 20px; +} + +.product_single .tabs .tab-content .tab-pane .sub_review .review-submit textarea { + height: 200px !important; +} + +.product_single .single_sidebar .price { + background-color: #763242; + text-align: center; + padding: 30px; + margin-bottom: 50px; +} + +.product_single .single_sidebar .price p { + color: #fff; + font-size: 18px; + font-weight: 600; + padding-bottom: 5px; +} + +.product_single .single_sidebar .price .value { + color: #fff; + font-size: 30px; + font-weight: 700; +} + +.product_single .single_sidebar .user_info { + text-align: center; + padding-top: 20px; +} + +.product_single .single_sidebar .user_info .user_img { + max-width: 150px; + margin: auto; +} + +.product_single .single_sidebar .user_info .user_img img { + border-radius: 50%; + width: 100%; +} + +.product_single .single_sidebar .user_info h5 { + color: #565656; + margin-top: 30px; + font-size: 22px; + font-weight: 600; +} + +.product_single .single_sidebar .user_info .date { + color: #797979; +} + +.product_single .single_sidebar .user_info a { + text-decoration: none; + color: #565656; + font-size: 18x; +} + +.product_single .single_sidebar .user_info a:hover { + color: #763242; +} + +.product_single .single_sidebar .user_info .buttons { + padding-top: 30px; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 30px; +} + +.product_single .single_sidebar .user_info .map { + width: 100%; + margin-top: 30px; + margin-bottom: 30px; + padding: 20px; +} + +.product_single .single_sidebar .user_info .map .mapouter { + position: relative; + text-align: right; + height: 300px; + width: 100%; +} + +.product_single .single_sidebar .user_info .map .gmap_canvas { + overflow: hidden; + background: none !important; + height: 300px; + width: 100%; +} + +.product_single .single_sidebar .user_info .side_rate p { + font-size: 16px; + padding-bottom: 25px; + font-weight: 600; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; +} + +.product_single .single_sidebar .user_info .side_rate .rating { + padding-top: 15px; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 25px; +} + +.product_single .single_sidebar .user_info .side_rate .rating span { + color: #e9c939; + font-size: 18px; + margin-right: 12px; +} + +.product_single .single_sidebar .user_info .listing { + margin-top: 30px; + background-color: #763242; + padding: 30px; + margin-bottom: 50px; + border-radius: 3px; +} + +.product_single .single_sidebar .user_info .listing p { + color: #fff; + font-size: 18px; + font-weight: 600; + padding-bottom: 5px; + text-align: left !important; +} + +.safty h5 { + color: #565656; + font-weight: 600; + text-align: left !important; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 25px; +} + +.safty p { + color: #797979; + line-height: 22px; + text-align: left !important; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 25px; +} + +.nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: #fff !important; + background-color: #763242; +} + +@keyframes fadeInOut { + 0% { + opacity: 0; + } + 45% { + opacity: 1; + } + 100% { + opacity: 0%; + } +} + +.trending_body1 .owl-carousel .owl-nav { + overflow: hidden; + height: 0px; +} + +.trending_body1 .owl-carousel .nav-btn { + height: 38px; + position: absolute; + width: 38px; + cursor: pointer; + top: 100px !important; + border-radius: 50%; + padding-top: 8px; + padding-left: 2px; +} + +.trending_body1 .owl-carousel .owl-prev.disabled, +.trending_body1 .owl-carousel .owl-next.disabled { + pointer-events: none; + opacity: 0.2; +} + +.trending_body1 .owl-carousel .prev-slide { + background-color: #763242; + left: -33px; +} + +@media screen and (max-width: 768px) { + .trending_body1 .owl-carousel .prev-slide { + left: -13px; + } +} + +@media screen and (max-width: 568px) { + .trending_body1 .owl-carousel .prev-slide { + left: 0 !important; + top: 31px !important; + } +} + +.trending_body1 .owl-carousel .prev-slide span { + color: white; + font-size: 21px; + padding-right: 5px; +} + +.trending_body1 .owl-carousel .next-slide { + background-color: #763242; + right: -33px; +} + +@media screen and (max-width: 768px) { + .trending_body1 .owl-carousel .next-slide { + right: -13px; + } +} + +@media screen and (max-width: 568px) { + .trending_body1 .owl-carousel .next-slide { + right: 0 !important; + top: 31px !important; + } +} + +.trending_body1 .owl-carousel .next-slide span { + color: #fff; + font-size: 21px; +} + +.trending_body1 .owl-carousel .prev-slide:hover { + background-position: 0px -53px; +} + +.trending_body1 .owl-carousel .next-slide:hover { + background-position: -24px -53px; +} + +.trending_body1 .slider-nav { + background-color: #fff; + margin-bottom: 75px; +} + +.trending_body1 .thumbs { + width: 100%; + display: table; + table-layout: fixed; + padding: 0; + margin: 0; +} + +.trending_body1 .thumb { + width: 5%; + display: table-cell; + vertical-align: middle; + position: relative; + cursor: pointer; + background-color: #000; +} + +.trending_body1 .thumb img { + width: 100%; + height: auto; + display: block; +} + +.trending_body1 .thumb span { + font-size: 1.2em; + line-height: 1; + color: transparent; + text-align: center; + font-weight: bold; + text-decoration: none; + display: block; + position: absolute; + top: 50%; + left: 0; + right: 0; + padding: 1em 0; + margin-top: -1.6em; +} + +.trending_body1 .owl-carousel button.owl-dot span { + display: inline-block; + color: transparent; + font-size: 20px; + font-weight: 700; + margin: 5px; +} + +.trending_body1 .owl-carousel button.owl-dot.active span { + color: #797979; + background-color: #64646400; + height: 100%; + width: 100%; +} + +.trending_body1 .owl-carousel .owl-dots { + position: absolute; + width: 5%; + display: table-cell; + vertical-align: middle; + position: relative; + cursor: pointer; + width: 100%; + table-layout: fixed; + padding: 0; + margin: 0; + display: flex; + position: absolute; + bottom: -58px; +} + +.trending_body1 .owl-carousel button.owl-dot { + width: 100%; + table-layout: fixed; + padding: 0; + margin: 0; +} + +.store { + margin-top: 90px; + margin-bottom: 90px; +} + +.store .Store_slider .item { + text-align: center; +} + +.store .Store_slider .item a { + color: #000000; + text-decoration: none; +} + +.store .Store_slider .item a:hover { + color: #763242; +} + +.store .Store_slider .item a h5 { + margin-top: 10px; + padding: 10px; + font-size: 16px !important; + color: #565656; +} + +.store .Store_slider .item a h5:hover { + color: #000000 !important; +} + +.store .Store_slider .item li { + font-size: 37px; +} + +.store .Store_slider .owl-carousel .nav-btn { + height: 38px; + position: absolute; + width: 38px; + cursor: pointer; + top: 50px !important; + border-radius: 50%; + padding-top: 8px; + padding-left: 2px; +} + +.more { + padding-top: 50px; + margin-bottom: 90px; +} + +.more .top_heading { + margin-bottom: 60px; +} + +.more .top_heading h3 { + color: #565656; + font-weight: 700; + font-size: 30px; + letter-spacing: 0.05em; + text-align: center; + position: relative; +} + +.more .top_heading h3:before { + content: " "; + display: block; + margin: 0 auto; + position: absolute; + top: 50px; + left: 0; + right: 0; + width: 127px; + height: 2px; + background-color: #e0e0e0; +} + +.more .top_heading h3:after { + content: " "; + display: block; + margin: 0 auto; + position: absolute; + bottom: -17px; + left: 0; + right: 0; + width: 50px; + height: 4px; + background-color: #763242; +} + +.more .links { + margin-bottom: 25px; +} + +@media screen and (max-width: 576px) { + .more .links { + text-align: center; + } +} + +.more .links .hash { + padding-left: 15px; + width: 100%; + color: #565656; + font-size: 25px; + font-weight: 700; + border: 1px solid; + border-color: transparent; + border-bottom-color: #dedede !important; + padding-bottom: 20px; + margin-bottom: 20px; +} + +.more .links .store-list { + padding-left: 0; +} + +.more .links .store-list li { + padding: 15px 0; +} + +.more .links .store-list a { + color: #797979; + font-size: 16px; +} + +.more .links .store-list a:hover { + color: #763242; +} + +.nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: #fff !important; + background-color: #763242; +} + +@keyframes fadeInOut { + 0% { + opacity: 0; + } + 45% { + opacity: 1; + } + 100% { + opacity: 0%; + } +} + +.owl-carousel .owl-nav { + overflow: hidden; + height: 0px; +} + +.owl-carousel .owl-prev.disabled, +.owl-carousel .owl-next.disabled { + pointer-events: none; + opacity: 0.2; +} + +.owl-carousel .prev-slide { + background-color: #763242; + left: 0px; +} + +.owl-carousel .prev-slide span { + color: #fff; + font-size: 21px; + padding-right: 5px; +} + +.owl-carousel .next-slide { + background-color: #763242; + right: 0px; +} + +.owl-carousel .next-slide span { + color: #fff; + font-size: 21px; +} + +.owl-carousel .prev-slide:hover { + background-position: 0px -53px; +} + +.owl-carousel .next-slide:hover { + background-position: -24px -53px; +} + +.slider-nav { + background-color: #fff; + margin-bottom: 75px; +} + +.blog { + margin-top: 90px; + margin-bottom: 90px; +} + +.blog .blog_left .wrapper { + margin-bottom: 70px; + padding-bottom: 30px; +} + +.blog .blog_left .wrapper .play { + max-width: 80px; + position: absolute; + top: 41%; + z-index: 2; + display: flex; + left: 45%; +} + +.blog .blog_left .wrapper .blog_img { + position: relative; + margin-bottom: 30px; +} + +.blog .blog_left .wrapper .blog_img .video_overlay:before { + content: ''; + background: rgba(0, 0, 0, 0.51); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.blog .blog_left .wrapper .blog_img img { + width: 100%; + border-radius: 3px; +} + +.blog .blog_left .wrapper h4 { + font-size: 22px; + color: #565656; +} + +.blog .blog_left .wrapper .date { + color: #797979; + margin-bottom: 20px; +} + +.blog .blog_left .wrapper .date a { + text-decoration: none; +} + +.blog .blog_left .wrapper .date a:hover { + color: #763242; +} + +.blog .blog_left .wrapper p { + color: #797979; +} + +.blog .blog_left .bottom { + display: flex; + padding-bottom: 50px; +} + +.blog .blog_left .bottom nav .pagination .page-item { + border: none; +} + +.blog .blog_left .bottom nav .pagination .page-item .page-link { + border: none; + color: #797979; + padding: 15px 20px; + border-radius: 7px; + font-size: 18px; + margin: 0 5px; +} + +@media screen and (max-width: 456px) { + .blog .blog_left .bottom nav .pagination .page-item .page-link { + padding: 12px 16px !important; + font-size: 16px !important; + } +} + +.blog .blog_left .bottom nav .pagination .page-item .page-link:hover { + background-color: #763242; + color: #fff; +} + +.blog .blog_left .bottom nav .pagination .page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #763242; + border-color: #763242; +} + +.blog .blog_right .product_sidebar { + padding: 0 25px; +} + +.blog .blog_right .product_sidebar .wrapper { + margin-bottom: 30px; + position: relative; +} + +.blog .blog_right .product_sidebar .wrapper .input-group { + margin-bottom: 40px; + padding-bottom: 20px; +} + +.blog .blog_right .product_sidebar .wrapper .form-control { + height: 50px; + border: none !important; +} + +.blog .blog_right .product_sidebar .wrapper .md-form.form-sm.form-1 input { + border: 1px solid #bdbdbd; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.blog .blog_right .product_sidebar .wrapper .widget_header h4 { + font-size: 18px; + font-weight: 600; +} + +.blog .blog_right .product_sidebar .wrapper hr { + color: #000000; +} + +.blog .blog_right .product_sidebar .wrapper ul { + padding-left: 0; +} + +.blog .blog_right .product_sidebar .wrapper ul li { + padding: 7px 0; +} + +.blog .blog_right .product_sidebar .wrapper ul li a { + display: flex !important; + justify-content: space-between !important; + color: #797979; + text-decoration: none; +} + +.blog .blog_right .product_sidebar .wrapper ul li a:hover { + color: #763242; +} + +.blog .blog_right .product_sidebar .wrapper ul li a:hover span { + color: #763242 !important; + height: 25px; + width: 36px; + border-radius: 16%; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.blog .blog_right .product_sidebar .wrapper ul li a span { + color: #797979 !important; + height: 25px !important; + width: 36px !important; + border-radius: 16% !important; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.input-group-text { + background-color: #763242; + border: 1px solid; + border-color: #763242; +} + +.blog { + margin-top: 90px; + margin-bottom: 90px; +} + +.blog .blog_left .wrapper { + margin-bottom: 70px; + padding-bottom: 30px; +} + +.blog .blog_left .wrapper .bottom-right { + margin-top: 10px; +} + +.blog .blog_left .wrapper .bottom-right ul { + padding-left: 0; +} + +.blog .blog_left .wrapper .bottom-right ul a { + color: #763242; + height: 37px; + width: 37px; + border: 2px solid; + border-radius: 50%; + text-align: center; + padding-top: 6px; + margin-right: 15px; +} + +.blog .blog_left .wrapper .bottom-right ul a:hover { + color: #fff; + background-color: #763242; + border: 2px solid; + border-color: #763242; +} + +.blog .blog_left .wrapper .bottom-right ul li { + font-size: 14px; +} + +.blog .blog_left .wrapper .play { + max-width: 80px; + position: absolute; + top: 41%; + z-index: 2; + display: flex; + left: 45%; +} + +.blog .blog_left .wrapper .blog_img { + position: relative; + margin-bottom: 30px; +} + +.blog .blog_left .wrapper .blog_img .video_overlay:before { + content: ''; + background: rgba(0, 0, 0, 0.51); + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.blog .blog_left .wrapper .blog_img img { + width: 100%; + border-radius: 3px; +} + +.blog .blog_left .wrapper h4 { + font-size: 22px; + color: #565656; +} + +.blog .blog_left .wrapper .date { + color: #797979; + margin-bottom: 20px; +} + +.blog .blog_left .wrapper .date a { + text-decoration: none; +} + +.blog .blog_left .wrapper .date a:hover { + color: #763242; +} + +.blog .blog_left .wrapper .blog_p { + color: #797979; + padding-bottom: 20px !important; + line-height: 25px !important; +} + +.blog .blog_left .bottom { + display: flex; + padding-bottom: 50px; +} + +.blog .blog_left .bottom nav .pagination .page-item { + border: none; +} + +.blog .blog_left .bottom nav .pagination .page-item .page-link { + border: none; + color: #797979; + padding: 15px 20px; + border-radius: 7px; + font-size: 18px; + margin: 0 5px; +} + +.blog .blog_left .bottom nav .pagination .page-item .page-link:hover { + background-color: #763242; + color: #fff; +} + +.blog .blog_left .bottom nav .pagination .page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #763242; + border-color: #763242; +} + +.blog .blog_left .c_blog h4 { + color: #565656; + padding-left: 15px; +} + +.blog .blog_left .c_blog .form-group { + padding: 20px 20px; +} + +.blog .blog_left .c_blog .form-group label { + color: #797979; +} + +.blog .blog_left .c_blog .form-group .form-control { + border-radius: 2px; + height: 50px; + background-color: transparent; + color: #666; + box-shadow: none; + font-size: 15px; +} + +.blog .blog_left .c_blog .form-group textarea { + height: 200px; + margin-bottom: 30px; +} + +.blog .blog_right .product_sidebar { + padding: 0 25px; +} + +.blog .blog_right .product_sidebar .wrapper { + margin-bottom: 30px; + position: relative; +} + +.blog .blog_right .product_sidebar .wrapper .input-group { + margin-bottom: 40px; + padding-bottom: 20px; +} + +.blog .blog_right .product_sidebar .wrapper .form-control { + height: 50px; + border: none !important; +} + +.blog .blog_right .product_sidebar .wrapper .md-form.form-sm.form-1 input { + border: 1px solid #bdbdbd; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.blog .blog_right .product_sidebar .wrapper .widget_header h4 { + font-size: 18px; + font-weight: 600; +} + +.blog .blog_right .product_sidebar .wrapper hr { + color: #000000; +} + +.blog .blog_right .product_sidebar .wrapper ul { + padding-left: 0; +} + +.blog .blog_right .product_sidebar .wrapper ul li { + padding: 7px 0; +} + +.blog .blog_right .product_sidebar .wrapper ul li a { + display: flex !important; + justify-content: space-between !important; + color: #797979; + text-decoration: none; +} + +.blog .blog_right .product_sidebar .wrapper ul li a:hover { + color: #763242; +} + +.blog .blog_right .product_sidebar .wrapper ul li a:hover span { + color: #763242 !important; + height: 25px; + width: 36px; + border-radius: 16%; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.blog .blog_right .product_sidebar .wrapper ul li a span { + color: #797979 !important; + height: 25px !important; + width: 36px !important; + border-radius: 16% !important; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.input-group-text { + background-color: #763242; + border: 1px solid; + border-color: #763242; +} + +.Products_main { + margin-top: 90px; + margin-bottom: 90px; +} + +.Products_main .heading { + padding-bottom: 50px; +} + +.Products_main .heading h3 { + text-align: left; + font-size: 25px; +} + +.Products_main .heading p { + color: #797979; +} + +.Products_main .product_sidebar { + padding: 0 25px; + /*Checkboxes styles*/ +} + +.Products_main .product_sidebar .wrapper { + margin-bottom: 30px; +} + +.Products_main .product_sidebar .wrapper .widget_header h4 { + font-size: 22px; + font-weight: 600; +} + +.Products_main .product_sidebar .wrapper hr { + color: #000000; +} + +.Products_main .product_sidebar .wrapper ul { + padding-left: 0; +} + +.Products_main .product_sidebar .wrapper ul li { + padding: 10px 0; +} + +.Products_main .product_sidebar .wrapper ul li a { + display: flex !important; + justify-content: space-between !important; + color: #565656; + text-decoration: none; +} + +.Products_main .product_sidebar .wrapper ul li a:hover { + color: #763242; +} + +.Products_main .product_sidebar .wrapper ul li a:hover span { + color: #fff !important; + background-color: #763242; + height: 25px; + width: 36px; + border-radius: 16%; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.Products_main .product_sidebar .wrapper ul li a span { + color: #797979 !important; + height: 25px !important; + width: 36px !important; + border-radius: 16% !important; + display: inline-block; + text-align: center; + padding-top: 1px; +} + +.Products_main .product_sidebar .wrapper .range_main { + position: relative; + margin-top: 40px; + padding-left: 30px; +} + +.Products_main .product_sidebar .wrapper .range_main .range { + width: 149px; + height: 48px; + border: 0; + background: #763242; + position: absolute; + top: 193%; +} + +.Products_main .product_sidebar .wrapper .range_main .range:before, .Products_main .product_sidebar .wrapper .range_main .range:after { + content: ""; + position: absolute; + top: 0; + z-index: -1; + height: 100%; + width: 28px; + background: silver; + pointer-events: none; +} + +.Products_main .product_sidebar .wrapper .range_main .range:before { + left: -28px; + border-radius: 5px 0 0 5px; +} + +.Products_main .product_sidebar .wrapper .range_main .range:after { + right: -28px; + border-radius: 0 5px 5px 0; +} + +.Products_main .product_sidebar .wrapper .range_main input { + -webkit-appearance: none; + position: absolute; + width: calc(100% + 40px); + height: 100%; + margin: 0; + background-color: transparent; + outline: none; + left: -20px; + -webkit-tap-highlight-color: transparent; +} + +.Products_main .product_sidebar .wrapper .range_main .lbl-lft, +.Products_main .product_sidebar .wrapper .range_main .lbl-rgt { + position: absolute; + top: -15px; + color: #1a1a1a; + font-size: 12px; + font-weight: 700; +} + +.Products_main .product_sidebar .wrapper .range_main .lbl-lft { + left: -28px; +} + +.Products_main .product_sidebar .wrapper .range_main .lbl-rgt { + right: -28px; + text-align: left; +} + +.Products_main .product_sidebar .wrapper .range_main .range-thumb { + position: absolute; + top: 0px; + margin-left: -24px; + border-radius: 50%; + border: 5px solid #878484; + background: white; + height: 48px; + width: 48px; + outline: none; + transition: transform 0.3s ease; + text-align: center; + font-size: 12px; + line-height: 38px; + color: #1a1a1a; + font-weight: 700; + pointer-events: none; +} + +.Products_main .product_sidebar .wrapper .range_main .range-thumb::before { + display: none; + content: ""; + position: absolute; + z-index: 1; + top: 53px; + left: 50%; + transform: translateX(-50%); + border-radius: 3px; + width: 2px; + height: 28px; + margin-left: -3px; + background: rgba(255, 255, 255, 0.25); + box-shadow: 6px 0 0 rgba(255, 255, 255, 0.25); +} + +.Products_main .product_sidebar .wrapper .range_main .range-thumb::after { + content: ""; + position: absolute; + bottom: -5px; + left: -5px; + width: 48px; + height: 10px; + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDhweCIgaGVpZ2h0PSIxMHB4IiB2aWV3Qm94PSIwIDAgNDggMTAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQ3ICg0NTM5NikgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+Q29tYmluZWQgU2hhcGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iQXJ0Ym9hcmQiIGZpbGw9IiM2MTY4RTciPgogICAgICAgICAgICA8cGF0aCBkPSJNMTEuMTU0NjA2NCwyLjE4MjkyMDUxZS0xMiBMNC40NzIyMTMwMSwyLjE4MjkyMDUxZS0xMiBDNS40MjIyOTI4NiwxLjA2MTUxMjk4IDYsMi40NjMyOTExMyA2LDQgQzYsNy4zMTM3MDg1IDMuMzEzNzA4NSwxMCAwLDEwIEw0OCwxMCBDNDQuNjg2MjkxNSwxMCA0Miw3LjMxMzcwODUgNDIsNCBDNDIsMi40NjMyOTExMyA0Mi41Nzc3MDcxLDEuMDYxNTEyOTggNDMuNTI3Nzg3LDAgTDQzLjUyNzc4NywyLjE4MjkyMDUxZS0xMiBMMzYuODQ1MzkzNiwyLjE4MjkyMDUxZS0xMiBDMzMuNDYzMzI1NSwzLjEwNDc5MzA5IDI4Ljk1Mjk4NzQsNSAyNCw1IEMxOS4wNDcwMTI2LDUgMTQuNTM2Njc0NSwzLjEwNDc5MzA5IDExLjE1NDYwNjQsMi4xOTQyNDQ3OWUtMTIgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4="); + background-repeat: no-repeat; + background-position: center; +} + +.Products_main .product_sidebar .wrapper .range_main .resize { + position: fixed; + bottom: 20px; + left: 0; + width: 100%; + text-align: center; + font-size: 14px; + font-weight: 500; + color: #c8ccd4; +} + +@media screen and (max-width: 768px) { + .Products_main .product_sidebar .wrapper .range_main .hover + .range-thumb, + .Products_main .product_sidebar .wrapper .range_main .active + .range-thumb { + transform: translateY(-48px); + } +} + +.Products_main .product_sidebar .wrapper .range_main .hover + .range-thumb::before, +.Products_main .product_sidebar .wrapper .range_main .active + .range-thumb::before { + display: block; +} + +.Products_main .product_sidebar .check { + margin-top: 90px; + padding-top: 60px; +} + +.Products_main .product_sidebar .chekbox_wrapper { + margin-top: 20px; +} + +.Products_main .product_sidebar input[type="checkbox"] { + display: none; +} + +.Products_main .product_sidebar input[type="checkbox"] + label { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 20px; + color: #797979; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; +} + +.Products_main .product_sidebar input[type="checkbox"] + label:last-child { + margin-bottom: 0; +} + +.Products_main .product_sidebar input[type="checkbox"] + label:before { + content: ""; + display: block; + width: 20px; + height: 20px; + border: 1px solid #763242; + position: absolute; + left: 0; + top: 0; + opacity: 0.6; + transition: all 0.12s, border-color 0.08s; +} + +.Products_main .product_sidebar input[type="checkbox"]:checked + label:before { + width: 10px; + top: -5px; + left: 5px; + border-radius: 0; + opacity: 1; + border-top-color: transparent; + border-left-color: transparent; + transform: rotate(45deg); +} + +@media screen and (max-width: 768px) { + .Products_main .product_right { + margin-top: 70px; + } +} + +.Products_main .product_right .product_right_top .choose { + display: flex; + justify-content: space-between; +} + +@media screen and (max-width: 992px) { + .Products_main .product_right .product_right_top .choose .ch { + margin-right: 10px !important; + } +} + +.Products_main .product_right .views { + float: right; + display: flex; +} + +@media screen and (max-width: 768px) { + .Products_main .product_right .views { + float: none; + margin-top: 30px; + } +} + +.Products_main .product_right .views ul { + display: flex; +} + +.Products_main .product_right .views ul:last-child { + padding-right: 0; +} + +.Products_main .product_right .views li { + padding-right: 20px; +} + +.Products_main .product_right .views li a { + color: #565656; + text-decoration: none; +} + +.Products_main .product_right .views li a:hover { + color: #763242; +} + +.Products_main .product_right .views li.active a { + color: #763242 !important; +} + +.Products_main .product_right_bottom_list { + padding-top: 20px; + margin-top: 50px; +} + +.Products_main .product_right_bottom_list .card { + margin-bottom: 30px; +} + +.Products_main .product_right_bottom_list .card .c_img { + max-width: 300px; +} + +.Products_main .product_right_bottom_list .card .c_img img { + width: 100%; +} + +.Products_main .product_right_bottom_list .card .card-body .card-title { + color: #565656; + font-weight: 700; + letter-spacing: 0.05em; + font-size: 19px; +} + +.Products_main .product_right_bottom_list .card .card-body .list-group-item { + border: 0; + padding: 10px 10px 10px 0; + margin-bottom: 0 !important; + margin-bottom: 10px; +} + +.Products_main .product_right_bottom_list .card .card-body .list-group-item a { + color: #797979; + text-decoration: none; +} + +.Products_main .product_right_bottom_list .card .card-body .list-group-item span { + padding-right: 10px; +} + +.Products_main .product_right_bottom_list .card .card-body p { + color: #797979; +} + +.Products_main .product_right_bottom_list .card .card-rating { + padding-left: 16px; + padding-bottom: 20px; + padding-top: 5px; +} + +.Products_main .product_right_bottom_list .card .card-rating .card-link { + color: #763242; +} + +.Products_main .product_right_bottom_list .card .card-rating .card-link span { + font-size: 18px; +} + +.Products_main .product_right_bottom_list .bottom { + display: flex; + justify-content: center; + padding-top: 50px; +} + +.Products_main .product_right_bottom_list .bottom nav .pagination .page-item { + border: none; +} + +.Products_main .product_right_bottom_list .bottom nav .pagination .page-item .page-link { + border: none; + color: #797979; + padding: 15px 20px; + border-radius: 7px; + font-size: 18px; + margin: 0 5px; +} + +@media screen and (max-width: 456px) { + .Products_main .product_right_bottom_list .bottom nav .pagination .page-item .page-link { + padding: 12px 16px !important; + font-size: 16px !important; + } +} + +.Products_main .product_right_bottom_list .bottom nav .pagination .page-item .page-link:hover { + background-color: #763242; + color: #fff; +} + +.Products_main .product_right_bottom_list .bottom nav .pagination .page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #763242; + border-color: #763242; +} + +.forw { + margin: 90px 0; +} + +.forw .error { + text-align: center; +} + +.forw .error .message { + margin: auto; +} + +.forw .error .message .wrapper_img { + max-width: 400px; + margin: auto; +} + +.forw .error .message .wrapper_img img { + width: 100%; +} + +.forw .error .message .oops { + font-size: 70px; + color: #797979; + padding-top: 20px; + font-weight: 600; +} + +.forw .error .message p { + color: #797979; + padding-top: 15px; + padding-bottom: 20px; +} + +.terms { + margin: 90px 0; +} + +@media screen and (max-width: 576px) { + .terms .terms-condition-content { + padding: 0 30px; + } +} + +.terms .terms-condition-content .t_head { + color: #565656; + font-size: 18px; + text-align: left; +} + +.terms .terms-condition-content p { + color: #797979; + line-height: 30px; +} + +.Profile_content1 .personal_info .info_head, .Profile_content1 .mail_info .info_head, .Profile_content1 .password_info .info_head { + width: 100%; + padding-top: 10px; + padding-bottom: 5px; + border: 1px solid; + border-color: transparent; + margin-bottom: 40px; +} + +.Profile_content1 .personal_info .form-group label, .Profile_content1 .mail_info .form-group label, .Profile_content1 .password_info .form-group label { + color: #797979; +} + +.Profile_content1 .personal_info .form-group .form-control, .Profile_content1 .mail_info .form-group .form-control, .Profile_content1 .password_info .form-group .form-control { + border-radius: 2px; + height: 50px; + background-color: transparent; + color: #666; + box-shadow: none; + font-size: 15px; + margin-bottom: 20px; +} + +.Profile_content1 .personal_info .form-check, .Profile_content1 .mail_info .form-check, .Profile_content1 .password_info .form-check { + color: #797979; + padding-bottom: 20px; +} + +.Profile_content1 .mail_info { + border: 1px solid; + padding: 20px 30px; + border-color: #dedede; + border-radius: 5px; +} + +.Profile_content1 .mail_info .links { + margin-top: 10px; +} + +.Profile_content1 .mail_info .links .fp { + padding-bottom: 15px; +} +/*# sourceMappingURL=style.css.map */ + +.products_pager .btn-secondary { + color: #763242; + background-color: #fff; + border-color: #fff; +} + +.products_pager .btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #763242; + border-color:#fff; +} + +.product_sidebar .nav-pills .nav-link.active, .nav-pills .show > .nav-link { + color: black !important; + background-color: #fff !important; +} + +.page-link { + position: relative; + display: block; + padding: .5rem .75rem; + margin-left: -1px; + line-height: 1.25; + color: #763242; + background-color: #fff; + border: 1px solid #dee2e6; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color:#763242; + border-color: #dee2e6; +} + +.oe_website_login_container { + + + display: flex; + justify-content: center; + +} + +.oe_website_login_container .oe_login_form { + + margin: auto; + +} + +.btn-secondary { + color: #763242; + background-color: #fff; + border-color: #6c757d; +} + +.btn-secondary:hover { + color: #fff; + background-color: #763242; + border-color: #545b62; +} + +.product_sidebar .wrapper .sidebar__filter .price_wrapper p { + align-items: center; + margin: 0; + display: flex; + padding-right: 2%; + font-weight: bold; +} +.product_sidebar .wrapper .sidebar__filter .price_wrapper span { + align-items: center; + margin-left: 5%; + display: flex; + padding-right: 5%; + font-weight: bold; +} +.product_sidebar .wrapper .sidebar__filter { + position: relative; + margin-bottom: 0px; +} + +.product_sidebar .wrapper .sidebar__filter .section-title { + margin-bottom: 50px; +} + +.product_sidebar .wrapper .sidebar__filter .section-title .borderd_header { + text-transform: uppercase; +} + +.product_sidebar .wrapper .sidebar__filter .section-title h4 { + font-size: 18px; +} +.product_sidebar .wrapper .sidebar__filter #slider-range { + margin-bottom: 30px; + background-color: #c09f7f; + border: none; + height: 8px; +} + +.product_sidebar .wrapper .sidebar__filter #slider-range .ui-state-default, +.product_sidebar .wrapper .sidebar__filter #slider-range .ui-widget-content .ui-state-default { + background-color: #fff; + border: 0.5px solid brown; + height: 18px; + width: 18px; + top: -4.8px; + position: absolute; +} + +.product_sidebar .wrapper .sidebar__filter #slider-range.ui-slider-horizontal .ui-slider-range { + top: 0; + background-color: #763242; !important; + left: 0%; + width: 60%; + position: absolute; + height: 8px; +} +.product_sidebar .wrapper .sidebar__filter .price_wrapper .price_filter_button { + background-color: transparent !important; + color: #763242; !important; + border-radius: 0 !important; + font-weight: 550; + font-size: 12px; + border: 2px solid !important; +} + +.product_sidebar .wrapper .sidebar__filter .price_wrapper .price_filter_button:hover { + border-color: #763242; !important; + color: #763242; !important; + background: #763242; !important; +} + +.btn-secondary:not(:disabled):not(.disabled):active, .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #763242; !important; + border-color: #4e555b; +} + +.o_website_rating_table_progress .o_rating_progressbar { + background-color: #763242 !important; +} + +.o_website_rating_static { + color: #763242 !important; +} + +.btn-outline-primary:hover { + color: #fff; + background-color: #763242; !important; + border-color: #763242; !important; +} + +.navigation .container .classic-icon a { + color: #c09f7f; + +} + +.navigation .container .login a { + color: #763242 !important; + +} + +.navigation .container .login a:hover { + color: #fff !important; + background-color: #c09f7f; +} + +.navigation .container .login { + border: 1px solid !important; +} + +.navigation .container .login:hover { + color: #fff !important; + background-color: #b8926e !important; +} + +.badge-primary { + color: #fff; + background-color: #c09f7f !important; +} + +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: .75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: transparent; + border-radius: .25rem; +} + +.banner_search .breadcrumb a { + color: #fff !important; + text-decoration: none; + background-color: transparent; + font-size: 16px; +} + +.banner_search .breadcrumb-item.active { + color: #c09f7f; + font-size: 16px; +} + +.banner_search .btn-secondary { + color: #fff; + background-color: #763242; + border-color: #6c757d; +} + +.banner_search .btn-secondary:hover { + color: #763242; + background-color: #fff; + border-color: #545b62; +} + +.navbar-dark .navbar-brand { + color: #565656; + font-size: 30px; + font-weight: 900; +} + +.navbar-dark .navbar-nav .nav-item .nav-link { + color: #797979 !important; + font-size: 18px !important; + padding: 0 20px !important; +} + +.price_box .oe_currency_value { + font-size: 30px !important; + +} + +.o_wblog_post .text-nowrap a { + color: #763242; + text-decoration: none; + +} + +.o_wblog_post_short_tag_section a { + color: #763242; + text-decoration: none; +} + +.o_wblog_post_content .breadcrumb .breadcrumb-item a { + color: #763242 !important; + text-decoration: none; + background-color: transparent; + font-size: 16px; +} + +.breadcrumb a { + color: #763242 !important; + text-decoration: none; + background-color: transparent; + font-size: 16px; +} + + +.text-muted a { + color: #763242; + text-decoration: none; +} + +.btn-link:hover { + color: #763242 !important; + text-decoration: underline; +} + +.oe_product_cart:hover { + box-shadow: none !important; +} + +.oe_website_sale .oe_cart a { + color: #763242; +} + +.oe_website_sale .oe_cart a:hover { + color: #fff; +} + +.oe_website_sale .oe_cart btn-primary{ + color: #fff !important; +} + +.product_buttons .product_bottom { + display: flex; + padding-top: 0; + padding-left: 4; + position: relative; +} + +.product_buttons .product_bottom li { + height: 30px; + width: 30px; + border-radius: 5%; + background-color: #fff !important; + margin-right: 12px; +} + +.product_buttons .product_bottom a { + color: #763242 +} + +.product_buttons .product_bottom a span { + padding: 9px; +} + +.product_buttons .product_bottom a span:hover { + color: #c09f7f; +} + +.dropdown-item.active, .dropdown-item:active { + color: #c09f7f !important; + text-decoration: none; + background-color: #fff !important; +} + +.product_right_bottom .card .card-rating { + padding-left: 16px; + padding-bottom: 20px; + padding-top: 5px; +} + +.product_right_bottom .card .card-rating .card-link { + color: #763242; +} + diff --git a/theme_classic_store/static/src/css/style.css.map b/theme_classic_store/static/src/css/style.css.map new file mode 100644 index 000000000..cf22abb48 --- /dev/null +++ b/theme_classic_store/static/src/css/style.css.map @@ -0,0 +1,40 @@ +{ + "version": 3, + "mappings": "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", + "sources": [ + "../scss/style.scss", + "../scss/_variables.scss", + "../scss/_normalize.scss", + "../scss/_common.scss", + "../scss/components/_components.scss", + "../scss/components/_banner.scss", + "../scss/components/_button.scss", + "../scss/components/_product.scss", + "../scss/layout/_layouts.scss", + "../scss/layout/_navigation.scss", + "../scss/layout/_footer.scss", + "../scss/layout/_sidebar.scss", + "../scss/pages/_pages.scss", + "../scss/pages/home/_home.scss", + "../scss/pages/home/_search.scss", + "../scss/pages/home/_trending.scss", + "../scss/pages/home/_categories.scss", + "../scss/pages/home/_cta.scss", + "../scss/pages/_dashboard.scss", + "../scss/pages/_about.scss", + "../scss/pages/_contact.scss", + "../scss/pages/_user-profile.scss", + "../scss/pages/_package.scss", + "../scss/pages/_single.scss", + "../scss/pages/_store.scss", + "../scss/pages/_products.scss", + "../scss/pages/_blog.scss", + "../scss/pages/_blog-single.scss", + "../scss/pages/_list.scss", + "../scss/pages/_404.scss", + "../scss/pages/_terms.scss", + "../scss/pages/_login.scss" + ], + "names": [], + "file": "style.css" +} \ No newline at end of file diff --git a/theme_classic_store/static/src/images/404/404.png b/theme_classic_store/static/src/images/404/404.png new file mode 100644 index 000000000..d0b1152be Binary files /dev/null and b/theme_classic_store/static/src/images/404/404.png differ diff --git a/theme_classic_store/static/src/images/about/about.jpg b/theme_classic_store/static/src/images/about/about.jpg new file mode 100644 index 000000000..f2037b900 Binary files /dev/null and b/theme_classic_store/static/src/images/about/about.jpg differ diff --git a/theme_classic_store/static/src/images/about/er.jpg b/theme_classic_store/static/src/images/about/er.jpg new file mode 100644 index 000000000..93bbb28c2 Binary files /dev/null and b/theme_classic_store/static/src/images/about/er.jpg differ diff --git a/theme_classic_store/static/src/images/account/Account1.png b/theme_classic_store/static/src/images/account/Account1.png new file mode 100644 index 000000000..d23b9501f Binary files /dev/null and b/theme_classic_store/static/src/images/account/Account1.png differ diff --git a/theme_classic_store/static/src/images/apps/apple-app-store.png b/theme_classic_store/static/src/images/apps/apple-app-store.png new file mode 100644 index 000000000..494fddcfb Binary files /dev/null and b/theme_classic_store/static/src/images/apps/apple-app-store.png differ diff --git a/theme_classic_store/static/src/images/apps/google-play-store.png b/theme_classic_store/static/src/images/apps/google-play-store.png new file mode 100644 index 000000000..b75bea756 Binary files /dev/null and b/theme_classic_store/static/src/images/apps/google-play-store.png differ diff --git a/theme_classic_store/static/src/images/banner/hero.jpg b/theme_classic_store/static/src/images/banner/hero.jpg new file mode 100644 index 000000000..7e9a0f02c Binary files /dev/null and b/theme_classic_store/static/src/images/banner/hero.jpg differ diff --git a/theme_classic_store/static/src/images/blog/post-1.jpg b/theme_classic_store/static/src/images/blog/post-1.jpg new file mode 100644 index 000000000..475f9be9e Binary files /dev/null and b/theme_classic_store/static/src/images/blog/post-1.jpg differ diff --git a/theme_classic_store/static/src/images/blog/post-2.jpg b/theme_classic_store/static/src/images/blog/post-2.jpg new file mode 100644 index 000000000..987b10bd4 Binary files /dev/null and b/theme_classic_store/static/src/images/blog/post-2.jpg differ diff --git a/theme_classic_store/static/src/images/blog/post-3.jpg b/theme_classic_store/static/src/images/blog/post-3.jpg new file mode 100644 index 000000000..96a520c4e Binary files /dev/null and b/theme_classic_store/static/src/images/blog/post-3.jpg differ diff --git a/theme_classic_store/static/src/images/blog/post-4.jpg b/theme_classic_store/static/src/images/blog/post-4.jpg new file mode 100644 index 000000000..4e399c044 Binary files /dev/null and b/theme_classic_store/static/src/images/blog/post-4.jpg differ diff --git a/theme_classic_store/static/src/images/blog/post-5.jpg b/theme_classic_store/static/src/images/blog/post-5.jpg new file mode 100644 index 000000000..5845dbd25 Binary files /dev/null and b/theme_classic_store/static/src/images/blog/post-5.jpg differ diff --git a/theme_classic_store/static/src/images/blog/video-icon.png b/theme_classic_store/static/src/images/blog/video-icon.png new file mode 100644 index 000000000..394f39def Binary files /dev/null and b/theme_classic_store/static/src/images/blog/video-icon.png differ diff --git a/theme_classic_store/static/src/images/call-to-action/cta-background.jpg b/theme_classic_store/static/src/images/call-to-action/cta-background.jpg new file mode 100644 index 000000000..6d7a4f775 Binary files /dev/null and b/theme_classic_store/static/src/images/call-to-action/cta-background.jpg differ diff --git a/theme_classic_store/static/src/images/call-to-action/sd.jpg b/theme_classic_store/static/src/images/call-to-action/sd.jpg new file mode 100644 index 000000000..1911c42b2 Binary files /dev/null and b/theme_classic_store/static/src/images/call-to-action/sd.jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (1).jpg b/theme_classic_store/static/src/images/categories/c1 (1).jpg new file mode 100644 index 000000000..35e1f5a00 Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (1).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (2).jpg b/theme_classic_store/static/src/images/categories/c1 (2).jpg new file mode 100644 index 000000000..2e170f99a Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (2).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (3).jpg b/theme_classic_store/static/src/images/categories/c1 (3).jpg new file mode 100644 index 000000000..ef4a8e373 Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (3).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (4).jpg b/theme_classic_store/static/src/images/categories/c1 (4).jpg new file mode 100644 index 000000000..5293382e7 Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (4).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (5).jpg b/theme_classic_store/static/src/images/categories/c1 (5).jpg new file mode 100644 index 000000000..10053e737 Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (5).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (6).jpg b/theme_classic_store/static/src/images/categories/c1 (6).jpg new file mode 100644 index 000000000..98fbe1c06 Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (6).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (7).jpg b/theme_classic_store/static/src/images/categories/c1 (7).jpg new file mode 100644 index 000000000..ecb61ac5f Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (7).jpg differ diff --git a/theme_classic_store/static/src/images/categories/c1 (8).jpg b/theme_classic_store/static/src/images/categories/c1 (8).jpg new file mode 100644 index 000000000..20b3e6c85 Binary files /dev/null and b/theme_classic_store/static/src/images/categories/c1 (8).jpg differ diff --git a/theme_classic_store/static/src/images/footer/phone-icon.png b/theme_classic_store/static/src/images/footer/phone-icon.png new file mode 100644 index 000000000..21f828fe8 Binary files /dev/null and b/theme_classic_store/static/src/images/footer/phone-icon.png differ diff --git a/theme_classic_store/static/src/images/logo-footer.png b/theme_classic_store/static/src/images/logo-footer.png new file mode 100644 index 000000000..eee42273b Binary files /dev/null and b/theme_classic_store/static/src/images/logo-footer.png differ diff --git a/theme_classic_store/static/src/images/logo.png b/theme_classic_store/static/src/images/logo.png new file mode 100644 index 000000000..a61680cea Binary files /dev/null and b/theme_classic_store/static/src/images/logo.png differ diff --git a/theme_classic_store/static/src/images/products/22 (1).jpg b/theme_classic_store/static/src/images/products/22 (1).jpg new file mode 100644 index 000000000..e3b632b23 Binary files /dev/null and b/theme_classic_store/static/src/images/products/22 (1).jpg differ diff --git a/theme_classic_store/static/src/images/products/22 (2).jpg b/theme_classic_store/static/src/images/products/22 (2).jpg new file mode 100644 index 000000000..a44b5afd4 Binary files /dev/null and b/theme_classic_store/static/src/images/products/22 (2).jpg differ diff --git a/theme_classic_store/static/src/images/products/22 (3).jpg b/theme_classic_store/static/src/images/products/22 (3).jpg new file mode 100644 index 000000000..09816bb79 Binary files /dev/null and b/theme_classic_store/static/src/images/products/22 (3).jpg differ diff --git a/theme_classic_store/static/src/images/products/22 (4).jpg b/theme_classic_store/static/src/images/products/22 (4).jpg new file mode 100644 index 000000000..e91737434 Binary files /dev/null and b/theme_classic_store/static/src/images/products/22 (4).jpg differ diff --git a/theme_classic_store/static/src/images/products/products-1.jpg b/theme_classic_store/static/src/images/products/products-1.jpg new file mode 100644 index 000000000..5874a7721 Binary files /dev/null and b/theme_classic_store/static/src/images/products/products-1.jpg differ diff --git a/theme_classic_store/static/src/images/products/products-2.jpg b/theme_classic_store/static/src/images/products/products-2.jpg new file mode 100644 index 000000000..e6585b784 Binary files /dev/null and b/theme_classic_store/static/src/images/products/products-2.jpg differ diff --git a/theme_classic_store/static/src/images/products/products-3.jpg b/theme_classic_store/static/src/images/products/products-3.jpg new file mode 100644 index 000000000..e8b8f8bc2 Binary files /dev/null and b/theme_classic_store/static/src/images/products/products-3.jpg differ diff --git a/theme_classic_store/static/src/images/products/products-4.jpg b/theme_classic_store/static/src/images/products/products-4.jpg new file mode 100644 index 000000000..7d7bfdc69 Binary files /dev/null and b/theme_classic_store/static/src/images/products/products-4.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/about_us_block.jpg b/theme_classic_store/static/src/images/snippets/about_us_block.jpg new file mode 100644 index 000000000..a27ff04da Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/about_us_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/banner_block.jpg b/theme_classic_store/static/src/images/snippets/banner_block.jpg new file mode 100644 index 000000000..22cf5f49b Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/banner_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/categories_block.jpg b/theme_classic_store/static/src/images/snippets/categories_block.jpg new file mode 100644 index 000000000..b756f548b Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/categories_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/counter_block.jpg b/theme_classic_store/static/src/images/snippets/counter_block.jpg new file mode 100644 index 000000000..5d47cc118 Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/counter_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/listing_block.jpg b/theme_classic_store/static/src/images/snippets/listing_block.jpg new file mode 100644 index 000000000..294f52a34 Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/listing_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/packages_block.jpg b/theme_classic_store/static/src/images/snippets/packages_block.jpg new file mode 100644 index 000000000..32bcdfae6 Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/packages_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/search_bar_block.jpg b/theme_classic_store/static/src/images/snippets/search_bar_block.jpg new file mode 100644 index 000000000..a5aca6ce4 Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/search_bar_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/sub_header_block.jpg b/theme_classic_store/static/src/images/snippets/sub_header_block.jpg new file mode 100644 index 000000000..e30a1947e Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/sub_header_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/team_members_block.jpg b/theme_classic_store/static/src/images/snippets/team_members_block.jpg new file mode 100644 index 000000000..02227edc2 Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/team_members_block.jpg differ diff --git a/theme_classic_store/static/src/images/snippets/trending-products.jpg b/theme_classic_store/static/src/images/snippets/trending-products.jpg new file mode 100644 index 000000000..531184698 Binary files /dev/null and b/theme_classic_store/static/src/images/snippets/trending-products.jpg differ diff --git a/theme_classic_store/static/src/images/subscription/subscription-back.jpg b/theme_classic_store/static/src/images/subscription/subscription-back.jpg new file mode 100644 index 000000000..51644f49d Binary files /dev/null and b/theme_classic_store/static/src/images/subscription/subscription-back.jpg differ diff --git a/theme_classic_store/static/src/images/team/team1.jpg b/theme_classic_store/static/src/images/team/team1.jpg new file mode 100644 index 000000000..03fde857b Binary files /dev/null and b/theme_classic_store/static/src/images/team/team1.jpg differ diff --git a/theme_classic_store/static/src/images/team/team2.jpg b/theme_classic_store/static/src/images/team/team2.jpg new file mode 100644 index 000000000..31bbae7bf Binary files /dev/null and b/theme_classic_store/static/src/images/team/team2.jpg differ diff --git a/theme_classic_store/static/src/images/team/team3.jpg b/theme_classic_store/static/src/images/team/team3.jpg new file mode 100644 index 000000000..9e47dca83 Binary files /dev/null and b/theme_classic_store/static/src/images/team/team3.jpg differ diff --git a/theme_classic_store/static/src/images/team/team4.jpg b/theme_classic_store/static/src/images/team/team4.jpg new file mode 100644 index 000000000..b39d0e0ed Binary files /dev/null and b/theme_classic_store/static/src/images/team/team4.jpg differ diff --git a/theme_classic_store/static/src/images/user/user-thumb.jpg b/theme_classic_store/static/src/images/user/user-thumb.jpg new file mode 100644 index 000000000..2da4e4a43 Binary files /dev/null and b/theme_classic_store/static/src/images/user/user-thumb.jpg differ diff --git a/theme_classic_store/static/src/js/owl.carousel.js b/theme_classic_store/static/src/js/owl.carousel.js new file mode 100644 index 000000000..66c67ebe0 --- /dev/null +++ b/theme_classic_store/static/src/js/owl.carousel.js @@ -0,0 +1,3448 @@ +/** + * Owl Carousel v2.3.4 + * Copyright 2013-2018 David Deutsch + * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE + */ +/** + * Owl carousel + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + * @todo Lazy Load Icon + * @todo prevent animationend bubling + * @todo itemsScaleUp + * @todo Test Zepto + * @todo stagePadding calculate wrong active classes + */ +;(function($, window, document, undefined) { + + /** + * Creates a carousel. + * @class The Owl Carousel. + * @public + * @param {HTMLElement|jQuery} element - The element to create the carousel for. + * @param {Object} [options] - The options + */ + function Owl(element, options) { + + /** + * Current settings for the carousel. + * @public + */ + this.settings = null; + + /** + * Current options set by the caller including defaults. + * @public + */ + this.options = $.extend({}, Owl.Defaults, options); + + /** + * Plugin element. + * @public + */ + this.$element = $(element); + + /** + * Proxied event handlers. + * @protected + */ + this._handlers = {}; + + /** + * References to the running plugins of this carousel. + * @protected + */ + this._plugins = {}; + + /** + * Currently suppressed events to prevent them from being retriggered. + * @protected + */ + this._supress = {}; + + /** + * Absolute current position. + * @protected + */ + this._current = null; + + /** + * Animation speed in milliseconds. + * @protected + */ + this._speed = null; + + /** + * Coordinates of all items in pixel. + * @todo The name of this member is missleading. + * @protected + */ + this._coordinates = []; + + /** + * Current breakpoint. + * @todo Real media queries would be nice. + * @protected + */ + this._breakpoint = null; + + /** + * Current width of the plugin element. + */ + this._width = null; + + /** + * All real items. + * @protected + */ + this._items = []; + + /** + * All cloned items. + * @protected + */ + this._clones = []; + + /** + * Merge values of all items. + * @todo Maybe this could be part of a plugin. + * @protected + */ + this._mergers = []; + + /** + * Widths of all items. + */ + this._widths = []; + + /** + * Invalidated parts within the update process. + * @protected + */ + this._invalidated = {}; + + /** + * Ordered list of workers for the update process. + * @protected + */ + this._pipe = []; + + /** + * Current state information for the drag operation. + * @todo #261 + * @protected + */ + this._drag = { + time: null, + target: null, + pointer: null, + stage: { + start: null, + current: null + }, + direction: null + }; + + /** + * Current state information and their tags. + * @type {Object} + * @protected + */ + this._states = { + current: {}, + tags: { + 'initializing': [ 'busy' ], + 'animating': [ 'busy' ], + 'dragging': [ 'interacting' ] + } + }; + + $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) { + this._handlers[handler] = $.proxy(this[handler], this); + }, this)); + + $.each(Owl.Plugins, $.proxy(function(key, plugin) { + this._plugins[key.charAt(0).toLowerCase() + key.slice(1)] + = new plugin(this); + }, this)); + + $.each(Owl.Workers, $.proxy(function(priority, worker) { + this._pipe.push({ + 'filter': worker.filter, + 'run': $.proxy(worker.run, this) + }); + }, this)); + + this.setup(); + this.initialize(); + } + + /** + * Default options for the carousel. + * @public + */ + Owl.Defaults = { + items: 3, + loop: false, + center: false, + rewind: false, + checkVisibility: true, + + mouseDrag: true, + touchDrag: true, + pullDrag: true, + freeDrag: false, + + margin: 0, + stagePadding: 0, + + merge: false, + mergeFit: true, + autoWidth: false, + + startPosition: 0, + rtl: false, + + smartSpeed: 250, + fluidSpeed: false, + dragEndSpeed: false, + + responsive: {}, + responsiveRefreshRate: 200, + responsiveBaseElement: window, + + fallbackEasing: 'swing', + slideTransition: '', + + info: false, + + nestedItemSelector: false, + itemElement: 'div', + stageElement: 'div', + + refreshClass: 'owl-refresh', + loadedClass: 'owl-loaded', + loadingClass: 'owl-loading', + rtlClass: 'owl-rtl', + responsiveClass: 'owl-responsive', + dragClass: 'owl-drag', + itemClass: 'owl-item', + stageClass: 'owl-stage', + stageOuterClass: 'owl-stage-outer', + grabClass: 'owl-grab' + }; + + /** + * Enumeration for width. + * @public + * @readonly + * @enum {String} + */ + Owl.Width = { + Default: 'default', + Inner: 'inner', + Outer: 'outer' + }; + + /** + * Enumeration for types. + * @public + * @readonly + * @enum {String} + */ + Owl.Type = { + Event: 'event', + State: 'state' + }; + + /** + * Contains all registered plugins. + * @public + */ + Owl.Plugins = {}; + + /** + * List of workers involved in the update process. + */ + Owl.Workers = [ { + filter: [ 'width', 'settings' ], + run: function() { + this._width = this.$element.width(); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + cache.current = this._items && this._items[this.relative(this._current)]; + } + }, { + filter: [ 'items', 'settings' ], + run: function() { + this.$stage.children('.cloned').remove(); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + var margin = this.settings.margin || '', + grid = !this.settings.autoWidth, + rtl = this.settings.rtl, + css = { + 'width': 'auto', + 'margin-left': rtl ? margin : '', + 'margin-right': rtl ? '' : margin + }; + + !grid && this.$stage.children().css(css); + + cache.css = css; + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin, + merge = null, + iterator = this._items.length, + grid = !this.settings.autoWidth, + widths = []; + + cache.items = { + merge: false, + width: width + }; + + while (iterator--) { + merge = this._mergers[iterator]; + merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge; + + cache.items.merge = merge > 1 || cache.items.merge; + + widths[iterator] = !grid ? this._items[iterator].width() : width * merge; + } + + this._widths = widths; + } + }, { + filter: [ 'items', 'settings' ], + run: function() { + var clones = [], + items = this._items, + settings = this.settings, + // TODO: Should be computed from number of min width items in stage + view = Math.max(settings.items * 2, 4), + size = Math.ceil(items.length / 2) * 2, + repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0, + append = '', + prepend = ''; + + repeat /= 2; + + while (repeat > 0) { + // Switch to only using appended clones + clones.push(this.normalize(clones.length / 2, true)); + append = append + items[clones[clones.length - 1]][0].outerHTML; + clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true)); + prepend = items[clones[clones.length - 1]][0].outerHTML + prepend; + repeat -= 1; + } + + this._clones = clones; + + $(append).addClass('cloned').appendTo(this.$stage); + $(prepend).addClass('cloned').prependTo(this.$stage); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function() { + var rtl = this.settings.rtl ? 1 : -1, + size = this._clones.length + this._items.length, + iterator = -1, + previous = 0, + current = 0, + coordinates = []; + + while (++iterator < size) { + previous = coordinates[iterator - 1] || 0; + current = this._widths[this.relative(iterator)] + this.settings.margin; + coordinates.push(previous + current * rtl); + } + + this._coordinates = coordinates; + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function() { + var padding = this.settings.stagePadding, + coordinates = this._coordinates, + css = { + 'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2, + 'padding-left': padding || '', + 'padding-right': padding || '' + }; + + this.$stage.css(css); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + var iterator = this._coordinates.length, + grid = !this.settings.autoWidth, + items = this.$stage.children(); + + if (grid && cache.items.merge) { + while (iterator--) { + cache.css.width = this._widths[this.relative(iterator)]; + items.eq(iterator).css(cache.css); + } + } else if (grid) { + cache.css.width = cache.items.width; + items.css(cache.css); + } + } + }, { + filter: [ 'items' ], + run: function() { + this._coordinates.length < 1 && this.$stage.removeAttr('style'); + } + }, { + filter: [ 'width', 'items', 'settings' ], + run: function(cache) { + cache.current = cache.current ? this.$stage.children().index(cache.current) : 0; + cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current)); + this.reset(cache.current); + } + }, { + filter: [ 'position' ], + run: function() { + this.animate(this.coordinates(this._current)); + } + }, { + filter: [ 'width', 'position', 'items', 'settings' ], + run: function() { + var rtl = this.settings.rtl ? 1 : -1, + padding = this.settings.stagePadding * 2, + begin = this.coordinates(this.current()) + padding, + end = begin + this.width() * rtl, + inner, outer, matches = [], i, n; + + for (i = 0, n = this._coordinates.length; i < n; i++) { + inner = this._coordinates[i - 1] || 0; + outer = Math.abs(this._coordinates[i]) + padding * rtl; + + if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end))) + || (this.op(outer, '<', begin) && this.op(outer, '>', end))) { + matches.push(i); + } + } + + this.$stage.children('.active').removeClass('active'); + this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active'); + + this.$stage.children('.center').removeClass('center'); + if (this.settings.center) { + this.$stage.children().eq(this.current()).addClass('center'); + } + } + } ]; + + /** + * Create the stage DOM element + */ + Owl.prototype.initializeStage = function() { + this.$stage = this.$element.find('.' + this.settings.stageClass); + + // if the stage is already in the DOM, grab it and skip stage initialization + if (this.$stage.length) { + return; + } + + this.$element.addClass(this.options.loadingClass); + + // create stage + this.$stage = $('<' + this.settings.stageElement + '>', { + "class": this.settings.stageClass + }).wrap( $( '
', { + "class": this.settings.stageOuterClass + })); + + // append stage + this.$element.append(this.$stage.parent()); + }; + + /** + * Create item DOM elements + */ + Owl.prototype.initializeItems = function() { + var $items = this.$element.find('.owl-item'); + + // if the items are already in the DOM, grab them and skip item initialization + if ($items.length) { + this._items = $items.get().map(function(item) { + return $(item); + }); + + this._mergers = this._items.map(function() { + return 1; + }); + + this.refresh(); + + return; + } + + // append content + this.replace(this.$element.children().not(this.$stage.parent())); + + // check visibility + if (this.isVisible()) { + // update view + this.refresh(); + } else { + // invalidate width + this.invalidate('width'); + } + + this.$element + .removeClass(this.options.loadingClass) + .addClass(this.options.loadedClass); + }; + + /** + * Initializes the carousel. + * @protected + */ + Owl.prototype.initialize = function() { + this.enter('initializing'); + this.trigger('initialize'); + + this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl); + + if (this.settings.autoWidth && !this.is('pre-loading')) { + var imgs, nestedSelector, width; + imgs = this.$element.find('img'); + nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined; + width = this.$element.children(nestedSelector).width(); + + if (imgs.length && width <= 0) { + this.preloadAutoWidthImages(imgs); + } + } + + this.initializeStage(); + this.initializeItems(); + + // register event handlers + this.registerEventHandlers(); + + this.leave('initializing'); + this.trigger('initialized'); + }; + + /** + * @returns {Boolean} visibility of $element + * if you know the carousel will always be visible you can set `checkVisibility` to `false` to + * prevent the expensive browser layout forced reflow the $element.is(':visible') does + */ + Owl.prototype.isVisible = function() { + return this.settings.checkVisibility + ? this.$element.is(':visible') + : true; + }; + + /** + * Setups the current settings. + * @todo Remove responsive classes. Why should adaptive designs be brought into IE8? + * @todo Support for media queries by using `matchMedia` would be nice. + * @public + */ + Owl.prototype.setup = function() { + var viewport = this.viewport(), + overwrites = this.options.responsive, + match = -1, + settings = null; + + if (!overwrites) { + settings = $.extend({}, this.options); + } else { + $.each(overwrites, function(breakpoint) { + if (breakpoint <= viewport && breakpoint > match) { + match = Number(breakpoint); + } + }); + + settings = $.extend({}, this.options, overwrites[match]); + if (typeof settings.stagePadding === 'function') { + settings.stagePadding = settings.stagePadding(); + } + delete settings.responsive; + + // responsive class + if (settings.responsiveClass) { + this.$element.attr('class', + this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\S+\\s', 'g'), '$1' + match) + ); + } + } + + this.trigger('change', { property: { name: 'settings', value: settings } }); + this._breakpoint = match; + this.settings = settings; + this.invalidate('settings'); + this.trigger('changed', { property: { name: 'settings', value: this.settings } }); + }; + + /** + * Updates option logic if necessery. + * @protected + */ + Owl.prototype.optionsLogic = function() { + if (this.settings.autoWidth) { + this.settings.stagePadding = false; + this.settings.merge = false; + } + }; + + /** + * Prepares an item before add. + * @todo Rename event parameter `content` to `item`. + * @protected + * @returns {jQuery|HTMLElement} - The item container. + */ + Owl.prototype.prepare = function(item) { + var event = this.trigger('prepare', { content: item }); + + if (!event.data) { + event.data = $('<' + this.settings.itemElement + '/>') + .addClass(this.options.itemClass).append(item) + } + + this.trigger('prepared', { content: event.data }); + + return event.data; + }; + + /** + * Updates the view. + * @public + */ + Owl.prototype.update = function() { + var i = 0, + n = this._pipe.length, + filter = $.proxy(function(p) { return this[p] }, this._invalidated), + cache = {}; + + while (i < n) { + if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) { + this._pipe[i].run(cache); + } + i++; + } + + this._invalidated = {}; + + !this.is('valid') && this.enter('valid'); + }; + + /** + * Gets the width of the view. + * @public + * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return. + * @returns {Number} - The width of the view in pixel. + */ + Owl.prototype.width = function(dimension) { + dimension = dimension || Owl.Width.Default; + switch (dimension) { + case Owl.Width.Inner: + case Owl.Width.Outer: + return this._width; + default: + return this._width - this.settings.stagePadding * 2 + this.settings.margin; + } + }; + + /** + * Refreshes the carousel primarily for adaptive purposes. + * @public + */ + Owl.prototype.refresh = function() { + this.enter('refreshing'); + this.trigger('refresh'); + + this.setup(); + + this.optionsLogic(); + + this.$element.addClass(this.options.refreshClass); + + this.update(); + + this.$element.removeClass(this.options.refreshClass); + + this.leave('refreshing'); + this.trigger('refreshed'); + }; + + /** + * Checks window `resize` event. + * @protected + */ + Owl.prototype.onThrottledResize = function() { + window.clearTimeout(this.resizeTimer); + this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate); + }; + + /** + * Checks window `resize` event. + * @protected + */ + Owl.prototype.onResize = function() { + if (!this._items.length) { + return false; + } + + if (this._width === this.$element.width()) { + return false; + } + + if (!this.isVisible()) { + return false; + } + + this.enter('resizing'); + + if (this.trigger('resize').isDefaultPrevented()) { + this.leave('resizing'); + return false; + } + + this.invalidate('width'); + + this.refresh(); + + this.leave('resizing'); + this.trigger('resized'); + }; + + /** + * Registers event handlers. + * @todo Check `msPointerEnabled` + * @todo #261 + * @protected + */ + Owl.prototype.registerEventHandlers = function() { + if ($.support.transition) { + this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this)); + } + + if (this.settings.responsive !== false) { + this.on(window, 'resize', this._handlers.onThrottledResize); + } + + if (this.settings.mouseDrag) { + this.$element.addClass(this.options.dragClass); + this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this)); + this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false }); + } + + if (this.settings.touchDrag){ + this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this)); + this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this)); + } + }; + + /** + * Handles `touchstart` and `mousedown` events. + * @todo Horizontal swipe threshold as option + * @todo #261 + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onDragStart = function(event) { + var stage = null; + + if (event.which === 3) { + return; + } + + if ($.support.transform) { + stage = this.$stage.css('transform').replace(/.*\(|\)| /g, '').split(','); + stage = { + x: stage[stage.length === 16 ? 12 : 4], + y: stage[stage.length === 16 ? 13 : 5] + }; + } else { + stage = this.$stage.position(); + stage = { + x: this.settings.rtl ? + stage.left + this.$stage.width() - this.width() + this.settings.margin : + stage.left, + y: stage.top + }; + } + + if (this.is('animating')) { + $.support.transform ? this.animate(stage.x) : this.$stage.stop() + this.invalidate('position'); + } + + this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown'); + + this.speed(0); + + this._drag.time = new Date().getTime(); + this._drag.target = $(event.target); + this._drag.stage.start = stage; + this._drag.stage.current = stage; + this._drag.pointer = this.pointer(event); + + $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this)); + + $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) { + var delta = this.difference(this._drag.pointer, this.pointer(event)); + + $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this)); + + if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) { + return; + } + + event.preventDefault(); + + this.enter('dragging'); + this.trigger('drag'); + }, this)); + }; + + /** + * Handles the `touchmove` and `mousemove` events. + * @todo #261 + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onDragMove = function(event) { + var minimum = null, + maximum = null, + pull = null, + delta = this.difference(this._drag.pointer, this.pointer(event)), + stage = this.difference(this._drag.stage.start, delta); + + if (!this.is('dragging')) { + return; + } + + event.preventDefault(); + + if (this.settings.loop) { + minimum = this.coordinates(this.minimum()); + maximum = this.coordinates(this.maximum() + 1) - minimum; + stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum; + } else { + minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum()); + maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum()); + pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0; + stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull); + } + + this._drag.stage.current = stage; + + this.animate(stage.x); + }; + + /** + * Handles the `touchend` and `mouseup` events. + * @todo #261 + * @todo Threshold for click event + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onDragEnd = function(event) { + var delta = this.difference(this._drag.pointer, this.pointer(event)), + stage = this._drag.stage.current, + direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right'; + + $(document).off('.owl.core'); + + this.$element.removeClass(this.options.grabClass); + + if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) { + this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed); + this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction)); + this.invalidate('position'); + this.update(); + + this._drag.direction = direction; + + if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) { + this._drag.target.one('click.owl.core', function() { return false; }); + } + } + + if (!this.is('dragging')) { + return; + } + + this.leave('dragging'); + this.trigger('dragged'); + }; + + /** + * Gets absolute position of the closest item for a coordinate. + * @todo Setting `freeDrag` makes `closest` not reusable. See #165. + * @protected + * @param {Number} coordinate - The coordinate in pixel. + * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`. + * @return {Number} - The absolute position of the closest item. + */ + Owl.prototype.closest = function(coordinate, direction) { + var position = -1, + pull = 30, + width = this.width(), + coordinates = this.coordinates(); + + if (!this.settings.freeDrag) { + // check closest item + $.each(coordinates, $.proxy(function(index, value) { + // on a left pull, check on current index + if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) { + position = index; + // on a right pull, check on previous index + // to do so, subtract width from value and set position = index + 1 + } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) { + position = index + 1; + } else if (this.op(coordinate, '<', value) + && this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) { + position = direction === 'left' ? index + 1 : index; + } + return position === -1; + }, this)); + } + + if (!this.settings.loop) { + // non loop boundries + if (this.op(coordinate, '>', coordinates[this.minimum()])) { + position = coordinate = this.minimum(); + } else if (this.op(coordinate, '<', coordinates[this.maximum()])) { + position = coordinate = this.maximum(); + } + } + + return position; + }; + + /** + * Animates the stage. + * @todo #270 + * @public + * @param {Number} coordinate - The coordinate in pixels. + */ + Owl.prototype.animate = function(coordinate) { + var animate = this.speed() > 0; + + this.is('animating') && this.onTransitionEnd(); + + if (animate) { + this.enter('animating'); + this.trigger('translate'); + } + + if ($.support.transform3d && $.support.transition) { + this.$stage.css({ + transform: 'translate3d(' + coordinate + 'px,0px,0px)', + transition: (this.speed() / 1000) + 's' + ( + this.settings.slideTransition ? ' ' + this.settings.slideTransition : '' + ) + }); + } else if (animate) { + this.$stage.animate({ + left: coordinate + 'px' + }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this)); + } else { + this.$stage.css({ + left: coordinate + 'px' + }); + } + }; + + /** + * Checks whether the carousel is in a specific state or not. + * @param {String} state - The state to check. + * @returns {Boolean} - The flag which indicates if the carousel is busy. + */ + Owl.prototype.is = function(state) { + return this._states.current[state] && this._states.current[state] > 0; + }; + + /** + * Sets the absolute position of the current item. + * @public + * @param {Number} [position] - The new absolute position or nothing to leave it unchanged. + * @returns {Number} - The absolute position of the current item. + */ + Owl.prototype.current = function(position) { + if (position === undefined) { + return this._current; + } + + if (this._items.length === 0) { + return undefined; + } + + position = this.normalize(position); + + if (this._current !== position) { + var event = this.trigger('change', { property: { name: 'position', value: position } }); + + if (event.data !== undefined) { + position = this.normalize(event.data); + } + + this._current = position; + + this.invalidate('position'); + + this.trigger('changed', { property: { name: 'position', value: this._current } }); + } + + return this._current; + }; + + /** + * Invalidates the given part of the update routine. + * @param {String} [part] - The part to invalidate. + * @returns {Array.} - The invalidated parts. + */ + Owl.prototype.invalidate = function(part) { + if ($.type(part) === 'string') { + this._invalidated[part] = true; + this.is('valid') && this.leave('valid'); + } + return $.map(this._invalidated, function(v, i) { return i }); + }; + + /** + * Resets the absolute position of the current item. + * @public + * @param {Number} position - The absolute position of the new item. + */ + Owl.prototype.reset = function(position) { + position = this.normalize(position); + + if (position === undefined) { + return; + } + + this._speed = 0; + this._current = position; + + this.suppress([ 'translate', 'translated' ]); + + this.animate(this.coordinates(position)); + + this.release([ 'translate', 'translated' ]); + }; + + /** + * Normalizes an absolute or a relative position of an item. + * @public + * @param {Number} position - The absolute or relative position to normalize. + * @param {Boolean} [relative=false] - Whether the given position is relative or not. + * @returns {Number} - The normalized position. + */ + Owl.prototype.normalize = function(position, relative) { + var n = this._items.length, + m = relative ? 0 : this._clones.length; + + if (!this.isNumeric(position) || n < 1) { + position = undefined; + } else if (position < 0 || position >= n + m) { + position = ((position - m / 2) % n + n) % n + m / 2; + } + + return position; + }; + + /** + * Converts an absolute position of an item into a relative one. + * @public + * @param {Number} position - The absolute position to convert. + * @returns {Number} - The converted position. + */ + Owl.prototype.relative = function(position) { + position -= this._clones.length / 2; + return this.normalize(position, true); + }; + + /** + * Gets the maximum position for the current item. + * @public + * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. + * @returns {Number} + */ + Owl.prototype.maximum = function(relative) { + var settings = this.settings, + maximum = this._coordinates.length, + iterator, + reciprocalItemsWidth, + elementWidth; + + if (settings.loop) { + maximum = this._clones.length / 2 + this._items.length - 1; + } else if (settings.autoWidth || settings.merge) { + iterator = this._items.length; + if (iterator) { + reciprocalItemsWidth = this._items[--iterator].width(); + elementWidth = this.$element.width(); + while (iterator--) { + reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin; + if (reciprocalItemsWidth > elementWidth) { + break; + } + } + } + maximum = iterator + 1; + } else if (settings.center) { + maximum = this._items.length - 1; + } else { + maximum = this._items.length - settings.items; + } + + if (relative) { + maximum -= this._clones.length / 2; + } + + return Math.max(maximum, 0); + }; + + /** + * Gets the minimum position for the current item. + * @public + * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position. + * @returns {Number} + */ + Owl.prototype.minimum = function(relative) { + return relative ? 0 : this._clones.length / 2; + }; + + /** + * Gets an item at the specified relative position. + * @public + * @param {Number} [position] - The relative position of the item. + * @return {jQuery|Array.} - The item at the given position or all items if no position was given. + */ + Owl.prototype.items = function(position) { + if (position === undefined) { + return this._items.slice(); + } + + position = this.normalize(position, true); + return this._items[position]; + }; + + /** + * Gets an item at the specified relative position. + * @public + * @param {Number} [position] - The relative position of the item. + * @return {jQuery|Array.} - The item at the given position or all items if no position was given. + */ + Owl.prototype.mergers = function(position) { + if (position === undefined) { + return this._mergers.slice(); + } + + position = this.normalize(position, true); + return this._mergers[position]; + }; + + /** + * Gets the absolute positions of clones for an item. + * @public + * @param {Number} [position] - The relative position of the item. + * @returns {Array.} - The absolute positions of clones for the item or all if no position was given. + */ + Owl.prototype.clones = function(position) { + var odd = this._clones.length / 2, + even = odd + this._items.length, + map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 }; + + if (position === undefined) { + return $.map(this._clones, function(v, i) { return map(i) }); + } + + return $.map(this._clones, function(v, i) { return v === position ? map(i) : null }); + }; + + /** + * Sets the current animation speed. + * @public + * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged. + * @returns {Number} - The current animation speed in milliseconds. + */ + Owl.prototype.speed = function(speed) { + if (speed !== undefined) { + this._speed = speed; + } + + return this._speed; + }; + + /** + * Gets the coordinate of an item. + * @todo The name of this method is missleanding. + * @public + * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`. + * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates. + */ + Owl.prototype.coordinates = function(position) { + var multiplier = 1, + newPosition = position - 1, + coordinate; + + if (position === undefined) { + return $.map(this._coordinates, $.proxy(function(coordinate, index) { + return this.coordinates(index); + }, this)); + } + + if (this.settings.center) { + if (this.settings.rtl) { + multiplier = -1; + newPosition = position + 1; + } + + coordinate = this._coordinates[position]; + coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier; + } else { + coordinate = this._coordinates[newPosition] || 0; + } + + coordinate = Math.ceil(coordinate); + + return coordinate; + }; + + /** + * Calculates the speed for a translation. + * @protected + * @param {Number} from - The absolute position of the start item. + * @param {Number} to - The absolute position of the target item. + * @param {Number} [factor=undefined] - The time factor in milliseconds. + * @returns {Number} - The time in milliseconds for the translation. + */ + Owl.prototype.duration = function(from, to, factor) { + if (factor === 0) { + return 0; + } + + return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed)); + }; + + /** + * Slides to the specified item. + * @public + * @param {Number} position - The position of the item. + * @param {Number} [speed] - The time in milliseconds for the transition. + */ + Owl.prototype.to = function(position, speed) { + var current = this.current(), + revert = null, + distance = position - this.relative(current), + direction = (distance > 0) - (distance < 0), + items = this._items.length, + minimum = this.minimum(), + maximum = this.maximum(); + + if (this.settings.loop) { + if (!this.settings.rewind && Math.abs(distance) > items / 2) { + distance += direction * -1 * items; + } + + position = current + distance; + revert = ((position - minimum) % items + items) % items + minimum; + + if (revert !== position && revert - distance <= maximum && revert - distance > 0) { + current = revert - distance; + position = revert; + this.reset(current); + } + } else if (this.settings.rewind) { + maximum += 1; + position = (position % maximum + maximum) % maximum; + } else { + position = Math.max(minimum, Math.min(maximum, position)); + } + + this.speed(this.duration(current, position, speed)); + this.current(position); + + if (this.isVisible()) { + this.update(); + } + }; + + /** + * Slides to the next item. + * @public + * @param {Number} [speed] - The time in milliseconds for the transition. + */ + Owl.prototype.next = function(speed) { + speed = speed || false; + this.to(this.relative(this.current()) + 1, speed); + }; + + /** + * Slides to the previous item. + * @public + * @param {Number} [speed] - The time in milliseconds for the transition. + */ + Owl.prototype.prev = function(speed) { + speed = speed || false; + this.to(this.relative(this.current()) - 1, speed); + }; + + /** + * Handles the end of an animation. + * @protected + * @param {Event} event - The event arguments. + */ + Owl.prototype.onTransitionEnd = function(event) { + + // if css2 animation then event object is undefined + if (event !== undefined) { + event.stopPropagation(); + + // Catch only owl-stage transitionEnd event + if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) { + return false; + } + } + + this.leave('animating'); + this.trigger('translated'); + }; + + /** + * Gets viewport width. + * @protected + * @return {Number} - The width in pixel. + */ + Owl.prototype.viewport = function() { + var width; + if (this.options.responsiveBaseElement !== window) { + width = $(this.options.responsiveBaseElement).width(); + } else if (window.innerWidth) { + width = window.innerWidth; + } else if (document.documentElement && document.documentElement.clientWidth) { + width = document.documentElement.clientWidth; + } else { + console.warn('Can not detect viewport width.'); + } + return width; + }; + + /** + * Replaces the current content. + * @public + * @param {HTMLElement|jQuery|String} content - The new content. + */ + Owl.prototype.replace = function(content) { + this.$stage.empty(); + this._items = []; + + if (content) { + content = (content instanceof jQuery) ? content : $(content); + } + + if (this.settings.nestedItemSelector) { + content = content.find('.' + this.settings.nestedItemSelector); + } + + content.filter(function() { + return this.nodeType === 1; + }).each($.proxy(function(index, item) { + item = this.prepare(item); + this.$stage.append(item); + this._items.push(item); + this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); + }, this)); + + this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0); + + this.invalidate('items'); + }; + + /** + * Adds an item. + * @todo Use `item` instead of `content` for the event arguments. + * @public + * @param {HTMLElement|jQuery|String} content - The item content to add. + * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end. + */ + Owl.prototype.add = function(content, position) { + var current = this.relative(this._current); + + position = position === undefined ? this._items.length : this.normalize(position, true); + content = content instanceof jQuery ? content : $(content); + + this.trigger('add', { content: content, position: position }); + + content = this.prepare(content); + + if (this._items.length === 0 || position === this._items.length) { + this._items.length === 0 && this.$stage.append(content); + this._items.length !== 0 && this._items[position - 1].after(content); + this._items.push(content); + this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); + } else { + this._items[position].before(content); + this._items.splice(position, 0, content); + this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1); + } + + this._items[current] && this.reset(this._items[current].index()); + + this.invalidate('items'); + + this.trigger('added', { content: content, position: position }); + }; + + /** + * Removes an item by its position. + * @todo Use `item` instead of `content` for the event arguments. + * @public + * @param {Number} position - The relative position of the item to remove. + */ + Owl.prototype.remove = function(position) { + position = this.normalize(position, true); + + if (position === undefined) { + return; + } + + this.trigger('remove', { content: this._items[position], position: position }); + + this._items[position].remove(); + this._items.splice(position, 1); + this._mergers.splice(position, 1); + + this.invalidate('items'); + + this.trigger('removed', { content: null, position: position }); + }; + + /** + * Preloads images with auto width. + * @todo Replace by a more generic approach + * @protected + */ + Owl.prototype.preloadAutoWidthImages = function(images) { + images.each($.proxy(function(i, element) { + this.enter('pre-loading'); + element = $(element); + $(new Image()).one('load', $.proxy(function(e) { + element.attr('src', e.target.src); + element.css('opacity', 1); + this.leave('pre-loading'); + !this.is('pre-loading') && !this.is('initializing') && this.refresh(); + }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina')); + }, this)); + }; + + /** + * Destroys the carousel. + * @public + */ + Owl.prototype.destroy = function() { + + this.$element.off('.owl.core'); + this.$stage.off('.owl.core'); + $(document).off('.owl.core'); + + if (this.settings.responsive !== false) { + window.clearTimeout(this.resizeTimer); + this.off(window, 'resize', this._handlers.onThrottledResize); + } + + for (var i in this._plugins) { + this._plugins[i].destroy(); + } + + this.$stage.children('.cloned').remove(); + + this.$stage.unwrap(); + this.$stage.children().contents().unwrap(); + this.$stage.children().unwrap(); + this.$stage.remove(); + this.$element + .removeClass(this.options.refreshClass) + .removeClass(this.options.loadingClass) + .removeClass(this.options.loadedClass) + .removeClass(this.options.rtlClass) + .removeClass(this.options.dragClass) + .removeClass(this.options.grabClass) + .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\S+\\s', 'g'), '')) + .removeData('owl.carousel'); + }; + + /** + * Operators to calculate right-to-left and left-to-right. + * @protected + * @param {Number} [a] - The left side operand. + * @param {String} [o] - The operator. + * @param {Number} [b] - The right side operand. + */ + Owl.prototype.op = function(a, o, b) { + var rtl = this.settings.rtl; + switch (o) { + case '<': + return rtl ? a > b : a < b; + case '>': + return rtl ? a < b : a > b; + case '>=': + return rtl ? a <= b : a >= b; + case '<=': + return rtl ? a >= b : a <= b; + default: + break; + } + }; + + /** + * Attaches to an internal event. + * @protected + * @param {HTMLElement} element - The event source. + * @param {String} event - The event name. + * @param {Function} listener - The event handler to attach. + * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not. + */ + Owl.prototype.on = function(element, event, listener, capture) { + if (element.addEventListener) { + element.addEventListener(event, listener, capture); + } else if (element.attachEvent) { + element.attachEvent('on' + event, listener); + } + }; + + /** + * Detaches from an internal event. + * @protected + * @param {HTMLElement} element - The event source. + * @param {String} event - The event name. + * @param {Function} listener - The attached event handler to detach. + * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not. + */ + Owl.prototype.off = function(element, event, listener, capture) { + if (element.removeEventListener) { + element.removeEventListener(event, listener, capture); + } else if (element.detachEvent) { + element.detachEvent('on' + event, listener); + } + }; + + /** + * Triggers a public event. + * @todo Remove `status`, `relatedTarget` should be used instead. + * @protected + * @param {String} name - The event name. + * @param {*} [data=null] - The event data. + * @param {String} [namespace=carousel] - The event namespace. + * @param {String} [state] - The state which is associated with the event. + * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not. + * @returns {Event} - The event arguments. + */ + Owl.prototype.trigger = function(name, data, namespace, state, enter) { + var status = { + item: { count: this._items.length, index: this.current() } + }, handler = $.camelCase( + $.grep([ 'on', name, namespace ], function(v) { return v }) + .join('-').toLowerCase() + ), event = $.Event( + [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(), + $.extend({ relatedTarget: this }, status, data) + ); + + if (!this._supress[name]) { + $.each(this._plugins, function(name, plugin) { + if (plugin.onTrigger) { + plugin.onTrigger(event); + } + }); + + this.register({ type: Owl.Type.Event, name: name }); + this.$element.trigger(event); + + if (this.settings && typeof this.settings[handler] === 'function') { + this.settings[handler].call(this, event); + } + } + + return event; + }; + + /** + * Enters a state. + * @param name - The state name. + */ + Owl.prototype.enter = function(name) { + $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { + if (this._states.current[name] === undefined) { + this._states.current[name] = 0; + } + + this._states.current[name]++; + }, this)); + }; + + /** + * Leaves a state. + * @param name - The state name. + */ + Owl.prototype.leave = function(name) { + $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) { + this._states.current[name]--; + }, this)); + }; + + /** + * Registers an event or state. + * @public + * @param {Object} object - The event or state to register. + */ + Owl.prototype.register = function(object) { + if (object.type === Owl.Type.Event) { + if (!$.event.special[object.name]) { + $.event.special[object.name] = {}; + } + + if (!$.event.special[object.name].owl) { + var _default = $.event.special[object.name]._default; + $.event.special[object.name]._default = function(e) { + if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) { + return _default.apply(this, arguments); + } + return e.namespace && e.namespace.indexOf('owl') > -1; + }; + $.event.special[object.name].owl = true; + } + } else if (object.type === Owl.Type.State) { + if (!this._states.tags[object.name]) { + this._states.tags[object.name] = object.tags; + } else { + this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags); + } + + this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) { + return $.inArray(tag, this._states.tags[object.name]) === i; + }, this)); + } + }; + + /** + * Suppresses events. + * @protected + * @param {Array.} events - The events to suppress. + */ + Owl.prototype.suppress = function(events) { + $.each(events, $.proxy(function(index, event) { + this._supress[event] = true; + }, this)); + }; + + /** + * Releases suppressed events. + * @protected + * @param {Array.} events - The events to release. + */ + Owl.prototype.release = function(events) { + $.each(events, $.proxy(function(index, event) { + delete this._supress[event]; + }, this)); + }; + + /** + * Gets unified pointer coordinates from event. + * @todo #261 + * @protected + * @param {Event} - The `mousedown` or `touchstart` event. + * @returns {Object} - Contains `x` and `y` coordinates of current pointer position. + */ + Owl.prototype.pointer = function(event) { + var result = { x: null, y: null }; + + event = event.originalEvent || event || window.event; + + event = event.touches && event.touches.length ? + event.touches[0] : event.changedTouches && event.changedTouches.length ? + event.changedTouches[0] : event; + + if (event.pageX) { + result.x = event.pageX; + result.y = event.pageY; + } else { + result.x = event.clientX; + result.y = event.clientY; + } + + return result; + }; + + /** + * Determines if the input is a Number or something that can be coerced to a Number + * @protected + * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested + * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number + */ + Owl.prototype.isNumeric = function(number) { + return !isNaN(parseFloat(number)); + }; + + /** + * Gets the difference of two vectors. + * @todo #261 + * @protected + * @param {Object} - The first vector. + * @param {Object} - The second vector. + * @returns {Object} - The difference. + */ + Owl.prototype.difference = function(first, second) { + return { + x: first.x - second.x, + y: first.y - second.y + }; + }; + + /** + * The jQuery Plugin for the Owl Carousel + * @todo Navigation plugin `next` and `prev` + * @public + */ + $.fn.owlCarousel = function(option) { + var args = Array.prototype.slice.call(arguments, 1); + + return this.each(function() { + var $this = $(this), + data = $this.data('owl.carousel'); + + if (!data) { + data = new Owl(this, typeof option == 'object' && option); + $this.data('owl.carousel', data); + + $.each([ + 'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove' + ], function(i, event) { + data.register({ type: Owl.Type.Event, name: event }); + data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) { + if (e.namespace && e.relatedTarget !== this) { + this.suppress([ event ]); + data[event].apply(this, [].slice.call(arguments, 1)); + this.release([ event ]); + } + }, data)); + }); + } + + if (typeof option == 'string' && option.charAt(0) !== '_') { + data[option].apply(data, args); + } + }); + }; + + /** + * The constructor for the jQuery Plugin + * @public + */ + $.fn.owlCarousel.Constructor = Owl; + +})(window.Zepto || window.jQuery, window, document); + +/** + * AutoRefresh Plugin + * @version 2.3.4 + * @author Artus Kolanowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the auto refresh plugin. + * @class The Auto Refresh Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var AutoRefresh = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Refresh interval. + * @protected + * @type {number} + */ + this._interval = null; + + /** + * Whether the element is currently visible or not. + * @protected + * @type {Boolean} + */ + this._visible = null; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoRefresh) { + this.watch(); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options); + + // register event handlers + this._core.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + */ + AutoRefresh.Defaults = { + autoRefresh: true, + autoRefreshInterval: 500 + }; + + /** + * Watches the element. + */ + AutoRefresh.prototype.watch = function() { + if (this._interval) { + return; + } + + this._visible = this._core.isVisible(); + this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval); + }; + + /** + * Refreshes the element. + */ + AutoRefresh.prototype.refresh = function() { + if (this._core.isVisible() === this._visible) { + return; + } + + this._visible = !this._visible; + + this._core.$element.toggleClass('owl-hidden', !this._visible); + + this._visible && (this._core.invalidate('width') && this._core.refresh()); + }; + + /** + * Destroys the plugin. + */ + AutoRefresh.prototype.destroy = function() { + var handler, property; + + window.clearInterval(this._interval); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Lazy Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the lazy plugin. + * @class The Lazy Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var Lazy = function(carousel) { + + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Already loaded items. + * @protected + * @type {Array.} + */ + this._loaded = []; + + /** + * Event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) { + if (!e.namespace) { + return; + } + + if (!this._core.settings || !this._core.settings.lazyLoad) { + return; + } + + if ((e.property && e.property.name == 'position') || e.type == 'initialized') { + var settings = this._core.settings, + n = (settings.center && Math.ceil(settings.items / 2) || settings.items), + i = ((settings.center && n * -1) || 0), + position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i, + clones = this._core.clones().length, + load = $.proxy(function(i, v) { this.load(v) }, this); + //TODO: Need documentation for this new option + if (settings.lazyLoadEager > 0) { + n += settings.lazyLoadEager; + // If the carousel is looping also preload images that are to the "left" + if (settings.loop) { + position -= settings.lazyLoadEager; + n++; + } + } + + while (i++ < n) { + this.load(clones / 2 + this._core.relative(position)); + clones && $.each(this._core.clones(this._core.relative(position)), load); + position++; + } + } + }, this) + }; + + // set the default options + this._core.options = $.extend({}, Lazy.Defaults, this._core.options); + + // register event handler + this._core.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + */ + Lazy.Defaults = { + lazyLoad: false, + lazyLoadEager: 0 + }; + + /** + * Loads all resources of an item at the specified position. + * @param {Number} position - The absolute position of the item. + * @protected + */ + Lazy.prototype.load = function(position) { + var $item = this._core.$stage.children().eq(position), + $elements = $item && $item.find('.owl-lazy'); + + if (!$elements || $.inArray($item.get(0), this._loaded) > -1) { + return; + } + + $elements.each($.proxy(function(index, element) { + var $element = $(element), image, + url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset'); + + this._core.trigger('load', { element: $element, url: url }, 'lazy'); + + if ($element.is('img')) { + $element.one('load.owl.lazy', $.proxy(function() { + $element.css('opacity', 1); + this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); + }, this)).attr('src', url); + } else if ($element.is('source')) { + $element.one('load.owl.lazy', $.proxy(function() { + this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); + }, this)).attr('srcset', url); + } else { + image = new Image(); + image.onload = $.proxy(function() { + $element.css({ + 'background-image': 'url("' + url + '")', + 'opacity': '1' + }); + this._core.trigger('loaded', { element: $element, url: url }, 'lazy'); + }, this); + image.src = url; + } + }, this)); + + this._loaded.push($item.get(0)); + }; + + /** + * Destroys the plugin. + * @public + */ + Lazy.prototype.destroy = function() { + var handler, property; + + for (handler in this.handlers) { + this._core.$element.off(handler, this.handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy; + +})(window.Zepto || window.jQuery, window, document); + +/** + * AutoHeight Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the auto height plugin. + * @class The Auto Height Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var AutoHeight = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + this._previousHeight = null; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoHeight) { + this.update(); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){ + this.update(); + } + }, this), + 'loaded.owl.lazy': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoHeight + && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) { + this.update(); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options); + + // register event handlers + this._core.$element.on(this._handlers); + this._intervalId = null; + var refThis = this; + + // These changes have been taken from a PR by gavrochelegnou proposed in #1575 + // and have been made compatible with the latest jQuery version + $(window).on('load', function() { + if (refThis._core.settings.autoHeight) { + refThis.update(); + } + }); + + // Autoresize the height of the carousel when window is resized + // When carousel has images, the height is dependent on the width + // and should also change on resize + $(window).resize(function() { + if (refThis._core.settings.autoHeight) { + if (refThis._intervalId != null) { + clearTimeout(refThis._intervalId); + } + + refThis._intervalId = setTimeout(function() { + refThis.update(); + }, 250); + } + }); + + }; + + /** + * Default options. + * @public + */ + AutoHeight.Defaults = { + autoHeight: false, + autoHeightClass: 'owl-height' + }; + + /** + * Updates the view. + */ + AutoHeight.prototype.update = function() { + var start = this._core._current, + end = start + this._core.settings.items, + lazyLoadEnabled = this._core.settings.lazyLoad, + visible = this._core.$stage.children().toArray().slice(start, end), + heights = [], + maxheight = 0; + + $.each(visible, function(index, item) { + heights.push($(item).height()); + }); + + maxheight = Math.max.apply(null, heights); + + if (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) { + maxheight = this._previousHeight; + } + + this._previousHeight = maxheight; + + this._core.$stage.parent() + .height(maxheight) + .addClass(this._core.settings.autoHeightClass); + }; + + AutoHeight.prototype.destroy = function() { + var handler, property; + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] !== 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Video Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the video plugin. + * @class The Video Plugin + * @param {Owl} carousel - The Owl Carousel + */ + var Video = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Cache all video URLs. + * @protected + * @type {Object} + */ + this._videos = {}; + + /** + * Current playing item. + * @protected + * @type {jQuery} + */ + this._playing = null; + + /** + * All event handlers. + * @todo The cloned content removale is too late + * @protected + * @type {Object} + */ + this._handlers = { + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace) { + this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] }); + } + }, this), + 'resize.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.video && this.isInFullScreen()) { + e.preventDefault(); + } + }, this), + 'refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.is('resizing')) { + this._core.$stage.find('.cloned .owl-video-frame').remove(); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name === 'position' && this._playing) { + this.stop(); + } + }, this), + 'prepared.owl.carousel': $.proxy(function(e) { + if (!e.namespace) { + return; + } + + var $element = $(e.content).find('.owl-video'); + + if ($element.length) { + $element.css('display', 'none'); + this.fetch($element, $(e.content)); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, Video.Defaults, this._core.options); + + // register event handlers + this._core.$element.on(this._handlers); + + this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) { + this.play(e); + }, this)); + }; + + /** + * Default options. + * @public + */ + Video.Defaults = { + video: false, + videoHeight: false, + videoWidth: false + }; + + /** + * Gets the video ID and the type (YouTube/Vimeo/vzaar only). + * @protected + * @param {jQuery} target - The target containing the video data. + * @param {jQuery} item - The item containing the video. + */ + Video.prototype.fetch = function(target, item) { + var type = (function() { + if (target.attr('data-vimeo-id')) { + return 'vimeo'; + } else if (target.attr('data-vzaar-id')) { + return 'vzaar' + } else { + return 'youtube'; + } + })(), + id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'), + width = target.attr('data-width') || this._core.settings.videoWidth, + height = target.attr('data-height') || this._core.settings.videoHeight, + url = target.attr('href'); + + if (url) { + + /* + Parses the id's out of the following urls (and probably more): + https://www.youtube.com/watch?v=:id + https://youtu.be/:id + https://vimeo.com/:id + https://vimeo.com/channels/:channel/:id + https://vimeo.com/groups/:group/videos/:id + https://app.vzaar.com/videos/:id + + Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F + */ + + id = url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/); + + if (id[3].indexOf('youtu') > -1) { + type = 'youtube'; + } else if (id[3].indexOf('vimeo') > -1) { + type = 'vimeo'; + } else if (id[3].indexOf('vzaar') > -1) { + type = 'vzaar'; + } else { + throw new Error('Video URL not supported.'); + } + id = id[6]; + } else { + throw new Error('Missing video URL.'); + } + + this._videos[url] = { + type: type, + id: id, + width: width, + height: height + }; + + item.attr('data-video', url); + + this.thumbnail(target, this._videos[url]); + }; + + /** + * Creates video thumbnail. + * @protected + * @param {jQuery} target - The target containing the video data. + * @param {Object} info - The video info object. + * @see `fetch` + */ + Video.prototype.thumbnail = function(target, video) { + var tnLink, + icon, + path, + dimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '', + customTn = target.find('img'), + srcType = 'src', + lazyClass = '', + settings = this._core.settings, + create = function(path) { + icon = '
'; + + if (settings.lazyLoad) { + tnLink = $('
',{ + "class": 'owl-video-tn ' + lazyClass, + "srcType": path + }); + } else { + tnLink = $( '
', { + "class": "owl-video-tn", + "style": 'opacity:1;background-image:url(' + path + ')' + }); + } + target.after(tnLink); + target.after(icon); + }; + + // wrap video content into owl-video-wrapper div + target.wrap( $( '
', { + "class": "owl-video-wrapper", + "style": dimensions + })); + + if (this._core.settings.lazyLoad) { + srcType = 'data-src'; + lazyClass = 'owl-lazy'; + } + + // custom thumbnail + if (customTn.length) { + create(customTn.attr(srcType)); + customTn.remove(); + return false; + } + + if (video.type === 'youtube') { + path = "//img.youtube.com/vi/" + video.id + "/hqdefault.jpg"; + create(path); + } else if (video.type === 'vimeo') { + $.ajax({ + type: 'GET', + url: '//vimeo.com/api/v2/video/' + video.id + '.json', + jsonp: 'callback', + dataType: 'jsonp', + success: function(data) { + path = data[0].thumbnail_large; + create(path); + } + }); + } else if (video.type === 'vzaar') { + $.ajax({ + type: 'GET', + url: '//vzaar.com/api/videos/' + video.id + '.json', + jsonp: 'callback', + dataType: 'jsonp', + success: function(data) { + path = data.framegrab_url; + create(path); + } + }); + } + }; + + /** + * Stops the current video. + * @public + */ + Video.prototype.stop = function() { + this._core.trigger('stop', null, 'video'); + this._playing.find('.owl-video-frame').remove(); + this._playing.removeClass('owl-video-playing'); + this._playing = null; + this._core.leave('playing'); + this._core.trigger('stopped', null, 'video'); + }; + + /** + * Starts the current video. + * @public + * @param {Event} event - The event arguments. + */ + Video.prototype.play = function(event) { + var target = $(event.target), + item = target.closest('.' + this._core.settings.itemClass), + video = this._videos[item.attr('data-video')], + width = video.width || '100%', + height = video.height || this._core.$stage.height(), + html, + iframe; + + if (this._playing) { + return; + } + + this._core.enter('playing'); + this._core.trigger('play', null, 'video'); + + item = this._core.items(this._core.relative(item.index())); + + this._core.reset(item.index()); + + html = $( '' ); + html.attr( 'height', height ); + html.attr( 'width', width ); + if (video.type === 'youtube') { + html.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id ); + } else if (video.type === 'vimeo') { + html.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' ); + } else if (video.type === 'vzaar') { + html.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' ); + } + + iframe = $(html).wrap( '
' ).insertAfter(item.find('.owl-video')); + + this._playing = item.addClass('owl-video-playing'); + }; + + /** + * Checks whether an video is currently in full screen mode or not. + * @todo Bad style because looks like a readonly method but changes members. + * @protected + * @returns {Boolean} + */ + Video.prototype.isInFullScreen = function() { + var element = document.fullscreenElement || document.mozFullScreenElement || + document.webkitFullscreenElement; + + return element && $(element).parent().hasClass('owl-video-frame'); + }; + + /** + * Destroys the plugin. + */ + Video.prototype.destroy = function() { + var handler, property; + + this._core.$element.off('click.owl.video'); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Video = Video; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Animate Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the animate plugin. + * @class The Navigation Plugin + * @param {Owl} scope - The Owl Carousel + */ + var Animate = function(scope) { + this.core = scope; + this.core.options = $.extend({}, Animate.Defaults, this.core.options); + this.swapping = true; + this.previous = undefined; + this.next = undefined; + + this.handlers = { + 'change.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name == 'position') { + this.previous = this.core.current(); + this.next = e.property.value; + } + }, this), + 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) { + if (e.namespace) { + this.swapping = e.type == 'translated'; + } + }, this), + 'translate.owl.carousel': $.proxy(function(e) { + if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) { + this.swap(); + } + }, this) + }; + + this.core.$element.on(this.handlers); + }; + + /** + * Default options. + * @public + */ + Animate.Defaults = { + animateOut: false, + animateIn: false + }; + + /** + * Toggles the animation classes whenever an translations starts. + * @protected + * @returns {Boolean|undefined} + */ + Animate.prototype.swap = function() { + + if (this.core.settings.items !== 1) { + return; + } + + if (!$.support.animation || !$.support.transition) { + return; + } + + this.core.speed(0); + + var left, + clear = $.proxy(this.clear, this), + previous = this.core.$stage.children().eq(this.previous), + next = this.core.$stage.children().eq(this.next), + incoming = this.core.settings.animateIn, + outgoing = this.core.settings.animateOut; + + if (this.core.current() === this.previous) { + return; + } + + if (outgoing) { + left = this.core.coordinates(this.previous) - this.core.coordinates(this.next); + previous.one($.support.animation.end, clear) + .css( { 'left': left + 'px' } ) + .addClass('animated owl-animated-out') + .addClass(outgoing); + } + + if (incoming) { + next.one($.support.animation.end, clear) + .addClass('animated owl-animated-in') + .addClass(incoming); + } + }; + + Animate.prototype.clear = function(e) { + $(e.target).css( { 'left': '' } ) + .removeClass('animated owl-animated-out owl-animated-in') + .removeClass(this.core.settings.animateIn) + .removeClass(this.core.settings.animateOut); + this.core.onTransitionEnd(); + }; + + /** + * Destroys the plugin. + * @public + */ + Animate.prototype.destroy = function() { + var handler, property; + + for (handler in this.handlers) { + this.core.$element.off(handler, this.handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.Animate = Animate; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Autoplay Plugin + * @version 2.3.4 + * @author Bartosz Wojciechowski + * @author Artus Kolanowski + * @author David Deutsch + * @author Tom De Caluwé + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + + /** + * Creates the autoplay plugin. + * @class The Autoplay Plugin + * @param {Owl} scope - The Owl Carousel + */ + var Autoplay = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * The autoplay timeout id. + * @type {Number} + */ + this._call = null; + + /** + * Depending on the state of the plugin, this variable contains either + * the start time of the timer or the current timer value if it's + * paused. Since we start in a paused state we initialize the timer + * value. + * @type {Number} + */ + this._time = 0; + + /** + * Stores the timeout currently used. + * @type {Number} + */ + this._timeout = 0; + + /** + * Indicates whenever the autoplay is paused. + * @type {Boolean} + */ + this._paused = true; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name === 'settings') { + if (this._core.settings.autoplay) { + this.play(); + } else { + this.stop(); + } + } else if (e.namespace && e.property.name === 'position' && this._paused) { + // Reset the timer. This code is triggered when the position + // of the carousel was changed through user interaction. + this._time = 0; + } + }, this), + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.autoplay) { + this.play(); + } + }, this), + 'play.owl.autoplay': $.proxy(function(e, t, s) { + if (e.namespace) { + this.play(t, s); + } + }, this), + 'stop.owl.autoplay': $.proxy(function(e) { + if (e.namespace) { + this.stop(); + } + }, this), + 'mouseover.owl.autoplay': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.pause(); + } + }, this), + 'mouseleave.owl.autoplay': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.play(); + } + }, this), + 'touchstart.owl.core': $.proxy(function() { + if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) { + this.pause(); + } + }, this), + 'touchend.owl.core': $.proxy(function() { + if (this._core.settings.autoplayHoverPause) { + this.play(); + } + }, this) + }; + + // register event handlers + this._core.$element.on(this._handlers); + + // set default options + this._core.options = $.extend({}, Autoplay.Defaults, this._core.options); + }; + + /** + * Default options. + * @public + */ + Autoplay.Defaults = { + autoplay: false, + autoplayTimeout: 5000, + autoplayHoverPause: false, + autoplaySpeed: false + }; + + /** + * Transition to the next slide and set a timeout for the next transition. + * @private + * @param {Number} [speed] - The animation speed for the animations. + */ + Autoplay.prototype._next = function(speed) { + this._call = window.setTimeout( + $.proxy(this._next, this, speed), + this._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read() + ); + + if (this._core.is('interacting') || document.hidden) { + return; + } + this._core.next(speed || this._core.settings.autoplaySpeed); + } + + /** + * Reads the current timer value when the timer is playing. + * @public + */ + Autoplay.prototype.read = function() { + return new Date().getTime() - this._time; + }; + + /** + * Starts the autoplay. + * @public + * @param {Number} [timeout] - The interval before the next animation starts. + * @param {Number} [speed] - The animation speed for the animations. + */ + Autoplay.prototype.play = function(timeout, speed) { + var elapsed; + + if (!this._core.is('rotating')) { + this._core.enter('rotating'); + } + + timeout = timeout || this._core.settings.autoplayTimeout; + + // Calculate the elapsed time since the last transition. If the carousel + // wasn't playing this calculation will yield zero. + elapsed = Math.min(this._time % (this._timeout || timeout), timeout); + + if (this._paused) { + // Start the clock. + this._time = this.read(); + this._paused = false; + } else { + // Clear the active timeout to allow replacement. + window.clearTimeout(this._call); + } + + // Adjust the origin of the timer to match the new timeout value. + this._time += this.read() % timeout - elapsed; + + this._timeout = timeout; + this._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed); + }; + + /** + * Stops the autoplay. + * @public + */ + Autoplay.prototype.stop = function() { + if (this._core.is('rotating')) { + // Reset the clock. + this._time = 0; + this._paused = true; + + window.clearTimeout(this._call); + this._core.leave('rotating'); + } + }; + + /** + * Pauses the autoplay. + * @public + */ + Autoplay.prototype.pause = function() { + if (this._core.is('rotating') && !this._paused) { + // Pause the clock. + this._time = this.read(); + this._paused = true; + + window.clearTimeout(this._call); + } + }; + + /** + * Destroys the plugin. + */ + Autoplay.prototype.destroy = function() { + var handler, property; + + this.stop(); + + for (handler in this._handlers) { + this._core.$element.off(handler, this._handlers[handler]); + } + for (property in Object.getOwnPropertyNames(this)) { + typeof this[property] != 'function' && (this[property] = null); + } + }; + + $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay; + +})(window.Zepto || window.jQuery, window, document); + +/** + * Navigation Plugin + * @version 2.3.4 + * @author Artus Kolanowski + * @author David Deutsch + * @license The MIT License (MIT) + */ +;(function($, window, document, undefined) { + 'use strict'; + + /** + * Creates the navigation plugin. + * @class The Navigation Plugin + * @param {Owl} carousel - The Owl Carousel. + */ + var Navigation = function(carousel) { + /** + * Reference to the core. + * @protected + * @type {Owl} + */ + this._core = carousel; + + /** + * Indicates whether the plugin is initialized or not. + * @protected + * @type {Boolean} + */ + this._initialized = false; + + /** + * The current paging indexes. + * @protected + * @type {Array} + */ + this._pages = []; + + /** + * All DOM elements of the user interface. + * @protected + * @type {Object} + */ + this._controls = {}; + + /** + * Markup for an indicator. + * @protected + * @type {Array.} + */ + this._templates = []; + + /** + * The carousel element. + * @type {jQuery} + */ + this.$element = this._core.$element; + + /** + * Overridden methods of the carousel. + * @protected + * @type {Object} + */ + this._overrides = { + next: this._core.next, + prev: this._core.prev, + to: this._core.to + }; + + /** + * All event handlers. + * @protected + * @type {Object} + */ + this._handlers = { + 'prepared.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.push('
' + + $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
'); + } + }, this), + 'added.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.splice(e.position, 0, this._templates.pop()); + } + }, this), + 'remove.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._core.settings.dotsData) { + this._templates.splice(e.position, 1); + } + }, this), + 'changed.owl.carousel': $.proxy(function(e) { + if (e.namespace && e.property.name == 'position') { + this.draw(); + } + }, this), + 'initialized.owl.carousel': $.proxy(function(e) { + if (e.namespace && !this._initialized) { + this._core.trigger('initialize', null, 'navigation'); + this.initialize(); + this.update(); + this.draw(); + this._initialized = true; + this._core.trigger('initialized', null, 'navigation'); + } + }, this), + 'refreshed.owl.carousel': $.proxy(function(e) { + if (e.namespace && this._initialized) { + this._core.trigger('refresh', null, 'navigation'); + this.update(); + this.draw(); + this._core.trigger('refreshed', null, 'navigation'); + } + }, this) + }; + + // set default options + this._core.options = $.extend({}, Navigation.Defaults, this._core.options); + + // register event handlers + this.$element.on(this._handlers); + }; + + /** + * Default options. + * @public + * @todo Rename `slideBy` to `navBy` + */ + Navigation.Defaults = { + nav: false, + navText: [ + '', + '' + ], + navSpeed: false, + navElement: 'button type="button" role="presentation"', + navContainer: false, + navContainerClass: 'owl-nav', + navClass: [ + 'owl-prev', + 'owl-next' + ], + slideBy: 1, + dotClass: 'owl-dot', + dotsClass: 'owl-dots', + dots: true, + dotsEach: false, + dotsData: false, + dotsSpeed: false, + dotsContainer: false + }; + + /** + * Initializes the layout of the plugin and extends the carousel. + * @protected + */ + Navigation.prototype.initialize = function() { + var override, + settings = this._core.settings; + + // create DOM structure for relative navigation + this._controls.$relative = (settings.navContainer ? $(settings.navContainer) + : $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled'); + + this._controls.$previous = $('<' + settings.navElement + '>') + .addClass(settings.navClass[0]) + .html(settings.navText[0]) + .prependTo(this._controls.$relative) + .on('click', $.proxy(function(e) { + this.prev(settings.navSpeed); + }, this)); + this._controls.$next = $('<' + settings.navElement + '>') + .addClass(settings.navClass[1]) + .html(settings.navText[1]) + .appendTo(this._controls.$relative) + .on('click', $.proxy(function(e) { + this.next(settings.navSpeed); + }, this)); + + // create DOM structure for absolute navigation + if (!settings.dotsData) { + this._templates = [ $('