Prechádzať zdrojové kódy

Kingfisher sin Modificaciones

Edgar Ortigoza 8 rokov pred
commit
38e74e7153
100 zmenil súbory, kde vykonal 3534 pridanie a 0 odobranie
  1. 28 0
      LICENSE
  2. BIN
      Odoo Kinfisher Pro Fashion - User Guide.pdf
  3. 5 0
      __init__.py
  4. 36 0
      __openerp__.py
  5. 4 0
      controllers/__init__.py
  6. 343 0
      controllers/main.py
  7. 41 0
      data/data.xml
  8. 277 0
      data/demo_homepage.xml
  9. 21 0
      doc/changelog.rst
  10. 6 0
      models/__init__.py
  11. 177 0
      models/products.py
  12. 102 0
      models/slider.py
  13. 276 0
      models/website.py
  14. 11 0
      security/ir.model.access.csv
  15. BIN
      static/description/blog.png
  16. BIN
      static/description/brand.png
  17. BIN
      static/description/building-blocks.jpg
  18. BIN
      static/description/categories.png
  19. BIN
      static/description/category-slider.png
  20. BIN
      static/description/falcon_theme.png
  21. BIN
      static/description/features.png
  22. BIN
      static/description/flip-product.png
  23. BIN
      static/description/footer.png
  24. BIN
      static/description/icon.png
  25. BIN
      static/description/icons.png
  26. 419 0
      static/description/index.html
  27. BIN
      static/description/kingfisher-pro-fashion_Banner_1.png
  28. BIN
      static/description/kingfisher.jpg
  29. BIN
      static/description/kingfisher_pro_bicycle.png
  30. BIN
      static/description/mega-menu.png
  31. BIN
      static/description/men-bg-new.png
  32. BIN
      static/description/multiple-products.png
  33. BIN
      static/description/multiple-store-support.png
  34. BIN
      static/description/multiple-views.png
  35. BIN
      static/description/pagination.png
  36. BIN
      static/description/price-slider.png
  37. BIN
      static/description/product-slider.png
  38. BIN
      static/description/products-per-grid.png
  39. BIN
      static/description/promo.png
  40. BIN
      static/description/reviews.png
  41. BIN
      static/description/search.png
  42. BIN
      static/description/selected-filters.png
  43. BIN
      static/description/service-banner.png
  44. BIN
      static/description/service.png
  45. BIN
      static/description/single-slider.png
  46. BIN
      static/description/slider.png
  47. BIN
      static/description/splash-screen.png
  48. BIN
      static/description/tabs.png
  49. BIN
      static/description/tags.png
  50. BIN
      static/description/testimonials.png
  51. BIN
      static/description/theme-customization.png
  52. 150 0
      static/src/css/ion.rangeSlider.css
  53. 124 0
      static/src/css/ion.rangeSlider.skinHTML5.css
  54. 18 0
      static/src/css/kingfisher_pro.css
  55. 71 0
      static/src/css/owl.carousel.css
  56. 71 0
      static/src/css/owl.carousel2.css
  57. 1354 0
      static/src/css/unite-gallery.css
  58. BIN
      static/src/images/1play-button-square.png
  59. BIN
      static/src/images/button-close.png
  60. BIN
      static/src/images/cover-grid.png
  61. BIN
      static/src/images/icon-link32.png
  62. BIN
      static/src/images/icon-play32.png
  63. BIN
      static/src/images/icon-zoom32.png
  64. BIN
      static/src/images/lightbox-arrow-left.png
  65. BIN
      static/src/images/lightbox-arrow-right.png
  66. BIN
      static/src/images/lightbox-icon-close-compact.png
  67. BIN
      static/src/images/lightbox-icon-close-compact2.png
  68. BIN
      static/src/images/lightbox-icon-close.png
  69. BIN
      static/src/images/loader-black1.gif
  70. BIN
      static/src/images/loader-black2.gif
  71. BIN
      static/src/images/loader-black3.gif
  72. BIN
      static/src/images/loader-black4.gif
  73. BIN
      static/src/images/loader-black5.gif
  74. BIN
      static/src/images/loader-black6.gif
  75. BIN
      static/src/images/loader-black7.gif
  76. BIN
      static/src/images/loader-white1.gif
  77. BIN
      static/src/images/loader-white2.gif
  78. BIN
      static/src/images/loader-white3.gif
  79. BIN
      static/src/images/loader-white4.gif
  80. BIN
      static/src/images/loader-white5.gif
  81. BIN
      static/src/images/loader-white6.gif
  82. BIN
      static/src/images/loader-white7.gif
  83. BIN
      static/src/images/loader.gif
  84. BIN
      static/src/images/loader_bright.gif
  85. BIN
      static/src/images/loader_skype_trans.gif
  86. BIN
      static/src/images/not_loaded.png
  87. BIN
      static/src/images/play-button-round.png
  88. BIN
      static/src/images/play-button-square.png
  89. BIN
      static/src/images/transparent.png
  90. BIN
      static/src/img/call-footer.png
  91. BIN
      static/src/img/call.png
  92. BIN
      static/src/img/cart.png
  93. BIN
      static/src/img/cart2.png
  94. BIN
      static/src/img/config.png
  95. BIN
      static/src/img/eye-view.png
  96. BIN
      static/src/img/favicon.ico
  97. BIN
      static/src/img/icons/banner-without-slider.png
  98. BIN
      static/src/img/icons/blog.png
  99. BIN
      static/src/img/icons/brand.png
  100. BIN
      static/src/img/icons/home-slider-icon.png

+ 28 - 0
LICENSE

@@ -0,0 +1,28 @@
+Odoo Proprietary License v1.0
+
+This software and associated files (the "Software") may only be used (executed,
+modified, executed after modifications) if you have purchased a valid license
+from the authors, typically via Odoo Apps, or if you have received a written
+agreement from the authors of the Software (see the COPYRIGHT file).
+
+You may develop Odoo modules that use the Software as a library (typically
+by depending on it, importing it and using its resources), but without copying
+any source code or material from the Software. You may distribute those
+modules under the license of your choice, provided that this license is
+compatible with the terms of the Odoo Proprietary License (For example:
+LGPL, MIT, or proprietary licenses similar to this one).
+
+It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+or modified copies of the Software.
+
+The above copyright notice and this permission notice must be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+

BIN
Odoo Kinfisher Pro Fashion - User Guide.pdf


+ 5 - 0
__init__.py

@@ -0,0 +1,5 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+import models
+import controllers

+ 36 - 0
__openerp__.py

@@ -0,0 +1,36 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+{
+    'name': 'Kingfisher Pro Fashion',
+    'description': 'Theme Kingfisher Pro Fashion',
+    'category': 'Theme/Ecommerce',
+    'version': '8.0.1.0.2',
+    'author': 'BiztechCS',
+    'website': 'https://www.biztechconsultancy.com/',
+    'depends': [
+        'website_sale',
+        'mass_mailing',
+        'website_less',
+        'website_blog',
+    ],
+    'data': [
+        'views/assets.xml',
+        'security/ir.model.access.csv',
+        'views/slider_view.xml',
+        'views/product_view.xml',
+        'views/snippets.xml',
+        'views/website_config_view.xml',
+        'views/theme_customize.xml',
+        'data/data.xml',
+        'views/theme.xml',
+    ],
+    'demo': [
+        'data/demo_homepage.xml',
+    ],
+    'application': True,
+    'live_test_url': 'http://theme-kingfisher-pro-fashion.biztechconsultancy.com',
+    'images': ['static/description/splash-screen.png'],
+    'price': 109.00,
+    'currency': 'EUR',
+}

+ 4 - 0
controllers/__init__.py

@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+import main

+ 343 - 0
controllers/main.py

@@ -0,0 +1,343 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+import re
+from openerp import http
+from openerp.http import request
+from openerp.addons.website.models.website import slug
+from openerp.addons.website_sale.controllers import main
+from openerp.addons.website_sale.controllers import main as main_shop
+from openerp.addons.website_sale.controllers.main import QueryURL
+from openerp.addons.website_sale.controllers.main import website_sale
+from openerp.addons.website_sale.controllers.main import table_compute
+
+
+class KingfisherProSliderSettings(http.Controller):
+
+    @http.route(['/kingfisher_pro/pro_get_options'], type='json', auth="public", website=True)
+    def get_slider_options(self):
+        slider_options = []
+        option = request.env['product.category.slider.config'].search(
+            [('active', '=', True)], order="name asc")
+        for record in option:
+            slider_options.append({'id': record.id,
+                                   'name': record.name})
+        return slider_options
+
+    @http.route(['/kingfisher_pro/pro_get_dynamic_slider'], type='http', auth='public', website=True)
+    def get_dynamic_slider(self, **post):
+        if post.get('slider-type'):
+            slider_header = request.env['product.category.slider.config'].sudo().search(
+                [('id', '=', int(post.get('slider-type')))])
+            values = {
+                'slider_header': slider_header
+            }
+            if slider_header.prod_cat_type == 'product':
+                values.update({'slider_details': slider_header.collections_product})
+            if slider_header.prod_cat_type == 'category':
+                values.update({'slider_details': slider_header.collections_category})
+            values.update({'slider_type': slider_header.prod_cat_type})
+            return request.website.render("kingfisher_pro.kingfisher_pro_pro_cat_slider_view", values)
+
+    @http.route(['/kingfisher_pro/pro_image_effect_config'], type='json', auth='public', website=True)
+    def product_image_dynamic_slider(self, **post):
+        slider_data = request.env['product.category.slider.config'].search(
+            [('id', '=', int(post.get('slider_type')))])
+        values = {
+            's_id': slider_data.prod_cat_type + str(slider_data.id),
+            'counts': slider_data.no_of_counts,
+            'auto_rotate': slider_data.auto_rotate,
+            'auto_play_time': slider_data.sliding_speed,
+        }
+        return values
+
+    @http.route(['/kingfisher_pro/blog_get_options'], type='json', auth="public", website=True)
+    def king_blog_get_slider_options(self):
+        slider_options = []
+        option = request.env['blog.slider.config'].search(
+            [('active', '=', True)], order="name asc")
+        for record in option:
+            slider_options.append({'id': record.id,
+                                   'name': record.name})
+        return slider_options
+
+    @http.route(['/kingfisher_pro/blog_get_dynamic_slider'], type='http', auth='public', website=True)
+    def king_blog_get_dynamic_slider(self, **post):
+        if post.get('slider-type'):
+            slider_header = request.env['blog.slider.config'].sudo().search(
+                [('id', '=', int(post.get('slider-type')))])
+            values = {
+                'slider_header': slider_header,
+                'blog_slider_details': slider_header.collections_blog_post,
+            }
+            return request.website.render("kingfisher_pro.kingfisher_pro_blog_slider_view", values)
+
+    @http.route(['/kingfisher_pro/blog_image_effect_config'], type='json', auth='public', website=True)
+    def king_blog_product_image_dynamic_slider(self, **post):
+        slider_data = request.env['blog.slider.config'].search(
+            [('id', '=', int(post.get('slider_type')))])
+        values = {
+            's_id': slider_data.no_of_counts + '-' + str(slider_data.id),
+            'counts': slider_data.no_of_counts,
+            'auto_rotate': slider_data.auto_rotate,
+            'auto_play_time': slider_data.sliding_speed,
+        }
+        return values
+
+    # Multi image gallery
+    @http.route(['/kingfisher_pro/multi_image_effect_config'], type='json', auth="public", website=True)
+    def get_multi_image_effect_config(self):
+
+        cur_website = request.website
+        values = {
+            'no_extra_options': cur_website.no_extra_options,
+            'theme_panel_position': cur_website.thumbnail_panel_position,
+            'interval_play': cur_website.interval_play,
+            'enable_disable_text': cur_website.enable_disable_text,
+            'color_opt_thumbnail': cur_website.color_opt_thumbnail,
+            'change_thumbnail_size': cur_website.change_thumbnail_size,
+            'thumb_height': cur_website.thumb_height,
+            'thumb_width': cur_website.thumb_width,
+        }
+        return values
+
+    # For multi product slider
+    @http.route(['/kingfisher_pro/product_multi_get_options'], type='json', auth="public", website=True)
+    def product_multi_get_slider_options(self):
+        slider_options = []
+        option = request.env['multi.slider.config'].search(
+            [('active', '=', True)], order="name asc")
+        for record in option:
+            slider_options.append({'id': record.id,
+                                   'name': record.name})
+        return slider_options
+
+    @http.route(['/kingfisher_pro/product_multi_get_dynamic_slider'], type='http', auth='public', website=True)
+    def product_multi_get_dynamic_slider(self, **post):
+        if post.get('slider-type'):
+            slider_header = request.env['multi.slider.config'].sudo().search(
+                [('id', '=', int(post.get('slider-type')))])
+            values = {
+                'slider_details': slider_header,
+                'slider_header': slider_header
+            }
+            return request.website.render("kingfisher_pro.kingfisher_pro_multi_cat_slider_view", values)
+
+    @http.route(['/kingfisher_pro/product_multi_image_effect_config'], type='json', auth='public', website=True)
+    def product_multi_product_image_dynamic_slider(self, **post):
+        slider_data = request.env['multi.slider.config'].search(
+            [('id', '=', int(post.get('slider_type')))])
+        values = {
+            's_id': slider_data.no_of_collection + '-' + str(slider_data.id),
+            'counts': slider_data.no_of_collection,
+            'auto_rotate': slider_data.auto_rotate,
+            'auto_play_time': slider_data.sliding_speed,
+        }
+        return values
+
+
+class KingfisherProBrandSlider(website_sale):
+
+    @http.route(['/shop/pager_selection/<model("product.per.page.no"):pl_id>'], type='http', auth="public", website=True)
+    def product_page_change(self, pl_id, **post):
+        request.session['default_paging_no'] = pl_id.name
+        main.PPG = pl_id.name
+        return request.redirect('/shop' or request.httprequest.referrer)
+
+    @http.route(['/shop',
+                 '/shop/page/<int:page>',
+                 '/shop/category/<model("product.public.category"):category>',
+                 '/shop/category/<model("product.public.category"):category>/page/<int:page>',
+                 '/shop/brands'],
+                type='http',
+                auth='public',
+                website=True)
+    def shop(self, page=0, category=None, brand=None, search='', ppg=False, **post):
+        cr, uid, context, pool = request.cr, request.uid, request.context, request.registry
+        if brand:
+            request.context.setdefault('brand_id', int(brand))
+        result = super(KingfisherProBrandSlider, self).shop(
+            page=page, category=category, brand=brand, search=search, **post)
+        sort_order = ""
+        cat_id = []
+        ppg = main_shop.PPG
+        product = []
+        newproduct = []
+
+        # product template object
+        product_obj = pool.get('product.template')
+
+        attrib_list = request.httprequest.args.getlist('attrib')
+        attrib_values = [map(int, v.split("-")) for v in attrib_list if v]
+        attributes_ids = set([v[0] for v in attrib_values])
+        attrib_set = set([v[1] for v in attrib_values])
+        domain = request.website.sale_product_domain()
+        domain += self._get_search_domain(search, category, attrib_values)
+        url = "/shop"
+        # For Product tags
+        if post:
+            request.session.update(post)
+
+        prevurl = request.httprequest.referrer
+        if prevurl:
+            if not re.search('/shop', prevurl, re.IGNORECASE):
+                request.session['tag'] = ""
+                request.session['sort_id'] = ""
+                request.session['sortid'] = ""
+                request.session['pricerange'] = ""
+                request.session['min1'] = ""
+                request.session['max1'] = ""
+
+        session = request.session
+        # for category filter
+        if category:
+            category = pool['product.public.category'].browse(
+                cr, uid, int(category), context=context)
+            url = "/shop/category/%s" % slug(category)
+        if category != None:
+            for ids in category:
+                cat_id.append(ids.id)
+            domain += ['|', ('public_categ_ids.id', 'in', cat_id),
+                       ('public_categ_ids.parent_id', 'in', cat_id)]
+        # for tag filter
+        if session.get('tag'):
+            session_tag = session.get('tag')
+            tag = session_tag[0]
+            tags_obj = pool['biztech.product.tags']
+            tags_ids = tags_obj.search(cr, uid, [], context=context)
+            tags = tags_obj.browse(cr, uid, tags_ids, context=context)
+            if tag:
+                tag = pool['biztech.product.tags'].browse(cr, uid, int(tag), context=context)
+                domain += [('tag_ids', '=', int(tag))]
+                request.session["tag"] = [tag.id, tag.name]
+
+        # For Product Sorting
+        if session.get('sort_id'):
+            session_sort = session.get('sort_id')
+            sort = session_sort
+            sorts_obj = pool['biztech.product.sortby']
+            sorts_ids = sorts_obj.search(cr, uid, [], context=context)
+            sorts = sorts_obj.browse(cr, uid, sorts_ids, context=context)
+            sort_field = pool['biztech.product.sortby'].browse(cr, uid, int(sort), context=context)
+            request.session['product_sort_name'] = sort_field.name
+            order_field = sort_field.sort_on.name
+            order_type = sort_field.sort_type
+            sort_order = '%s %s' % (order_field, order_type)
+            if post.get("sort_id"):
+                request.session["sortid"] = [sort, sort_order, sort_field.name, order_type]
+
+        # For Price slider
+        product_slider_ids = product_obj.search(cr, uid, [], context=context)
+        products_slider = product_obj.browse(cr, uid, product_slider_ids, context=context)
+        product_withprice = products_slider._product_template_price(products_slider, domain)
+
+        if product_withprice:
+            if post.get("range1") or post.get("range2") or not post.get("range1") or not post.get("range2"):
+                range1 = min(product_withprice.values())
+                range2 = max(product_withprice.values())
+                result.qcontext['range1'] = range1
+                result.qcontext['range2'] = range2
+
+            if session.get("min1") and session["min1"]:
+                post["min1"] = session["min1"]
+            if session.get("max1") and session["max1"]:
+                post["max1"] = session["max1"]
+            if range1:
+                post["range1"] = range1
+            if range1:
+                post["range2"] = range1
+
+            if request.session.get('min1') or request.session.get('max1'):
+                if request.session.get('min1'):
+                    if request.session['min1'] != None:
+                        for prod_id in product_withprice:
+                            if product_withprice.get(prod_id) >= float(request.session['min1']) and product_withprice.get(prod_id) <= float(request.session['max1']):
+                                product.append(prod_id)
+                        request.session["pricerange"] = str(
+                            request.session['min1'])+"-To-"+str(request.session['max1'])
+                newproduct = product
+                domain += [('id', 'in', newproduct)]
+
+            if session.get('min1') and session['min1']:
+                result.qcontext['min1'] = session["min1"]
+                result.qcontext['max1'] = session["max1"]
+
+        if request.session.get('default_paging_no'):
+            ppg = int(request.session.get('default_paging_no'))
+
+        # For Collascpe category
+        parent_category_ids = []
+        if category:
+            parent_category_ids = [category.id]
+            current_category = category
+            while current_category.parent_id:
+                parent_category_ids.append(current_category.parent_id.id)
+                current_category = current_category.parent_id
+        result.qcontext['parent_category_ids'] = parent_category_ids
+
+        product_count = product_obj.search_count(cr, uid, domain, context=context)
+        pager = request.website.pager(
+            url=url, total=product_count, page=page, step=ppg, scope=7, url_args=post)
+        product_ids = product_obj.search(
+            cr, uid, domain, limit=ppg, offset=pager['offset'], order=sort_order, context=context)
+        products = product_obj.browse(cr, uid, product_ids, context=context)
+
+        result.qcontext.update({'product_count': product_count})
+        result.qcontext.update({'products': products})
+        result.qcontext.update({'category': category})
+        result.qcontext.update({'pager': pager})
+
+        result.qcontext.update({'bins': table_compute().process(products)})
+
+        result.qcontext['brand'] = brand
+        result.qcontext['brand_obj'] = request.env['product.brands'].search([('id', '=', brand)])
+
+        return result
+
+    @http.route()
+    def cart_update_json(self, product_id, line_id=None, add_qty=None, set_qty=None, display=True):
+        result = super(KingfisherProBrandSlider, self).cart_update_json(
+            product_id=product_id, line_id=line_id, add_qty=add_qty, set_qty=set_qty, display=display)
+        result.update({'kingfisher_pro.hover_total': request.website._render("kingfisher_pro.hover_total", {
+            'website_sale_order': request.website.sale_get_order()
+            })
+        })
+        return result
+
+    @http.route(['/king_pro/get_brand_slider'], type='http', auth='public', website=True)
+    def get_brand_slider(self, **post):
+        keep = QueryURL('/king_pro/get_brand_slider', brand_id=[])
+
+        value = {
+            'website_brands': False,
+            'brand_header': False,
+            'keep': keep
+        }
+
+        if post.get('product_count'):
+            brand_data = request.env['product.brands'].search(
+                [], limit=int(post.get('product_count')))
+            if brand_data:
+                value['website_brands'] = brand_data
+
+        if post.get('product_label'):
+            value['brand_header'] = post.get('product_label')
+
+        return request.website.render("kingfisher_pro.kingfisher_pro_brand_slider_view", value)
+
+    @http.route(['/kingfisher_pro/removeattribute'], type='json', auth='public', website=True)
+    def remove_selected_attribute(self, **post):
+        if post.get("attr_remove"):
+            remove = post.get("attr_remove")
+            if remove == "pricerange":
+                del request.session['min1']
+                del request.session['max1']
+                request.session[remove] = ''
+                return True
+            elif remove == "sortid":
+                request.session[remove] = ''
+                request.session["sort_id"] = ''
+                return True
+            elif remove == "tag":
+                request.session[remove] = ''
+                return True

+ 41 - 0
data/data.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+
+        <record id="record_no_of_product_per_page_no_10" model="product.per.page.no">
+            <field name="name">9</field>
+        </record>
+
+        <record id="record_no_of_product_per_page_no_20" model="product.per.page.no">
+            <field name="name">18</field>
+            <field name="set_default_check">True</field>
+        </record>
+
+        <record id="record_no_of_product_per_page_no_30" model="product.per.page.no">
+            <field name="name">27</field>
+        </record>
+
+        <record id="record_no_of_product_per_page_no_40" model="product.per.page.no">
+            <field name="name">36</field>
+        </record>
+
+        <record id="record_no_of_product_per_page_no_50" model="product.per.page.no">
+            <field name="name">45</field>
+        </record>
+
+        <record id="record_no_of_product_per_page_no_100" model="product.per.page.no">
+            <field name="name">90</field>
+        </record>
+
+        <record id="record_no_of_product_per_page" model="product.per.page" >
+            <field name="name">Show</field>
+            <field name="no_ids" eval="[(6, 0, [ref('record_no_of_product_per_page_no_10'),
+                                               ref('record_no_of_product_per_page_no_20'),
+                                               ref('record_no_of_product_per_page_no_30'),
+                                               ref('record_no_of_product_per_page_no_40'),
+                                               ref('record_no_of_product_per_page_no_50'),
+                                               ref('record_no_of_product_per_page_no_100')])]"/>
+        </record>
+
+    </data>
+</openerp>

+ 277 - 0
data/demo_homepage.xml

@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data noupdate="1">
+
+    <!-- Home Page -->
+    <template id="homepage_body" inherit_id="website.homepage">
+        <xpath expr="//div" position="inside">
+            <div class="oe_structure">
+            <!-- Home slider -->
+                <section class="theme-home-slider oe_snippet_body">
+                    <div id="myCarousel" class="carousel slide theme-home-slider s_kingfisher_pro_home_slider" data-interval="10000" data-ride="carousel">
+                        <!-- Indicators -->
+                        <ol class="carousel-indicators">
+                            <li data-slide-to="0" data-target="#myCarousel" class="active" />
+                            <li data-slide-to="1" data-target="#myCarousel"/>
+                        </ol>
+                        <!-- Wrapper for slides -->
+                        <div class="carousel-inner">
+                            <div class="item item1 active">
+                                <div class="container">
+                                    <div class="row content">
+                                        <blockquote class="col-md-6 col-sm-6 col-xs-6">
+                                            <p>New Collection</p>
+                                            <h2>Men Blazers</h2>
+                                            <h5>Save <span>20%</span></h5>
+                                            <div class="btn-box">
+                                                <a href="#">Shop now <i class="fa fa-angle-right"/></a>
+                                            </div>
+                                        </blockquote>
+                                        <div class="col-md-6 col-sm-6 col-xs-6">
+                                            <img src="/kingfisher_pro/static/src/img/men-blazer.png"/>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="item item2">
+                                <div class="container">
+                                    <div class="row content">
+                                        <blockquote class="pull-right col-md-6 col-sm-6 sol-xs-6">
+                                            <p>Western Wear</p>
+                                            <h2>Women Tops</h2>
+                                            <h5>Save <span>20%</span></h5>
+                                            <div class="btn-box">
+                                                <a href="#">Shop now <i class="fa fa-angle-right"/></a>
+                                            </div>
+                                        </blockquote>
+                                        <div class="col-md-6 col-sm-6 col-xs-6">
+                                                <img src="/kingfisher_pro/static/src/img/women-top.png"/>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                        <!-- Controls -->
+                        <a class="left carousel-control" data-target="#myCarousel" data-slide="prev" role="button">
+                            <span aria-hidden="true" class="previous-icon">
+                                <img src="/kingfisher_pro/static/src/img/prev-slide.png"/>
+                            </span>
+                            <span class="sr-only">Previous</span>
+                        </a>
+                        <a class="right carousel-control" data-slide="next" data-target="#myCarousel" role="button">
+                            <span aria-hidden="true" class="next-icon">
+                                <img src="/kingfisher_pro/static/src/img/next-slide.png"/>
+                            </span>
+                            <span class="sr-only">Next</span>
+                        </a>
+                    </div>
+                </section>
+
+                <!-- Promo snippet -->
+                <section class="ads-section oe_snippet_body">
+                    <div class="container">
+                        <div class="row">
+                            <div class="col-lg-3 col-md-4 col-sm-4 col-xs-12 text-center">
+                                <section class="adsb-inner adsb-inner1 small-banners">
+                                    <div class="inner-content">
+                                        <h5>MEN'S SHOES</h5>
+                                        <section class="image-section">
+                                            <img alt="Shoes" class="img-responsive" src="/kingfisher_pro/static/src/img/snippet/shoes.png" title="Shoes"/>
+                                        </section>
+                                        <div class="btn-box">
+                                            <button>SHOP NOW 
+                                                <i class="fa fa-angle-right"/></button>
+                                        </div>
+                                    </div>
+                                    <a href="#">
+                                        <span class="dark-div">
+                                            <span class="inner-div"/>
+                                        </span>
+                                    </a>
+                                </section>
+                                <section class="adsb-inner adsb-inner4 small-banners">
+                                    <div class="inner-content">
+                                        <h5>MEN'S WATCH</h5>
+                                        <section class="image-section">
+                                            <img alt="Watch" class="img-responsive" src="/kingfisher_pro/static/src/img/snippet/watch.png" title="Watch"/>
+                                        </section>
+                                        <div class="btn-box">
+                                            <button>SHOP NOW 
+                                                <i class="fa fa-angle-right"/></button>
+                                        </div>
+                                    </div>
+                                    <a href="#">
+                                        <span class="dark-div">
+                                            <span class="inner-div"/>
+                                        </span>
+                                    </a>
+                                </section>
+                            </div>
+                            <div class="col-lg-6 col-md-4 col-sm-4 col-xs-12">
+                                <section class="adsb-inner adsb-inner2 middle-banner" style="background:rgba(0,0,0,0) url(/kingfisher_pro/static/src/img/snippet/middle-box-bg.png)no-repeat; background-size:cover">
+                                    <div class="middle-content">
+                                        <a href="#">
+                                            <span class="line1">BIGGEST</span><br/>
+                                            <span class="line2">SALE</span><br/>
+                                            <span class="line3">50%</span>
+                                        </a>
+                                    </div>
+                                </section>
+                            </div>
+                            <div class="col-lg-3 col-md-4 col-sm-4 col-xs-12">
+                                <section class="adsb-inner adsb-inner3 small-banners">
+                                    <div class="inner-content">
+                                        <h5>WOMEN'S GLASSES</h5>
+                                        <section class="image-section">
+                                            <img alt="Spacs" class="img-responsive" src="/kingfisher_pro/static/src/img/snippet/spacs.png" title="Spacs"/>
+                                        </section>
+                                        <div class="btn-box">
+                                            <button>SHOP NOW <i class="fa fa-angle-right"/></button>
+                                        </div>
+                                    </div>
+                                   <a href="#">
+                                        <span class="dark-div">
+                                            <span class="inner-div"/>
+                                        </span>
+                                    </a>
+                                </section>
+                                <section class="adsb-inner adsb-inner3 small-banners">
+                                    <div class="inner-content">
+                                        <h5>WOMEN'S JEWELLARY</h5>
+                                        <section class="image-section">
+                                            <img alt="Jewellary" class="img-responsive" src="/kingfisher_pro/static/src/img/snippet/jewellary.png" title="Jewellary"/>
+                                        </section>
+                                        <div class="btn-box">
+                                            <button>SHOP NOW <i class="fa fa-angle-right"/></button>
+                                        </div>
+                                    </div>
+                                   <a href="#">
+                                        <span class="dark-div">
+                                            <span class="inner-div"/>
+                                        </span>
+                                    </a>
+                                </section>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+
+                <!-- Single banner without slider -->
+                <section class="new-collection" style="background-image:url(/kingfisher_pro/static/src/img/snippet/bg-banner.png)">
+                    <div class="container">
+                        <div class="row">
+                            <div class="col-md-6 col-sm-6 sol-xs-6">
+                                <div class="inner-content">
+                                    <h5 class="">New collection</h5>
+                                    <h3>2016</h3>
+                                    <p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse
+                                        <br/>
+                                        molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero
+                                        <br/>
+                                        eros et accumsan et iusto odio dignissim qui blandit praesent luptatum
+                                        <br/>
+                                        zzril delenit augue duis dolore te feugait nulla facilisi.</p>
+                                </div>
+                                <div class="btn-box">
+                                    <a href="#">Shop now <i class="fa fa-angle-right"/></a>
+                                </div>
+                            </div>
+                            <div class="col-md-6 col-sm-6 sol-xs-6">
+                                <img alt="Bag" src="/kingfisher_pro/static/src/img/snippet/bag.png" title="Bag"/>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+
+                <!-- Testimonals -->
+                <section class="testimonials oe_snippet_body" style="background-image:url(/kingfisher_pro/static/src/img/snippet/testimonial-bg.png)" data-scroll-background-ratio="0.3">
+                    <div class="container">
+                        <div class="row">
+                            <div class="col-md-3 col-sm-12">
+                                <div class="pf-page-title">
+                                    <h4 class="">Testimonials</h4>
+                                </div>
+                            </div>
+                            <div class="col-md-9 col-sm-12 slider">
+
+                                <div id="myQuoteCarousel" class="psb-inner carousel quotecarousel slide">
+                                    <div class="carousel-inner">
+                                        <div class="item text_only active">
+                                            <div class="container">
+                                                <div class="row content">
+                                                    <blockquote>
+                                                        <p>
+                                                            Write a quote here from one of your customers. Quotes are a
+                                                            great way to build confidence in your products or services.
+                                                        </p>
+                                                        <p class="author">John Warner</p>
+                                                        <p class="designation">CEO, ABC company</p>
+                                                    </blockquote>
+                                                </div>
+                                            </div>
+                                        </div>
+                                        <div class="item text_only">
+                                            <div class="container">
+                                                <div class="row content">
+                                                    <blockquote>
+                                                        <p>
+                                                            Odoo provides essential platform for our project management.
+                                                            Things are better organized and more visible with it.
+                                                        </p>
+                                                        <p class="author">John Warner</p>
+                                                        <p class="designation">CEO, ABC company</p>
+                                                    </blockquote>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <a class= "carousel-control left" href= "#myQuoteCarousel" data-slide= "prev"><i class='fa fa-arrow-left'/></a>
+                                    <a class= "carousel-control right" href= "#myQuoteCarousel" data-slide= "next"><i class='fa fa-arrow-right'/></a>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+
+                <!-- Service snippet -->
+                <section class="services text-center s_kingfisher_pro_service_snippet">
+                    <div class="container">
+                        <div class="row">
+                            <div class="col-sm-4">
+                                <a href="#">
+                                     <i class="fa fa-shopping-cart" aria-hidden="true" alt="Free Shipping"></i>
+                                </a>
+                                <h4 class="">
+                                    <b>FREE SHIPPING WORLDWIDE</b>
+                                </h4>
+                                <h5 class="">FREE SHIPPING WORLDWIDE</h5>
+                            </div>
+                            <div class="col-sm-4">
+                                <a href="#">
+                                    <i class="fa fa-phone" aria-hidden="true" Title="Customer Service" alt="Customer Service"></i>
+                                </a>
+                                <h4 class="">
+                                    <b>24/7 CUSTOMER SERVICE</b>
+                                </h4>
+                                <h5 class="">SERVICE SUPPORT 24/7</h5>
+                            </div>
+                            <div class="col-sm-4">
+                                <a href="#">
+                                    <i class="fa fa-money" aria-hidden="true" Title="Money Back" alt="Money Back"></i>
+                                </a>
+                                <h4 class="">
+                                    <b>MONEY BACK GUARANTEE !</b>
+                                </h4>
+                                <h5 class="">100% MONEY BACK - 30 DAYS</h5>
+                            </div>
+                        </div>
+                    </div>
+                </section>
+
+            </div>
+
+        </xpath>
+    </template>
+
+</data>
+</openerp>

+ 21 - 0
doc/changelog.rst

@@ -0,0 +1,21 @@
+========================
+``Kingfisher Pro Theme`` changelog
+========================
+
+*****
+
+Added translations file and make fields translatable
+
+*****
+
+1/. Added translation file for French(BE).
+
+2/. Make char fields translatable.
+
+*****
+
+Fixed the category paging issue
+
+*****
+
+1/. Fixed the issue which occured while switching pages into categories on website.

+ 6 - 0
models/__init__.py

@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+import slider
+import products
+import website

+ 177 - 0
models/products.py

@@ -0,0 +1,177 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+from openerp import api, fields, models, _
+from openerp.exceptions import Warning
+from openerp.addons.website_sale.controllers import main
+
+
+class Brands(models.Model):
+    _name = 'product.brands'
+
+    name = fields.Char(string='Brand Name', required=True, translate=True)
+    brand_description = fields.Html(string='Description', translate=True)
+    brand_logo = fields.Binary(string='Brand Logo')
+    brand_cover = fields.Binary(string='Brand Cover')
+    product_ids = fields.One2many(
+        'product.template',
+        'product_brand_id',
+        string='Product Brands',
+    )
+    products_count = fields.Integer(
+        string='Number of products',
+        compute='_get_products_count',
+    )
+
+    @api.one
+    @api.depends('product_ids')
+    def _get_products_count(self):
+        self.products_count = len(self.product_ids)
+
+
+class ProductStyleTags(models.Model):
+    _name = 'biztech.product.style.tag'
+
+    name = fields.Char(string='Tag Name', required=True, translate=True)
+    color = fields.Selection(
+        [('red', 'Red'), ('new', 'Green'), ('sale', 'Orange')], string="Color")
+    product_ids = fields.One2many(
+        'product.template',
+        'product_style_tag_id',
+        string='Product Tags',
+    )
+
+
+class KingProductImages(models.Model):
+    _name = 'biztech.product.images'
+    _description = "Add Multiple Image in Product"
+
+    name = fields.Char(string='Title', translate=True)
+    alt = fields.Char(string='Alt', translate=True)
+    attach_type = fields.Selection([('image', 'Image'), ('video', 'Video')],
+                                   default='image',
+                                   string="Type")
+    image = fields.Binary(string='Image')
+    video_type = fields.Selection([('youtube', 'Youtube'),
+                                   ('vimeo', 'Vimeo'),
+                                   ('html5video', 'Html5 Video')],
+                                  default='youtube',
+                                  string="Video media player")
+    cover_image = fields.Binary(string='Cover image',
+                                # required=True,
+                                help="Cover Image will be show untill video is loaded.")
+    video_id = fields.Char(string='Video ID')
+    video_ogv = fields.Char(string='Video OGV', help="Link for ogv format video")
+    video_webm = fields.Char(string='Video WEBM', help="Link for webm format video")
+    video_mp4 = fields.Char(string='Video MP4', help="Link for mp4 format video")
+    sequence = fields.Integer(string='Sort Order')
+    product_tmpl_id = fields.Many2one('product.template', string='Product')
+    more_view_exclude = fields.Boolean(string="More View Exclude")
+
+
+class ProductTemplate(models.Model):
+    _inherit = 'product.template'
+
+    product_brand_id = fields.Many2one(
+        'product.brands',
+        string='Brand',
+        help='Select a brand for this product'
+    )
+    images = fields.One2many('biztech.product.images', 'product_tmpl_id',
+                             string='Images')
+    multi_image = fields.Boolean(string="Add Multiple Images?")
+    tag_ids = fields.Many2many('biztech.product.tags', string="Tags")
+    is_flip_image = fields. Boolean(
+        string="Add flip image", help="Enable this checkbox for adding flip image on product website.")
+    flip_image = fields.Binary(string='Flip image',
+                               help="Flip image will be shown on mouse hover in website on specific product.")
+    product_style_tag_id = fields.Many2one(
+        'biztech.product.style.tag',
+        string='Tags',
+        help='Select a tag for this product'
+    )
+
+
+class ProductTags(models.Model):
+    _name = 'biztech.product.tags'
+    _order = "sequence"
+
+    name = fields.Char(string="Tag Name", help="Tag Name", required=True, translate=True)
+    active = fields.Boolean(
+        string="Active", help="Enable or Disable tag from website", default=True)
+    sequence = fields.Integer(
+        string='Sequence', help="You can define sequence of tags you want to show tags")
+    product_ids = fields.Many2many('product.template', string='Products', required=True)
+
+    _sql_constraints = [('unique_tag_name', 'unique(name)', 'Tag name should be unique..!'), ]
+
+
+class ProductSortBy(models.Model):
+    _name = 'biztech.product.sortby'
+
+    name = fields.Char(string="Name", help='Name for sorting option', translate=True,
+                       required=True)
+    sort_type = fields.Selection(
+        [('asc', 'Ascending'), ('desc', 'Descending')], string="Type", default='asc')
+    sort_on = fields.Many2one('ir.model.fields', string='Sort On',
+                              help='Select field on which you want to apply sorting',
+                              domain=[('model', '=', 'product.template'), ('ttype', 'in', ('char', 'float', 'integer', 'datetime', 'date'))])
+
+
+class ProductCategory(models.Model):
+    _inherit = 'product.public.category'
+
+    include_in_megamenu = fields.Boolean(
+        string="Include in mega menu", help="Include in mega menu")
+    menu_id = fields.Many2one('website.menu', string="Main menu")
+    description = fields.Text(string="Description",
+                              help="Short description which will be visible below category slider.")
+
+
+class ProductPerPageNo(models.Model):
+    _name = "product.per.page.no"
+    _order = 'name asc'
+
+    name = fields.Integer(string='Product per page')
+    set_default_check = fields.Boolean(string="Set default")
+    prod_page_id = fields.Many2one('product.per.page')
+
+    @api.model
+    def create(self, vals):
+        res = super(ProductPerPageNo, self).create(vals)
+        if vals.get('name') == 0:
+            raise Warning(_("Warning! You cannot set 'zero' for product page."))
+        if vals.get('set_default_check'):
+            true_records = self.search(
+                [('set_default_check', '=', True), ('id', '!=', res.id)])
+            true_records.write({'set_default_check': False})
+        return res
+
+    @api.multi
+    def write(self, vals):
+        res = super(ProductPerPageNo, self).write(vals)
+        if vals.get('name') == 0:
+            raise Warning(_("Warning! You cannot set 'zero' for product page."))
+        if vals.get('set_default_check'):
+            true_records = self.search(
+                [('set_default_check', '=', True), ('id', '!=', self.id)])
+            true_records.write({'set_default_check': False})
+        return res
+
+
+class ProductPerPage(models.Model):
+    _name = "product.per.page"
+
+    name = fields.Char(string="Label Name", translate=True)
+    no_ids = fields.One2many(
+        'product.per.page.no', 'prod_page_id', string="No of product to display")
+
+    @api.multi
+    def write(self, vals):
+        res = super(ProductPerPage, self).write(vals)
+        default_pg = self.env['product.per.page.no'].search([('set_default_check', '=', True)])
+        if default_pg.name:
+            main.PPG = int(default_pg.name)
+        else:
+            raise Warning(_("Warning! You have to set atleast one default value."))
+        return res

+ 102 - 0
models/slider.py

@@ -0,0 +1,102 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+from openerp import api, fields, models
+
+
+class ProductCategorySlider(models.Model):
+    _name = 'product.category.slider.config'
+
+    name = fields.Char(string="Slider name", default='Trending', required=True,
+                       translate=True,
+                       help="Slider title to be displayed on website like Best products, Latest and etc...")
+    active = fields.Boolean(string="Active", default=True)
+    no_of_counts = fields.Selection([('3', '3'), ('4', '4'), ('5', '5'), ('6', '6')], string="Counts",
+                                    default='4', required=True,
+                                    help="No of products to be displayed in slider.")
+    prod_cat_type = fields.Selection([('product', 'Product'), ('category', 'Category')],
+                                     string="Type of slider", default='product', required=True,
+                                     help="Select product or category for whom you want to show a slider.")
+    auto_rotate = fields.Boolean(string='Auto Rotate Slider', default=True)
+    sliding_speed = fields.Integer(string="Slider sliding speed", default='5000',
+                                   help='Sliding speed of a slider can be set from here and it will be in milliseconds.')
+    collections_product = fields.Many2many('product.template', 'king_pro_product_slider_rel', 'slider_id',
+                                           'prod_id', string="Collections of product")
+    collections_category = fields.Many2many('product.public.category', 'king_pro_category_slider_rel',
+                                            'slider_id', 'cat_id', string="Collections of category")
+
+
+class BlogSlider(models.Model):
+
+    _name = 'blog.slider.config'
+
+    name = fields.Char(string="Slider name", default='Blogs', translate=True,
+                       help="Slider title to be displayed on website like Our Blogs, Latest Blog Post and etc...",
+                       required=True)
+    active = fields.Boolean(string="Active", default=True)
+    no_of_counts = fields.Selection([('1', '1'), ('2', '2'), ('3', '3')], string="Counts",
+                                    default='3', help="No of blogs to be displayed in slider.", required=True)
+    auto_rotate = fields.Boolean(string='Auto Rotate Slider', default=True)
+    sliding_speed = fields.Integer(string="Slider sliding speed", default='5000',
+                                   help='Sliding speed of a slider can be set from here and it will be in milliseconds.')
+    collections_blog_post = fields.Many2many('blog.post', 'blogpost_slider_rel', 'slider_id',
+                                             'post_id', string="Collections of blog posts", required=True)
+
+
+class MultiSlider(models.Model):
+    _name = 'multi.slider.config'
+
+    name = fields.Char(string="Slider name", default='Trending',
+                       required=True, translate=True,
+                       help="Slider title to be displayed on website like Best products, Latest and etc...")
+    active = fields.Boolean(string="Active", default=True)
+
+    auto_rotate = fields.Boolean(string='Auto Rotate Slider', default=True)
+    sliding_speed = fields.Integer(string="Slider sliding speed", default='5000',
+                                   help='Sliding speed of a slider can be set from here and it will be in milliseconds.')
+
+    no_of_collection = fields.Selection([('2', '2'), ('3', '3'), ('4', '4'), ('5', '5')],
+                                        string="No. of collections to show", default='2',
+                                        required=True,
+                                        help="No of collections to be displayed on slider.")
+
+    label_collection_1 = fields.Char(string="1st collection name", default='First collection',
+                                     required=True, translate=True,
+                                     help="Collection label to be displayed in website like Men, Women, Kids, etc...")
+    collection_1_ids = fields.Many2many('product.template', 'product_slider_collection_1_rel', 'slider_id',
+                                        'prod_id',
+                                        required=True,
+                                        string="1st product collection")
+
+    label_collection_2 = fields.Char(string="2nd collection name", default='Second collection',
+                                     required=True, translate=True,
+                                     help="Collection label to be displayed in website like Men, Women, Kids, etc...")
+    collection_2_ids = fields.Many2many('product.template', 'product_slider_collection_2_rel', 'slider_id',
+                                        'prod_id',
+                                        required=True,
+                                        string="2nd product collection")
+
+    label_collection_3 = fields.Char(string="3rd collection name", default='Third collection',
+                                     translate=True,
+                                     # required=True,
+                                     help="Collection label to be displayed in website like Men, Women, Kids, etc...")
+    collection_3_ids = fields.Many2many('product.template', 'product_slider_collection_3_rel', 'slider_id',
+                                        'prod_id',
+                                        # required=True,
+                                        string="3rd product collection")
+
+    label_collection_4 = fields.Char(string="4th collection name", default='Fourth collection', translate=True,
+                                     # required=True,
+                                     help="Collection label to be displayed in website like Men, Women, Kids, etc...")
+    collection_4_ids = fields.Many2many('product.template', 'product_slider_collection_4_rel', 'slider_id',
+                                        'prod_id',
+                                        # required=True,
+                                        string="4th product collection")
+
+    label_collection_5 = fields.Char(string="5th collection name", default='Fifth collection', translate=True,
+                                     # required=True,
+                                     help="Collection label to be displayed in website like Men, Women, Kids, etc...")
+    collection_5_ids = fields.Many2many('product.template', 'product_slider_collection_5_rel', 'slider_id',
+                                        'prod_id',
+                                        # required=True,
+                                        string="5th product collection")

+ 276 - 0
models/website.py

@@ -0,0 +1,276 @@
+# -*- coding: utf-8 -*-
+# Part of BiztechCS. See LICENSE file for full copyright and licensing details.
+
+import math
+import werkzeug
+from openerp import api, fields, models, _
+from openerp.http import request
+from openerp.addons.website_sale.controllers import main
+
+PPG = 18
+
+
+class WebsiteMenu(models.Model):
+    _inherit = "website.menu"
+
+    is_megamenu = fields.Boolean(string='Is megamenu...?')
+    megamenu_type = fields.Selection([('2_col', '2 Columns'),
+                                      ('3_col', '3 Columns'),
+                                      ('4_col', '4 Columns')],
+                                     default='3_col',
+                                     string="Megamenu type")
+    megamenu_bg = fields.Boolean(string='Want to set megamenu background', default=False)
+    megamenu_bg_img_color = fields.Selection([('bg_img', 'Background image'),
+                                              ('bg_color', 'Background color')],
+                                             default='bg_img',
+                                             string="Megamenu background selection")
+    megamenu_bg_image = fields.Binary(string="Background image for megamenu")
+    megamenu_bg_color = fields.Char(string="Background color for megamenu",
+                                    default='#ccc',
+                                    help="Background color for megamenu, for setting background color you have to pass hexacode here.")
+    category_slider = fields.Boolean(string='Want to display category slider', default=False)
+    carousel_header_name = fields.Char(string="Slider label",
+                                       default="Latest", translate=True,
+                                       help="Header name for carousel slider in megamenu")
+    category_slider_position = fields.Selection([('left', 'Left'), ('right', 'Right')],
+                                                default='left', string="Category Slider Position")
+    menu_icon = fields.Boolean(string='Want to display menu icon', default=False)
+    menu_icon_image = fields.Binary(string="Menu Icon", help="Menu icon for your menu")
+
+    display_menu_footer = fields.Boolean(string="Display menu footer", default=False,
+                                         help="For displaying footer in megamenu")
+    menu_footer = fields.Html(string="Footer content",
+                              help="Footer name for megamenu")
+    customize_menu_colors = fields.Boolean(string='Want to customize menu colors', default=False)
+    main_category_color = fields.Char(string='Main category color',
+                                      help="Set color for main category in megamenu")
+    sub_category_color = fields.Char(string='Sub category color',
+                                     help="Set color for sab category in megamenu")
+
+
+class website(models.Model):
+    _inherit = 'website'
+
+    # For Multi image
+    thumbnail_panel_position = fields.Selection([
+        ('left', 'Left'),
+        ('right', 'Right'),
+        ('bottom', 'Bottom'),
+    ], default='left',
+        string='Thumbnails panel position',
+        help="Select the position where you want to display the thumbnail panel in multi image.")
+    interval_play = fields.Char(string='Play interval of slideshow', default='5000',
+                                help='With this field you can set the interval play time between two images.')
+    enable_disable_text = fields.Boolean(string='Enable the text panel',
+                                         default=True,
+                                         help='Enable/Disable text which is visible on the image in multi image.')
+    color_opt_thumbnail = fields.Selection([
+        ('default', 'Default'),
+        ('b_n_w', 'B/W'),
+        ('sepia', 'Sepia'),
+        ('blur', 'Blur'), ],
+        default='default',
+        string="Thumbnail overlay effects")
+    no_extra_options = fields.Boolean(string='Slider effects',
+                                      default=True,
+                                      help="Slider with all options for next, previous, play, pause, fullscreen, hide/show thumbnail panel.")
+    change_thumbnail_size = fields.Boolean(string="Change thumbnail size", default=False)
+    thumb_height = fields.Char(string='Thumb height', default=50)
+    thumb_width = fields.Char(string='Thumb width', default=88)
+
+    # For Sort By
+    enable_sort_by = fields.Boolean(string='Enable product sorting option',
+                                    help='For enabling product sorting feature in website.',
+                                    default=True)
+
+    # For first last pager
+    enable_first_last_pager = fields.Boolean(string="Enable First and Last Pager", default=True,
+                                             help="Enable this checkbox to make 'First' and 'Last' button in pager on website.")
+    # Product per grid
+    product_display_grid = fields.Selection([('2', '2'), ('3', '3'), ('4', '4')],
+                                            default='3', string='Product per grid', help="Display no. of products per line in website product grid.")
+
+    # For first last pager
+    def get_pager_selection(self):
+        prod_per_page = self.env['product.per.page'].search([])
+        prod_per_page_no = self.env['product.per.page.no'].search([])
+        values = {
+            'name': prod_per_page.name,
+            'page_no': prod_per_page_no,
+        }
+        return values
+
+    def get_current_pager_selection(self):
+        if request.session.get('default_paging_no'):
+            return int(request.session.get('default_paging_no'))
+        else:
+            return PPG
+
+    def pager(self, cr, uid, ids, url, total, page=1, step=30, scope=5, url_args=None, context=None):
+        res = super(website, self). pager(cr, uid, ids, url=url,
+                                          total=total,
+                                          page=page,
+                                          step=step,
+                                          scope=scope,
+                                          url_args=url_args,
+                                          context=context)
+        # Compute Pager
+        page_count = int(math.ceil(float(total) / step))
+
+        page = max(1, min(int(page if str(page).isdigit() else 1), page_count))
+        scope -= 1
+
+        pmin = max(page - int(math.floor(scope/2)), 1)
+        pmax = min(pmin + scope, page_count)
+
+        if pmax - pmin < scope:
+            pmin = pmax - scope if pmax - scope > 0 else 1
+
+        def get_url(page):
+            _url = "%s/page/%s" % (url, page) if page > 1 else url
+            if url_args and not url_args.get('tag') and not url_args.get('range1') and not url_args.get('range2') and not url_args.get('max1') and not url_args.get('min1') and not url_args.get('sort_id'):
+                _url = "%s?%s" % (_url, werkzeug.url_encode(url_args))
+            return _url
+        res.update({
+            # Overrite existing
+            "page_start": {
+                'url': get_url(pmin),
+                'num': pmin
+            },
+            "page_previous": {
+                'url': get_url(max(pmin, page - 1)),
+                'num': max(pmin, page - 1)
+            },
+            "page_next": {
+                'url': get_url(min(pmax, page + 1)),
+                'num': min(pmax, page + 1)
+            },
+            "page_end": {
+                'url': get_url(pmax),
+                'num': pmax
+            },
+            'page_first': {
+                'url': get_url(1),
+                'num': 1
+            },
+            'page_last': {
+                'url': get_url(int(res['page_count'])),
+                'num': int(res['page_count'])
+            },
+            'pages': [
+                {'url': get_url(page), 'num': page}
+                for page in xrange(pmin, pmax+1)
+            ]
+        })
+        return res
+
+    # For multi image
+    @api.multi
+    def get_multiple_images(self, product_id=None):
+        product_img_data = False
+        if product_id:
+            self.env.cr.execute(
+                "select id from biztech_product_images where product_tmpl_id=%s and more_view_exclude IS NOT TRUE order by sequence", ([product_id]))
+            product_ids = map(lambda x: x[0], self.env.cr.fetchall())
+            if product_ids:
+                product_img_data = self.env['biztech.product.images'].browse(
+                    product_ids)
+        return product_img_data
+
+    # For brands
+    def sale_product_domain(self, cr, uid, ids, context=None):
+        domain = super(website, self).sale_product_domain(cr, uid, ids=ids,
+                                                          context=context)
+        if 'brand_id' in request.context:
+            domain.append(
+                ('product_brand_id', '=', request.context['brand_id']))
+        return domain
+
+    # For product tags feature
+    def get_product_tags(self):
+        product_tags = self.env['biztech.product.tags'].search([])
+        return product_tags
+
+    # For Sorting products
+    def get_sort_by_data(self):
+        request.session['product_sort_name'] = ''
+        sort_by = self.env['biztech.product.sortby'].search([])
+        return sort_by
+
+    # For setting current sort list
+    def set_current_sorting_data(self):
+        sort_name = request.session.get('product_sort_name')
+        return sort_name
+
+    # For megamenu
+    @api.multi
+    def get_public_product_category(self, submenu):
+        categories = self.env['product.public.category'].search([('parent_id', '=', False),
+                                                                 ('include_in_megamenu',
+                                                                  '!=', False),
+                                                                 ('menu_id', '=', submenu.id)],
+                                                                order="sequence")
+        return categories
+
+    def get_public_product_child_category(self, children):
+        child_categories = []
+        for child in children:
+            categories = self.env['product.public.category'].search([
+                ('id', '=', child.id),
+                ('include_in_megamenu', '!=', False)], order="sequence")
+            if categories:
+                child_categories.append(categories)
+        return child_categories
+
+
+class WebsiteConfigSettings(models.TransientModel):
+
+    _inherit = 'website.config.settings'
+
+    # For multi image
+    thumbnail_panel_position = fields.Selection([
+        ('left', 'Left'),
+        ('right', 'Right'),
+        ('bottom', 'Bottom')],
+        string='Thumbnails panel position',
+        related='website_id.thumbnail_panel_position',
+        help="Select the position where you want to display the thumbnail panel in multi image.")
+    interval_play = fields.Char(string='Play interval of slideshow',
+                                related='website_id.interval_play',
+                                help='With this field you can set the interval play time between two images.')
+    enable_disable_text = fields.Boolean(string='Enable the text panel',
+                                         related='website_id.enable_disable_text',
+                                         help='Enable/Disable text which is visible on the image in multi image.')
+    color_opt_thumbnail = fields.Selection([
+        ('default', 'Default'),
+        ('b_n_w', 'B/W'),
+        ('sepia', 'Sepia'),
+        ('blur', 'Blur')],
+        related='website_id.color_opt_thumbnail',
+        string="Thumbnail overlay effects")
+    no_extra_options = fields.Boolean(string='Slider effects',
+                                      # default=True,
+                                      related='website_id.no_extra_options',
+                                      help="Slider with all options for next, previous, play, pause, fullscreen, hide/show thumbnail panel.")
+    change_thumbnail_size = fields.Boolean(string="Change thumbnail size",
+                                           related="website_id.change_thumbnail_size"
+                                           )
+    thumb_height = fields.Char(string='Thumb height',
+                               related="website_id.thumb_height"
+                               )
+    thumb_width = fields.Char(string='Thumb width',
+                              related="website_id.thumb_width"
+                              )
+
+    # For Sort By
+    enable_sort_by = fields.Boolean(related="website_id.enable_sort_by", string='Enable product sorting option',
+                                    help='For enabling product sorting feature in website.',
+                                    default=True)
+
+    # For first last pager
+    enable_first_last_pager = fields.Boolean(related='website_id.enable_first_last_pager',
+                                             string="Enable First and Last Pager", default=True,
+                                             help="Enable this checkbox to make 'First' and 'Last' button in pager on website.")
+    # Product per grid
+    product_display_grid = fields.Selection(related='website_id.product_display_grid',
+                                            default='3', string='Product per grid', help="Display no. of products per line in website product grid.")

+ 11 - 0
security/ir.model.access.csv

@@ -0,0 +1,11 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_product_category_slider_config,access_product_category_slider_config,model_product_category_slider_config,,1,0,0,0
+access_product_brands,access_product_brands,model_product_brands,,1,0,0,0
+access_blog_slider_config,access_blog_slider_config,model_blog_slider_config,,1,0,0,0
+access_biztech_product_images,access_biztech_product_images,model_biztech_product_images,,1,0,0,0
+access_biztech_product_tags,access_biztech_product_tags,model_biztech_product_tags,,1,0,0,0
+access_biztech_product_sortby,access_biztech_product_sortby,model_biztech_product_sortby,,1,0,0,0
+access_multi_slider_config,access_multi_slider_config,model_multi_slider_config,,1,0,0,0
+access_product_per_page_no,access_product_per_page_no,model_product_per_page_no,,1,0,0,0
+access_product_per_page,access_product_per_page,model_product_per_page,,1,0,0,0
+access_biztech_product_style_tag,access_biztech_product_style_tag,model_biztech_product_style_tag,,1,0,0,0

BIN
static/description/blog.png


BIN
static/description/brand.png


BIN
static/description/building-blocks.jpg


BIN
static/description/categories.png


BIN
static/description/category-slider.png


BIN
static/description/falcon_theme.png


BIN
static/description/features.png


BIN
static/description/flip-product.png


BIN
static/description/footer.png


BIN
static/description/icon.png


BIN
static/description/icons.png


+ 419 - 0
static/description/index.html

@@ -0,0 +1,419 @@
+<section class="oe_container">
+    <div class="oe_row oe_spaced">
+        <div class="oe_span12">
+            <h2 class="oe_slogan" style="color:#FF5D5D;">A Fashion Online Store With Outstanding Elements</h2>
+            <p class=" text-center text-muted" style=" font-size:20px">Are you looking for a dedicated theme on fashion industry for your e-commerce store? Well, Biztech has come up with specialized theme for fashion industry with kingfisher brand naming Kingfisher Pro Fashion that is dedicatedly made for widely growing E-Commerce Fashion Industry. With the help of multiple snippets provided by the Theme admin can customize the store with elegant looks. Kingfisher Pro Fashion has support for apps like Advance Mega Menu &amp; Custom Product Image Gallery, so admin can represent the products and its categories &amp; subcategories effectively.</p>
+        </div>
+    </div>
+    <div class="container-fluid" style="background-color:#E8E8E8; padding:20px 0px 90px 0px">
+        <div class="oe_row oe_spaced">
+            <h2 class="oe_slogan" style="color:#FF5D5D;">Why Kingfisher Pro Fashion</h2>
+        </div>
+        <div class="container" style="line-height:32px;">
+            <div class="col-md-12 text-center">
+                <img src="icons.png" class="img-responsive" />
+            </div>
+        </div>
+    </div>
+    <div class="container" style="border-bottom: 1px solid rgba(225, 225, 225, 0.57); padding:20px 0px">
+        <div class="oe_row oe_spaced">
+            <h2 class="oe_slogan" style="color:#FF5D5D;">Building Blocks</h2>
+            <p class=" text-muted text-center" style="font-size:20px">Odoo Kingfisher Pro Fashion imparts great benefits in the form of stellar design. Get the store speed optimized with Less CSS. It is a professional responsive theme which helps enhance the look and feel of your fashion store. 
+            </p>
+        </div>
+        <div class="container">
+            <div class="col-md-12 text-center">
+                <img src="building-blocks.jpg" class="img-responsive" />
+            </div>
+        </div>
+    </div>
+</section>
+<section class="oe_container " style="padding:20px 0px">
+    <div class="oe_row oe_spaced">
+        <h2 class="oe_slogan" style="color:#FF5D5D; margin-bottom:0px;">Significant Features</h2>
+    </div>
+    <div class="oe_row oe_spaced">
+        <div class="oe_span12">
+            <p class="text-muted text-center" style="font-size:20px">Pick this handy tool to customize your store in a simple way. By implementing its prominent features, you can create an exquisite fashion store with a better output. </p>
+        </div>
+    </div>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="slider.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 style="color:#FF5D5D;">Banner Slider Snippet</h3>
+                <p class="text-muted text-left">With the Brand Slider Snippet display all the highly engaging brands from your store. Customize content and images for exclusive look &amp; feel of the banner.
+            </p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Product Slider snippet</h3>
+                <ul style="list-style-type:none; padding-left:0">
+                    <li>
+                        <p class="text-muted">Add a snippet to your E-Commerce store containing exclusive products from product list.</p>
+                    </li>
+                    <li>
+                        <p class="text-muted">From this snippet your customer can directly add product to the cart and can also see ratings of the added product.</p>
+                    </li>
+                    <li>
+                        <p class="text-muted">Product Slider snippet supports two different widths:
+                </p>
+                        <ul style="list-style-type:disc; padding: 13px;">
+                            <li>
+                                <p class="text-muted">Full Page Width Slider</p>
+                            </li>
+                            <li>
+                                <p class="text-muted">Box Width Slider</p>
+                            </li>
+                        </ul>
+                    </li>
+                </ul>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="product-slider.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="category-slider.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Category Slider snippet</h3>
+                <ul style="list-style-type:none; padding-left:0">
+                    <li>
+                        <p class="text-muted">Add a snippet to your E-Commerce store containing exclusive products from product Categories. List Multiple Product Categories and add products to them.</p>
+                    </li>
+                    <li>
+                        <p class="text-muted">Category Slider snippet supports two different widths:</p>
+                    </li>
+                    <ul>
+                        <li>
+                            <p class="text-muted">Full Page Width Slider</p>
+                        </li>
+                        <li>
+                            <p class="text-muted">Box Width Slider</p>
+                        </li>
+                    </ul>
+                </ul>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Multi Products Tab SliderSnippet</h3>
+                <p class="text-muted">You can add products of multiple types into one single slider. There will be switchable tabs to display the products. You can add as many products as you want in that slider in numerous tabs.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="tabs.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="promo.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Promo Snippet</h3>
+                <ul style="list-style-type:none; padding-left:0">
+                    <li>
+                        <p class="text-muted">Add promo products in your store with editable advertisements. Customer can directly shop for that product from the Promo snippet.</p>
+                    </li>
+                    <li>
+                        <p class="text-muted">You can also add URL for the text and set styles accordingly.</p>
+                    </li>
+                </ul>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Brand Snippet</h3>
+                <p class="text-muted">Display all the high profile brands’ products that your store endorses. Customer can directly shop for products of the presented brands from the brand slider.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="brand.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="single-slider.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Single Banner Without Slider</h3>
+                <p class="text-muted">Display the most elite collection of your store with the single banner and highlight it for the store customers.
+            </p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Blog Slider snippet</h3>
+                <p class="text-muted">Display the latest blogs posted by your site or related to your products with Blog Slider Snippet provided by the theme. </p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="blog.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="testimonials.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Testimonials Slider snippet</h3>
+                <p class="text-muted">Show the world what people have to say about your e-commerce store with the Testimonial Slider Snippet.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Services snippet</h3>
+                <p class="text-muted">Demonstrate extra – ordinary services that you provide for your customers with Kingfisher Pro Fashion’s Service Snippet.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="service.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="reviews.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Managing Product Reviews</h3>
+                <p class="text-muted">Manage the reviews of the products provided by the users. Option to publish, unpublish and edit the reviews.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Advance Mega Menu</h3>
+                <p class="text-muted">Make your simple menu mega menu with the help of Advance Mega Menu available in Kingfisher Pro Fashion Theme. Display all the product categories and sub categories in mega menu for easy and better navigation.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="mega-menu.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="multiple-products.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Product Multiple Image Gallery</h3>
+                <p class="text-muted">The Kingfisher Pro Fashion theme has a support for Product multiple image galleries with image zoom in/out, image full screen and video support.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Theme Customization</h3>
+                <p class="text-muted">You can customize the theme the way you want. You can change the theme layout, Theme’s main color &amp; Theme’s font combination.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="theme-customization.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="footer.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Customizable Header &amp; Footer</h3>
+                <p class="text-muted">You can customize the header &amp; footer as per your requirements for fascinating looks. You can add / delete in from the header and footer as per the needs as it is totally customizable block. You can also add links to header &amp; footer content for speedy navigation.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Multiple Product Views</h3>
+                <p class="text-muted">Customers can view the products in a grid view or a list view as per their likes.</p>
+                <p>
+                    <b>NOTE: To use this feature do not enable Default List View provided by Odoo.</b>
+                </p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="multiple-views.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="categories.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Categorized Product List</h3>
+                <p class="text-muted">Manage product category list as per your choice. You can make the category list collapsible to save space and make the look of the site more compact from Customize menu of the website.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Product Sorting with Price Slider</h3>
+                <p class="text-muted">Customer can sort the products on all the product attributes provided by the admin at the time of product configurations. Price Slider can be to the website from Customize option in website.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="price-slider.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="tags.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Product Sorting with Product Tags</h3>
+                <p class="text-muted">Customer can sort the products on Product Tags provided by admin for Sorting.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Product Pagination</h3>
+                <p class="text-muted">Admin can set Pagination for the shop page from back end and let customers decide products to display from given options.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="pagination.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="flip-product.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Flipping Product Display Image</h3>
+                <p class="text-muted">Customer can see front &amp; back view of product. By hovering on the product image customer can see back side of product.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Products Per Grid</h3>
+                <p class="text-muted">Admin can set product numbers which can be seen on the shop page in one grid.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="products-per-grid.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="selected-filters.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Selected Filters</h3>
+                <p class="text-muted">Customers can see all the filters they have applied to the shop page in the Selected Filters Section. They can directly remove that filter from the section also.</p>
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Multiple Store Support</h3>
+                <p class="text-muted">Admin can add multiple languages for the store and can also add currencies for it accordingly.</p>
+            </div>
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="multiple-store-support.png" />
+            </div>
+        </div>
+    </section>
+    <section class="container oe_dark" style="padding: 20px 5px 0px; margin-bottom:50px">
+        <div class="container">
+            <div class="col-md-6">
+                <img class="img-border img-responsive thumbnail" src="search.png" />
+            </div>
+            <div class="col-md-6">
+                <h3 class="text-left" style="color:#FF5D5D;">Global Product Search</h3>
+                <p class="text-muted">User can search for product from any page of the website. The Search option is given in the Header Sticky menu for more powerful search.</p>
+            </div>
+        </div>
+    </section>
+   <!--  <section class="container oe_dark">
+        <div class="container">
+            <div class="col-md-12">
+                <h3 class="text-left" style="color:#FF5D5D;">Customizing Store Shop Page</h3>
+                <p class="text-muted">Admin can configure store shop page as per requirement by adding or removing things that are needed.</p>
+            </div>
+        </div>
+    </section> -->
+
+    <section class="oe_container " style="padding:20px 0px">
+        <div class="oe_row oe_spaced">
+            <h2 class="oe_slogan" style="color:#FF5D5D; margin-bottom:0px;">You may also like</h2>
+        </div>
+        <div class="container">
+            <div class="col-md-4">
+                <a href="https://www.odoo.com/apps/themes/9.0/kingfisher">
+                    <img class="img-border img-responsive thumbnail" src="kingfisher.jpg" />
+                </a>
+            </div>
+            <div class="col-md-4">
+                <a href="https://www.odoo.com/apps/themes/9.0/falcon_backend_theme">
+                    <img class="img-border img-responsive thumbnail" src="falcon_theme.png" />
+                </a>
+            </div>
+            <div class="col-md-4">
+                <a href="https://www.odoo.com/apps/themes/9.0/kingfisher_pro_bicycle">
+                    <img class="img-border img-responsive thumbnail" src="kingfisher_pro_bicycle.png" />
+                </a>
+            </div>
+        </div>
+    </section>
+    <section class="oe_container">
+        <div class="oe_row oe_spaced">
+            <div class="col-md-6 img-content">
+                <h3>Our Odoo Services</h3>
+            </div>
+            <div class="bc-span col-md-12">
+                <div class="inner-span">
+                    <a target="_blank" href="http://www.biztechconsultancy.com/odoo-development.htm">
+                        <img class="img-border img-responsive thumbnail" src="service-banner.png" />
+                    </a>
+                </div>
+            </div>
+        </div>
+    </section>
+    <section class="oe_container">
+        <div class="oe_row oe_spaced">
+            <div class="col-md-12 img-content text-center">
+                <h2>Technical Help &amp; Support</h2>
+                <p style="margin: 30px 0px;">We offer extremely convenient and quick support service to all your technical help &amp; support requests. As our support <br /> service is the parameter defining the success of our business and earning us the brand name.       <br />    Please feel free to contact us</p>
+                <div class="text-center">
+                    <a style="color: rgb(255, 255, 255); border-color: rgb(49, 91, 143); position: relative; overflow: hidden; background: none 0% 0% repeat scroll rgb(49, 91, 143);" class="btn btn-success btn-lg" rel="nofollow" href="mailto:support@biztechconsultancy.com">
+                        <i class="fa fa-envelope"></i>  support@biztechconsultancy.com </a>
+                </div>
+                <br />
+            </div>
+        </div>
+    </section>
+</section>

BIN
static/description/kingfisher-pro-fashion_Banner_1.png


BIN
static/description/kingfisher.jpg


BIN
static/description/kingfisher_pro_bicycle.png


BIN
static/description/mega-menu.png


BIN
static/description/men-bg-new.png


BIN
static/description/multiple-products.png


BIN
static/description/multiple-store-support.png


BIN
static/description/multiple-views.png


BIN
static/description/pagination.png


BIN
static/description/price-slider.png


BIN
static/description/product-slider.png


BIN
static/description/products-per-grid.png


BIN
static/description/promo.png


BIN
static/description/reviews.png


BIN
static/description/search.png


BIN
static/description/selected-filters.png


BIN
static/description/service-banner.png


BIN
static/description/service.png


BIN
static/description/single-slider.png


BIN
static/description/slider.png


BIN
static/description/splash-screen.png


BIN
static/description/tabs.png


BIN
static/description/tags.png


BIN
static/description/testimonials.png


BIN
static/description/theme-customization.png


+ 150 - 0
static/src/css/ion.rangeSlider.css

@@ -0,0 +1,150 @@
+/* Ion.RangeSlider
+// css version 2.0.3
+// © 2013-2014 Denis Ineshin | IonDen.com
+// ===================================================================================================================*/
+
+/* =====================================================================================================================
+// RangeSlider */
+
+.irs {
+    position: relative; display: block;
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+     -khtml-user-select: none;
+       -moz-user-select: none;
+        -ms-user-select: none;
+            user-select: none;
+}
+    .irs-line {
+        position: relative; display: block;
+        overflow: hidden;
+        outline: none !important;
+    }
+        .irs-line-left, .irs-line-mid, .irs-line-right {
+            position: absolute; display: block;
+            top: 0;
+        }
+        .irs-line-left {
+            left: 0; width: 11%;
+        }
+        .irs-line-mid {
+            left: 9%; width: 82%;
+        }
+        .irs-line-right {
+            right: 0; width: 11%;
+        }
+
+    .irs-bar {
+        position: absolute; display: block;
+        left: 0; width: 0;
+    }
+        .irs-bar-edge {
+            position: absolute; display: block;
+            top: 0; left: 0;
+        }
+
+    .irs-shadow {
+        position: absolute; display: none;
+        left: 0; width: 0;
+    }
+
+    .irs-slider {
+        position: absolute; display: block;
+        cursor: default;
+        z-index: 1;
+    }
+        .irs-slider.single {
+
+        }
+        .irs-slider.from {
+
+        }
+        .irs-slider.to {
+
+        }
+        .irs-slider.type_last {
+            z-index: 2;
+        }
+
+    .irs-min {
+        position: absolute; display: block;
+        left: 0;
+        cursor: default;
+    }
+    .irs-max {
+        position: absolute; display: block;
+        right: 0;
+        cursor: default;
+    }
+
+    .irs-from, .irs-to, .irs-single {
+        position: absolute; display: block;
+        top: 0; left: 0;
+        cursor: default;
+        white-space: nowrap;
+    }
+
+.irs-grid {
+    position: absolute; display: none;
+    bottom: 0; left: 0;
+    width: 100%; height: 20px;
+}
+.irs-with-grid .irs-grid {
+    display: block;
+}
+    .irs-grid-pol {
+        position: absolute;
+        top: 0; left: 0;
+        width: 1px; height: 8px;
+        background: #000;
+    }
+    .irs-grid-pol.small {
+        height: 4px;
+    }
+    .irs-grid-text {
+        position: absolute;
+        bottom: 0; left: 0;
+        white-space: nowrap;
+        text-align: center;
+        font-size: 9px; line-height: 9px;
+        padding: 0 3px;
+        color: #000;
+    }
+
+.irs-disable-mask {
+    position: absolute; display: block;
+    top: 0; left: -1%;
+    width: 102%; height: 100%;
+    cursor: default;
+    background: rgba(0,0,0,0.0);
+    z-index: 2;
+}
+.lt-ie9 .irs-disable-mask {
+    background: #000;
+    filter: alpha(opacity=0);
+    cursor: not-allowed;
+}
+
+.irs-disabled {
+    opacity: 0.4;
+}
+
+
+.irs-hidden-input {
+    position: absolute !important;
+    display: block !important;
+    top: 0 !important;
+    left: 0 !important;
+    width: 0 !important;
+    height: 0 !important;
+    font-size: 0 !important;
+    line-height: 0 !important;
+    padding: 0 !important;
+    margin: 0 !important;
+    overflow: hidden;
+    outline: none !important;
+    z-index: -9999 !important;
+    background: none !important;
+    border-style: solid !important;
+    border-color: transparent !important;
+}

+ 124 - 0
static/src/css/ion.rangeSlider.skinHTML5.css

@@ -0,0 +1,124 @@
+/* Ion.RangeSlider, Simple Skin
+// css version 2.0.3
+// © Denis Ineshin, 2014    https://github.com/IonDen
+// © guybowden, 2014        https://github.com/guybowden
+// ===================================================================================================================*/
+
+/* =====================================================================================================================
+// Skin details */
+
+.irs {
+    height: 55px;
+}
+.irs-with-grid {
+    height: 75px;
+}
+.irs-line {
+    height: 10px; top: 33px;
+    background: #EEE;
+    background: linear-gradient(to bottom, #DDD -50%, #FFF 150%); /* W3C */
+    border: 1px solid #CCC;
+    border-radius: 16px;
+    -moz-border-radius: 16px;
+}
+    .irs-line-left {
+        height: 8px;
+    }
+    .irs-line-mid {
+        height: 8px;
+    }
+    .irs-line-right {
+        height: 8px;
+    }
+
+.irs-bar {
+    height: 10px; top: 33px;
+    border-top: 1px solid #428bca;
+    border-bottom: 1px solid #428bca;
+    background: #428bca;
+    background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
+}
+    .irs-bar-edge {
+        height: 10px; top: 33px;
+        width: 14px;
+        border: 1px solid #428bca;
+        border-right: 0;
+        background: #428bca;
+        background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
+        border-radius: 16px 0 0 16px;
+        -moz-border-radius: 16px 0 0 16px;
+    }
+
+.irs-shadow {
+    height: 2px; top: 38px;
+    background: #000;
+    opacity: 0.3;
+    border-radius: 5px;
+    -moz-border-radius: 5px;
+}
+.lt-ie9 .irs-shadow {
+    filter: alpha(opacity=30);
+}
+
+.irs-slider {
+    top: 25px;
+    width: 27px; height: 27px;
+    border: 1px solid #AAA;
+    background: #DDD;
+    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(220,220,220,1) 20%,rgba(255,255,255,1) 100%); /* W3C */
+    border-radius: 27px;
+    -moz-border-radius: 27px;
+    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
+    cursor: pointer;
+}
+
+.irs-slider.state_hover, .irs-slider:hover {
+    background: #FFF;
+}
+
+.irs-min, .irs-max {
+    color: #333;
+    font-size: 12px; line-height: 1.333;
+    text-shadow: none;
+    top: 0;
+    padding: 1px 5px;
+    background: rgba(0,0,0,0.1);
+    border-radius: 3px;
+    -moz-border-radius: 3px;
+}
+
+.lt-ie9 .irs-min, .lt-ie9 .irs-max {
+    background: #ccc;
+}
+
+.irs-from, .irs-to, .irs-single {
+    color: #fff;
+    font-size: 14px; line-height: 1.333;
+    text-shadow: none;
+    padding: 1px 5px;
+    background: #428bca;
+    border-radius: 3px;
+    -moz-border-radius: 3px;
+}
+.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
+    background: #999;
+}
+
+.irs-grid {
+    height: 27px;
+}
+.irs-grid-pol {
+    opacity: 0.5;
+    background: #428bca;
+}
+.irs-grid-pol.small {
+    background: #999;
+}
+
+.irs-grid-text {
+    bottom: 5px;
+    color: #99a4ac;
+}
+
+.irs-disabled {
+}

+ 18 - 0
static/src/css/kingfisher_pro.css

@@ -0,0 +1,18 @@
+.ug-gallery-wrapper .ug-slider-wrapper {
+    background-color: rgb(245, 245, 245);
+    overflow: hidden;
+    position: absolute;
+    z-index: 1;
+}
+.ug-gallery-wrapper .ug-strip-panel {
+    background-color: rgb(245, 245, 245);
+    position: absolute;
+    z-index: 2;
+}
+#o_shop_collapse_category li a {
+  display: inline-block;
+  width: 80%;
+  padding-left: 3px; }
+#o_shop_collapse_category li i.fa {
+  cursor: pointer; }
+

+ 71 - 0
static/src/css/owl.carousel.css

@@ -0,0 +1,71 @@
+/* 
+ * 	Core Owl Carousel CSS File
+ *	v1.3.3
+ */
+
+/* clearfix */
+.owl-carousel .owl-wrapper:after {
+	content: ".";
+	display: block;
+	clear: both;
+	visibility: hidden;
+	line-height: 0;
+	height: 0;
+}
+/* display none until init */
+.owl-carousel{
+	display: none;
+	position: relative;
+	width: 100%;
+	-ms-touch-action: pan-y;
+}
+.owl-carousel .owl-wrapper{
+	display: none;
+	position: relative;
+	-webkit-transform: translate3d(0px, 0px, 0px);
+}
+.owl-carousel .owl-wrapper-outer{
+	overflow: hidden;
+	position: relative;
+	width: 100%;
+}
+.owl-carousel .owl-wrapper-outer.autoHeight{
+	-webkit-transition: height 500ms ease-in-out;
+	-moz-transition: height 500ms ease-in-out;
+	-ms-transition: height 500ms ease-in-out;
+	-o-transition: height 500ms ease-in-out;
+	transition: height 500ms ease-in-out;
+}
+	
+.owl-carousel .owl-item{
+	float: left;
+}
+.owl-controls .owl-page,
+.owl-controls .owl-buttons div{
+	cursor: pointer;
+}
+.owl-controls {
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+/* mouse grab icon */
+.grabbing { 
+    cursor:url(grabbing.png) 8 8, move;
+}
+
+/* fix */
+.owl-carousel  .owl-wrapper,
+.owl-carousel  .owl-item{
+	-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);
+}
+

+ 71 - 0
static/src/css/owl.carousel2.css

@@ -0,0 +1,71 @@
+/* 
+ * 	Core Owl Carousel CSS File
+ *	v1.3.3
+ */
+
+/* clearfix */
+.owl-carousel .owl-wrapper:after {
+	content: ".";
+	display: block;
+	clear: both;
+	visibility: hidden;
+	line-height: 0;
+	height: 0;
+}
+/* display none until init */
+.owl-carousel{
+	display: none;
+	position: relative;
+	width: 100%;
+	-ms-touch-action: pan-y;
+}
+.owl-carousel .owl-wrapper{
+	display: none;
+	position: relative;
+	-webkit-transform: translate3d(0px, 0px, 0px);
+}
+.owl-carousel .owl-wrapper-outer{
+	overflow: hidden;
+	position: relative;
+	width: 100%;
+}
+.owl-carousel .owl-wrapper-outer.autoHeight{
+	-webkit-transition: height 500ms ease-in-out;
+	-moz-transition: height 500ms ease-in-out;
+	-ms-transition: height 500ms ease-in-out;
+	-o-transition: height 500ms ease-in-out;
+	transition: height 500ms ease-in-out;
+}
+	
+.owl-carousel .owl-item{
+	float: left;
+}
+.owl-controls .owl-page,
+.owl-controls .owl-buttons div{
+	cursor: pointer;
+}
+.owl-controls {
+	-webkit-user-select: none;
+	-khtml-user-select: none;
+	-moz-user-select: none;
+	-ms-user-select: none;
+	user-select: none;
+	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+/* mouse grab icon */
+.grabbing { 
+    cursor:url(grabbing.png) 8 8, move;
+}
+
+/* fix */
+.owl-carousel  .owl-wrapper,
+.owl-carousel  .owl-item{
+	-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);
+}
+

+ 1354 - 0
static/src/css/unite-gallery.css

@@ -0,0 +1,1354 @@
+.---------Protection--------{}
+
+.ug-gallery-wrapper, 
+.ug-gallery-wrapper *{
+	transition: all !important;
+	-o-transition: all !important;
+	-webkit-transition: all;
+	-moz-transition: all !important;
+	-ms-transition: all !important;
+	max-width:none;
+}
+
+.ug-gallery-wrapper{
+	z-index:0;
+} 
+
+.ug-item-wrapper img{
+	width:auto;
+	max-width:none;
+}
+
+.---------General_Styles--------{}
+
+.ug-rtl{
+	direction:rtl;
+}
+
+.ug-gallery-wrapper{
+	overflow:hidden;
+	position:relative;
+	font-family:Arial, Helvetica, sans-serif;
+}
+
+.ug-error-message{
+	text-align:center;
+	padding-top:30px;
+	padding-bottom:30px;
+	font-size:20px;
+	color:#F30D0D;
+}
+
+.ug-error-message-wrapper{
+	width:100%;
+	height:100%;
+	border:1px solid black;
+}
+
+.ug-gallery-wrapper .ug-canvas-pie{
+	position:absolute;
+	z-index:4;
+}
+
+.ug-gallery-wrapper .ug-progress-bar{
+	position:absolute;
+	overflow:hidden;
+	z-index:4;
+}
+
+.ug-gallery-wrapper .ug-progress-bar-inner{
+	xposition:absolute;
+}
+
+.ug-gallery-wrapper.ug-fullscreen{
+	height: 100% !important;
+	width: 100% !important;
+	max-width:none !important;
+	max-height:none !important;
+}
+
+.ug-gallery-wrapper.ug-fake-fullscreen{
+	position: fixed !important;
+	height: auto !important;
+	width: auto !important;
+	max-width:none !important;
+	max-height:none !important;
+	margin: 0px !important;
+	padding: 0px !important;
+	top: 0px !important;
+	left: 0px !important;
+	bottom: 0px !important;
+	right: 0px !important;
+	z-index: 999999 !important;
+}
+
+.ug-body-fullscreen{
+	overflow: hidden !important;
+	height: 100% !important;
+	width: 100% !important;
+	margin:0px !important;
+	padding:0px !important;	
+}
+
+.ug-gallery-wrapper .ug-preloader-trans{
+	display:block;
+	height:35px;
+	width:32px;
+	height:32px;
+	background-image:url('../images/loader_skype_trans.gif');
+	background-repeat:no-repeat;
+}
+
+
+.--------------SLIDER------------------{}
+
+.ug-gallery-wrapper .ug-slider-wrapper{
+	position:absolute;
+	overflow:hidden;
+	z-index:1;
+	background-color:#000000;
+}
+
+
+.ug-slider-wrapper .ug-slide-wrapper{
+	position:absolute;
+}
+
+.ug-slide-wrapper.ug-slide-clickable{
+	cursor:pointer;
+}
+
+.ug-slider-wrapper .ug-slider-inner{
+	position:absolute;
+	z-index:0;
+}
+
+.ug-slider-wrapper .ug-item-wrapper{
+	position:absolute;
+	overflow:hidden;
+}
+
+.ug-slider-wrapper,
+.ug-item-wrapper img{
+	
+	-webkit-user-select: none;	/* make unselectable */         
+	-moz-user-select: none; 
+	-ms-user-select: none;	
+	max-width:none !important;
+	box-sizing:border-box;
+}
+
+.ug-slider-wrapper .ug-slider-preloader{
+	position:absolute;
+	z-index:1;
+	border:2px solid #ffffff;
+	border-radius:6px;
+	background-color:#ffffff;
+	background-position:center center;
+	background-repeat:no-repeat;
+}
+
+.ug-slider-preloader.ug-loader1{
+	width:30px;
+	height:30px;
+	background-image:url('../images/loader-white1.gif');
+}
+
+.ug-slider-preloader.ug-loader1.ug-loader-black{
+	background-image:url('../images/loader-black1.gif');	
+}
+	
+.ug-slider-preloader.ug-loader2{
+	width:32px;
+	height:32px;
+	background-image:url('../images/loader-white2.gif');
+}
+
+.ug-slider-preloader.ug-loader2.ug-loader-black{
+	background-image:url('../images/loader-black2.gif');	
+}
+
+.ug-slider-preloader.ug-loader3{
+	width:38px;
+	height:38px;
+	background-image:url('../images/loader-white3.gif');
+}
+
+.ug-slider-preloader.ug-loader3.ug-loader-black{
+	background-image:url('../images/loader-black3.gif');	
+}
+
+.ug-slider-preloader.ug-loader4{
+	width:32px;
+	height:32px;
+	background-image:url('../images/loader-white4.gif');
+	background-color:white;
+}
+
+.ug-slider-preloader.ug-loader4.ug-loader-black{
+	background-image:url('../images/loader-black4.gif');	
+}
+
+.ug-slider-preloader.ug-loader5{
+	width:60px;
+	height:8px;
+	background-image:url('../images/loader-white5.gif');
+	background-color:white;
+	border:none;
+	border-radius:0px;
+}
+
+.ug-slider-preloader.ug-loader5.ug-loader-black{
+	background-image:url('../images/loader-black5.gif');
+	border:2px solid #000000;
+}
+
+.ug-slider-preloader.ug-loader6{
+	width:32px;
+	height:32px;
+	background-image:url('../images/loader-white6.gif');
+}
+
+.ug-slider-preloader.ug-loader6.ug-loader-black{
+	background-image:url('../images/loader-black6.gif');	
+}
+
+.ug-slider-preloader.ug-loader7{
+	width:32px;
+	height:10px;
+	background-image:url('../images/loader-white7.gif');
+	border-width:3px;
+	border-radius:3px;
+}
+
+.ug-slider-preloader.ug-loader7.ug-loader-black{
+	background-image:url('../images/loader-black7.gif');	
+}
+
+.ug-slider-preloader.ug-loader-black{
+	border-color:#000000;
+	background-color:#000000;
+}
+
+.ug-slider-preloader.ug-loader-nobg{
+	background-color:transparent;
+}
+
+.ug-slider-wrapper .ug-button-videoplay{
+	position:absolute;
+	z-index:2;
+	cursor:pointer;	
+}
+
+.ug-slider-wrapper .ug-button-videoplay.ug-type-square{	
+	width:86px;
+	height:66px;
+	background-image:url('../images/play-button-square.png');
+	background-position:0px -66px;
+}
+
+.ug-slider-wrapper .ug-button-videoplay.ug-type-square.ug-button-hover{
+	background-position:0px 0px;
+}
+
+
+.ug-slider-wrapper .ug-button-videoplay.ug-type-round{	
+	width:76px;
+	height:76px;
+	background-image:url('../images/play-button-round.png');
+	opacity:0.9;
+	filter: alpha(opacity = 90);
+	transition: all 0.3s ease 0s !important;
+}
+
+
+.ug-slider-wrapper .ug-button-videoplay.ug-type-round.ug-button-hover{
+	opacity:1;
+	filter: alpha(opacity = 100);
+	transition: all 0.3s ease 0s !important;
+}
+
+
+.--------------VIDEO_PLAYER------------------{}
+
+.ug-gallery-wrapper .ug-videoplayer{
+	position:absolute;
+	z-index:100;	
+	background-color:#000000;
+	background-image:url('../images/loader-black1.gif');	
+	background-repeat:no-repeat;
+	background-position:center center;
+	box-sizing:border-box;
+	-moz-box-sizing:border-box;
+}
+
+.ug-videoplayer .ug-videoplayer-wrapper{
+	width:100%;
+	height:100%;
+	background-color:#000000;
+	background-image:url('../images/loader-black1.gif');	
+	background-repeat:no-repeat;
+	background-position:center center;
+}
+
+
+.ug-videoplayer .ug-videoplayer-button-close{
+	position:absolute;
+	height:64px;
+	width:64px;
+	background-image:url('../images/button-close.png');
+	cursor:pointer;
+	z-index:1000;
+}
+
+
+.ug-videoplayer .ug-videoplayer-button-close:hover{
+	background-position: 0px -64px;
+}
+
+.--------------THUMBS_STRIP------------------{}
+
+
+.ug-gallery-wrapper .ug-thumbs-strip,
+.ug-gallery-wrapper .ug-thumbs-grid{
+	position:absolute;
+	overflow:hidden;
+	
+	-webkit-user-select: none;	/* make unselectable */         
+	-moz-user-select: none; 
+	-ms-user-select: none;
+	
+	xbackground-color:green;
+	z-index:10;
+}
+
+.ug-thumbs-strip.ug-dragging{
+	xcursor: -webkit-grab;
+	xcursor: -moz-grab;
+}
+
+.ug-gallery-wrapper .ug-thumbs-strip-inner,
+.ug-gallery-wrapper .ug-thumbs-grid-inner{
+	position:absolute;
+}
+
+.ug-thumb-wrapper.ug-thumb-generated{
+	position:absolute;
+	overflow:hidden;
+	
+	-webkit-user-select: none;	/* make unselectable */         
+	-moz-user-select: none; 
+	-ms-user-select: none;
+	
+	box-sizing:border-box;
+	-moz-box-sizing:border-box;
+}
+
+
+.ug-thumb-wrapper.ug-thumb-generated .ug-thumb-loader,
+.ug-thumb-wrapper.ug-thumb-generated .ug-thumb-error{
+	position:absolute;
+	top:0px;
+	left:0px;
+	background-repeat:no-repeat;
+	background-position:center center;
+}
+
+.ug-thumb-wrapper .ug-thumb-border-overlay{
+	position:absolute;
+	top:0px;
+	left:0px;
+	z-index:4;
+	box-sizing:border-box;
+	-moz-box-sizing:border-box;
+	border-style:solid;
+}
+
+.ug-thumb-wrapper .ug-thumb-overlay{
+	position:absolute;
+	top:0px;
+	left:0px;
+	z-index:3;
+}
+
+.ug-thumb-wrapper.ug-thumb-generated .ug-thumb-loader-dark{
+	background-image:url('../images/loader.gif');
+}
+
+.ug-thumb-wrapper.ug-thumb-generated .ug-thumb-loader-bright{
+	background-image:url('../images/loader_bright.gif');
+}
+
+.ug-thumb-wrapper.ug-thumb-generated .ug-thumb-error{
+	background-image:url('../images/not_loaded.png');
+}
+
+.ug-thumb-wrapper.ug-thumb-generated img{
+	position:absolute;
+	z-index:1;
+	max-width:none !important;
+}
+
+.ug-thumb-wrapper.ug-thumb-generated img.ug-thumb-image-overlay{
+	position:absolute;
+	z-index:2;
+	max-width:none !important;
+}
+
+
+/* bw desaturate effect lightweight */
+img.ug-bw-effect{
+	-webkit-filter: grayscale(1); 
+	-webkit-filter: grayscale(100%); 
+	-moz-filter: grayscale(100%);
+	filter: gray; 
+	filter: grayscale(100%);
+    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */	
+}
+
+/* blur effect desaturate effect lightweight */
+img.ug-blur-effect{
+	
+	filter: blur(0.8px); 
+	-webkit-filter: blur(0.8px);
+	-moz-filter: blur(0.8px);
+	-o-filter: blur(0.8px);
+	-ms-filter: blur(0.8px);    
+    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id='blur'><feGaussianBlur stdDeviation=\'0.8\' /></filter></svg>#blur"); /* Firefox 10+, Firefox on Android */
+	filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='0.8');
+}
+
+img.ug-sepia-effect{
+	-webkit-filter: sepia(1);
+	-webkit-filter: sepia(100%); -moz-filter: sepia(100%);
+	-ms-filter: sepia(100%); -o-filter: sepia(100%);
+	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'sepia\'><feColorMatrix values=\'0.14 0.45 0.05 0 0 0.12 0.39 0.04 0 0 0.08 0.28 0.03 0 0 0 0 0 1 0\' /></filter></svg>#sepia"); /* Firefox 10+, Firefox on Android */
+	filter: sepia(100%);
+	background-color: #5E2612;
+	filter: alpha(opacity = 50);
+	zoom:1;
+}
+
+
+.--------------BULLETS------------------{}
+
+
+.ug-gallery-wrapper .ug-bullets{
+	position: absolute;
+	top:0px;
+	left:0px;
+	margin:0px;
+	padding:0px;
+}
+
+.ug-gallery-wrapper .ug-bullets .ug-bullet{
+	background-repeat:no-repeat;
+	cursor:pointer;
+	display:block;
+	float:left;
+	z-index:2;
+}
+
+.ug-gallery-wrapper .ug-bullets .ug-bullet:first-child{
+	margin-left:0px;
+}
+
+
+.--------------TEXT_PANEL------------------{}
+
+.ug-gallery-wrapper .ug-textpanel{
+	position:absolute;
+	overflow:hidden;
+}
+
+.ug-slider-wrapper .ug-textpanel{
+	z-index:2;
+}
+
+.ug-gallery-wrapper .ug-textpanel-bg,
+.ug-gallery-wrapper .ug-textpanel-title,
+.ug-gallery-wrapper .ug-textpanel-description{
+	display:block;
+	position:absolute;
+	margin:0px;
+	padding:0px;
+}
+
+
+.ug-gallery-wrapper .ug-textpanel-bg{
+	background-color:#000000;
+	opacity:0.4;
+	filter: alpha(opacity = 40);
+	z-index:1;
+}
+
+.ug-textpanel-textwrapper{
+	overflow:hidden;
+}
+
+.ug-gallery-wrapper .ug-textpanel-title{
+	font-size:16px;
+	font-weight:bold;
+	color:white;
+	text-align:left;
+	z-index:2;	
+}
+
+.ug-gallery-wrapper .ug-textpanel-description{
+	font-size:14px;
+	color:white;
+	text-align:left;
+	z-index:3;
+}
+
+
+.--------------ZOOM_PANEL------------------{}
+
+.ug-slider-wrapper .ug-zoompanel{
+	position:absolute;
+	top:200px;
+	left:100px;
+}
+
+.ug-zoompanel .ug-zoompanel-button{
+    background-repeat: no-repeat;
+    cursor:pointer;
+    display:block;
+}
+
+
+.--------------ZOOM_PANEL_BUTTONS------------------{}
+
+.ug-gallery-wrapper .ug-arrow-left{
+	position:absolute;	
+	background-repeat:no-repeat;
+	display:block;
+	cursor:pointer;
+}
+
+.ug-gallery-wrapper .ug-arrow-right{
+	position:absolute;
+	background-repeat:no-repeat;
+	cursor:pointer;
+}
+
+
+.--------------GRID_PANEL_AND_ARROWS------------------{}
+
+
+.ug-gallery-wrapper .ug-grid-panel{
+	position:absolute;
+    background-color: #000000;
+    xbackground-color: blue;
+
+    z-index:2;
+}
+
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow{
+	position:absolute;
+	background-repeat:no-repeat;
+	cursor:pointer;
+	z-index:11;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow.ug-button-disabled{
+	cursor:default;	
+}
+
+
+/* handle tip */
+.ug-gallery-wrapper .ug-panel-handle-tip{
+	position:absolute;
+	z-index:13;
+	cursor:pointer;
+}
+
+.ug-gallery-wrapper .ug-overlay-disabled{
+	position:absolute;
+	z-index:100;
+	width:100%;
+	height:100%;
+	background-color:#000000;
+	opacity: 0.3;
+    filter: alpha(opacity=30);	
+	background-image:url('../images/cover-grid.png');
+}
+
+
+.--------------STRIP_PANEL------------------{}
+
+.ug-gallery-wrapper .ug-strip-panel{
+	position:absolute;
+	background-color:#000000;
+	z-index:2;
+}
+
+.ug-strip-panel .ug-strip-arrow{
+	position:absolute;	
+	cursor:pointer;
+}
+
+.ug-strip-panel .ug-strip-arrow.ug-button-disabled{
+	cursor:default;
+}
+
+
+.ug-strip-panel .ug-strip-arrow-tip{
+	position:absolute;
+}
+
+.--------------TILES------------------{}
+
+.ug-thumb-wrapper.ug-tile{
+	display:block;
+	position:absolute;
+	box-sizing:border-box;
+	-moz-box-sizing:border-box;
+	overflow:hidden;
+	padding:0px;
+	margin:0px;
+}
+
+.ug-tile .ug-tile-cloneswrapper{
+	position:absolute;
+	width:0px;
+	height:0px;
+	top:0px;
+	left:0px;
+	overflow:hidden;
+	opacity:0;
+	filter: alpha(opacity = 90);
+}
+
+
+/* transit something */
+/* transit fixed size items */
+/* transit image overlay */
+
+.ug-tiles-transit.ug-tiles-transition-active .ug-thumb-wrapper.ug-tile,
+.ug-tiles-transit.ug-tiles-transition-active .ug-thumb-wrapper.ug-tile .ug-trans-enabled{
+	transition: left 0.7s ease 0s, top 0.7s ease 0s, width 0.7s ease 0s, height 0.7s ease 0s !important;
+}
+
+
+.ug-thumb-wrapper.ug-tile.ug-tile-clickable{
+	cursor: pointer;
+}
+
+.ug-thumb-wrapper.ug-tile .ug-image-container{
+	position:absolute;
+	overflow:hidden;
+	z-index:1;
+	top:0px;
+	left:0px;
+}
+
+.ug-thumb-wrapper.ug-tile img.ug-thumb-image{
+
+	-webkit-user-select: none;	/* make unselectable */         
+	-moz-user-select: none; 
+	-ms-user-select: none;	
+	max-width:none !important;
+	max-height:none !important;
+
+	display:block;	
+	border:none;
+	padding:0px !important;
+	margin:0px !important;
+	
+	width:auto;
+	height:auto;
+	position:absolute;
+}
+
+
+.ug-thumb-wrapper.ug-tile .ug-tile-image-overlay{
+	position:absolute;
+	overflow:hidden;
+	z-index:2;
+	top:0px;
+	left:0px;
+}
+
+.ug-thumb-wrapper.ug-tile .ug-tile-image-overlay img{
+	width:100%;
+	max-width:none !important;	
+}
+
+.ug-tiletype-justified .ug-thumb-wrapper.ug-tile .ug-tile-image-overlay img{
+	height:100%;
+	max-width:none !important;	
+}
+
+.ug-thumb-wrapper.ug-tile .ug-tile-icon{
+	position:absolute;
+	width:38px;
+	height:38px;
+	background-repeat:no-repeat;
+	background-position:0 0;
+	xbackground-color:green;
+	z-index:6;
+	top:1px;
+	left:1px;
+	cursor:pointer;
+}
+
+.ug-thumb-wrapper.ug-tile .ug-tile-icon.ug-icon-link{
+	background-image:url('../images/icon-link32.png');	
+}
+
+.ug-thumb-wrapper.ug-tile .ug-tile-icon.ug-icon-zoom{
+	background-image:url('../images/icon-zoom32.png');	
+}
+
+.ug-thumb-wrapper.ug-tile .ug-tile-icon.ug-icon-play{
+	background-image:url('../images/icon-play32.png');	
+}
+
+.ug-thumb-wrapper.ug-tile .ug-tile-icon:hover{
+	background-position:0 -38px;
+}
+
+
+.ug-thumbs-grid .ug-tile-image-overlay img{
+	width:auto;
+	height:auto;
+	position:absolute;
+	max-width:none !important;
+}
+
+/* text panel on tiles*/
+
+.ug-tile .ug-textpanel{
+	z-index: 5;
+	cursor:default;
+}
+
+.ug-tile.ug-tile-clickable .ug-textpanel{
+	cursor:pointer;
+}
+
+.ug-tile .ug-textpanel-title{
+	font-size:14px;
+	font-weight:bold;
+}
+
+.--------------CAROUSEL------------------{}
+
+.ug-gallery-wrapper .ug-carousel-wrapper{
+	position:absolute;
+	overflow:hidden;
+}
+
+.ug-gallery-wrapper .ug-carousel-inner{
+	position:absolute;
+}
+
+
+.------------------LIGHTBOX---------------------{}
+
+.ug-gallery-wrapper.ug-lightbox{
+	display: none;
+	position: fixed;
+    border: none;
+    padding:0px;
+    margin:0px;
+    outline: invert none medium;
+    overflow: hidden;
+    top: 0;
+    left: 0;
+	width: 100%;
+    height: 100%;
+	max-width:none !important;
+	max-height:none !important;
+    z-index: 999999;
+}
+
+.ug-lightbox .ug-lightbox-top-panel{
+	position:absolute;
+	z-index:2;
+}
+
+.ug-lightbox .ug-lightbox-top-panel-overlay{
+	width:100%;
+	height:100%;
+	position:absolute;
+	background-color:#000000;
+	opacity:0.4;
+	filter: alpha(opacity=40);
+}
+
+
+.ug-lightbox .ug-lightbox-overlay{
+	z-index:1;
+	width:100%;
+	height:100%;
+    background-color:#000000;
+    opacity:1;
+}
+
+.ug-lightbox .ug-slider-wrapper{
+	z-index:1;
+	xbackground-color:green;
+	background-color:transparent !important;
+}
+
+.ug-lightbox .ug-textpanel{
+	z-index: 2;
+}
+
+
+.ug-lightbox .ug-lightbox-arrow-left,
+.ug-lightbox .ug-lightbox-arrow-right{
+	position:absolute;
+	width:50px;
+	height:55px;
+	background-repeat:no-repeat;
+	background-image:url('../images/lightbox-arrow-left.png');
+	background-position:0px 0px;
+	z-index:3;
+	cursor:pointer;
+}
+
+.ug-lightbox .ug-lightbox-arrow-right{
+	background-image:url('../images/lightbox-arrow-right.png');
+}
+
+.ug-lightbox .ug-lightbox-button-close{
+	position:absolute;
+	width:36px;
+	height:36px;
+	background-repeat:no-repeat;
+	background-image:url('../images/lightbox-icon-close.png');
+	background-position:0px 0px;
+	z-index:4;
+	cursor:pointer;
+}
+
+
+.ug-lightbox-compact .ug-lightbox-button-close{
+	width:45px;
+	height:41px;
+	background-image:url('../images/lightbox-icon-close-compact2.png');
+}
+
+
+.ug-lightbox .ug-lightbox-arrow-left.ug-arrow-hover,
+.ug-lightbox .ug-lightbox-arrow-right.ug-arrow-hover{
+	background-position:0px -55px;	
+}
+
+.ug-lightbox .ug-lightbox-button-close.ug-button-hover{
+	background-position:0px -35px;
+}
+
+.ug-lightbox-compact .ug-lightbox-button-close.ug-button-hover{
+	background-position:0px -40px;
+}
+
+.ug-lightbox .ug-lightbox-numbers{
+	position:absolute;
+	color:#e5e5e5;
+	font-size:12px;
+	top:14px;
+	left:8px;
+	z-index:3;
+}
+
+.ug-lightbox-compact .ug-lightbox-numbers{
+	font-size: 14px;
+	padding-right:5px;
+	padding-top:7px;
+}
+
+.ug-lightbox .ug-textpanel-title,
+.ug-lightbox .ug-textpanel-description{
+	font-size: 14px;
+	font-weight: normal;
+	color: #e5e5e5;
+}
+
+.ug-lightbox-compact .ug-textpanel-title,
+.ug-lightbox-compact .ug-textpanel-description{
+	color:#F3F3F3;
+	font-size: 16px;
+}
+
+.------------------CATEGORY_TABS---------------------{}
+
+	.ug-tabs-wrapper{
+		margin-top:0px;
+		margin-bottom:20px;
+		text-align:center;
+	}
+
+	.ug-tabs-wrapper a.ug-tab{
+	    display: inline-block;
+		cursor:pointer;
+		text-decoration:none;
+		color:#ffffff;
+		padding-left:8px;
+		padding-right:8px;
+		padding-top:6px;
+		padding-bottom:6px;
+		margin-left:5px;
+		background-color:#333333;
+		border-radius:3px;
+		font-size:12px;
+		font-weight:normal;
+		
+		border: 1px solid #969696;
+	}
+	
+	.ug-tabs-wrapper a.ug-tab:hover{
+		background-color: #707070 !important;
+	}
+
+	.ug-tabs-wrapper a.ug-tab.ug-tab-selected,
+	.ug-tabs-wrapper a.ug-tab.ug-tab-selected:hover{
+		background-color: #2077A2 !important;
+		cursor:default !important;
+	}
+
+	.ug-tabs-wrapper a.ug-tab:first-child{
+		margin-left:0px !important;
+	}
+
+
+.------------------DEFAULT_SKIN---------------------{}
+
+/* --- arrows -- */
+
+.ug-arrow-left.ug-skin-default,
+.ug-arrow-right.ug-skin-default{
+	width:15px;
+	height:30px;
+	background-image:url('../skins/default/slider_arrow_left.png');
+	background-position:0px 0px;
+}
+
+.ug-arrow-right.ug-skin-default{
+	background-image:url('../skins/default/slider_arrow_right.png');
+}
+
+.ug-arrow-left.ug-skin-default.ug-arrow-hover,
+.ug-arrow-right.ug-skin-default.ug-arrow-hover{
+	background-position:0px -30px;
+}
+
+.ug-arrow-left.ug-skin-default.ug-arrow-disabled,
+.ug-arrow-right.ug-skin-default.ug-arrow-disabled{
+	background-position:0px -60px;
+}
+
+/* --- bullets -- */
+
+.ug-bullets.ug-skin-default .ug-bullet{
+	width:15px;
+	height:15px;
+	background-image:url('../skins/default/slider_bullets.png');
+	background-position:top left;
+	margin-left:5px;
+}
+
+.ug-bullets.ug-skin-default .ug-bullet.ug-bullet-active{
+	background-position:bottom left;
+}
+
+.ug-bullets.ug-skin-default.ug-bullets-gray .ug-bullet{ 
+	background-image:url('../skins/default/tile_bullets_gray.png');
+}
+
+.ug-bullets.ug-skin-default.ug-bullets-blue .ug-bullet{ 
+	background-image:url('../skins/default/tile_bullets_blue.png');
+}
+
+.ug-bullets.ug-skin-default.ug-bullets-brown .ug-bullet{ 
+	background-image:url('../skins/default/tile_bullets_brown.png');
+}
+
+.ug-bullets.ug-skin-default.ug-bullets-green .ug-bullet{ 
+	background-image:url('../skins/default/tile_bullets_green.png');
+}
+
+.ug-bullets.ug-skin-default.ug-bullets-red .ug-bullet{ 
+	background-image:url('../skins/default/tile_bullets_red.png');
+}
+
+.ug-button-tile-navigation{
+	width:36px;
+	height:36px;
+	background-position:top left;
+	cursor:pointer;
+	float:left;
+}
+
+.ug-button-tile-navigation.ug-button-tile-left{
+	background-image:url('../skins/default/tile_button_left.png');
+}
+
+.ug-button-tile-navigation.ug-button-tile-right{
+	background-image:url('../skins/default/tile_button_right.png');
+}
+
+.ug-button-tile-navigation:hover{
+	background-position:bottom left;
+}
+
+.ug-button-tile-navigation.ug-button-disabled{
+	opacity:0.6;
+}
+
+.ug-button-tile-navigation.ug-button-disabled:hover{
+	background-position:top left;	
+}
+
+.ug-button-tile-navigation.ug-button-tile-play{
+	background-image:url('../skins/default/tile_button_play_pause.png');
+	width:35px;
+} 
+
+.ug-button-tile-navigation.ug-button-tile-play.ug-pause-icon{
+	background-position:bottom left;
+} 
+
+.ug-button-tile-navigation.ug-button-tile-play:hover{
+	background-position:top left;
+} 
+
+.ug-button-tile-navigation.ug-button-tile-play.ug-pause-icon:hover{
+	background-position:bottom left;
+} 
+
+
+/* --- play button -- */
+
+.ug-button-play.ug-skin-default{
+	position:absolute;
+	background-image:url('../skins/default/button_playpause.png');
+    width:14px;
+    height:17px;
+    cursor:pointer;
+	background-position:0px 0px;
+}
+
+.ug-button-play.ug-skin-default.ug-button-hover{
+	background-position:0px -17px;	
+}
+
+.ug-button-play.ug-skin-default.ug-stop-mode{
+	background-position:0px -34px;
+}
+
+.ug-button-play.ug-skin-default.ug-stop-mode.ug-button-hover{
+	background-position:0px -51px;
+}
+
+/* --- fullscreen button -- */
+
+.ug-button-fullscreen.ug-skin-default{
+	position:absolute;
+	background-image:url('../skins/default/button_fullscreen.png');
+    width:16px;
+    height:16px;
+    cursor:pointer;
+	background-position:0px 0px;
+}
+
+.ug-button-fullscreen.ug-skin-default.ug-button-hover{
+	background-position:0px -16px;	
+}
+
+.ug-button-fullscreen.ug-skin-default.ug-fullscreenmode{
+	background-position:0px -32px;
+}
+
+.ug-button-fullscreen.ug-skin-default.ug-fullscreenmode.ug-button-hover{
+	background-position:0px -48px;
+}
+
+
+/* --- zoom panel --- */
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-button{
+    background-repeat: no-repeat;
+    cursor:pointer;
+    height: 23px;
+    width: 23px;
+    margin-top:5px;
+    background-position: 0px 0px;	
+}
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-plus{
+	margin-top:0px;
+}
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-plus{
+	background-image:url('../skins/default/icon_zoom_plus.png');
+}
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-minus{
+	background-image:url('../skins/default/icon_zoom_minus.png');
+}
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-return{
+	background-image:url('../skins/default/icon_zoom_back.png');
+}
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-button.ug-button-hover{
+    background-position: 0px -23px;
+}
+
+.ug-zoompanel.ug-skin-default .ug-zoompanel-button-disabled,
+.ug-zoompanel.ug-skin-default .ug-zoompanel-button.ug-button-hover.ug-zoompanel-button-disabled{
+    background-position: 0px -46px;
+    cursor:default;
+}
+
+
+/* --- Grid Panel Arrows -- */
+
+/*--- down arrow ---*/
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-down.ug-skin-default{
+	width:30px;
+	height:15px;
+	background-position:0px 0px;	
+	background-image:url('../skins/default/arrow_grid_down.png');
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-down.ug-skin-default.ug-button-hover{
+	background-position:0px -15px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-down.ug-skin-default.ug-button-hover.ug-button-disabled,
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-down.ug-skin-default.ug-button-disabled{
+	background-position:0px -30px;
+}
+
+
+/*--- up arrow ---*/
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-up.ug-skin-default{
+	width:30px;
+	height:15px;
+	background-position:0px 0px;	
+	background-image:url('../skins/default/arrow_grid_up.png');
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-up.ug-skin-default.ug-button-hover{
+	background-position:0px -15px;	
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-up.ug-skin-default.ug-button-hover.ug-button-disabled,
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-up.ug-skin-default.ug-button-disabled{
+	background-position:0px -30px;
+}
+
+/*--- left arrow ---*/
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left.ug-skin-default{
+	width:40px;
+	height:40px;
+	background-position:0px -40px;
+	background-image:url('../skins/default/grid_arrow_left.png');
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left.ug-skin-default.ug-button-hover{
+	background-position:0px -0px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left.ug-skin-default.ug-button-hover.ug-button-disabled,
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left.ug-skin-default.ug-button-disabled{
+	background-position:0px -80px;
+}
+
+/*--- right arrow ---*/
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right.ug-skin-default{
+	width:40px;
+	height:40px;
+	background-position:0px -40px;	
+	background-image:url('../skins/default/grid_arrow_right.png');
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right.ug-skin-default.ug-button-hover{
+	background-position:0px -0px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right.ug-skin-default.ug-button-hover.ug-button-disabled,
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right.ug-skin-default.ug-button-disabled{
+	background-position:0px -80px;
+}
+
+/*--- left arrow - horizontal panel type ---*/
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left-hortype.ug-skin-default{
+	width:15px;
+	height:30px;
+	background-image:url('../skins/default/slider_arrow_left.png');
+	background-position:0px 0px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left-hortype.ug-skin-default.ug-button-hover{
+	background-position:0px -30px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left-hortype.ug-skin-default.ug-button-hover.ug-button-disabled,
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-left-hortype.ug-skin-default.ug-button-disabled{
+	background-position:0px -60px;
+}
+
+
+/*--- right arrow - horizontal panel type ---*/
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right-hortype.ug-skin-default{
+	width:15px;
+	height:30px;
+	background-image:url('../skins/default/slider_arrow_right.png');
+	background-position:0px 0px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right-hortype.ug-skin-default.ug-button-hover{
+	background-position:0px -30px;
+}
+
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right-hortype.ug-skin-default.ug-button-hover.ug-button-disabled,
+.ug-gallery-wrapper .ug-grid-panel .grid-arrow-right-hortype.ug-skin-default.ug-button-disabled{
+	background-position:0px -60px;
+}
+
+
+/* --- Strip Panel Arrows -- */
+
+/* left and right arrows */
+
+.ug-strip-panel .ug-strip-arrow-left.ug-skin-default,
+.ug-strip-panel .ug-strip-arrow-right.ug-skin-default{
+	width:25px;
+	height:50px;
+}
+
+.ug-strip-panel .ug-strip-arrow-left.ug-skin-default .ug-strip-arrow-tip,
+.ug-strip-panel .ug-strip-arrow-right.ug-skin-default .ug-strip-arrow-tip{
+	background-position:0px 0px;
+	background-repeat:no-repeat;
+	width:4px;
+	height:7px;
+}
+
+.ug-strip-panel .ug-strip-arrow-left.ug-skin-default .ug-strip-arrow-tip{
+	background-image:url('../skins/default/arrows_strip_left.png');
+}
+
+.ug-strip-panel .ug-strip-arrow-right.ug-skin-default .ug-strip-arrow-tip{
+	background-image:url('../skins/default/arrows_strip_right.png');	
+}
+
+.ug-strip-panel .ug-strip-arrow-left.ug-skin-default.ug-button-hover .ug-strip-arrow-tip,
+.ug-strip-panel .ug-strip-arrow-right.ug-skin-default.ug-button-hover .ug-strip-arrow-tip{
+	background-position:0px -7px;
+}
+
+
+/* up and down arrows */
+
+.ug-strip-panel .ug-strip-arrow-up.ug-skin-default,
+.ug-strip-panel .ug-strip-arrow-down.ug-skin-default{
+	height:25px;
+	width:50px;
+}
+
+.ug-strip-panel .ug-strip-arrow-up.ug-skin-default .ug-strip-arrow-tip,
+.ug-strip-panel .ug-strip-arrow-down.ug-skin-default .ug-strip-arrow-tip{
+	background-position:0px 0px;
+	background-repeat:no-repeat;
+	width:7px;
+	height:4px;
+}
+
+.ug-strip-panel .ug-strip-arrow-up.ug-skin-default .ug-strip-arrow-tip{
+	background-image:url('../skins/default/arrows_strip_up.png');
+}
+
+.ug-strip-panel .ug-strip-arrow-down.ug-skin-default .ug-strip-arrow-tip{
+	background-image:url('../skins/default/arrows_strip_down.png');	
+}
+
+.ug-strip-panel .ug-strip-arrow-up.ug-skin-default.ug-button-hover .ug-strip-arrow-tip,
+.ug-strip-panel .ug-strip-arrow-down.ug-skin-default.ug-button-hover .ug-strip-arrow-tip{
+	background-position:-7px 0px;
+}
+
+.ug-strip-panel .ug-strip-arrow.ug-skin-default.ug-button-disabled .ug-strip-arrow-tip{
+	background-position:0px 0px;
+	opacity:0.5;
+	filter: alpha(opacity = 50);
+}
+
+
+/* --- Panel Handle Tip -- */
+
+/* left and right handle */
+.ug-gallery-wrapper .ug-handle-tip-left.ug-skin-default,
+.ug-gallery-wrapper .ug-handle-tip-right.ug-skin-default{
+	width:22px;
+	height:36px;
+	background-image:url('../skins/default/grid_handle_black_left.png');
+	background-repeat:no-repeat;
+	background-position:0px -36px;
+}
+
+.ug-gallery-wrapper .ug-handle-tip-right.ug-skin-default{
+	background-image:url('../skins/default/grid_handle_black_right.png');
+	background-position:0px -36px;
+}
+
+.ug-gallery-wrapper .ug-handle-tip-left.ug-button-hover.ug-skin-default,
+.ug-gallery-wrapper .ug-handle-tip-right.ug-button-hover.ug-skin-default{
+	background-position:0px -0px;	
+}
+
+.ug-gallery-wrapper .ug-handle-tip-left.ug-skin-default.ug-button-closed,
+.ug-gallery-wrapper .ug-handle-tip-right.ug-skin-default.ug-button-closed{
+	background-position:0px -108px;
+}
+
+.ug-gallery-wrapper .ug-handle-tip-left.ug-skin-default.ug-button-closed.ug-button-hover,
+.ug-gallery-wrapper .ug-handle-tip-right.ug-skin-default.ug-button-closed.ug-button-hover{
+	background-position:0px -72px;
+}
+
+
+/* top and bottom handle */
+
+.ug-gallery-wrapper .ug-handle-tip-top.ug-skin-default,
+.ug-gallery-wrapper .ug-handle-tip-bottom.ug-skin-default{	
+	width:36px;
+	height:22px;
+	background-image:url('../skins/default/grid_handle_black_top.png');
+	background-repeat:no-repeat;
+	background-position:-36px 0px;
+}
+
+.ug-gallery-wrapper .ug-handle-tip-bottom.ug-skin-default{
+	background-image:url('../skins/default/grid_handle_black_bottom.png');
+	background-position:-36px 0px;
+}
+
+.ug-gallery-wrapper .ug-handle-tip-top.ug-skin-default.ug-button-hover,
+.ug-gallery-wrapper .ug-handle-tip-bottom.ug-skin-default.ug-button-hover{
+	background-position:0px 0px;	
+}
+
+.ug-gallery-wrapper .ug-handle-tip-top.ug-skin-default.ug-button-closed,
+.ug-gallery-wrapper .ug-handle-tip-bottom.ug-skin-default.ug-button-closed{
+	background-position:-108px 0px;
+}
+
+.ug-gallery-wrapper .ug-handle-tip-top.ug-skin-default.ug-button-closed.ug-button-hover,
+.ug-gallery-wrapper .ug-handle-tip-bottom.ug-skin-default.ug-button-closed.ug-button-hover{
+	background-position:-72px 0px;
+}
+

BIN
static/src/images/1play-button-square.png


BIN
static/src/images/button-close.png


BIN
static/src/images/cover-grid.png


BIN
static/src/images/icon-link32.png


BIN
static/src/images/icon-play32.png


BIN
static/src/images/icon-zoom32.png


BIN
static/src/images/lightbox-arrow-left.png


BIN
static/src/images/lightbox-arrow-right.png


BIN
static/src/images/lightbox-icon-close-compact.png


BIN
static/src/images/lightbox-icon-close-compact2.png


BIN
static/src/images/lightbox-icon-close.png


BIN
static/src/images/loader-black1.gif


BIN
static/src/images/loader-black2.gif


BIN
static/src/images/loader-black3.gif


BIN
static/src/images/loader-black4.gif


BIN
static/src/images/loader-black5.gif


BIN
static/src/images/loader-black6.gif


BIN
static/src/images/loader-black7.gif


BIN
static/src/images/loader-white1.gif


BIN
static/src/images/loader-white2.gif


BIN
static/src/images/loader-white3.gif


BIN
static/src/images/loader-white4.gif


BIN
static/src/images/loader-white5.gif


BIN
static/src/images/loader-white6.gif


BIN
static/src/images/loader-white7.gif


BIN
static/src/images/loader.gif


BIN
static/src/images/loader_bright.gif


BIN
static/src/images/loader_skype_trans.gif


BIN
static/src/images/not_loaded.png


BIN
static/src/images/play-button-round.png


BIN
static/src/images/play-button-square.png


BIN
static/src/images/transparent.png


BIN
static/src/img/call-footer.png


BIN
static/src/img/call.png


BIN
static/src/img/cart.png


BIN
static/src/img/cart2.png


BIN
static/src/img/config.png


BIN
static/src/img/eye-view.png


BIN
static/src/img/favicon.ico


BIN
static/src/img/icons/banner-without-slider.png


BIN
static/src/img/icons/blog.png


BIN
static/src/img/icons/brand.png


BIN
static/src/img/icons/home-slider-icon.png


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov