/* universal */
.body {
    overflow: auto;
    background-color: #121212;
    margin: 0px;
    padding-top: 2.25em;
}

.body-covered {
    overflow: hidden;
    background-color: #121212;
    margin: 0px;
}

.button {
    background-color: #575757;
    border-color: #575757;
    color: #dddddd;
    border-radius: 10px;
    padding-block: 3px;
    padding-inline: 5px;
}

.button:hover {
    background-color: #676767;
    color: #fee17d;
}


/* interface */
.interface {
    background-color: #121212    
}

.form-wrapper {
    display: flex;
    justify-content: center;
}

.interface form {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    color: #ffeba9;
    background-color: #282828;
    border-radius: 5px;
    margin-bottom: 1em;
    padding: 0.25em 1vw;
}

.interface form > div {
    align-self: stretch;
    padding: 0.25em 1vw;
    /*background-color: #282828;*/
}

.form-section {
    display: flex;
    align-items: center;
}

.chart-dropdown {
    display: none;
    position: absolute;
    background-color: #282828;
    border: 2px solid #fee17d;
    border-radius: 10px;
    min-width: max-content;
    z-index: 15;
}

.chart-dropdown > div {
    padding: 0.1em 0.7em 0.3em 0.7em;
    text-decoration: none;
    text-align: center;
    display: block;
}

.word {
    background-color: #3f3f3f;
    border-color: #3f3f3f;
    border-radius: 10px;
    color: #dddddd; margin: 5px;
}

.word:focus {
    outline: 1px solid #ffeba9;
    box-shadow: 0 0 5px #ffeba9;
}

.interface .button {
    margin: 5px;   
}

.highlight {
    color: #fee17d;
}

.charts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}


/* info page */
.info {
    overflow: auto;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #dddddd;
}

.info > p, .info > h2 {
    margin-left: 1%;
    margin-right: 1%;
    flex-shrink: 0;
    width: min(96vw, 960px);
    text-align: justify;
    text-justify: inter-word;
}

.info-chart {
    display: flex;
    justify-content: center;
    width: 98vw;
}

.info-speech {
    margin-left: 1%;
    margin-right: 1%;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    max-width: min(max(480px, 100vw), 960px);
}

.info-pic {
    margin: 0.5%;
    /*overflow: auto;*/
    border: 2px solid #fee17d;
    border-radius: 10px;
    /*padding: 1%;*/
    width: fit-content;
    /*max-width: 80vw;*/
}

.info-pic > img {
    border-radius: 8px;
    max-width: 80vw;
    height: 100%;
}

.divider {
    margin: 2em 1%;
    flex-shrink: 0;
    width: min(96vw, 960px);
}
