/* default page styles ------------------------------------------- */
    html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 100%;
        font: inherit;
        vertical-align: baseline;
        outline: none;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    html { height: 101%; }

    body {
        font-size: 62.5%;
        line-height: 1;
        padding-bottom: 65px;
        font-family: Arial, Tahoma, sans-serif;
        background-image: radial-gradient(circle, white, #d4e7e3 50%, #abe3d7 80%);
    }

    article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
        display: block; }

    ol, ul { list-style: none; }

    blockquote, q { quotes: none; }
    blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
        strong { font-weight: bold; }

    table { border-collapse: collapse; border-spacing: 0; }
    img { border: 0; max-width: 100%; }

    h1 { 
        font-family: 'Merienda', 'Trebuchet MS', Verdana, sans-serif; 
        font-size: 2.95em; 
        line-height: 1.7em; 
        margin-bottom: 20px; 
        font-weight: bold; 
        letter-spacing: -0.03em; 
        color: #675d90; 
        text-shadow: 2px 2px 0px rgba(255,255,255,0.65); 
        text-align: center; 
    }
    h2 {
        text-align: center;
        margin: 10px auto;
        font-size: 1.5rem;
    }
    h3 {
    font-size: 1.5rem;
    margin: 0 auto;
    text-align: center;
    }
    h4 {
        font-family: var(--ff-h4, sans-serif);
        font-size: var(--fs-h4, 1rem);
        font-weight: bold;
        color: #C03;
        text-indent: 20px;
        margin: 10px 0;
    }

/* page styles ---------------------------------------------- */
    #w {
        width: 95%;
        display: grid;
        grid-template-columns: 200px 1fr;
        padding-top: 45px;
        grid-column-gap: 25px;
    }
    #w p {
        font-family: var(--ff-p,);
        color: black;
        font-size: var(--fs-p, .9rem);
        line-height: 1.6em;
        margin: 10px 10px 10px 10px; 
    }

/* small screen - temp fix */
    @media only screen and (max-width: 768px) {
        #w {
            display: block;
        }
    }

/* nav menu styles ------------------------------------------------------- */
    nav {
        grid-column: 1 / 2;
        }
    nav #menu-button {
        display: none;
        }

    nav.small-screen #menu-button {
        margin: 0;
        border: 0;
        list-style: none;
        /* line-height: 1; */
        display: block;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 17px;
        color: #dddddd;
        cursor: pointer;
        font-size: 12px;
        text-transform: uppercase;
        font-weight: 700;
        background: -moz-linear-gradient(top, #343434, #292929);
        }

    /* add hamburger */
    nav.small-screen #menu-button:after {
        position: absolute;
        top: 22px;
        right: 17px;
        display: block;
        height: 4px;
        width: 20px;
        border-top: 2px solid #dddddd;
        border-bottom: 2px solid #dddddd;
        content: '';
        }
    nav.small-screen #menu-button:before {
        position: absolute;
        top: 16px;
        right: 17px;
        display: block;
        height: 2px;
        width: 20px;
        background: #dddddd;
        content: '';
        }

    /* change hamburger to cross on opening */

    nav.small-screen #menu-button.menu-opened:after {
        top: 23px;
        border: 0;
        height: 2px;
        width: 15px;
        background: #ffffff;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
        }

    nav.small-screen #menu-button.menu-opened:before {
        top: 23px;
        background: #ffffff;
        width: 15px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
        }

    #nav {
        display: none;
        margin: 0 auto;
        -webkit-box-shadow: 3px 2px 3px rgba(0,0,0,0.7);
        -moz-box-shadow: 3px 2px 3px rgba(0,0,0,0.7);
        box-shadow: 3px 2px 3px rgba(0,0,0,0.7);
        }

    /* small screen - temp fix */
        @media only screen and (max-width: 768px) {
            nav { width: 100%;}
        }

    #nav > li > a {
        display: block;
        padding: 16px 18px;
        font-size: 1.3em;
        font-weight: bold;
        color: #d4d4d4;
        text-decoration: none;
        border-bottom: 1px solid #212121;
        background-color: #343434;
        background: -webkit-gradient(linear, left top, left bottom, from(#343434), to(#292929));
        background: -webkit-linear-gradient(top, #343434, #292929);
        background: -moz-linear-gradient(top, #343434, #292929);
        background: -ms-linear-gradient(top, #343434, #292929);
        background: -o-linear-gradient(top, #343434, #292929);
        background: linear-gradient(top, #343434, #292929);
    }

    #nav > li > a:hover, #nav > li > a.open {
        color: #e9e9e9;
        border-bottom-color: #384f76;
        background-color: #6985b5;
        background: -webkit-gradient(linear, left top, left bottom, from(#6985b5), to(#456397));
        background: -webkit-linear-gradient(top, #6985b5, #456397);
        background: -moz-linear-gradient(top, #6985b5, #456397);
        background: -ms-linear-gradient(top, #6985b5, #456397);
        background: -o-linear-gradient(top, #6985b5, #456397);
        background: linear-gradient(top, #6985b5, #456397);
    }

    #nav li ul {
        display: none;
        background: #4a5b78;
    }

    #nav li ul li a {
        display: block;
        background: none;
        padding: 10px 0px;
        padding-left: 30px;
        font-size: 1.1em;
        text-decoration: none;
        font-weight: bold;
        color: #e3e7f1;
        text-shadow: 1px 1px 0px #000;
    }

    #nav li ul li a:hover {
        background: #394963;
    }

    #nav > li ul li> a:hover, #nav > li ul li> a.open {
        color: #e9e9e9;
        border-bottom-color: #384f76;
        background-color: #69a6b5;
        background: -webkit-gradient(linear, left top, left bottom, from(#6985b5), to(#456397));
        background: -webkit-linear-gradient(top, #6985b5, #456397);
        background: -moz-linear-gradient(top, #6985b5, #456397);
        background: -ms-linear-gradient(top, #6985b5, #456397);
        background: -o-linear-gradient(top, #6985b5, #456397);
        background: linear-gradient(top, #6985b5, #456397);
    }

    #nav li ul li ul li a {
        display: block;
        background: none;
        padding: 10px 0px;
        padding-left: 45px;
        font-size: 1.1em;
        text-decoration: none;
        font-weight: bold;
        color: #e3edf1;
        text-shadow: 1px 1px 0px #000;
    }

    #nav li ul li ul li a:hover {
        background: #394963;
    }

/* Article ======================= */
    .content {
        grid-column: 2 / 3;
        grid-row: 2 / -1;
        display: grid;
        grid-template-columns: 2fr 1fr;
        padding: 10px;
      }
      .content p {
        font-family: var(--ff-p,);
        color: black;
        font-size: var(--fs-p, .9rem);
        line-height: 1.6em;
        margin: 10px 10px 10px 10px;
      }
      
/* page elements -------------------------------------- */
    h1 {
        grid-column: 1 / 3;
    }
    h2 {
       grid-column: 2 / 3; 
    }

    sub, sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline;
        }
    sup {
        top: -0.5em;
      }
    sub {
        bottom: -0.25em;
      }
    #w {
        grid-template-rows: 3fr;
      }
        .sidenav {
            grid-row: 2 / -1;
        }
        .side {
            margin-top: 25px;
        }
        .side p {
            font-size: 18px;
        }
    
      
        .content-top {
          grid-column: 1 / -1; 
        }
        /* small screen  */
        @media only screen and (max-width: 768px) {
            .content-top {
                grid-template-columns: 1fr;
            }
        }

        .content-left {
            grid-column: 1 / 2;
            padding: 10px;
            background-color: transparent;
        }

         /* small screen  */
        @media only screen and (max-width: 768px) {
            .content-left {
                grid-column: 1 / -1;
            }
        }
        
        .content-right {
            grid-column: 2 / 3; 
        }

        /* small screen  */
        @media only screen and (max-width: 768px) {
            .content-right {
                grid-column: 1 / -1;
            }
        }

        .content-right figure {
            border: 1px #cccccc solid; /* Adds a border around the figure */
            padding: 4px;             /* Adds space between the content and border */
            margin: auto;             /* Centers the figure horizontally if a width is set */
            width: 100%;               /* Sets the width */
        }
        .content-right figcaption {
            margin-top: 10px;    
            background-color: lightgray;
            font-style: italic;
            font-size: .9rem;
            padding: 2px;
            text-align: left;
        }
        .content-right img {
            display: block; /* Images are inline by default, so they must be changed to block */
            margin-left: auto;
            margin-right: auto;
            /* Optional: Define a width if the image is stretching the full width of the container */
            width: 95%; 
        }
        iframe {
            width: 90%;        /* Make the iframe responsive to its container width */
            height: 500px;      /* Set a specific height */
            border: none;       /* Remove the default border */
            margin: 0;          /* Remove default margins */
            padding: 0;         /* Remove default padding */
            box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* Add a subtle shadow */
        }
        .content-block {
             padding: 10px;
        }
        .content-block h3 {
            text-align: left;
            font-family: var(--ff-h3, sans-serif);
            color: blue;
            font-size: var(--fs-h3, 1rem);
            line-height: 2em;
            border-left-width: 5px;
            margin: 10px 10px 10px 10px;
            padding-left: 10px;
            font-weight: bold;
        }
 /* list Elements - main body ======================= */  
        .content-left ul {
            color: black;
            font-size: var(--fs-p, .9rem);
            line-height: 1em;
            margin: 5px;
        }
        .content-left li {
            color: black;
            font-size: var(--fs-p, .9rem);
            line-height: 1em;
            margin: 5px;
            margin-left: 25px;
        }


 /* Table and Form ======================= */   
        .content fieldset {
            /* Style the container */
            background-color: #eeeeee;
            border: 1px solid #ddd;
            padding: 12px; /* Adds space inside the fieldset */
            margin: 20px; /* Adds space around the fieldset */
            }

        .content legend {
        /* Style the legend caption */
            background-color: white; /* Dark background */
            color: black; /* White text color */
            padding: 5px 10px; /* Spacing inside the legend */
            font-size: 1.1em; /* Slightly larger font */
            font-weight: bold; /* Bold text */
            border-radius: 5px; /* Rounded corners */
            margin: 0; /* Remove default margin for consistent placement */
        }
        .content table {
            width: 98%;
            margin: 0 auto 0 auto;
            font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, sans-serif;
            color: black;
            font-size: var(--fs-t, .9rem);
            line-height: 2em;
            border: 3px solid black;
            border-collapse: collapse;
        }
        .content thead tr {
                background-color: #ccd;
        }
        .content thead tr th {

            border: 1px solid black;

        }
        .content thead th {

            position: sticky;
            top: 0px;
        }
        .content table tbody {

        }
        .content table tbody tr {
            background-color: #ebe6cc;
        }
        .content table tbody tr:nth-child(5n-4) {
            height: 5px;
            background-color: #f9f2f2;
        }
        .content table tbody td {
            text-align: center;
            border: 1px solid black;
        }


       
/*  Footer ======================= */  
      footer {
        clear: both;
        grid-column: 1 / -1;
        display: block;
        background-color: #68A8D2;
        color: #ffc;
        background-image: url(../images/template%20images/background.png);
        background-repeat: repeat-x;
        height: 4em;
        border-radius: 10px;
      }
      footer p {
        padding-left: 25px;
        font-size: var(--fs-p, 1rem);
      }


    details {
        font-size: 18px;
        width: 96%;
        background-color: transparent;
        padding: 15px;
    }
    details summary {
        background-color: #23856f;
        color: white;
        padding-top: 10px;
        padding-bottom: 10px;
        width: 50%;
    }
      @media only screen and (max-width: 480px) {
        details summary {
            font-size: 14px;
        }
      }

    /* Table Formatting and details */

    .content details table {
        width: 95%;
        margin: 0 auto 0 auto;
        font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, sans-serif;
        color: black;
        font-size: var(--fs-t, .9rem);
        line-height: 2em;
        border: 3px solid black;
        border-collapse: collapse;
    }
    @media only screen and (max-width: 480px) {
        .content details table {
            width: 100%;
            font-size: 9px;
            margin: 0;
        }

    }
    .content details thead tr th {
    border: 1px solid black;
    }
    .content details thead th {
        position: sticky;
        top: 0px;
    }
    .content details table tbody tr {
        background-color: #ebe6cc;
    }
    .content details table tbody tr:nth-child(5n-4) {
        height: 5px;
        background-color: #f9f2f2;
    }
    .content details table tbody td {
        text-align: center;
        border: 1px solid black;
    }
