/************************************************
********* Desktop view (1024px and above) 
*************************************************/
/* Base Styles - Common across all pages */
/* Global Reset */
@media only screen and (min-width: 1024px) {
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        background-color: rgb(223, 222, 222);
        background-image: url('../images/backgound.png');
        background-size: cover;
        background-attachment: fixed;
    }

    body {
        line-height: 1;
        color: #000;
        font-family: Arial, Helvetica, sans-serif;
        font-display: swap;
        margin: 0;
        padding: 0;
        touch-action: manipulation;
        -ms-touch-action: manipulation;
    }

    /* Utility Classes */
    .clear {
        clear: both;
    }

    .clear-left {
        clear: left;
    }

    .clear-right {
        clear: right;
    }

    main {
        width: 100%;
    }

    /* Global Links */
    a,
    a:active {
        color: #ff4c00;
        text-decoration: none;
        touch-action: manipulation;
    }

    a:hover {
        text-decoration: underline;
    }

    a h2 {
        color: inherit;
        text-decoration: none;
        transition: color 0.2s ease, text-decoration-color 0.2s ease;
    }

    a:hover h2 {
        color: #1a7d31;
        text-decoration: underline;
    }

    /* Header Styles */
    #site-header {
        margin: 0;
        padding: 0;
    }

    #header-logo {
        display: inline-block;
        margin: 0.05rem 0 1rem 0;
        line-height: 0;
    }

    #header-logo picture,
    #header-logo img {
        display: block;
        filter: drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.5)) drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));
    }

    /* Navigation Menu */
    ul.cssmenu {
        list-style: none;
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
    }

    ul.cssmenu li {
        float: none;
        margin-right: 0;
    }

    ul.cssmenu li a {
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(180deg, #6fcf97, #2f9e44);
        color: #fff;
        font-weight: 600;
        font-size: 16px;
        text-decoration: none;
        border-radius: 999px;
        padding: 0.4rem 2rem;
        line-height: 1.2;
        transition: transform 0.15s ease, box-shadow 0.15s ease;
        touch-action: manipulation;
        -ms-touch-action: manipulation;
        white-space: nowrap;
    }

    ul.cssmenu li a span {
        display: block;
        text-indent: 0;
    }

    ul.cssmenu li a:hover {
        background: linear-gradient(to top, #1f8d3a, #d5ffd0);
        transform: translateY(-2px);
        box-shadow: 0 20px 8px rgba(0, 0, 0, .6);
        text-decoration: none;
    }

    /* Grid Styles */
    .grid_9 {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        margin-top: 1rem;
    }

    .grid_9 h2 {
        margin-top: 1rem;
        margin-bottom: 1rem;
        color: #ff4c00;
        font-size: 2.3em;
        font-weight: bold;
        text-align: center;
    }
}

/************************************************
********* Desktop view (1024px and above) 
*************************************************/
@media only screen and (min-width: 1024px) {
	#container {
		width: 960px;
		margin: 0 auto;
	}

	.container_12 {
		margin-left: auto;
		margin-right: auto;
		width: 960px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.grid_9 {
		width: 700px;
	}

	#site-header .container_12 {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 0.05rem;
		width: auto;
		max-width: 1000px;
	}

	ul.cssmenu li a {
		width: calc(175px - 2rem);
		height: 50px;
		line-height: 50px;
		font-size: 16px;
	}

	.nav-toggle .menu-text {
		display: none;
	}

	#site-footer .container_12 {
		width: 960px;
	}
}

/**********************************************
**** Tablet view (608px - 1023px) 
**********************************************/
@media only screen and (min-width: 608px) and (max-width: 1023px) {
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        background-color: rgb(223, 222, 222);
        background-image: url('../images/backgound.png');
        background-size: cover;
        background-attachment: fixed;
        background-position: center;
    }

    body {
        line-height: 1;
        color: #000;
        font-family: Arial, Helvetica, sans-serif;
        font-display: swap;
        margin: 0;
        padding: 0;
        touch-action: manipulation;
        -ms-touch-action: manipulation;
    }

    #site-header .container_12 {
        align-items: stretch;
        padding: 0 15px;
    }

    .nav-toggle {
        align-self: flex-end;
        width: 48px;
        height: 56px;
        border: none;
        background: transparent;
        display: grid;
        place-items: center;
        cursor: pointer;
        padding: 4px;
    }

    .nav-toggle span {
        display: block;
        width: 30px;
        height: 3px;
        background: #1a7d31;
        border-radius: 2px;
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .nav-toggle span:nth-child(2) {
        margin: 7px 0;
    }

    .nav-toggle .menu-text {
        width: auto;
        height: auto;
        background: none;
        color: #1a7d31;
        font-size: 11px;
        font-weight: 600;
        margin-top: 4px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .nav-open .nav-toggle span:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }

    .nav-open .nav-toggle span:nth-child(2) {
        opacity: 0;
    }

    .nav-open .nav-toggle span:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }

    .nav {
        display: none;
        width: 100%;
    }

    .nav ul.cssmenu {
        list-style: none;
        padding: 0;
        margin: 0;
        flex-direction: column;
        gap: 10px;
        width: 100%;
        align-items: flex-start;
        --nav-btn-width: 115px;
    }

    .nav-open .nav {
        display: block;
    }

    ul.cssmenu li a {
        display: inline-block;
        width: var(--nav-btn-width);
        max-width: var(--nav-btn-width);
        min-width: var(--nav-btn-width);
        height: auto;
        line-height: 1.2;
        padding: 14px 22px;
        background: linear-gradient(to top, #1a7d31, #c1ffb4);
        color: #000000;
        text-align: center;
        font-weight: bold;
        text-decoration: none;
        border-radius: 8px;
        transition: background 0.3s, transform 0.2s, box-shadow 0.2s;
		margin: 0 0 0.25rem 0;
        font-size: 16px;
    }

    ul.cssmenu li a:hover {
        background: linear-gradient(to top, #1f8d3a, #d5ffd0);
        transform: translateY(-1px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        text-decoration: none;
    }
} 

/*************************************************
*** Mobile view (max-width: 607px) 
**************************************************/
@media only screen and (max-width: 607px) {
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        background-color: rgb(223, 222, 222);
        background-image: url('../images/backgound.png');
        background-size: cover;
        background-attachment: scroll;
        background-position: center;
    }

    body {
        line-height: 1;
        color: #000;
        font-family: Arial, Helvetica, sans-serif;
        font-display: swap;
        margin: 0;
        padding: 0;
        touch-action: manipulation;
        -ms-touch-action: manipulation;
    }

    #site-header .container_12 {
        align-items: stretch;
    }

    .nav-toggle {
        align-self: flex-end;
        width: 44px;
        height: 54px;
        border: none;
        background: transparent;
        display: grid;
        place-items: center;
        cursor: pointer;
        padding: 4px;
    }

    .nav-toggle span {
        display: block;
        width: 28px;
        height: 3px;
        background: #1a7d31;
        border-radius: 2px;
        transition: transform 0.25s ease, opacity 0.25s ease;
    }

    .nav-toggle span:nth-child(2) {
        margin: 6px 0;
    }

    .nav-toggle .menu-text {
        width: auto;
        height: auto;
        background: none;
        color: #1a7d31;
        font-size: 10px;
        font-weight: 600;
        margin-top: 3px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .nav-open .nav-toggle span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .nav-open .nav-toggle span:nth-child(2) {
        opacity: 0;
    }

    .nav-open .nav-toggle span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .nav {
        display: none;
        width: 100%;
    }

    .nav ul.cssmenu {
        list-style: none;
        padding: 0;
        margin: 0;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        align-items: flex-start;
        --nav-btn-width: 115px;
    }

    .nav-open .nav {
        display: block;
    }

    ul.cssmenu li a {
        display: inline-block;
        width: var(--nav-btn-width);
        max-width: var(--nav-btn-width);
        min-width: var(--nav-btn-width);
        height: auto;
        line-height: 1.2;
        padding: 12px 20px;
        background: linear-gradient(to top, #1a7d31, #c1ffb4);
        color: #000000;
        text-align: center;
        font-weight: bold;
        text-decoration: none;
        border-radius: 8px;
        transition: background 0.3s, transform 0.2s, box-shadow 0.2s;
        margin-bottom: 0.25rem;
    }

    ul.cssmenu li a:hover {
        background: linear-gradient(to top, #1f8d3a, #d5ffd0);
        transform: translateY(-1px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        text-decoration: none;
    }
}