.overlay {
    position: fixed;
    bottom: 0;
    left: 0;

    z-index: 3;
    width: 100vw;
    height: calc(100vh - 60px);

    background: rgba(0,0,0,0.2);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.hidden {
    display: none !important;
}

.overlay-container {
    width: 70vw;
    min-width: 500px;
    height: 80vh;
    min-height: 400px;

    background: var(--sub-white);

    border-radius: 0.5rem;
    padding: 0;
}

.overlay-container > .header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;

    width: 100%;
    background: white;
    border-radius: 0.5rem 0.5rem 0 0;
    padding: 15px;
}

.overlay-container > .header > .title {
    font-size: 1.2rem;
    letter-spacing: 0.8px;
}

.overlay-container > .header > .icon {
    width: 1.5rem;
    height: 1.5rem;
}

.overlay-container > .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: 100%;
    height: calc(100% - 60px);
}

.overlay-container > .content > .chart-container {
    position: relative;
    width: calc(100% - 60px);
    height: calc(100% - 60px);
}

.overlay-container > .content > .upload-box {
    width: 90%;
    height: 90%;

    border: 4px dashed var(--oslo-gray);
    border-radius: 1rem;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;

    overflow-y: scroll;
}

.overlay-container > .content .text {
    display: flex;
    flex-direction: row;
    font-size: 1.5rem;
}

.overlay-container .help-overlay {
    display: flex;
    flex-direction: column;
}

.overlay-container .help-overlay .help-item {
    display: flex;
    flex-direction: column;
    margin-bottom: 1.5rem;
}

.help-item > .help-title {
    font-size: 1.2rem;
    color: var(--mid-shade);
    margin-bottom: 0.25rem;
}

.help-item > .help-information {
    color: var(--dark-shade);
    max-width: 960px;
}