/* Body styles with background image and overall layout */
body {
    line-height: 1.5;
    font-size: 1rem;
    margin: 0;
    padding: 0;
    background: rgb(84, 77, 71) url('/assets/img/bg1.jpg') repeat;
    display: block;
}

/* Container for main content with a white background and rounded corners */
.main {
    height: 100%;
    background: white;
    border-radius: 0.5em;
    max-width: 80dvw;
    margin: 1.875em auto;
    box-shadow: 0 0.375em 0.9375em rgba(0, 0, 0, 0.35);
    padding: 1.25em;
}

/* Navigation bar layout and styling */
.nav-bar {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    color: #000;
}

.nav-bar img {
    padding: 1.4em;
    width: 11.875em;
    min-width: 3.75em;
}

.nav-bar h1 {
    flex-grow: 1;
    width: 100%;
    min-width: 5em;
    font-family: "Libre Franklin", "Arial Black", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 800;
    font-size: clamp(0.8em, 2.1vw, 1.7em);
    padding-top: 0.125em;
}

.nav-bar ul {
    display: flex;
    list-style: none;
    min-width: 14em;
    justify-content: flex-end;
}

.nav-bar li {
    display: inline-block;
    padding: 1.85em 0.8em 0 0; /* fine tune location */
}

.nav-bar a {
    text-decoration: none;
    font-size: clamp(0.6em, 1.6vw, 1.2em);
    font-weight: 500;
    transition: color 0.3s ease, background-color 0.3s ease;
    margin: 0;
    color: #494646;
    white-space: nowrap;
    padding: 0.5em;
}

.nav-bar a:hover {
    color: #ffcc00;
    background-color: rgba(255, 255, 255, 0.1);
}

.nav-bar a:active,
.nav-bar .current {
    color: #ff6600; /* Change color when clicked or active */
    font-weight: bold;
}

.nav-bar a:nth-child(1) {
    padding-right: 0.5rem;
}

/* Banner styling */
.banner img {
    width: 100%;
    height: auto;
    display: block;
}

/* Hero section with top padding */
.hero {
    padding-top: 4em;
}

.hero h1 {
    text-align: center;
    font-size: clamp(0.8em, 2.7vw, 3.8em);
    font-weight: 800;
    padding-bottom: 1.4em;
    border-bottom: 0.125em solid #ccc;
}

.hero p {
    text-align: left;
    font-size: clamp(0.6em, 1.9vw, 2.5em);
    padding-top: 1.25em;
    padding-bottom: 4.375em;
}

/* Topic title styling with bottom border */
.topic-title h2 {
    margin-bottom: 0.625em;
    border-bottom: 0.125em solid #ccc;
    font-size: clamp(0.8em, 1.7vw, 2.2em);
    font-weight: 900;
}

/* Layout for topics */
.energy-topics {
    display: flex;
    padding-top: 1em;
    padding-bottom: 3.125em;
    gap: 1em;
    flex-wrap: wrap;
}

/* Image styling in topics */
.topic-text {
    flex: 2;
    font-size: clamp(0.6em, 1.6vw, 1.2em);
}

.topic-text p {
    padding-bottom: 2.5rem;
}

.topic-image {
    padding-left: 1.25rem;
    width: 25%;
    min-width: 9.375rem;
}

.topic-image img {
    float: right;
    margin-left: 1.25rem;
    width: 100%;
    max-width: 15.625rem;
    height: auto;
}

/* Styling for testimonial section */
.testimonial-title h2 {
    text-decoration: none;
    font-weight: 800;
    border-bottom: 0.125rem solid #ccc;
}

.testimonial {
    display: flex;
    flex-direction: row;
    border-bottom: 0.125em solid #ccc;
    padding-top: 1.25em;
    padding-bottom: 1.25em;
}

.testimonial-text {
    flex: 2;
    padding-left: 1em;
    font-size: clamp(0.6em, 1.6vw, 1.2em);
}

.testimonial-text h3 {
    text-decoration: none;
    margin-bottom: 0.625rem;
    font-size: clamp(0.6rem, 1.5vw, 1.2rem);
    font-weight: 800;
    border: none;
}

.testimonial-image {
    position: relative;
    flex: 1;
    max-width: 20%;
}

.testimonial-image img {
    float: left;
    margin-right: 1.25em;
    width: 100%;
    max-width: 13.125em;
    height: auto;
}
.testimonial-text::after {
    content: "";
    display: table;
    clear: both;
}

.testimonial-image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0.5rem;
    height: 100%;
    background-color: #00ffdd;
}

/* List Styles */
.list-box {
    display: flex;
    flex-direction: column;
    width: 90%;
    background-image: linear-gradient(to bottom, #f87c19, #fb8e3a, #fd9f57, #feb072, #ffc08e);
    border-radius: 0.625em;
    padding: 1.25em;
    margin-left: auto;
    margin-right: auto;
}

.list-box h2 {
    font-size: clamp(1.2em, 2vw, 1.6em);
    font-weight: 800;
    border-bottom: 0.0625em dotted #000;
    margin-bottom: 1em;
}

.txt-layout {
    margin: 1dvw auto; /* Centers the container */
}

.txt-layout p {
    padding-bottom: 1rem;
    font-size: clamp(0.8rem, 1.6vw, 1.2rem);
}

/* Two-column layout for lists */
.two-column {
    column-count: 2; /* Forces two columns */
    column-gap: 5%; /* Space between columns */
    column-fill: balance; /* Ensures text is evenly distributed */
    height: auto; /* Allows height to adjust to content */
    overflow: hidden; /* Prevents overflow issues */
}

h3 {
    margin-top: 0;
    break-inside: avoid;
    font-size: clamp(1rem, 1.6vw, 1.4rem);
    font-weight: 800;
    margin-bottom: 1dvh;
    border-bottom: 0.0625rem dotted #000;
}

/* Styling for unordered lists */
ul {
    margin: 0 0 20px 0; /* Adds spacing below lists */
    padding-left: 20px; /* Indents list items */
    list-style-type: disc; /* Adds dots (bullets) in front of list items */
    break-inside: avoid; /* Prevents list items from splitting across columns */
}

li {
    margin-bottom: 10px; /* Spacing between list items */
}

/* Footer section alignment */
footer {
    text-align: center;
}

footer h2 {
    font-weight: bold;
}

/* Footer container layout */
.footer-container {
    display: flex;
    justify-content: space-evenly;
    margin-bottom: 2em;
}

.footer-column {
    width: 30%;
    text-align: center;
}

.footer-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-right: 0.0625em solid black;
    padding-right: 2em;
    color: black;
    font-size: clamp(0.7em, 1.8vw, 1.3em);
}

.footer-content.no-border {
    border-right: none; /* No border on the last section */
}

.footer-column h3 {
    font-weight: bold;
}

.footer-column hr {
    width: 80%;
    margin: 0 auto;
    border: 0;
    border-top: 1px solid #777;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 1px;
    color: black;
    font-size: 1em;
}

.footer-column ul li a {
    text-decoration: none;

}

.footer-column ul li a:hover {
    text-decoration: underline;
}

.footer-bottom {
    width: 100%;
    text-align: center;
    padding-top: 2em;
    margin-top: 2em;
}

.footer-bottom hr {
    width: 90%;
    margin: 1em auto;
    border: 0;
    border-top: 1px solid #ccc;
}

.footer-bottom a {
    text-decoration: none;
    color: black;
}

.footer-bottom a:hover {
    text-decoration: underline;
}


/* Media queries for responsiveness */
@media (max-width: 768px) {
    .topic-image img, .testimonial-image img {
        float: none; /* Removes floating on smaller screens */
        width: 90%; /* Make the image full-width */
        margin-right: 0; /* Removes margin */
    }
}

/* Adjustments for small screens */
@media (max-width: 600px) {
    .two-column {
        column-count: 1; /* Switches to single column on small screens */
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 1em 0; /* Reduce padding */
        text-align: center; /* Ensure text stays centered */
    }

    .hero h1 {
        margin-bottom: 0.5em; /* Reduce bottom margin */
        font-size: 0.8em; /* Adjust font size if needed */
    }

    .hero img {
        max-width: 100%; /* Ensure the image scales properly */
        height: auto;
    }
}

/* Button container styling */
.button-container {
    display: flex;
    justify-content: center; /* Centers horizontally */
    align-items: center; /* Centers vertically */
    margin: 0;
}

.custom-button-1, .custom-button-2 {
    display: inline-block;
    padding: 10px;
    margin-top: 50px;
    margin-bottom: 70px;
    background-color: white;
    color: black;
    border: 1px solid black;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    width: 15vw;
    box-sizing: border-box;
    font-size: 16px;
    transition: background-color 0.3s;
}

.custom-button-1:hover, .custom-button-2:hover {
    background-color: #f0f0f0;
}

/* --- End Transmission! --- */
.at-last {
    height: 30px;
}