Snippets Collections
using System;
using System.Linq;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        var maxChar = str.GroupBy(c => c)
                         .OrderByDescending(g => g.Count())
                         .First().Key;
        Console.WriteLine("Max Occurring: " + maxChar);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter number: ");
        int n = int.Parse(Console.ReadLine()), count = 0;
        while(n != 0) {
            int d = n % 10;
            if(d % 2 == 1) count++;
            n /= 10;
        }
        Console.WriteLine("Odd digits: " + count);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        Console.Write("Enter start and length: ");
        int start = int.Parse(Console.ReadLine());
        int length = int.Parse(Console.ReadLine());
        string sub = str.Substring(start, length);
        Console.WriteLine("Substring: " + sub);
    }
}
using System;
using System.Text;
class Program {
    static void Main() {
        string str = "hello";
        Console.WriteLine(str.ToUpper());
        Console.WriteLine(str.Replace('l','x'));
        StringBuilder sb = new StringBuilder(str);
        sb.Append(" world");
        Console.WriteLine(sb.ToString());
        sb.Remove(0,2);
        Console.WriteLine(sb);
        sb.Insert(0, "hi ");
        Console.WriteLine(sb);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        int count = str.Count(c => "aeiouAEIOU".Contains(c));
        Console.WriteLine("Vowels: " + count);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter a number: ");
        int n = int.Parse(Console.ReadLine()), sum = 0;
        while(n > 0) {
            sum += n % 10;
            n /= 10;
        }
        Console.WriteLine("Sum: " + sum);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter a number: ");
        int n = int.Parse(Console.ReadLine());
        int rev = 0;
        while(n > 0) {
            rev = rev * 10 + n % 10;
            n /= 10;
        }
        Console.WriteLine("Reversed: " + rev);
    }
}
using System;
using System.Linq;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        string rev = new string(str.Reverse().ToArray());
        Console.WriteLine(str == rev ? "Palindrome" : "Not palindrome");
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter terms: ");
        int n = int.Parse(Console.ReadLine());
        int a=0, b=1, c;
        for(int i = 0; i < n; i++) {
            Console.Write(a + " ");
            c = a + b;
            a = b;
            b = c;
        }
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter a number: ");
        int n = int.Parse(Console.ReadLine());
        bool isPrime = n > 1;
        for(int i = 2; i <= Math.Sqrt(n); i++) {
            if(n % i == 0) {
                isPrime = false; break;
            }
        }
        Console.WriteLine(isPrime ? "Prime" : "Not prime");
    }
}
Step 1: Create the ASP.NET Web Application

Open Visual Studio → Create New Project → ASP.NET Web Application (.NET Framework).

Name it: EmployeeManagementSystem.

Select Web Forms → Click Create.

Step 2: Create the Master Page

Add → New Item → Master Page → Name: Site1.Master

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

<!DOCTYPE html>
<html lang="en">
<head runat="server">
    <title>Employee Management System</title>
    <asp:ContentPlaceHolder ID="head" runat="server"></asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <!-- Header -->
        <div class="header">
            <h1>Employee Management System</h1>
            <nav>
                <a href="Default.aspx">Home</a> |
                <a href="AddEmployee.aspx">Add Employee</a> |
                <a href="ViewEmployee.aspx">View Employee</a>
            </nav>
        </div>

        <!-- Main Content -->
        <asp:ContentPlaceHolder ID="MainContent" runat="server"></asp:ContentPlaceHolder>

        <!-- Footer -->
        <div class="footer">
            <p>&copy; 2025 Employee Management System</p>
        </div>
    </form>
</body>
</html>

Step 3: Create the Home Page

Add → Web Form using Master Page → Name: Default.aspx → Select Site1.Master

<%@ Page Title="Home" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="employee.Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Welcome to the Home Page</h2>
    <p>Use the menu above to navigate through the Employee Management System.</p>
</asp:Content>

Step 4: Create Add Employee Page

Add → Web Form using Master Page → Name: AddEmployee.aspx → Select Site1.Master

AddEmployee.aspx
<%@ Page Title="Add Employee" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="AddEmployee.aspx.cs" Inherits="employee.AddEmployee" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Add Employee</h2>

    <asp:TextBox ID="empName" runat="server"></asp:TextBox><br /><br />
    <asp:TextBox ID="position" runat="server"></asp:TextBox><br /><br />
    <asp:TextBox ID="sal" runat="server"></asp:TextBox><br /><br />

    <asp:Button ID="btn" runat="server" Text="Add Employee" OnClick="btn_AddClick" /><br /><br />

    <asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</asp:Content>

AddEmployee.aspx.cs
using System;
using System.Collections.Generic;

namespace employee
{
    public partial class AddEmployee : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                empName.Attributes["placeholder"] = "Enter employee name";
                position.Attributes["placeholder"] = "Enter employee position";
                sal.Attributes["placeholder"] = "Enter employee salary";
            }
        }

        protected void btn_AddClick(object sender, EventArgs e)
        {
            string name = empName.Text;
            string pos = position.Text;
            string salary = sal.Text;

            List<Employee> employees = Session["Employees"] as List<Employee> ?? new List<Employee>();
            employees.Add(new Employee { Name = name, Position = pos, Salary = salary });
            Session["Employees"] = employees;

            lblMessage.Text = "Employee added successfully!";

            empName.Text = position.Text = sal.Text = "";
        }
    }

    [Serializable]
    public class Employee
    {
        public string Name { get; set; }
        public string Position { get; set; }
        public string Salary { get; set; }
    }
}

Step 5: Create View Employee Page

Add → Web Form using Master Page → Name: ViewEmployee.aspx → Select Site1.Master

ViewEmployee.aspx
<%@ Page Title="View Employees" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="ViewEmployee.aspx.cs" Inherits="employee.ViewEmployee" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h2>All Employees</h2>
    <asp:GridView ID="gv" runat="server" AutoGenerateColumns="true"></asp:GridView>
</asp:Content>

ViewEmployee.aspx.cs
using System;
using System.Collections.Generic;

namespace employee
{
    public partial class ViewEmployee : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<Employee> employees = Session["Employees"] as List<Employee> ?? new List<Employee>();
                gv.DataSource = employees;
                gv.DataBind();
            }
        }
    }
}
WebForm1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="userreg.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>User Registration</title>
    <style>
        .error { color: red; }
        .form-field { margin-bottom: 10px; }
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <h2>Registration Form</h2>

            <div class="form-field">
                Name: 
                <asp:TextBox ID="txtName" runat="server" AutoPostBack="true" OnTextChanged="txtName_TextChanged"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvName" runat="server" 
                    ControlToValidate="txtName" ErrorMessage="Name is required" CssClass="error"></asp:RequiredFieldValidator>
            </div>

            <div class="form-field">
                Age:
                <asp:TextBox ID="txtAge" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvAge" runat="server"
                    ControlToValidate="txtAge" ErrorMessage="Age is required" CssClass="error"></asp:RequiredFieldValidator>
                <asp:RangeValidator ID="rvAge" runat="server" 
                    ControlToValidate="txtAge" MinimumValue="20" MaximumValue="30" Type="Integer" 
                    ErrorMessage="Age must be between 20 and 30" CssClass="error"></asp:RangeValidator>
            </div>

            <div class="form-field">
                Email ID:
                <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvEmail" runat="server"
                    ControlToValidate="txtEmail" ErrorMessage="Email is required" CssClass="error"></asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="revEmail" runat="server"
                    ControlToValidate="txtEmail"
                    ErrorMessage="Invalid Email"
                    ValidationExpression="^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
                    CssClass="error">
                </asp:RegularExpressionValidator>
            </div>

            <div class="form-field">
                User ID:
                <asp:TextBox ID="txtUserID" runat="server"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvUserID" runat="server"
                    ControlToValidate="txtUserID" ErrorMessage="UserID is required" CssClass="error"></asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="revUserID" runat="server"
                    ControlToValidate="txtUserID"
                    ErrorMessage="UserID must contain a capital letter and a digit, 7-20 chars"
                    ValidationExpression="^(?=.*[A-Z])(?=.*\d).{7,20}$"
                    CssClass="error">
                </asp:RegularExpressionValidator>
            </div>

            <div class="form-field">
                Password:
                <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
                <asp:RequiredFieldValidator ID="rfvPassword" runat="server"
                    ControlToValidate="txtPassword" ErrorMessage="Password is required" CssClass="error"></asp:RequiredFieldValidator>
                <asp:RegularExpressionValidator ID="revPassword" runat="server"
                    ControlToValidate="txtPassword"
                    ErrorMessage="Password must be 7-20 chars"
                    ValidationExpression="^.{7,20}$"
                    CssClass="error">
                </asp:RegularExpressionValidator>
            </div>

            <div class="form-field">
                <asp:Button ID="btnSubmit" runat="server" Text="Register" OnClick="btnSubmit_Click" />
            </div>

            <asp:Label ID="lblMessage" runat="server" ForeColor="Green"></asp:Label>

        </div>
    </form>
</body>
</html>




WebForm1.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace userreg
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
        }

        protected void txtName_TextChanged(object sender, EventArgs e)
        {

        }

        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                lblMessage.Text = "Registration Successful!";
                // Optional: Save data to database here
            }
        }
    }
}




Steps:

1. Choose ASP.NET Web Application (.NET Framework)
2. Choose empty and Check the Web Forms
3. Right click on solution explorer and add a new item web forms and edit the codes and paste the above 2 codes
4. make sure to right click on webform1.aspx and click set as start page
5. click run
Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            using (WebClient client = new WebClient())
            {
                string url = textBox1.Text;
                string filePath = @"C:\Users\Koyya\OneDrive\Desktop\example.txt";

                client.DownloadFile(url, filePath);

                MessageBox.Show("dome");


            }
        }
    }
}

========================



Steps

1. Create a new project using Windows Forms App (.NET Framework)
2.Add Controls to the Form using ToolBox

	TextBox → for entering URL (textBox1)

	Button → for DOWNLOAD (buttonDownload)

	Button → for UPLOAD (button1)

	Label → to show status (label1)


3. Double click on both the buttons and paste the above functions in those functions of respective buttons
Step - 1

=====================

Site1.Master

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

<!DOCTYPE html>
<html>
<head runat="server">
    <title>College Information</title>
    <link rel="stylesheet" href="style.css" />
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <!-- Header -->
        <header style="background-color:#f5f5f5; padding:20px; text-align:center;">
            <h1>CVR College of Engineering</h1>
        </header>

        <!-- Menu -->
        <asp:Menu ID="menu1" runat="server" Orientation="Horizontal">
            <Items>
                <asp:MenuItem NavigateUrl="~/Home.aspx" Text="HOME" Value="HOME" />
            </Items>
        </asp:Menu>

        <!-- College Image -->
        <div style="text-align:center; margin:20px;">
            <asp:Image ID="Image1" runat="server" ImageUrl="~/Images/cur.jpg" Width="50%" />
        </div>

        <!-- Content Area -->
        <div class="content-area" style="margin:20px;">
            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
        </div>

        <!-- Footer -->
        <footer style="background-color:#eee; text-align:center; padding:15px; font-size:12px;">
            © 2025 Student Management System. All rights reserved
        </footer>
    </form>
</body>
</html>


==================

WebForm1.aspx

<%@ Page Title="Home" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="StudentApplication.WebForm1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <h2>Welcome to CVR College of Engineering</h2>
    <p>This student management system helps in managing student records efficiently.</p>
</asp:Content>

===================


Steps:

1. Select ASP.NET Web Application(.NET Framework) with C#
2. Name it StudentApplication
3. Click Create and select empty and tick WebForms checkbox
4. Click Create
5. Right click on solution explorer and click add -> new item -> web forms master page -> add
6. Paste the above Site1.Master code in it
7. Right click on solution explorer and click add -> new item -> web forms with master page -> add -> site1.master -> ok
8. paste the above WebForm1.aspx code in it
9. Right click on WebForm1.aspx in solution explorer and click set as start page
10. Run the code


=====================

Note: If you set another name to your project, change it in the first line of Inherits attribute
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsAppFinal
{
    public partial class Form1 : Form
    {
        WebClient client = new WebClient();

        public Form1()
        {
            InitializeComponent();
        }

        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\\AKHILESH\\OneDrive\\Desktop\\download.txt";


                client.DownloadFile(url, savePath);
                label1.Text = "File downloaded to " + savePath;
            }
            catch (Exception ex)
            {
                label2.Text = "Error: " + ex.Message;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                string url = textBox2.Text; // Example: https://httpbin.org/post
                string filePath = "C:\\Users\\AKHILESH\\OneDrive\\Desktop\\dummy.txt";

                client.UploadFile(url, "POST", filePath);
                MessageBox.Show("File uploaded successfully!");


                label2.Text = "Upload completed";
            }
            catch (Exception ex)
            {
                label2.Text = "Error: " + ex.Message;
            }
        }
    }

}
 
        https://raw.githubusercontent.com/vinta/awesome-python/master/README.md
https://httpbin.org/post
using System;

namespace practice
{
    public delegate int MathOperation(int x, int y);

    public class DelegateExample
    {
        public static int Add(int x, int y)
        {
            return x + y;
        }

        public static void Main()
        {
            MathOperation d = Add;
            int res = d(2, 3);
            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.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.");
    }
}
//Step 1: Create the Private Assembly (Class Library)

//Open Visual Studio → Create a new project → select Class Library (.NET Framework).

//Name it: MyMathLibrary.

//Replace the default class code with:

using System;

namespace MyMathLibrary
{
    public class MathOperations
    {
        public int Add(int a, int b)
        {
            return a + b;
        }

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


//Build the project → This generates MyMathLibrary.dll in bin\Debug\net6.0\.

//Step 2: Create the Console Application

//Open Visual Studio → Create a new project → Console App.

//Name it: UseMyMathLibrary.

//Step 3: Add Reference via Dependencies

//In Solution Explorer, expand the console app project (UseMyMathLibrary).

//Right-click Dependencies → Add Project Reference -> Browse -> MyMathLibrary->bin->Debug->.dll

//Check MyMathLibrary → click OK


//Step 4: Use the Assembly in Your Console App
using System;
using MyMathLibrary;

class Program
{
    static void Main()
    {
        MathOperations math = new MathOperations();

        int sum = math.Add(10, 20);
        int product = math.Multiply(5, 4);

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

class Program
{
    static void Main()
    {
        Console.Write("Enter a number: ");
        int num = Convert.ToInt32(Console.ReadLine());

        int smallest = 9;

        while (num > 0)
        {
            int digit = num % 10;
            if (digit < smallest)
                smallest = digit;
            num /= 10;
        }

        Console.WriteLine("Smallest digit: " + smallest);
    }
}
using System;

class Program
{
    static void Main()
    {
        Console.Write("Enter a string: ");
        string str = Console.ReadLine().ToLower();

        int[] freq = new int[256]; 

        foreach (char ch in str)
        {
            if (ch != ' ')
                freq[ch]++;
        }

        int max = 0;
        char maxChar = ' ';

        for (int i = 0; i < 256; i++)
        {
            if (freq[i] > max)
            {
                max = freq[i];
                maxChar = (char)i;
            }
        }

        Console.WriteLine("Maximum occurring character: " + maxChar);
        Console.WriteLine("Occurrences: " + max);
    }
}
//Site1.Master
 <style>
     body {
         font-family: Arial, sans-serif;
         margin: 0;
         padding: 0;
     }

     header {
         background-color: #003366;
         color: white;
         padding: 15px;
         text-align: center;
         font-size: 24px;
     }

     nav {
         background-color: #005599;
         overflow: hidden;
     }

     nav a {
         float: left;
         display: block;
         color: white;
         text-align: center;
         padding: 14px 20px;
         text-decoration: none;
     }

     nav a:hover {
         background-color: #003366;
     }

     footer {
         background-color: #003366;
         color: white;
         text-align: center;
         padding: 10px;
         position: fixed;
         bottom: 0;
         width: 100%;
     }

     .content {
         padding: 20px;
         margin-bottom: 60px; /* space for footer */
     }
 </style>

//inside form tag
 <header>
     Welcome to ABC College of Engineering
 </header>

 <nav>
     <a href="Home.aspx">Home</a>
     <a href="Aboutus.aspx">About</a>
     
     <a href="Contactus.aspx">Contact</a>
 </nav>

 <div class="content">
     <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
     </asp:ContentPlaceHolder>
 </div>

 <footer>
     &copy; 2025 ABC College | All Rights Reserved
 </footer>
//Aboutus.apsx
    <h2>About Our College</h2>
<p>Founded in 1990, ABC College of Engineering is one of the premier institutions offering quality education.</p>
<p>Our mission is to produce skilled engineers and leaders capable of addressing global challenges.</p>
//similarly Contactus.aspx
using System;

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

        Console.Write("Enter the starting index: ");
        int start = Convert.ToInt32(Console.ReadLine());

        Console.Write("Enter the length of substring: ");
        int length = Convert.ToInt32(Console.ReadLine());

        string sub = str.Substring(start, length);

        Console.WriteLine("Extracted Substring: " + sub);
    }
}
using System;
using System.Text; // Required for StringBuilder

class Program
{
    static void Main()
    {
        // --- String Class Methods ---
        Console.WriteLine("=== String Class Methods ===");
        string str = "Hello World";

        Console.WriteLine("Original String: " + str);
        Console.WriteLine("To Upper Case: " + str.ToUpper());
        Console.WriteLine("To Lower Case: " + str.ToLower());
        Console.WriteLine("Substring (0,5): " + str.Substring(0, 5));
        Console.WriteLine("Replaced 'World' with 'C#': " + str.Replace("World", "C#"));
        Console.WriteLine("Contains 'Hello'? " + str.Contains("Hello"));
        Console.WriteLine("Length: " + str.Length);

        // --- StringBuilder Class Methods ---
        Console.WriteLine("\n=== StringBuilder Class Methods ===");
        StringBuilder sb = new StringBuilder("Hello");

        sb.Append(" World");
        Console.WriteLine("After Append: " + sb);

        sb.Insert(5, " C#");
        Console.WriteLine("After Insert: " + sb);

        sb.Replace("World", "Developers");
        Console.WriteLine("After Replace: " + sb);

        sb.Remove(5, 3);
        Console.WriteLine("After Remove: " + sb);

        sb.Clear();
        sb.Append("New String");
        Console.WriteLine("After Clear and Append: " + sb);
    }
}
using System;

class Program
{
    static void Main()
    {
        Console.Write("Enter a string: ");
        string str = Console.ReadLine().ToLower();

        int count = 0;

        foreach (char ch in str)
        {
            if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
            {
                count++;
            }
        }

        Console.WriteLine("Number of vowels: " + count);
    }
}
class Program
{
    static void Main()
    {
        Console.WriteLine("Enter a Number: ");
        int num = Convert.ToInt32(Console.ReadLine());

        int sum = 0;

        while (num > 0)
        {
            int digit = num % 10;
            sum += digit;
            num /= 10;
        }

        Console.WriteLine("Sum of digits: " + sum);

    }
}
class Program
{
    static void Main()
    {
        Console.WriteLine("Enter a Number: ");
        int num = Convert.ToInt32(Console.ReadLine());

        int reversed = 0;

        while (num > 0)
        {
            int digit = num % 10;
            reversed = reversed * 10 + digit;
            num /= 10;
        }

        Console.WriteLine("Reversed Num: " + reversed);

    }
}
using System;
class SmallestDigit
{
    static void Main()
    {
        Console.Write("Enter a number: ");
        int num = Convert.ToInt32(Console.ReadLine());
        int smallest = 9;

        while (num > 0)
        {
            int digit = num % 10;
            if (digit < smallest)
                smallest = digit;
            num /= 10;
        }

        Console.WriteLine("Smallest digit: " + smallest);
    }
}
using System;
class MaxOccurringChar
{
    static void Main()
    {
        Console.Write("Enter a string: ");
        string str = Console.ReadLine();
        int[] freq = new int[256];

        foreach (char c in str)
            freq[c]++;

        int max = 0;
        char result = ' ';

        foreach (char c in str)
        {
            if (freq[c] > max)
            {
                max = freq[c];
                result = c;
            }
        }

        Console.WriteLine($"Maximum occurring character: {result}");
    }
}
class Program
{
    static void Main()
    {
        Console.WriteLine("Enter a String: ");
        string str = Console.ReadLine();

        string reversed = "";
        
        for(int i = str.Length - 1; i >= 0; i--)
        {
            reversed += str[i];
        }

        Boolean equal = true;

        for(int i = 0; i < str.Length; i++)
        {
            if (!(str[i] == reversed[i]))
            {
                equal = false; break;
            }
        }

        Console.WriteLine(equal ? "String is Palindrome" : "String is not a Palindrome");

    }
}
using System;
class CountOddDigits
{
    static void Main()
    {
        Console.Write("Enter a number: ");
        int num = Convert.ToInt32(Console.ReadLine());
        int count = 0;

        while (num > 0)
        {
            int digit = num % 10;
            if (digit % 2 != 0)
                count++;
            num /= 10;
        }

        Console.WriteLine("Count of odd digits: " + count);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        Console.Write("Enter start and length: ");
        int start = int.Parse(Console.ReadLine());
        int length = int.Parse(Console.ReadLine());
        string sub = str.Substring(start, length);
        Console.WriteLine("Substring: " + sub);
    }
}
using System;
using System.Text;
class StringManipulation
{
    static void Main()
    {
        string s = "Hello";
        Console.WriteLine("Original String: " + s);
        s = s.ToUpper();
        Console.WriteLine("Uppercase: " + s);
        s = s.Replace("HELLO", "WORLD");
        Console.WriteLine("Replaced: " + s);

        // StringBuilder
        StringBuilder sb = new StringBuilder("Welcome");
        sb.Append(" to C#");
        Console.WriteLine("StringBuilder Append: " + sb);
        sb.Insert(0, "Hi! ");
        Console.WriteLine("After Insert: " + sb);
        sb.Replace("C#", "Programming");
        Console.WriteLine("After Replace: " + sb);
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        int count = str.Count(c => "aeiouAEIOU".Contains(c));
        Console.WriteLine("Vowels: " + count);
    }
}
using System;
class SumOfDigits
{
    static void Main()
    {
        Console.Write("Enter a number: ");
        int num = Convert.ToInt32(Console.ReadLine());
        int sum = 0;

        while (num > 0)
        {
            sum += num % 10;
            num /= 10;
        }

        Console.WriteLine("Sum of digits: " + sum);
    }
}
using System;
class ReverseNumber
{
    static void Main()
    {
        Console.Write("Enter a number: ");
        int num = Convert.ToInt32(Console.ReadLine());
        int rev = 0;

        while (num > 0)
        {
            rev = rev * 10 + num % 10;
            num = num / 10;
        }

        Console.WriteLine("Reversed Number: " + rev);
    }
}
using System;
using System.Linq;
class Program {
    static void Main() {
        Console.Write("Enter string: ");
        string str = Console.ReadLine();
        string rev = new string(str.Reverse().ToArray());
        Console.WriteLine(str == rev ? "Palindrome" : "Not palindrome");
    }
}

or 

using System;
class Palindrome
{
    static void Main()
    {
        Console.Write("Enter a string: ");
        string str = Console.ReadLine();
        string rev = "";

        for (int i = str.Length - 1; i >= 0; i--)
            rev += str[i];

        if (str == rev)
            Console.WriteLine("Palindrome");
        else
            Console.WriteLine("Not Palindrome");
    }
}

class Program
{
    static void Main()
    {
        Console.WriteLine("Enter a number: ");
        int N = Convert.ToInt32(Console.ReadLine());

        int first = 0;
        int second = 1;

        Console.WriteLine("Fibonacci Series");

        for(int i = 1; i <= N; i++)
        {
            Console.Write(first + " ");
            int next = first + second;
            first = second;
            second = next;
        }

    }
}
using System;
class Fibonacci
{
    static void Main()
    {
        Console.Write("Enter the number of terms: ");
        int n = Convert.ToInt32(Console.ReadLine());
        int a = 0, b = 1, c;

        Console.Write("Fibonacci Series: ");
        for (int i = 1; i <= n; i++)
        {
            Console.Write(a + " ");
            c = a + b;
            a = b;
            b = c;
        }
    }
}
using System;
class Program {
    static void Main() {
        Console.Write("Enter a number: ");
        int n = int.Parse(Console.ReadLine());
        bool isPrime = n > 1;
        for(int i = 2; i <= Math.Sqrt(n); i++) {
            if(n % i == 0) {
                isPrime = false; break;
            }
        }
        Console.WriteLine(isPrime ? "Prime" : "Not prime");
    }
}
class Program
{
    static void Main()
    {
        Console.WriteLine("Enter a number: ");
        int num = Convert.ToInt32(Console.ReadLine());
        if (IsPrime(num))
        {
            Console.WriteLine("Prime Number");
        }
        else
        {
            Console.WriteLine("Not a Prime Number");
        }
    }

    static Boolean IsPrime(int num)
    {
        if (num == 1 || num == 0) return false;
        int c = 0;
        for(int i = 1; i <= num; i++)
        {
            if(num%i == 0)
            {
                c++;
            }
        }

        return c == 2;
    }
}
using System;

// Base class
class Employee
{
    public string Name { get; set; }
    public int EmployeeID { get; set; }
    public double Salary { get; set; }

    public Employee(string name, int id)
    {
        Name = name;
        EmployeeID = id;
    }

    // Virtual method to be overridden in derived classes
    public virtual void CalculateSalary()
    {
        Salary = 0;
    }

    public void Display()
    {
        Console.WriteLine("Employee Name: " + Name);
        Console.WriteLine("Employee ID: " + EmployeeID);
        Console.WriteLine("Salary: " + Salary);
        Console.WriteLine("-----------------------------");
    }
}

// Derived class: FullTimeEmployee
class FullTimeEmployee : Employee
{
    public double BasicSalary { get; set; }
    public int NumberOfDays { get; set; }
    public double HRA { get; set; }
    public double DA { get; set; }

    public FullTimeEmployee(string name, int id, double basic, int days, double hra, double da)
        : base(name, id)
    {
        BasicSalary = basic;
        NumberOfDays = days;
        HRA = hra;
        DA = da;
    }

    public override void CalculateSalary()
    {
        Salary = (BasicSalary * NumberOfDays) + HRA + DA;
    }
}

// Derived class: PartTimeEmployee
class PartTimeEmployee : Employee
{
    public double DailyWages { get; set; }
    public int NumberOfDays { get; set; }

    public PartTimeEmployee(string name, int id, double wages, int days)
        : base(name, id)
    {
        DailyWages = wages;
        NumberOfDays = days;
    }

    public override void CalculateSalary()
    {
        Salary = DailyWages * NumberOfDays;
    }
}

// Main Program
class Program
{
    static void Main()
    {
        // Create Full-Time Employee
        FullTimeEmployee fte = new FullTimeEmployee("Alice", 101, 1000, 22, 500, 300);
        fte.CalculateSalary();
        fte.Display();

        // Create Part-Time Employee
        PartTimeEmployee pte = new PartTimeEmployee("Bob", 102, 500, 15);
        pte.CalculateSalary();
        pte.Display();

        Console.ReadLine();
    }
}
using System;

// Step 1: Base interface
interface IShape
{
    void Draw();
}

// Step 2: Derived interface inherits from IShape
interface IColorShape : IShape
{
    void FillColor();
}

// Step 3: Implement the derived interface explicitly
class Rectangle : IColorShape
{
    // Explicit implementation of Draw() from IShape
    void IShape.Draw()
    {
        Console.WriteLine("Drawing a Rectangle");
    }

    // Explicit implementation of FillColor() from IColorShape
    void IColorShape.FillColor()
    {
        Console.WriteLine("Filling Rectangle with Blue color");
    }
}

class Program
{
    static void Main()
    {
        // Create object of Rectangle
        Rectangle rect = new Rectangle();

        // To access explicit interface methods, we need to cast to interface
        IShape shape = rect;
        shape.Draw();  // Calls IShape.Draw()

        IColorShape colorShape = rect;
        colorShape.FillColor();  // Calls IColorShape.FillColor()

        Console.ReadLine();
    }
}

 public delegate void OperationOnDelegate(int x,int y);
 internal class Program
 {
     public static void Add(int x,int y)
     {
         Console.WriteLine($"Add:{x + y}");

     }

     public static void Sub(int x, int y)
     {
         Console.WriteLine($"Sub:{x - y}");


     }

     public static void Mul(int x, int y)
     {
         Console.WriteLine($"Sub:{x * y}");
     }




     static void Main(string[] args)
     {
         OperationOnDelegate op;
         op = Add;
         op(10, 20);
         op = Sub;
         op(10, 20);
         op = Mul;
         op(10, 20);
         op = Add;
         op += Sub;
         op += Mul;
         op(20, 10);
     }
 }
hbase shell
list
create 'employee_details', 'PersonalInfo', 'ProfessionalInfo'
put 'employee_details', 'emp1', 'PersonalInfo:name', 'John Doe'
put 'employee_details', 'emp1', 'PersonalInfo:age', '29'
put 'employee_details', 'emp1', 'PersonalInfo:gender', 'Male'
put 'employee_details', 'emp1', 'ProfessionalInfo:designation', 'Engineer'
put 'employee_details', 'emp1', 'ProfessionalInfo:salary', '50000'
put 'employee_details', 'emp1', 'ProfessionalInfo:department', 'R&D'

put 'employee_details', 'emp2', 'PersonalInfo:name', 'Alice Smith'
put 'employee_details', 'emp2', 'PersonalInfo:age', '32'
put 'employee_details', 'PersonalInfo:gender', 'Female'
put 'employee_details', 'emp2', 'ProfessionalInfo:designation', 'Manager'
put 'employee_details', 'emp2', 'ProfessionalInfo:salary', '75000'
put 'employee_details', 'emp2', 'ProfessionalInfo:department', 'HR'
scan 'employee_details'
scan 'employee_details', { FILTER => "SingleColumnValueFilter('PersonalInfo','name',=,'binary:John Doe')" }
put 'employee_details', 'emp1', 'ProfessionalInfo:salary', '60000'
get 'employee_details', 'emp1'
deleteall 'employee_details', 'emp1'
get 'employee_details', 'emp1'
exit
¡Excelente pregunta! Es fundamental entender cómo funciona el "mago detrás de la cortina". Te lo explico paso a paso:

El Flujo Completo del Formulario
1. Vista (Formulario) → Controlador
php
<?php
// Esto genera un formulario HTML que apunta al controlador actual
$form = ActiveForm::begin([
    'action' => ['libro/crear'], // ← ¡AQUÍ ESTÁ LA CLAVE!
    'method' => 'post'
]); 
?>
Esto genera HTML como:

html
<form action="/index.php?r=libro/crear" method="post">
    <input type="text" name="Libro[titulo]" value="">
    <input type="text" name="Libro[autor_id]" value="">
    <!-- ... otros campos -->
</form>
2. Controlador - Donde la Magia Ocurre
php
public function actionCrear()
{
    $model = new Libro();

    // ¡ESTA LÍNEA ES LA CLAVE!
    if ($model->load(Yii::$app->request->post()) && $model->validate()) {
        
        // Aquí se guarda en la base de datos
        if ($model->save()) {
            Yii::$app->session->setFlash('success', '¡Libro guardado!');
            return $this->redirect(['crear']);
        }
    }

    return $this->render('crear', ['model' => $model]);
}
Desglosemos el Proceso Mágico:
Paso 1: $model->load() - Recoge los Datos
php
// Esto hace automáticamente:
$postData = Yii::$app->request->post();
// $postData contiene: ['Libro' => ['titulo' => 'Mi libro', 'autor_id' => 1, ...]]

$model->titulo = $postData['Libro']['titulo'];
$model->autor_id = $postData['Libro']['autor_id'];
// ... y así con todos los campos
Paso 2: $model->validate() - Valida los Datos
php
// Usa las reglas que definiste en el modelo
public function rules()
{
    return [
        [['titulo', 'autor_id'], 'required'], // ← Se validan aquí
        [['titulo'], 'string', 'max' => 255],
    ];
}
Paso 3: $model->save() - Guarda en la BD
php
// Internamente hace:
public function save()
{
    if ($this->validate()) {
        // Genera y ejecuta el INSERT SQL automáticamente
        // INSERT INTO libros (titulo, autor_id, ...) VALUES ('Mi libro', 1, ...)
        return $this->insert(false);
    }
    return false;
}
Versión Visual del Flujo:
text
FORMULARIO HTML
     ↓ (envía POST)
CONTROLADOR actionCrear()
     ↓
$model->load()       ← Recoge datos del formulario
     ↓
$model->validate()   ← Verifica reglas
     ↓
$model->save()       ← INSERT en la base de datos
     ↓
REDIRIGE o MUESTRA ERROR
Ejemplo Práctico para Entender Mejor:
Tu Formulario Genera Esto:
html
<input type="text" name="Libro[titulo]" value="Cien años de soledad">
<input type="number" name="Libro[autor_id]" value="1">
El Controlador Recibe Esto:
php
// Yii::$app->request->post() contiene:
[
    'Libro' => [
        'titulo' => 'Cien años de soledad',
        'autor_id' => '1',
        'categoria_id' => '2',
        // ...
    ]
]
Y $model->load() Transforma Esto:
php
// Convierte automáticamente:
$model->titulo = 'Cien años de soledad';
$model->autor_id = 1;
$model->categoria_id = 2;
// ...
¿Cómo Sabe Dónde Guardar?
El Modelo Sabe Su Tabla:

php
class Libro extends ActiveRecord
{
    public static function tableName()
    {
        return 'libros'; // ← ¡Sabe que guarda en la tabla 'libros'!
    }
}
ActiveRecord Genera el SQL:

php
// Automáticamente crea:
INSERT INTO libros (titulo, autor_id, categoria_id, ...) 
VALUES ('Cien años de soledad', 1, 2, ...)
En Resumen:
El formulario envía datos al controlador via POST

$model->load() mapea los datos del formulario al modelo

$model->validate() verifica que todo esté correcto

$model->save() genera y ejecuta el INSERT automáticamente

La magia está en que Yii2 hace todo el trabajo pesado por ti: no necesitas escribir SQL, no necesitas mapear campos manualmente, todo es automático y seguro.

¿Quieres que profundice en alguna parte específica?

<style>
    
.video-embed {
    position: relative;
    padding-bottom: 56.25%;
    width: 100%;
    height: 100%;
} 
.video-responsive {    
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.video-section {
    position: relative;
}
.video-section .st-flex {
    gap: 80px;
}
.video-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: flex-start;
}
.video-content>* {
    margin: 0;
}
.video-wrap {
    position: relative;
    /*aspect-ratio: 16/10;*/
    background: linear-gradient(135deg, #50bea4 0%, #007d8b 100%);
    background: url(/img/upload/hwcg-video-example.png);
    background-size: cover;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.video-placeholder {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
.video-placeholder iframe,
.video-placeholder object,
.video-placeholder embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video-video {
    position: relative;
    z-index: 1;
}
.video-video:after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 50%;
    height: 90%;
    transform: rotate(-90deg);
    right: 8px;
    bottom: -56px;
    background: #50BEA4;
    filter: blur(125px);
    opacity: 0.6;
}

@media (min-width: 992px) {
    .video-section .video-content {
        flex-basis: calc(33.33333% - 40px);
    }
    .video-section .video-video {
        width: auto;
        flex-basis: calc(66.666666% - 40px);
    }
}

@media (max-width: 991px) {
    .video-section .st-flex {
        flex-direction: column;
        gap: 3rem;
    }
    .video-video {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .video-section .st-flex {
        gap: 2rem;
    }
}

/*Banners*/
.banner [class^="st-container"], .banner [class*=" st-container"] {
    gap: 16px;
}
.banner.hero-banner {
    margin-top: 32px;
    padding-bottom: 0;
}
.banner-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
background: var(--Light-Linear---Vertical, linear-gradient(185deg, #3DA58C 4.26%, #007D8B 95.74%));
    border-radius: 1.5rem;
    padding: 24px;
}
.banner-left .banner-content {
    padding: 64px 24px;   
}
.banner-right {
    display: flex;
    padding: 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    flex: 1 0 0;
    align-self: stretch;
    border-radius: 1.5rem;
    background-color: var(--grey-100);
    overflow: hidden;
    position: relative;
}
.banner-right .img-clip {
    width: 100%;
    height: 100%;
}
.banner-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex: 1 0 0;
}
.st-d1, .banner .st-d1 {
    align-self: stretch;
    color: #FFF;
    text-align: center;
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    line-height: 100%; /* 4rem */
    letter-spacing: -0.08rem;
}
.banner h1, .banner .st-h1 {
    /*color: #fff;*/
    margin: 0;
    /*font-size: 44px;*/
    /*font-style: normal;*/
    /*font-weight: 900;*/
    /*line-height: 110%; */
    /*letter-spacing: -0.88px;*/
}
.banner h2, .banner .st-h2 {
    /*font-size: 30px;*/
    /*font-style: normal;*/
    /*font-weight: 400;*/
    /*line-height: 110%; */
    margin: 0;
}
.banner h3, .banner .st-h3 {
    /*font-size: 22px;*/
    /*font-style: normal;*/
    /*font-weight: 700;*/
    /*line-height: 125%; */
    /*color: #fff;*/
    margin: 0;
}
.banner p {
    margin: 0;
}
.banner .st-btn {
    margin-top: 16px;
}
.banner:not(.banner-light) *:not(.st-btn):not(.st-btn *) {
    color: #fff;
}
.banner-bottom {
    align-self: stretch;
    justify-content: space-between;
    align-items: center;
    gap: 8px
}
.reviews-panel {
    padding: 0.25rem 0.75rem 0.25rem 0.5rem;
    align-items: center;
    gap: 6px;
    
    border-radius: 6.25rem;
    border: 2px solid #FFF;
    background: var(--teal-50, #ECF8F5);
}
.banner.banner-light .banner-left {
    border-radius: 24px;
    border: 1px solid var(--teal-100, #A2DCCF);
    background: var(--teal-50, #ECF8F5);
}
.banner.banner-light .hero-breadcrumbs {
    width: 100%;
}
.banner.banner-light h1,
.banner.banner-light h2  {
    color: var(--teal-700, #007D8B);
}
@media screen and (max-width: 1000px) {
    .banner [class^="st-container"], 
    .banner [class*=" st-container"] {
        gap: 8px;
    }
}
@media screen and  (max-width: 767px) {
    .banner-left {
        padding: 0 16px;
    }
    .banner-left .banner-content {
        padding: 64px 0;
    }
    
    .banner-bottom {
        padding-bottom: 16px;
    }
    .st-d1, .banner .st-d1 {
        font-size: 40px;
        letter-spacing: -0.8px;
    }
    .banner h1, .banner .st-h1 {
        font-size: 28px;
        letter-spacing: -0.56px;
    }
    
    .banner h3, .banner .st-h3 {
        font-size: 18px;
    }
    
    .reviews-panel .google-stars {
        width: 64px;
    }
}
@media screen and  (min-width: 769px) {
    .banner-left {
        min-height: 383px;
    }
    .banner-content {
        max-width: 584px;
    }
}

/*reviews panel*/
.reviews-panel-total .st-h4 {
    margin: 0;
}
.reviews-panel-logo {
    height: 28px;
    display: flex;
    align-items: center;
}  


.cta-banner .banner-left .banner-content {
    padding: 80px 24px;
}
.cta-banner .banner-right {
    aspect-ratio: 12/7;
}
@media screen and (max-width: 1000px){
    .banner-right {
        aspect-ratio: 36 / 23;
    }
}
@media screen and (max-width: 768px){
    .cta-banner .banner-left .banner-content {
        padding: 40px 0;
    }
}


.lists-2-columns {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}
.lists-2-columns > * {
  width: calc(50% - 1rem);
}
.lists-2-columns ul {
  /*list-style-type: disc;*/
  /*padding-left: 1.25rem;*/
  /*margin: 0;*/
}
.lists-2-columns ul li {
  /*margin-bottom: 0.75rem;*/
  /*color: #004445;*/
  /*line-height: 1.5;*/
}
@media (max-width: 992px) {
    .lists-2-columns ul {
        width: 100%;
    }
}

.st-twothirds .st-container .st-flex {
    gap: 1rem;
}
.st-twothirds .st-item-1-3 {
    flex-basis: calc(33.3333% - .5rem)
}
.st-twothirds .st-item-2-3 {
    flex-basis: calc(66.6666% - .5rem)
}

@media (max-width: 992px) {
    .st-twothirds .st-flex {
       flex-direction: column;
    }
    .st-twothirds .st-item-1-3 {
        flex-basis: 100%;
    }
    .st-twothirds .st-item-2-3 {
        flex-basis: 100%;
    }
}

    
/*contact us*/
.contact-us .banner-right .img-clip {
    aspect-ratio: 680 / 763;
}
.contact-us .green-card {
    padding: 56px 48px;
    justify-content: flex-start
}
.st-form-headline {
    align-self: stretch;
    margin-bottom: 32px;
}
.st-form-headline h1 {
    color: var(--teal-700, #007D8B);
    text-align: center;
    font-family: "Sofia Pro";
    font-size: 36px;
    font-style: normal;
    font-weight: 900;
    line-height: 100%; /* 36px */
    letter-spacing: -0.72px;
    margin-bottom: 16px;
}
.st-form-headline p {
    color: var(--teal-900, #00454D);
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 27.2px */
}
@media (max-width: 768px) {
    .contact-us .banner-right {
        display: none;
    }
    .contact-us .green-card {
        padding: 40px 24px;
    }
}


/*Base Form styles*/
.formwrap fieldset{
    display: block;
    position: relative;
}
.st-form fieldset{
    border: 0;
    padding: 0;
    display: flex;
    gap:  24px 16px;
    position: relative;
    flex-wrap: wrap;
}

.st-form .contact-form ul.errorlist {
    width: 100%;
}
.st-form .form {
    width: 100%;
    position: relative;
}
.st-form {
}
.st-form select {
    width: 100%;
    font-size: 16px;
    line-height: 1;
    padding: 6px 12px;
    border-radius: 4px;
    border: 1px solid var(--teal-700, #007D8B);
    background: #FFF;
    height: 54px;
}
.st-form input[type="radio"], .st-form input[type="checkbox"] {
    width: 20px;
    height: 20px;
}
.st-form .contact-form ul {
    margin-top: -12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.st-form p:not([class]) {
    display: none;
}
.st-form ul li label {
    display: flex;
    gap: 6px;
    align-items: center;
    color: black;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}
.st-form .sb-formfield, .st-form .st-form-input {
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 0;
}
.st-form .sb-formfield-0,
.st-form .sb-formfield-1,
.st-form .sb-formfield-2,
.st-form .sb-formfield-3 {
    flex-basis: calc(50% - 8px);
}
.st-form .sb-formfield:not(.sb-formfield--sms-consent) input, .st-form .st-form-input input {
    width: 100%;
    font-size: 16px;
    line-height: 1;
    padding: 22px 12px 6px 12px;
    border-radius: 4px;
    border: 1px solid var(--teal-700, #007D8B);
    background: #FFF;
    height: 54px;
}
.st-form .sb-formfield textarea {
    width: 100%;
    font-size: 16px;
    line-height: 1;
    padding: 6px 12px;
    border-radius: 4px;
    border: 1px solid var(--teal-700, #007D8B);
    background: #FFF;
    height: 162px;
}
.st-form .sb-formfield input:focus, .st-form .st-form-input input:focus {
    border-color: var(--teal-900);
}
.st-form .sb-formfield label, .st-form .st-form-input label {
    position: absolute;
    left: 12px;
    top: 4px;
    font-size: 10px;
    line-height: 1.6;
    color: var(--grey-900);
}
.st-form .sb-formfield.filled label, .st-form .st-form-input.filled label {
    color: var(--grey-900);
}
.st-form .submit {
    margin: 0;
    display: flex;
    justify-content: center;
    padding-top: 24px;
    width: 100%;
}
.st-form .submit input {
    display: inline-block;
    display: flex;
    min-width: 150px;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: #000;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 24px */
    border-radius: 32.99px;
    background: linear-gradient(179deg, #FFF0CC -23.23%, #FFDE8F 9.81%, #FFCE5C 42.85%, #FFC748 75.89%, #FFB50A 108.93%, #DB9C00 141.97%);
    box-shadow: 0px 22px 6px 0px rgba(0, 0, 0, 0.00), 0px 14px 6px 0px rgba(0, 0, 0, 0.01), 0px 8px 5px 0px rgba(0, 0, 0, 0.05), 0px 4px 4px 0px rgba(0, 0, 0, 0.09), 0px 1px 2px 0px rgba(0, 0, 0, 0.10);
    min-width: 150px;
    text-align: center;
    margin: 0 auto;
    border: 0;
    width: 150px;
    font-family: var(--font-text);
}

@media (max-width: 768px) {
    .st-form .sb-formfield-0,
    .st-form .sb-formfield-1,
    .st-form .sb-formfield-2,
    .st-form .sb-formfield-3 {
        flex-basis: calc(100%);
    }
}

/*consent checkbox*/
.st-form .sb-formfield--sms-consent {
    text-align: left;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row-reverse;
    gap: 16px;
    align-self: stretch;
}
.st-form .sb-formfield--sms-consent label {
    color: var(--teal-900, #00454D);
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 16px */
    position: unset;
}

/*End base form styles*/

/*zip finder*/
.hero-zip-finder {
    gap: 1rem;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    position: relative
}

.hero-zip-finder h3 {
    /*font-size: 22px;*/
    /*font-weight: 700;*/
    /*line-height: 115%;*/
    /*position: relative;*/
    text-align: center;
    color: #fff;
}

#zip-form {
    background-color: #fff;
    border-radius: 100px;
    flex-flow: row;
    justify-content: flex-end;
    align-items: center;
    width: 377px;
    margin: 0;
    padding: 4px;
    display: flex;
    position: relative;
    overflow: hidden
}

#zip-form input {
    color: #737373;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    width: 213px;
    height: 40px;
    /*position: absolute;*/
    /*left: 24px;*/
    /*bottom: 4px;*/
    border: none;
    padding-left: 33px;
}

#zip-form label {
    display: none;
}
#zip-form button {
    margin: 0;
}
.zip-form-icon {
    position: absolute;
    left: 1rem;
    top: 1.1rem;
}

#no-zip {
    display: flex;
    padding: 2px 6px;
    justify-content: center;
    align-items: flex-start;
    gap: 6px;
    border-radius: 2px;
    background: var(--black-100, #F4F5F6);
    margin-top: 12px;
    max-width: 286px;
    position: absolute;
}

#no-zip svg {
    margin: 2px;
    width: 12px;
    height: 12px;
}

#no-zip p {
    color: #fff;
    font-size: 10px;
    line-height: 1.6;
    text-align: left;
}

#no-zip a {
    display: block;
    color: white;
    text-decoration: underline;
}

#no-zip .invalid-zip-error,
#no-zip .unserviced-zip-error {
    position: relative;
    line-height: 0;
}

#no-zip .invalid-zip-error button {
    position: absolute;
    top: 0;
    right: -4px;
}

#no-zip .invalid-zip-error svg {
    width: 12px;
    height: 12px;
    fill: #000;
}

@media (max-width: 767px) {
    #no-zip {
        position: unset;
    }
#zip-form {
    width: auto;
}
    .hero-zip-finder {
        width: auto;
    }
    
    #zip-form input {
        width: 169px;
    }
    #zip-form .st-btn {
        width: 150px;
    }
}


/*new zip finder error css*/
.hero-zip-finder--initial #no-zip {
    display: none;
}

.hero-zip-finder--invalid-zip #no-zip {
    display: initial;
}

.hero-zip-finder--invalid-zip #zip-form,
.hero-zip-finder--invalid-zip .unserviced-zip-error {
    display: none;
}

.hero-zip-finder--unserviced-zip #no-zip {
    display: initial;
}

.hero-zip-finder--unserviced-zip #zip-form,
.hero-zip-finder--unserviced-zip .invalid-zip-error {
    display: none;
}

/**/



.feature-cards {
    margin-top: 1rem;
    padding-bottom: 16px;
}
.feature-cards .st-container {
    --gap: 16px;
}

.feature-card {
    background-color: #a2dccf;
    border: 0.5px solid #50bea4;
    border-radius: 16px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: 16px;
    flex: 1;
    min-width: 300px;
    overflow: hidden;
    
    position: relative;
}
.feature-card:hover {
    border-radius: 16px;
    border: 0.5px solid var(--teal-300, #50BEA4);
    background: var(--teal-50, #ECF8F5);
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.25);
}
.feature-card:hover:after {
    content: '';
    background: url(/sb-homewatchcaregivers/svg/arrow-right-diagonal.svg) center no-repeat;
    background-color: #fff;
    border-radius: 0 0 0 24px;
    display: flex;
    width: 48px;
    height: 48px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
    position: absolute;
    right: 0;
    top: 0;
}
.feature-card .icon-container {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: white;
    border: 1.5px solid #50bea4;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.feature-card .icon-container.light-bg {
    background-color: #ecf8f5;
}

.feature-card .icon-container svg {
    width: 100%;
    height: 100%;
}

.feature-card .content {
    flex: 1;
}

.feature-card .title {
    font-size: 18px;
    font-weight: bold;
    color: #00454d;
    margin-bottom: 2px;
    line-height: 1.25;
}

.feature-card .description {
    font-size: 13px;
    color: #000000;
    line-height: 1.6;
}

@media (max-width: 768px) {
    body {
        padding: 8px;
    }

    .feature-cards .st-container-lg {
        flex-direction: column;
        gap: 8px;
    }

    .feature-card {
        min-width: auto;
    }
}





/*Template Component - Basic Content*/
.basic-content {
    position: relative;
}
.basic-content .st-container-md > .st-flex {
    /*gap: 6rem;*/
    gap: 80px;
    align-items: center;
    flex-wrap: nowrap;
}
.basic-content .st-flex > * {
    display: flex;
}
.basic-content .videoimg-right {
    order: 2;
}
.basic-content-html {                
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
}
.basic-content-html > * {
    margin: 0!important;
}
.basic-content picture {
    --_img-height: var(--img-height, 390px);
    aspect-ratio: 13 / 11;
    max-width: 100%;
    width: 330px;
    height: 390px;
}
.basic-content.video .basic-content-videoimg {
    --_item-width: var(--item-width, 100%);
    max-width: 100%;
    flex-basis: var(--_item-width);
}
.basic-content h2, .basic-content .st-h2 {
    margin-bottom: -8px;
}
.basic-content li, .grey-box li {
    font-size: 17px;
    line-height: 160%;
    margin-bottom: 12px;
}
@media (min-width: 992px) {
    .basic-content.image .basic-content-videoimg {
        min-width: 330px;
        max-width: 100%;
    }
    .basic-content.video .basic-content-videoimg {
        min-width: 705px;
        max-width: 100%;
    }
    .basic-content-html {
        width: auto;
        flex-grow: 1;
        /*width: calc(66.666666% - 40px);*/
    }
}

@media (max-width: 992px) {
    .basic-content.image .basic-content-videoimg {
        justify-content: center;
        width: 100%;
    }
    .basic-content.image .basic-content-videoimg picture {
        --img-height: 295px;
        width: 100%;
        aspect-ratio: 250.00 / 295.45;
        margin-left: auto;
        margin-right: auto;
    }
}
@media (max-width: 991px) {
    .basic-content .st-container-md > .st-flex {
        flex-direction: column;
        gap: 3rem;
    }
}
@media (max-width: 480px) {
    .basic-content .st-container-md > .st-flex {
        gap: 2rem;
    }
}


.basic-content-html div,
.highlight-box {
    background: #f7f7f7;
    border-left: 4px solid #50bea4;
    border-radius: 0 12px 12px 0;
    padding: 1rem 2rem;
    font-size: 22px;
    line-height: 1.25;
    flex-wrap: nowrap;
    align-items: center;
    gap: 2rem;
    width: 100%;
    justify-content: space-between;
    display: flex;
    margin-top: 8px;
}
.basic-content-html div *,
.highlight-box * {
    margin: 0;
}
.basic-content-html div h3,
.highlight-box h3 {
    color: var(--teal-900);
    font-weight: 600;
    margin: 0;
}
.basic-content-html div .st-h4,
.basic-content-html div h4,
.highlight-box .st-h4,
.highlight-box h4,
.highlight-box .st-h4 p,
.highlight-box h4 p {
    display: block;
    color: var(--teal-900);
    --headline-height: 125%;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 800;
}
.basic-content-html div .st-h4 a,
.basic-content-html div h4 a,
.highlight-box .st-h4 a {
    display: inline;
    color: var(--teal-700);
    text-decoration: underline;
}

.highlight-box .st-btn {
    flex-grow: 1;
    white-space: nowrap;
    flex-shrink: 0;
    width: auto;
}
@media (max-width: 480px) {
    .basic-content-html div,
    .highlight-box {
        padding: 1.5rem;
        flex-direction: column;
    }
    .basic-content-html div button,
    .highlight-box .st-btn {
        align-self: stretch;
    }
}

.basic-content button {
    
}

.video-wrap {
    position: relative;
    /*aspect-ratio: 16/10;*/
    background: linear-gradient(135deg, #50bea4 0%, #007d8b 100%);
    background: url(/img/upload/hwcg-video-example.png);
    background-size: cover;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.video-placeholder {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
.video-placeholder iframe,
.video-placeholder object,
.video-placeholder embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video-video:after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 50%;
    height: 90%;
    transform: rotate(-90deg);
    right: 8px;
    bottom: -56px;
    background: #50BEA4;
    filter: blur(125px);
    opacity: 0.6;
}

@media (max-width: 991px) {
    .video-video {
        width: 100%;
    }
}

/**/


/**/
/**/
picture {
    position: relative;
}
.blur {
    position: relative;
}
.blur:after {
    content: '';
    position: absolute;
    z-index: -1;
    width: 64%;
    height: 88%;
    left: 0;
    top: 45px;
    background: #50BEA4;
    filter: blur(125px);
    opacity: 0.6;
    /*background: url(/sb-homewatchcaregivers/svg/green-glow.svg);*/
    /*background-size: cover;*/
    /*background-position: center;*/
    /*width: 212px;*/
    /*height: 344px;*/
}
.shadow > * {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.25);
}
.corners-24 > * {
    border-radius: 24px;
    overflow: hidden;
}
.image-double,
.image-double > * {
    border-radius: unsfet;
    box-shadow: unset;
}
.image-double {
    width: 100%;
}



.darkgreen-bar .darkgreen-bar-wrapper {
    background: linear-gradient(to bottom, #007d8b, #00454d);
    border-radius: 1.5rem;
    display: flex;
    overflow: hidden;
}

.darkgreen-bar .card {
    padding: 4rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    min-width: 200px;
    position: relative;
    flex-grow: 1;
}

.darkgreen-bar .card h3 {
    margin: 0;
}
.darkgreen-bar .card:not(:first-child) {
    border-left: 4px solid #50bea4;
}
.darkgreen-bar .icon {
    width: 56px;
    height: 56px;
}
.darkgreen-bar .icon svg {
    width: 100%;
    height: 100%;
}
.darkgreen-bar .text {
    color: white;
    font-size: 17px;                       
    text-align: center;
    line-height: 1.6;
    max-width: 200px;
}
.darkgreen-bar-title {
    color: var(--Teal-100, #A2DCCF);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 900;
    line-height: 110%; /* 35.2px */
    letter-spacing: -0.64px;
    margin-top: -8px;
    margin-bottom: 8px;
}
.darkgreen-bar .card > *:not(.darkgreen-bar-title) {
    margin: 0;
}

.darkgreen-bar.bar-3-cards .card {
    width: 33%;
}
.darkgreen-bar.bar-4-cards .card {
    width: 25%;
}
.darkgreen-bar.bar-6-cards .darkgreen-bar-wrapper {
    flex-wrap: wrap;
}
.darkgreen-bar.bar-6-cards .card {
    width: 33%;
}
.darkgreen-bar.bar-6-cards .card:nth-child(1),
.darkgreen-bar.bar-6-cards .card:nth-child(2),
.darkgreen-bar.bar-6-cards .card:nth-child(3) {
    border-bottom: 4px solid #50bea4;
    
}
@media (max-width: 992px) {
    .darkgreen-bar .darkgreen-bar-wrapper {
        flex-wrap: wrap;
    }

    .darkgreen-bar .card {
        min-width: 50%;
        width: 50%;
    }

    .darkgreen-bar .card:not(:first-child) {
        border-top: 4px solid #50bea4;
    }
}

@media (max-width: 768px) {
    .darkgreen-bar .darkgreen-bar-wrapper {
        flex-direction: column;
    }

    .darkgreen-bar .card {
        min-width: 100%;
        width: 100%;
    }

    .darkgreen-bar.bar-3-cards .card {
        padding: 24px;
    }

    .darkgreen-bar.bar-4-cards .card {
        padding: 32px;
    }

    .darkgreen-bar .text {
        max-width: 100%;
    }

    .darkgreen-bar .card:not(:first-child) {
        border-left: none;
        border-top: 4px solid #50bea4;
    }
}

.faq-headline {
    margin-bottom: 24px;
    text-align: center;
}

.faq-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    margin-bottom: 12px;
    background: #EEF1F6;
    border-radius: 8px;
    display: flex;
    padding: 16px 32px;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    align-self: stretch;

    border-radius: 12px;
    border: 0.5px solid var(--teal-300, #50BEA4);
    background: var(--teal-50, #ECF8F5);
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 8px;
    font-family: var(--font-headline);
    font-size: 20px;
    font-weight: 600;
    line-height: 115%;
    flex-wrap: nowrap;
    text-align: left;

    color: var(--teal-900, #00454D);
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    /* 30px */
}

.faq-item:hover,
.faq-item:focus {
    background: var(--teal-100);
}

.faq-answer {
    width: 100%;
    padding: 24px 32px;
    display: none;
}

.active .faq-answer {
    display: flex;
}

.active svg {
    transform: rotate(45deg);
    transition: all 1ms;
}



.green-card-grey-box .st-container {
    align-items: center;
    justify-content: center;
    gap: 1rem;
}
.green-card {
    border: 0.5px solid var(--teal-100, #A2DCCF);
    background: var(--teal-50, #ECF8F5);
    border-radius: 1.5rem;
    padding: 3rem;
    width: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    align-items: flex-start;
    gap: 2rem;
    flex-shrink: 0;
} 
.green-card > * {
    margin: 0!important;
}
.green-card .st-btn {
    margin-top: 1rem;
}
.grey-box {
    border: 1px solid var(--grey-300, #CCC);
    background: var(--grey-100, #F7F7F7);
    border-radius: 1.5rem;
    padding: 3rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    gap: 2rem;
}
@media (max-width: 992px) {
    .green-card {
        padding: 40px 24px;
    }
    .grey-box {
        padding: 40px 24px;
    }
}




.services-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3rem;
    padding: 48px;
}

.services-icons {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}

.service-icon {
    width: 112px;
    height: 99px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    transition: transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

.service-icon span {
    position: relative;
    z-index: 1;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: none;
}

.service-icon:hover {
    transform: scale(1.1);
}

.services-content {
    border-top: 1px solid #ffe199;
    padding-top: 2rem;
    text-align: center;
    min-height: 150px;
    width: 100%;
    /* Ensure consistent height */
}

.service-description {
    display: none;
    font-size: 1.125rem;
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    margin-bottom: 1.5rem;
}

.service-description p {
    margin-bottom: 36px;
}
.service-description.active {
    display: block;
}
.default-description {
    display: block;
    font-size: 1.125rem;
    font-weight: 700;
    color: #000;
    line-height: 1.4;
    margin-bottom: 1.5rem;
}
.default-description.hidden {
    display: none;
}
.learn-more-button {
    background-color: #ffe199;
    border: none;
    border-radius: 50px;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
}
.learn-more-button:hover {
    background-color: #ffd700;
    transform: translateY(-1px);
}


@media (max-width: 768px) {
    .services-panel {
        padding: 40px 24px;
        gap: 2rem;
    }
    .services-icons {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0.5rem;
        justify-items: center;
    }
    .service-icon {
        width: 90px;
        height: 80px;
        font-size: 0.6875rem;
    }
    .service-description {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .services-panel {
        padding: 1.5rem;
    }
    .services-icons {
        gap: 0.25rem;
    }
    .service-icon {
        width: 70px;
        height: 65px;
        font-size: 0.625rem;
    }
    .service-description {
        font-size: 0.9375rem;
    }
}




.slick-disabled {
    opacity: .8;
}

.st-section-heading {
    margin-bottom: 48px;
}

.st-section-heading p:last-of-type {
    margin-bottom: 0;
}

.st-section-heading .st-btn {
    margin-top: 32px;
}

.st-section-heading h2,
.st-section-heading .st-h2 {
    --headline-margin: 24px;
}

@media (max-width: 767px) {

    .st-section-heading h2,
    .st-section-heading .st-h2 {
        --headline-margin: 16px;
    }
}

.st-teal-700 {
    color: var(--teal-700);
}

/*Team Carousel*/
.slick-team-carousel {}

.team-carousel-wrap {
    position: relative;
}

.team-carousel-arrows {
    display: flex;
    padding: 0 16px;
    justify-content: space-between;
    gap: 24px;
    position: absolute;
    top: calc(50% - 22px);
    z-index: 1;
    width: 100%;
}

.team-carousel-item {
    text-align: left;
    overflow: hidden;
    padding: 8px 8px 12px 8px;
    align-items: flex-start;
    gap: 12px;
    flex-shrink: 0;
    width: 100%;
    display: block;

    border-radius: 24px;
    border: 0.5px solid var(--grey-300, #CCC);
    background: var(--grey-100, #F7F7F7);
    transition: all .3s ease;
}

.slick-team-carousel .slick-track {
    gap: 16px;
    padding: 8px 0;
}

@media screen and (max-width: 768px) {
    .team-carousel {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 50px;
    }

    .team-carousel .slick-dots {
        display: block;
        bottom: -50px;
    }

    .team-carousel-arrows {
        display: none;
    }
}

.team-carousel-name {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.team-carousel-name .st-h4 {
    color: var(--teal-900);
}

.team-carousel-position {
    color: var(--grey-700);
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 16px */
    display: flex;
    gap: 5px
}

.team-carousel-location {
    color: var(--grey-700);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 4px;
}

.team-carousel-location .st-p2 {
    font-weight: 700;
}

.team-carousel-title {
    --var-p-margin: 0;
    padding: 12px 8px 0 8px;
    width: 100%;
}

.team-carousel-title * {
    margin: 0;
}

.team-carousel-img.img-clip {
    border-radius: 24px;
    --img-height: 400px;
}


h2,
.st-h2 {
    color: var(--teal-700)
}

/*Expert Tips element*/
.expert-tips-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: center;
    align-items: center;
}

.expert-tips-wrap h2 {
    text-align: center;
    color: var(--teal-700);
    margin: 0;
}

.expert-tips-carousel {
    max-width: 1200px;
    width: 100%;

}

.expert-tips-carousel .slick-list {
    overflow: hidden;
}

.expert-tips-carousel .slick-track {
    gap: 32px;
    overflow: hidden;
    padding: 24px 0;
}

.expert-tips-carousel .slick-dots {
    margin-top: 64px;
    display: block;
}

@media screen and (max-width: 680px) {
    .expert-tips-wrap {
        gap: 16px;
    }
    .expert-tips-carousel {
        margin-bottom: 16px;
    }

    .expert-tips-carousel .slick-track {
        gap: 16px;
        overflow: hidden;
    }

    .expert-tips-wrap {}

    .expert-tips-wrap .st-btn {
        margin-top: 56px;
    }
}


.green-tab {
    display: flex;
    padding: 8px 16px;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    
    border-radius: 12px 12px 0 0;
    border-bottom: 0.5px solid var(--teal-100, #A2DCCF);
    background: #ECF8F5;
}
.green-panel {
    display: flex;
    padding: 12px 12px 12px 24px;
    justify-content: space-between;
    align-items: center;
    flex: 1 0 0;
    
    border-radius: 12px;
    border: 0.5px solid var(--teal-100, #A2DCCF);
    background: var(--teal-50, #ECF8F5);
}

/*Blog Styles*/
.sb-blog {
    padding: 0;
}
.blog-categories {
    margin-top: 24px;
    gap: 8px;
    --justify: center;
}
.blog-categories li {
    list-style-type: none;
}
.blog-categories li a {
    display: flex;
    padding: 4px 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    background: var(--teal-50, #ECF8F5);
    color: #000;
    text-align: center;
    font-size: 13px;
    font-weight: 400;
    line-height: 160%;
}
li.active-category a {
    background: #50BEA4;
    backdrop-filter: blur(25px);
    color: #000;
}
.post-list-header {
    text-align: center;
    margin-top: 0px;
    margin-bottom: 48px;
}

.blog-featured-img {
    height: 216px;
    border-radius: 12px 12px 0 0;
    background-position: center center;
    background-size: cover;
}

.post-list-cat-wrap {
    align-items:stretch;
}

.blog-cont {
    padding: 24px;
}

.blog-cont {
    --headline-margin: 0 0 8px 0;
}

.article-body {
    border-radius: 12px;
    overflow: hidden;
    border: 0.5px solid var(--grey-300, #CCC);
    background: var(--grey-100, #F7F7F7);
    transition: all .5s ease;
    display: block;
}
.cat-list li {
    list-style-type: none;
    margin-top: 1rem;
    display: flex;
    padding: 4px 8px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    background: #FFF;
}
.cat-list {
    display: flex;
    padding: 0;
    flex-wrap: wrap;
    --p-size: 11px;
    --p-margin: 0;
    gap: 4px;
}
.blog-item-bottom {
    --justify: space-between;
    --p-margin: 0;
    --align: center;
}

.blog-animation {
    line-height: 100%;
}

.blog-animation {
    --p-color: var(--teal-700);

    font-family: var(--font-headline);
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    position: relative;
    top: 2.5px;
    border-bottom: 2px solid var(--teal-700);
}

.blog-animation span {
    font-family: var(--font-headline);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    flex-grow: 2;
}

.blog-animation svg {
    fill: var(--teal-700);
}

.post-list-item {
    border-radius: 12px;
}

.blog-image-wrap {
    background-color: white;
}

.next-prev-wrapper {
    --justify: center;
    margin-top: 48px;
    margin-bottom: 48px;
}

.blog-animation svg {

    transition: all .3s ease 0s;

}

.article-body:hover {
    border-radius: 12px;
    border: 0.5px solid var(--teal-100, #A2DCCF);
    background: var(--teal-50, #ECF8F5);
    box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.25);
    transition: all .3s ease 0s;
}



.article-body.featured-post {
    background-color: var(--teal-700);
    --headline-color: white;
    --p-color: white;
}
.article-body.featured-post .blog-animation span {
    color: white;
}
.article-body.featured-post .blog-animation svg {
    fill: white;
}
.article-body.featured-post:hover {
    background-color: var(--teal-900);
}


.cat-selector {
    width: 100%;
    padding: 14px;
    -webkit-appearance: none;
    border-radius: 4px;
    border: 1px solid var(--teal-700, #007D8B);
    font-family: var(--font-text);
    background: #FFF;
    color: var(--grey-500, #808080);
    font-size: 16px;
    font-weight: 400;
    line-height: 160%; /* 25.6px */
}
.selector-arrow {
    position: absolute;
    right: 12px;
    top: 24px;
    transition: all .25s ease 0s;
}
.selector-cont {
    position: relative;
    width: 100%;
    margin-top: 24px;
}
.selector-cont:focus-within .selector-arrow {
    rotate: 180deg;
}
.post-list-cat-wrap {
    align-items: stretch;
}

.resources-body .green-tab {
    margin-bottom: 24px;
}
.latest-resources .green-panel {
    margin-bottom: 32px;
}
.latest-resources .selector-cont {
    max-width: 344px;
    margin: 0;
}


.card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.explore-btn {
    background: none;
    color: #007d8b;
    font-size: 13px;
    border-bottom: 1px solid #007d8b;
    padding: 0 0 2px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.resources-top {
    gap: 32px;
}
.resources-top > .st-item {
    flex-basis: calc(50% - 16px)
}
.popular-resources .post-list-cat-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.popular-resources .post-list-item {
    display: flex;
}
.popular-resources .blog-image-wrap {
    width: 228px;
    height:148px;
    flex-shrink: 0;
}
.popular-resources .blog-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.popular-resources .blog-cont {
    flex: 1;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.popular-resources .blog-cont .st-h4 {
    margin-bottom: 12px;
}
.topics-section {
    text-align: center;
    margin-bottom: 64px;
    position: relative;
    padding: 24px 0;
}

.topics-title {
    font-size: 30px;
    color: #007d8b;
    margin-bottom: 24px;
}

.topic-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    position: relative;
}

.topic-btn {
    background: linear-gradient(to right, #007d8b, #00454d);
    color: white;
    font-size: 22px;
    font-weight: 600;
    padding: 32px 12px;
    border-radius: 8px;
    /*min-width: 500px;*/
    /*max-width: 800px;*/
    width: calc(50% - 4px);
    backdrop-filter: blur(25px);
}

.topic-btn:hover {
    opacity: 0.9;
}

.compass-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 120px;
    border-radius: 50%;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 767px) {
    .topic-btn {
        font-size: 16px;
    }
    .compass-icon {
        width: 64px;
        height: 64px;
    }
}





/*blog post styles*/
article.post-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
    align-self: stretch;
}
.post-categories {
    display: flex;
    align-items: center;
    gap: 4px;
}
.post-cat {
    list-style-type: none;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    color: var(--teal-900);
}
.post-cat a {
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    color: var(--teal-900);
}
.post-featured-img>div {
    width: 100%;
    max-width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    border-radius: 0 24px 24px 0;
}
.post-title-card {
    margin-top: 32px;
        padding-bottom: 64px;
}
.post-content {
    --headline-margin: 0 0 16px 0;
    --headline-color: var(--teal-900);

    display: flex;
    flex-direction: column;
}
.post-content img {
    max-width: 100%;
    border-radius: 24px;
    height: 100%;
}
.blog-post .post-content {
    --headline-margin: 40px 0 16px 0;

    max-width: 980px;
    margin: 0 auto;
    width: 100%;
}
.blog-post .post-content ul,
.blog-post .post-content ol {
    margin-left: 20px;
    margin-top: 16px;
    margin-bottom: 16px;
}
.blog-post .post-content li {
    margin-bottom: 8px;
}
.blog-post .post-content h2 {
    margin-top: 24px;
    margin-bottom: 16px;
}
.blog-post .post-content h3 {
    margin-top: 16px;
    margin-bottom: 16px;
}
.blog-post .post-content ol {
    margin-top: 16px;
    margin-bottom: 16px;
}
.blog-post .post-content p {
    margin-bottom: 16px;
    margin-top: 8px;
}
#page-blog .expert-tips-wrap h2 {
}

@media screen and (max-width: 1000px) {
    article.post-container {
        width: 100%;
    }
    .post-cat a {
        font-size: 10px;
    }
    .post-featured-img>div {
        width: calc(100vw - 24px);
        height: 234px;
        border-radius: 0 0 24px 24px;
    }
    .post-content {
        padding: 0 12px;
    }
    .sb-blog {
        padding: 0;
    }
}

/*end blog post styles*/





.st-teal-900 {
    color: var(--teal-900);
}




/*nearby areas*/
.nearby-areas.lightgreen-card-left .lightgreen-card {
    justify-content: flex-start;
}

.nearby-areas-map {
    min-height: 450px;

    align-self: stretch;
}

.nearby-areas-map .gm-style-iw-a {
    display: none;
}

.sb-googlemap img[alt="Google"] {
    transform: unset;
}

.nearby-areas-content h2 {
    color: var(--teal-900, #00454D);
    font-family: "Sofia Pro";
    font-size: 32px;
    font-style: normal;
    font-weight: 900;
    line-height: 110%;
    /* 35.2px */
    letter-spacing: -0.64px;
    margin-bottom: 32px;
}

.nearby-areas-content li {
    list-style-type: none;
}

.serviceArea__towns {
    max-height: 300px;
    overflow-y: scroll;
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    align-self: stretch;
    gap: 8px
}

.serviceArea__town a {
    color: var(--teal-700, #007D8B);
}

.serviceArea__towns::-webkit-scrollbar {
    width: 9px;
}

.serviceArea__towns::-webkit-scrollbar-track {
    width: 9px;
}

.serviceArea__towns::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background-color: var(--teal-100);
    width: 9px;
}

.serviceArea__town {
    color: var(--teal-700, #007D8B);
    font-size: 17px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    /* 27.2px */
}

@media screen and (max-width: 900px) {

    .serviceArea__towns {
        max-height: 160px;
    }
}
    
/*Directory*/
.sb-directory {
    background-color: var(--grey-100);
    padding: 0;
}
/*.sb-directory .breadcrumbs {*/
/*    margin-top: 2rem;*/
/*}*/
.sb-directory h1 {
    color: var(--teal-700);
}
.lp-directory-header, .city-list {
    margin-top: 0;
}
.lp-directory-header-navigation, .lp-directory-search-form {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}
.lp-directory-header-navigation {
    margin: 48px 0;
}
.lp-directory-header-navigation a {
    padding: 8px 24px;
    background-color: var(--lp-color-primary);
    color: white;
    text-decoration: none;
    font-weight: bold;
    border-radius: 50px;
    font-size: 14px;
    font-style: normal;
    font-weight: 900;
    line-height: normal;
}
.lp-directory-header-navigation a svg{
    fill: white;
    margin-left: 5px;
}
.lp-directory-header-navigation a:hover, .lp-directory-header-navigation a:focus {
    color: #000000;
    background-color: #FFDD00;
    border-color: #000000;
}
.lp-directory-header-navigation a:hover svg, .lp-directory-header-navigation a:focus svg {
    fill: black;
}
.lp-directory-search-form input, .lp-directory-search-form select {
    line-height: 1;
    font-family: var(--font-text);
    color: rgba(40, 51, 62, 0.75);
    font-size: 0.8125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 1.3rem */
    display: flex;
    width: 15.625rem;
    padding: 0.75rem;
    justify-content: space-between;
    align-items: center;
    border-radius: 0.25rem;
    border: 1px solid var(--teal-700, #007D8B);
    background: #FFF;
}
.lp-directory-header-wrap {
    
    text-align: center;
}
.lp-directory-header-wrap .st-h1 {
    color: var(--teal-700);
}
.lp-directory-state-item h3 {
    border-bottom: 2px solid #EEF1F6;
}
.region-locations ul {
    margin: 0;
    padding: 0;
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}
.region-locations {
    margin-bottom: 48px;
}
.lp-zip {
    list-style-type: none;
    flex-basis: calc(33.333333% - 16px);
    padding: 1.5rem;
    border-radius: 0.5rem;
    border: 1px solid var(--grey-100, #F7F7F7);
    background: #FFF;
}
.lp-statelist-content .location-contact {
    margin-bottom: 16px;
}
.lp-statelist-content .location-address {
    margin-bottom: .25rem;
}
.lp-statelist-content .location-address,
.lp-statelist-content .location-phone {
    color: #000;
    font-size: 0.8125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%; /* 1.3rem */
    position: relative;
    margin-left: 18px;
}

.lp-statelist-content .location-address svg,
.lp-statelist-content .location-phone svg {
    position: absolute;
    left: -18px;
    top: 5px;
}
.lp-statelist-content .location-phone {
    color: var(--teal-900);
    font-weight: 500;
}
.lp-location-info-name {
    color: #000;
    font-size: 1rem;
    font-style: normal;
    font-weight: 800;
    margin-bottom: 1rem;
    line-height: 125%; /* 1.25rem */
}
.directory-header {
    margin-bottom: 48px;
}
.location-links {
    display: flex;
    align-items: center;
    gap: 1rem;
    align-self: stretch;
}
@media screen and (max-width: 1000px){
    .lp-zip {
        flex-basis: calc(50% - 12px);
    }
    .state-list {
        padding-left: 0;
        padding-right: 0;
    }
}
@media screen and (max-width: 680px){
    .lp-zip {
        flex-basis: 100%;
    }
    .lp-directory-search-form {
        flex-direction: column;
        flex-wrap: wrap;
        width: 100%;
    }
    .lp-directory-search-state, .lp-directory-search-zip, #directory_id_zip, #directory_id_state {
        width: 100%;
        --var-p-margin: 0;
    }
    
    .location-links {
        flex-wrap: wrap;
    }
}
/*End Directory*/




/*AB Brands Carousel*/
.ab-brand-carousel {
}
.ab-brand-carousel .custom_paging {
    margin: 0;
    padding: 0;
    position: absolute;
    left: 50%;
    bottom: -2rem;
    transform: translateX(-50%);
}
.ab-brand-carousel .custom_paging li {
    display: none;
    font-size: 1.03125rem;
    color: #4A4A4A;
    font-weight: 800;
    line-height: 1;
}
.ab-brand-carousel .custom_paging li.slick-active {
    display: block;
}

.ab-brand-carousel .slick-arrow svg {
    stroke: unset;
    fill: var(--teal-300);
}
.ab-brand-carousel .slick-next {
    right: calc(50% - 45px);
    bottom: -2rem;
    top: unset;
    z-index: 5;
    transform: none;
}
.ab-brand-carousel .slick-prev {
    left: calc(50% - 45px);
    bottom: -2rem;
    top: unset;
    z-index: 5;
    transform: none;
}
.lp-ab-carousel-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.brand-carousel .slick-track {
    display: flex;
    align-items: center;
}
@media only screen and (min-width: 992px) {
}


/*all carousels*/

.slick-dots {
    bottom: -55px;
}
.slick-dots li button {
    width: 1rem;
    height: 1rem;
    background: var(--teal-700);
    border: 1px solid var(--teal-700);
    border-radius: 100px;
}
.slick-dots li.slick-active button {
    background: transparent;
}


/*Reviews Carousel*/
.reviews {
    --var-sec-m-top: 0;
    --var-sec-p-bottom: 64px;
    padding: 3rem 2rem;
}
.btn-reviews {
    width: max-content;
}
.reviews .st-container {
    --var-justify: space-between;
    --var-align: center;
    --var-headline-margin: 0;
    --var-gap: 2rem;
    border-radius: 24px;
    background: var(--Linear-Horizontal, linear-gradient(90deg, #007D8B 0%, #00454D 100%));
    padding: 3rem;
}
.reviews-left {
    width: calc(33.3333% - 1rem);
    --var-headline-color: white;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    flex: 1 0 0;
} 
.reviews-left h1, .reviews-left .st-h1 {
    color: white;
    margin: 0;
}
.reviews-left h4 {
    color: white;
    margin: 0;
}
.review-btn-prev {
    left: 0;
}
.review-btn-next {
    right: 0;
}
.reviews-right {
    width: calc(66.666% - 1rem);
    
}


.review-carousel-wrap .slick-track {
    gap: 24px;
}
.review-item {
    display: flex;
    min-width: 12.5rem;
    padding: 1.5rem;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    flex: 1 0 0;
    
    border-radius: 0.75rem;
    background: #FFF;
    height: 100%;
}
.review-bottom p {
    margin: 0;
}
.review-bottom .st-h4 {
    margin-bottom: 8px;
}
.review-title {
    --var-headline-margin: 0 0 12px 0;
}
.review-total {
   --var-gap: 16px;
   justify-content: space-between;
}
.review-total .st-p3 {
    --var-align: center;
    
    margin: 0;
    color: var(--grey-500);
}

.reviews .slick-dots li button {
    background: white;
    border: 1px solid white;
}
@media screen and (max-width: 992px){
    .reviews {
        padding: 40px 8px;
    }
    .reviews .st-container {
       flex-direction: column;
        align-items: center;
        gap: 32px;
        background: var(--Vertical-Linear, linear-gradient(180deg, #007D8B 0%, #00454D 100%));
        padding: 40px 24px 88px 24px;
    }
    .reviews-left,
    .reviews-right {
        width: 100%;
        align-items: center;
        gap: 1rem;
    }
    
    .reviews-left h1, .reviews-left .st-h1 {
        text-align: center;
    }
    .reviews-left h4 {
        text-align: center;
    }
    .review-carousel-wrap .slick-track {
        gap: 16px;
    }
    .review-carousel-wrap {
        padding: 0;
    }
    .carousel-arrows {
        display: none;
    }
}
@media screen and (max-width: 680px){
}

@media screen and (max-width: 550px){
    .btn-reviews {
        width: 100%;
        justify-self: stretch;
    }
    .reviews-left .st-flex {
        width: auto;
    }
    .review-content p {
        font-size: 13px;
    }

}
/*End reviews carousel*/


    .reviews .slick-arrow {
        width: 2.75rem;
        height: 2.75rem;
        transform: rotate(0);
        aspect-ratio: 1/1;
        fill: var(--teal-50, #ECF8F5);
        padding: 0;
    }
    .reviews .review-btn-prev.slick-arrow {
        padding: 0;
        transform: rotate(180deg);
    }
    
    
        /*Contact Us page*/
.contact-us.banner .banner-left {
  align-items: center;
}

.icon-container {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: white;
  border: 1.5px solid #50bea4;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.phone-section {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.phone-text {
  font-size: 24px;
  color: #00454d;
}

.phone-number {
  font-size: 22px;
  font-weight: 600;
  color: #007d8b;
  text-decoration: none;
}

.phone-number:hover {
  background-color: rgba(0, 125, 139, 0.1);
}

.cards-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  margin-bottom: 48px;
}

.banner-card {
  background-color: #a2dccf;
  border: 0.5px solid #50bea4;
  border-radius: 16px;
  padding: 20px 24px;
  text-align: center;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
  color: inherit;
  display: block;
  display: flex;
  text-align: center;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.banner-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 125, 139, 0.15);
}

.main-card .icon {
  width: 80px;
  height: 80px;
  background-color: white;
  border: 1.5px solid #50bea4;
  border-radius: 50%;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-card .icon svg {
  width: 40px;
  height: 40px;
  fill: #007d8b;
}

.main-card-title {
  font-size: 22px;
  font-weight: 600;
  color: #00454d;
  margin-bottom: 2px;
}

.secondary-cards {
  display: flex;
  gap: 16px;
}

.secondary-card {
  flex: 1;
}

.secondary-card .icon {
  width: 56px;
  height: 56px;
  background-color: white;
  border: 1.5px solid #50bea4;
  border-radius: 50%;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.secondary-card .icon svg {
  width: 24px;
  height: 24px;
  fill: #007d8b;
}

.secondary-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #00454d;
}

@media (max-width: 768px) {
  .banner .st-d1 {
    font-size: 48px;
  }
  
  .phone-text {
    font-size: 20px;
  }
  
  .phone-number {
    font-size: 20px;
  }
}

@media (max-width: 480px) {
  .main-card-title {
    font-size: 18px;
  }
  
  .secondary-card-title {
    font-size: 16px;
  }
  
  .secondary-cards {
    flex-direction: column;
  }
  
  .phone-section {
    flex-direction: column;
    gap: 8px;
  }
}
    .st-black {
    color: #000;
}
.st-grey-900 {
    color: var(--grey-900)!important;
}
.st-teal-700 {
    color: var(--teal-700);
}
.st-teal {
    color: var(--teal-700);
}
.st-teal-bg {
    background-color: var(--teal-700);
}
.st-deepteal {
    color: var(--teal-900);
}
.st-deepteal-bg {
    background-color: var(--teal-900);
}
.st-white {
    color: #fff!important;
}
.st-lightteal {
    color: var(--teal-100);
}
.st-lightteal-bg {
    background-color: var(--teal-100);
}
.st-paleteal {
    color: var(--teal-50);
}
.st-paleteal-bg {
    background-color: var(--teal-50);
}

</style>

<link rel="preconnect" href="https://use.typekit.net">
<link rel="preload" href="https://use.typekit.net/afn0wzt.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://use.typekit.net/afn0wzt.css"></noscript>


<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.12/handlebars.min.js"></script>


{#

<script id="template-geoip-location" type="text/x-handlebars-template">
{% raw %}
    <a class="st-h5 geo-localname" href="{{location.location_url}}"><span>{{location.location_display_name}}</span></a>
{% endraw %}
</script>

<script id="template-geoip-btn-v1" type="text/x-handlebars-template">
{% raw %}
    <a class="btn" href="{{location.location_url}}#trigger_schedule"><span>Get a Free Quote</span></a>
{% endraw %}
</script>

<script id="template-geoip-btn-v2" type="text/x-handlebars-template">
{% raw %}
    <a class="btn v2" href="{{location.location_url}}#trigger_schedule"><span>Get a Free Quote</span></a>
{% endraw %}
</script>
#}

<!-- ServiceTitan DNI 
<script>
    dni = (function(q,w,e,r,t,y,u){q['ServiceTitanDniObject']=t;q[t]=q[t]||function(){
        (q[t].q=q[t].q||[]).push(arguments)};q[t].l=1*new Date();y=w.createElement(e);
        u=w.getElementsByTagName(e)[0];y.async=true;y.src=r;u.parentNode.insertBefore(y,u);
        return q[t];
    })(window,document,'script','https://static.servicetitan.com/marketing-ads/dni.js','dni');
    dni('init', '4061878556');
    document.addEventListener('DOMContentLoaded', function() { dni('load'); }, false);
</script>
<!-- ServiceTitan DNI -->
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":x-connect: :star: Boost Days - What's on this week in Canberra! :star: :x-connect:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Happy Monday Canberra! \n\nWe’ve got an exciting week ahead as the *Hackathon* kicks off across Xero! :xero-hackathon:\n\n*See below for what's in store:* 👇"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-22: *Wednesday, 22nd October*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":lunch: *Hackathon Lunch:* Provided in our suite from *12:00pm*."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":apple: *Snacks*\n\nKeep your creativity flowing! Healthy snacks will be available in the *Kitchen* throughout the week."
			}
		},
		{
			"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=Y19jYzU3YWJkZTE4ZTE0YzVlYTYxMGU4OThjZjRhYWQ0MTNhYmIzMDBjZjBkMzVlNDg0M2M5NDQ4NDk3NDAyYjkyQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20/|*Canberra Social Calendar*> for all upcoming events."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Let’s power up, Canberra! ⚡\n\nLove,\nWX :party-wx:"
			}
		}
	]
}
https://www.facebook.com/merse.lopez
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>🔬 Aropha AI Biodegradation Prediction Platform</title>
  <style>
    /* General Styles */
    body {
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      margin: 0;
      padding: 0;
      background-color: #2C4555; /* Matching background */
      color: #ffffff;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100vh;
    }
 
    .container {
      background: #1E2A34;
      padding: 30px;
      border-radius: 10px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
      width: 90%;
      max-width: 400px;
      text-align: center;
    }
 
    /* Logo */
    .logo {
      width: 200px;
      margin-bottom: 20px;
    }
 
    h2 {
      margin-bottom: 20px;
      font-size: 24px;
      color: #ffffff;
    }
 
    label {
      display: block;
      margin: 10px 0 5px;
      text-align: left;
      font-weight: bold;
      color: #ffffff;
    }
 
    input {
      width: 100%;
      padding: 10px;
      margin-bottom: 10px;
      border: 1px solid #ccc;
      border-radius: 5px;
      background: #24343D;
      color: #ffffff;
      border: none;
      outline: none;
    }
 
    input::placeholder {
      color: #b0b8bf;
    }
 
    .error {
      color: red;
      font-size: 14px;
      display: none;
    }
 
    button[type="submit"] {
      width: 100%;
      background-color: #007BFF;
      color: white;
      border: none;
      padding: 12px;
      border-radius: 5px;
      cursor: pointer;
      font-size: 16px;
    }
 
    button[type="submit"]:hover {
      background-color: #0056b3;
    }
 
    /* Modal Styles */
    .modal {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.6);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 1000;
    }
 
    .modal-content {
      background: #1E2A34;
      padding: 20px;
      border-radius: 8px;
      max-width: 500px;
      width: 90%;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
      text-align: center;
      color: #ffffff;
    }
 
    .close-button {
      margin-top: 20px;
      padding: 10px 20px;
      border: none;
      background: #007BFF;
      color: white;
      border-radius: 5px;
      cursor: pointer;
    }
 
    .close-button:hover {
      background: #0056b3;
    }
 
    /* Additional Info */
    .info {
      text-align: center;
      margin-top: 20px;
      font-size: 14px;
      color: #b0b8bf;
    }
 
    .info a {
      color: #007BFF;
      text-decoration: none;
    }
 
    .info a:hover {
      text-decoration: underline;
    }
 
    /* Footer Styles */
    footer {
      text-align: center;
      padding: 10px;
      color: #b0b8bf;
      font-size: 14px;
    }
 
    footer a {
      color: #ffffff;
      text-decoration: underline;
    }
  </style>
</head>
<body>
 
  <div class="container">
    <img src="https://www.users.aropha.com/static/assets/img/logo-rectangular.png" alt="Aropha Logo" class="logo">
    <h2>Create an Account</h2>
    <form id="signup-form">
      <label for="first_name">First Name</label>
      <input type="text" id="first_name" name="first_name" placeholder="Optional">
 
      <label for="last_name">Last Name</label>
      <input type="text" id="last_name" name="last_name" placeholder="Optional">
 
      <label for="email">Email</label>
      <input type="email" id="email" name="email" required>
 
      <label for="password">Password</label>
      <input type="password" id="password" name="password" required>
 
      <label for="confirm_password">Re-enter Password</label>
      <input type="password" id="confirm_password" name="confirm_password" required>
      <p class="error" id="error-message">Passwords do not match.</p>
 
      <button type="submit">Sign Up</button>
    </form>
    <!-- Additional Info for Password Reset -->
    <div class="info">
      <p>
        Forgot your password? Reset it <a href="https://www.users.aropha.com/login.html" target="_blank">here</a>.
      </p>
    </div>
  </div>
 
  <!-- Modal for displaying messages from your endpoint -->
  <div id="messageModal" class="modal">
    <div class="modal-content">
      <p id="modalMessage"></p>
      <button class="close-button" id="closeModal">Close</button>
    </div>
  </div>
 
  <footer>
    <p>
      Follow us on <a href="https://www.linkedin.com/company/aropha/">LinkedIn</a> | &copy; 2025 Aropha Inc. All Rights Reserved.
    </p>
  </footer>
 
  <script>
    document.getElementById("signup-form").addEventListener("submit", function(event) {
    event.preventDefault(); // Prevent default form submission
 
    var password = document.getElementById("password").value;
    var confirmPassword = document.getElementById("confirm_password").value;
    var errorMessage = document.getElementById("error-message");
 
    if (password !== confirmPassword) {
        errorMessage.style.display = "block";
        return;
    } else {
        errorMessage.style.display = "none";
    }
 
    let formData = new FormData(document.getElementById("signup-form"));
 
    fetch('https://modelserver.aropha.com/register', {
        method: 'POST',
        body: formData
    })
    .then(async response => {
        let responseData;
        try {
            responseData = await response.json(); // Try parsing as JSON
        } catch (error) {
            responseData = await response.text(); // Fallback for non-JSON responses
        }
 
        console.log("Server response:", responseData); // Debugging log
 
        let message = "";
        if (typeof responseData === "object") {
            message = responseData.detail || responseData.message || JSON.stringify(responseData, null, 2);
        } else {
            message = responseData;
        }
 
        document.getElementById("modalMessage").textContent = message;
        document.getElementById("messageModal").style.display = "flex";
    })
    .catch(error => {
        console.error("Fetch error:", error);
        document.getElementById("modalMessage").textContent = "An error occurred. Please try again.";
        document.getElementById("messageModal").style.display = "flex";
    });
});
 
// Close modal
document.getElementById("closeModal").addEventListener("click", function() {
    document.getElementById("messageModal").style.display = "none";
});
 
  </script>
</body>
</html>
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":xero-hackathon: Let’s Celebrate Our Hackathon Legends! :xero-hackathon:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "The Hackathon may be over, but the innovation continues.\n\nJoin us for our *Hackathon Social Happy Hour* to celebrate the incredible ideas, teamwork, and creativity that came to life during Hackathon Week."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":celebrate: *Hackathon Social Happy Hour*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "📅 *[Insert date/time/location/food/drinks]*\n\nCome along to celebrate, reconnect, share highlights and toast to another successful Hackathon."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Thank you to every Xero who participated. \n\nYour energy and ideas continue to power up Xero and our customers. :rocket:💙\n\nSee you there!\n Love, \n\nWX :party-wx:"
			}
		}
	]
}
star

Sun Oct 12 2025 17:10:07 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:09:46 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:09:25 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:09:03 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:08:40 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:08:20 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:07:54 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:07:32 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:06:35 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:06:05 GMT+0000 (Coordinated Universal Time)

@final

star

Sun Oct 12 2025 17:02:11 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 17:01:54 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 17:01:25 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 17:00:58 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 16:31:03 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sun Oct 12 2025 14:55:28 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 14:47:58 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 14:41:38 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 14:37:27 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:47:45 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:46:39 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:45:23 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sun Oct 12 2025 13:42:21 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:37:27 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:34:25 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:33:31 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:32:35 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:29:56 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:29:31 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:28:49 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:28:05 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:27:37 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:27:03 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:26:36 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:26:02 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:25:25 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:24:16 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:24:14 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 13:23:26 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:22:49 GMT+0000 (Coordinated Universal Time)

@robo

star

Sun Oct 12 2025 13:20:15 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Sun Oct 12 2025 12:14:19 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sun Oct 12 2025 09:46:23 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sun Oct 12 2025 08:47:52 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sat Oct 11 2025 08:08:00 GMT+0000 (Coordinated Universal Time)

@cse41 #bash

star

Fri Oct 10 2025 18:18:17 GMT+0000 (Coordinated Universal Time)

@jrg_300i #postgres

star

Fri Oct 10 2025 08:48:10 GMT+0000 (Coordinated Universal Time)

@kimibb

star

Fri Oct 10 2025 05:52:27 GMT+0000 (Coordinated Universal Time) https://app.slack.com/block-kit-builder/TTUJY0L22?force_cold_boot=1#%7B%22blocks%22:%5B%7B%22type%22:%22header%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22:x-connect:%20:star:%20Boost%20Days%20-%20What's%20on%20this%20week%20in%20Canberra!%20:star:%20:x-connect:%22,%22emoji%22:true%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Happy%20Monday%20Canberra!%20%5Cn%5CnWe%E2%80%99ve%20got%20an%20exciting%20week%20ahead%20as%20the%20*Hackathon*%20kicks%20off%20across%20Xero!%20:xero-hackathon:%5Cn%5Cn*See%20below%20for%20what's%20in%20store:*%20%F0%9F%91%87%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22:calendar-date-22:%20*Wednesday,%2022nd%20October*%22%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22:lunch:%20*Hackathon%20Lunch:*%20Provided%20in%20our%20suite%20from%20*12:00pm*.%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22:apple:%20*Snacks*%5Cn%5CnKeep%20your%20creativity%20flowing!%20Healthy%20snacks%20will%20be%20available%20in%20the%20*Kitchen*%20throughout%20the%20week.%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22*What%20else%20:heart:*%5Cn%5CnStay%20tuned%20to%20this%20channel,%20and%20make%20sure%20you%E2%80%99re%20subscribed%20to%20the%20%3Chttps://calendar.google.com/calendar/u/0/r?cid=Y19jYzU3YWJkZTE4ZTE0YzVlYTYxMGU4OThjZjRhYWQ0MTNhYmIzMDBjZjBkMzVlNDg0M2M5NDQ4NDk3NDAyYjkyQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20/%7C*Canberra%20Social%20Calendar*%3E%20for%20all%20upcoming%20events.%22%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Let%E2%80%99s%20power%20up,%20Canberra!%20%E2%9A%A1%5Cn%5CnLove,%5CnWX%20:party-wx:%22%7D%7D%5D%7D

@FOHWellington

star

Fri Oct 10 2025 04:08:24 GMT+0000 (Coordinated Universal Time) https://www.facebook.com/merse.lopez

@cholillo18

star

Fri Oct 10 2025 04:04:53 GMT+0000 (Coordinated Universal Time) https://app.slack.com/block-kit-builder/TTUJY0L22?force_cold_boot=1#%7B%22blocks%22:%5B%7B%22type%22:%22header%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22:xero-hackathon:%20Let%E2%80%99s%20Celebrate%20Our%20Hackathon%20Legends!%20:xero-hackathon:%22,%22emoji%22:true%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22The%20Hackathon%20may%20be%20over,%20but%20the%20innovation%20continues.%5Cn%5CnJoin%20us%20for%20our%20*Hackathon%20Social%20Happy%20Hour*%20to%20celebrate%20the%20incredible%20ideas,%20teamwork,%20and%20creativity%20that%20came%20to%20life%20during%20Hackathon%20Week.%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22:celebrate:%20*Hackathon%20Social%20Happy%20Hour*%22%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22%F0%9F%93%85%20*%5BInsert%20date/time/location/food/drinks%5D*%5Cn%5CnCome%20along%20to%20celebrate,%20reconnect,%20share%20highlights%20and%20toast%20to%20another%20successful%20Hackathon.%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Thank%20you%20to%20every%20Xero%20who%20participated.%20%5Cn%5CnYour%20energy%20and%20ideas%20continue%20to%20power%20up%20Xero%20and%20our%20customers.%20:rocket:%F0%9F%92%99%5Cn%5CnSee%20you%20there!%5Cn%20Love,%20%5Cn%5CnWX%20:party-wx:%22%7D%7D%5D%7D

@FOHWellington

Save snippets that work with our extensions

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