| @ -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 |