| @ -0,0 +1,47 @@ | |||||
|  | .. image:: https://img.shields.io/badge/license-LGPL--3-green.svg | ||||
|  |     :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html | ||||
|  |     :alt: License: LGPL-3 | ||||
|  | 
 | ||||
|  | Theme Fuge | ||||
|  | ========== | ||||
|  | * Design Web Pages with Theme Fuge | ||||
|  | 
 | ||||
|  | Configuration | ||||
|  | ============ | ||||
|  |     - www.odoo.com/documentation/17.0/setup/install.html | ||||
|  |     - Install our custom addon | ||||
|  | 
 | ||||
|  | Company | ||||
|  | ------- | ||||
|  | * `Cybrosys Techno Solutions <https://cybrosys.com/>`__ | ||||
|  | 
 | ||||
|  | License | ||||
|  | ------- | ||||
|  | General Public License, Version 3 (LGPL v3). | ||||
|  | (https://www.gnu.org/licenses/lgpl-3.0-standalone.html) | ||||
|  | 
 | ||||
|  | Credits | ||||
|  | ------- | ||||
|  | * Developer: (V17) Swaraj R, Contact: odoo@cybrosys.com | ||||
|  | 
 | ||||
|  | Contacts | ||||
|  | -------- | ||||
|  | * Mail Contact : odoo@cybrosys.com | ||||
|  | * Website : https://cybrosys.com | ||||
|  | 
 | ||||
|  | Bug Tracker | ||||
|  | ----------- | ||||
|  | Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. | ||||
|  | 
 | ||||
|  | Maintainer | ||||
|  | -------- | ||||
|  | This module is maintained by Cybrosys Technologies. | ||||
|  | 
 | ||||
|  | For support and more information, please visit https://www.cybrosys.com | ||||
|  | 
 | ||||
|  | .. image:: https://cybrosys.com/images/logo.png | ||||
|  |    :target: https://cybrosys.com" | ||||
|  | 
 | ||||
|  | Further information | ||||
|  | =================== | ||||
|  | HTML Description: `<static/description/index.html>`__ | ||||
| @ -0,0 +1,23 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | from . import controllers | ||||
|  | from . import models | ||||
| @ -0,0 +1,70 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | { | ||||
|  |     'name': 'Theme Fuge', | ||||
|  |     'version': '17.0.1.0.0', | ||||
|  |     'category': 'Theme/eCommerce', | ||||
|  |     'summary': 'Design Web Pages with theme fuge', | ||||
|  |     'description': 'Theme Fuge is an attractive and modern eCommerce Website' | ||||
|  |                    ' theme', | ||||
|  |     'author': 'Cybrosys Techno Solutions', | ||||
|  |     'company': 'Cybrosys Techno Solutions', | ||||
|  |     'maintainer': 'Cybrosys Techno Solutions', | ||||
|  |     'website': "https://www.cybrosys.com", | ||||
|  |     'depends': ['website', 'website_sale_wishlist', 'website_blog'], | ||||
|  |     'data': [ | ||||
|  |         'views/views.xml', | ||||
|  |         'views/shop_view.xml', | ||||
|  |         'views/shop_sidebar_view.xml', | ||||
|  |         'views/product_view.xml', | ||||
|  |         'views/blog.xml', | ||||
|  |         'views/popular_posts.xml', | ||||
|  |         'views/blog_details.xml', | ||||
|  |         'views/about.xml', | ||||
|  |         'views/contact.xml', | ||||
|  |         'views/footer.xml', | ||||
|  |         'views/snippets/banner.xml', | ||||
|  |         'views/snippets/shop_with_us.xml', | ||||
|  |         'views/snippets/offer_men.xml', | ||||
|  |         'views/snippets/offer_women.xml', | ||||
|  |         'views/snippets/product_section.xml', | ||||
|  |         'views/snippets/latest_blogs.xml', | ||||
|  |         'views/snippets/customer_review.xml', | ||||
|  |         'views/snippets/subscribe.xml', | ||||
|  |     ], | ||||
|  |     'assets': { | ||||
|  |         'web.assets_frontend': [ | ||||
|  |             'theme_fuge/static/src/css/style.css', | ||||
|  |             'theme_fuge/static/src/css/owl.carousel.min.css', | ||||
|  |             'theme_fuge/static/src/css/owl.theme.default.min.css', | ||||
|  |             'theme_fuge/static/src/js/product.js', | ||||
|  |         ], | ||||
|  |     }, | ||||
|  |     'images': [ | ||||
|  |         'static/description/banner.png', | ||||
|  |         'static/description/theme_screenshot.png', | ||||
|  |     ], | ||||
|  |     'license': 'LGPL-3', | ||||
|  |     'installable': True, | ||||
|  |     'auto_install': False, | ||||
|  |     'application': False, | ||||
|  | } | ||||
| @ -0,0 +1,23 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | from . import main | ||||
|  | from . import popular_post | ||||
| @ -0,0 +1,92 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | from odoo.addons.website_sale.controllers.main import WebsiteSale | ||||
|  | from odoo import http, fields | ||||
|  | from odoo.http import request | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class MainProduct(http.Controller): | ||||
|  |     """Class MainProduct with function get_main_product to fetch | ||||
|  |     main product and return to corresponding template""" | ||||
|  |     @http.route('/get_main_product', auth="public", type='json', | ||||
|  |                 website=True) | ||||
|  |     def get_main_product(self): | ||||
|  |         """Function returns the main products values to the | ||||
|  |         product_section snippet""" | ||||
|  |         main_products = request.env['product.template'].sudo().search( | ||||
|  |             [('website_published', '=', True)], | ||||
|  |             order='create_date asc', limit=8) | ||||
|  |         values = { | ||||
|  |             'main_products': main_products, | ||||
|  |         } | ||||
|  |         response = http.Response(template='theme_fuge.product_snippet_section', | ||||
|  |                                  qcontext=values) | ||||
|  |         return response.render() | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class WebsiteBlog(http.Controller): | ||||
|  |     """Class WebsiteBlog with function get_blog_post to fetch | ||||
|  |        main blog and return to corresponding template""" | ||||
|  |     @http.route('/get_blog_post', auth="public", type='json', | ||||
|  |                 website=True) | ||||
|  |     def get_blog_post(self): | ||||
|  |         """Function returns the value of latest blog to | ||||
|  |         the snippet od template id latest_blog""" | ||||
|  |         posts = request.env['blog.post'].sudo().search( | ||||
|  |             [('website_published', '=', True), | ||||
|  |              ('post_date', '<=', fields.Datetime.now())], | ||||
|  |             order='published_date desc', limit=4) | ||||
|  |         values = { | ||||
|  |             'posts_recent': posts, | ||||
|  |         } | ||||
|  |         response = http.Response(template='theme_fuge.latest_blog_section', | ||||
|  |                                  qcontext=values) | ||||
|  |         return response.render() | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class WebsiteContactUs(http.Controller): | ||||
|  |     """Class WebsiteContactUs to with defined route to render contact us | ||||
|  |     thanks template when successful contact is created""" | ||||
|  |     @http.route('/contactus-thank-you', type="http", website=True, | ||||
|  |                 auth='public') | ||||
|  |     def create_contact_us(self, **kw): | ||||
|  |         """this function related to the above controller renders the template | ||||
|  |         contactus_thanks after successful submission of contact us form""" | ||||
|  |         return request.render("website.contactus_thanks", {}) | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class WebsiteProductComparison(WebsiteSale): | ||||
|  |     """Class WebsiteProductComparison with defined function to check | ||||
|  |     the comparison settings is enabled in website config settings""" | ||||
|  |     @http.route() | ||||
|  |     def shop(self, **post): | ||||
|  |         """Extracts the value of the module_website_sale_comparison field from | ||||
|  |          the fetched configuration settings. This represents a boolean | ||||
|  |          indicating whether product comparison is enabled or not""" | ||||
|  |         res = super().shop(**post) | ||||
|  |         res_config_settings = request.env['res.config.settings'].sudo().search( | ||||
|  |             [], limit=1, order='id desc') | ||||
|  |         boolean_product_comparison = ( | ||||
|  |             res_config_settings.module_website_sale_comparison) | ||||
|  |         res.qcontext.update( | ||||
|  |             {'boolean_product_comparison': boolean_product_comparison}) | ||||
|  |         return res | ||||
| @ -0,0 +1,78 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | from odoo import http, fields | ||||
|  | from odoo.http import request | ||||
|  | from odoo.osv import expression | ||||
|  | from odoo.addons.website_blog.controllers.main import WebsiteBlog | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class WebsiteBlogInherit(WebsiteBlog): | ||||
|  |     """Class WebsiteBlogInherit with multiple routes to fetch blog related | ||||
|  |      data using function blog and blog_post""" | ||||
|  | 
 | ||||
|  |     @http.route([ | ||||
|  |         '/blog', | ||||
|  |         '/blog/page/<int:page>', | ||||
|  |         '/blog/tag/<string:tag>', | ||||
|  |         '/blog/tag/<string:tag>/page/<int:page>', | ||||
|  |         '''/blog/<model("blog.blog"):blog>''', | ||||
|  |         '''/blog/<model("blog.blog"):blog>/page/<int:page>''', | ||||
|  |         '''/blog/<model("blog.blog"):blog>/tag/<string:tag>''', | ||||
|  |         '''/blog/<model("blog.blog"):blog>/tag/<string:tag>/page/<int:page>''', | ||||
|  |     ], type='http', auth="public", website=True, sitemap=True) | ||||
|  |     def blog(self, blog=None, tag=None, page=1, search=None, **opt): | ||||
|  |         """On user choosing blog filters in the website blogs this function | ||||
|  |         returns the blog of count 3 on order published_date descending""" | ||||
|  |         limit = 3 | ||||
|  |         order = 'published_date desc' | ||||
|  |         dom = expression.AND([ | ||||
|  |             [('website_published', '=', True), | ||||
|  |              ('post_date', '<=', fields.Datetime.now())], | ||||
|  |             request.website.website_domain() | ||||
|  |         ]) | ||||
|  |         posts = request.env['blog.post'].search(dom, limit=limit, order=order) | ||||
|  |         res = super(WebsiteBlogInherit, self).blog(blog=blog, tag=tag, page=1, | ||||
|  |                                                    search=search, **opt) | ||||
|  |         res.qcontext.update({'posts_popular': posts}) | ||||
|  |         return res | ||||
|  | 
 | ||||
|  |     @http.route(['''/blog/<model("blog.blog"):blog>/<model''' | ||||
|  |                  '''("blog.post", "[('blog_id','=',blog.id)]"):blog_post>''', ], | ||||
|  |                 type='http', auth="public", website=True, sitemap=True) | ||||
|  |     def blog_post(self, blog, blog_post, tag_id=None, page=1, | ||||
|  |                   enable_editor=None, **post): | ||||
|  |         """This function returns the popular top 3 blogs to the | ||||
|  |         corresponding template of order published_date descending""" | ||||
|  |         limit = 3 | ||||
|  |         order = 'published_date desc' | ||||
|  |         dom = expression.AND([ | ||||
|  |             [('website_published', '=', True), | ||||
|  |              ('post_date', '<=', fields.Datetime.now())], | ||||
|  |             request.website.website_domain() | ||||
|  |         ]) | ||||
|  |         posts = request.env['blog.post'].search(dom, limit=limit, order=order) | ||||
|  |         res = super(WebsiteBlogInherit, self).blog_post(blog, blog_post, | ||||
|  |                                                         tag_id=tag_id, page=1, | ||||
|  |                                                         enable_editor=None, | ||||
|  |                                                         **post) | ||||
|  |         res.qcontext.update({'posts_popular': posts}) | ||||
|  |         return res | ||||
| @ -0,0 +1,6 @@ | |||||
|  | ## Module <theme_fuge> | ||||
|  | 
 | ||||
|  | #### 04.03.2024 | ||||
|  | #### Version 17.0.1.0.0 | ||||
|  | #### ADD | ||||
|  | - Initial commit for Theme Fuge | ||||
| @ -0,0 +1,22 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | from . import theme_fuge | ||||
| @ -0,0 +1,37 @@ | |||||
|  | # -*- coding: utf-8 -*- | ||||
|  | ############################################################################# | ||||
|  | # | ||||
|  | #    Cybrosys Technologies Pvt. Ltd. | ||||
|  | # | ||||
|  | #    Copyright (C) 2024-TODAY Cybrosys Technologies(<https://www.cybrosys.com>) | ||||
|  | #    Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>) | ||||
|  | # | ||||
|  | #    You can modify it under the terms of the GNU LESSER | ||||
|  | #    GENERAL PUBLIC LICENSE (LGPL v3), Version 3. | ||||
|  | # | ||||
|  | #    This program is distributed in the hope that it will be useful, | ||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|  | #    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. | ||||
|  | # | ||||
|  | #    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE | ||||
|  | #    (LGPL v3) along with this program. | ||||
|  | #    If not, see <http://www.gnu.org/licenses/>. | ||||
|  | # | ||||
|  | ############################################################################# | ||||
|  | from odoo import models | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | class FugeTheme(models.AbstractModel): | ||||
|  |     """Class FugeTheme inherited them.utils with function _fuge_theme_post_copy | ||||
|  |     for manipulating views""" | ||||
|  |     _inherit = 'theme.utils' | ||||
|  | 
 | ||||
|  |     def _fuge_theme_post_copy(self, mod): | ||||
|  |         """Views are manipulated related to the blog post some of them are | ||||
|  |         enabled and some of them are disabled""" | ||||
|  |         self.enable_view('website_blog.opt_blog_sidebar_show') | ||||
|  |         self.enable_view('website_blog.opt_blog_list_view') | ||||
|  |         self.disable_view('website_blog.opt_posts_loop_show_author') | ||||
|  |         self.disable_view('website_sale.add_grid_or_list_option') | ||||
|  |         self.disable_view('website_sale.products_list_view') | ||||
| After Width: | Height: | Size: 188 KiB | 
| After Width: | Height: | Size: 188 KiB | 
| After Width: | Height: | Size: 19 KiB | 
| After Width: | Height: | Size: 109 KiB | 
| After Width: | Height: | Size: 3.7 MiB | 
| After Width: | Height: | Size: 1.6 MiB | 
| After Width: | Height: | Size: 135 KiB | 
| After Width: | Height: | Size: 145 KiB | 
| After Width: | Height: | Size: 80 KiB | 
| After Width: | Height: | Size: 51 KiB | 
| After Width: | Height: | Size: 1019 KiB | 
| After Width: | Height: | Size: 1.3 KiB | 
| After Width: | Height: | Size: 1.4 KiB | 
| After Width: | Height: | Size: 932 KiB | 
| After Width: | Height: | Size: 10 KiB | 
| After Width: | Height: | Size: 28 KiB | 
| After Width: | Height: | Size: 4.1 MiB | 
| After Width: | Height: | Size: 3.5 MiB | 
| After Width: | Height: | Size: 1.7 MiB | 
| After Width: | Height: | Size: 2.4 MiB | 
| After Width: | Height: | Size: 3.3 MiB | 
| After Width: | Height: | Size: 576 B | 
| After Width: | Height: | Size: 733 B | 
| After Width: | Height: | Size: 357 KiB | 
| After Width: | Height: | Size: 911 B | 
| After Width: | Height: | Size: 156 KiB | 
| After Width: | Height: | Size: 1.1 KiB | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 673 B | 
| After Width: | Height: | Size: 137 KiB | 
| After Width: | Height: | Size: 565 B | 
| After Width: | Height: | Size: 878 B | 
| After Width: | Height: | Size: 653 B | 
| After Width: | Height: | Size: 905 B | 
| After Width: | Height: | Size: 839 B | 
| After Width: | Height: | Size: 792 KiB | 
| After Width: | Height: | Size: 320 KiB | 
| After Width: | Height: | Size: 43 KiB | 
| After Width: | Height: | Size: 1.4 KiB | 
| After Width: | Height: | Size: 178 KiB | 
| After Width: | Height: | Size: 208 KiB | 
| After Width: | Height: | Size: 427 B | 
| After Width: | Height: | Size: 627 B | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 988 B | 
| After Width: | Height: | Size: 38 KiB | 
| After Width: | Height: | Size: 1.2 KiB | 
| After Width: | Height: | Size: 332 KiB | 
| @ -0,0 +1,6 @@ | |||||
|  | /** | ||||
|  |  * Owl Carousel v2.3.4 | ||||
|  |  * Copyright 2013-2018 David Deutsch | ||||
|  |  * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE | ||||
|  |  */ | ||||
|  | .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:flex}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} | ||||
| @ -0,0 +1,6 @@ | |||||
|  | /** | ||||
|  |  * Owl Carousel v2.3.4 | ||||
|  |  * Copyright 2013-2018 David Deutsch | ||||
|  |  * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE | ||||
|  |  */ | ||||
|  | .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791} | ||||
| After Width: | Height: | Size: 215 KiB | 
| After Width: | Height: | Size: 215 KiB | 
| After Width: | Height: | Size: 568 KiB | 
| After Width: | Height: | Size: 159 KiB | 
| After Width: | Height: | Size: 237 KiB | 
| After Width: | Height: | Size: 34 KiB | 
| After Width: | Height: | Size: 35 KiB | 
| After Width: | Height: | Size: 41 KiB | 
| After Width: | Height: | Size: 32 KiB | 
| After Width: | Height: | Size: 9.4 KiB | 
| After Width: | Height: | Size: 8.1 KiB | 
| After Width: | Height: | Size: 271 KiB | 
| After Width: | Height: | Size: 268 KiB | 
| After Width: | Height: | Size: 486 KiB | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 18 KiB | 
| After Width: | Height: | Size: 3.1 KiB | 
| After Width: | Height: | Size: 8.0 KiB | 
| After Width: | Height: | Size: 398 KiB | 
| After Width: | Height: | Size: 486 KiB | 
| After Width: | Height: | Size: 4.4 KiB | 
| After Width: | Height: | Size: 1.1 MiB | 
| After Width: | Height: | Size: 1.1 MiB | 
| After Width: | Height: | Size: 182 KiB | 
| After Width: | Height: | Size: 215 KiB | 
| After Width: | Height: | Size: 159 KiB | 
| After Width: | Height: | Size: 35 KiB | 
| After Width: | Height: | Size: 27 KiB | 
| After Width: | Height: | Size: 175 KiB | 
| After Width: | Height: | Size: 186 KiB | 
| After Width: | Height: | Size: 120 KiB | 
| After Width: | Height: | Size: 5.5 KiB | 
| After Width: | Height: | Size: 32 KiB | 
| After Width: | Height: | Size: 7.8 KiB | 
| After Width: | Height: | Size: 26 KiB | 
| After Width: | Height: | Size: 24 KiB | 
| After Width: | Height: | Size: 10 MiB | 
| After Width: | Height: | Size: 398 KiB |