body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: rgb(55, 55, 55);
    background-color: rgb(245, 245, 245);
}

html,
body {
    max-width: 100%;
}

h4 {
    position: sticky;
    top: 0px;
    background-color: #f5f5f5e3;
    z-index: 10;
    padding: 10px 0px;
}

.container {
    position: relative;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    /* background-color: rgb(245, 245, 245); */
}

@media (min-width: 400px) {
    .container {
        width: 85%;
        padding: 0;
    }
}

@media (min-width: 550px) {
    .container {
        width: 80%;
    }
}

@media (min-width: 700px) {
    .container {
        width: 600px;
    }
}

table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 50px;
}

th,
td {
    padding: 9px 15px;
    text-align: left;
}

th {
    border-bottom: 1px solid #E1E1E1;
}

tr:not(:last-child) {
    border-bottom: 1px solid #E1E1E1;
}

th:first-child,
td:first-child {
    padding-left: 5px;
}

th:last-child,
td:last-child {
    padding-right: 5px;
    text-align: right;
}

tbody tr:hover {
    background-color: #e9e9e9;
}


tbody tr:not(:hover) {
    transition-duration: 100ms;
}

.hidden {
    display: none;
}

.chart {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: -10px;
    width: 100%;
}

.chart-div {
    display: flex;
    justify-content: space-evenly;
    align-items: baseline;
    width: 100%;
}

h1 {
    text-align: center;
}

.transition {
    animation: slide-up 0.4s ease;
    animation-fill-mode: forwards;
    position: relative;
}

@keyframes slide-up {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.transition-no-transform {
    animation: slide-up2 0.4s ease;
    animation-fill-mode: forwards;
}

@keyframes slide-up2 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

input {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 8px;
}
    input:invalid {
        border: 1px solid indianred;
    }

button {
    background-color: dodgerblue;
    color: white;
    padding: 12px 20px;
    margin: 8px 0;
    border: none;
    cursor: pointer;
    width: 100%;
    border-radius: 8px;
    transition: all 300ms ease-out;
}
    button:disabled {
        background-color: #9c9c9c;
        cursor: default;
    }
    button:disabled:active {
        background-color: #353535;
    }
    button:active {
        background-color: rgb(28, 132, 237);
    }

.info {
    display: flex;
    justify-content: space-between;
}

.sun-img {
    height: 60px;
    margin-bottom: -25px;
}

.cc {
    padding-top: 10px;
    border-top: 1px dashed #353535;
}

.center-text {
    text-align: center;
}

.spinner {
    display: inline;
    border: 1px solid transparent;
    border-top: 1px solid dodgerblue;
    border-bottom: 1px solid dodgerblue;
    border-radius: 50%;
    width: 19px;
    height: 19px;
    aspect-ratio: 1 / 1;
    animation: spin 1s linear infinite;
}

.error {
    color: indianred;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}