body {
    font-family: arial;
    padding: 0;
    margin: 0;
}

.optionsContainer {
    position: absolute;
    display: flex;
    top: 1em;
}

.optionsContainer > div {
    margin: 0 1em;
}

.inputFileBtn, .hideAllBtn, .showAllBtn {
    box-shadow: 0 2px .25em rgba(0, 0, 0, .7);
    background: #1588ff;
    display: inline-block;
    border-radius: 5em;
    padding: .5em 1em;
    user-select: none;
    font-size: 1.2em;
    cursor: pointer;
    color: white;
}

.hideAllBtn, .showAllBtn {
    background: #555;
}

.hideAllBtn.hidden, .showAllBtn.hidden {
    display: none;
}

.hideAllBtn:hover, .showAllBtn:hover {
    background: #444;
}

.inputFileBtn:hover {
    background: #0477ee;
}

.fileInput {
    display: none;
}

.filtersTitle {
    text-align: center;
}

.paramButtonsWrapper {
    justify-content: space-around;
    flex-wrap: wrap;
    display: flex;
}

.paramWrapper {
    position: relative;
    margin: 1em;

}

.paramTitle {
    transition: transform .2s;
    display: inline-block;
    border-radius: .2em;
    background: grey;
    padding: .5em 1em;
    user-select: none;
    cursor: pointer;
    color: white;
    font-size: 1em;
}

.paramTitle:hover {
    transform: scale(1.1);
}

.paramTitle.active {
    background: #1588ff;
}

.eyeBtn {
    position: absolute;
    cursor: pointer;
    bottom: 80%;
    opacity: .3;
    left: 90%;

}

.eyeBtn.hidden {
    opacity: 1;
}

.eyeSVG {
    height: 1.5em;
    width: 1.5em;
}

/* Buttons */
.blueBtn, .redBtn {
    box-shadow: 0 .1em .3em rgba(0, 0, 0, .7);
    display: inline-block;
    border-radius: .2em;
    text-align: center;
    padding: .3em 1em;
    user-select: none;
    font-size: 1.2em;
    cursor: pointer;
    color: white;
}

.blueBtn.disabled, .redBtn.disabled {
    pointer-events: none;
    background: grey;
}

.blueBtn {
    background: #1588FF;
}

.blueBtn:hover {
    background: #0377DD;
}

.redBtn {
    background: red;
}

.redBtn:hover {
    background: #DD0000;
}

/* Overlays */
.overlay {
    box-shadow: 0 .1em 1em 0 rgba(0, 0, 0, .7);
    border-radius: 1em 1em 0 0;
    transform: translateY(100%);
    transition: transform .3s;
    background: #EFEFEF;
    position: fixed;
    height: 90vh;
    width: 100vw;
    z-index: 999;
    bottom: 0;
}

.overlay.open {
    transform: translateY(0%);
}

.overlayHeader {
    border-bottom: 1px solid #000;
    text-align-last: center;
    position: relative;
    user-select: none;
    padding: 1.5em;
}

.overlayHeader h2 {
    margin: 0;
}

.overlayHeader .closeBtn {
    position: absolute;
    user-select: none;
    font-size: 1.5em;
    cursor: pointer;
    color: red;
    left: 1.5em;
}

/* Filters */

.rangeInputs {
    justify-content: space-evenly;
    margin: 4em 2em;
    display: flex;
}

.filterButtons {
    flex-direction: column;
    align-items: center;
    position: absolute;
    display: flex;
    bottom: 10em;
    width: 100%;
}

.filterButtons > div {
    margin: 1em 0;
    width: 20%;
}


.filterParamTitle {
    text-transform: capitalize;
    margin-top: 3em;
    text-align: center;
}


.checkboxList {
    border: 1px solid black;
    background: white;
    overflow: scroll;
    margin: 2em 40%;
    height: 15em;
}

.checkboxList > div {
    border-bottom: 1px solid black;
    justify-content: space-between;
    user-select: none;
    cursor: pointer;
    padding: .6em;
    display: flex;
}

.checkboxList > div > input {
    pointer-events: none;
}

.checkboxList > div:last-child {
    border: 0;
}

.checkboxList > div:hover {
    background: #EFEFEF;
}

/* Output */

.resultsMsg {
    text-align: center;
    margin: 1em;
    top: 1em;
}

.output {
    border-right: 1px solid black;
    width: fit-content;
    position: relative;
    overflow: scroll;
    margin-top: 2em;
    display: flex;
}

.paramName {
    text-transform: capitalize;
    font-weight: bold;
}

.output > .column {
    border-left: 1px solid #000;
}

.output > .column.hidden {
    display: none;
}

.output > .column > .totalCell {
    background: #f2ff79;
}

.copyableTotal:active {
    color: #888;

}

.output > .column > .cell:last-child {
    border-bottom: 1px solid #000;
}

.output > .column > .cell {
    border-top: 1px solid #000;
    white-space: nowrap;
    padding: .5em 1em;
}