body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    background-color: #fff; /* for test, change to #222 */
}



/* ============================ Banner styling =============================== */



#banner {
    background-color: rgb(26, 26, 46);
    color: #cccecf;
    padding: 20em 0 45em 0;
    text-align: center;
    overflow: hidden;
    position: relative;
}
#banner .banner-bg {
    position: absolute;
    height:auto;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    top: -5em;
    text-align: center;
}

 #banner svg {
    position: absolute;
    bottom: 0;
    left: 0;
}
 
#banner img {
    width: auto;
    height: 800px; /* This keeps the image's aspect ratio while resizing it */
    margin: 0 auto;
    display: block; /* Remove gaps beneath the image */
    
}

.banner-text {
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background for readability */
    padding: 20px;
    border-radius: 10px;
    width: 80%; /* Make text box narrower for better mobile readability */
    max-width: 600px;
    border: black;
    box-shadow: 0px 0px 15px rgb(0, 0, 0);
    border-style: solid;
    padding-bottom: 2em;
    margin-top: 2em;
}

.banner-text h2, .banner-text h3 {
    margin: 5px 0; /* Add some space between the elements */
    padding: 0.5em 0
}

.table {
    table-layout: auto;
    margin-left: auto;
    margin-right: auto;
    width: 60%;
      }
.t-center{
    text-align:center;
    vertical-align:center;
    font-weight: bold
}

.t-left{
    text-align:left;
    vertical-align:center;
    line-height: 30px;
    font-weight: bold

}

.clouds {

    font-size: 0;
}

/* ============ Responsive Design Media Queries ============ */

@media (max-width: 1910px) {
    #banner {
        padding: 00em 0 45em 0;
    }
    #banner .banner-bg {
        top: 0em;
    }
}

@media (max-width: 1410px) {
    #banner {
        padding: 00em 0 40em 0;
    }
    #banner .banner-bg {
        top: -5em;
    }
}

@media (max-width: 1225px) {
    #banner {
        padding: 10em 0 25em 0;
    }

    #banner .banner-bg {
        top: 0em;
    }

    .banner-text {
        width: 80%; /* Make text box narrower for better mobile readability */
        max-width: 500px;
    }
    
    .banner-text h2, .banner-text h3 {
        font-size: 14px;
    }
    .table {
        width: 80%;      
    }

    .t-center{
        text-align:center;
        vertical-align:center;
        font-weight: bold;
    }
    
    .t-left{
        text-align:left;
        vertical-align:center;
        line-height: 30px;
        font-weight: bold;
    }
}


@media (max-width: 960px) {
    #banner {
        padding: 5em 0 25em 0;
    }

    #banner .banner-bg {
        top: 0em;
    }

    .banner-text {
        width: 80%; /* Make text box narrower for better mobile readability */
        top: 40%;
        max-width: 450px;
    }

    .banner-text h2, .banner-text h3 {
        font-size: 14px;
    }
    .table {
        width: 80%;      
    }

    .t-center{
        font-size: 12px;
    }
    
    .t-left{
        line-height: 18px;
        font-size: 12px;
    }
}




/* ============ Responsive Design Media Queries ============ */

/* For screens smaller than 768px (tablets and phones) */
@media (max-width: 768px) {
    #banner {
        padding: 18em 0 8em 0;
    }
    
    #banner .banner-bg {
        width: 120%;
        top: 2em;
        left: -2em;
    }

    .banner-text {
        width: 90%; /* Adjust text container width */
        top: 40%;
        padding: 15px;
    }

    .banner-text h2, .banner-text h3 {
        font-size: 14px;
    }
    .table {
        width: 80%;      
    }

    .t-center{
        font-size: 12px;
    }
    
    .t-left{
        line-height: 18px;
        font-size: 12px;
    }
}

/* For even smaller screens (phones) */
@media (max-width: 480px) {
    #banner {
        padding: 20em 0 0em 0;
    }

    #banner .banner-bg {
        width: 120%;
        top: 0em;
        left: -2em;
    }
    .banner-text {
        font-size: 0.9rem; /* Further reduce the font size on smaller phones */
        top: 40%;
        padding: 10px;
        max-width: 350px;
    }

    .banner-text h2 {
        font-size: 0.8rem; /* Further decrease for phones */
    }

    .banner-text h3, .banner-text h4, .banner-text p {
        font-size: 0.7rem; /* Smaller text on phones */
    }

    .table {
        width: 80%;      
    }

    .t-center{
        font-size: 10px;
    }
    
    .t-left{
        line-height: 12px;
        font-size: 10px;
    }
}