diff --git a/theme_coffee_shop/README.rst b/theme_coffee_shop/README.rst new file mode 100644 index 000000000..e76054617 --- /dev/null +++ b/theme_coffee_shop/README.rst @@ -0,0 +1,50 @@ +.. image:: https://img.shields.io/badge/license-LGPL--3-blue.svg + :target: https://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 + +Theme Coffee Shop +================= +This is a theme for Coffee Shop. + +Installation +============ +- www.odoo.com/documentation/17.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 `__ + +Credits +------- +Developer: (V18) Mufeeda Shirin, + (V17) Sayanth M K, Sruthi M, + (V16) Ayisha Sumayya K, Abbas P, +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: ``__ \ No newline at end of file diff --git a/theme_coffee_shop/__init__.py b/theme_coffee_shop/__init__.py new file mode 100644 index 000000000..50349d36a --- /dev/null +++ b/theme_coffee_shop/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import controllers +from . import models diff --git a/theme_coffee_shop/__manifest__.py b/theme_coffee_shop/__manifest__.py new file mode 100644 index 000000000..4f393fee3 --- /dev/null +++ b/theme_coffee_shop/__manifest__.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +{ + 'name': 'Theme Coffee Shop', + 'version': '18.0.1.0.0', + 'category': 'Theme', + 'summary': 'A Captivating and Practical E-Commerce Theme for Coffee Shops', + 'description': 'Theme Coffee Shop brings a captivating and highly ' + 'practical theme crafted exclusively for e-Commerce' + ' websites specializing in coffee shops. With its blend of ' + 'aesthetic appeal and user-centric design, this theme ' + 'provides an exceptional browsing and shopping experience ' + 'for coffee enthusiasts and customers.It encapsulates the' + ' essence of a cozy coffee shop, translating it into an ' + 'engaging online platform for your coffee products and ' + 'accessories.', + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'depends': ['website_sale_wishlist', 'auth_oauth', 'website_sale', 'sale'], + 'data': [ + 'data/website_menu_data.xml', + 'views/header.xml', + 'views/footer.xml', + 'views/contact_us.xml', + 'views/cart_lines.xml', + 'views/shop.xml', + 'views/about_us.xml', + 'views/feature.xml', + 'views/menu_page.xml', + ], + 'assets': { + 'web.assets_frontend': [ + 'theme_coffee_shop/static/src/css/style.css', + ], + }, + 'images': ['static/description/banner.png', + 'static/description/theme_screenshot.jpg'], + 'license': 'LGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False +} diff --git a/theme_coffee_shop/controllers/__init__.py b/theme_coffee_shop/controllers/__init__.py new file mode 100644 index 000000000..593735790 --- /dev/null +++ b/theme_coffee_shop/controllers/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import theme_coffee_shop diff --git a/theme_coffee_shop/controllers/theme_coffee_shop.py b/theme_coffee_shop/controllers/theme_coffee_shop.py new file mode 100644 index 000000000..e17e958eb --- /dev/null +++ b/theme_coffee_shop/controllers/theme_coffee_shop.py @@ -0,0 +1,389 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from collections import defaultdict +from datetime import datetime +from itertools import product as cartesian_product +from werkzeug.exceptions import NotFound +from odoo import http, tools +from odoo.http import request +from odoo.osv import expression +from odoo.tools import lazy +from odoo.addons.website.controllers.main import QueryURL +from odoo.addons.website.models.ir_http import sitemap_qs2dom + + +class TableCompute(object): + """This is used to compute the table""" + + def __init__(self): + self.table = {} + + def _check_place(self, posx, posy, sizex, sizey, ppr): + """Checks the position """ + res = True + for y in range(sizey): + for x in range(sizex): + if posx + x >= ppr: + res = False + break + row = self.table.setdefault(posy + y, {}) + if row.setdefault(posx + x) is not None: + res = False + break + for x in range(ppr): + self.table[posy + y].setdefault(x, None) + return res + + def process(self, products, ppg=20, ppr=4): + """Compute products positions on the grid""" + minpos = 0 + index = 0 + maxy = 0 + x = 0 + for p in products: + x = min(max(p.website_size_x, 1), ppr) + y = min(max(p.website_size_y, 1), ppr) + if index >= ppg: + x = y = 1 + + pos = minpos + while not self._check_place(pos % ppr, pos // ppr, x, y, ppr): + pos += 1 + # if 21st products (index 20) and the last line is full , break + # (pos + 1.0) / ppr is the line where the product would be inserted + # maxy is the number of existing lines + # + 1.0 is because pos begins at 0, + # thus pos 20 is actually the 21st block + # and to force python to not round the division operation + if index >= ppg and ((pos + 1.0) // ppr) > maxy: + break + if x == 1 and y == 1: # simple heuristic for CPU optimization + minpos = pos // ppr + + for y2 in range(y): + for x2 in range(x): + self.table[(pos // ppr) + y2][(pos % ppr) + x2] = False + self.table[pos // ppr][pos % ppr] = { + 'product': p, 'x': x, 'y': y, + 'ribbon': p.sudo().website_ribbon_id, + } + if index <= ppg: + maxy = max(maxy, y + (pos // ppr)) + index += 1 + + # Format table according to HTML needs + rows = sorted(self.table.items()) + rows = [r[1] for r in rows] + for col in range(len(rows)): + cols = sorted(rows[col].items()) + x += len(cols) + rows[col] = [r[1] for r in cols if r[1]] + + return rows + + +class ThemeCoffeeMenu(http.Controller): + """ Controller for rendering datas to menu page """ + + # + def _get_search_order(self, post): + """ OrderBy will be parsed in orm and so no direct sql injection id is + added to be sure that order is a unique sort key + """ + order = post.get('order') or request.env[ + 'website'].get_current_website().shop_default_sort + return 'is_published desc, %s, id desc' % order + + def _get_search_domain(self, search, category, attrib_values, + search_in_description=True): + """Function for getting search domain""" + domains = [request.website.sale_product_domain()] + if search: + for srch in search.split(" "): + subdomains = [ + [('name', 'ilike', srch)], + [('product_variant_ids.default_code', 'ilike', srch)] + ] + if search_in_description: + subdomains.append([('website_description', 'ilike', srch)]) + subdomains.append([('description_sale', 'ilike', srch)]) + domains.append(expression.OR(subdomains)) + if category: + domains.append([('public_categ_ids', 'child_of', int(category))]) + if attrib_values: + attrib = None + ids = [] + for value in attrib_values: + if not attrib: + attrib = value[0] + ids.append(value[1]) + elif value[0] == attrib: + ids.append(value[1]) + else: + domains.append([ + ('attribute_line_ids.value_ids', 'in', ids)]) + attrib = value[0] + ids = [value[1]] + if attrib: + domains.append([('attribute_line_ids.value_ids', 'in', ids)]) + return expression.AND(domains) + + def sitemap_shop(env, rule, qs): + """Sitemap for shop""" + if not qs or qs.lower() in '/menu': + yield {'loc': '/menu'} + category = env['product.public.category'] + dom = sitemap_qs2dom(qs, '/menu/category', category._rec_name) + dom += env['website'].get_current_website().website_domain() + for cat in category.search(dom): + loc = '/menu/category/%s' % env['ir.http']._slug(cat) + if not qs or qs.lower() in loc: + yield {'loc': loc} + + def _get_search_options( + self, category=None, attrib_values=None, pricelist=None, **post): + """Function for returning search options""" + return { + 'displayDescription': True, + 'displayDetail': True, + 'displayExtraDetail': True, + 'displayExtraLink': True, + 'displayImage': True, + 'allowFuzzy': not post.get('noFuzzy'), + 'category': str(category.id) if category else None, + 'attrib_values': attrib_values, + 'display_currency': pricelist.currency_id, + } + + def _shop_lookup_products(self, attrib_set, options, + post, search, website): + """ No limit because attributes are obtained from complete + product list""" + product_count, details, fuzzy_search_term = website._search_with_fuzzy( + "products_only", search, limit=None, + order=self._get_search_order(post), options=options + ) + search_result = details[0].get( + 'results', request.env['product.template'] + ).with_context(bin_size=True) + if attrib_set: + attribute_values = request.env[ + 'product.attribute.value'].browse(attrib_set) + values_per_attribute = defaultdict( + lambda: request.env['product.attribute.value']) + multi_value_attribute = False + for value in attribute_values: + values_per_attribute[value.attribute_id] |= value + if len(values_per_attribute[value.attribute_id]) > 1: + multi_value_attribute = True + + def filter_template(template, attribute_values_list): + """Transform product.attribute.value to + product.template.attribute.value """ + attribute_value_to_ptav = {} + for ptav in \ + template.attribute_line_ids.product_template_value_ids: + attribute_value_to_ptav[ + ptav.product_attribute_value_id] = ptav.id + possible_combinations = False + for attribute_values in attribute_values_list: + ptav_ids = [attribute_value_to_ptav[val] for val in + attribute_values if + val in attribute_value_to_ptav] + ptavs = request.env[ + 'product.template.attribute.value'].browse(ptav_ids) + if len(ptavs) < len(attribute_values): + continue + if len(ptavs) == len(template.attribute_line_ids): + if template._is_combination_possible(ptavs): + return True + elif len(ptavs) < len(template.attribute_line_ids): + if len(attribute_values_list) == 1: + possible_combinations = ( + template._get_possible_combinations( + necessary_values=ptavs)) + if any(possible_combinations): + return True + if not possible_combinations: + possible_combinations = ( + template._get_possible_combinations()) + for combination in possible_combinations: + if ptavs.issubset(combination): + return True + return False + + if not multi_value_attribute: + possible_attrib_values_list = [attribute_values] + else: + possible_attrib_values_list = [attribute_values] if not \ + multi_value_attribute else \ + [request.env['product.attribute.value'] + .browse([rec.id for rec in values]) for values in + cartesian_product(*values_per_attribute.values())] + search_result = search_result.filtered( + lambda tmpl: filter_template(possible_attrib_values_list) + ) + return fuzzy_search_term, product_count, search_result + + def _menu_get_query_url_kwargs(self, category, search, attrib=None, + order=None): + """Function for returning category, search, order and attribute""" + return { + 'category': category, + 'search': search, + 'attrib': attrib, + 'order': order, + } + + @http.route([ + '/menu', + '/menu/page/', + '/menu/category/', + '/menu/category//page/', + ], type='http', auth="public", website=True, sitemap=sitemap_shop) + def menu_page(self, page=0, category=None, search='', + min_price=0.0, max_price=0.0, ppg=False, **post): + """Function for rendering menu page""" + category_id = request.env['product.public.category'] + if category: + category = category_id.search([('id', '=', int(category))], + limit=1) + if not category or not category.can_access_from_current_website(): + raise NotFound() + else: + category = category_id + website = request.env['website'].get_current_website() + if ppg: + try: + ppg = int(ppg) + post['ppg'] = ppg + except ValueError: + ppg = False + if not ppg: + ppg = website.shop_ppg or 20 + ppr = website.shop_ppr or 4 + attrib_list = request.httprequest.args.getlist('attrib') + attrib_values = [[int(rec) for rec in res.split("-")] + for res in attrib_list if res + ] + attributes_ids = {res[0] for res in attrib_values} + attrib_set = {res[1] for res in attrib_values} + keep = QueryURL('/menu', **self._menu_get_query_url_kwargs( + category and int(category), search, min_price, max_price, **post)) + now = datetime.timestamp(datetime.now()) + pricelist = request.env['product.pricelist']. \ + browse(request.session.get('website_sale_current_pl')) + if not pricelist or request.session. \ + get('website_sale_pricelist_time', 0) < now - 60 * 60: + pricelist = website.pricelist_id + request.session['website_sale_pricelist_time'] = now + request.session['website_sale_current_pl'] = pricelist.id + request.update_context(pricelist=pricelist.id, + partner=request.env.user.partner_id) + url = "/menu" + if search: + post["search"] = search + if attrib_list: + post['attrib'] = attrib_list + options = self._get_search_options( + category=category, + attrib_values=attrib_values, + pricelist=pricelist, + **post + ) + fuzzy_search_term, product_count, search_product = \ + self._shop_lookup_products( + attrib_set, options, post, search, website) + website_domain = website.website_domain() + categs_domain = [('parent_id', '=', False)] + website_domain + if search: + search_categories = category_id.search( + [('product_tmpl_ids', 'in', search_product.ids) + ] + website_domain + ).parents_and_self + categs_domain.append(('id', 'in', search_categories.ids)) + else: + search_categories = category_id + categs = lazy(lambda: category_id.search(categs_domain)) + if category: + url = "/menu/category/%s" % request.env['ir.http']._slug(category) + pager = website.pager(url=url, total=product_count, page=page, + step=ppg, scope=7, url_args=post) + offset = pager['offset'] + products = search_product[offset:offset + ppg] + product_attribute = request.env['product.attribute'] + if products: + attributes = lazy(lambda: product_attribute.search([ + ('product_tmpl_ids', 'in', search_product.ids), + ('visibility', '=', 'visible'), + ])) + else: + attributes = lazy(lambda: product_attribute.browse(attributes_ids)) + layout_mode = request.session.get('website_sale_shop_layout_mode') + if not layout_mode: + if website.viewref('website_sale.products_list_view').active: + layout_mode = 'list' + else: + layout_mode = 'grid' + request.session['website_sale_shop_layout_mode'] = layout_mode + # Try to fetch geoip based fpos or fallback on partner one + products_prices = lazy( + lambda: products._get_sales_prices(website)) + values = { + 'order': post.get('order', ''), + 'category': category, + 'attrib_values': attrib_values, + 'attrib_set': attrib_set, + 'pager': pager, + 'pricelist': pricelist, + 'add_qty': int(post.get('add_qty', 1)), + 'products': products, + 'search_product': search_product, + 'search_count': product_count, + 'bins': lazy(lambda: TableCompute().process( + products, ppg, ppr)), + 'ppg': ppg, + 'ppr': ppr, + 'categories': categs, + 'attributes': attributes, + 'keep': keep, + 'search_categories_ids': search_categories.ids, + 'products_prices': products_prices, + 'get_product_prices': lambda product: lazy( + lambda: products_prices[product.id] + ), + 'float_round': tools.float_round, + } + if category: + values['main_object'] = category + return request.render("theme_coffee_shop.coffee_menu", values) + + @http.route(['/menu/'], type='http', + auth="public", website=True, sitemap=True) + def product(self, product, category='', search='', **kwargs): + """Function for rendering product page""" + if not request.website.has_ecommerce_access(): + return request.redirect('/web/login') + return request.render("website_sale.product", + self._prepare_product_values(product, category, + search, **kwargs)) diff --git a/theme_coffee_shop/data/website_menu_data.xml b/theme_coffee_shop/data/website_menu_data.xml new file mode 100644 index 000000000..28e32baa5 --- /dev/null +++ b/theme_coffee_shop/data/website_menu_data.xml @@ -0,0 +1,26 @@ + + + + + + About us + /about + + 30 + + + + Features + /feature + + 35 + + + + Menu + /menu + + 15 + + + diff --git a/theme_coffee_shop/doc/RELEASE_NOTES.md b/theme_coffee_shop/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..20f288bc5 --- /dev/null +++ b/theme_coffee_shop/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 01.11.2024 +#### Version 18.0.1.0.0 +#### ADD +- Initial commit for Theme Coffee Shop diff --git a/theme_coffee_shop/models/__init__.py b/theme_coffee_shop/models/__init__.py new file mode 100644 index 000000000..c28c6d0c3 --- /dev/null +++ b/theme_coffee_shop/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from . import theme_utils diff --git a/theme_coffee_shop/models/theme_utils.py b/theme_coffee_shop/models/theme_utils.py new file mode 100644 index 000000000..186eb0281 --- /dev/null +++ b/theme_coffee_shop/models/theme_utils.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +############################################################################# +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2024-TODAY Cybrosys Technologies() +# Author: Cybrosys Techno Solutions() +# +# You can modify it under the terms of the GNU LESSER +# GENERAL PUBLIC LICENSE (LGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details. +# +# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE +# (LGPL v3) along with this program. +# If not, see . +# +############################################################################# +from odoo import api, models + + +class ThemeUtils(models.AbstractModel): + """ Class for enable and disable templates when using coffee shop theme """ + _inherit = 'theme.utils' + + @api.model + def _theme_coffee_shop_post_copy(self, mod): + """ Enable and disable templates when using coffee shop theme """ + self.enable_view("website_sale.products_categories") + self.enable_view("website_sale.products_description") + self.enable_view("website_sale.products_design_card") + self.enable_view("website_sale.products_add_to_cart") + self.enable_view("website_sale.product_comment") + self.enable_view("website_sale.option_collapse_products_categories") + self.enable_view("website_sale.product_buy_now") + self.disable_view("website_sale.products_categories_top") + self.disable_view("website_sale.products_design_grid") diff --git a/theme_coffee_shop/static/description/banner.png b/theme_coffee_shop/static/description/banner.png new file mode 100644 index 000000000..c35dd2632 Binary files /dev/null and b/theme_coffee_shop/static/description/banner.png differ diff --git a/theme_coffee_shop/static/description/icon.png b/theme_coffee_shop/static/description/icon.png new file mode 100644 index 000000000..9f9c1a16b Binary files /dev/null and b/theme_coffee_shop/static/description/icon.png differ diff --git a/theme_coffee_shop/static/description/img/01.jpg b/theme_coffee_shop/static/description/img/01.jpg new file mode 100644 index 000000000..30f869b07 Binary files /dev/null and b/theme_coffee_shop/static/description/img/01.jpg differ diff --git a/theme_coffee_shop/static/description/img/1.jpg b/theme_coffee_shop/static/description/img/1.jpg new file mode 100644 index 000000000..3786216cc Binary files /dev/null and b/theme_coffee_shop/static/description/img/1.jpg differ diff --git a/theme_coffee_shop/static/description/img/2.jpg b/theme_coffee_shop/static/description/img/2.jpg new file mode 100644 index 000000000..b61c026ca Binary files /dev/null and b/theme_coffee_shop/static/description/img/2.jpg differ diff --git a/theme_coffee_shop/static/description/img/3.jpg b/theme_coffee_shop/static/description/img/3.jpg new file mode 100644 index 000000000..1179f093e Binary files /dev/null and b/theme_coffee_shop/static/description/img/3.jpg differ diff --git a/theme_coffee_shop/static/description/img/Banner-1.jpg b/theme_coffee_shop/static/description/img/Banner-1.jpg new file mode 100644 index 000000000..c90962e0b Binary files /dev/null and b/theme_coffee_shop/static/description/img/Banner-1.jpg differ diff --git a/theme_coffee_shop/static/description/img/Banner-2.jpg b/theme_coffee_shop/static/description/img/Banner-2.jpg new file mode 100644 index 000000000..fcfad38f3 Binary files /dev/null and b/theme_coffee_shop/static/description/img/Banner-2.jpg differ diff --git a/theme_coffee_shop/static/description/img/arrows-repeat.svg b/theme_coffee_shop/static/description/img/arrows-repeat.svg new file mode 100644 index 000000000..94fb8f7f9 --- /dev/null +++ b/theme_coffee_shop/static/description/img/arrows-repeat.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/banner-bg-1.svg b/theme_coffee_shop/static/description/img/banner-bg-1.svg new file mode 100644 index 000000000..7af9bab87 --- /dev/null +++ b/theme_coffee_shop/static/description/img/banner-bg-1.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/banner.png b/theme_coffee_shop/static/description/img/banner.png new file mode 100644 index 000000000..c35dd2632 Binary files /dev/null and b/theme_coffee_shop/static/description/img/banner.png differ diff --git a/theme_coffee_shop/static/description/img/banner.svg b/theme_coffee_shop/static/description/img/banner.svg new file mode 100644 index 000000000..3d4ed7a4a --- /dev/null +++ b/theme_coffee_shop/static/description/img/banner.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/check.svg b/theme_coffee_shop/static/description/img/check.svg new file mode 100644 index 000000000..8bc79333d --- /dev/null +++ b/theme_coffee_shop/static/description/img/check.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/coffee_01.png b/theme_coffee_shop/static/description/img/coffee_01.png new file mode 100644 index 000000000..71180d4f5 Binary files /dev/null and b/theme_coffee_shop/static/description/img/coffee_01.png differ diff --git a/theme_coffee_shop/static/description/img/countactus.png b/theme_coffee_shop/static/description/img/countactus.png new file mode 100644 index 000000000..4bd999d12 Binary files /dev/null and b/theme_coffee_shop/static/description/img/countactus.png differ diff --git a/theme_coffee_shop/static/description/img/demo-1.png b/theme_coffee_shop/static/description/img/demo-1.png new file mode 100644 index 000000000..7cb3d9146 Binary files /dev/null and b/theme_coffee_shop/static/description/img/demo-1.png differ diff --git a/theme_coffee_shop/static/description/img/demo-2.png b/theme_coffee_shop/static/description/img/demo-2.png new file mode 100644 index 000000000..97b2e5092 Binary files /dev/null and b/theme_coffee_shop/static/description/img/demo-2.png differ diff --git a/theme_coffee_shop/static/description/img/demo-3.png b/theme_coffee_shop/static/description/img/demo-3.png new file mode 100644 index 000000000..fc6e38fa7 Binary files /dev/null and b/theme_coffee_shop/static/description/img/demo-3.png differ diff --git a/theme_coffee_shop/static/description/img/demo-5.png b/theme_coffee_shop/static/description/img/demo-5.png new file mode 100644 index 000000000..7308bf5e2 Binary files /dev/null and b/theme_coffee_shop/static/description/img/demo-5.png differ diff --git a/theme_coffee_shop/static/description/img/feature-star.svg b/theme_coffee_shop/static/description/img/feature-star.svg new file mode 100644 index 000000000..a913270e8 --- /dev/null +++ b/theme_coffee_shop/static/description/img/feature-star.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/featuress.png b/theme_coffee_shop/static/description/img/featuress.png new file mode 100644 index 000000000..3192dbc2a Binary files /dev/null and b/theme_coffee_shop/static/description/img/featuress.png differ diff --git a/theme_coffee_shop/static/description/img/gear.svg b/theme_coffee_shop/static/description/img/gear.svg new file mode 100644 index 000000000..ce383059d --- /dev/null +++ b/theme_coffee_shop/static/description/img/gear.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/hire-odoo.svg b/theme_coffee_shop/static/description/img/hire-odoo.svg new file mode 100644 index 000000000..9cfec4e44 --- /dev/null +++ b/theme_coffee_shop/static/description/img/hire-odoo.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/life-ring-icon.svg b/theme_coffee_shop/static/description/img/life-ring-icon.svg new file mode 100644 index 000000000..b6c797ba1 --- /dev/null +++ b/theme_coffee_shop/static/description/img/life-ring-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/odoo-consultancy.svg b/theme_coffee_shop/static/description/img/odoo-consultancy.svg new file mode 100644 index 000000000..c2c27e608 --- /dev/null +++ b/theme_coffee_shop/static/description/img/odoo-consultancy.svg @@ -0,0 +1,4 @@ + + + + diff --git a/theme_coffee_shop/static/description/img/odoo-licencing.svg b/theme_coffee_shop/static/description/img/odoo-licencing.svg new file mode 100644 index 000000000..8a520b40f --- /dev/null +++ b/theme_coffee_shop/static/description/img/odoo-licencing.svg @@ -0,0 +1,3 @@ + + + diff --git a/theme_coffee_shop/static/description/img/patter.svg b/theme_coffee_shop/static/description/img/patter.svg new file mode 100644 index 000000000..9b7b0d7cd --- /dev/null +++ b/theme_coffee_shop/static/description/img/patter.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/phone-screenshots.jpg b/theme_coffee_shop/static/description/img/phone-screenshots.jpg new file mode 100644 index 000000000..6a7ba94f2 Binary files /dev/null and b/theme_coffee_shop/static/description/img/phone-screenshots.jpg differ diff --git a/theme_coffee_shop/static/description/img/puzzle-piece-icon.svg b/theme_coffee_shop/static/description/img/puzzle-piece-icon.svg new file mode 100644 index 000000000..ab5e56fa7 --- /dev/null +++ b/theme_coffee_shop/static/description/img/puzzle-piece-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/screenshot-1.svg b/theme_coffee_shop/static/description/img/screenshot-1.svg new file mode 100644 index 000000000..72eeb921b --- /dev/null +++ b/theme_coffee_shop/static/description/img/screenshot-1.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/screenshot-2.png b/theme_coffee_shop/static/description/img/screenshot-2.png new file mode 100644 index 000000000..e13b876da Binary files /dev/null and b/theme_coffee_shop/static/description/img/screenshot-2.png differ diff --git a/theme_coffee_shop/static/description/img/screenshot-3.png b/theme_coffee_shop/static/description/img/screenshot-3.png new file mode 100644 index 000000000..be1acdfd5 Binary files /dev/null and b/theme_coffee_shop/static/description/img/screenshot-3.png differ diff --git a/theme_coffee_shop/static/description/img/screenshot-4.png b/theme_coffee_shop/static/description/img/screenshot-4.png new file mode 100644 index 000000000..1d01e11fc Binary files /dev/null and b/theme_coffee_shop/static/description/img/screenshot-4.png differ diff --git a/theme_coffee_shop/static/description/img/screenshot-5.svg b/theme_coffee_shop/static/description/img/screenshot-5.svg new file mode 100644 index 000000000..923e355bf --- /dev/null +++ b/theme_coffee_shop/static/description/img/screenshot-5.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/screenshot-img.png b/theme_coffee_shop/static/description/img/screenshot-img.png new file mode 100644 index 000000000..a425d9ede Binary files /dev/null and b/theme_coffee_shop/static/description/img/screenshot-img.png differ diff --git a/theme_coffee_shop/static/description/img/screenshot-main.png b/theme_coffee_shop/static/description/img/screenshot-main.png new file mode 100644 index 000000000..575f8e676 Binary files /dev/null and b/theme_coffee_shop/static/description/img/screenshot-main.png differ diff --git a/theme_coffee_shop/static/description/img/template-white-them-1.png b/theme_coffee_shop/static/description/img/template-white-them-1.png new file mode 100644 index 000000000..8a51f2e57 Binary files /dev/null and b/theme_coffee_shop/static/description/img/template-white-them-1.png differ diff --git a/theme_coffee_shop/static/description/img/theme_fuge.png b/theme_coffee_shop/static/description/img/theme_fuge.png new file mode 100644 index 000000000..9f9c1a16b Binary files /dev/null and b/theme_coffee_shop/static/description/img/theme_fuge.png differ diff --git a/theme_coffee_shop/static/description/img/translate.svg b/theme_coffee_shop/static/description/img/translate.svg new file mode 100644 index 000000000..eea729542 --- /dev/null +++ b/theme_coffee_shop/static/description/img/translate.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/img/wrench-icon.svg b/theme_coffee_shop/static/description/img/wrench-icon.svg new file mode 100644 index 000000000..4e0ce1d01 --- /dev/null +++ b/theme_coffee_shop/static/description/img/wrench-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/theme_coffee_shop/static/description/index.html b/theme_coffee_shop/static/description/index.html new file mode 100644 index 000000000..28aa4eb6a --- /dev/null +++ b/theme_coffee_shop/static/description/index.html @@ -0,0 +1,849 @@ + + + + + + + app index + + + + + + + + + + +
+ + + +
+
+
+
+ +
+
+
+
+ +
+ Supports: +
+ Community +
+
+ Enterprise +
+
+
+
+
+ Availability: +
+ Odoo + Online +
+
+ + Odoo.sh +
+
+ On + Premise +
+
+
+
+
+
+ + + + +
+
+ +
+
+ + + + + +
+
+
+
+
+

Our Features

+ +

The Theme Coffee Shop was created by Cybrosys + Technology Solutions. This theme can be added to + make a classy + website for cafes, bistros, and restaurants. + Additionally, if + you own wineries, bakeries, burger joints, fast food + chains, or + recipe websites, you can use it. It's a complete + food company + theme, making it a fantastic option for both + restaurants and + food websites. This theme is the missing special + ingredient for + you to build irresistible websites. + +

+ +

It uses the collection of portfolio templates and + powerful features to create a stylish portfolio for + your + business. Snippets can be used to create homepages + that showcase + your shop's drink menus and other offerings. Also, + it features + both common and unique short codes designed + specifically for + presentations. It might be useful for showcasing + your company's + identity and product offerings. + +

+ +

This theme contains everything from designed + homepages, to shopping carts. It is compatible with + Elementor + and simple to drag and drop items. Quickly create + any layout + without any coding skills. Along with this theme , + it permits + users to use third-party plugins also. This theme + use the most + recent iteration of a coffee shop's website. Both + adaptable and + user-friendly. + + +

+ + +
+
+
+
+
+
+
+ +

Shop Page

+ +

The shop display you products in a stylish + way. It's displaying 4 products in a row, and it + will attract your customers. Also, the Category + side are customized in collapsible style. + Display + high quality images for your products +

+
+ +
+
+
+
+
+ +

About Us

+

Theme coffee shop have a fully customized about + us page with details of employees.

+
+ +
+
+
+
+
+ +

Contact page

+ +

In the customized Contact us page the company + details will show, and it will help to your + customer to reach you in simple way.

+
+ + +
+
+
+
+
+ +

Customized eCommerce websites

+ +

Fully customizes eCommerce websites, including + shop and product views.

+
+ +
+
+
+
+
+ +

Design

+ +

The most recent website creation for a coffee + shop.Flexible and easy to use

+
+ +
+
+
+
+
+ +

User-friendly interface

+ +

User-friendly interface for both desktop and + mobile devices.

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

+ Theme Features

+
+
+
+
+ HIGHLIGHT +

Desktop View

+

Customizing and using our theme is + effortless. With a simple + drag-and-drop interface, you can + create visually stunning + webpages. + Whether you're a novice or an + experienced user, our intuitive + design tools make the process + seamless. Say goodbye to + complicated + setups and hello to hassle-free + website customization. Elevate + your + online presence with ease using + our + user-friendly theme.

+ + +
+
+ Grid item +
+ +
+
+ +
+
+
+ HIGHLIGHT +

Our awesome Premium Features.

+

Our expert baristas don’t just make coffee, they create works of art. From silky lattes to bold espressos, each cup is crafted with passion and precision..

+ + + +
+
+ Grid item +
+ +
+
+
+ + + + +
+
+
+
+ HIGHLIGHT +

Let’s Talk Coffee

+

The Contact Us page should capture the warm, inviting, and cozy atmosphere of the café itself. The page should feel approachable, with a touch of personality that reflects the charm of your coffee shop

+ +
+
+ Grid item +
+ +
+
+ +
+
+
+ HIGHLIGHT +

HomePage

+

Our homepage offers a clean, modern design with an inviting, cozy atmosphere that reflects the essence of our coffee shop. With an easy-to-navigate layout, stunning visuals, and a seamless user experience.

+ +
+
+ Grid item +
+ +
+
+
+ + +
+
+
+
+ +
+ + +
+ + + + + + +
+
+
+
+

+ Infuse Your Website with the Warmth of a
+ Coffee Shop +

+ +
+

Give your coffee shop a digital makeover with a + website that’s as smooth as your best brew. + Optimized for desktop, tablet, or mobile, your site + will combine stunning design with seamless + functionality, offering visitors a visually pleasing + and easy-to-navigate experience they’ll want to + return to

+
    +
  • High-Quality Visuals
  • +
  • Fast Load Times
  • +
  • Intuitive Navigation and User Experience +
  • +
  • Responsive and Adaptive Design +
  • +
+
+
+
+
+
+
+ +
+ +
+
+
+
+ + + +
+
+
+
+
+ +
+ +
+
+
+
+

+ Designed for Mobile,
+ Infused with Coffee Shop Vibes +

+ +
+

Every detail of your website is brewed for + perfection, delivering a seamless and user-friendly + experience on any mobile device. Your customers will + savor smooth navigation and rich visuals, just like + their favorite coffee blend.

+
    +
  • Fast Loading Times
  • +
  • User-Friendly Navigation
  • +
  • Responsive Design for Any Device +
  • +
+
+
+
+ +
+
+ + + + + + + +
+ + + + + + + + \ No newline at end of file diff --git a/theme_coffee_shop/static/description/theme_screenshot.jpg b/theme_coffee_shop/static/description/theme_screenshot.jpg new file mode 100644 index 000000000..c90962e0b Binary files /dev/null and b/theme_coffee_shop/static/description/theme_screenshot.jpg differ diff --git a/theme_coffee_shop/static/src/css/style.css b/theme_coffee_shop/static/src/css/style.css new file mode 100644 index 000000000..d5ec47d45 --- /dev/null +++ b/theme_coffee_shop/static/src/css/style.css @@ -0,0 +1,4295 @@ +* { + margin: 0px; + padding: 0; + box-sizing: border-box; + font-family: 'Montserrat', sans-serif; +} +body { + background: #F5F5F5; +} +.header { + padding: 20px; + height: 100px; + z-index: 900; + background: white; + position: sticky; + top: 0; + box-shadow: 0px 0px 10px #A2A2A2; +} +.wrapper { + max-width: 1134px; + margin: 0 auto; + padding-right: 0px; + padding-left: 0px; +} +.nav-bar { + display: flex; + align-items: center; + justify-content: space-between; +} +.nav-bar ul { + display: flex; + align-items: center; + list-style: none; + transition: 0.3s ease-in-out; +} +.nav-bar ul li { + position: relative; + +} +.nav-bar ul li .sub-menu { + display: none; + position: absolute; + background: white; + margin-top: 0px; + margin-left: -15px; + width: 200px; +} +.nav-bar ul li .sub-menu li a { + display: block; +} +.nav-bar ul li:hover .sub-menu { + display: block; +} +.nav-bar ul li:hover .sub-menu ul { + display: block; + width: 150px; +} +.nav-bar ul li:hover .arrow { + transform: rotate(180deg); +} +.nav-bar ul li:hover .sub-menu ul li { + padding: 10px; + +} +.sub-menu ul li a { + font-size: 16px; + position: static; + font-weight: 100; + cursor: pointer; +} +.sub-menu ul li:hover a { + color: #FF9B17; +} +.nav-bar ul li a { + text-decoration: none; + font-size: 17px; + color: #282828; + font-weight: 600; + transition: 0.3s; +} +.nav-bar ul li a { + position: relative; +} +.nav-bar ul li a:after { + content: ""; + background-color: #CC2300; + border-radius: 8px; + position: absolute; + width: 0; + height: 3px; + bottom: -4px; + left: 0; +} +.nav-bar ul li a:hover:after { + content: ""; + background-color: #CC2300; + border-radius: 8px; + position: absolute; + width: 25%; + height: 3px; + bottom: -4px; + left: 0; +} +.nav-bar ul li a.active:after { + content: ""; + background-color: #CC2300; + border-radius: 8px; + position: absolute; + width: 25%; + height: 3px; + bottom: -4px; + left: 0; +} +.sub-menu ul li a.active { + color: #FF9B17; +} +.sub-menu ul li a:hover::after, +.sub-menu ul li a.active::after { + content: none; + background: none; +} +.nav-bar ul li a.active, +.nav-bar ul li a:hover { + font-weight: bold; +} +.nav-bar .notification { + position: relative; + cursor: pointer; +} +.notify { + width: 8px; + height: 8px; + background-color: #CC2300; + border-radius: 50%; + position: absolute; + top: 28px; + margin-left: 19px; +} +.menu { + display: none; + cursor: pointer; +} +.menu div { + width: 24px; + margin: 5px; + background: black; + height: 3px; +} +.notify-icon { + display: flex; + align-items: center; + gap: 40px; +} +.mob-navig { + display: flex; + gap: 20px; +} +.navbar-icon { + display: none; + align-items: center; + gap: 40px; + list-style: none; +} +.mob-navig { + display: none; + gap: 20px; +} +.login-form-container { + position: fixed; + top: -105%; + left: 0; + height: 100%; + width: 100%; + background: rgba(0, 0, 0, 0.2); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; + opacity: 0; +} +.login-form-container.show { + top: 0; + opacity: 1; +} +.login-form-container form { + background: #FFFFFF; + border-radius: 5px; + width: 500px; + height: 600px; + align-items: center; + text-align: center; + position: relative; +} +.loginbtn { + cursor: pointer; +} +.login-form-head { + font-weight: 700; + font-size: 25px; + line-height: 34px; + text-transform: capitalize; + color: #282828; + margin-bottom: 40px; +} +.login-google { + background: #282828; + border-radius: 5px; + font-weight: 500; + font-size: 20px; + margin-bottom: 15px + line-height: 22px; + color: #FFFFFF; + padding: 14px 36px; + border: none; + outline: none; + width: 100%; + cursor: pointer; +} +.login-or { + font-weight: 400; + font-size: 16px; + line-height: 11px; + color: #A8A8A8; + margin-top: 30px; + margin-bottom: 40px; + +} +.form-content { + margin: 30px 90px; + position: relative; +} +.coffe_search { + margin-bottom: 14px; +} + +.login-form-grp {} + +.login-input { + margin-bottom: 15px; + background: rgba(217, 217, 217, 0.2); + border-radius: 5px; + border: none; + outline: none; + font-weight: 400; + font-size: 16px; + line-height: 11px; + color: #A8A8A8; + padding: 16px; + width: 100%; +} + +.login-close { + position: absolute; + font-size: 20px; + right: 20px; + top: 20px; + color: #CC2300; + cursor: pointer; +} + +.password-settings { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 50px; + margin-top: 10px; +} + +.remember { + display: flex; + align-items: center; +} + +.password-settings label { + font-weight: 400; + font-size: 14px; + color: #282828; + margin-bottom: 0px; +} + +.frgt-text { + font-weight: 600; + font-size: 14px; + line-height: 13px; + color: #FF9B17; +} + +.checkbox { + border: 1px solid #FF9B17; + border-radius: 2px; +} + +.register { + margin-top: 30px; + font-weight: 400; + font-size: 16px; + color: #282828; +} + +.frgt-text:hover { + color: #FF9B17; +} + +.create-one { + font-weight: 600; + font-size: 16px; + color: #FF9B17; +} + +.create-one:hover { + text-decoration: none; + color: #FF9B17; +} + +.items-cart { + margin: 20px 0px; + display: flex; + flex-direction: column; + gap: 30px; +} + +.items-cart i { + color: #CC2300; +} + +.cart-name { + font-weight: 700; + font-size: 25px; + line-height: 34px; + color: #282828; + text-align: center; +} + +.cart-item { + display: flex; + align-items: center; + position: relative; +} + +.shopping-cart { + position: absolute; + top: 110%; + right: 0; + border-radius: .5rem; + background: #FFFFFF; + border-radius: 5px; + width: 400px; + opacity: 0; + display: none; + align-items: center; + box-shadow: 0px 0px 10px -6px rgba(0, 0, 0, 0.1); + +} + +.shopping-cart.showcart { + right: 9rem; + transition: 0.3s linear; + opacity: 1; + display: block; +} + +.item-cartname { + font-weight: 600; + font-size: 14px; + color: #282828; +} + +.item-cartabout { + font-weight: 400; + font-size: 14px; + color: #FF9B17; +} + +.cart-box { + margin: 40px; + display: flex; + flex-direction: column; + position: relative; +} + +.cart-box .cartremove { + position: absolute; + right: 0; + top: 0; + cursor: pointer; +} + +.cart-box .cart-border { + border-bottom: 0.5px solid #EFEFEF; + margin-bottom: 16px; +} + +.cart-buttons { + display: flex; + align-items: center; + justify-content: space-between; +} + +.cart-buttons button { + outline: none; + font-weight: 500; + font-size: 20px; + line-height: 15px; + border-radius: 5px; +} + +.cartview { + border: 1px solid #282828; + padding: 15px 24px; + background: none; +} + +.cartcheckout { + background: #282828; + color: white; + border: none; + padding: 15px 28px; +} + +.item-rate { + font-weight: 600; + font-size: 14px; + color: #282828; +} + +/*.................Main-Section.......................*/ +#main-content { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 150px; + height: 100vh; +} + +.main-row { + width: 100%; + margin-right: 0px; + margin-left: 0px; +} + +#main-content .left-section { + padding-right: 0; + padding-left: 0; +} + +#main-content .left-section .main-head { + font-size: 56px; + margin-bottom: 40px; + font-weight: 800; + font-family: 'Montserrat', sans-serif; + width: 78%; +} + +#main-content button { + padding: 14px 44px; + font-size: 20px; + background-color: #282828; + color: white; + border-radius: 6px; + cursor: pointer; + font-weight: 600; + border: none; +} + +.gallery{ + display: flex; + align-items: center; + justify-content: center; + gap: 30px; +} + +.img-box{ + width: 200px; + height: 500px; + border-radius: 15px; + background-image: url('images/landing Page/coffee-latte-with-cookies-coffiee-beans.jpg'); + background-size: cover; + background-position: center; + position: relative; + transition: width 0.5s; +} + +.img-box img{ + width: 100%; +} + +.img-box:nth-child(1){ + width: 400px; + +} + +.img-box:nth-child(2){ + background: url('images/landing Page/slashio-photography-ZG9ggI_pjFw-unsplash.jpg'); + background-size: cover; + background-position: center; + height: 400px; +} + +.img-box:nth-child(3){ + background: url('images/landing Page/iced-coffee-with-splash-tall-glass-dark-background-concept-refreshing-summer-drink.jpg'); + background-size: cover; + background-position: center; + width: 150px; + height: 300px; +} + +.img-box:nth-child(1):hover{ + width: 600px; + cursor: pointer; +} + +.img-box:nth-child(2):hover{ + width: 300px; + cursor: pointer; +} + +.img-box:nth-child(3):hover{ + width: 200px; + cursor: pointer; +} + +#main-content .right-section p { + font-size: 24px; + position: absolute; + color: white; + bottom: 20px; + text-align: center; + width: 100%; + font-weight: 600; +} + +#main-content .right-section .img-box:nth-child(2) p { + transform: rotate(-90deg); + bottom: 50px; +} + +#main-content .right-section .img-box:nth-child(3) p { + transform: rotate(-90deg); + width: max-content; + bottom: 80px; + +} + + +/* .............................About us................................*/ + +#about-us { + margin-bottom: 200px; +} + +#about-us h3 { + font-size: 20px; + font-weight: 600; + position: relative; +} + +#about-us h3:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 3%; + height: 3px; + bottom: -3px; + left: 0; +} + +#about-us .about-content { + padding-left: 0px; + padding-right: 0px; + margin-top: 40px; + display: flex; + justify-content: space-between; +} + +#about-us .ab-mob { + display: flex; + flex-wrap: wrap; +} + +#about-us .about-main { + margin-top: 40px; + width: 544px; + font-size: 60px; + margin-bottom: 40px; + font-weight: 800; + font-family: 'Montserrat', sans-serif; +} + +.about-left { + max-width: 100%; +} + +.about-right { + max-width: 100%; +} + +#about-us .about-para { + font-weight: 400; + font-size: 16px; + line-height: 35px; + color: #282828; + width: 87%; +} + +#about-us .about-img { + position: relative; +} + +#about-us button { + padding: 14px 30px; + font-size: 20px; + background-color: #282828; + color: white; + font-weight: 600; + border: none; + border-radius: 6px; + cursor: pointer; + position: absolute; + bottom: 60px; + left: -100px; +} + +#about-us .about-img img { + border-radius: 6px; + width: 100%; +} + + + +/*............ Menu...................*/ + +#menus { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 90px; +} + +#menus h3 { + font-size: 20px; + font-weight: 600; + position: relative; +} + +#menus h3:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 30%; + height: 3px; + bottom: -3px; + left: 0; +} + +#menus .btn-viewall { + background: #CC2300; + padding: 10px 20px; + border-radius: 50px; + color: white; + font-size: 16px; + font-weight: 600; + border: none; +} + +#menus .menu-content { + display: flex; + align-items: center; + justify-content: space-between; +} + +.menucards { + display: flex; + gap: 30px; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; +} + +#menu-card { + margin-bottom: 100px; +} + +#menu-card .card { + display: flex; + flex-direction: row; + align-items: center; + background: #FFFFFF; + box-shadow: 5px 5px 10px -6px rgba(0, 0, 0, 0.1); + flex-wrap: wrap; + text-align: center; + padding: 6px 6px; +} + + +#menu-card .card span { + font-size: 16px; + font-weight: bold; +} + +/*..............................Product...........................*/ + +#product { + margin-bottom: 200px; +} + +.pro-card { + margin-left: 0px; + margin-right: 0px; + display: flex; + justify-content: center; + flex-wrap: wrap; + gap: 30px; +} + + +#product .pro-head { + font-size: 36px; + color: #FF9B17; + font-weight: 600; + margin-bottom: 40px; +} + +#product .products { + margin-bottom: 50px; +} + +.pro { + background: #FFFFFF; + box-shadow: 5px 5px 10px -6px rgba(0, 0, 0, 0.1); + border-radius: 6px; + padding: 20px; + display: flex; + transition: 0.2s; + flex-direction: column; + margin-bottom: 50px; + cursor: pointer; +} + +.pro .pro-img { + margin-bottom: 16px; +} + +.pro img { + border-radius: 6px; + width: 100%; +} + +.pro .review { + display: flex; + align-items: center; + margin-bottom: 1.8rem; +} + +.pro .review p { + margin-bottom: 0; +} + +.pro .review img { + height: 24px; + width: 24px; +} + +.pro-btn { + color: #fff; + font-size: 14px; + font-weight: 600; + padding: 8px 10px; + background: #CC2300; + border: none; + border-radius: 50px; + text-decoration: none; +} +.pro-btn:hover{ + color: white; +} +#product a { + text-decoration: none; + +} + +#product a:hover { + color: #fff; +} + +.pro .pro-name img { + height: 24px; + width: 24px; +} + +.price, +.pro-name { + display: flex; + align-items: center; + justify-content: space-between; +} + +.price p { + font-size: 24px; + font-weight: bold; + margin-bottom: 0px; +} + +.pro-details .desc-head { + font-size: 17px; + font-weight: 700; +} + +.pro-para { + margin-top: 6px; + color: #A2A2A2; + font-size: 16px; +} + +.like { + font-size: 20px; + color: #CC2300; +} + +/*..............Team..................*/ +#team { + margin-bottom: 200px; +} + +.heading { + font-size: 20px; + font-weight: 600; + position: relative; + width: 100%; +} + +#team .heading:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 1rem; + height: 3px; + bottom: -3px; + left: 0; +} + +#team .team-head { + font-size: 56px; + width: 511px; + font-weight: 700; +} + + +#team .team-img { + display: flex; + flex-wrap: wrap; + margin: 10px; + background: url('images/landing page/Team/3.jpg'); + background-position: center; + width: 100%; + border-radius: 8px; + position: relative; + height: 300px; +} + +#team .team-img:nth-child(1) { + background: none; +} + +#team .team-img:nth-child(3) { + background: url('images/landing page/Team/2.jpg'); +} + +#team .team-img:nth-child(4) { + background: url('images/landing page/Team/1.png'); +} + +.col-ch { + max-width: 48%; +} + +.team-details { + position: absolute; + bottom: 0; + padding-left: 20px; +} + +#team .team-img .main-head { + color: white; + font-size: 40px; + font-weight: 600; + margin-bottom: 0px; +} + +#team .team-img .sub-head { + color: white; + font-size: 24px; +} + +#team .social-icon { + position: absolute; + display: flex; + align-items: center; + gap: 10px; + bottom: 20px; + right: 10px; + padding-right: 20px; + +} + +#team .social-icon i { + font-size: 24px; + color: white; +} + +/*..............Testimonial...........*/ + +#testimonial { + display: flex; + flex-direction: column; + margin-bottom: 200px; +} + +.mySlides #testimonial .heading { + font-size: 20px; + font-weight: 600; + position: relative; +} + +#testimonial .heading:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 30%; + height: 4px; + bottom: -5px; + left: 0; +} + +#testimonial .team-head { + font-size: 56px; + margin: 30px 0px; + font-weight: 700; +} + +#testimonial .testimonial-section { + display: flex; + align-items: center; + justify-content: center; +} + +#testimonial .testimonial-content { + background: #FFFFFF; + box-shadow: 5px 5px 10px -6px rgba(0, 0, 0, 0.1); + border-radius: 15px; + + width: 764px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 30px 80px; + flex-wrap: wrap; +} + +.slider { + width: 100%; + text-align: center; + color: black; + cursor: pointer; +} + +.slider i:hover { + color: #FF9B17; +} + +.testimonial-content .persons { + display: flex; + flex-direction: column; + align-items: center; +} + +.testimonial-content .persons .p-img { + height: 130px; + width: 130px; +} + +.p-name { + font-weight: 700; + font-size: 18px; + line-height: 20px; +} + +.sub-address { + font-weight: 300; + font-size: 18px; + text-align: center; + color: #767676; + margin-bottom: 0px; +} + +.review-star { + height: 20px; + width: 20px; +} + +.main-des { + font-weight: 700; + font-size: 40px; + color: #FF9B17; + line-height: 47px; +} + +.p-describe { + width: 56%; + position: relative; +} + +.p-describe:before { + content: '"'; + position: absolute; + top: -5px; + left: -20px; + font-weight: 400; + font-size: 42px; + line-height: 35px; + text-align: center; + color: #BFBFBF; +} + +.p-describe:after { + content: '"'; + position: absolute; + font-weight: 400; + font-size: 42px; + line-height: 35px; + text-align: center; + color: #BFBFBF; + bottom: -5px; + right: -20px; +} + +.p-para { + font-weight: 400; + font-size: 16px; + line-height: 32px; + color: #282828; +} + +/*...............Form-Section........................*/ +#form-section { + margin-bottom: 200px; +} + +#form-section .heading { + font-size: 20px; + font-weight: 600; + position: relative; +} + +#form-section .heading:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 30%; + height: 3px; + bottom: -4px; + left: 0; +} + +#form-section .main-head { + font-size: 52px; + margin-bottom: 40px; + font-weight: 800; + font-family: 'Montserrat', sans-serif; +} + +form .forms-input { + padding: 10px 24px; + background-color: #a2a2a233; + color: #A2A2A2; + font-size: 18px; + font-weight: 400; + margin-bottom: 24px; + border: none; +} + +.form-img { + width: 100%; +} + +.form-img img { + width: 100%; + height: auto; +} + +form .forms-input:focus { + box-shadow: none; +} + +.form-btn { + padding: 14px 53px; + background-color: #282828; + color: white; + border-radius: 6px; + cursor: pointer; + border: none; + box-shadow: none; + transition: none; +} + +/*.........................Footer...........................*/ +#footer { + background: #282828; + margin: 0px 0px 0px 0px; + padding: 80px 0; +} + +#footer .footer-log { + display: flex; + color: white; + margin-bottom: 50px; +} + +#footer .footer-log img { + width: 100px; + height: 100px; +} + +.footer-content { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + margin-right: 0px; + margin-left: 0px; + flex-basis: 100%; + margin-bottom: 50px; + +} + +#footer .footer-log .company-name { + font-size: 20px; + font-weight: 600; +} + +.foot { + padding-right: 20px; + padding-left: 0px; + align-items: flex-start; +} + +#footer .footer-para { + color: white; + width: 100%; + font-size: 18px; + line-height: 32px; +} + +.foot-end { + color: white; +} + +.footer-heading { + margin-top: 25px; + color: #FF9B17; + font-size: 24px; + font-weight: 600; + margin-bottom: 60px; +} + +.footer-subhead { + color: white; + font-size: 18px; + font-weight: 600; + margin-bottom: 10px; +} + +.foot-address { + color: white; + font-size: 16px; + line-height: 34px; + width: 80%; +} + +.link { + display: flex; + flex-direction: column; +} + +#footer .foot-links { + color: white; + text-decoration: none; + font-size: 18px; + font-weight: 500; + margin-bottom: 10px; +} + +.social-links { + display: flex; + flex-direction: column; + gap: 30px; +} + +.media-link { + display: flex; + gap: 40px; +} + + + + +/*.............................................menu page.......................................*/ +#banner { + margin-bottom: 100px; + width: 100%; + height: 300px; + display: flex; + align-items: center; + justify-content: center; +} + +#banner.banner-img { + background-image: url('images/Menu page/coffee.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} + +.banner-content { + display: flex; + flex-direction: column; + align-items: flex-end; +} + +.banner-head { + color: #fff; + font-size: 56px; + font-weight: 700; + margin-bottom: 0px; +} +#banner img { + width: 100%; + height: 100%; +} + +.filter { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 40px; + justify-content: space-between; + margin: 0px 15px 50px 15px; +} + +#product .pro .menu-review { + margin-bottom: 0px; +} +#Sliding { + display: flex; + align-items: flex-start; +} +.count { + display: flex; + align-items: center; + justify-content: center; + width: 50px; + height: 50px; + font-weight: 500; + font-size: 20px; + line-height: 22px; + background: #F0F0F0; + color: #000000; + margin: 5px; + padding: 0px 10px; +} +.count.active { + color: #000000; + background: #FF9B17; +} +.count-text { + margin: 0px; + text-decoration: none; + color: black; +} +.count-text:hover{ + color: #000000; +} +.Sliding a:hover{ +color: #000000; +} +#offer { + margin-bottom: 100px; + margin-bottom: 100px; + display: flex; + +} +#offer .offer-container { + display: flex; + flex-wrap: wrap; + gap: 50px; + justify-content: center; + align-items: center; +} +#offer .offer-content { + background-image: url("images/Menu page/13.png"); + width: 520px; + height: 350px; + background-repeat: no-repeat; + background-position: center; + border-radius: 6px; + background-size: cover; + position: relative; +} + +#offer .offer-container .offer-content:last-child { + background-image: url("images/Menu page/8.png"); +} + +.off-details { + position: absolute; + bottom: 40px; + left: 20px; + color: #fff; +} + +#offer .off-details .off-main { + font-weight: 700; + font-size: 35px; + line-height: 40px; + color: #FFFFFF; +} + +.off-details .off-price { + font-weight: 500; + font-size: 24px; + line-height: 15px; + color: #FFFFFF; + margin-bottom: 40px; +} + +.offer-btn { + background: #FFFFFF; + border-radius: 10px; + font-weight: 700; + font-size: 22px; + line-height: 15px; + color: #282828; + padding: 12px 32px; + border: none; +} + +.offer-btn:hover { + color: #000000; + text-decoration: none; +} + +/*............................Selected product..............................*/ + +#product-details { + margin-top: 100px; + margin-bottom: 100px; +} + +#product-details .pr-container { + display: flex; + align-items: flex-start; + gap: 20px; +} + +#product-details .pr-img { + width: 36%; + border-radius: 8px; + height: 400px; +} + +#product-details .pr-img img { + width: 100%; + border-radius: 6px; + height: 400px; +} + +.sp-head { + margin-top: 20px; + font-weight: 700; + font-size: 35px; + line-height: 40px; + color: #282828; +} + +.pr-right { + width: 50%; +} +.pr-descr { + display: flex; +} + +.pr-descr .pr-title { + font-weight: 600; + font-size: 22px; + line-height: 48px; + color: #282828; + padding-right: 15px; + border-right: 0.5px solid #000000; +} +.pr-descr .pr-price { + font-weight: bold; + font-size: 22px; + line-height: 30px; + color: #282828; + padding-left: 12px; +} + +.pr-right .pr-rating { + display: flex; +} + +.pr-right .pr-rating img { + height: 18px; +} + +.pr-right .pr-rating .rating-count { + font-weight: 400; + font-size: 14px; + line-height: 13px; + color: #282828; + padding: 2px 8px; +} + +.small-detail { + font-weight: 400; + font-size: 1rem; + line-height: 35px; + color: #282828; + width: 80%; +} + +.custom-head { + font-weight: 700; + font-size: 18px; + line-height: 13px; + color: #282828; +} + +.custom-detail { + display: flex; + flex-wrap: wrap; +} + +.custom-detail .cust-item { + display: flex; + align-items: center; +} + +.cust-name { + font-weight: 500; + font-size: 16px; + line-height: 35px; + color: #000000; + margin-bottom: 0px; + margin-right: 16px; +} + +.cust-btn { + background: #CC2300; + color: #FFFFFF; + text-align: center; + padding: 4px 9px; + border-radius: 200px; + margin-right: 30px; + font-weight: 400; + font-size: 12px; + line-height: 10px; + cursor: pointer; +} + +.counter { + margin: 10px 0px; +} + +.counter .box-container { + display: flex; + background: rgba(204, 35, 0, 0.1); + width: max-content; + padding: 8px; + font-size: 16px; + line-height: 22px; + border-radius: 5px; + font-weight: 500; + cursor: pointer; + color: #CC2300; + align-items: center; +} + +.counter input { + outline: none; + border: none; + width: 50px; + color: #CC2300; + background: none; + border: 0; + font-size: 16px; + text-align: center; + line-height: 0%; + font-weight: 500; +} + +.button-grp { + display: flex; + align-items: center; + gap: 30px; + margin: 20px 0px; +} + +.purchase-btn { + background: #FF9B17; + border-radius: 110px; + font-weight: 500; + font-size: 18px; + line-height: 13px; + color: #FFFFFF; + padding: 16px 30px; + text-decoration: none; +} + +.purchase-btn:hover { + text-decoration: none; + color: #fff; +} + +.cart-btn:hover { + text-decoration: none; + color: #CC2300; +} + +.cart-btn { + border-radius: 110px; + font-weight: 500; + font-size: 18px; + line-height: 13px; + color: #CC2300; + padding: 16px 30px; + text-decoration: none; + border: 1px solid #CC2300; +} +/*........MY CSS.........*/ +.width_35{ + width: 35%; +} + +.height_30{ + height: 30px; +} + +.width_200{ + width: 200px; +} + +.form_create_acct{ + width: 505px; + height: auto; +} +#my-cart{ + padding-bottom: 20px; +} + +#cart_total{ + margin-top: 40px; +} + +.sign_in a{ + margin-top: -11px; +} + +.flex-grow{ + flex-grow: 0.5 !important; +} + +.my_superlogin{ + background-color: black; + color: white; + margin-bottom: 10px; +} + +.js_usermenu .my_coffee { + color: #FFC72C; +} + +.navbar #top_menu{ + font-size: 18px; + padding-left: 3%; +} +#top_menu_collapse .nav-item:after{ + content: ''; + position: absolute; + width: 25px; + transform: scaleX(0); + height: 3px; + bottom: 22px; + background-color: #de2a05; +} + +#top_menu_collapse .nav-item:hover:after { + transform: scaleX(1); + transform-origin: bottom left; +} + +.pricelist_right{ + padding-left: 52%; +} +.filter-box { + margin-right: 50px; + width: 198.32px; + height: 68px; + font-weight: 700; + font-size: 18px; + line-height: 25px; + text-align: center; + align-items: center; + justify-content: center; + display: flex; + cursor: pointer; + background: rgba(162, 162, 162, 0.1); + color: #A2A2A2; + border-radius: 7px; +} + +.filter-box:hover { + background: #FF9B17; + color: #FFFFFF; +} + +.filter-text { + margin: 0px; + padding: 0px; +} + +#banner.banner-img { + background-image: url('/theme_coffee_shop/static/src/images/coffee.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} +.text-primary{ + color: black !important; +} +a .a-submit{ + color: white !important; +} +a { + color: #222831; +} +a:hover { + color: #0000FF; +} +.frm{ + color: #222831; +} +.star{ +color:gold; +} + .o_add_wishlist { + color: white; + background-color: black; +} + +.add_buy span{ + color: white; +} +.add_to { + background-color: white; + color: red; + border-radius: 30px; + border: 2px solid #f44336; +} +.add_to:hover{ + background-color: white; + color: red; + border: 2px solid #f44336; +} +.btn-outline-primary:hover { + color: white; + border: yellow; + background-color: #ffae42; +} +.btn-outline-primary { + border-radius: 30px; + color: white; + border: yellow; + background-color: #ffae42; +} +.btn-outline-primary i { + display: none; +} +.btn-primary { + background-color: #222831 !important; + border-color: #222831 !important; + letter-spacing: 2px; + border-radius: 30px; +} + +.btn-primary span { + padding-left: 5px; +} + +.btn-primary:hover { + background-color: #2c3440 !important; + border: none; +} + +.btn-secondary { + color: #fff; + background-color: #222831; + border-color: #222831; + border-radius: 30px; +} + +.btn-secondary:hover { + color: #fff; + background-color: #222831; + border-color: #222831; +} + +.img-pay{ + width: 120%; +} + +.cstm_tbl{ + border-bottom-width: 0 !important; + box-shadow: none !important; +} + +.tbl-tbl{ + background-color: transparent; + width: 120%; +} + +.tbl-tbl h3{ + margin: 5%; +} + +.btn-color{ + background-color: black; + border: black; +} +.btn-color:hover{ + background-color: black; + border: black; +} + +.pro-buy{ + margin-left: 5% +} + +/*.......*/ + +.sample{ + width: 100%; +} +.image_td{ + width: 10%; + padding: 0 !important; +} + +/*.....................Cart Page...........................*/ + +.banner-imgcart { + background-image: url('/theme_coffee_shop/static/src/images/coffee-mugs-blue-textured-wallpaper.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} + +#my-cart .cart-heading { + font-size: 20px; + font-weight: 600; + position: relative; +} + +#my-cart .cart-heading:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 30%; + height: 4px; + bottom: -8px; + left: 0; +} + +.cart-head { + display: flex; + align-items: flex-start; + justify-content: space-evenly; +} + +.item-mainhead { + margin-bottom: 50px; +} + +.table-head { + font-weight: 600; + font-size: 18px; + line-height: 14px; + color: #282828; +} + +.table-content { + align-items: center; + margin-bottom: 30px; + display: flex; + justify-content: space-between; +} + + +.border_link{ + border: 0px !important; +} + +.item { + display: flex; + align-items: center; + gap: 16px; +} + +.item-img { + width: 100px; + height: 100px; + border-radius: 10px; + position: relative; +} + +.item-img img { + width: 100%; + height: 100%; +} + +.item-desc { + display: flex; + flex-direction: column; +} + +.product-indicate { + width: 16px; + height: 16px; + border: 1px solid #03C545; + display: flex; + align-items: center; + justify-content: center; +} + +.indicate-content { + width: 8px; + height: 8px; + border-radius: 50%; + background: #03C445; +} + +.item-name { + font-weight: 600; + font-size: 16px; + line-height: 13px; + color: #282828; +} + +.item-about { + font-weight: 400; + font-size: 16px; + line-height: 12px; + text-transform: capitalize; + color: #FF9B17; + +} + +.item-price { + font-weight: 600; + font-size: 18px; + line-height: 25px; + color: #282828; + margin-bottom: 0px; +} + +.close-circle { + width: 24px; + height: 24px; + background: rgba(204, 35, 0, 0.1); + border-radius: 25px; + display: flex; + align-items: center; + justify-content: center; +} + +.close-circle i { + color: #CC2300; +} + +.next-indicate { + border: 1px solid #CC2300; +} + +.background-indicate { + background: #CC2300; +} + +.continue-shopping { + margin-bottom: 85px; + margin-top: 35px; +} + +#cart-sum { + display: flex; + justify-content: space-between; + margin-bottom: 100px; +} + +.conti-shop { + font-weight: 600; + font-size: 16px; + line-height: 22px; + color: #282828; +} + +.shop-details p { + font-weight: 300; + font-size: 14px; + line-height: 22px; + color: #282828; + margin-bottom: 10px; +} + +.list-row { + display: flex; + justify-content: space-between; + margin-right: 0px; + margin-left: 0px; + margin-bottom: 16px; +} + +.list { + font-weight: 400; + font-size: 18px; + line-height: 15px; + color: #282828; +} + +.amount { + font-weight: 600; + font-size: 18px; + line-height: 15px; + color: #282828; +} + +.coupon { + font-weight: 500; + font-size: 16px; + line-height: 15px; + color: #FF9B17; + text-decoration-line: underline; + cursor: pointer; +} + +.coupon:hover { + color: #FF9B17; + text-decoration-line: underline; +} + +.grand-total { + font-weight: 600; + font-size: 25px; + line-height: 34px; + color: #282828; +} + +.btn-ckeckout { + font-weight: 500; + font-size: 20px; + line-height: 15px; + color: #FFFFFF; + padding: 18px 70px; + background: #282828; + border-radius: 5px; + margin-bottom: 40px; + text-align: center; +} + +.check-btn { + display: flex; + flex-direction: column; +} + +.btn-ckeckout:hover { + color: #FFFFFF; + text-decoration: none; +} + +.mob-close { + display: none; + position: absolute; + right: 0; + top: -15px; + +} + +/*..........checkout.................*/ + +.login-method { + margin-top: 130px; + margin-bottom: 30px; + font-weight: 700; + font-size: 18px; + line-height: 15px; + color: #282828; +} + +.login, +.login:hover { + color: #FF9B17; + text-decoration: underline; +} + +.enter-address { + font-weight: 600; + font-size: 25px; + line-height: 34px; + color: #282828; + +} + +.address-add { + width: 50px; + height: 50px; + background: #F0F0F0; + border-radius: 2px; + display: flex; + align-items: center; + justify-content: center; +} + +.address-add .add { + background: #FF9B17; + height: 3px; + width: 25px; +} + +.login-address { + display: flex; + align-items: center; + justify-content: space-between; +} + +.cartform-group { + margin-bottom: 0px; +} + +.catform-btn:hover { + background: #282828; +} + +.summary { + font-weight: 600; + font-size: 25px; + line-height: 34px; + color: #282828; + margin-bottom: 45px; +} + +.accordion { + background-color: transparent; + color: #282828; + font-weight: 600; + line-height: 34px; + color: #282828; + margin-bottom: 0px; + cursor: pointer; + padding: 0px; + text-align: left; + border: none; + outline: none; + transition: 0.4s; +} + +.accordion:focus { + outline: none; + border: none; +} + +/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */ +.active, +.accordion:hover { + background-color: transparent; +} + +/* Style the accordion panel. Note: hidden by default */ +.panel { + margin: 20px 0px; + padding: 50 0px; + background-color: none; + display: none; + overflow: hidden; +} + +.accordion:after { + font-size: 40px; + color: #000000; + float: right; + margin-left: 5px; +} + +.accordion.active:after { + content: "-"; +} +.delivery-accordion:after{ + content: '+'; + color: #FF9B17; + font-size: 40px; + background: #eaeaea; + width: 40px; + height: 40px; + display: flex; + align-items: center; + justify-content: center; + +} + +.checkoutlast { + margin-bottom: 100px; +} + +.cartform-right { + margin-top: 0px; +} + +/*.............Contact Us.......................*/ +.banner-imgContact { + background-image: url('/theme_coffee_shop/static/src/images/coffee-bannerimg.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} + +.contact-heading { + font-size: 20px; + font-weight: 600; + position: relative; +} + +.contact-heading:after { + content: " "; + position: absolute; + background-color: #CC2300; + border-radius: 10px; + width: 30%; + height: 4px; + bottom: -8px; + left: 0; +} + +#contact .contact-container { + margin-top: 40px; + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.get-intouch-left { + width: 50%; +} + +.get-intouch-right { + margin-top: 0px; + width: 50%; + align-items: center; + justify-content: center; +} + +.getin-footer { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.getin-img { + height: 442px; + width: 448px; +} + +.getin-text { + width: 448px; + font-weight: 700; + font-size: 60px; + line-height: 83px; + color: #282828; +} + +.getin-img img { + width: 100%; + height: 100%; +} + +.getin-promise { + font-weight: 400; + font-size: 18px; + line-height: 35px; + text-align: center; + color: #282828; + width: 100%; + padding: 0px 50px; + margin-bottom: 40px; + margin-top: 40px; +} + +.send-btn { + align-items: center; + text-align: center; + background: #282828; + border-radius: 5px; + color: #fff; + padding: 16px 80px; + font-weight: 500; + font-size: 20px; + line-height: 22px; + +} +.send-btn:hover{ + color: white; + text-decoration: none; +} + +#map { + display: flex; + align-items: center; + justify-content: center; + margin-top: 100px; +} + +.map-container { + width: 800px; + height: 445px; +} + +/*..............Shop..........................*/ + +.banner-imgShop { + background-image: url('/theme_coffee_shop/static/src/images/coffee-shopimg.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} + +#shopping { + display: flex; + margin-bottom: 100px; + justify-content: space-between; +} + +.shop-heading { + font-weight: 600; + font-size: 25px; + line-height: 34px; + color: #282828; +} + +.searching-bar { + display: flex; + align-items: center; + gap: 16px; +} + +.product-search { + width: 20%; +} + +.searching-bar input { + outline: none; + border: none; + background: transparent; + font-weight: 400; + font-size: 16px; + line-height: 14px; + color: #282828; + width: 100%; +} + +.search-result { + width: 75%; + +} + +.result-row { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 70px; +} + +.shop-procard { + justify-content: space-between; +} + +.shop-pro { + max-width: 30%; +} + +.result-head { + font-weight: 400; + font-size: 16px; + line-height: 14px; + text-transform: capitalize; + color: #282828; +} + +.sorting { + display: flex; + align-items: center; + gap: 28px; +} + +#shopping a:hover { + text-decoration: none; + +} + +/* Fixed sidenav, full height */ +.sidenav { + width: 200px; + background-color: transparent; + padding-top: 20px; +} + +.dropdown-btn { + padding: 16px 0px; + text-decoration: none; + font-weight: 700; + font-size: 18px; + line-height: 18px; + color: #282828; + display: flex; + align-items: center; + border-bottom: 0.5px solid #E2E2E2; + justify-content: space-between; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + outline: none; + border-left: none; + border-right: none; + border-top: none; + margin-bottom: 20px; +} + +.dropdown-btn:after { + content: '+'; + font-size: 28px; + color: black; + font-weight: bold; + float: right; +} + +.dropdown-btn.active:after { + content: "-"; + +} + +.dropdown-btn:focus { + outline: none; +} + +.main { + margin-left: 200px; + font-size: 20px; + padding: 0px 10px; +} + +/* Add an active class to the active dropdown button */ +.active {} + +.dropdown-container { + margin: 16px 0px; + display: none; + background-color: transparent; +} + +.dropdown-container a { + font-weight: 500; + font-size: 16px; + line-height: 35px; + color: #282828; + display: block; +} + +.dropdown-container a:hover, +a.active { + color: #FF9B17; +} + +.shop-filter { + display: none; +} + + +/*.....................About page............*/ +.banner-imgAbout { + background-image: url('/theme_coffee_shop/static/src/images/coffee-mugs-blue-textured-wallpaper.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} + +.abt-about { + margin-top: 200px; +} + +#about-feature { + margin-bottom: 200px; + align-items: center; + justify-content: center; + flex-wrap: wrap; + gap: 100px; +} + +.since { + position: absolute; + width: 160px; + height: 160px; + background: #FFFFFF; + border-radius: 15px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + bottom: 60px; + left: -100px; +} + +.since-text .year { + font-weight: 700; + font-size: 60px; + color: #282828; +} + +.since-text .yearsub { + font-weight: 700; + font-size: 25px; + color: #282828; + +} + +.ab-ftcontainer { + width: 1119.68px; + max-width: 100%; + + background: #FFFFFF; + box-shadow: 5px 5px 10px -6px rgba(0, 0, 0, 0.1); + border-radius: 5px; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + gap: 100px; +} + +.ft-item { + margin: 30px 0px; + display: flex; + align-items: center; + flex-direction: column; + text-align: center; +} + +.ft-img { + width: 55px; + height: 80px; +} + +.ft-img img { + width: 100%; + height: 100%; +} + +.ft-descr { + margin: 10px 0px; + font-weight: 700; + font-size: 18px; + line-height: 18px; + color: #FF9B17; + +} + +.ft-para { + font-weight: 400; + font-size: 16px; + text-align: center; + text-transform: capitalize; + color: #282828; + width: 250px; +} + +#promo-vedio { + margin-bottom: 200px; +} + +.promo-container { + display: flex; + align-items: center; + justify-content: space-between; + margin-top: 50px; + flex-wrap: wrap; +} + +.promo-content { + width: 40%; +} + + +.promo-head { + width: 544px; + font-size: 60px; + margin-bottom: 40px; + font-weight: 800; + font-family: 'Montserrat', sans-serif; +} + +.promo-para { + font-weight: 400; + font-size: 16px; + line-height: 35px; + color: #282828; + margin-top: 16px; +} + +.vedio-container { + width: 640px; + height: 300px; + border-radius: 10px; +} + +.vedio-container iframe { + width: 100%; + height: 100%; +} + +/*................Features Page.........................*/ +.banner-imgFeature { + background-image: url('/theme_coffee_shop/static/src/images/top-view-bowls-with-coffee-beans-powder.jpg'); + background-position: center; + background-size: cover; + width: 100%; +} + +#service { + margin-bottom: 200px; +} + +.service-container { + display: flex; + align-items: center; + justify-content: space-between; +} +.service-content { + width: 45%; +} +.delivery-img {} +.delivery-img img { + width: 100%; + height: 100%; +} +.service-head { + font-weight: 700; + font-size: 60px; + color: #282828; +} +.service-para { + font-weight: 400; + font-size: 16px; + line-height: 35px; + color: #282828; +} + +#other-features { + margin-bottom: 200px; +} + +.service-provide { + display: flex; + align-items: center; + gap: 20px; + margin-bottom: 26px; + +} + +.service-name { + font-weight: 600; + font-size: 25px; + color: #282828; + width: 200px; +} + +.ser-col { + margin-bottom: 40px; +} + +/*.......................................Media qeuery........................................*/ + + + +@media(max-width:1184px) { + .wrapper { + max-width: 978px; + } + + #main-content { + margin-bottom: 100px; + + } + + + #menu-card .card { + + justify-content: center; + + } + + .card { + + min-width: 306px; + + } + + .pro { + min-width: 32%; + } + + .pro { + padding: 30px; + } + + .pro-details .desc-head { + font-size: 24px; + + } + + .pro-para { + font-size: 18px; + } + + #product .pro-head { + text-align: center; + + } + + .price p { + font-size: 30px; + + } + + + .pro-card { + + gap: 70px; + } + + + .pro-btn { + font-size: 16px; + } + + .pr-right { + width: 60%; + } + + .promo-content { + width: 75%; + } + + .promo-container { + gap: 80px; + } + + .pro-vedio { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + } + + .shop-procard { + justify-content: center; + gap: 0px; + } + + .shop-pro { + min-width: 75%; + } + + .product-search { + width: 50%; + } + + .sidenav { + width: 300px; + } + + .service-head { + font-size: 52px; + } +} + + + +@media(max-width:1024px) { + + #offer .offer-content { + width: 460px; + height: 330px; + } + + .since { + display: none; + } +} +@media(max-width:1017px) { + .wrapper { + max-width: 900px; + } + + #main-content .left-section .main-head { + width: 82%; + } + + .service-head { + font-size: 46px; + } + + .service-content { + width: 65%; + } + + #main-content .right-section .landing-img:nth-child(3) p { + width: max-content; + } + + .col-ch { + max-width: 47%; + } + .img-box { + + height: 450px; + + } + .img-box:nth-child(2) { + + height: 350px; + } + .img-box:nth-child(3) { + + height: 280px; + } +} + +@media(max-width:992px) { + #about-us .about-main { + font-size: 46px; + } + + #about-us .about-para { + line-height: 30px; + width: 83%; + } +} + +@media(max-width:984px) { + .wrapper { + max-width: 798px; + margin: 0 auto; + } +} + +@media(max-width:980px) { + .nav-bar ul { + background: #fff8e3; + display: block; + position: fixed; + top: 100px; + width: 300px; + height: 90vh; + right: -300px; + } + + .nav-bar ul.active { + display: block; + right: 0px; + } + + .nav-bar ul li { + text-align: center; + margin: 20px; + } + + .menu { + display: block; + } + + .mobile { + display: block; + } + + .navbar-mob-icon { + display: flex; + gap: 20px; + } + + .mob-navig { + display: flex; + gap: 20px; + } + + .navbar-icon { + display: block; + } + + .notify-icon { + display: none; + } + + .wrapper { + max-width: 796px; + margin: 0 auto; + } + + #main-content { + margin-bottom: 0px; + + } + + #main-content .left-section .main-head { + font-size: 42px; + margin-bottom: 50px; + } + + #main-content .left-section { + width: 40%; + } + + #main-content button { + padding: 16px 20px; + font-size: 16px; + } + + #main-content .right-section .landing-img:nth-child(3) p { + width: max-content; + margin: 0px; + text-align: center; + } + + .img-box { + height: 429px; + } + .img-box:nth-child(2) { + height: 353px; + } + .img-box:nth-child(3) { + height: 273px; + } + + #about-us .about-main { + font-size: 40px; + } + + #about-us p { + line-height: 32px; + width: 88%; + } + + #about-us button { + padding: 16px 24px; + bottom: -25px; + left: 50px; + } + + #menu-card .card { + flex-direction: column; + } + + .pro { + min-width: 259px; + } + + .team-details { + padding-left: 0px; + } + + #team .team-head { + font-size: 50px; + font-weight: 700; + } + + #team .heading:after { + bottom: 12px; + } + + #team .team-img .main-head { + font-size: 36px; + font-weight: 600; + } + + #team .team-img .sub-head { + font-size: 20px; + } + + #team .social-icon { + padding-right: 6px; + } + + .col-ch { + max-width: 47%; + } + + #testimonial .team-head { + font-size: 44px; + } + + .p-describe { + width: 100%; + } + #testimonial .testimonial-content { + width: 594px; + gap: 40px; + text-align: center; + align-items: center; + justify-content: center; + } + + .main-des { + font-size: 36px; + } + + #form-section .form-btn { + padding: 12px 65px; + font-size: 24px; + } + + .banner-head { + font-size: 36px; + } + + .filter { + justify-content: center; + } + + #Sliding { + justify-content: center; + } + + + #product-details .pr-container { + align-items: center; + gap: 30px; + flex-direction: column; + } + + #product-details { + margin-top: 74px; + } + + #product-details .pr-img { + width: 80%; + } + + .pr-right { + width: 80%; + } + + .counter input { + width: 40px; + } + + #contact .contact-container { + flex-direction: column; + justify-content: center; + align-items: center; + } + + .get-intouch-left { + width: 100%; + } + + .get-intouch-right { + width: 100%; + margin-top: 70px; + } + + .getin-img { + display: none; + } + + .ab-ftcontainer { + gap: 50px; + } + + .shop-pro { + min-width: 75%; + } + + .service-content { + width: 70%; + } + +} + +@media(max-width:967px) { + #about-us .about-main { + font-size: 55px; + } + + #about-us .about-para { + line-height: 30px; + width: 80%; + } + + #form-section .main-head { + font-size: 50px; + } + + .wrapper { + max-width: 720px; + } + + .service-content { + width: 100%; + } + + .service-container { + margin-top: 20px; + } + .img-box:nth-child(1) { + width: 443px; + } + .img-box:nth-child(2) { + height: 303px; + } + .img-box:nth-child(3) { + height: 229px; + } + #main-content .right-section .img-box:nth-child(3) p { + + left: -27px; + } +} + +@media(max-width:925px) { + #about-us .about-para { + width: 100%; + } +} + + +@media(max-width:830px) { + #main-content { + height: 80vh; + } + + .abt-row { + flex-direction: column; + } + + .landing-aboutleft { + display: block; + + } + + .about-right { + max-width: 100%; + display: flex; + align-items: center; + justify-content: center; + } + + .abt-about-img { + width: 60%; + } + + .promo-content { + width: 80%; + } + +} + + +@media(max-width:768px) { + .wrapper { + max-width: 600px; + margin: 0 auto; + } + + #main-content .left-section .main-head { + width: 92%; + } + #main-content .right-section p { + font-size: 22px; + } + + #main-content { + + height: 62vh; + } + .img-box { + height: 309px; + } + .img-box:nth-child(2) { + height: 256px; + } + .img-box:nth-child(3) { + height: 207px; + } + #main-content .right-section .img-box:nth-child(3) p { + + left: -36px; + } + #about-us .about-main { + font-size: 34px; + } + + #about-us .about-img { + position: static; + } + + #about-us .about-para { + line-height: 30px; + width: 93%; + } + + #about-us button { + margin-top: 50px; + padding: 12px 46px; + position: static; + } + + .landing-about { + max-width: 624px; + } + + #menu-card .card { + min-width: 40%; + } + + #product { + margin-bottom: 120px; + } + + .price p { + font-size: 24px; + } + + #team { + margin-bottom: 100px; + } + + #team .heading:after { + bottom: 45px; + } + + #team .team-img { + min-width: 95%; + } + + .form-6 { + max-width: 90%; + flex: 1 0 50%; + } + + .form-img { + display: none; + } + + .p-describe { + width: 100%; + + } + + #testimonial .testimonial-content { + + text-align: center; + align-items: center; + justify-content: center; + } + + .main-des { + font-size: 30px; + } + + .p-para { + + font-size: 14px; + line-height: 26px; + } + + .pro-card { + gap: 25px; + } + + .pro { + margin: 12px; + } + + #testimonial .testimonial-content { + padding: 24px 42px; + } + + .banner-head { + font-size: 46px; + } + + .item { + justify-content: space-between; + flex-direction: row-reverse; + } + + .mob-cart { + display: none; + } + + .pr-mob { + max-width: 100%; + flex: 1 0 100%; + } + + + .mob-col { + text-align: end; + } + + .remove { + display: none; + } + + #cart-sum { + flex-direction: column-reverse; + } + + .mob-close { + display: block; + color: #CC2300; + } + + .checkoutmob-col { + max-width: 100%; + flex: 1 0 50%; + } + + .cartform-right { + flex: 1 0 50%; + max-width: 100%; + } + + .getin-text { + font-size: 54px; + } + + #about-us .about-img { + width: 100%; + } + + .abt-mr { + width: 80%; + } + + .sidenav { + width: 200px; + } + + .shop-pro { + min-width: 100%; + } + + .result-head { + font-weight: 500; + font-size: 14px; + } + + .sorting { + gap: 14px; + } + + .service-container { + flex-direction: column; + } + + #service { + margin-bottom: 100px; + } + + #other-features { + margin-bottom: 100px; + } + + .shopping-cart.showcart { + right: 10px; + } + + .shopping-cart { + width: 75%; + height: auto; + } + + .cart-box .cartremove { + display: block; + } + + .cart-box { + margin: 20px; + } + + .cart-name { + font-size: 18px; + } + + .cart-box .cart-border { + margin-bottom: 0px; + } + + .items-cart { + margin: 6px 8px; + gap: 0px; + } + + .cart-buttons { + justify-content: center; + flex-direction: column; + gap: 10px; + } + + .cart-buttons button { + + font-size: 16px; + width: 100%; + } + + .cartview { + padding: 12px 6px; + } +} + +@media(max-width:649px) { + #team .team-img { + min-width: 95%; + } + + .login-form-container form { + width: 400px; + height: auto; + } + + #main-content .right-section p { + font-size: 22px; + bottom: 18px; + } + + .form-content { + margin: 29px 41px; + } + + .login-form-head { + font-size: 22px; + } + + .login-google { + font-size: 18px; + } + + .login-or { + font-size: 14px; + } + + .login-input { + padding: 12px 24px; + } + + .frgt-text { + font-size: 14px; + } + + .register { + font-size: 14px; + } +} +@media(max-width:640px) { + .wrapper { + max-width: 580px; + margin: 0 auto; + } +} + +@media(max-width:630px) { + .wrapper { + max-width: 480px; + margin: 0 auto; + } + + #main-content .left-section .main-head { + width: 100%; + } + + .shop-filter { + font-size: 22px; + cursor: pointer; + display: block; + } + + .service-para { + font-size: 14px; + } + + #shopping { + flex-direction: column; + } + + .product-search { + width: 100%; + } + + .sidenav { + width: 100%; + } + + .search-result { + width: 100%; + margin-top: 50px; + } + + .pr-categories { + display: none; + } +} + + +@media(max-width:630px) { + #team .heading:after { + bottom: 6px; + } + + #testimonial .testimonial-content { + width: 498px; + } + + #main-content button { + padding: 16px; + font-size: 20px; + } + + #main-content { + height: unset; + } + + .main-row { + display: flex; + flex-direction: column; + gap: 80px; + } + + #main-content .left-section { + margin-top: 40px; + max-width: 100%; + } + + #main-content .right-section { + max-width: 100%; + margin-bottom: 100px; + } + + #about-us button { + padding: 12px 22px; + } + +} + +@media(max-width:575px) { + .wrapper { + max-width: 420px; + margin: 0 auto; + } + + #main-content .left-section .main-head { + width: 46%; + } + + #main-content .right-section p { + font-size: 18px; + } + #main-content .right-section .img-box:nth-child(3) p { + left: -21px; + } + + #about-us button { + width: 100%; + } + + .main-row { + flex-direction: column; + } + + #main-content { + height: auto; + } + + #main-content .left-section { + width: 100%; + } + + .about-left { + min-width: 100%; + } + + .about-right { + min-width: 100%; + } +} + +@media(max-width:540px) { + .wrapper { + max-width: 400px; + margin: 0 auto; + } + + .form-6 { + max-width: 100%; + } + + #about-us button { + padding: 12px 130px; + } + + #banner { + height: 230px; + } + + .accordion { + font-size: 22px; + } + + + .btn-ckeckout { + font-size: 19px; + } + + #offer .offer-content { + width: 350px; + height: 240px; + } + + .since { + bottom: -74px; + left: 139px; + box-shadow: 5px 5px 10px -6px rgba(0, 0, 0, 0.1); + } + + .promo-content { + width: 100%; + } + + .promo-head { + font-size: 56px; + } + + #about-us .about-para { + font-size: 14px; + line-height: 30px; + width: 100%; + } + + #testimonial .testimonial-content { + width: 400px; + } +} + +@media(max-width:500px) { + .wrapper { + max-width: 335px; + } + + #about-us button { + width: auto; + } + + #main-content { + margin-bottom: 0px 0px; + height: auto; + } + + .main-row { + gap: 50px; + } + + #main-content .left-section { + min-width: 100%; + margin: 10px 0px; + } + + #main-content .right-section { + min-width: 100%; + margin-bottom: 100px; + padding:0px ; + } + + #main-content .left-section .main-head { + width: 56%; + margin-bottom: 30px; + } + + .gallery { + gap: 18px; + } + + #main-content .right-section .landing-img p { + font-size: 20px; + bottom: 16px; + + } + + #main-content button { + padding: 14px; + width: 90%; + } + + #main-content .right-section .landing-img:nth-child(3) p { + margin: -22px; + bottom: 100px; + } + + #team .team-img { + min-width: 85%; + } + + #about-us { + margin-bottom: 150px; + } + + .about-left { + min-width: 100%; + } + + .about-right { + min-width: 100%; + } + + #about-us button { + position: absolute; + } + + #about-us button { + padding: 12px 25px; + left: 75px; + } + + #product { + margin-bottom: 75px; + } + + #team { + margin-bottom: 100px; + } + + .pro { + min-width: 100%; + margin: 20px; + } + + #product .pro-head { + font-size: 34px; + text-align: center; + } + + #testimonial { + margin-bottom: 100px; + } + + #testimonial .team-head { + font-size: 40px; + } + + #form-section { + margin-bottom: 100px; + } + + #form-section .main-head { + font-size: 48px; + } + + #team .team-img .main-head { + font-size: 28px; + } + + #team .team-img .sub-head { + font-size: 18px; + } + + #team .social-icon i { + font-size: 22px; + } + + #team .team-img { + min-width: 100%; + } + + #banner { + margin-bottom: 60px; + } + + .banner-content { + align-items: center; + } + + .banner-head { + font-size: 36px; + } + + .filter { + gap: 18px; + } + + .filter-box { + width: 142.32px; + height: 42px; + font-weight: 500; + font-size: 16px; + } + + #offer .offer-content { + width: 345px; + height: 245px; + } + + #offer .off-details .off-main { + font-weight: 600; + font-size: 28px; + line-height: 24px; + } + + .off-details .off-price { + font-weight: 400; + font-size: 18px; + line-height: 10px + } + + .offer-btn { + font-size: 20px; + line-height: 10px; + color: #282828; + padding: 8px 24px; + } + + .small-detail { + width: 100%; + } + + .cust-name { + font-size: 15px; + line-height: 34px; + margin-right: 10px; + } + + .counter .box-container { + padding: 6px; + line-height: 20px; + } + + .button-grp { + gap: 20px; + flex-wrap: wrap; + } + + .purchase-btn { + font-size: 14px; + padding: 12px 24px; + } + + .cart-btn { + font-size: 14px; + padding: 12px 24px; + } + + .btn-ckeckout { + font-size: 18px; + line-height: 12px; + padding: 18px 32px; + + } + + #banner { + height: 200px; + } + + .login-method { + margin-top: 70px; + font-size: 16px; + } + + .enter-address { + font-size: 20px; + line-height: 24px; + } + + .address-add { + width: 40px; + height: 40px; + } + + .address-add .add { + width: 20px; + } + + .cartform-right { + margin-top: 60px; + } + + .accordion { + font-size: 20px; + } + + .accordion:after { + font-size: 35px; + } + + .getin-text { + width: 300px; + font-size: 40px; + line-height: 58px; + } + + .getin-promise { + padding: 0px 6px; + } + + #promo-vedio { + margin-bottom: 100px; + } + + #about-feature { + margin-bottom: 100px; + } + + .ab-ftcontainer { + gap: 0px; + } + + .promo-content { + width: 100%; + } + + .promo-head { + font-size: 42px; + } + + .since { + bottom: -50px; + left: 95px; + } + + .abt-mr { + margin: 30px; + } + + .service-head { + font-size: 36px; + } + + .service-name { + font-size: 24px; + } + + .service-provide { + margin-bottom: 10px; + } + + .service-para { + line-height: 30px; + } + + .ser-col { + margin-bottom: 24px; + } + + .login-form-container form { + width: 80%; + height: auto; + } + + #testimonial .testimonial-content { + width: 98%; + } +} + +@media(max-width:465px) { + + .form-content { + margin: 20px 16px; + } + + .login-form-head { + font-size: 16px; + margin-bottom: 18px; + } + + .login-close { + font-size: 16px; + right: 12px; + top: 12px; + } + + .login-google { + font-size: 14px; + padding: 10px 12px; + } + + .login-google img { + display: none; + } + + .login-or { + font-size: 12px; + margin-top: 19px; + margin-bottom: 25px; + } + + .login-input { + font-size: 12px; + padding: 8px; + } + + .password-settings label { + font-size: 10px; + } + + .frgt-text { + font-size: 10px; + } + + .password-settings { + margin-bottom: 24px; + } + + .register { + margin-top: 12px; + font-size: 12px; + } + + .create-one { + font-size: 12px; + display: block; + } +} + +@media(max-width:396px) { + #team .team-img { + min-width: 95%; + } + + #team .team-head { + font-size: 42px; + } + + #team .heading:after { + bottom: 24px; + } + + .getin-text { + font-size: 32px; + } + + #main-content .left-section .main-head { + width: 59%; + } +} + + +@media(max-width:365px) { + .wrapper { + max-width: 290px; + } + + #main-content .left-section .main-head { + font-size: 36px; + } + + .img-box:nth-child(1) { + width: 443px; + } + #main-content .right-section .landing-img p { + font-size: 16px; + bottom: 0px; + } + + #offer .offer-content { + width: 300px; + height: 200px; + } + + #form-section .main-head { + font-size: 42px; + } + + #team .team-img { + height: 230px; + } + + #team .heading:after { + bottom: -3px; + } + + #form-section .form-btn { + padding: 12px 93px; + } + + .cust-name { + font-size: 12px; + } + + .login-method { + font-size: 15px; + } + + .enter-address { + font-size: 18px; + line-height: 22px; + } + + .accordion { + font-size: 16px; + } + + .accordion:after { + font-size: 33px; + } + + + .since { + left: 76px; + } + + .abt-mr { + margin: 35px; + } +} + + +@media(max-width:320px) { + .wrapper { + max-width: 284px; + } + + #main-content .left-section .main-head { + font-size: 42px; + } + .img-box { + height: 200px; + } + .img-box:nth-child(2) { + height: 158px; + } + .img-box:nth-child(3) { + height: 107px; + } + + #main-content .right-section p { + font-size: 13px; + } + #main-content .right-section .img-box:nth-child(3) p { + left: -16px; + bottom: 27px; + } + #form-section .main-head { + font-size: 32px; + } + + #about-us .about-main { + font-size: 32px; + } + + #team .team-head { + font-size: 42px; + } + + #about-us button { + left: 55px; + } + + #team .team-img .sub-head { + font-size: 16px; + } + #offer .offer-content { + width: 280px; + height: 200px; + } + + #team .team-img { + height: 220px; + } + + #form-section .main-head { + font-size: 41px; + } + + .btn-ckeckout { + font-size: 16px; + padding: 18px 26px; + } + + .item-name { + font-size: 14px; + line-height: 11px; + } + + .item-about { + font-size: 14px; + line-height: 10px; + } + + .item-price { + font-size: 16px; + } + + .counter input { + width: 36px; + font-size: 15px; + } + + .since { + left: 75px; + } + + .accordion:after { + font-size: 30px; + } + + .shopping-cart { + width: 90%; + height: auto; + } + + .close-circle { + width: 16px; + height: 16px; + } +} + +@media(max-width:312px) { + .wrapper { + max-width: 230px; + } + + #main-content button { + padding: 10px; + font-size: 16px; + } + + #about-us button { + left: 34px; + } + + #about-us .about-main { + font-size: 30px; + } + + #menu-card .card span { + font-size: 14px; + } + + #product .pro-head { + font-size: 32px; + } + #offer .offer-content { + width: 250px; + height: 200px; + } + + .pro { + padding: 16px; + } + + .pro-btn { + padding: 6px 10px; + font-size: 12px; + } + + #team .team-head { + font-size: 36px; + } + + #team .team-img { + height: 186px; + } + + #team .team-img .main-head { + font-size: 24px; + } + + #team .team-img .sub-head { + font-size: 14px; + } + + #team .social-icon i { + font-size: 15px; + } + + #testimonial .team-head { + font-size: 33px; + } + + .testimonial-content .persons .p-img { + height: 100px; + width: 100px; + } + + .sub-address { + font-size: 16px; + } + + #testimonial .testimonial-content { + gap: 20px; + } + + .review-star { + height: 16px; + width: 16px; + } + + .main-des { + font-size: 25px; + } + + .p-para { + font-size: 12px; + } + + .p-name { + font-size: 17px; + } + + #form-section .main-head { + font-size: 33px; + } + + #form-section .form-btn { + padding: 10px 64px; + font-size: 20px; + } + + .banner-head { + font-size: 30px; + } + + .service-head { + font-size: 25px; + } + + .service-para { + font-size: 12px; + line-height: 27px; + } + + .service-name { + font-size: 20px; + } + + .getin-text { + font-size: 24px; + } + + #main-content .left-section .main-head { + font-size: 31px; + } +} +@media(max-width: 980px) { + .getin-img { + height: auto !important; + width: auto !important; + display: flex !important; + } +} +.item-about{ + font-size: 14px; + line-height: 1.2; + margin: 0; + margin-top:20px; + padding: 0; + display: block; +} +.item-name { + font-size: 14px; + line-height: 1.4; + margin: 0; + padding: 0; + display: block; +} + + + diff --git a/theme_coffee_shop/static/src/images/1.png b/theme_coffee_shop/static/src/images/1.png new file mode 100644 index 000000000..ae1f1a97d Binary files /dev/null and b/theme_coffee_shop/static/src/images/1.png differ diff --git a/theme_coffee_shop/static/src/images/1.svg b/theme_coffee_shop/static/src/images/1.svg new file mode 100644 index 000000000..22381bea5 --- /dev/null +++ b/theme_coffee_shop/static/src/images/1.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/src/images/2.svg b/theme_coffee_shop/static/src/images/2.svg new file mode 100644 index 000000000..ee4e73c7d --- /dev/null +++ b/theme_coffee_shop/static/src/images/2.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/src/images/3.svg b/theme_coffee_shop/static/src/images/3.svg new file mode 100644 index 000000000..d023900a1 --- /dev/null +++ b/theme_coffee_shop/static/src/images/3.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/src/images/4.svg b/theme_coffee_shop/static/src/images/4.svg new file mode 100644 index 000000000..5e59de6fb --- /dev/null +++ b/theme_coffee_shop/static/src/images/4.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/src/images/Arrow 2.svg b/theme_coffee_shop/static/src/images/Arrow 2.svg new file mode 100644 index 000000000..b3a3a65ba --- /dev/null +++ b/theme_coffee_shop/static/src/images/Arrow 2.svg @@ -0,0 +1,3 @@ + + + diff --git a/theme_coffee_shop/static/src/images/cart.png b/theme_coffee_shop/static/src/images/cart.png new file mode 100644 index 000000000..93c3ed608 Binary files /dev/null and b/theme_coffee_shop/static/src/images/cart.png differ diff --git a/theme_coffee_shop/static/src/images/coffee-bannerimg.jpg b/theme_coffee_shop/static/src/images/coffee-bannerimg.jpg new file mode 100644 index 000000000..30aa08ad1 Binary files /dev/null and b/theme_coffee_shop/static/src/images/coffee-bannerimg.jpg differ diff --git a/theme_coffee_shop/static/src/images/coffee-contact.png b/theme_coffee_shop/static/src/images/coffee-contact.png new file mode 100644 index 000000000..6256f2dd5 Binary files /dev/null and b/theme_coffee_shop/static/src/images/coffee-contact.png differ diff --git a/theme_coffee_shop/static/src/images/coffee-mugs-blue-textured-wallpaper.jpg b/theme_coffee_shop/static/src/images/coffee-mugs-blue-textured-wallpaper.jpg new file mode 100644 index 000000000..236790836 Binary files /dev/null and b/theme_coffee_shop/static/src/images/coffee-mugs-blue-textured-wallpaper.jpg differ diff --git a/theme_coffee_shop/static/src/images/coffee-shopimg.jpg b/theme_coffee_shop/static/src/images/coffee-shopimg.jpg new file mode 100644 index 000000000..2031972a5 Binary files /dev/null and b/theme_coffee_shop/static/src/images/coffee-shopimg.jpg differ diff --git a/theme_coffee_shop/static/src/images/coffee.jpg b/theme_coffee_shop/static/src/images/coffee.jpg new file mode 100644 index 000000000..274f74c16 Binary files /dev/null and b/theme_coffee_shop/static/src/images/coffee.jpg differ diff --git a/theme_coffee_shop/static/src/images/logo.png b/theme_coffee_shop/static/src/images/logo.png new file mode 100644 index 000000000..8db82a42b Binary files /dev/null and b/theme_coffee_shop/static/src/images/logo.png differ diff --git a/theme_coffee_shop/static/src/images/payment-method_69e7ec.svg b/theme_coffee_shop/static/src/images/payment-method_69e7ec.svg new file mode 100644 index 000000000..9dd0ea271 --- /dev/null +++ b/theme_coffee_shop/static/src/images/payment-method_69e7ec.svg @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/src/images/thumbnail/s_process_steps.svg b/theme_coffee_shop/static/src/images/thumbnail/s_process_steps.svg new file mode 100644 index 000000000..d4117bdd4 --- /dev/null +++ b/theme_coffee_shop/static/src/images/thumbnail/s_process_steps.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/theme_coffee_shop/static/src/images/thumbnail/theme_coffee.jpeg b/theme_coffee_shop/static/src/images/thumbnail/theme_coffee.jpeg new file mode 100644 index 000000000..9b332f8d7 Binary files /dev/null and b/theme_coffee_shop/static/src/images/thumbnail/theme_coffee.jpeg differ diff --git a/theme_coffee_shop/static/src/images/top-view-bowls-with-coffee-beans-powder.jpg b/theme_coffee_shop/static/src/images/top-view-bowls-with-coffee-beans-powder.jpg new file mode 100644 index 000000000..d2d1d9160 Binary files /dev/null and b/theme_coffee_shop/static/src/images/top-view-bowls-with-coffee-beans-powder.jpg differ diff --git a/theme_coffee_shop/static/src/images/wishlist.png b/theme_coffee_shop/static/src/images/wishlist.png new file mode 100644 index 000000000..cb3c2ff5a Binary files /dev/null and b/theme_coffee_shop/static/src/images/wishlist.png differ diff --git a/theme_coffee_shop/views/about_us.xml b/theme_coffee_shop/views/about_us.xml new file mode 100644 index 000000000..27127d78a --- /dev/null +++ b/theme_coffee_shop/views/about_us.xml @@ -0,0 +1,36 @@ + + + + + About + qweb + theme_coffee_shop.coffee_about_us + /about + True + + + +
+ +
+ +
+ +
+
+
+ + + + diff --git a/theme_coffee_shop/views/cart_lines.xml b/theme_coffee_shop/views/cart_lines.xml new file mode 100644 index 000000000..6fe526ce4 --- /dev/null +++ b/theme_coffee_shop/views/cart_lines.xml @@ -0,0 +1,116 @@ + + + + + diff --git a/theme_coffee_shop/views/contact_us.xml b/theme_coffee_shop/views/contact_us.xml new file mode 100644 index 000000000..c1ba51289 --- /dev/null +++ b/theme_coffee_shop/views/contact_us.xml @@ -0,0 +1,220 @@ + + + +