Add initial Dine360 Chennora Odoo theme including static assets, JavaScript functionalities, and SCSS styling.
77
GIT_COMMIT_SUMMARY.md
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# Git Commit Summary - Chennora Theme Update
|
||||||
|
|
||||||
|
## ✅ Files Added to Git:
|
||||||
|
|
||||||
|
### New Images (3 files):
|
||||||
|
1. `odoo-testing-addons/addons/dine360_theme_chennora/static/src/img/gobi-65.png` (88 KB)
|
||||||
|
2. `odoo-testing-addons/addons/dine360_theme_chennora/static/src/img/unlimited-thali.png` (127 KB)
|
||||||
|
3. `odoo-testing-addons/addons/dine360_theme_chennora/static/src/img/fish-curry.png` (100 KB)
|
||||||
|
|
||||||
|
### Updated Files:
|
||||||
|
1. `odoo-testing-addons/addons/dine360_theme_chennora/views/pages.xml` - New 3-card offer section
|
||||||
|
2. `odoo-testing-addons/addons/dine360_theme_chennora/__manifest__.py` - Added main.css
|
||||||
|
3. `odoo-testing-addons/addons/dine360_theme_chennora/views/layout.xml` - Added Bootstrap Icons
|
||||||
|
4. `IMPLEMENTATION_SUMMARY.md` - Documentation
|
||||||
|
5. `HOW_TO_UPDATE_THEME.md` - Update guide
|
||||||
|
6. `docker-compose.yml` - Changed to client2
|
||||||
|
|
||||||
|
## 📝 Commit Message:
|
||||||
|
```
|
||||||
|
Update Chennora theme with new offer cards and assets
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔄 Git Status:
|
||||||
|
✅ **Committed locally** - All changes are saved in your local Git repository
|
||||||
|
❌ **Not pushed to remote** - Authentication failed when trying to push
|
||||||
|
|
||||||
|
## 🚀 To Push to Remote Repository:
|
||||||
|
|
||||||
|
You need to authenticate with Git. Run one of these:
|
||||||
|
|
||||||
|
### Option 1: Push with credentials
|
||||||
|
```bash
|
||||||
|
cd d:\ODOO_Final
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
(You'll be prompted for username/password or token)
|
||||||
|
|
||||||
|
### Option 2: Configure Git credentials
|
||||||
|
```bash
|
||||||
|
git config credential.helper store
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option 3: Use SSH instead of HTTPS
|
||||||
|
```bash
|
||||||
|
git remote set-url origin git@github.com:alaguraj/odoo-testing-addons.git
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📦 What's in the Commit:
|
||||||
|
|
||||||
|
### Changes Made:
|
||||||
|
- **3 new food images** for offer cards
|
||||||
|
- **Updated homepage design** with dark cards
|
||||||
|
- **Bootstrap Icons** added to layout
|
||||||
|
- **Main CSS** (335KB) added to theme
|
||||||
|
- **Documentation files** for implementation
|
||||||
|
|
||||||
|
### Card Design:
|
||||||
|
- Dark background (#04121D)
|
||||||
|
- Text on left (70%), image on right (30%)
|
||||||
|
- Yellow "ORDER NOW" buttons (#FECD4F)
|
||||||
|
- Teal and yellow accent colors
|
||||||
|
|
||||||
|
## 🔍 Verify the Commit:
|
||||||
|
```bash
|
||||||
|
git log --oneline -1
|
||||||
|
git show HEAD --stat
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📌 Next Steps:
|
||||||
|
|
||||||
|
1. **Authenticate and push** to remote repository
|
||||||
|
2. **Upgrade the theme** in Odoo (Apps → Chennora → Upgrade)
|
||||||
|
3. **Refresh homepage** to see the new cards
|
||||||
|
|
||||||
|
Your changes are safely committed locally! 🎉
|
||||||
@ -16,6 +16,7 @@
|
|||||||
'web.assets_frontend': [
|
'web.assets_frontend': [
|
||||||
'dine360_theme_chennora/static/src/scss/primary_variables.scss',
|
'dine360_theme_chennora/static/src/scss/primary_variables.scss',
|
||||||
'dine360_theme_chennora/static/src/scss/theme.scss',
|
'dine360_theme_chennora/static/src/scss/theme.scss',
|
||||||
|
'dine360_theme_chennora/static/src/js/deal_switcher.js',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'images': [
|
'images': [
|
||||||
|
|||||||
|
After Width: | Height: | Size: 569 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/about-leaves.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/about-lemon.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/about-platter.png
Normal file
|
After Width: | Height: | Size: 481 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/blog-1.png
Normal file
|
After Width: | Height: | Size: 183 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/blog-2.png
Normal file
|
After Width: | Height: | Size: 178 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/blog-3.png
Normal file
|
After Width: | Height: | Size: 186 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/cat-beverages.png
Normal file
|
After Width: | Height: | Size: 648 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/cat-biryani.png
Normal file
|
After Width: | Height: | Size: 897 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/cat-curries.png
Normal file
|
After Width: | Height: | Size: 906 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/cat-desserts.png
Normal file
|
After Width: | Height: | Size: 752 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/cat-dosa.png
Normal file
|
After Width: | Height: | Size: 883 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 396 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 49 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/crispy-gobi-65.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/deal-coffee.png
Normal file
|
After Width: | Height: | Size: 281 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/deal-dosa.png
Normal file
|
After Width: | Height: | Size: 434 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/deal-kothu.png
Normal file
|
After Width: | Height: | Size: 367 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/deal-nuggets.png
Normal file
|
After Width: | Height: | Size: 407 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/faq-slide-1.png
Normal file
|
After Width: | Height: | Size: 371 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/faq-slide-2.png
Normal file
|
After Width: | Height: | Size: 341 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/faq-slide-3.png
Normal file
|
After Width: | Height: | Size: 346 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 50 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/gallery-1.png
Normal file
|
After Width: | Height: | Size: 288 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/gallery-2.png
Normal file
|
After Width: | Height: | Size: 332 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/gallery-3.png
Normal file
|
After Width: | Height: | Size: 355 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 312 KiB |
BIN
addons/dine360_theme_chennora/static/src/img/unlimited-thali.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
98
addons/dine360_theme_chennora/static/src/js/deal_switcher.js
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
/** @odoo-module **/
|
||||||
|
|
||||||
|
import publicWidget from "@web/legacy/js/public/public_widget";
|
||||||
|
|
||||||
|
publicWidget.registry.DealSwitcher = publicWidget.Widget.extend({
|
||||||
|
selector: '.s_popular_deals_premium',
|
||||||
|
events: {
|
||||||
|
'mouseenter .deal-item': '_onDealHover',
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @override
|
||||||
|
*/
|
||||||
|
start: function () {
|
||||||
|
this.$centerImg = this.$('#dealCenterImg');
|
||||||
|
return this._super.apply(this, arguments);
|
||||||
|
},
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// Handlers
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @private
|
||||||
|
* @param {Event} ev
|
||||||
|
*/
|
||||||
|
_onDealHover: function (ev) {
|
||||||
|
const $item = $(ev.currentTarget);
|
||||||
|
const newImg = $item.data('deal-img');
|
||||||
|
|
||||||
|
if (newImg && this.$centerImg.length) {
|
||||||
|
// Remove active class from others
|
||||||
|
this.$('.deal-item').removeClass('active');
|
||||||
|
// Add active to current
|
||||||
|
$item.addClass('active');
|
||||||
|
|
||||||
|
// Fade out, change src, fade in
|
||||||
|
this.$centerImg.css('opacity', '0');
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$centerImg.attr('src', newImg);
|
||||||
|
this.$centerImg.css('opacity', '1');
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
publicWidget.registry.GallerySlider = publicWidget.Widget.extend({
|
||||||
|
selector: '.s_gallery_slider_premium',
|
||||||
|
|
||||||
|
start: function () {
|
||||||
|
this.$track = this.$('.gallery-track');
|
||||||
|
this.slideWidth = 315; // 300px width + 15px gap
|
||||||
|
this.currentIndex = 0;
|
||||||
|
this.totalOriginal = 6;
|
||||||
|
|
||||||
|
// Start auto-slide
|
||||||
|
this._startAutoSlide();
|
||||||
|
|
||||||
|
// Pause on hover
|
||||||
|
this.$el.on('mouseenter', () => this._stopAutoSlide());
|
||||||
|
this.$el.on('mouseleave', () => this._startAutoSlide());
|
||||||
|
|
||||||
|
return this._super.apply(this, arguments);
|
||||||
|
},
|
||||||
|
|
||||||
|
_startAutoSlide: function () {
|
||||||
|
this.interval = setInterval(this._slide.bind(this), 2000);
|
||||||
|
},
|
||||||
|
|
||||||
|
_stopAutoSlide: function () {
|
||||||
|
clearInterval(this.interval);
|
||||||
|
},
|
||||||
|
|
||||||
|
_slide: function () {
|
||||||
|
this.currentIndex++;
|
||||||
|
this.$track.css({
|
||||||
|
'transition': 'transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1)',
|
||||||
|
'transform': `translateX(-${this.currentIndex * this.slideWidth}px)`
|
||||||
|
});
|
||||||
|
|
||||||
|
// Seamless loop reset
|
||||||
|
if (this.currentIndex >= this.totalOriginal) {
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$track.css({
|
||||||
|
'transition': 'none',
|
||||||
|
'transform': 'translateX(0)'
|
||||||
|
});
|
||||||
|
this.currentIndex = 0;
|
||||||
|
}, 800); // Match transition duration
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export default {
|
||||||
|
DealSwitcher: publicWidget.registry.DealSwitcher,
|
||||||
|
GallerySlider: publicWidget.registry.GallerySlider,
|
||||||
|
};
|
||||||
@ -59,9 +59,763 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Marquee Animation
|
||||||
|
.quee-container {
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
background: #f4f1ea;
|
||||||
|
padding: 40px 0;
|
||||||
|
|
||||||
|
.quee-content {
|
||||||
|
display: flex;
|
||||||
|
width: 200%;
|
||||||
|
animation: marquee 30s linear infinite;
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 6rem;
|
||||||
|
font-weight: 900;
|
||||||
|
color: rgba(0, 0, 0, 0.05);
|
||||||
|
white-space: nowrap;
|
||||||
|
text-transform: uppercase;
|
||||||
|
margin: 0;
|
||||||
|
padding-right: 100px;
|
||||||
|
letter-spacing: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes marquee {
|
||||||
|
0% {
|
||||||
|
transform: translateX(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Slider Adjustments
|
||||||
|
#categoryCarousel {
|
||||||
|
.carousel-inner {
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// About Section Styles
|
||||||
|
.s_about_premium {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
background-color: rgb(244, 241, 234);
|
||||||
|
|
||||||
|
.floating-lemon {
|
||||||
|
position: absolute;
|
||||||
|
left: -30px;
|
||||||
|
top: 40%;
|
||||||
|
width: 120px;
|
||||||
|
opacity: 0.8;
|
||||||
|
z-index: 10;
|
||||||
|
animation: float 6s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-leaves {
|
||||||
|
position: absolute;
|
||||||
|
left: 50px;
|
||||||
|
bottom: 5%;
|
||||||
|
width: 150px;
|
||||||
|
opacity: 0.9;
|
||||||
|
z-index: 10;
|
||||||
|
animation: float 8s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.floating-bellpepper {
|
||||||
|
position: absolute;
|
||||||
|
right: 40px;
|
||||||
|
top: 50px;
|
||||||
|
width: 130px;
|
||||||
|
opacity: 0.8;
|
||||||
|
z-index: 10;
|
||||||
|
animation: float 7s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about-image-wrapper {
|
||||||
|
position: relative;
|
||||||
|
padding: 50px;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 15%;
|
||||||
|
top: 25%;
|
||||||
|
width: 75%;
|
||||||
|
height: 60%;
|
||||||
|
background-color: #FECD4F;
|
||||||
|
z-index: 0;
|
||||||
|
border-radius: 10px;
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
position: relative;
|
||||||
|
z-index: 5;
|
||||||
|
filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.15));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
|
||||||
|
.feature-icon-wrapper {
|
||||||
|
margin-right: 20px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 60px;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: 800;
|
||||||
|
color: #04121D;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #555;
|
||||||
|
line-height: 1.5;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes float {
|
||||||
|
0% {
|
||||||
|
transform: translateY(0px) rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
transform: translateY(-20px) rotate(5deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
transform: translateY(0px) rotate(0deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Why Choose Section
|
||||||
|
.s_why_choose_premium {
|
||||||
|
background-color: #04121D;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.choose-left-accent {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: -20px;
|
||||||
|
width: 180px;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.choose-right-accent {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 10%;
|
||||||
|
width: 250px;
|
||||||
|
z-index: 1;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.choose-pepper-float {
|
||||||
|
position: absolute;
|
||||||
|
left: 5%;
|
||||||
|
top: 10%;
|
||||||
|
width: 80px;
|
||||||
|
z-index: 2;
|
||||||
|
animation: float 5s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.choose-main-dish-wrapper {
|
||||||
|
position: relative;
|
||||||
|
z-index: 5;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: -20px;
|
||||||
|
right: 20%;
|
||||||
|
width: 300px;
|
||||||
|
height: 200px;
|
||||||
|
background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%);
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
filter: drop-shadow(0 30px 50px rgba(0, 0, 0, 0.5));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.choose-content {
|
||||||
|
position: relative;
|
||||||
|
z-index: 10;
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
font-weight: 800;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
letter-spacing: -1px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
line-height: 1.8;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Popular Deals Section
|
||||||
|
.s_popular_deals_premium {
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
.deal-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 8px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&.active {
|
||||||
|
background-color: #f8f9fa;
|
||||||
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
color: #2BB1A5 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.deal-img-wrapper {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
background: #f8f9fa;
|
||||||
|
border-radius: 4px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin-right: 15px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.deal-details {
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
h6 {
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 800;
|
||||||
|
color: #04121D;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #888;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.deal-price {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 800;
|
||||||
|
color: #04121D;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.deal-center-image {
|
||||||
|
position: relative;
|
||||||
|
padding: 20px;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background: #e9ecef;
|
||||||
|
z-index: 0;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 50%;
|
||||||
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Testimonials Section
|
||||||
|
.s_testimonials_premium {
|
||||||
|
background-color: #04121D;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.testimonial-main-image-wrapper {
|
||||||
|
position: relative;
|
||||||
|
border-radius: 0 400px 400px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
border-right: 15px solid #FECD4F;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.video-btn-wrapper {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
z-index: 20;
|
||||||
|
|
||||||
|
.play-btn {
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.play-icon {
|
||||||
|
width: 70px;
|
||||||
|
height: 70px;
|
||||||
|
background: white;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #04121D;
|
||||||
|
font-size: 24px;
|
||||||
|
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rotating-text {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
animation: rotate 15s linear infinite;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-content-side {
|
||||||
|
padding: 80px 40px;
|
||||||
|
position: relative;
|
||||||
|
z-index: 10;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
.google-reviews-logo {
|
||||||
|
width: 180px;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-carousel {
|
||||||
|
.carousel-item {
|
||||||
|
p {
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1.8;
|
||||||
|
font-style: italic;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-controls {
|
||||||
|
display: flex;
|
||||||
|
gap: 15px;
|
||||||
|
margin-top: 40px;
|
||||||
|
|
||||||
|
.control-btn {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: white;
|
||||||
|
background: transparent;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: #FECD4F;
|
||||||
|
border-color: #FECD4F;
|
||||||
|
color: #04121D;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.next-btn {
|
||||||
|
background: #FECD4F;
|
||||||
|
border-color: #FECD4F;
|
||||||
|
color: #04121D;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonial-accent-right {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 150px;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes rotate {
|
||||||
|
from {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
to {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// FAQ Section
|
||||||
|
.s_faq_premium {
|
||||||
|
background-color: #F4F1EA;
|
||||||
|
|
||||||
|
.faq-accordion {
|
||||||
|
.accordion-item {
|
||||||
|
background-color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 12px !important;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.accordion-button {
|
||||||
|
background-color: white;
|
||||||
|
color: #04121D;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 20px 25px;
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
position: relative;
|
||||||
|
font-size: 18px;
|
||||||
|
|
||||||
|
&:not(.collapsed) {
|
||||||
|
color: #2BB1A5;
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "-";
|
||||||
|
transform: none;
|
||||||
|
background-image: none;
|
||||||
|
color: #FECD4F;
|
||||||
|
font-size: 30px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
content: "+";
|
||||||
|
background-image: none;
|
||||||
|
color: #FECD4F;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 300;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.accordion-body {
|
||||||
|
padding: 0 25px 25px;
|
||||||
|
color: #555;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 1.6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.faq-carousel-wrapper {
|
||||||
|
border-radius: 15px;
|
||||||
|
overflow: hidden;
|
||||||
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
.carousel-control-prev,
|
||||||
|
.carousel-control-next {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
background: #FECD4F;
|
||||||
|
border-radius: 50%;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
opacity: 0.9;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #04121D;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-control-prev {
|
||||||
|
left: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-control-next {
|
||||||
|
right: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.know-more-btn {
|
||||||
|
background-color: #FECD4F;
|
||||||
|
color: #04121D;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 12px 30px;
|
||||||
|
border-radius: 4px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
margin-top: 30px;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
|
span {
|
||||||
|
background: black;
|
||||||
|
color: white;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 2px;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blog Section
|
||||||
|
.s_blog_premium {
|
||||||
|
background-color: #F4F1EA;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.blog-card {
|
||||||
|
background: white;
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100%;
|
||||||
|
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
|
||||||
|
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||||
|
position: relative;
|
||||||
|
color: #04121D;
|
||||||
|
|
||||||
|
.blog-img-wrapper {
|
||||||
|
position: relative;
|
||||||
|
height: 280px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-badge {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -20px;
|
||||||
|
left: 20px;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
background: white;
|
||||||
|
border: 2px solid #2BB1A5;
|
||||||
|
border-radius: 8px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-weight: 700;
|
||||||
|
z-index: 5;
|
||||||
|
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: block;
|
||||||
|
line-height: 1;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #04121D;
|
||||||
|
transition: color 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
font-size: 10px;
|
||||||
|
color: #2BB1A5;
|
||||||
|
text-transform: uppercase;
|
||||||
|
transition: color 0.3s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.blog-body {
|
||||||
|
padding: 40px 25px 30px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
|
||||||
|
.category-line {
|
||||||
|
font-size: 11px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
color: #888;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
display: inline-block;
|
||||||
|
padding: 4px 12px;
|
||||||
|
background: #f8f9fa;
|
||||||
|
border-radius: 4px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4 {
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 800;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
line-height: 1.4;
|
||||||
|
transition: color 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blog-excerpt {
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.6;
|
||||||
|
color: #666;
|
||||||
|
transition: color 0.3s ease;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
transform: translateY(-10px);
|
||||||
|
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
|
||||||
|
background-color: #04121D;
|
||||||
|
color: white;
|
||||||
|
|
||||||
|
.blog-img-wrapper {
|
||||||
|
img {
|
||||||
|
transform: scale(1.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.date-badge {
|
||||||
|
border: 2px dashed #FECD4F;
|
||||||
|
background: #2BB1A5 !important;
|
||||||
|
|
||||||
|
span:first-child {
|
||||||
|
color: white !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
span:last-child {
|
||||||
|
color: #04121D !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.blog-body {
|
||||||
|
h4 {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.blog-excerpt {
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.category-line {
|
||||||
|
background: white;
|
||||||
|
color: #04121D;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fries-accent {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -20px;
|
||||||
|
left: -30px;
|
||||||
|
width: 250px;
|
||||||
|
z-index: 10;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gallery Slider Section
|
||||||
|
.s_gallery_slider_premium {
|
||||||
|
background-color: #F4F1EA;
|
||||||
|
padding: 30px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
border-top: 1px solid rgba(0, 0, 0, 0.05);
|
||||||
|
|
||||||
|
.gallery-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-track {
|
||||||
|
display: flex;
|
||||||
|
gap: 15px;
|
||||||
|
transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery-item {
|
||||||
|
width: 300px;
|
||||||
|
height: 300px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 8px;
|
||||||
|
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
transition: transform 0.5s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover img {
|
||||||
|
transform: scale(1.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Footer
|
// Footer
|
||||||
footer#bottom {
|
footer#bottom {
|
||||||
background-color: #0d3b37 !important; // Dark Teal
|
background-color: #04121D !important;
|
||||||
color: white;
|
color: white;
|
||||||
|
|
||||||
a:hover {
|
a:hover {
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
Subproject commit b28e05b057fcebf0ef50e496ddc588e709325dd6
|
|
||||||