/* Reset some basic elements for better compatibility */
body, h1, h2, h3, p, ul, li {
    margin: 0;
    padding: 0;
}

/* Body and overall structure */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f0f8ff;
    color: #333;
    overflow-x: hidden;  /* Prevent horizontal scrolling */
}

/* Important info bar */
.info-bar {
    background-color: #ffeb3b;
    color: #333;
    text-align: center;
    padding: 10px;
    font-weight: bold;
}

.subtitle {
    background-color: #ccc;
    color: #000000;
    text-align: left;
    padding: 10px;
    font-weight: bold;
}

/* Header section */
.header {
    background-color: #87ceeb;
    color: white;
    padding: 20px;
    text-align: center;
}

.header h1 {
    margin: 0;
}

/* Navigation bar */
.navbar {
    background-color: #4682b4;
    overflow: hidden;
    position: relative;
    border-radius: 20px;  /* More rounded corners */
}

.navbar a {
    float: left;
    display: block;
    color: white;
    text-align: center;
    padding: 14px 20px;
    text-decoration: none;
}

.navbar a:hover {
    background-color: #5f9ea0;
    color: white;
}

.navbar .icon {
    display: none;
}

/* Main content area */
.main-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;  /* Allow wrapping to prevent overflow */
    padding: 20px;
}

.left-column, .right-column, .center-column {
    flex: 1;
    margin: 10px;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    box-sizing: border-box;  /* Include padding and border in the element's total width and height */
    border-radius: 20px;  /* More rounded corners */
}

.center-column {
    flex: 2;
}

.search-box {
    margin-top: 20px;
    text-align: center;
}

.search-box input[type="text"] {
    padding: 10px;
    width: 100%;  /* Adjust width to prevent overflow */
    max-width: 400px; /* Limit the width on larger screens */
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;  /* Include padding and border in the element's total width and height */
}

.search-box input[type="submit"] {
    padding: 10px 20px;
    font-size: 16px;
    background-color: #4682b4;
    color: white;
    border: none;
    border-radius: 0 4px 4px 0;  /* Rounded corners on the right side */
    cursor: pointer;
    box-sizing: border-box;  /* Include padding and border in the element's total width and height */
}

.search-box input[type="submit"]:hover {
    background-color: #5f9ea0;
}

/* Footer section */
.footer {
    background-color: #4682b4;
    color: white;
    text-align: center;
    padding: 10px;
    position: fixed;
    width: 100%;
    bottom: 0;
    box-sizing: border-box;  /* Include padding and border in the element's total width and height */
    border-radius: 20px;  /* More rounded corners */
}

/* Media Queries for Mobile Devices */
@media (max-width: 768px) {
    .navbar a {
        float: none;
        display: none; /* Initially hide links */
        text-align: left;
        padding: 10px;
    }

    .navbar a.icon {
        float: right;
        display: block;
        padding: 14px 20px;
    }

    .navbar.responsive {
        position: relative;
    }

    .navbar.responsive .icon {
        position: absolute;
        right: 0;
        top: 0;
    }

    .navbar.responsive a {
        float: none;
        display: block; /* Show links when responsive class is added */
        text-align: left;
        padding: 10px;
    }

    .main-content {
        flex-direction: column;
        padding: 10px;
    }

    .left-column, .right-column, .center-column {
        margin: 5px 0;
        padding: 15px;
        flex: 1 100%; /* Ensure columns take full width */
        box-sizing: border-box;  /* Include padding and border in the element's total width and height */
        border-radius: 20px;  /* More rounded corners */
    }

    .search-box {
        flex-direction: column; /* Stack input and button vertically */
        width: 100%;
        border-radius: 20px;
    }

    .search-box input[type="text"] {
        width: 100%;
        margin-bottom: 10px;
    }

    .search-box input[type="submit"] {
        width: 100%;
    }

    .footer {
        position: static;
        padding: 15px;
    }
}
