body {
    margin: 1vmin;
    padding: 1vmin;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 98vh;
    width: 98vw;
    overflow: hidden;
}

label {
    font-family: Arial, Helvetica, sans-serif;
}

#legend-container svg {
    font-family: Arial, Helvetica, sans-serif;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #333;
    background-color: #fff;
    width: 75px;
    height: 150px;
}

select {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #333;
    background-color: #fff;
    font-size: 16px;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeInDelayed {
    0% {
        opacity: 0;
    }
    80% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes slideInFromRight {
    0% {
        transform: translateX(5%);
    }
    100% {
        transform: translateX(0%);
    }
}

@keyframes slideInFromUnder {
    0% {
        transform: translateY(5%);
    }
    80% {
        transform: translateY(5%);
    }
    100% {
        transform: translateY(0%);
    }
}

svg#data_dashboard text.title-line {
    animation: fadeIn 0.2s linear forwards,
               slideInFromRight 0.2s ease-out forwards;
}

svg#data_dashboard text.non-title-line {
    animation: fadeIn 0.4s linear forwards,
               slideInFromRight 0.4s ease-out forwards;
}

svg#data_dashboard foreignObject {
    animation: fadeIn 0.6s linear forwards,
               slideInFromRight 0.6s ease-out forwards;
}

svg#data_dashboard g.stacked-percent-bar {
    animation: fadeIn 0.8s linear forwards;
}

svg#data_dashboard text.sentiment-bar-pos {
    animation: fadeInDelayed 0.8s linear forwards,
               slideInFromUnder 0.8s ease-out forwards;
}

svg#data_dashboard text.sentiment-bar-neu {
    animation: fadeInDelayed 0.9s linear forwards,
               slideInFromUnder 0.9s ease-out forwards;
}

svg#data_dashboard text.sentiment-bar-neg {
    animation: fadeInDelayed 1.0s linear forwards,
               slideInFromUnder 1.0s ease-out forwards;
}