/* Import Google Roboto Font */
        @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
        
        /* Apply box-sizing: border-box to all elements */
        *, *::before, *::after {
            box-sizing: border-box;
        }
        
        /* Set base font-size for rem calculations */
        html {
            font-size: 15px; /* New base font size for rem calculations */
        }
        
        /* CSS variables for easy customization */
        /* --- #f4f4f4; #333333;-#e4d7d1; white #f9f9f9;-- */
        :root {
            
            --body-background-color: #e4d7d1; /* Background color of the body */
            --logo-color: #6591a4; /* Color of logo */
            --heading1-color: #6591a4; /* Color of headings */
            --heading1-font-size: 1.8rem; /* Font size for headings */
            --header-height: 80px; /* Height of the header/navbar */
            --mobile-menu-bg-color: #a57865; /* Background color of the mobile menu */
            --menu-text-color: #141413; /* Text color for menu items */
            --hamburger-color: #141413; /* Color of the hamburger icon */
            --fontfamily-menu: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif; /* Font family for menu items */
            --menu-item-margin-mobile: 15px 0; /* Margin for menu items on mobile (vertical horizontal) */
            --menu-item-margin-desktop: 0 15px; /* Margin for menu items on desktop (vertical horizontal) */
        }
        /* --- General Body and Font Styles --- */
        body {
            font-family: sans-serif, Arial;
            line-height: 1.6;
            font-size: 1.25rem;
            margin: 0;
            background-color: var(--body-background-color);
        }
        .author {
            text-align: right;
            font-style: italic;
            margin-top: 10px;
            margin-bottom: 20px;
            margin-right: 20px;
            font-size: 0.9rem;
            color: var(--heading1-color);
            line-height: 0.95;
        }

        /* --- Header/Navbar Container --- */
        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: var(--mobile-menu-bg-color);
            font-family: var(--fontfamily-menu);
            font-size: 1.10rem;
            color: var(--menu-text-color);
            padding: 0 20px;
            /* The header height is set to 50px, which matches the 'top' offset of the mobile menu. */
            height:var(--header-height);
            border-bottom: 1px solid #e0e0e0;
            /* Position relative is needed for the absolute positioning of the child nav-menu. */
            position: relative;
        }
        footer {
            display: flex;
            
            align-items: center;
            background-color: var(--mobile-menu-bg-color);
            font-family: var(--fontfamily-menu);
            font-size: 1.10rem;
            color: var(--body-background-color);
            padding:30px;
            /* The header height is set to 50px, which matches the 'top' offset of the mobile menu. */
            height: 100px;
            border-bottom: 1px solid #e0e0e0;
            /* Position relative is needed for the absolute positioning of the child nav-menu. */
            position: relative;
            justify-content: center;
        }
        footer address a {
            color: var(--body-background-color);
            text-decoration: underline;
        }
        footer address a:hover {
            text-decoration: underline;
            color: #ffffff;
        }

        .logo {
            font-size: 1.3em;
            font-weight: 700;
            font-family: 'Roboto', sans-serif;
            letter-spacing: 0.5px;
        }
        .logo img {
            vertical-align: middle;
            height: 49px; /* Adjust the logo size as needed */
            margin-right: 10px;
        }
        .logo-text {
            vertical-align: middle;
            font-weight: normal;
            font-family: 'Roboto', sans-serif;
            letter-spacing: 0.5px;
            font-size: 1.4rem;
            color:var(--heading-color);
            /* apply a subtle black text shadow to the logo text
            text-shadow: 1px 1px 1px #000; */
            background-color: var(--body-background-color);
            padding: 5px 10px;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            line-height: 1.2;
            display: inline-block;
        }
      
        .logo a {
            text-decoration: none;
            color: var(--logo-color);
        }
        figure{
           /* border-style: solid;*/
            padding: 0px;
            max-width:700px;
            margin: 0px auto;
        }
        figcaption {
            font-size: 0.9rem;
            color: var(--mobile-menu-bg-color);
            text-align: center;
            margin-top: 5px;
            font-style: italic;
            font-weight: bold;
            
        }

        /* --- Hamburger Icon (Mobile-first: visible by default) --- */
        .hamburger {
            font-size: 2em;
            background: none;
            border: none;
            cursor: pointer;
            
            /*
             * --- CUSTOMIZABLE HAMBURGER STYLES ---
             * Purpose: Change the appearance of the hamburger icon.
            */
            /* color: Adjust the color of the 'â˜°' icon. */
            color: #000000;
            /* margin: Adjust the space around the icon. */
            margin: 10px;
        }

        /* --- Navigation Menu (Mobile-first: hidden by default) --- */
        .nav-menu {
            /* The menu is hidden by default on mobile screens. */
            display: none;
            position: absolute;
            left: 0;
            z-index: 10;
            width: 100%;
            border-bottom: 1px solid #e0e0e0;

            /*
             * --- CUSTOMIZABLE MOBILE MENU STYLES ---
             * Purpose: Change the appearance of the dropdown menu on mobile.
            */
            /* background-color: Adjust the dropdown menu's background color. */
            background-color: #ede4e0;
            /* top: Adjust the distance from the top. Should match the header's height (50px). */
            top: var(--header-height)
        }

        /* This class is toggled by JavaScript to show the menu. */
        .nav-menu.show {
            display: block;
        }

        .nav-menu ul {
            list-style-type: none;
            margin: 0;
            padding: 0;
            text-align: center;
        }

        .nav-menu li {
            /*
             * --- CUSTOMIZABLE MENU ITEM MARGIN (MOBILE) ---
             * Purpose: Adjust the vertical spacing between menu items on mobile.
            */
            /* margin: The format is 'vertical horizontal'. Reduced by half from 15px to 7.5px top and bottom. */
            margin: 4.5px 0;
        }

        /* Style for .course-list links */
        .course-list a {
            text-decoration: underline;
            font-weight: bold;
            color: var(--heading1-color);
        }

        .nav-menu a {
            text-decoration: none;
            display: block;
            padding: 10px 0;

            /*
             * --- CUSTOMIZABLE MENU TEXT COLOR ---
             * Purpose: Adjust the text color for all menu links.
            */
            /* color: Adjust the text color for the menu links. */
            color: var(--menu-text-color);
        }

        .nav-menu a:hover {
            color: #ffffff;
        }
        main {
            padding: 20px;
            font-family: var(--fontfamily-menu);
            max-width: 800px;
            margin: auto;
            min-height: 700px;
           
            
        }
        article h1 {
            color: var(--heading1-color);
            border-bottom: 2px solid var(--mobile-menu-bg-color);
            text-transform: capitalize;
            font-size: var(--heading1-font-size);
            line-height: 1.3;
        }
        
        .tagline {
            display: block;
            text-align: center;
            font-family: 'Roboto', sans-serif;
            font-size: 1.5rem;
            font-weight: 600;
            color: var(--logo-color);
            letter-spacing: 1.5px;
            text-transform: uppercase;
            margin: 20px 0;
            padding: 10px 20px;
            background: linear-gradient(135deg, rgba(165, 120, 101, 0.1), rgba(101, 145, 164, 0.1));
            border-left: 4px solid var(--logo-color);
            border-right: 4px solid var(--logo-color);
            border-radius: 8px;
            position: relative;
            overflow: hidden;
        }
        
        .tagline::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s ease;
        }
        
        .tagline:hover::before {
            left: 100%;
        }
        
        .featured-heading {
            color: var(--heading1-color);
            border-bottom: 3px solid var(--mobile-menu-bg-color);
            text-transform: uppercase;
            font-size: calc(var(--heading1-font-size) * 1.02);
            line-height: 1.3;
            letter-spacing: 1px;
            font-weight: 700;
            padding-bottom: 10px;
            margin-bottom: 20px;
            text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
            position: relative;
            overflow: hidden;
        }
        
        .featured-heading::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100px;
            height: 3px;
            background-color: var(--heading1-color);
            animation: slide-right 2s ease-in-out forwards;
        }
        
        @keyframes slide-right {
            from {
                width: 0;
                opacity: 0.5;
            }
            to {
                width: 100%;
                opacity: 1;
            }
        }
        /*Make all images in article element responsive */
        article img {
            max-width: 100%;
            height: auto;
            display: block;
            margin: 20px auto;
        }
        article blockquote {
            border-left: 4px solid var(--mobile-menu-bg-color);
            background-color: rgba(255, 255, 255, 0.5);
            margin: 20px 0;
            padding: 20px 30px 20px 60px;
            
            margin: 0 auto;
            color: #333;
            font-style: italic;
            font-size: 1.4rem;
            position: relative;
            border-radius: 5px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }
        
        article blockquote:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        }
        
        article blockquote::before {
            content: "\201C"; /* Unicode for left double quotation mark */
            font-size: 4rem;
            font-family: Georgia, serif;
            position: absolute;
            left: 15px;
            top: 10px;
            color: var(--mobile-menu-bg-color);
            opacity: 0.7;
        }
        
        article blockquote strong {
            color: var(--heading1-color);
            font-weight: 700;
        }
        /* Course item styles */
       .course-item {
            border: 1px solid var(--heading1-color);
            border-radius: 5px;
            padding: 15px;
            margin-bottom: 20px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        
        .course-item h3 {
            color: var(--heading1-color);
            font-size: 1.39rem;
            margin-top: 0;
            margin-bottom: 15px;
            padding-bottom: 8px;
            border-bottom: 1px dotted var(--mobile-menu-bg-color);
            font-family: var(--fontfamily-menu);
            position: relative;
            letter-spacing: 0.5px;
        }
        
        .course-item h3::before {
            content: "•";
            color: var(--mobile-menu-bg-color);
            margin-right: 8px;
            font-size: 1.2em;
        }
        
        /* Courses section styling */
        .courses-section {
            margin-top: 40px;
        }
        
        .courses-section h2 {
            color: var(--heading1-color);
            font-size: 1.6rem;
            margin-bottom: 20px;
            font-family: var(--fontfamily-menu);
            border-bottom: 2px solid var(--mobile-menu-bg-color);
            padding-bottom: 10px;
            width: fit-content;
        }
        
        .course-list {
            display: grid;
            gap: 20px;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        }
        
        /* Add hover effect to course items */
        .course-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        }
        
        /* Style for strong elements in course descriptions */
        .course-item p strong {
            color: var(--mobile-menu-bg-color);
            font-weight: 600;
        }

        /* Contact Form Styles */
        .contact-us {
            margin-top: 40px;
            padding: 20px;
            background-color: rgba(255, 255, 255, 0.6);
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
        }

        /* About Section Styles */
        .about {
            margin-top: 40px;
            padding: 20px;
            background-color: rgba(255, 255, 255, 0.6);
            border-radius: 8px;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
        }

        .contact-form {
            max-width: 600px;
            margin: 20px auto;
        }

        .contact-form p {
            margin-bottom: 20px;
            font-size: 1.1rem;
            color: var(--mobile-menu-bg-color);
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: var(--heading1-color);
        }

        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-family: inherit;
            font-size: 1rem;
            transition: border-color 0.3s ease;
            background-color: rgba(255, 255, 255, 0.9);
        }

        .form-group input:focus,
        .form-group textarea:focus {
            border-color: var(--heading1-color);
            outline: none;
            box-shadow: 0 0 0 2px rgba(101, 145, 164, 0.2);
        }

        .form-group textarea {
            resize: vertical;
            min-height: 120px;
        }

        .submit-btn {
            background-color: var(--heading1-color);
            color: white;
            border: none;
            padding: 12px 24px;
            font-size: 1.1rem;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.3s ease, transform 0.2s ease;
        }

        .submit-btn:hover {
            background-color: var(--mobile-menu-bg-color);
            transform: translateY(-2px);
        }

        .submit-btn:active {
            transform: translateY(1px);
        }

        .required {
            color: #e74c3c;
            margin-left: 4px;
        }

        .error-message {
            color: #e74c3c;
            font-size: 0.9rem;
            margin-top: 5px;
            display: block;
        }

        /* Honeypot field (hidden) */
        .honey-pot {
            position: absolute;
            left: -9999px;
            top: -9999px;
            opacity: 0;
            height: 0;
            width: 0;
            z-index: -1;
        }

        /* Thank You Page Styles */
        .thank-you-message {
            text-align: center;
            padding: 30px;
            background-color: rgba(255, 255, 255, 0.6);
            border-radius: 8px;
            margin: 40px 0;
            box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
        }

        .thank-you-message p {
            font-size: 1.2rem;
            margin-bottom: 20px;
            color: var(--mobile-menu-bg-color);
        }

        .return-link {
            margin-top: 30px;
        }

        .btn-return {
            display: inline-block;
            background-color: var(--heading1-color);
            color: white;
            padding: 12px 24px;
            text-decoration: none;
            border-radius: 4px;
            transition: background-color 0.3s ease, transform 0.2s ease;
        }

        .btn-return:hover {
            background-color: var(--mobile-menu-bg-color);
            transform: translateY(-2px);
        }
        /*make summary appear as a link */
        summary {
            cursor: pointer;
            color: var(--heading1-color);
            font-weight: bold;
            text-decoration: underline;
            margin-bottom: 10px;
        }

        /*
         * --- Responsive Breakpoint ---
         * Styles below this line will apply to screens wider than 768px.
        */
        @media (min-width: 784px) {
            .hamburger {
                /* Hide the hamburger icon on desktop. */
                display: none;
            }

            .nav-menu {
                /* Show the menu on desktop. */
                display: flex;
                /* Reset positioning for desktop view. */
                position: static;
                width: auto;
                border-bottom: none;
                background-color: transparent;
            }
            
            .nav-menu ul {
                display: flex;
                flex-direction: row;
            }

            .nav-menu li {
                /*
                 * --- CUSTOMIZABLE MENU ITEM MARGIN (DESKTOP) ---
                 * Purpose: Adjust the horizontal spacing between menu items on desktop.
                */
                /* margin: The format is 'vertical horizontal'. Reduced from 15px to 7px left and right. */
                margin: 0 7px;
            }
            
            .nav-menu a {
                padding: 2px;
                color: var(--body-background-color); /* text color for desktop navigation links */
            }

            .nav-menu a:hover {
                background-color: transparent;
                text-decoration: underline;
            }
        }

        /* --- Responsive YouTube Video Container --- */
        #yvideo {
            position: relative;
            width: 100%;
            max-width: 900px;
            margin: 2rem auto;
            padding: 0 1rem;
        }

        #yvideo::before {
            content: "";
            display: block;
            padding-top: 56.25%; /* 16:9 aspect ratio */
        }

        #yvideo iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: none;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        }

        /* --- Responsive Code Block Styling --- */
        .mycodeblock {
            margin: 1.5rem 0;
        }

        .mycodeblock p {
            margin-bottom: 0.5rem;
            font-weight: bold;
        }

        pre {
            background-color: #f4f4f4;
            border: 1px solid #ddd;
            border-left: 4px solid var(--heading1-color);
            padding: 1rem;
            overflow-x: auto;
            border-radius: 4px;
            margin: 0.5rem 0 1rem 0;
            line-height: 1.5;
            max-width: 100%;
        }

        pre code {
            font-family: 'Courier New', Consolas, Monaco, monospace;
            font-size: 0.9rem;
            display: block;
            white-space: pre;
            color: #333;
        }

        /* Tablet adjustments */
        @media (max-width: 768px) {
            #yvideo {
                max-width: 100%;
                margin: 1.5rem auto;
            }

            pre {
                padding: 0.75rem;
                font-size: 0.85rem;
            }

            pre code {
                font-size: 0.85rem;
            }
        }

        /* Mobile adjustments */
        @media (max-width: 480px) {
            #yvideo {
                padding: 0 0.5rem;
                margin: 1rem auto;
            }

            pre {
                padding: 0.5rem;
                font-size: 0.8rem;
                border-left-width: 3px;
            }

            pre code {
                font-size: 0.8rem;
            }

            .mycodeblock {
                margin: 1rem 0;
            }
        }

      
    