Snippets Collections
,{"trigger":["workflow","blueprint"]});
 
Get into party with wedding outfits by JOVI India’s Indian wedding wear guest dresses for women . The range is inspired by Indian wedding and therefore offers women wedding wear outfits such as light haldi and mehendi dresses, rich gown and lehenga. Each artwork emphasizes the magnificent handcraft and colours that communicate the moments of celebrations. Coming in a complete range of sizes, in XS to 6XL, our wedding wear plus size ensures that all people are radiant. Be it traditional cuts or modern wedding trouser suits, JOVI has a bit of Indian heritage in all of them. Just right to brides, sisters or wedding guests. Use JOVI25 and receive 25% off with free shipping in India and free international shipping on all orders over USD 500. 
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":asx::xero: FY26 Half Year Results + Boost Days for next week | Please read! :xero::asx:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Hey Sydney! It's that time a year again where we host half year results in our office and support the live call to the ASX, our Boost Days for next week will run a little differently, however we will continue to run the office as BAU as much as possible."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":dot-blue:*FOH* - Front of house will be closed for the week for the results working group \n:dot-blue:*Staff Entry* - Please use the White Staff entry doors located on each side of the floor \n :dot-blue:*Barty, Anzac & Waratah* - These rooms are offline this week to also support the results working group \n :dot-blue:*Filming & Pre Records* - Our Kitchen/breakout space will be closed between 12:45pm - 1:00pm 12/11/25. Please also be mindful during this time of noise levels!"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: Boost Days :star:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-10: *Monday, 10th November:* \n\n :coffee: *Café Partnership:* Enjoy free coffee @ Naked Duck from 8am - 11am \n :Lunch: *Lunch:* Join us for Lunch from 12pm in the kitchen \n\n :calendar-date-11: *Tuesday, 11th November:* \n\n :coffee: *Café Partnership:* Enjoy Free Coffee @ Naked Duck from 8am -11am \n :breakfast: *Breakfast:* Join us for breakfast from 9am in the kitchen \n\n :calendar-date-12: *Wednesday, 12th November:* \n\n :coffee: *Café Partnership:* Enjoy Free Coffee @ Naked Duck from 8am - 11am \n :Lunch: *Lunch:* Join us for Lunch from 12pm in the kitchen"
			}
		},
		{
			"type": "actions",
			"elements": [
				{
					"type": "button",
					"text": {
						"type": "plain_text",
						"text": "Farmhouse",
						"emoji": true
					},
					"value": "click_me_123"
				},
				{
					"type": "button",
					"text": {
						"type": "plain_text",
						"text": "Kin Khao",
						"emoji": true
					},
					"value": "click_me_123",
					"url": "https://google.com"
				},
				{
					"type": "button",
					"text": {
						"type": "plain_text",
						"text": "Ler Ros",
						"emoji": true
					},
					"value": "click_me_123",
					"url": "https://google.com"
				}
			]
		}
	]
}
import tkinter as tk
from tkinter import simpledialog, messagebox
import sys

import hashlib
import ctypes

import psutil

HASHED_EXIT_PASSWORD = hashlib.sha256(b"123").hexdigest()

USE_KEYBOARD_LIB = True
try:
    import keyboard
except Exception:
    USE_KEYBOARD_LIB = False

user32 = ctypes.windll.user32
SWP_SHOWWINDOW = 0x0040
SWP_HIDEWINDOW = 0x0080
HWND_TOPMOST = -1
SW_HIDE = 0
SW_SHOW = 5

def hide_taskbar():
    try:
        tray_hwnd = ctypes.windll.user32.FindWindowW("Shell_TrayWnd", None)
        if tray_hwnd:
            ctypes.windll.user32.ShowWindow(tray_hwnd, SW_HIDE)
        start_hwnd = ctypes.windll.user32.FindWindowW("Button", None)
    except Exception:
        pass

def show_taskbar():
    try:
        tray_hwnd = ctypes.windll.user32.FindWindowW("Shell_TrayWnd", None)
        if tray_hwnd:
            ctypes.windll.user32.ShowWindow(tray_hwnd, SW_SHOW)
    except Exception:
        pass

def force_topmost_and_cover(root):
    try:
        width = user32.GetSystemMetrics(0)  # SM_CXSCREEN
        height = user32.GetSystemMetrics(1) # SM_CYSCREEN
        root.update_idletasks()
        hwnd = ctypes.windll.user32.FindWindowW(None, root.title())
        if not hwnd:
            try:
                hwnd = ctypes.windll.user32.GetParent(root.winfo_id())
            except Exception:
                hwnd = root.winfo_id()
        ctypes.windll.user32.SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, width, height, SWP_SHOWWINDOW)
    except Exception:
        pass

root = tk.Tk()
root.title("Kiosk Mode")
root.configure(bg="black")

root.attributes("-fullscreen", True)
root.attributes("-topmost", True)

label = tk.Label(root, text=" (: ", bg="black", fg="green", font=("Arial", 36))
label.pack(expand=True, fill="both")

hint = tk.Label(root, text="Ctrl+Shift+Q : برای خروج امن", bg="black", fg="gray", font=("Arial", 12))
hint.place(relx=0.5, rely=0.95, anchor="s")

HIDED_CURSOR = False
try:
    ctypes.windll.user32.ShowCursor(False)
    HIDED_CURSOR = True
except Exception:
    HIDED_CURSOR = False

TASKBAR_HIDDEN = False

def check_password_input(pw_plain):
    if pw_plain is None:
        return False
    hashed = hashlib.sha256(pw_plain.encode('utf-8')).hexdigest()
    return hashed == HASHED_EXIT_PASSWORD
def safe_exit_dialog():
    pw = simpledialog.askstring("خروج امن", "رمز خروج را وارد کنید:", show="*")
    if pw is None:
        return

    if check_password_input(pw):
        cleanup_and_exit()
    else:
        messagebox.showerror("رمز اشتباه", "رمز وارد شده صحیح نیست.")


def cleanup_and_exit():
    global HIDED_CURSOR, TASKBAR_HIDDEN

    try:
        if HIDED_CURSOR:
            ctypes.windll.user32.ShowCursor(True)
    except Exception:
        pass

    if TASKBAR_HIDDEN:
        show_taskbar()

    if USE_KEYBOARD_LIB:
        try:
            keyboard.unhook_all()
        except Exception:
            pass

    try:
        root.destroy()
    except Exception:
        pass

    sys.exit(0)

def on_keypress(event):

    ctrl_mask = 0x0004
    shift_mask = 0x0001
    try:
        if (event.state & ctrl_mask) and (event.state & shift_mask) and event.keysym.lower() == 'q':
            root.after(0, safe_exit_dialog)
    except Exception:
        pass

root.bind_all("<Key>", on_keypress)

blocked_keys = [
    'print_screen',
    'alt', 'tab', 'esc', 'alt+tab', 'alt+f4',
    'left windows', 'right windows', 'windows', 'win', 'apps',
    'ctrl+shift+esc', 'ctrl+esc','widows+tab'
]

def setup_keyboard_blocker_and_hotkey():
    if not USE_KEYBOARD_LIB:
        return
    try:
        for key in blocked_keys:
            try:
                if '+' in key:
                    continue
                keyboard.block_key(key)
            except Exception:
                pass

        try:
            keyboard.add_hotkey('ctrl+shift+q', lambda: root.after(0, safe_exit_dialog))
        except Exception:
            pass

        def on_event(e):
            return
        try:
            keyboard.hook(on_event)
        except Exception:
            pass

    except Exception:
        pass

def keep_on_top_loop():
    try:
        root.attributes("-topmost", True)
        root.after(500, keep_on_top_loop)
    except tk.TclError:
        return

def prepare_kiosk_environment():
    global TASKBAR_HIDDEN
    try:
        hide_taskbar()
        TASKBAR_HIDDEN = True
    except Exception:
        TASKBAR_HIDDEN = False
    try:
        force_topmost_and_cover(root)
    except Exception:
        pass
def block_task_manager_focus():
    for proc in psutil.process_iter(['name']):
        if proc.info['name'] and "Taskmgr.exe" in proc.info['name']:
            # تلاش برای بستن Task Manager
            try:
                proc.terminate()
            except Exception:
                pass
    # دوباره این تابع بعد از 500 میلی‌ثانیه اجرا شود
    root.after(500, block_task_manager_focus)
prepare_kiosk_environment()
setup_keyboard_blocker_and_hotkey()
keep_on_top_loop()
root.after(500, block_task_manager_focus)



def disable_event():
    return

root.protocol("WM_DELETE_WINDOW", disable_event)

try:
    root.mainloop()
finally:
    try:
        if HIDED_CURSOR:
            ctypes.windll.user32.ShowCursor(True)
    except Exception:
        pass
    if TASKBAR_HIDDEN:
        try:
            show_taskbar()
        except Exception:
            pass
    if USE_KEYBOARD_LIB:
        try:
            keyboard.unhook_all()
        except Exception:
            pass
import tkinter as tk
from tkinter import simpledialog, messagebox
import sys

import hashlib
import ctypes

import psutil

HASHED_EXIT_PASSWORD = hashlib.sha256(b"123").hexdigest()

USE_KEYBOARD_LIB = True
try:
    import keyboard
except Exception:
    USE_KEYBOARD_LIB = False

user32 = ctypes.windll.user32
SWP_SHOWWINDOW = 0x0040
SWP_HIDEWINDOW = 0x0080
HWND_TOPMOST = -1
SW_HIDE = 0
SW_SHOW = 5

def hide_taskbar():
    try:
        tray_hwnd = ctypes.windll.user32.FindWindowW("Shell_TrayWnd", None)
        if tray_hwnd:
            ctypes.windll.user32.ShowWindow(tray_hwnd, SW_HIDE)
        start_hwnd = ctypes.windll.user32.FindWindowW("Button", None)
    except Exception:
        pass

def show_taskbar():
    try:
        tray_hwnd = ctypes.windll.user32.FindWindowW("Shell_TrayWnd", None)
        if tray_hwnd:
            ctypes.windll.user32.ShowWindow(tray_hwnd, SW_SHOW)
    except Exception:
        pass

def force_topmost_and_cover(root):
    try:
        width = user32.GetSystemMetrics(0)  # SM_CXSCREEN
        height = user32.GetSystemMetrics(1) # SM_CYSCREEN
        root.update_idletasks()
        hwnd = ctypes.windll.user32.FindWindowW(None, root.title())
        if not hwnd:
            try:
                hwnd = ctypes.windll.user32.GetParent(root.winfo_id())
            except Exception:
                hwnd = root.winfo_id()
        ctypes.windll.user32.SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, width, height, SWP_SHOWWINDOW)
    except Exception:
        pass

root = tk.Tk()
root.title("Kiosk Mode")
root.configure(bg="black")

root.attributes("-fullscreen", True)
root.attributes("-topmost", True)

label = tk.Label(root, text=" (: ", bg="black", fg="green", font=("Arial", 36))
label.pack(expand=True, fill="both")

hint = tk.Label(root, text="Ctrl+Shift+Q : برای خروج امن", bg="black", fg="gray", font=("Arial", 12))
hint.place(relx=0.5, rely=0.95, anchor="s")

HIDED_CURSOR = False
try:
    ctypes.windll.user32.ShowCursor(False)
    HIDED_CURSOR = True
except Exception:
    HIDED_CURSOR = False

TASKBAR_HIDDEN = False

def check_password_input(pw_plain):
    if pw_plain is None:
        return False
    hashed = hashlib.sha256(pw_plain.encode('utf-8')).hexdigest()
    return hashed == HASHED_EXIT_PASSWORD
def safe_exit_dialog():
    pw = simpledialog.askstring("خروج امن", "رمز خروج را وارد کنید:", show="*")
    if pw is None:
        return

    if check_password_input(pw):
        cleanup_and_exit()
    else:
        messagebox.showerror("رمز اشتباه", "رمز وارد شده صحیح نیست.")


def cleanup_and_exit():
    global HIDED_CURSOR, TASKBAR_HIDDEN

    try:
        if HIDED_CURSOR:
            ctypes.windll.user32.ShowCursor(True)
    except Exception:
        pass

    if TASKBAR_HIDDEN:
        show_taskbar()

    if USE_KEYBOARD_LIB:
        try:
            keyboard.unhook_all()
        except Exception:
            pass

    try:
        root.destroy()
    except Exception:
        pass

    sys.exit(0)

def on_keypress(event):

    ctrl_mask = 0x0004
    shift_mask = 0x0001
    try:
        if (event.state & ctrl_mask) and (event.state & shift_mask) and event.keysym.lower() == 'q':
            root.after(0, safe_exit_dialog)
    except Exception:
        pass

root.bind_all("<Key>", on_keypress)

blocked_keys = [
    'print_screen',
    'alt', 'tab', 'esc', 'alt+tab', 'alt+f4',
    'left windows', 'right windows', 'windows', 'win', 'apps',
    'ctrl+shift+esc', 'ctrl+esc','widows+tab'
]

def setup_keyboard_blocker_and_hotkey():
    if not USE_KEYBOARD_LIB:
        return
    try:
        for key in blocked_keys:
            try:
                if '+' in key:
                    continue
                keyboard.block_key(key)
            except Exception:
                pass

        try:
            keyboard.add_hotkey('ctrl+shift+q', lambda: root.after(0, safe_exit_dialog))
        except Exception:
            pass

        def on_event(e):
            return
        try:
            keyboard.hook(on_event)
        except Exception:
            pass

    except Exception:
        pass

def keep_on_top_loop():
    try:
        root.attributes("-topmost", True)
        root.after(500, keep_on_top_loop)
    except tk.TclError:
        return

def prepare_kiosk_environment():
    global TASKBAR_HIDDEN
    try:
        hide_taskbar()
        TASKBAR_HIDDEN = True
    except Exception:
        TASKBAR_HIDDEN = False
    try:
        force_topmost_and_cover(root)
    except Exception:
        pass
def block_task_manager_focus():
    for proc in psutil.process_iter(['name']):
        if proc.info['name'] and "Taskmgr.exe" in proc.info['name']:
            # تلاش برای بستن Task Manager
            try:
                proc.terminate()
            except Exception:
                pass
    # دوباره این تابع بعد از 500 میلی‌ثانیه اجرا شود
    root.after(500, block_task_manager_focus)
prepare_kiosk_environment()
setup_keyboard_blocker_and_hotkey()
keep_on_top_loop()
root.after(500, block_task_manager_focus)



def disable_event():
    return

root.protocol("WM_DELETE_WINDOW", disable_event)

try:
    root.mainloop()
finally:
    try:
        if HIDED_CURSOR:
            ctypes.windll.user32.ShowCursor(True)
    except Exception:
        pass
    if TASKBAR_HIDDEN:
        try:
            show_taskbar()
        except Exception:
            pass
    if USE_KEYBOARD_LIB:
        try:
            keyboard.unhook_all()
        except Exception:
            pass
import tkinter as tk
from tkinter import simpledialog, messagebox
import sys

import hashlib
import ctypes

import psutil

HASHED_EXIT_PASSWORD = hashlib.sha256(b"123").hexdigest()

USE_KEYBOARD_LIB = True
try:
    import keyboard
except Exception:
    USE_KEYBOARD_LIB = False

user32 = ctypes.windll.user32
SWP_SHOWWINDOW = 0x0040
SWP_HIDEWINDOW = 0x0080
HWND_TOPMOST = -1
SW_HIDE = 0
SW_SHOW = 5

def hide_taskbar():
    try:
        tray_hwnd = ctypes.windll.user32.FindWindowW("Shell_TrayWnd", None)
        if tray_hwnd:
            ctypes.windll.user32.ShowWindow(tray_hwnd, SW_HIDE)
        start_hwnd = ctypes.windll.user32.FindWindowW("Button", None)
    except Exception:
        pass

def show_taskbar():
    try:
        tray_hwnd = ctypes.windll.user32.FindWindowW("Shell_TrayWnd", None)
        if tray_hwnd:
            ctypes.windll.user32.ShowWindow(tray_hwnd, SW_SHOW)
    except Exception:
        pass

def force_topmost_and_cover(root):
    try:
        width = user32.GetSystemMetrics(0)  # SM_CXSCREEN
        height = user32.GetSystemMetrics(1) # SM_CYSCREEN
        root.update_idletasks()
        hwnd = ctypes.windll.user32.FindWindowW(None, root.title())
        if not hwnd:
            try:
                hwnd = ctypes.windll.user32.GetParent(root.winfo_id())
            except Exception:
                hwnd = root.winfo_id()
        ctypes.windll.user32.SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, width, height, SWP_SHOWWINDOW)
    except Exception:
        pass

root = tk.Tk()
root.title("Kiosk Mode")
root.configure(bg="black")

root.attributes("-fullscreen", True)
root.attributes("-topmost", True)

label = tk.Label(root, text=" (: ", bg="black", fg="green", font=("Arial", 36))
label.pack(expand=True, fill="both")

hint = tk.Label(root, text="Ctrl+Shift+Q : برای خروج امن", bg="black", fg="gray", font=("Arial", 12))
hint.place(relx=0.5, rely=0.95, anchor="s")

HIDED_CURSOR = False
try:
    ctypes.windll.user32.ShowCursor(False)
    HIDED_CURSOR = True
except Exception:
    HIDED_CURSOR = False

TASKBAR_HIDDEN = False

def check_password_input(pw_plain):
    if pw_plain is None:
        return False
    hashed = hashlib.sha256(pw_plain.encode('utf-8')).hexdigest()
    return hashed == HASHED_EXIT_PASSWORD
def safe_exit_dialog():
    pw = simpledialog.askstring("خروج امن", "رمز خروج را وارد کنید:", show="*")
    if pw is None:
        return

    if check_password_input(pw):
        cleanup_and_exit()
    else:
        messagebox.showerror("رمز اشتباه", "رمز وارد شده صحیح نیست.")


def cleanup_and_exit():
    global HIDED_CURSOR, TASKBAR_HIDDEN

    try:
        if HIDED_CURSOR:
            ctypes.windll.user32.ShowCursor(True)
    except Exception:
        pass

    if TASKBAR_HIDDEN:
        show_taskbar()

    if USE_KEYBOARD_LIB:
        try:
            keyboard.unhook_all()
        except Exception:
            pass

    try:
        root.destroy()
    except Exception:
        pass

    sys.exit(0)

def on_keypress(event):

    ctrl_mask = 0x0004
    shift_mask = 0x0001
    try:
        if (event.state & ctrl_mask) and (event.state & shift_mask) and event.keysym.lower() == 'q':
            root.after(0, safe_exit_dialog)
    except Exception:
        pass

root.bind_all("<Key>", on_keypress)

blocked_keys = [
    'print_screen',
    'alt', 'tab', 'esc', 'alt+tab', 'alt+f4',
    'left windows', 'right windows', 'windows', 'win', 'apps',
    'ctrl+shift+esc', 'ctrl+esc','widows+tab'
]

def setup_keyboard_blocker_and_hotkey():
    if not USE_KEYBOARD_LIB:
        return
    try:
        for key in blocked_keys:
            try:
                if '+' in key:
                    continue
                keyboard.block_key(key)
            except Exception:
                pass

        try:
            keyboard.add_hotkey('ctrl+shift+q', lambda: root.after(0, safe_exit_dialog))
        except Exception:
            pass

        def on_event(e):
            return
        try:
            keyboard.hook(on_event)
        except Exception:
            pass

    except Exception:
        pass

def keep_on_top_loop():
    try:
        root.attributes("-topmost", True)
        root.after(500, keep_on_top_loop)
    except tk.TclError:
        return

def prepare_kiosk_environment():
    global TASKBAR_HIDDEN
    try:
        hide_taskbar()
        TASKBAR_HIDDEN = True
    except Exception:
        TASKBAR_HIDDEN = False
    try:
        force_topmost_and_cover(root)
    except Exception:
        pass
def block_task_manager_focus():
    for proc in psutil.process_iter(['name']):
        if proc.info['name'] and "Taskmgr.exe" in proc.info['name']:
            # تلاش برای بستن Task Manager
            try:
                proc.terminate()
            except Exception:
                pass
    # دوباره این تابع بعد از 500 میلی‌ثانیه اجرا شود
    root.after(500, block_task_manager_focus)
prepare_kiosk_environment()
setup_keyboard_blocker_and_hotkey()
keep_on_top_loop()
root.after(500, block_task_manager_focus)



def disable_event():
    return

root.protocol("WM_DELETE_WINDOW", disable_event)

try:
    root.mainloop()
finally:
    try:
        if HIDED_CURSOR:
            ctypes.windll.user32.ShowCursor(True)
    except Exception:
        pass
    if TASKBAR_HIDDEN:
        try:
            show_taskbar()
        except Exception:
            pass
    if USE_KEYBOARD_LIB:
        try:
            keyboard.unhook_all()
        except Exception:
            pass
<style>
    li.header-nav-item {
    flex-wrap: wrap;
    justify-content: flex-start
}
li.t2-subnav-it>a.t2-subnav-lnk {
    width: calc(100% - 44px)
}
.services-nav li.t2-subnav-it>a.t2-subnav-lnk {
    width: calc(100% - 36px)
}
.services-nav .open-subnav {
    background-color: var(--blue)
}
</style>

   
 

<section class="care-levels">
    <div class="care-container st-container-md">
        <!-- Left Panel -->
        <div class="care-left-panel green-card">
            <div class="care-header">
                <h2 class="st-h1">Care Services</h2>
                <p>Find the Right Home Care Services for You or Your Loved Ones</p>
            </div>
            <a class="st-btn v1" href="/contact-us/get-care-today/">Get Care Today</a>
        </div>

        <!-- Right Panel -->
        <div class="care-right-panel">
            
            <!-- Categories -->
            <div class="care-categories">
                <div class="care-category active" onclick="showServices('essential')">
                    <span>Essential Care</span>
                </div>
                <div class="care-category" onclick="showServices('specialized')">
                    <span>Specialized Care</span>
                </div>
                <div class="care-category" onclick="showServices('recovery')">
                    <span>Recovery-Focused Care</span>
                </div>
            </div>
            
            
           {% if linklists.mainmenu %}
            {% for item in linklists.mainmenu recursive -%}
            {% if item.name == "Services" %}
                    {%- if item.children %}
                    <div class="services-mega subnav" style="display:block">
                        <ul class="t2-subnav sb-{{ item.name|slugify }}-subnav subnav">
                            {% for t2item in item.children %}
                            <li class="header-nav-item t2-subnav-it">
                                <a href="{{ t2item.link }}" class="t2-subnav-lnk">{{ t2item.name }}</a>
                                {% if t2item.children %}
                                <button class="open-subnav trg-plus-minus">
                    <svg class="icon-plus" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 0C8.76138 0 9.37931 0.617931 9.37931 1.37931L9.37931 6.62069L14.6207 6.62069C14.9865 6.62069 15.3373 6.76601 15.596 7.02468C15.8547 7.28335 16 7.63418 16 8C16 8.36582 15.8547 8.71665 15.596 8.97532C15.3373 9.23399 14.9865 9.37931 14.6207 9.37931H9.37931V14.6207C9.37931 14.9865 9.23399 15.3373 8.97532 15.596C8.71665 15.8547 8.36582 16 8 16C7.63418 16 7.28335 15.8547 7.02468 15.596C6.76601 15.3373 6.62069 14.9865 6.62069 14.6207L6.62069 9.37931L1.37931 9.37931C1.01349 9.37931 0.662662 9.23399 0.403991 8.97532C0.14532 8.71665 0 8.36582 0 8C0 7.63418 0.14532 7.28335 0.403991 7.02468C0.662662 6.76601 1.01349 6.62069 1.37931 6.62069L6.62069 6.62069L6.62069 1.37931C6.62069 0.617931 7.23862 0 8 0Z" fill="white"/></svg>
                    <svg class="icon-minus" width="16" height="3" viewBox="0 0 16 3" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.37931 0L14.6207 0C14.9865 0 15.3373 0.14532 15.596 0.40399C15.8547 0.662661 16 1.0135 16 1.37931C16 1.74513 15.8547 2.09596 15.596 2.35463C15.3373 2.6133 14.9865 2.75862 14.6207 2.75862L9.37931 2.75862C3.66667 2.75862 10.3333 2.75862 6.62069 2.75862L1.37931 2.75862C1.01349 2.75862 0.662662 2.6133 0.403991 2.35463C0.14532 2.09596 0 1.74513 0 1.37931C0 1.0135 0.14532 0.662661 0.403991 0.40399C0.662662 0.14532 1.01349 0 1.37931 0L6.62069 0C10.6667 1.0554e-06 5 2.22524e-06 9.37931 0Z" fill="white"/></svg>
                                </button>
                                <ul class="t3-subnav subnav">
                                    {% for t3item in t2item.children %}
                                    <li class="header-nav-item t3-subnav-it"><a href="{{ t3item.link }}" class="t3-subnav-lnk">{{ t3item.name }}</a></li>
                                    {% endfor %}
                                </ul>
                                {% endif %}
                            </li>
                            {% endfor %}
                        </ul>
                    </div>
                    {% endif %}
            {% endif %}
            {% endfor %}
        {% endif %}
        
            <!-- Services -->
            <div class="care-services">
              <!-- Essential Care Services -->
              <div id="essential-services" class="service-section care-service-list active">
                <a href="/home-care-services/active-care/" class="care-service-item">Active Care</a>
                <a href="/home-care-services/wellness-care/" class="care-service-item">Wellness Care</a>
                <a href="/home-care-services/personal-care/" class="care-service-item">Personal Care</a>
                <a href="/home-care-services/care-on-demand/" class="care-service-item">Care on Demand</a>
                <a href="/home-care-services/respite-care/" class="care-service-item">Respite Care</a>
                <a href="/home-care-services/care-for-children/" class="care-service-item">Childcare</a>
              </div>
            
              <!-- Specialized Care Services -->
              <div id="specialized-services" class="service-section care-service-list">
                <a href="/home-care-services/dementia/" class="care-service-item">Dementia &amp; Alzheimers Care</a>
                <a href="/home-care-services/chronic-conditions/" class="care-service-item">Chronic Condition Management</a>
                <a href="/home-care-services/end-of-life-care/" class="care-service-item">End-of-Life / Hospice Care</a>
                <a href="/home-care-services/developmental-disabilities-care/" class="care-service-item">Developmental Disabilities Care</a>
                <a href="/home-care-services/care-in-facilities/" class="care-service-item">In-facility Care</a>
              </div>

  <!-- Recovery-Focused Care Services -->
  <div id="recovery-services" class="service-section care-service-list">
    <a href="/home-care-services/after-hospital-care/" class="care-service-item">Post-hospitalization Care</a>
    <a href="/home-care-services/transitional-care/" class="care-service-item">Transitional Care</a>
    <a href="/home-care-services/nursing-services/" class="care-service-item">Nursing Services</a>
    <a href="/home-care-services/postpartum-care/" class="care-service-item">Postpartum Care</a>
    <a href="/home-care-services/veteran-care/" class="care-service-item">Veteran Care</a>
  </div>
</div>

        </div>
    </div>
</section>


<script>
    function showServices(category) {
        // Hide all service sections
        const serviceSections = document.querySelectorAll('.service-section');
        serviceSections.forEach(section => {
            section.classList.remove('active');
        });
        
        // Show the selected service section
        const selectedSection = document.getElementById(category + '-services');
        if (selectedSection) {
            selectedSection.classList.add('active');
        }
        
        // Update active category
        const categories = document.querySelectorAll('.care-category');
        categories.forEach(cat => {
            cat.classList.remove('active');
        });
        
        // Add active class to clicked category
        event.target.closest('.care-category').classList.add('active');
    }

</script>
string url = textBox1.Text.Trim();
if (string.IsNullOrEmpty(url))
{
    MessageBox.Show("Please enter a URL.");
    return;
}

// Save to Documents folder
string localPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\downloaded_file.txt";

try
{
    using (WebClient client = new WebClient())
    {
        client.DownloadFile(url, localPath);
    }

    MessageBox.Show($" File downloaded successfully to:\n{localPath}");
}
catch (Exception ex)
{
    MessageBox.Show(" Error: " + ex.Message);
}
Para hacerlo sencillo y fácil de usar:
Framework Web: Flask (como ya usamos) - Es ligero y fácil de entender
Base de Datos: PostgreSQL con psycopg2

Frontend:HTML5/CSS3 con animaciones CSS
JavaScript vanilla para interactividad
Librerías opcionales: Anime.js para animaciones más complejas
Subida de archivos: Werkzeug para manejo seguro de archivos
Efectos de sonido: Archivos MP3 para los efectos de ruleta

# Una vez activado el entorno virtual, instalar:
pip install flask psycopg2-binary werkzeug
python app.py

# Crear entorno virtual
python3 -m venv premios_env

# Activar entorno virtual (Linux/Mac)
source premios_env/bin/activate




## En Windows usarías:
## premios_env\Scripts\activate
🧾 Program: Develop an ASP.NET Web Application using the Master Page Concept to Display College Information
🪜 Step 1: Create a New Project

Open Visual Studio.

Go to File → New → Project.

Select ASP.NET Web Application (.NET Framework).

Enter the project name (e.g., CollegeInfoSite).

Choose the Empty template.

Click Create.

🪜 Step 2: Add a Master Page

In Solution Explorer, right-click on the project →
Add → New Item → Web Form Master Page.

Name it as Site1.master.

Click Add.

This page acts as a layout template for all content pages.

🪜 Step 3: Add Design Elements to the Master Page

Open Site1.master.

Add a Header, Navigation Menu, and Footer as per your layout.

To add styling:

Right-click the project → Add → New Item → Style Sheet.

Name it Style.css and design the layout using CSS.

Link the CSS file inside <head> using:

<link href="Style.css" rel="stylesheet" />

🪜 Step 4: Add Images

In Solution Explorer, right-click the project → Add → New Folder.

Name the folder Images.

Right-click Images → Add → Existing Item, and select images from your computer.

In the Master Page, drag an Image control from Toolbox → set:

ImageUrl = "~/Images/college.jpg"

🪜 Step 5: Add Content Pages

In Solution Explorer, right-click the project →
Add → New Item → Web Form with Master Page.

Name it Home.aspx.

Choose Site1.master as the master page.

Repeat the same to add other content pages such as:

About.aspx

Departments.aspx

Contact.aspx

🪜 Step 6: Add Navigation Menu

Open Site1.master.

From Toolbox → Navigation, drag a Menu or HyperLink control.

Set navigation URLs for each content page:

<asp:HyperLink ID="HomeLink" runat="server" NavigateUrl="~/Home.aspx" Text="Home" />
<asp:HyperLink ID="AboutLink" runat="server" NavigateUrl="~/About.aspx" Text="About" />
<asp:HyperLink ID="DeptLink" runat="server" NavigateUrl="~/Departments.aspx" Text="Departments" />
<asp:HyperLink ID="ContactLink" runat="server" NavigateUrl="~/Contact.aspx" Text="Contact" />

🪜 Step 7: Add Content to Pages

Open each content page (Home.aspx, About.aspx, etc.).

Add college-related content inside the <asp:Content> tag, for example:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Welcome to ABC College</h2>
    <p>ABC College is a premier institution offering quality education...</p>
</asp:Content>

🪜 Step 8: Test the Application

Set Home.aspx as the start page.

Press F5 (Run).

The browser displays the Master Page layout with linked content pages and navigation menu.

✅ Output

Header: Displays College Logo and Title

Navigation Menu: Links to Home, About, Departments, Contact

Main Section: Displays content from individual pages

Footer: Shows contact or copyright information







site1.master:<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="master.Site1" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <div>
 <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
     <h1>CVR COLLEGE OF ENGINEERING</h1>
                <asp:Menu ID="Menu1" runat="server">
                    <Items>
                        <asp:MenuItem NavigateUrl="~/home.aspx" Text="home" Value="home"></asp:MenuItem>
                        <asp:MenuItem NavigateUrl="~/stuent.aspx" Text="student" Value="student"></asp:MenuItem>
                    </Items>
                </asp:Menu>
            </asp:ContentPlaceHolder>
        </div>
        <asp:Image ID="Image1" runat="server" ImageUrl="~/images/13-1.jpg" />
    </form>
</body>
</html>
home.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="home.aspx.cs" Inherits="master.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <p>hooooooooo</p>
</asp:Content>

student.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="stuent.aspx.cs" Inherits="master.WebForm2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <p> hiiiiiiii</p>
</asp:Content>
select windowsformsapp(.net framework)
design the windows form
add a label, name it url
add a text box for url
add 2 buttons for download ,upload
add a label for res



webform1.cs:
using System;
using System.Net;
using System.Windows.Forms;

namespace upload
{
    public partial class Form1 : Form
    {
        WebClient client = new WebClient();
        public Form1()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try { 
                string url = textBox1.Text.Trim(); 
                string filepath = "C:\\Users\\allam\\OneDrive\\Desktop\\download.txt";
                client.UploadFile(url, filepath);
                MessageBox.Show("file uploaded succesfully"); 
                label2.Text = "uploaded succesfully"; 
            } 
            catch (Exception ex) 
            { 
                label2.Text = "error: " + ex.Message;
            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            try { 
                string url = textBox1.Text.Trim(); 
                if (string.IsNullOrEmpty(url)) 
                { label1.Text = "please enter a download url";
                    return; 
                } 
                string savepath = "C:\\Users\\allam\\OneDrive\\Desktop\\download.txt"; 
                client.DownloadFile(url, savepath); 
                MessageBox.Show("File downloaded succesfully"); 
                label2.Text = "Downlpaded sucessfully"; 
            } 
            catch (Exception ex) 
            {
                label2.Text = "Error: " + ex.Message; 
            }
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void label2_Click(object sender, EventArgs e)
        {

        }
    }
}
🧾 Program: Create ASP.NET Web Application for Name, Password, and Age Validation
🪜 Step 1: Create New Web Application

Open Visual Studio → File → New → Project.

Select ASP.NET Web Application (.NET Framework).

Name it, e.g., UserValidation.

Choose Empty → Tick Web Forms → Click Create.

🪜 Step 2: Add a Web Form

Right-click on the project → Add → Web Form.

Name it Register.aspx.

🪜 Step 3: Switch to Design View

At the bottom of the editor, click Design tab.

You can now drag and drop controls visually from the Toolbox.

🧱 Step 4: Add Controls
👉 (a) Name Field

Drag Label → Set Text = "Name", ID = Label1

Drag TextBox → ID = TextBox1

Drag RequiredFieldValidator → set properties:

ControlToValidate = TextBox1

ErrorMessage = Name is mandatory

👉 (b) Password Field

Drag Label → Text = "Password", ID = Label2

Drag TextBox → ID = TextBox2, TextMode = Password

Drag RequiredFieldValidator → set:

ControlToValidate = TextBox2

ErrorMessage = Password missing

👉 (c) Confirm Password Field

Drag Label → Text = "Confirm Password", ID = Label4

Drag TextBox → ID = TextBox4, TextMode = Password

Drag CompareValidator → set:

ControlToValidate = TextBox4

ControlToCompare = TextBox2

ErrorMessage = Passwords do not match

👉 (d) Age Field

Drag Label → Text = "Age", ID = Label3

Drag TextBox → ID = TextBox3

Drag RangeValidator → set:

ControlToValidate = TextBox3

MinimumValue = 20, MaximumValue = 80

Type = Integer

ErrorMessage = Age must be between 20 and 80

🪜 Step 5: Add Submit Button

Drag Button from Toolbox → ID = Button1

Set Text = Submit


🧱 (Email Field)

Drag Controls:

From the Toolbox → Standard, drag a Label control →

Set Text = "Email"

Set ID = LabelEmail

Drag a TextBox →

Set ID = TextBoxEmail

Add Validators:

RequiredFieldValidator

ControlToValidate = TextBoxEmail

ErrorMessage = "Email is required"

RegularExpressionValidator

ControlToValidate = TextBoxEmail

ErrorMessage = "Enter a valid Email Address"

ValidationExpression = ^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$



🧱 (User ID Field)

Drag Controls:

From Toolbox → Standard, drag a Label →

Set Text = "User ID"

Set ID = LabelUserID

Drag a TextBox →

Set ID = TextBoxUserID

Add Validators:

✅ (a) RequiredFieldValidator

Ensures the User ID field is not left empty.

<asp:RequiredFieldValidator ID="rfvUserID" runat="server"
    ControlToValidate="TextBoxUserID"
    ErrorMessage="User ID is required"
    ForeColor="Red">
</asp:RequiredFieldValidator>

✅ (b) RegularExpressionValidator

Ensures:

At least one uppercase letter

At least one digit

Length between 7 and 20 characters

Regex Expression:

^(?=.*[A-Z])(?=.*\d).{7,20}$







Normal webform
    webform1.aspx:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="registration.WebForm1" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>Registration Form</title>
    <style type="text/css">
        .auto-style1 {
            width: 534px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table style="width:100%;">
                <tr>
                    <td class="auto-style1">
                        <asp:Label ID="Label1" runat="server" Text="Name"></asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
                            ControlToValidate="TextBox1" ErrorMessage="Name is mandatory"></asp:RequiredFieldValidator>
                    </td>
                </tr>

                <tr>
                    <td class="auto-style1">
                        <asp:Label ID="Label2" runat="server" Text="Password"></asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
                            ControlToValidate="TextBox2" ErrorMessage="Password missing"></asp:RequiredFieldValidator>
                    </td>
                </tr>

                <tr>
                    <td class="auto-style1">
                        <asp:Label ID="Label3" runat="server" Text="Age"></asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                        <asp:RangeValidator ID="RangeValidator1" runat="server"
                            ControlToValidate="TextBox3"
                            MinimumValue="20" MaximumValue="80"
                            Type="Integer" ErrorMessage="Age must be between 20 and 80"></asp:RangeValidator>
                    </td>
                </tr>

                <tr>
                    <td class="auto-style1">
                        <asp:Label ID="Label4" runat="server" Text="Confirm Password"></asp:Label>
                    </td>
                    <td>
                        <asp:TextBox ID="TextBox4" runat="server" TextMode="Password"></asp:TextBox>
                        <asp:CompareValidator ID="CompareValidator2" runat="server"
                            ControlToValidate="TextBox4"
                            ControlToCompare="TextBox2"
                            ErrorMessage="Passwords do not match"></asp:CompareValidator>
                    </td>
                </tr>
            </table>
        </div>

        <p style="text-align:center;">
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit" />
        </p>
    </form>
create a class library -> build 
create a console app->solution explorer ->right click on project ->add->project referneces->add library

library:
using System;

namespace MyLibrary
{
    public class Calculator
    {
        public int Add(int a, int b)
        {
            return a + b;
        }

        public int Multiply(int a, int b)
        {
            return a * b;
        }
    }
}


class:
using System;
using MyLibrary; // Namespace of the private assembly

class Program
{
    static void Main()
    {
        Calculator calc = new Calculator();

        int sum = calc.Add(10, 20);
        int product = calc.Multiply(5, 6);

        Console.WriteLine("Sum: " + sum);
        Console.WriteLine("Product: " + product);
    }
}
using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        Console.Write("Enter an email: ");
        string email = Console.ReadLine();

        string pattern = @"^[^@\s]+@[^@\s]+\.[^@\s]+$";

        if (Regex.IsMatch(email, pattern))
            Console.WriteLine("Email is in proper format.");
        else
            Console.WriteLine("Email is NOT in proper format.");
    }
}
using System;

namespace practice
{
    public delegate int MathOperation(int x, int y); // Step 1: Declare delegate

    public class DelegateExample
    {
        public static int Add(int x, int y)          // Step 2: Define a matching method
        {
            return x + y;
        }

        public static void Main()
        {
            MathOperation d = Add;                  // Step 3: Assign method to delegate
            int res = d(2, 3);                      // Step 4: Invoke delegate
            Console.WriteLine("Result: " + res);
        }
    }
}
using System;

namespace practice
{
    interface IEmployee
    {
        void empdisplaydetails();
    }

    interface IManager : IEmployee
    {
        void Managerdetails();
    }

    class Departmentdetails : IManager
    {
        void IEmployee.empdisplaydetails()
        {
            Console.WriteLine("Employee Details");
        }

        void IManager.Managerdetails()
        {
            Console.WriteLine("Manager is working in sales department");
        }
    }

    class Program
    {
        public static void Main(string[] args)
        {
            Departmentdetails d = new Departmentdetails();

            IEmployee emp = d;
            emp.empdisplaydetails();

            IManager mg = d;
            mg.Managerdetails();
        }
    }
}
using System;
using System.Linq;

class Program {
    static void Main() {
        string s = Console.ReadLine();
        Console.WriteLine(new string(s.Select(c =>
            char.IsLower(c) ? char.ToUpper(c) : char.ToLower(c)).ToArray()));
    }
}
// See https://aka.ms/new-console-template for more information
//Console.WriteLine("Hello, World!");
using System.Text.RegularExpressions;
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Enter an email address:");
        var email = Console.ReadLine();
        Console.WriteLine("Enter mobile number:");
        var mobile = Console.ReadLine();
        var mobilePattern = "^[6-9]\\d{9}$";

        if (Regex.IsMatch(mobile, mobilePattern)) {
            Console.WriteLine("Valid mobile number");
        } else {
            Console.WriteLine("Invalid mobile number");
        }
        var pattern = "^[a-zA-Z0-9._%/+-]+@[a-zA-Z0-9.-]+[a-zA-Z]{2,}$";
        if(Regex.IsMatch(email, pattern)) {
            Console.WriteLine("Valid email address");
        } else {
            Console.WriteLine("Invalid email address"); 

        }
    }
}
namespace DelegateDemo
{
    delegate void Operation(int a,int b);
    class Program
    {
        static void Add(int a,int b)
        {
            Console.WriteLine("Add:"+(a+b));
        }
        static void Sub(int a, int b)
        {
            Console.WriteLine("Sub:" + (a - b));
        }
        static void Mul(int a, int b)
        {
            Console.WriteLine("Mul:" + (a + b));
        }
        static void Mod(int a, int b)
        {
            Console.WriteLine("Mod:" + (a % b));
        }
        public static void Main(string[] args)
        {
             Operation opAdd= Add;
            Operation opSub = Sub;
            Operation opMul = Mul;
            Operation opMod = Mod;
            opAdd(5,6);
            opSub(5, 6);
            opMul(5, 6);
            opMod(5, 6);

            Console.WriteLine("Multicast Delegate:");
            Operation mul= opAdd + opSub + opMul + opMod;
            mul(10, 3);
        }
    }
}
interface Animal
{
    void Speak();
}

interface Mammal : Animal
{
    void Walk();
}

class Dog : Mammal
{
    void Animal.Speak()
    {
        Console.WriteLine("Woof!");
    }

    void Mammal.Walk()
    {
        Console.WriteLine("The dog is walking.");
    }

    public void Eat()
    {
        Console.WriteLine("The dog is eating.");
    }
}

class Program
{
    static void Main(string[] args)
    {
        Dog d = new Dog();
        d.Eat();

        Animal a = d;
        a.Speak();

        Mammal m = d;
        m.Walk();
    }
}
class Employee
{
    public string name;
    public int empId;
    public double salary;

    public virtual void calculateSalary()
    {
        salary = 0;
    }

    public void displayEmployeeDetails()
    {
        System.Console.WriteLine("Employee Name: " + name);
        System.Console.WriteLine("Employee ID: " + empId);
        System.Console.WriteLine("Employee Salary: " + salary);
    }
}

class FullTimeEmployee : Employee
{
    public double HRA,DRA,basicSalary;
    public int days;
    public override void calculateSalary()
    {
        salary=(basicSalary*days)+HRA+DRA;
    }
}

class PartTimeEmployee : Employee
{
    public double dailyWages;
    public int numberOfDays;

    public override void calculateSalary()
    {
        salary = dailyWages * numberOfDays;
    }
}

class Program
{
    static void Main(string[] args)
    {
        FullTimeEmployee f=new FullTimeEmployee();
        f.name="John Doe";
        f.empId=101;
        f.basicSalary=500;
        f.HRA=2000;
        f.DRA=1500;
        f.days=22;
        f.calculateSalary();
        f.displayEmployeeDetails();
        PartTimeEmployee p=new PartTimeEmployee();
        p.name="Jane Smith";
        p.empId=102;
        p.dailyWages=300;
        p.numberOfDays=15;
        p.calculateSalary();
        p.displayEmployeeDetails();

    }
}
using System;
using System.Net;
using System.Net.Mail;
using System.Web.UI;
 
namespace SmtpDemo
{
    public partial class WebForm1 : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
 
        protected void btnSend_Click(object sender, EventArgs e)
        {
            try
            {
                
                MailMessage mail = new MailMessage();
                mail.To.Add(txtTo.Text.Trim());
                mail.From = new MailAddress(txtFrom.Text.Trim());
                mail.Subject = txtSubject.Text.Trim();
                mail.Body = txtBody.Text.Trim();
 
                
                SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                smtp.Credentials = new NetworkCredential("arunteja2385@gmail.com", "xvjz ydjj zwob aekd");
                smtp.EnableSsl = true;
 
                
                smtp.Send(mail);
 
                lblMessage.ForeColor = System.Drawing.Color.Green;
                lblMessage.Text = "Email sent successfully!";
            }
            catch (Exception ex)
            {
                lblMessage.ForeColor = System.Drawing.Color.Red;
                lblMessage.Text = "Error sending email: " + ex.Message;
            }
        }
    }
}
void Attach_Zoho_Sign_File_in_LEOS_Connect(int Request_ID, int Record_ID)
{
File = zoho.sign.downloadDocument(Request_ID);
info File;
Attach_File = zoho.crm.attachFile("Leos_Connect",Record_ID,File);
info Attach_File;
}
{% set my_path = page.path %}

{% if my_path %}
{% set path_parts = my_path.strip('/').split('/') %}
{% endif %}


<section class="blog-post">
    <article itemscope="" itemtype="http://schema.org/BlogPosting">
        <section class="banner banner-light post-title-card">
        <div class="st-container-lg st-flex st-half">
            
            {% if my_path.startswith('/blog/') %}
                <!--home care tips post headder-->
                <div class="banner-left st-item hct-post-header"> 
                    <nav aria-label="Breadcrumb">
                        <ol class="breadcrumbs hero-breadcrumbs st-center st-flex" role="list">
                            <li><a href="/">Home</a></li>
                            <li><a href="/blog/">Home Care Tips</a></li>
                            <li class="current-page" aria-current="page">{{ post.title }}</li>
                        </ol>
                    </nav>
                    <div class="banner-content st-center post-info">
                        <h1 itemprop="name headline">{{ post.title }}</h1>
                        <h4 class="st-teal-900">{{ post.date|datefmt('long') }}</h4>
                    </div>
                </div>
            
            {% elif my_path.startswith('/resources/') %}
                <!--resources post headder-->
                <div class="banner-left st-item resources-post-header">
                    <nav aria-label="Breadcrumb">
                        <ol class="breadcrumbs hero-breadcrumbs st-center st-flex" role="list">
                            <li><a href="/">Home</a></li>
                            <li><a href="${base_directory}resources/">Home Care Resources</a></li>
                            {% if post.primary_category %}
                            <li><a href="{{ post.primary_category.url(**category_url_params) }}">{{ post.primary_category.name }}</a></li>
                            {% endif %}
                            <li class="current-page" aria-current="page">{{ post.title }}</li>
                        </ol>
                    </nav>
                    <div class="banner-content st-center post-info">
                        {% if post.primary_category %}
                        <h3 class="st-teal-700">{{ post.primary_category.name }}</h3>
                        {% endif %}
                        <h1 itemprop="name headline">{{ post.title }}</h1>
                    </div>
                </div>
            {% endif %}
            <div class="banner-right st-item">
                <picture class="img-clip post-featured-img" itemprop="image" itemscope itemtype="https://schema.org/ImageObject">
                    {% if post.featured_img %}
                    <div style="background-image:url({{ post.featured_img.src }})"></div>
                    {% else %}
                    <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')"></div>
                    {% endif %}
                </picture>
            </div>
        </div>
    </section>

        <div class="post-content thin st-html" temprop="articleBody">
            {{ post.content|safe }}
        </div>
    </article>
</section>


{% if my_path.startswith('/blog/') %}

    {% set primary_posts = get_posts(site_id=1988652, filters={'category_slug': 'blogs'}) %}
    <section class="expert-tips-template">
        <div class="st-container-lg expert-tips-wrap">
            <h2 class="st-h1">Related Home Care Tips</h2>
            <div class="expert-tips-carousel">
                {% for primary_post in primary_posts[:3] %}
                    <a class="article-body" href="{{ primary_post.url(**post_url_params) }}">
                    <div class="post-list-item">
                        <div class="blog-image-wrap">
                            {% if primary_post.featured_img.src %}
                            <div style="background-image:url('{{ primary_post.featured_img.src }}')"
                                class="blog-featured-img"></div>
                            {% else %}
                            <div style="background-image:url('/img/upload/hwcg-blog-fallback.jpg')"
                                class="blog-featured-img"></div>
                            {% endif %}
                        </div>
                        <div class="blog-cont">
                            <p class="st-h4 st-teal-900" itemprop="name headline">{{ primary_post.title }}</p>
                            <div class="st-flex blog-item-bottom">
                                {% if primary_post.primary_category %}
                                <ul class="cat-list">
                                    <li>
                                        <p>{{ primary_post.primary_category.name }}</p>
                                    </li>
                                </ul>
                                {% endif %}
                            </div>
                        </div>
                    </div>
                </a>
                {% endfor %}
            </div>
            <a class="st-btn v1" href="/blog/"><span>View All Home Care Tips</span></a>
        </div>
    </section>
    
{% elif my_path.startswith('/resources/') %}

{% if post.primary_category and post.primary_category.name %}
    {% set primary_posts = get_posts(site_id=1988652, filters={'primary_category.name': post.primary_category.name, 'category_slug': 'resources'}) %}
{% else %}
    {% set primary_posts = get_posts(site_id=1988652, filters={'category_slug': 'resources'}) %}
{% endif %}

    <section class="expert-tips-template">
        <div class="st-container-lg expert-tips-wrap">
            <h2 class="st-h1">Related Home Care Resources</h2>
            <div class="expert-tips-carousel">
                {% for primary_post in primary_posts[:3] %}
                    <a class="article-body" href="{{ primary_post.url(**post_url_params) }}">
                    <div class="post-list-item">
                        <div class="blog-image-wrap">
                            {% if primary_post.featured_img.src %}
                            <div style="background-image:url('{{ primary_post.featured_img.src }}')"
                                class="blog-featured-img"></div>
                            {% else %}
                            <div style="background-image:url('/img/upload/hwcg-blog-fallback.jpg')"
                                class="blog-featured-img"></div>
                            {% endif %}
                        </div>
                        <div class="blog-cont">
                            <p class="st-h4 st-teal-900" itemprop="name headline">{{ primary_post.title }}</p>
                            <div class="st-flex blog-item-bottom">
                                {% if primary_post.primary_category %}
                                <ul class="cat-list">
                                    <li><p>{{ primary_post.primary_category.name }}</p></li>
                                </ul>
                                {% endif %}
                            </div>
                        </div>
                    </div>
                </a>
                {% endfor %}
            </div>
            <a class="st-btn v1" href="/resources/"><span>View All Home Care Resources</span></a>
        </div>
    </section>

{% endif %}




<script>
window.cachedScript('{{ jquery_asset }}', function () {
    window.cachedScript('https://cdn.jsdelivr.net/npm/@accessible360/accessible-slick@1.0.1/slick/slick.min.js', function () {
        
         $('.expert-tips-carousel').slick({
            infinite: false,
            slidesToShow: 3,
            slidesToScroll: 1,
            autoplay: false,
            arrows: true,
            dots: true,
            prevArrow:'<button id="reviewPrev" class="slider-prev"><svg><use xlink:href="#icon-prev-arrow"></use></svg></button>',
            nextArrow:'<button id="reviewNext" class="slider-next"><svg><use xlink:href="#icon-next-arrow"></use></svg></button>',
            responsive: [
                {
                    breakpoint: 1000,
                    settings: {
                        slidesToShow: 2.1,
                        slidesToScroll: 1,
                        arrows: false,
                        dots: true
                      }
                },{
                    breakpoint: 680,
                    settings: {
                        slidesToShow: 1.1,
                        slidesToScroll: 1,
                        arrows: false,
                        dots: true
                      }
                }
            ]
        });

        
    });
});
</script>

    // Wait for Firebase Auth to restore persisted session (critical for Android OIDC)
        await initializeFirebaseAuth();




/**
 * Initialize Firebase Auth and wait for persisted session to be restored
 * This is critical for Android where OIDC session restoration is asynchronous
 * Returns the persisted user (if any) or null
 */
const initializeFirebaseAuth = async (): Promise<FirebaseAuthTypes.User | null> => {
  return new Promise((resolve) => {
    const auth = getFirebaseAuth();

    // onAuthStateChanged fires immediately with persisted state (if any)
    // This is how React Native Firebase restores sessions on app restart
    const unsubscribe = auth.onAuthStateChanged(async (user) => {
      unsubscribe(); // Only need the first event for initialization

      if (user) {
        try {
          // Force token refresh to validate session is still active
          // This is critical for Android where OIDC tokens may have expired
          await user.getIdToken(true); // true = force refresh
          resolve(user);
        } catch (error) {
          // Token refresh failed - session expired or Token Service API not enabled
          await crashlyticsService.recordError(error, {
            action: 'TOKEN_REFRESH_FAILED_ON_INIT',
            metadata: { uid: user.uid },
          });

          // Sign out the stale user to prevent API failures
          await signOut(auth);

          resolve(null);
        }
      } else {
        resolve(null);
      }
    });

    // Fallback timeout in case onAuthStateChanged never fires (shouldn't happen)
    setTimeout(() => {
      unsubscribe();
      crashlyticsService.log('Firebase auth initialization timeout - proceeding without user');
      resolve(null);
    }, 5000);
  });
};
{% set my_path = page.path %}

{% if my_path %}
{% set path_parts = my_path.strip('/').split('/') %}
{% endif %}




<section class="breadcrumbs">
    {% set breadcrumbs = get_breadcrumbs(include_home=True) %}
    <div class="st-container-lg">
        <div class="st-flex st-breadcrumbs">
        {% for item in breadcrumbs.breadcrumbs[:2] %}
            {% if loop.last %}
                <span class="current-page">{{ item.name }}</span>
            {% else %}
                <a href="{{ item.link }}">{{ item.name }}</a>
                <span class="breadcrumbs-seperator">|</span>
            {% endif %}
        {% endfor %}
        </div>
        {% do set_schema_overrides('breadcrumbs', breadcrumbs.as_schema()) %}
    </div>
</section>

{% if my_path.startswith('/blog/') %}
    <!--HOME CARE TIPS BLOG-->
    <div class="st-container-md posts-list-wrapper">
        {% set all_cats = get_categories() %}
        <div class="post-list-header main">
            <h1>Home Care Tips</h1>
            <ul class="blog-categories st-flex st-desktop">
                <li><a href="/blog/">All posts</a></li>
                {% for cat in all_cats %}
                <li class="{% if path_parts %}{% if path_parts[2] == cat.name|slugify %}active-category{% endif %}{% endif %}">
                    <a href="{{ cat.url }}"><span>{{ cat.name }}</span></a>
                </li>
                {% endfor %}
            </ul>
            <div class="selector-cont st-mobile">
                <select id="catSelector" class="cat-selector bg-color">
                    <option value="/blog/">Select A Category</option>
                    {% for cat in all_cats %}
                        <option value="{{ cat.url }}" {% if cat.url == page.path %}selected{% endif %}>{{ cat.name }}</option>
                    {% endfor %}
                </select>
                <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                </svg>
            </div>
        </div>
    
        <div class="post-list-cat-wrap st-third">
            <!--Blog Root-->
            {% if page.path == '/blog/' %}
          
                {% for post in filter_posts(category_slug='blogs') %}
                <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                            {% if post.featured_img %}
                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                            {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                            {% endif %}
                        </div>
                        <div class="blog-cont">
                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                            <ul class="cat-list">
                                {% if post.categories %}
                                    {% for category in post.categories[:3] %}
                                    {% if category.name != "Blogs" %}
                                        <li>
                                            <p>{{ category.name }}</p>
                                        </li>
                                        {% endif %}
                                    {% endfor %}
                                {% endif %}
                            </ul>
                        </div>
                    </div>
                </a>
                {% endfor %}
            
            {% else %}
            
            <!--Category Page-->
            {% for post in posts %}
            {% if post %}
            <a itemprop="articleBody" class="article-body st-item article-cat-page" href="{{ post.url(**post_url_params) }}">
                <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                    <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                        {% if post.featured_img %}
                        <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                        {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                        {% endif %}
                    </div>
                    <div class="blog-cont">
                        <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                        {% if post.categories %}
                            <ul class="cat-list">
                                {% for category in post.categories[:3]  %}
                                    {% if category.name != "Blogs" %}
                                    <li>
                                        <p>{{ category.name }}</p>
                                    </li>
                                    {% endif %}
                                {% endfor %}
                            </ul>
                        {% endif %}
                    </div>
                </div>
            </a>
            {% endif %}
            {% endfor %}
            {% endif %}
            
            
        </div>
    
        <div class="next-prev-wrapper st-flex">
            {% if posts.has_previous() %}
            <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
            {% endif %}
            {% if posts.has_next() %}
            <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
            {% endif %}
        </div>
    </div>
    <!--end Home Care Tips Blog-->

{% elif my_path.startswith('/resources/') %}
    <!--RESOURCES BLOG-->
    <div class="st-container-lg resources-wrapper">
        <div class="post-list-header main">
                    <h1>Home Care Resource Center</h1>
                    <p>Learn how to set yourself and your loved ones up for success with in-home care.</p>
                </div>
            
        {% if page.path == '/resources/' %}
            <!--Resources Root-->
            <div class="resources-body">
                <div class="resources-top st-flex st-half">
                    <div class="featured-resources st-item">
                        <div class="green-tab"><h3>Featured Resource:</h3></div>
                        {% for post in filter_posts(category_slug='resources')[:1] %}
                        <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                            <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                    {% if post.featured_img %}
                                    <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                    {% else %}
                                    <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                    {% endif %}
                                </div>
                                <div class="blog-cont">
                                    <p class="st-h2 st-teal-900" itemprop="name headline">{{ post.title }}</p>
                                    <div class="card-footer">
                                        {% if post.categories %}
                                            <ul class="cat-list">
                                                {% for category in post.categories[:3] %}
                                                {% if category.name != "Blogs" %}
                                                    <li>
                                                        <p>{{ category.name }}</p>
                                                    </li>
                                                    {% endif %}
                                                {% endfor %}
                                            </ul>
                                        {% endif %}
                                        <button class="explore-btn">
                                            Explore Subject <span class="arrow">→</span>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </a>
                        {% endfor %}
                    </div>
                    <div class="popular-resources st-item">
                        <div class="green-tab"><h3>Other popular resources:</h3></div>
                        <div class="post-list-cat-wrap">
                            {% for post in filter_posts(category_slug='resources')[:3] %}
                            <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                            {% if post.featured_img %}
                                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                            {% else %}
                                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                            {% endif %}
                                        </div>
                                        <div class="blog-cont">
                                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                            {% if post.categories %}
                                                <ul class="cat-list">
                                                    {% for category in post.categories[:3] %}
                                                    {% if category.name != "Blogs" %}
                                                        <li>
                                                            <p>{{ category.name }}</p>
                                                        </li>
                                                        {% endif %}
                                                    {% endfor %}
                                                </ul>
                                            {% endif %}
                                        </div>
                                    </div>
                                </a>
                            {% endfor %}
                        </div>
                    </div>
                </div>
                <!-- Navigate by Topic -->
                <section class="topics-section">
                    <h2 class="topics-title">Navigate Resources by Topic</h2>
                    <div class="topic-buttons">
                        <a href="/resources/in-home-senior-safety/" class="topic-btn">In-Home Senior Safety</a>
                        <a href="/resources/support-for-caregivers/" class="topic-btn">Support for Family Caregivers</a>
                        <a href="/about-home-care/how-much-does-home-care-cost/" class="topic-btn">Home Care Costs & Payment Options</a>
                        <a href="/home-care-services/chronic-conditions/" class="topic-btn">Chronic Condition Management</a>
                        
                        <div class="compass-icon">
                            <img src="/img/upload/hwcg_compass_1.webp" width="120" height="120" alt="Compass" />
                        </div>
                    </div>
                </section>

                <div class="latest-resources">
                    <div class="green-panel st-flex ">
                        <h3>Latest Resources:</h3>
                        <div class="selector-cont">
                            <select id="catSelector" class="cat-selector bg-color">
                                <option value="/blog/">Filter by Category</option>
                                <option class="category" value="in-home-senior-safety">In-Home Senior Safety</option>
                                <option class="category" value="support-for-caregivers">Support for Family Caregivers</option>
                            </select>
                            <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                            </svg>
                        </div>
                    </div>
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    
                   {% set ns = namespace(categoryname='') %}
                    {% if post.categories %}
                      {% for category in post.categories %}
                        {% if category.name != "Blogs" and category.name != "Resources" and ns.categoryname == '' %}
                          {% set ns.categoryname = category.name|slugify %}
                        {% endif %}
                      {% endfor %}
                    {% endif %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}" data-cat="{{ ns.categoryname }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
                <script>
        document.addEventListener('DOMContentLoaded', function() {
          const selector = document.getElementById('catSelector');
          const posts = document.querySelectorAll('.article-body');
        
          selector.addEventListener('change', function() {
            const selected = this.value;
        
            posts.forEach(post => {
              const cat = post.getAttribute('data-cat');
              // Show all if default option, or only matching category
              if (selected === '/blog/' || selected === '' || selected === 'Filter by Category') {
                post.style.display = '';
              } else if (cat === selected) {
                post.style.display = '';
              } else {
                post.style.display = 'none';
              }
            });
          });
        });
        </script>
            </div>
        {% else %}
            <!--Category Page-->    
            <div class="resources-body">
                <div class="latest-resources">
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
            </div>
        {% endif %}
    </div>
    <!--end Resources Blog-->
    
{% endif %}
rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /Resource/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }
 
    match /images/GhslEvent/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }
    
    match /images/NewsOrUpdate/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }
    
    match /images/Resource/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }

    // Protected only for auth users
		// Site visit images
    match /images/SiteVisit/{fileName} {
      allow read, create, write: if request.auth != null;
    }
    // Site visit audios
    match /audios/SiteVisit/{fileName} {
      allow read, create, write: if request.auth != null;
    }
 
  }
}
generatedDateTime_1 = generatedDateTime.toTime("yyyy-MM-dd'T'HH:mm:ss","UTC");
info generatedDateTime_1;
generatedDateTime_2 = generatedDateTime_1.toString("yyyy-MM-dd'T'HH:mm:ss","Asia/Dubai");
info generatedDateTime_2;
updatemap.put("RF_Customer_Envelope_Time_Stamp",generatedDateTime_2);
# FULL GUIDE — Using LINQ to Query Data from Database with ADO.NET

We’ll build a working project called StudentDBApp that connects SQL Server + ASP.NET Web Forms + LINQ to SQL.

PART 1: Install SQL Server & SSMS (Database Setup)

Step 1: Download SQL Server

1. Go to Microsoft’s official page: [https://www.microsoft.com/en-in/sql-server/sql-server-downloads](https://www.microsoft.com/en-in/sql-server/sql-server-downloads)
2. Go to Downloads Tab at top
3. Download SQL Server 2022 Developer
4. Choose Basic Installation (wait a long time)

Step 2: Install SQL Server Management Studio (SSMS)

1. Go to: [https://aka.ms/ssms](https://aka.ms/ssms)
2. Click Download SQL Server Management Studio (SSMS)
3. Install it normally and open after installation.

Step 3: Connect to Server
When SSMS opens:
1. Server type: Database Engine
2. Server name: localhost
3. Authentication: Windows Authentication
4. Click trust
5. Click Connect

You’re now connected to your local SQL Server.

Step 4: Create Database and Table
In SSMS → open New Query and paste this SQL:

CREATE DATABASE StudentDB;
GO

USE StudentDB;
GO

CREATE TABLE Students (
StudentID INT PRIMARY KEY,
StudentName VARCHAR(50),
StudentDept VARCHAR(50),
StudentMarks DECIMAL(5,2)
);

INSERT INTO Students VALUES (1, 'Rahul', 'CSE', 92.5);
INSERT INTO Students VALUES (2, 'Raj', 'ECE', 85.0);
INSERT INTO Students VALUES (3, 'Anu', 'IT', 88.0);

Press Execute.
You now have a StudentDB database and Students table with data.

PART 2: Setup Visual Studio

Step 1: Install Required Components
If you already have Visual Studio 2022:

1. Open Visual Studio Installer
2. Click Modify on your Visual Studio version
3. Go to Workloads tab and make sure these are checked:

   * .NET desktop development
   * ASP.NET and web development
4. Go to Individual Components tab

   * Search and check “LINQ to SQL tools”
5. Click Modify and let it install.

This adds LINQ to SQL support (.dbml files).

PART 3: Create the ASP.NET Project

Step 1: New Project

1. Open Visual Studio 2022
2. Go to File → New → Project
3. Choose: ASP.NET Web Application (.NET Framework)
4. Name it StudentDBApp
5. Click Create
6. Select Empty template and check Web Forms
7. Click Create

Step 2: Add a Web Form

1. In Solution Explorer, right-click the project → Add → Web Form
2. Name it StudentDisplay.aspx
3. Click Add

Step 3: Add LINQ to SQL Class

1. Right-click your project → Add → New Item
2. Select Data (left side)
3. Choose LINQ to SQL Classes
4. Name it StudentData.dbml
5. Click Add
   You’ll see a designer window open.

Step 4: Connect to SQL Server

1. Open Server Explorer (View → Server Explorer)
2. Right-click Data Connections → Add Connection
3. Fill:
   Server name: localhost
   Authentication: Windows Authentication
   Click trust
   Database name: StudentDB
4. Click Test Connection → OK

Connection established.

Step 5: Add Table to Designer

1. In Server Explorer, expand your connection → Tables
2. Drag the Students table into the StudentData.dbml designer.
   It automatically creates the Student class.
   Save the file (Ctrl + S).

PART 4: Design and Code

Step 1: Design the Frontend (ASPX)
Open StudentDisplay.aspx → inside <form runat="server">, add:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" />

Save it.

Step 2: Backend Code (C#)
Open StudentDisplay.aspx.cs → replace code with:

using System;
using System.Linq;
using System.Configuration;

namespace StudentDBApp
{
public partial class StudentDisplay : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ShowStudentData();
}
}

    private void ShowStudentData()  
    {  
        string connString = ConfigurationManager.ConnectionStrings["StudentDBConnectionString"].ConnectionString;  
        StudentDataDataContext db = new StudentDataDataContext(connString);  
        var studentDetails = from s in db.Students  
                             select s;  
        GridView1.DataSource = studentDetails;  
        GridView1.DataBind();  
    }  
}  


}

Save it.

Step 4: Set Start Page
In Solution Explorer, right-click StudentDisplay.aspx → Set as Start Page

Step 5: Run the Project
Press Ctrl + F5
Your browser opens:
[https://localhost:[port]/StudentDisplay.aspx](https://localhost:[port]/StudentDisplay.aspx)

You’ll see the GridView displaying all student records from SQL Server.

OUTPUT (Example)

StudentID | StudentName | StudentDept | StudentMarks
1 | Rahul | CSE | 92.50
2 | Raj | ECE | 85.00
3 | Anu | IT | 88.00
 Text HELP for support.  


<script defer>
$(document).ready(function () {
  
    const smsLabel = document.querySelector('.sb-formfield--sms-consent label');
    if (smsLabel) {
     // replace SMS consent label text
      smsLabel.innerHTML = "<label for='id_sms-consent'>By checking this box, I expressly consent to receive recurring text messages by or on behalf of Homewatch CareGivers, regarding customer care (such as, among others, appointment reminders, billing), account notifications, marketing, products, services, offers, promotions and franchise opportunities, at the number provided above, including via automated technology.  Consent is not a condition of purchase.  Msg &amp; data rates may apply.  Msg frequency varies.  Unsubscribe at any time by replying STOP.  Text HELP for support. <a href='/privacy-policy/'>Privacy Policy</a> &amp; <a href='/privacy-policy/'>Terms of Use</a>.";
    }
});
</script>

NON WORKING


<script>

$(document).on('ajax-form-failure', function() {

  console.log('works');
    const smsLabel = document.querySelector('.sb-formfield--sms-consent label');

    if (smsLabel) {
     // replace SMS consent label text
      smsLabel.innerHTML =
        'I consent to receive marketing SMS text messages from Homewatch CareGivers at the number provided, including messages sent by autodialer. Consent is not a condition for advancing with this form. MSG &amp; data rates may apply. MSG frequency varies. Unsubscribe at any time by replying STOP. View our <a href="/privacy-policy/">Privacy Policy</a> & <a href="/terms-of-use/">Terms of Use</a>.';
    }
    
});
</script>
{% set my_path = page.path %}

{% if my_path %}
{% set path_parts = my_path.strip('/').split('/') %}
{% endif %}




<section class="breadcrumbs">
    {% set breadcrumbs = get_breadcrumbs(include_home=True) %}
    <div class="st-container-lg">
        <div class="st-flex st-breadcrumbs">
        {% for item in breadcrumbs.breadcrumbs[:2] %}
            {% if loop.last %}
                <span class="current-page">{{ item.name }}</span>
            {% else %}
                <a href="{{ item.link }}">{{ item.name }}</a>
                <span class="breadcrumbs-seperator">|</span>
            {% endif %}
        {% endfor %}
        </div>
        {% do set_schema_overrides('breadcrumbs', breadcrumbs.as_schema()) %}
    </div>
</section>

{% if my_path.startswith('/blog/') %}
    <!--HOME CARE TIPS BLOG-->
    <div class="st-container-md posts-list-wrapper">
        {% set all_cats = get_categories() %}
        <div class="post-list-header main">
            <h1>Home Care Tips</h1>
            <ul class="blog-categories st-flex st-desktop">
                <li><a href="/blog/">All posts</a></li>
                {% for cat in all_cats %}
                <li class="{% if path_parts %}{% if path_parts[2] == cat.name|slugify %}active-category{% endif %}{% endif %}">
                    <a href="{{ cat.url }}"><span>{{ cat.name }}</span></a>
                </li>
                {% endfor %}
            </ul>
            <div class="selector-cont st-mobile">
                <select id="catSelector" class="cat-selector bg-color">
                    <option value="/blog/">Select A Category</option>
                    {% for cat in all_cats %}
                        <option value="{{ cat.url }}" {% if cat.url == page.path %}selected{% endif %}>{{ cat.name }}</option>
                    {% endfor %}
                </select>
                <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                </svg>
            </div>
        </div>
    
        <div class="post-list-cat-wrap st-third">
            <!--Blog Root-->
            {% if page.path == '/blog/' %}
          
                {% for post in filter_posts(category_slug='blogs') %}
                <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                            {% if post.featured_img %}
                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                            {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                            {% endif %}
                        </div>
                        <div class="blog-cont">
                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                            <ul class="cat-list">
                                {% if post.categories %}
                                    {% for category in post.categories[:3] %}
                                    {% if category.name != "Blogs" %}
                                        <li>
                                            <p>{{ category.name }}</p>
                                        </li>
                                        {% endif %}
                                    {% endfor %}
                                {% endif %}
                            </ul>
                        </div>
                    </div>
                </a>
                {% endfor %}
            
            {% else %}
            
            <!--Category Page-->
            {% for post in posts %}
            {% if post %}
            <a itemprop="articleBody" class="article-body st-item article-cat-page" href="{{ post.url(**post_url_params) }}">
                <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                    <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                        {% if post.featured_img %}
                        <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                        {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                        {% endif %}
                    </div>
                    <div class="blog-cont">
                        <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                        {% if post.categories %}
                            <ul class="cat-list">
                                {% for category in post.categories[:3]  %}
                                    {% if category.name != "Blogs" %}
                                    <li>
                                        <p>{{ category.name }}</p>
                                    </li>
                                    {% endif %}
                                {% endfor %}
                            </ul>
                        {% endif %}
                    </div>
                </div>
            </a>
            {% endif %}
            {% endfor %}
            {% endif %}
            
            
        </div>
    
        <div class="next-prev-wrapper st-flex">
            {% if posts.has_previous() %}
            <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
            {% endif %}
            {% if posts.has_next() %}
            <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
            {% endif %}
        </div>
    </div>
    <!--end Home Care Tips Blog-->

{% elif my_path.startswith('/resources/') %}
    <!--RESOURCES BLOG-->
    <div class="st-container-lg resources-wrapper">
        <div class="post-list-header main">
                    <h1>Home Care Resource Center</h1>
                    <p>Learn how to set yourself and your loved ones up for success with in-home care.</p>
                </div>
            
        {% if page.path == '/resources/' %}
            <!--Resources Root-->
            <div class="resources-body">
                <div class="resources-top st-flex st-half">
                    <div class="featured-resources st-item">
                        <div class="green-tab"><h3>Featured Resource:</h3></div>
                        {% for post in filter_posts(category_slug='resources')[:1] %}
                        <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                            <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                    {% if post.featured_img %}
                                    <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                    {% else %}
                                    <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                    {% endif %}
                                </div>
                                <div class="blog-cont">
                                    <p class="st-h2 st-teal-900" itemprop="name headline">{{ post.title }}</p>
                                    <div class="card-footer">
                                        {% if post.categories %}
                                            <ul class="cat-list">
                                                {% for category in post.categories[:3] %}
                                                {% if category.name != "Blogs" %}
                                                    <li>
                                                        <p>{{ category.name }}</p>
                                                    </li>
                                                    {% endif %}
                                                {% endfor %}
                                            </ul>
                                        {% endif %}
                                        <button class="explore-btn">
                                            Explore Subject <span class="arrow">→</span>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </a>
                        {% endfor %}
                    </div>
                    <div class="popular-resources st-item">
                        <div class="green-tab"><h3>Other popular resources:</h3></div>
                        <div class="post-list-cat-wrap">
                            {% for post in filter_posts(category_slug='resources')[:3] %}
                            <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                            {% if post.featured_img %}
                                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                            {% else %}
                                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                            {% endif %}
                                        </div>
                                        <div class="blog-cont">
                                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                            {% if post.categories %}
                                                <ul class="cat-list">
                                                    {% for category in post.categories[:3] %}
                                                    {% if category.name != "Blogs" %}
                                                        <li>
                                                            <p>{{ category.name }}</p>
                                                        </li>
                                                        {% endif %}
                                                    {% endfor %}
                                                </ul>
                                            {% endif %}
                                        </div>
                                    </div>
                                </a>
                            {% endfor %}
                        </div>
                    </div>
                </div>
                <!-- Navigate by Topic -->
                <section class="topics-section">
                    <h2 class="topics-title">Navigate Resources by Topic</h2>
                    <div class="topic-buttons">
                        <a href="/resources/in-home-senior-safety/" class="topic-btn">In-Home Senior Safety</a>
                        <a href="/resources/support-for-caregivers/" class="topic-btn">Support for Family Caregivers</a>
                        <a href="/about-home-care/how-much-does-home-care-cost/" class="topic-btn">Home Care Costs & Payment Options</a>
                        <a href="/home-care-services/chronic-conditions/" class="topic-btn">Chronic Condition Management</a>
                        
                        <div class="compass-icon">
                            <img src="/img/upload/hwcg_compass_1.webp" width="120" height="120" alt="Compass" />
                        </div>
                    </div>
                </section>

                <div class="latest-resources">
                    <div class="green-panel st-flex ">
                        <h3>Latest Resources:</h3>
                        <div class="selector-cont">
                            <select id="catSelector" class="cat-selector bg-color">
                                <option value="/blog/">Filter by Category</option>
                                <option class="category" value="in-home-senior-safety">In-Home Senior Safety</option>
                                <option class="category" value="support-for-caregivers">Support for Family Caregivers</option>
                            </select>
                            <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                            </svg>
                        </div>
                    </div>
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    
                   {% set ns = namespace(categoryname='') %}
                    {% if post.categories %}
                      {% for category in post.categories %}
                        {% if category.name != "Blogs" and category.name != "Resources" and ns.categoryname == '' %}
                          {% set ns.categoryname = category.name|slugify %}
                        {% endif %}
                      {% endfor %}
                    {% endif %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}" data-cat="{{ ns.categoryname }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
                <script>
        document.addEventListener('DOMContentLoaded', function() {
          const selector = document.getElementById('catSelector');
          const posts = document.querySelectorAll('.article-body');
        
          selector.addEventListener('change', function() {
            const selected = this.value;
        
            posts.forEach(post => {
              const cat = post.getAttribute('data-cat');
              // Show all if default option, or only matching category
              if (selected === '/blog/' || selected === '' || selected === 'Filter by Category') {
                post.style.display = '';
              } else if (cat === selected) {
                post.style.display = '';
              } else {
                post.style.display = 'none';
              }
            });
          });
        });
        </script>
            </div>
        {% else %}
            <!--Category Page-->    
            <div class="resources-body">
                <div class="latest-resources">
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
            </div>
        {% endif %}
    </div>
    <!--end Resources Blog-->
    
{% endif %}
// Simple & Reliable Collapsible Filter Hierarchy
(function() {
  // Modern CSS styles
  const styles = `
    <style>
      .filter-parent-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 12px;
      }
      
      .filter-content-left {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
      }
      
      .filter-content-left input[type="checkbox"] {
        flex-shrink: 0;
      }
      
      .filter-text-wrapper {
        flex: 1;
        min-width: 0;
      }
      
      .collapse-toggle {
        flex-shrink: 0;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-radius: 6px;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        background: rgba(0, 0, 0, 0.04);
        margin-left: 8px;
        user-select: none;
      }
      
      .collapse-toggle:hover {
        background: rgba(0, 0, 0, 0.08);
        transform: scale(1.05);
      }
      
      .collapse-toggle:active {
        transform: scale(0.95);
      }
      
      .collapse-toggle svg {
        width: 14px;
        height: 14px;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        color: #666;
      }
      
      .collapse-toggle:hover svg {
        color: #000;
      }
      
      .collapse-toggle.expanded svg {
        transform: rotate(90deg);
      }
      
      .has-children > label {
        width: 100%;
      }
      
      /* Simple hide/show with smooth transition */
      .child-item {
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }
      
      .child-item:not(.collapsed) {
        max-height: 500px;
        opacity: 1;
      }
      
      /* Use display none for collapsed - cleanest solution */
      .child-item.collapsed {
        display: none !important;
      }
      
      /* Smooth transition for expanding */
      @keyframes expandChild {
        from {
          max-height: 0;
          opacity: 0;
        }
        to {
          max-height: 500px;
          opacity: 1;
        }
      }
      
      .child-item:not(.collapsed) {
        animation: expandChild 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }
    </style>
  `;
  
  // Inject styles once
  if (!document.getElementById('filter-collapse-styles')) {
    const styleElement = document.createElement('div');
    styleElement.id = 'filter-collapse-styles';
    styleElement.innerHTML = styles;
    document.head.appendChild(styleElement);
  }
  
  // Modern chevron SVG icon
  const chevronIcon = `
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
      <polyline points="9 18 15 12 9 6"></polyline>
    </svg>
  `;
  
  function initializeFilters() {
    const filterLists = document.querySelectorAll('.brxe-filter-checkbox');
    
    filterLists.forEach(list => {
      const items = Array.from(list.querySelectorAll('li'));
      
      items.forEach((item, index) => {
        const depth = parseInt(item.getAttribute('data-depth'));
        
        // Process parent items (depth-0)
        if (depth === 0) {
          const nextItem = items[index + 1];
          const hasChildren = nextItem && parseInt(nextItem.getAttribute('data-depth')) === 1;
          
          if (hasChildren && !item.querySelector('.collapse-toggle')) {
            const label = item.querySelector('label');
            const checkbox = label.querySelector('input[type="checkbox"]');
            const optionText = label.querySelector('.brx-option-text');
            
            // Check if wrapper already exists
            if (!label.querySelector('.filter-parent-wrapper')) {
              // Store original checkbox reference
              const originalCheckbox = checkbox;
              
              // Create new structure
              const wrapper = document.createElement('div');
              wrapper.className = 'filter-parent-wrapper';
              
              const leftContent = document.createElement('div');
              leftContent.className = 'filter-content-left';
              
              const textWrapper = document.createElement('div');
              textWrapper.className = 'filter-text-wrapper';
              
              // Build structure - keep original checkbox
              leftContent.appendChild(originalCheckbox);
              textWrapper.appendChild(optionText.cloneNode(true));
              leftContent.appendChild(textWrapper);
              
              wrapper.appendChild(leftContent);
              
              // Create toggle button
              const toggle = document.createElement('div');
              toggle.className = 'collapse-toggle';
              toggle.innerHTML = chevronIcon;
              toggle.setAttribute('role', 'button');
              toggle.setAttribute('aria-label', 'Toggle child items');
              
              wrapper.appendChild(toggle);
              
              // Clear label (except checkbox which we already moved)
              label.innerHTML = '';
              label.appendChild(wrapper);
              
              // Add click handler only to toggle
              toggle.addEventListener('click', (e) => {
                e.preventDefault();
                e.stopPropagation();
                toggleChildren(item, items, index, toggle);
              });
              
              // Mark parent
              item.classList.add('has-children');
              
              // Check if should be expanded by default (active state)
              const hasActiveChild = items.slice(index + 1).some(childItem => {
                const childDepth = parseInt(childItem.getAttribute('data-depth'));
                if (childDepth === 0) return false;
                return childItem.classList.contains('brx-option-active');
              });
              
              if (hasActiveChild || item.classList.contains('brx-option-active')) {
                item.setAttribute('data-collapsed', 'false');
                toggle.classList.add('expanded');
              } else {
                item.setAttribute('data-collapsed', 'true');
              }
            }
          }
        }
        
        // Process child items (depth-1)
        if (depth === 1) {
          if (!item.classList.contains('child-item')) {
            item.classList.add('child-item');
            
            // Find parent to check its state
            let parentItem = null;
            for (let j = index - 1; j >= 0; j--) {
              if (parseInt(items[j].getAttribute('data-depth')) === 0) {
                parentItem = items[j];
                break;
              }
            }
            
            // Check if any sibling is active
            let hasActiveSibling = false;
            if (parentItem) {
              const parentIndex = items.indexOf(parentItem);
              for (let j = parentIndex + 1; j < items.length; j++) {
                const siblingDepth = parseInt(items[j].getAttribute('data-depth'));
                if (siblingDepth === 0) break;
                if (items[j].classList.contains('brx-option-active')) {
                  hasActiveSibling = true;
                  break;
                }
              }
            }
            
            const isActive = item.classList.contains('brx-option-active');
            const isParentActive = parentItem && parentItem.classList.contains('brx-option-active');
            const parentCollapsed = parentItem && parentItem.getAttribute('data-collapsed') === 'true';
            
            // Show if active, parent active, has active sibling, or parent not collapsed
            if (isActive || isParentActive || hasActiveSibling || !parentCollapsed) {
              item.classList.remove('collapsed');
            } else {
              item.classList.add('collapsed');
            }
          }
        }
      });
    });
  }
  
  function toggleChildren(parentItem, allItems, parentIndex, toggle) {
    const isCollapsed = parentItem.getAttribute('data-collapsed') === 'true';
    
    // Find all children of this parent
    const children = [];
    for (let i = parentIndex + 1; i < allItems.length; i++) {
      const item = allItems[i];
      const depth = parseInt(item.getAttribute('data-depth'));
      if (depth === 0) break;
      if (depth === 1) children.push(item);
    }
    
    // Check if parent or any child has active class
    const hasActiveChild = children.some(child => 
      child.classList.contains('brx-option-active')
    );
    const isParentActive = parentItem.classList.contains('brx-option-active');
    
    // Don't allow collapsing if parent or children are active
    if ((hasActiveChild || isParentActive) && !isCollapsed) {
      return;
    }
    
    // Toggle state
    if (isCollapsed) {
      toggle.classList.add('expanded');
      parentItem.setAttribute('data-collapsed', 'false');
      
      // Show all children with stagger
      children.forEach((item, idx) => {
        setTimeout(() => {
          item.classList.remove('collapsed');
        }, idx * 30);
      });
    } else {
      toggle.classList.remove('expanded');
      parentItem.setAttribute('data-collapsed', 'true');
      
      // Hide all children (except active ones)
      children.forEach((item, idx) => {
        if (!item.classList.contains('brx-option-active')) {
          setTimeout(() => {
            item.classList.add('collapsed');
          }, idx * 30);
        }
      });
    }
  }
  
  // Initialize on page load
  initializeFilters();
  
  // Watch for DOM changes (when filters update)
  const observer = new MutationObserver((mutations) => {
    let shouldReinit = false;
    mutations.forEach((mutation) => {
      if (mutation.type === 'childList' || mutation.type === 'attributes') {
        shouldReinit = true;
      }
    });
    if (shouldReinit) {
      setTimeout(initializeFilters, 100);
    }
  });
  
  // Observe all filter lists
  document.querySelectorAll('.brxe-filter-checkbox').forEach(list => {
    observer.observe(list, {
      childList: true,
      subtree: true,
      attributes: true,
      attributeFilter: ['class']
    });
  });
  
  // Also observe for new filter lists being added
  const bodyObserver = new MutationObserver(() => {
    initializeFilters();
  });
  
  bodyObserver.observe(document.body, {
    childList: true,
    subtree: true
  });
  
})();
{% set ab_brands = get_items('authority-brands-family') %}
<section class="ab-brand-carousel lazyload" data-lazyload-scripts>
    <script type="text/lazyload" defer>
        window.cachedScript('{{ jquery_asset }}', function () {
        window.cachedScript('https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js', function() {
          
        $('.brand-carousel').slick({
            infinite: false,
            slidesToShow: 5,
            slidesToScroll: 1,
            autoplay: false,
            dots: true,
            dotsClass: 'custom_paging',
            customPaging: function (slider, i) {
                //FYI just have a look at the object to find available information
                //press f12 to access the console
                //you could also debug or look in the source
                console.log(slider);
                return (i + 1) + '/' + '4';
            },
            prevArrow: '<button type="button" class="slick-prev" aria-label="Previous"><svg viewBox="0 0 24 24" data-use="/cms/svg/site/b2y9pjm25f9.24.2310051433020.svg#arrow_left"><path d="M6.407 5.538l1.339 1.351l-4.111 4.146H24v1.928H3.633l4.112 4.147l-1.339 1.351l-6.406-6.461Z"></path></svg></button>',
          nextArrow: '<button type="button" class="slick-next" aria-label="Next"><svg viewBox="0 0 24 24" data-use="/cms/svg/site/b2y9pjm25f9.24.2310051433020.svg#arrow_right"><path d="M17.594 5.539L16.255 6.889l4.111 4.146H0v1.928H20.368L16.255 17.111L17.594 18.462l6.406-6.462Z"></path></svg></button>',
            rows: 0,
              responsive: [
                {
                  breakpoint: 1280,
                  settings: {
                    slidesToShow: 4
                  }
                },
                {
                  breakpoint: 768,
                  settings: {
                    slidesToShow: 3,
                    customPaging: function (slider, i) {
                        //FYI just have a look at the object to find available information
                        //press f12 to access the console
                        //you could also debug or look in the source
                        console.log(slider);
                        return (i + 1) + '/' + '6';
                    }
                  }
                },
                {
                  breakpoint: 500,
                  settings: {
                    slidesToShow: 2,
                    customPaging: function (slider, i) {
                        //FYI just have a look at the object to find available information
                        //press f12 to access the console
                        //you could also debug or look in the source
                        console.log(slider);
                        return (i + 1) + '/' + '8';
                    }
                  }
                }
              ]
            });
            
        });
        // End Cache Script 
        });
    </script>
    <div class="st-container-md">
        
        <div class="st-section-head st-center">
            <h2>Part of the Authority Brands Family</h2>
            <p>Today, Authority Brands® owns Homewatch CareGivers®, which is headed up by President, Todd Houghton. The mission is to provide superior quality home care services, a compelling employment opportunity and to be a trusted partner within the healthcare continuum.</p>
        </div>
        <div class="brand-carousel slick-slider">
            
            {% for brand in ab_brands|sort(attribute='name') %}
            
            {% if brand.logo and brand.link %}
            <div class="lp-ab-carousel-item">
                <a href="{{ brand.link }}" target="_blank" class="lp-ab-carousel-item-inner">
                <img data-src="{{ brand.logo }}" class="lazyload" height="100" width="120"  alt="{{ brand.brand_name }} logo">
                </a>
            </div>
            {% endif %}
    
            {% endfor %}
        </div>
    </div>
    
    
</section>
public boolean canConstruct(String ransomNote, String magazine) {
    if (ransomNote.length() > magazine.length()) return false;

    int[] count = new int[26];

    for (char c : magazine.toCharArray()) {
        count[c - 'a']++;
    }

    for (char c : ransomNote.toCharArray()) {
        if (--count[c - 'a'] < 0) {
            return false;
        }
    }

    return true;
}
The Sports Betting App Development focuses on building dynamic, secure platforms that connect users to live sports events instantly. By integrating advanced analytics, seamless payment options, and personalized experiences, these apps offer reliable, real-time betting solutions that engage users while ensuring compliance and scalability.

Visit more: business@kryptobees.com
The Sports Betting App Development focuses on building dynamic, secure platforms that connect users to live sports events instantly. By integrating advanced analytics, seamless payment options, and personalized experiences, these apps offer reliable, real-time betting solutions that engage users while ensuring compliance and scalability.

Visit more: business@kryptobees.com
_PurchTable.(fieldname2id(tablename2id("Purchtable"),("nwPeriodId")))
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":sunshine: :x-connect: Boost Days: What's on this week :x-connect: :sunshine:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Good morning Brisbane and Hello November :sunshine: \n\n Please see below for what's on this week! :yay: "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-3: Monday,3rd November",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Industry Beans*.\n\n :Lunch: :flag-mx: Yummy Mexican from *Zambero* provided in the kitchen from *12pm* in the kitchen. Menu is in the :thread:\n\n:massage:*Wellbeing*: Pilates at *SP Brisbane City* is bookable every Monday!"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-5: Wednesday, 5th November",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Industry Beans*. \n\n:lunch: *Morning Tea*:from *9am* in the kitchen!"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y19uY2M4cDN1NDRsdTdhczE0MDhvYjZhNnRjb0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Brisbane Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":x-connect: :star: Boost Days – What’s on this week in Melbourne!:star: :x-connect:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Hey Melbourne,\n\n Happy November :heart:\n\n*See below for what’s in store:* 👇"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-5: *Wednesday, 5th November*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café* – Café-style beverages and sweet treats.\n:matcha: *Barista Special* – Iced Matcha Latte\n:flag-gr: *French Lunch* - *Lunch* from *12.00pm* in the *Wominjeka Breakout Space on Level 3*. Menu in the :thread: "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-6: *Thursday,6th November*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café* – Café-style beverages and sweet treats.\n  :Breakfast: Join us at 8.30am -10.30am for Breakfast in the Wominjeka Breakout Space on Level 3."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*What else :heart:*\n\nStay tuned to this channel, and make sure you’re subscribed to the <https://calendar.google.com/calendar/u/0/r?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t /|*Melbourne Social Calendar*> for all upcoming events."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " \n\nLove,\nWX :party-wx:"
			}
		}
	]
}
star

Wed Nov 05 2025 12:02:10 GMT+0000 (Coordinated Universal Time) https://www.kryptobees.com/tap-to-earn-game-development-company

@Marcochatt01

star

Tue Nov 04 2025 15:20:44 GMT+0000 (Coordinated Universal Time) https://www.appmaisters.com/mobile-application-development/

@jackolier ##mobileappdevelopment ##applicationdevelopmentcompany

star

Tue Nov 04 2025 12:03:48 GMT+0000 (Coordinated Universal Time) https://appticz.com/hybrid-cryptocurrency-exchange-development

@davidscott

star

Tue Nov 04 2025 11:54:33 GMT+0000 (Coordinated Universal Time)

@usman13

star

Tue Nov 04 2025 10:11:00 GMT+0000 (Coordinated Universal Time) https://www.joviindia.com/collections/indian-wedding-wear-guest-dresses-for-women

@auraphia123 ##indianweddingdress #weddingguestdress ##indianfashion ##weddingoutfit

star

Mon Nov 03 2025 04:36:25 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Fri Oct 31 2025 08:29:03 GMT+0000 (Coordinated Universal Time) https://www.kryptobees.com/tap-to-earn-game-development-company

@Marcochatt01

star

Fri Oct 31 2025 07:59:51 GMT+0000 (Coordinated Universal Time) https://www.katomaran.com/products-overview/vsaas

@katomaran #vsaas

star

Fri Oct 31 2025 07:57:17 GMT+0000 (Coordinated Universal Time) https://www.katomaran.com/products-overview/intelligent-traffic-management-system

@katomaran #itms #traffic #management #system

star

Thu Oct 30 2025 15:53:00 GMT+0000 (Coordinated Universal Time)

@mehran

star

Thu Oct 30 2025 15:52:56 GMT+0000 (Coordinated Universal Time)

@mehran

star

Thu Oct 30 2025 15:51:09 GMT+0000 (Coordinated Universal Time)

@mehran

star

Thu Oct 30 2025 04:14:26 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Thu Oct 30 2025 02:58:53 GMT+0000 (Coordinated Universal Time)

@vplab

star

Wed Oct 29 2025 20:15:16 GMT+0000 (Coordinated Universal Time)

@jrg_300i #yii2

star

Wed Oct 29 2025 18:51:14 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:50:02 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:48:17 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:46:24 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:44:37 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:43:38 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:41:29 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 18:25:51 GMT+0000 (Coordinated Universal Time)

@final

star

Wed Oct 29 2025 17:31:04 GMT+0000 (Coordinated Universal Time)

@vplab

star

Wed Oct 29 2025 17:17:26 GMT+0000 (Coordinated Universal Time)

@vplab

star

Wed Oct 29 2025 17:16:54 GMT+0000 (Coordinated Universal Time)

@vplab

star

Wed Oct 29 2025 17:16:13 GMT+0000 (Coordinated Universal Time)

@vplab

star

Wed Oct 29 2025 17:15:26 GMT+0000 (Coordinated Universal Time)

@vplab

star

Wed Oct 29 2025 14:32:00 GMT+0000 (Coordinated Universal Time)

@usman13

star

Wed Oct 29 2025 11:21:16 GMT+0000 (Coordinated Universal Time) https://www.addustechnologies.com/blog/crypto-exchange-clone-script

@brucebanner #crypto

star

Wed Oct 29 2025 10:10:08 GMT+0000 (Coordinated Universal Time) https://autolines.com.au/blogs/autolines-blogs/upgrading-to-led-headlights-cost-benefit-analysis

@stevenross #vehiclediagnostic scanner #cardiagnostic scanner #automotivediagnostic tools

star

Wed Oct 29 2025 02:31:20 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Tue Oct 28 2025 20:42:16 GMT+0000 (Coordinated Universal Time)

@EdenPark

star

Tue Oct 28 2025 20:09:42 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Tue Oct 28 2025 20:05:29 GMT+0000 (Coordinated Universal Time)

@EdenPark

star

Tue Oct 28 2025 14:17:23 GMT+0000 (Coordinated Universal Time)

@usman13

star

Tue Oct 28 2025 12:21:15 GMT+0000 (Coordinated Universal Time) https://www.coinsclone.com/opensea-alternatives/

@LilianAnderson #openseaalternatives #alternativestoopensea #openseacompetitors #nftmarketplacealternatives #bestnftplatforms

star

Tue Oct 28 2025 07:20:27 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Tue Oct 28 2025 05:28:42 GMT+0000 (Coordinated Universal Time) https://johnasgharmd.com/endoscopic-spine/

@oscarwillard

star

Tue Oct 28 2025 01:01:40 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Mon Oct 27 2025 22:01:31 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Mon Oct 27 2025 20:36:29 GMT+0000 (Coordinated Universal Time)

@Y@sir #bricks #checkbox-filter

star

Mon Oct 27 2025 19:56:28 GMT+0000 (Coordinated Universal Time)

@kimicodes

star

Mon Oct 27 2025 16:37:40 GMT+0000 (Coordinated Universal Time)

@Inescn

star

Mon Oct 27 2025 11:19:27 GMT+0000 (Coordinated Universal Time) https://www.kryptobees.com/sports-betting-app-development

@Braydenlucas

star

Mon Oct 27 2025 11:19:03 GMT+0000 (Coordinated Universal Time) https://www.kryptobees.com/sports-betting-app-development

@Braydenlucas

star

Mon Oct 27 2025 07:56:46 GMT+0000 (Coordinated Universal Time)

@MinaTimo

star

Mon Oct 27 2025 07:31:13 GMT+0000 (Coordinated Universal Time) https://southbeachhomes.com.au/double-storey-homes-melbourne/

@southbeachhomes

star

Mon Oct 27 2025 03:56:50 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Mon Oct 27 2025 03:52:36 GMT+0000 (Coordinated Universal Time)

@FOHWellington

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension