html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    display: flex;
}

.panel-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.main-panel {
    flex: 1;
    display: flex;
/*    justify-content: center;
    align-items: center;*/
    min-height: 0;
    min-width: 0;
    position: relative;
    aspect-ratio: 1/1;
}

.widget-panel {
   /* flex: 0 0 200px;*/
    padding: 10px;
    min-height: 200px;
    min-width: 200px;
    display: flex;
 /*   flex-wrap: wrap;*/
    justify-content: left;
}

.widget {
    padding: 10px;
}


/* Wide screen */
@media (min-aspect-ratio: 1/1) {
    .panel-container {
        flex-direction: row;
    }

    .main-panel {
        width: 75vw;
        max-width: 100vh;
        flex-basis: 100%;
    }

    .widget-panel {
        height: 100%;
        width: 100%;
        min-width: 200px;
        flex-direction: column;
    }

    .widget {
        flex-direction: column;
    }
}

/* Tall screen */
@media (max-aspect-ratio: 1/1) {
    .panel-container {
        flex-direction: column;
    }

    .main-panel {
        width: 100%;
    }

    .widget-panel {
        height: calc(95vh - 210px);
        height: 25vh;
        max-height: 100vw;
        flex-direction: row; /* List widgets horizontally */
    }

    .widget {
        flex-direction: row;
    }
}

#home {
    padding: 10px;
}

#home .variant-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

#home h1 {
    font-size: 1.5em;
}
#home h3 {
    font-size: 1em;
}

#home .subvariant {
    border: 1px solid #ccc;
    padding: 5px;
    margin-bottom: 10px;
}

#home .variant {
    border: 1px solid #000;
    padding: 10px;
    margin-bottom: 20px;
}

#home .btn {
    margin-top: 10px;
}

#home .text-muted {
    font-size: 0.9em;
    color: #6c757d;
}

#intro {
    display: flex;
    flex-direction: row;
}

#home img.logo {
    width: 30%;
}


.accordion-item {
    width: 100%;
}

.accordion-button {
    width: 100%;
}

.accordion-body {
    width: 100%;
}

#bottomBanner ul {
    display: flex;
    list-style-type: none;
    padding: 0;
    margin: 0;
    font-size: 0.6em;
    justify-content: center;
}

    #bottomBanner ul li {
        margin-right: 15px;
    }

        #bottomBanner ul li a {
            text-decoration: none;
        }