TNCSC_Odoo/addons/tncsc_deployment/views/website_header_overrides.xml
selvi b0cfc63201
Some checks failed
CI / Brand-leak check (push) Has been cancelled
CI / flake8 / pylint-odoo / manifest completeness (push) Has been cancelled
CI / Install all modules with --test-enable (push) Has been cancelled
new events updated
2026-10-02 15:02:29 +05:30

1082 lines
54 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="website_member_login_button" name="TNCSC Member Login Button">
<a href="/web/login?redirect=/my" class="btn btn-warning btn-sm rounded-pill px-3 fw-bold text-dark tncsc-member-login" style="background: linear-gradient(135deg, #e5a93c 0%, #d19b33 100%) !important; color: #120735 !important; font-weight: 700 !important; border: 1px solid #d19b33 !important; text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 2px 8px rgba(229, 169, 60, 0.3);">
<i class="fa fa-user" aria-hidden="true"/> Member Login
</a>
</template>
<!-- These pages provide their own TNCSC header and navigation.
Keep overrides outside the noupdate page seeds so upgrades apply
the fix without replacing administrator-edited page content. -->
<template id="view_page_home_custom_header_only"
inherit_id="tncsc_deployment.view_page_home"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_about_custom_header_only"
inherit_id="tncsc_deployment.view_page_about"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_tamil_nadu_custom_header_only"
inherit_id="tncsc_deployment.view_page_tamil_nadu"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_board_custom_header_only"
inherit_id="tncsc_deployment.view_page_board"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_membership_custom_header_only"
inherit_id="tncsc_deployment.view_page_membership"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_membership_benefits_custom_header_only"
inherit_id="tncsc_deployment.view_page_membership_benefits"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_membership_registration_custom_header_only"
inherit_id="tncsc_deployment.view_page_membership_registration"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_events_custom_header_only"
inherit_id="tncsc_deployment.view_page_events"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_membership_join_custom_header_only"
inherit_id="tncsc_deployment.view_page_membership_join"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_tamil_school_custom_header_only"
inherit_id="tncsc_deployment.view_page_tamil_school"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<template id="view_page_contact_custom_header_only"
inherit_id="tncsc_deployment.view_page_contact"
name="Use TNCSC navigation without the default website header">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[hasclass('tncsc-hero-nav')]//a[@href='/contact']" position="after">
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<!-- Shared Custom Temple Footer for Overridden Pages -->
<template id="tncsc_custom_footer" name="TNCSC Custom Temple Footer">
<footer id="tncscFooterSection" class="tncsc-custom-footer position-relative" style="background: linear-gradient(180deg, rgba(8, 16, 40, 0.65) 0%, rgba(10, 20, 50, 0.70) 100%), url('/tncsc_deployment/static/src/img/home/footer-bgwithclor.webp') center/cover no-repeat; padding: 60px 0 40px 0; color: #ffffff; text-align: center; display: block !important;">
<div class="container position-relative">
<!-- Emblem Logo -->
<img src="/tncsc_deployment/static/src/img/brand/logo.png" alt="TNCSC Logo" style="height: 90px; width: auto;" class="img-fluid mb-4"/>
<!-- Description Copy -->
<p style="color: #CBD5E1; font-size: 1.02rem; line-height: 1.65; max-width: 760px;" class="mx-auto mb-4">
For over 28+ years, the Tamil Nadu Cultural Society of Canada (TNCSC) has been a pillar for Tamil families across Canada – preserving language, celebrating tradition, and uniting generations through community events and cultural programs.
</p>
<!-- Footer Navigation Links -->
<div class="d-flex justify-content-center align-items-center gap-4 mb-4">
<a href="/" class="text-white text-decoration-none fw-medium fs-6">Home</a>
<span class="text-white-50">|</span>
<a href="/about" class="text-white text-decoration-none fw-medium fs-6">About Us</a>
<span class="text-white-50">|</span>
<a href="/membership" class="text-white text-decoration-none fw-medium fs-6">Membership</a>
<span class="text-white-50">|</span>
<a href="/contact" class="text-white text-decoration-none fw-medium fs-6">Contact</a>
</div>
<!-- Horizontal Divider -->
<hr style="border-color: rgba(255, 255, 255, 0.15); max-width: 850px;" class="mx-auto my-4"/>
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
<!-- Floating Back to Top Button -->
<a href="#wrap" class="position-absolute bottom-0 end-0 mb-3 me-3 d-inline-flex align-items-center justify-content-center" style="width: 44px; height: 44px; background-color: #D89C43; color: #ffffff; text-decoration: none; border-radius: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.3);" aria-label="Back to top">
<i class="fa fa-arrow-up fs-5"></i>
</a>
</div>
</footer>
</template>
<!-- School Registration Navigation & Branding -->
<template id="tncsc_school_reg_header_nav" name="TNCSC School Registration Navigation">
<style>
.tncsc-top-header {
background-color: #120735;
padding: 14px 20px;
text-align: center;
}
.tncsc-top-header .brand-title-ta {
font-size: 1.55rem;
font-weight: 700;
color: #ffffff;
margin: 0;
line-height: 1.2;
font-family: var(--community-heading-font, sans-serif);
}
.tncsc-top-header .brand-subtitle-en {
font-size: 1.1rem;
font-weight: 400;
color: #B8B2E6;
margin: 2px 0 0 0;
}
.tncsc-hero-container {
position: relative;
}
.tncsc-hero-nav {
background: transparent !important;
padding: 16px 0;
border: none !important;
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 20;
}
.tncsc-hero-nav .nav-link {
color: #ffffff !important;
font-weight: 500;
font-size: 0.95rem;
padding: 6px 16px !important;
opacity: 0.92;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
transition: opacity 0.2s;
}
.tncsc-hero-nav .nav-link:hover, .tncsc-hero-nav .nav-link.active {
opacity: 1;
color: #F5A623 !important;
}
.tncsc-dropdown {
position: relative;
display: inline-block;
}
.tncsc-dropdown-menu {
display: none;
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
margin-top: 10px;
background-color: #ffffff;
min-width: 230px;
padding: 12px 0;
border-radius: 4px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
z-index: 1000;
text-align: left;
}
.tncsc-dropdown-menu::before {
content: '';
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
border-width: 8px;
border-style: solid;
border-color: transparent transparent #ffffff transparent;
}
.tncsc-dropdown:hover .tncsc-dropdown-menu {
display: block !important;
}
.tncsc-dropdown-item {
display: block;
padding: 10px 24px;
color: #5B6C8F !important;
font-weight: 600;
font-size: 0.95rem;
text-decoration: none;
transition: all 0.2s ease;
text-shadow: none !important;
white-space: nowrap;
}
.tncsc-dropdown-item:hover {
color: #D89C43 !important;
background-color: #F8FAFC;
}
.tncsc-hero-nav .nav-link.active {
border-bottom: 2px solid #F5A623;
font-weight: 600;
}
.btn-tncsc-gold {
background-color: #D89C43;
color: #ffffff !important;
font-weight: 600;
font-size: 0.92rem;
padding: 10px 24px;
position: relative;
border: none;
border-radius: 0;
display: inline-flex;
align-items: center;
gap: 8px;
text-decoration: none !important;
transition: all 0.25s ease;
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.btn-tncsc-gold::before {
content: '';
position: absolute;
top: -5px;
right: -5px;
width: 14px;
height: 14px;
border-top: 2px solid #ffffff;
border-right: 2px solid #ffffff;
}
.btn-tncsc-gold::after {
content: '';
position: absolute;
bottom: -5px;
left: -5px;
width: 14px;
height: 14px;
border-bottom: 2px solid #ffffff;
border-left: 2px solid #ffffff;
}
.btn-tncsc-gold:hover {
background-color: #c48a35;
transform: translateY(-1px);
}
.tncsc-inner-hero {
background: linear-gradient(180deg, rgba(20, 10, 50, 0.85) 0%, rgba(30, 15, 70, 0.90) 100%), url('/tncsc_deployment/static/src/img/tamil_class/tamil-class-banner.webp') center/cover no-repeat;
padding: 140px 0 90px 0;
text-align: center;
position: relative;
}
.school-reg-card {
margin-top: 60px !important;
margin-bottom: 80px !important;
box-shadow: 0 15px 40px rgba(18, 7, 53, 0.08) !important;
border-radius: 18px !important;
}
#footer:not(.tncsc-custom-footer),
footer#bottom:not(.tncsc-custom-footer),
.o_footer,
.o_footer_copyright,
.s_footer,
#o_footer,
footer:not(.tncsc-custom-footer) {
display: none !important;
}
@media (max-width: 991px) {
.tncsc-hero-nav {
position: relative !important;
background: #120735 !important;
}
.tncsc-hero-nav .collapse {
background: #120735;
padding: 20px;
border-radius: 8px;
margin-top: 10px;
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.tncsc-hero-nav nav {
flex-direction: column;
align-items: flex-start !important;
gap: 15px !important;
margin-bottom: 20px;
}
}
@media (max-width: 767px) {
.tncsc-top-header {
padding: 10px;
}
.tncsc-top-header .brand-title-ta {
font-size: 1.15rem;
}
.tncsc-top-header .brand-subtitle-en {
font-size: 0.85rem;
}
.tncsc-top-header img {
height: 44px !important;
margin-right: 12px !important;
}
.tncsc-hero-nav .nav-link {
padding: 6px 10px !important;
font-size: 0.9rem;
}
.btn-tncsc-gold {
padding: 8px 16px;
font-size: 0.85rem;
}
.tncsc-custom-footer {
padding: 40px 15px 30px 15px !important;
}
.tncsc-custom-footer img {
height: 60px !important;
}
.tncsc-custom-footer .gap-3 {
flex-wrap: wrap;
gap: 10px !important;
}
.tncsc-inner-hero {
padding: 120px 0 50px 0 !important;
}
.tncsc-inner-hero h1.display-3 {
font-size: 2.2rem !important;
}
.school-reg-card {
margin-top: 30px !important;
padding: 24px 18px !important;
}
}
</style>
<!-- Top Header Banner with Emblem Logo and Bilingual Title -->
<div class="tncsc-top-header">
<div class="container d-flex align-items-center justify-content-center">
<img src="/tncsc_deployment/static/src/img/brand/logo.png" alt="TNCSC Logo" style="height: 64px; width: auto; margin-right: 18px;" class="img-fluid"/>
<div class="text-start">
<h1 class="brand-title-ta">தமிழ்நாடு கலாச்சார சங்கம் - கனடா</h1>
<p class="brand-subtitle-en">Tamil Nadu Cultural Society of Canada</p>
</div>
</div>
</div>
<!-- Hero Main Banner Section with Navigation Bar & Page Title -->
<div class="tncsc-hero-container">
<!-- Transparent Floating Navbar -->
<div class="tncsc-hero-nav">
<div class="container d-flex flex-wrap align-items-center justify-content-between">
<!-- Mobile Toggle Button -->
<div class="w-100 d-flex justify-content-end d-lg-none">
<button class="navbar-toggler border-0 text-white fs-2" type="button" data-bs-toggle="collapse" data-bs-target="#tncscMobileMenuSchoolReg" aria-expanded="false" aria-label="Toggle navigation" style="background: transparent;">
<i class="fa fa-bars"></i>
</button>
</div>
<!-- Collapsible Menu -->
<div class="collapse navbar-collapse d-lg-flex justify-content-between w-100" id="tncscMobileMenuSchoolReg">
<nav class="d-flex align-items-center gap-1">
<a href="/" class="nav-link">Home</a>
<div class="tncsc-dropdown">
<a href="/about" class="nav-link">About +</a>
<div class="tncsc-dropdown-menu">
<a href="/about/tamil-nadu" class="tncsc-dropdown-item">Tamil Nadu</a>
<a href="/about/board-of-directors" class="tncsc-dropdown-item">Board Of Directors</a>
</div>
</div>
<a href="/event" class="nav-link">Events</a>
<div class="tncsc-dropdown">
<a href="/membership" class="nav-link">Membership +</a>
<div class="tncsc-dropdown-menu">
<a href="/membership/benefits" class="tncsc-dropdown-item">Membership Benefits</a>
<a href="/membership/registration" class="tncsc-dropdown-item">Membership Registration</a>
</div>
</div>
<a href="/tamil-school" class="nav-link active">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<div class="d-flex align-items-center gap-2 mt-3 mt-lg-0">
<t t-call="tncsc_deployment.website_member_login_button"/>
<a href="/event" class="btn-tncsc-gold py-2 px-3 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
</div>
</div>
</div>
<!-- Inner Hero Title & Breadcrumb -->
<div class="tncsc-inner-hero">
<div class="container">
<h1 class="display-3 fw-bold text-white mb-3" style="font-size: 3.5rem; text-shadow: 0 4px 12px rgba(0,0,0,0.5);">Tamil School Registration</h1>
<div class="fs-5 text-white-50 fw-medium">
<a href="/" class="text-white-50 text-decoration-none">Home</a>
<span class="mx-2 text-white-50">|</span>
<a href="/tamil-school" class="text-white-50 text-decoration-none">Tamil Class</a>
<span class="mx-2 text-white-50">|</span>
<span class="text-white">Registration</span>
</div>
</div>
</div>
</div>
</template>
<template id="view_school_reg_step_parent_header" inherit_id="community_school.registration_step_parent" name="TNCSC School Reg Header Parent">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="before">
<t t-call="tncsc_deployment.tncsc_school_reg_header_nav"/>
</xpath>
<xpath expr="//div[hasclass('school-reg-hero')]" position="replace"/>
<xpath expr="//div[@id='wrap']" position="after">
<t t-call="tncsc_deployment.tncsc_custom_footer"/>
</xpath>
</template>
<template id="view_school_reg_step_student_header" inherit_id="community_school.registration_step_student" name="TNCSC School Reg Header Student">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="before">
<t t-call="tncsc_deployment.tncsc_school_reg_header_nav"/>
</xpath>
<xpath expr="//div[hasclass('school-reg-hero')]" position="replace"/>
<xpath expr="//div[@id='wrap']" position="after">
<t t-call="tncsc_deployment.tncsc_custom_footer"/>
</xpath>
</template>
<template id="view_school_reg_step_class_header" inherit_id="community_school.registration_step_class" name="TNCSC School Reg Header Class">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="before">
<t t-call="tncsc_deployment.tncsc_school_reg_header_nav"/>
</xpath>
<xpath expr="//div[hasclass('school-reg-hero')]" position="replace"/>
<xpath expr="//div[@id='wrap']" position="after">
<t t-call="tncsc_deployment.tncsc_custom_footer"/>
</xpath>
</template>
<template id="view_school_reg_done_header" inherit_id="community_school.registration_done" name="TNCSC School Reg Header Done">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="before">
<t t-call="tncsc_deployment.tncsc_school_reg_header_nav"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="after">
<t t-call="tncsc_deployment.tncsc_custom_footer"/>
</xpath>
</template>
<!-- Event Detail & Registration Navigation & Branding -->
<template id="tncsc_event_detail_header_nav" name="TNCSC Event Detail Navigation &amp; Banner">
<style>
.tncsc-top-header {
background-color: #120735;
padding: 14px 20px;
text-align: center;
}
.tncsc-top-header .brand-title-ta {
font-size: 1.55rem;
font-weight: 700;
color: #ffffff;
margin: 0;
line-height: 1.2;
font-family: var(--community-heading-font, sans-serif);
}
.tncsc-top-header .brand-subtitle-en {
font-size: 1.1rem;
font-weight: 400;
color: #B8B2E6;
margin: 2px 0 0 0;
}
.tncsc-hero-container {
position: relative;
}
.tncsc-hero-nav {
background: transparent !important;
padding: 16px 0;
border: none !important;
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 20;
}
.tncsc-hero-nav .nav-link {
color: #ffffff !important;
font-weight: 500;
font-size: 0.95rem;
padding: 6px 16px !important;
opacity: 0.92;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
transition: opacity 0.2s;
}
.tncsc-hero-nav .nav-link:hover, .tncsc-hero-nav .nav-link.active {
opacity: 1;
color: #F5A623 !important;
}
.tncsc-dropdown {
position: relative;
display: inline-block;
}
.tncsc-dropdown-menu {
display: none;
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
margin-top: 10px;
background-color: #ffffff;
min-width: 230px;
padding: 12px 0;
border-radius: 4px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
z-index: 1000;
text-align: left;
}
.tncsc-dropdown-menu::before {
content: '';
position: absolute;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
border-width: 8px;
border-style: solid;
border-color: transparent transparent #ffffff transparent;
}
.tncsc-dropdown:hover .tncsc-dropdown-menu {
display: block !important;
}
.tncsc-dropdown-item {
display: block;
padding: 10px 24px;
color: #5B6C8F !important;
font-weight: 600;
font-size: 0.95rem;
text-decoration: none;
transition: all 0.2s ease;
text-shadow: none !important;
white-space: nowrap;
}
.tncsc-dropdown-item:hover {
color: #D89C43 !important;
background-color: #F8FAFC;
}
.tncsc-hero-nav .nav-link.active {
border-bottom: 2px solid #F5A623;
font-weight: 600;
}
.btn-tncsc-gold {
background-color: #D89C43;
color: #ffffff !important;
font-weight: 600;
font-size: 0.92rem;
padding: 10px 24px;
position: relative;
border: none;
border-radius: 0;
display: inline-flex;
align-items: center;
gap: 8px;
text-decoration: none !important;
transition: all 0.25s ease;
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}
.btn-tncsc-gold::before {
content: '';
position: absolute;
top: -5px;
right: -5px;
width: 14px;
height: 14px;
border-top: 2px solid #ffffff;
border-right: 2px solid #ffffff;
}
.btn-tncsc-gold::after {
content: '';
position: absolute;
bottom: -5px;
left: -5px;
width: 14px;
height: 14px;
border-bottom: 2px solid #ffffff;
border-left: 2px solid #ffffff;
}
.btn-tncsc-gold:hover {
background-color: #c48a35;
transform: translateY(-1px);
}
.tncsc-inner-hero {
background: linear-gradient(180deg, rgba(20, 10, 50, 0.85) 0%, rgba(30, 15, 70, 0.90) 100%), url('/tncsc_deployment/static/src/img/events/event-banner.webp') center/cover no-repeat;
padding: 140px 0 90px 0;
text-align: center;
position: relative;
}
/* Event Page Content and Layout Upgrades */
#wrap.o_wevent_event {
background-color: #f7f8fc !important;
padding-top: 50px !important;
padding-bottom: 80px !important;
font-family: var(--community-font, 'Outfit', 'Inter', sans-serif);
}
#o_wevent_event_submenu {
display: none !important;
}
#o_wevent_event_main_col {
background: #ffffff !important;
border-radius: 18px !important;
border: 1px solid #e2e8f0 !important;
box-shadow: 0 10px 30px rgba(18, 7, 53, 0.06) !important;
padding: 40px !important;
}
#o_wevent_event_main_cover_content {
display: none !important;
}
.o_wevent_event_main_cover {
border-radius: 14px !important;
min-height: 240px !important;
max-height: 380px !important;
margin-bottom: 24px !important;
box-shadow: 0 6px 20px rgba(18, 7, 53, 0.08) !important;
overflow: hidden !important;
}
#o_wevent_event_main_col div[itemprop="description"] {
color: #334155;
font-size: 1.05rem;
line-height: 1.8;
}
#o_wevent_event_main_col div[itemprop="description"] h4,
#o_wevent_event_main_col div[itemprop="description"] h5 {
color: #120735;
font-weight: 700;
}
/* Event Sidebar Upgrades */
#o_wevent_event_main_sidebar {
padding-top: 0 !important;
}
#o_wevent_event_main_sidebar .alert-warning {
background: #fffbeb !important;
border: 1px solid #fde68a !important;
color: #92400e !important;
border-radius: 14px !important;
padding: 16px 20px !important;
font-weight: 600 !important;
font-size: 1rem !important;
box-shadow: 0 4px 12px rgba(245, 158, 11, 0.1) !important;
text-align: center;
}
#o_wevent_event_main_sidebar .o_wevent_sidebar_block,
#o_wevent_event_main_sidebar .o_wevent_bordered_block {
background: #ffffff !important;
border-radius: 16px !important;
border: 1px solid #e2e8f0 !important;
padding: 24px !important;
box-shadow: 0 6px 20px rgba(18, 7, 53, 0.05) !important;
margin-bottom: 20px !important;
}
#o_wevent_event_main_sidebar .o_wevent_sidebar_title {
color: #120735 !important;
font-weight: 700 !important;
font-size: 1.05rem !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
border-bottom: 2px solid #e5a93c !important;
padding-bottom: 8px !important;
margin-bottom: 16px !important;
display: inline-block;
}
#o_wevent_event_main_sidebar .btn-light {
background: #ffffff !important;
border: 1.5px solid #d19b33 !important;
color: #120735 !important;
font-weight: 600 !important;
border-radius: 30px !important;
padding: 8px 20px !important;
transition: all 0.2s ease !important;
display: inline-flex;
align-items: center;
gap: 6px;
}
#o_wevent_event_main_sidebar .btn-light:hover {
background: #e5a93c !important;
color: #ffffff !important;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(229, 169, 60, 0.35);
}
.o_wevent_dates_block .card {
background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%) !important;
border: 1px solid #e2e8f0 !important;
border-left: 4px solid #e5a93c !important;
border-radius: 12px !important;
padding: 14px 18px !important;
}
.o_wevent_day_header_number {
font-size: 2.4rem !important;
font-weight: 800 !important;
color: #120735 !important;
}
.btn-primary.o_wevent_registration_btn,
#o_wevent_event_main a.btn-primary,
#o_wevent_event_main button.btn-primary {
background: linear-gradient(135deg, #e5a93c 0%, #d19b33 100%) !important;
border: 1px solid #d19b33 !important;
color: #120735 !important;
font-weight: 700 !important;
border-radius: 30px !important;
padding: 12px 28px !important;
box-shadow: 0 4px 14px rgba(229, 169, 60, 0.35) !important;
transition: all 0.25s ease !important;
}
.btn-primary.o_wevent_registration_btn:hover,
#o_wevent_event_main a.btn-primary:hover,
#o_wevent_event_main button.btn-primary:hover {
background: linear-gradient(135deg, #f3c669 0%, #e5a93c 100%) !important;
transform: translateY(-2px) !important;
box-shadow: 0 6px 18px rgba(229, 169, 60, 0.45) !important;
color: #120735 !important;
}
#footer:not(.tncsc-custom-footer),
footer#bottom:not(.tncsc-custom-footer),
.o_footer,
.o_footer_copyright,
.s_footer,
#o_footer,
footer:not(.tncsc-custom-footer) {
display: none !important;
}
@media (max-width: 991px) {
.tncsc-hero-nav {
position: relative !important;
background: #120735 !important;
}
.tncsc-hero-nav .collapse {
background: #120735;
padding: 20px;
border-radius: 8px;
margin-top: 10px;
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.tncsc-hero-nav nav {
flex-direction: column;
align-items: flex-start !important;
gap: 15px !important;
margin-bottom: 20px;
}
#o_wevent_event_main_col {
margin-bottom: 30px !important;
padding: 24px !important;
}
}
@media (max-width: 767px) {
.tncsc-top-header {
padding: 10px;
}
.tncsc-top-header .brand-title-ta {
font-size: 1.15rem;
}
.tncsc-top-header .brand-subtitle-en {
font-size: 0.85rem;
}
.tncsc-top-header img {
height: 44px !important;
margin-right: 12px !important;
}
.tncsc-hero-nav .nav-link {
padding: 6px 10px !important;
font-size: 0.9rem;
}
.btn-tncsc-gold {
padding: 8px 16px;
font-size: 0.85rem;
}
.tncsc-custom-footer {
padding: 40px 15px 30px 15px !important;
}
.tncsc-custom-footer img {
height: 60px !important;
}
.tncsc-custom-footer .gap-3 {
flex-wrap: wrap;
gap: 10px !important;
}
.tncsc-inner-hero {
padding: 120px 0 50px 0 !important;
}
.tncsc-inner-hero h1.display-3 {
font-size: 2.2rem !important;
}
}
</style>
<!-- Top Header Banner with Emblem Logo and Bilingual Title -->
<div class="tncsc-top-header">
<div class="container d-flex align-items-center justify-content-center">
<img src="/tncsc_deployment/static/src/img/brand/logo.png" alt="TNCSC Logo" style="height: 64px; width: auto; margin-right: 18px;" class="img-fluid"/>
<div class="text-start">
<h1 class="brand-title-ta">தமிழ்நாடு கலாச்சார சங்கம் - கனடா</h1>
<p class="brand-subtitle-en">Tamil Nadu Cultural Society of Canada</p>
</div>
</div>
</div>
<!-- Hero Main Banner Section with Navigation Bar & Page Title -->
<div class="tncsc-hero-container">
<!-- Transparent Floating Navbar -->
<div class="tncsc-hero-nav">
<div class="container d-flex flex-wrap align-items-center justify-content-between">
<!-- Mobile Toggle Button -->
<div class="w-100 d-flex justify-content-end d-lg-none">
<button class="navbar-toggler border-0 text-white fs-2" type="button" data-bs-toggle="collapse" data-bs-target="#tncscMobileMenuEventDetail" aria-expanded="false" aria-label="Toggle navigation" style="background: transparent;">
<i class="fa fa-bars"></i>
</button>
</div>
<!-- Collapsible Menu -->
<div class="collapse navbar-collapse d-lg-flex justify-content-between w-100" id="tncscMobileMenuEventDetail">
<nav class="d-flex align-items-center gap-1">
<a href="/" class="nav-link">Home</a>
<div class="tncsc-dropdown">
<a href="/about" class="nav-link">About +</a>
<div class="tncsc-dropdown-menu">
<a href="/about/tamil-nadu" class="tncsc-dropdown-item">Tamil Nadu</a>
<a href="/about/board-of-directors" class="tncsc-dropdown-item">Board Of Directors</a>
</div>
</div>
<a href="/event" class="nav-link active">Events</a>
<div class="tncsc-dropdown">
<a href="/membership" class="nav-link">Membership +</a>
<div class="tncsc-dropdown-menu">
<a href="/membership/benefits" class="tncsc-dropdown-item">Membership Benefits</a>
<a href="/membership/registration" class="tncsc-dropdown-item">Membership Registration</a>
</div>
</div>
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<div class="d-flex align-items-center gap-2 mt-3 mt-lg-0">
<t t-call="tncsc_deployment.website_member_login_button"/>
<a href="/event" class="btn-tncsc-gold py-2 px-3 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> All Events
</a>
</div>
</div>
</div>
</div>
<!-- Inner Hero Title & Breadcrumb -->
<div class="tncsc-inner-hero">
<div class="container">
<h1 class="display-3 fw-bold text-white mb-2" style="font-size: 3.2rem; text-shadow: 0 4px 12px rgba(0,0,0,0.5);">
<t t-if="event" t-out="event.name"/>
<t t-else="">Events</t>
</h1>
<p t-if="event and event.subtitle" class="lead text-white-50 mb-3" style="font-size: 1.25rem;" t-out="event.subtitle"/>
<t t-if="event">
<t t-set="ev_det_status" t-value="event.registration_status or ('open' if (event.event_registrations_open and not event.is_done) else 'closed')"/>
<div class="mb-3">
<t t-if="ev_det_status == 'open'">
<span class="badge px-3 py-2 rounded-pill fs-6 fw-semibold" style="background-color: #10B981; color: #ffffff !important; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4); display: inline-flex; align-items: center; gap: 6px;">
<span style="width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; display: inline-block;"></span> Open for Registration
</span>
</t>
<t t-elif="ev_det_status == 'sold_out'">
<span class="badge px-3 py-2 rounded-pill fs-6 fw-semibold" style="background-color: #D97706; color: #ffffff; box-shadow: 0 4px 12px rgba(217, 119, 6, 0.4); display: inline-flex; align-items: center; gap: 6px;">
<i class="fa fa-ticket"></i> Sold Out
</span>
</t>
<t t-elif="ev_det_status == 'ongoing'">
<span class="badge px-3 py-2 rounded-pill fs-6 fw-semibold" style="background-color: #EF4444; color: #ffffff; box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4); display: inline-flex; align-items: center; gap: 6px;">
<span style="width: 8px; height: 8px; border-radius: 50%; background-color: #ffffff; display: inline-block;"></span> Live Now
</span>
</t>
<t t-else="">
<span class="badge px-3 py-2 rounded-pill fs-6 fw-semibold" style="background-color: #DC2626; color: #ffffff; box-shadow: 0 4px 12px rgba(220, 38, 38, 0.4); display: inline-flex; align-items: center; gap: 6px;">
<i class="fa fa-lock"></i> Registrations Closed
</span>
</t>
</div>
</t>
<div class="fs-5 text-white-50 fw-medium">
<a href="/" class="text-white-50 text-decoration-none">Home</a>
<span class="mx-2 text-white-50">|</span>
<a href="/event" class="text-white-50 text-decoration-none">Events</a>
<t t-if="event">
<span class="mx-2 text-white-50">|</span>
<span class="text-white" t-out="event.name"/>
</t>
</div>
</div>
</div>
</div>
</template>
<template id="view_event_layout_custom_header" inherit_id="website_event.layout" name="TNCSC Event Layout Custom Header &amp; Footer">
<xpath expr="//t[@t-call='website.layout']" position="inside">
<t t-set="no_header" t-value="True"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="before">
<t t-call="tncsc_deployment.tncsc_event_detail_header_nav"/>
</xpath>
<xpath expr="//div[@id='wrap']" position="after">
<t t-call="tncsc_deployment.tncsc_custom_footer"/>
</xpath>
</template>
<!-- Odoo's stock footer (shown on built-in pages such as event
registration, login and school registration) ships demo content:
dead "#" links, info@yourcompany.example.com, a 555 phone number and
X/LinkedIn icons TNCSC has no profiles for. A higher priority than
website.footer_custom (16) makes this replace it even where the
website editor has made a website-specific copy of that view. -->
<template id="tncsc_footer" inherit_id="website.layout" name="TNCSC Footer" priority="90">
<xpath expr="//footer[@id='bottom']" position="attributes">
<attribute name="style">background-color: #120735 !important; color: #ffffff;</attribute>
<attribute name="class" remove="bg-light" separator=" "/>
</xpath>
<xpath expr="//div[@id='footer']" position="replace">
<div id="footer" class="oe_structure oe_structure_solo text-break" t-if="not no_footer" style="background-color: #120735; color: #ffffff;">
<section class="pt48 pb32" style="background-color: #120735; color: #cbd5e1;">
<div class="container">
<div class="row">
<div class="col-lg-3 pt16 pb16">
<h5 style="color: #e5a93c; font-weight: 700; font-size: 1.15rem; margin-bottom: 18px; letter-spacing: 0.5px;">Useful Links</h5>
<ul class="list-unstyled">
<li class="mb-2"><a href="/" style="color: #cbd5e1; text-decoration: none; transition: color 0.2s ease;">Home</a></li>
<li class="mb-2"><a href="/about" style="color: #cbd5e1; text-decoration: none; transition: color 0.2s ease;">About Us</a></li>
<li class="mb-2"><a href="/event" style="color: #cbd5e1; text-decoration: none; transition: color 0.2s ease;">Events</a></li>
<li class="mb-2"><a href="/membership/registration" style="color: #cbd5e1; text-decoration: none; transition: color 0.2s ease;">Membership</a></li>
<li class="mb-2"><a href="/tamil-school" style="color: #cbd5e1; text-decoration: none; transition: color 0.2s ease;">Tamil Class</a></li>
<li class="mb-2"><a href="/contact" style="color: #cbd5e1; text-decoration: none; transition: color 0.2s ease;">Contact</a></li>
</ul>
</div>
<div class="col-lg-5 pt16 pb16">
<h5 style="color: #e5a93c; font-weight: 700; font-size: 1.15rem; margin-bottom: 18px; letter-spacing: 0.5px;">About TNCSC</h5>
<p style="color: #cbd5e1; font-size: 0.95rem; line-height: 1.7;">A not-for-profit Ontario corporation serving Tamils of Indian origin in Canada
since 1997, preserving and promoting our language, heritage and culture.</p>
</div>
<div class="col-lg-3 offset-lg-1 pt16 pb16">
<h5 style="color: #e5a93c; font-weight: 700; font-size: 1.15rem; margin-bottom: 18px; letter-spacing: 0.5px;">Connect with us</h5>
<ul class="list-unstyled mb-4">
<li class="mb-2"><i class="fa fa-comment fa-fw me-2" style="color: #e5a93c;"/><a href="/contact" style="color: #cbd5e1; text-decoration: none;">Contact us</a></li>
<li t-if="res_company.email" class="mb-2">
<i class="fa fa-envelope fa-fw me-2" style="color: #e5a93c;"/><a t-attf-href="mailto:#{res_company.email}" t-out="res_company.email" style="color: #cbd5e1; text-decoration: none;"/>
</li>
<li t-if="res_company.phone" class="mb-2">
<i class="fa fa-phone fa-fw me-2" style="color: #e5a93c;"/><a t-attf-href="tel:#{res_company.phone}" t-out="res_company.phone" style="color: #cbd5e1; text-decoration: none;"/>
</li>
</ul>
<div class="s_social_media text-start d-flex gap-3">
<a t-if="website.social_facebook" href="/website/social/facebook" target="_blank" rel="noopener" aria-label="Facebook" style="color: #e5a93c; font-size: 1.3rem;">
<i class="fa fa-facebook"/>
</a>
<a t-if="website.social_youtube" href="/website/social/youtube" target="_blank" rel="noopener" aria-label="YouTube" style="color: #e5a93c; font-size: 1.3rem;">
<i class="fa fa-youtube-play"/>
</a>
<a t-if="website.social_instagram" href="/website/social/instagram" target="_blank" rel="noopener" aria-label="Instagram" style="color: #e5a93c; font-size: 1.3rem;">
<i class="fa fa-instagram"/>
</a>
</div>
</div>
</div>
</div>
</section>
</div>
</xpath>
<xpath expr="//div[hasclass('o_footer_copyright')]" position="replace">
<div class="o_footer_copyright" style="background-color: #0c0424 !important; border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 18px 0; color: #94a3b8;">
<div class="container">
<div class="row align-items-center row-gap-2">
<div class="col-md-8 text-center text-md-start small">
<span>Copyright &amp;copy; 2026 Tamil Nadu Cultural Society of Canada. All rights reserved.</span>
</div>
<div class="col-md-4 text-center text-md-end small">
<span style="color: #e5a93c; font-weight: 600;">Preserving Tamil Culture Since 1997</span>
</div>
</div>
</div>
</div>
</xpath>
</template>
<!-- Odoo's stock header (on built-in pages such as login, event and
school registration) links its button to the stock /contactus page
and shows a demo phone number. TNCSC publishes no phone number, so
show the company email instead. -->
<template id="tncsc_header_call_to_action" inherit_id="website.header_call_to_action" name="TNCSC Header Call to Action">
<xpath expr="//a[hasclass('btn_cta')]" position="attributes">
<attribute name="href">/contact</attribute>
</xpath>
</template>
<template id="tncsc_header_text_element" inherit_id="website.header_text_element" name="TNCSC Header Text element">
<xpath expr="//li" position="replace">
<li t-if="res_company.email" t-attf-class="#{_item_class}">
<div t-attf-class="s_text_block #{_div_class}" data-name="Text">
<a t-attf-href="mailto:#{res_company.email}" class="nav-link o_nav-link_secondary p-2">
<i class="fa fa-1x fa-fw fa-envelope me-1"/>
<small t-out="res_company.email"/>
</a>
</div>
</li>
</xpath>
</template>
</odoo>