@ -0,0 +1,45 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-LGPL--3-green.svg |
||||
|
:target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html |
||||
|
:alt: License: LGPL-3 |
||||
|
|
||||
|
Theme Fashion |
||||
|
============= |
||||
|
* Design Web Pages with theme fashion |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
- www.odoo.com/documentation/16.0/setup/install.html |
||||
|
- Install our custom addon |
||||
|
|
||||
|
License |
||||
|
------- |
||||
|
General Public License, Version 3 (LGPL v3). |
||||
|
(https://www.gnu.org/licenses/lgpl-3.0-standalone.html) |
||||
|
|
||||
|
Company |
||||
|
------- |
||||
|
* `Cybrosys Techno Solutions: <https://cybrosys.com>`__ |
||||
|
|
||||
|
Credits |
||||
|
------- |
||||
|
Developer: (V17) Developer ADVAITH BG, 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 |
||||
|
========== |
||||
|
.. image:: https://cybrosys.com/images/logo.png |
||||
|
:target: https://cybrosys.com |
||||
|
This module is maintained by Cybrosys Technologies. |
||||
|
For support and more information, please visit https://www.cybrosys.com |
||||
|
|
||||
|
Further information |
||||
|
=================== |
||||
|
HTML Description: `<static/description/index.html>`__ |
@ -0,0 +1,24 @@ |
|||||
|
# -*- 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 |
||||
|
from . import wizard |
@ -0,0 +1,74 @@ |
|||||
|
# -*- 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 Fashion', |
||||
|
"version": "17.0.1.0.0", |
||||
|
'category': 'Theme/eCommerce', |
||||
|
'summary': 'Design Web Pages with Theme Fashion.', |
||||
|
'description': 'Theme Fashion is a attractive and unique front-end theme' |
||||
|
' mainly suitable for eCommerce website', |
||||
|
"author": "Cybrosys Techno Solutions", |
||||
|
"company": "Cybrosys Techno Solutions", |
||||
|
"maintainer": "Cybrosys Techno Solutions", |
||||
|
"website": "https://www.cybrosys.com", |
||||
|
'depends': ['website_sale','website_blog'], |
||||
|
'data': [ |
||||
|
'security/ir.model.access.csv', |
||||
|
'wizard/theme_fasion_wizard_views.xml', |
||||
|
'views/layout_templates.xml', |
||||
|
'views/header_templates.xml', |
||||
|
'views/footer_templates.xml', |
||||
|
'views/blog_templates.xml', |
||||
|
'views/contact_us_templates.xml', |
||||
|
'views/products_templates.xml', |
||||
|
'views/snippets/s_service_templates.xml', |
||||
|
'views/snippets/s_category_templates.xml', |
||||
|
'views/snippets/s_smart_clothing_templates.xml', |
||||
|
'views/snippets/s_insta_shopping_templates.xml', |
||||
|
'views/snippets/s_banner_templates.xml', |
||||
|
], |
||||
|
'assets': { |
||||
|
'web.assets_frontend': [ |
||||
|
'theme_fasion/static/src/css/animate.min.css', |
||||
|
'theme_fasion/static/src/css/easyzoom.css', |
||||
|
'theme_fasion/static/src/css/owl.carousel.min.css', |
||||
|
'theme_fasion/static/src/css/owl.theme.default.min.css', |
||||
|
'theme_fasion/static/src/css/pygments.css', |
||||
|
'theme_fasion/static/src/css/style.css', |
||||
|
'theme_fasion/static/src/css/custom.css', |
||||
|
'theme_fasion/static/src/js/owl.carousel.js', |
||||
|
'theme_fasion/static/src/js/owl.carousel.min.js', |
||||
|
'theme_fasion/static/src/js/categories_snippet.js', |
||||
|
'theme_fasion/static/src/js/smart_clothing_snippet.js', |
||||
|
'theme_fasion/static/src/js/insta_shopping_snippet.js', |
||||
|
'theme_fasion/static/src/js/custom.js', |
||||
|
], |
||||
|
}, |
||||
|
'images': [ |
||||
|
'static/description/banner.png', |
||||
|
'static/description/theme_screenshot.jpg', |
||||
|
], |
||||
|
"license": "LGPL-3", |
||||
|
"installable": True, |
||||
|
"auto_install": False, |
||||
|
"application": False, |
||||
|
} |
@ -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_fasion |
@ -0,0 +1,82 @@ |
|||||
|
# -*- 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 |
||||
|
|
||||
|
|
||||
|
class ThemeFasion(http.Controller): |
||||
|
""" |
||||
|
To get data of dynamic snippets |
||||
|
""" |
||||
|
@http.route('/get_categories', auth='public', type='json', |
||||
|
website=True) |
||||
|
def get_categories(self): |
||||
|
""" |
||||
|
Data of categories snippet |
||||
|
""" |
||||
|
category_ids = http.request.env['website'].sudo().browse( |
||||
|
http.request.website.id |
||||
|
).category_ids |
||||
|
values = { |
||||
|
'categories': category_ids |
||||
|
} |
||||
|
response = http.Response( |
||||
|
template='theme_fasion.categories_snippet', qcontext=values) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/get_smart_clothing', auth='public', type='json', |
||||
|
website=True) |
||||
|
def get_smart_clothing(self, **kw): |
||||
|
""" |
||||
|
Data of smart clothing snippet |
||||
|
""" |
||||
|
smart_clothing_ids = http.request.env['website'].sudo().browse( |
||||
|
http.request.website.id |
||||
|
).smart_clothing_ids |
||||
|
values = {} |
||||
|
if smart_clothing_ids: |
||||
|
values.update({ |
||||
|
"categories": smart_clothing_ids, |
||||
|
"current_category": smart_clothing_ids[ |
||||
|
kw.get('current_id') - 1] if |
||||
|
kw.get('current_id') else smart_clothing_ids[0], |
||||
|
}) |
||||
|
response = http.Response( |
||||
|
template='theme_fasion.smart_clothing_snippet', qcontext=values) |
||||
|
return response.render() |
||||
|
|
||||
|
@http.route('/get_insta_shopping', auth='public', type='json', |
||||
|
website=True) |
||||
|
def get_insta_shopping(self): |
||||
|
""" |
||||
|
Data of insta shopping snippet |
||||
|
""" |
||||
|
insta_shopping_ids = http.request.env['website'].sudo().browse( |
||||
|
http.request.website.id |
||||
|
).insta_shopping_ids |
||||
|
values = {} |
||||
|
if insta_shopping_ids: |
||||
|
values.update({ |
||||
|
"posts": insta_shopping_ids, |
||||
|
}) |
||||
|
response = http.Response( |
||||
|
template='theme_fasion.insta_shopping_snippet', qcontext=values) |
||||
|
return response.render() |
@ -0,0 +1,6 @@ |
|||||
|
## Module <theme_fasion> |
||||
|
|
||||
|
#### 21.06.2024 |
||||
|
#### Version 17.0.1.0.0 |
||||
|
#### ADD |
||||
|
- Initial commit for Theme Fashion |
@ -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_fasion |
@ -0,0 +1,95 @@ |
|||||
|
# -*- 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 api, fields, models |
||||
|
|
||||
|
|
||||
|
class ThemeFashion(models.AbstractModel): |
||||
|
"""Inherit the model theme.utils for adding new header file""" |
||||
|
_inherit = 'theme.utils' |
||||
|
|
||||
|
def _theme_fasion_post_copy(self, mod): |
||||
|
"""For viewing default header""" |
||||
|
self.enable_view( |
||||
|
'theme_fasion.template_header_hamburger_oe_structure_header_fasions') |
||||
|
self.disable_view('website.template_header_default') |
||||
|
|
||||
|
|
||||
|
class Website(models.Model): |
||||
|
""" |
||||
|
To add a field in website model to save the values. |
||||
|
""" |
||||
|
_inherit = 'website' |
||||
|
|
||||
|
category_ids = fields.Many2many('product.public.category', |
||||
|
help="Category ids") |
||||
|
smart_clothing_ids = fields.One2many("smart.clothing", |
||||
|
"website_id", |
||||
|
help="Smart clothing ids") |
||||
|
insta_shopping_ids = fields.One2many("insta.shopping", |
||||
|
"website_id", |
||||
|
help="Insta shopping ids") |
||||
|
|
||||
|
|
||||
|
class SmartClothing(models.Model): |
||||
|
""" |
||||
|
To create model for smart clothing |
||||
|
""" |
||||
|
_name = 'smart.clothing' |
||||
|
_description = "Smart Clothing" |
||||
|
|
||||
|
theme_fasion_wizard_id = fields.Many2one("theme.fasion.wizard", |
||||
|
"Theme Fasion Wizard", |
||||
|
help="Theme fasion wizard id") |
||||
|
website_id = fields.Many2one("website", "Website", |
||||
|
help="Website id") |
||||
|
category_id = fields.Many2one("product.public.category", |
||||
|
string="Category", help="Category id") |
||||
|
product_ids = fields.Many2many("product.template", |
||||
|
string="Products", help="Products") |
||||
|
dynamic_category_id = fields.Integer(string="Dynamic Category", |
||||
|
help="Dynamic category id") |
||||
|
|
||||
|
# Onchange Methods |
||||
|
@api.onchange("category_id") |
||||
|
def _onchange_category_id(self): |
||||
|
""" |
||||
|
Used to make dynamic domain for product_ids |
||||
|
""" |
||||
|
if self.category_id: |
||||
|
self.dynamic_category_id = self.category_id.id |
||||
|
|
||||
|
|
||||
|
class InstaShopping(models.Model): |
||||
|
""" |
||||
|
To create model for insta shopping |
||||
|
""" |
||||
|
_name = 'insta.shopping' |
||||
|
_description = "Insta Shopping" |
||||
|
|
||||
|
theme_fasion_wizard_id = fields.Many2one("theme.fasion.wizard", |
||||
|
"Theme Fasion Wizard", |
||||
|
help="Theme fasion wizard id") |
||||
|
|
||||
|
website_id = fields.Many2one("website", "Website", |
||||
|
help="Website id") |
||||
|
image_1920 = fields.Binary(string="Upload Image", help="Image") |
||||
|
insta_link = fields.Char(string="Instagram Link", help="Instagram post link") |
|
After Width: | Height: | Size: 165 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 247 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: 731 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 206 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: 419 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: 423 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: 273 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: 264 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: 380 KiB |
@ -0,0 +1,29 @@ |
|||||
|
/* Header */ |
||||
|
header .top_nav .first_nav .top_nav_right { |
||||
|
width: auto; |
||||
|
} |
||||
|
header .top_nav .first_nav .top_nav_right div.input-group { |
||||
|
background-color: transparent !important; |
||||
|
color: #888787; |
||||
|
border-radius: 0; |
||||
|
margin-top: 8px; |
||||
|
border: 1px solid !important; |
||||
|
height: 40px; |
||||
|
} |
||||
|
header .top_nav .first_nav .top_nav_right div.input-group input.search-query { |
||||
|
background: white !important; |
||||
|
} |
||||
|
header .top_nav .first_nav .top_nav_right div.input-group button.oe_search_button { |
||||
|
background: white !important; |
||||
|
} |
||||
|
@media screen and (max-width: 678px) { |
||||
|
header .top_nav .first_nav .top_nav_right form.o_searchbar_form { |
||||
|
width: 50%; |
||||
|
} |
||||
|
} |
||||
|
div#cart_total tr div.coupon_form a { |
||||
|
line-height: 2; |
||||
|
} |
||||
|
section.banner ol.carousel-indicators li { |
||||
|
background-color: aqua; |
||||
|
} |
@ -0,0 +1,65 @@ |
|||||
|
/** |
||||
|
* EasyZoom core styles |
||||
|
*/ |
||||
|
.easyzoom { |
||||
|
position: relative; |
||||
|
|
||||
|
/* 'Shrink-wrap' the element */ |
||||
|
display: inline-block; |
||||
|
*display: inline; |
||||
|
*zoom: 1; |
||||
|
} |
||||
|
|
||||
|
.easyzoom img { |
||||
|
vertical-align: bottom; |
||||
|
} |
||||
|
|
||||
|
.easyzoom.is-loading img { |
||||
|
cursor: progress; |
||||
|
} |
||||
|
|
||||
|
.easyzoom.is-ready img { |
||||
|
cursor: crosshair; |
||||
|
} |
||||
|
|
||||
|
.easyzoom.is-error img { |
||||
|
cursor: not-allowed; |
||||
|
} |
||||
|
|
||||
|
.easyzoom-notice { |
||||
|
position: absolute; |
||||
|
top: 50%; |
||||
|
left: 50%; |
||||
|
z-index: 150; |
||||
|
width: 10em; |
||||
|
margin: -1em 0 0 -5em; |
||||
|
line-height: 2em; |
||||
|
text-align: center; |
||||
|
background: #FFF; |
||||
|
box-shadow: 0 0 10px #888; |
||||
|
} |
||||
|
|
||||
|
.easyzoom-flyout { |
||||
|
position:absolute; |
||||
|
z-index: 100; |
||||
|
overflow: hidden; |
||||
|
background: #FFF; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* EasyZoom layout variations |
||||
|
*/ |
||||
|
.easyzoom--overlay .easyzoom-flyout { |
||||
|
top: 0; |
||||
|
left: 0; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
|
||||
|
.easyzoom--adjacent .easyzoom-flyout { |
||||
|
top: 0; |
||||
|
left: 100%; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
margin-left: 20px; |
||||
|
} |
@ -0,0 +1,167 @@ |
|||||
|
html, body { |
||||
|
height: 100%; |
||||
|
margin: 0; |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
body { |
||||
|
font: normal 16px/1.5 Arial, sans-serif; |
||||
|
color: #111; |
||||
|
background: #eee; |
||||
|
} |
||||
|
|
||||
|
h1, h2, h3, h4, header > p { |
||||
|
text-align: center; |
||||
|
color: #555; |
||||
|
} |
||||
|
|
||||
|
h1 { |
||||
|
margin: 0 0 .2em; |
||||
|
font-size: 2.5em; |
||||
|
letter-spacing: -.075em; |
||||
|
} |
||||
|
|
||||
|
h2, h1 + p { |
||||
|
margin: 0 0 .5em; |
||||
|
font-size: 1.5em; |
||||
|
} |
||||
|
|
||||
|
h3, h4 { |
||||
|
margin: 0 0 .5em; |
||||
|
font-size: 1.25em; |
||||
|
} |
||||
|
|
||||
|
* + h3 { |
||||
|
margin-top: 1em; |
||||
|
} |
||||
|
|
||||
|
header > h1 { |
||||
|
margin-bottom: 0; |
||||
|
} |
||||
|
|
||||
|
header > p { |
||||
|
margin-bottom: 1em; |
||||
|
} |
||||
|
|
||||
|
p, dl, ul, ol { |
||||
|
margin: 0 0 1.5em; |
||||
|
} |
||||
|
|
||||
|
dt { |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
|
||||
|
dd { |
||||
|
margin: 0 0 1em; |
||||
|
font-size: .8125em; |
||||
|
color: #555; |
||||
|
} |
||||
|
|
||||
|
ul, ol { |
||||
|
padding-left: 1.5em; |
||||
|
} |
||||
|
|
||||
|
button, |
||||
|
a.button { |
||||
|
font-size: 1.2em; |
||||
|
line-height: 1; |
||||
|
padding: .25em .5em; |
||||
|
border: none; |
||||
|
text-decoration: none; |
||||
|
color: #fff; |
||||
|
background: #333; |
||||
|
border-radius: 7px; |
||||
|
} |
||||
|
|
||||
|
button:hover, |
||||
|
a.button:hover { |
||||
|
background-color: #111; |
||||
|
} |
||||
|
|
||||
|
a img { |
||||
|
border: 0; |
||||
|
} |
||||
|
|
||||
|
figure { |
||||
|
margin: 0; |
||||
|
} |
||||
|
|
||||
|
pre, code, var, tt { |
||||
|
font-size: 15px; |
||||
|
font-style: normal; |
||||
|
font-family: Consolas, "Lucida Console", Monaco, monospace; |
||||
|
} |
||||
|
|
||||
|
pre { |
||||
|
overflow: auto; |
||||
|
padding: 1em .5em; |
||||
|
border: 1px solid #333; |
||||
|
line-height: 1.25; |
||||
|
text-align: left; |
||||
|
border-radius: 5px; |
||||
|
} |
||||
|
|
||||
|
table { |
||||
|
border: 1px solid #ddd; |
||||
|
border-collapse: collapse; |
||||
|
} |
||||
|
|
||||
|
tr > * { |
||||
|
border-right: 1px solid #ddd; |
||||
|
} |
||||
|
|
||||
|
tr > :last-child { |
||||
|
border-right: 0; |
||||
|
} |
||||
|
|
||||
|
th, td { |
||||
|
padding: 5px; |
||||
|
text-align: left; |
||||
|
min-width: 150px; |
||||
|
} |
||||
|
|
||||
|
th { |
||||
|
background: #fafafa; |
||||
|
} |
||||
|
|
||||
|
td { |
||||
|
border-top: 1px solid #ddd; |
||||
|
} |
||||
|
|
||||
|
.container { |
||||
|
width: 640px; |
||||
|
margin: 0 auto; |
||||
|
padding: 2em 2em 4em; |
||||
|
background: #fff; |
||||
|
box-shadow: 0 0 5em rgba(0, 0, 0, .1); |
||||
|
} |
||||
|
|
||||
|
.container section + section { |
||||
|
margin-top: 3em; |
||||
|
border-top: 1px solid #ccc; |
||||
|
padding-top: 1em; |
||||
|
} |
||||
|
|
||||
|
.thumbnails { |
||||
|
overflow: hidden; |
||||
|
margin: 1em 0; |
||||
|
padding: 0; |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
.thumbnails li { |
||||
|
display: inline-block; |
||||
|
width: 140px; |
||||
|
margin: 0 5px; |
||||
|
} |
||||
|
|
||||
|
.thumbnails img { |
||||
|
display: block; |
||||
|
min-width: 100%; |
||||
|
max-width: 100%; |
||||
|
} |
||||
|
|
||||
|
.toggle { |
||||
|
display: block; |
||||
|
margin: 10px auto 1.5em; |
||||
|
} |
@ -0,0 +1,6 @@ |
|||||
|
/** |
||||
|
* Owl Carousel v2.3.4 |
||||
|
* Copyright 2013-2018 David Deutsch |
||||
|
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE |
||||
|
*/ |
||||
|
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} |
@ -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} |
@ -0,0 +1,66 @@ |
|||||
|
/* Tomorrow Night - Eighties <https://github.com/MozMorris/tomorrow-pygments> */ |
||||
|
.highlight .hll { background-color: #515151 } |
||||
|
.highlight { background: #2d2d2d; color: #cccccc } |
||||
|
.highlight .c { color: #999999 } /* Comment */ |
||||
|
.highlight .err { color: #f2777a } /* Error */ |
||||
|
.highlight .k { color: #cc99cc } /* Keyword */ |
||||
|
.highlight .l { color: #f99157 } /* Literal */ |
||||
|
.highlight .n { color: #cccccc } /* Name */ |
||||
|
.highlight .o { color: #66cccc } /* Operator */ |
||||
|
.highlight .p { color: #cccccc } /* Punctuation */ |
||||
|
.highlight .cm { color: #999999 } /* Comment.Multiline */ |
||||
|
.highlight .cp { color: #999999 } /* Comment.Preproc */ |
||||
|
.highlight .c1 { color: #999999 } /* Comment.Single */ |
||||
|
.highlight .cs { color: #999999 } /* Comment.Special */ |
||||
|
.highlight .gd { color: #f2777a } /* Generic.Deleted */ |
||||
|
.highlight .ge { font-style: italic } /* Generic.Emph */ |
||||
|
.highlight .gh { color: #cccccc; font-weight: bold } /* Generic.Heading */ |
||||
|
.highlight .gi { color: #99cc99 } /* Generic.Inserted */ |
||||
|
.highlight .gp { color: #999999; font-weight: bold } /* Generic.Prompt */ |
||||
|
.highlight .gs { font-weight: bold } /* Generic.Strong */ |
||||
|
.highlight .gu { color: #66cccc; font-weight: bold } /* Generic.Subheading */ |
||||
|
.highlight .kc { color: #cc99cc } /* Keyword.Constant */ |
||||
|
.highlight .kd { color: #cc99cc } /* Keyword.Declaration */ |
||||
|
.highlight .kn { color: #66cccc } /* Keyword.Namespace */ |
||||
|
.highlight .kp { color: #cc99cc } /* Keyword.Pseudo */ |
||||
|
.highlight .kr { color: #cc99cc } /* Keyword.Reserved */ |
||||
|
.highlight .kt { color: #ffcc66 } /* Keyword.Type */ |
||||
|
.highlight .ld { color: #99cc99 } /* Literal.Date */ |
||||
|
.highlight .m { color: #f99157 } /* Literal.Number */ |
||||
|
.highlight .s { color: #99cc99 } /* Literal.String */ |
||||
|
.highlight .na { color: #6699cc } /* Name.Attribute */ |
||||
|
.highlight .nb { color: #cccccc } /* Name.Builtin */ |
||||
|
.highlight .nc { color: #ffcc66 } /* Name.Class */ |
||||
|
.highlight .no { color: #f2777a } /* Name.Constant */ |
||||
|
.highlight .nd { color: #66cccc } /* Name.Decorator */ |
||||
|
.highlight .ni { color: #cccccc } /* Name.Entity */ |
||||
|
.highlight .ne { color: #f2777a } /* Name.Exception */ |
||||
|
.highlight .nf { color: #6699cc } /* Name.Function */ |
||||
|
.highlight .nl { color: #cccccc } /* Name.Label */ |
||||
|
.highlight .nn { color: #ffcc66 } /* Name.Namespace */ |
||||
|
.highlight .nx { color: #6699cc } /* Name.Other */ |
||||
|
.highlight .py { color: #cccccc } /* Name.Property */ |
||||
|
.highlight .nt { color: #66cccc } /* Name.Tag */ |
||||
|
.highlight .nv { color: #f2777a } /* Name.Variable */ |
||||
|
.highlight .ow { color: #66cccc } /* Operator.Word */ |
||||
|
.highlight .w { color: #cccccc } /* Text.Whitespace */ |
||||
|
.highlight .mf { color: #f99157 } /* Literal.Number.Float */ |
||||
|
.highlight .mh { color: #f99157 } /* Literal.Number.Hex */ |
||||
|
.highlight .mi { color: #f99157 } /* Literal.Number.Integer */ |
||||
|
.highlight .mo { color: #f99157 } /* Literal.Number.Oct */ |
||||
|
.highlight .sb { color: #99cc99 } /* Literal.String.Backtick */ |
||||
|
.highlight .sc { color: #cccccc } /* Literal.String.Char */ |
||||
|
.highlight .sd { color: #999999 } /* Literal.String.Doc */ |
||||
|
.highlight .s2 { color: #99cc99 } /* Literal.String.Double */ |
||||
|
.highlight .se { color: #f99157 } /* Literal.String.Escape */ |
||||
|
.highlight .sh { color: #99cc99 } /* Literal.String.Heredoc */ |
||||
|
.highlight .si { color: #f99157 } /* Literal.String.Interpol */ |
||||
|
.highlight .sx { color: #99cc99 } /* Literal.String.Other */ |
||||
|
.highlight .sr { color: #99cc99 } /* Literal.String.Regex */ |
||||
|
.highlight .s1 { color: #99cc99 } /* Literal.String.Single */ |
||||
|
.highlight .ss { color: #99cc99 } /* Literal.String.Symbol */ |
||||
|
.highlight .bp { color: #cccccc } /* Name.Builtin.Pseudo */ |
||||
|
.highlight .vc { color: #f2777a } /* Name.Variable.Class */ |
||||
|
.highlight .vg { color: #f2777a } /* Name.Variable.Global */ |
||||
|
.highlight .vi { color: #f2777a } /* Name.Variable.Instance */ |
||||
|
.highlight .il { color: #f99157 } /* Literal.Number.Integer.Long */ |
After Width: | Height: | Size: 149 KiB |
After Width: | Height: | Size: 230 KiB |
After Width: | Height: | Size: 114 KiB |
After Width: | Height: | Size: 230 KiB |
After Width: | Height: | Size: 427 KiB |
After Width: | Height: | Size: 3.8 MiB |
After Width: | Height: | Size: 2.8 MiB |
After Width: | Height: | Size: 413 KiB |
After Width: | Height: | Size: 3.9 MiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 184 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 27 KiB |