body {
    min-width: 100vw;
    min-height: 100vh;
    padding: 0px;
    margin: 0px;
}


.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(35em, 1fr));
}

.center {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.center>div,
.center>div>div {
    width: min-content;
    min-width: min-content;
    height: min-content;
    min-height: min-content;
}

a,
a:hover,
a:visited {
    color: black;
}

.tight,
.tight>div {
    width: min-content;
    min-width: min-content;
}

.round,
.round-title,
.round-with-title {
    display: inline-block;
    -moz-border-radius: 0.75em;
    -webkit-border-radius: 0.75em;
    border-radius: 0.75em;
    border: 0.1em solid;
    background-color: #eee;
    vertical-align: top;
    break-inside: avoid-column;
}

.round {
    margin: 1.25em 1.25em 1em 1em;
    width: calc(100% - 2.25em);
}
.round-title {
    margin: 1.25em 1.25em 1em 1em;
    width: 100%;
}

.round> :first-child {
    display: block;
    white-space: initial;
    margin: 0.75em;
    min-height: 0.5em;
}

.round-title> :first-child {
    display: block;
    white-space: initial;
    margin: 0em 0.75em;
    text-align: center;
    font-variant: small-caps;
    font-size: 300%
}

.round-with-title {
    margin: 3em 1em 1em 1em;
    min-width: calc(100% - 3em);
}

.round-with-title> :first-child {
    display: block;
    text-align: right;
    position: absolute;
    font-size: 150%;
    background-color: inherit;
    margin: -1em 0em 0em 0.75em;
    -moz-border-radius: 0.375em;
    -webkit-border-radius: 0.375em;
    border-radius: 0.375em;
    border: 0.067em solid;
    padding: 0.125em 0.25em;
    width: auto;
}

.round-with-title>* {
    display: block;
    padding-top: 1em;
    display: inline-block;
    margin: 0.75em;
    white-space: initial;
    width: calc(100% - 2em);
}


.round>div>*,
.round-title>div>*,
.round-with-title>div>* {
    margin: initial;
    padding: initial;
    white-space: initial;
}

button {
    white-space: nowrap;
}

table {
    width: 100%;
}

td {
    padding: 4px;
    border-style: solid;
    border: black;
    border-width: 2px;
    /*border-radius: 0px;*/
    /*white-space: nowrap;*/
}

td:first-of-type {
    min-width: 8em;
    border-radius: 5px 0px 0px 5px;
}

td:last-of-type {
    border-radius: 0px 5px 5px 0px;
}

td:only-of-type {
    border-radius: 5px 5px 5px 5px;
}

tr:nth-child(2n)>td {
    background-color: #e7e7e7;
}

tr:nth-child(2n+1)>td {
    background-color: #e0e0e0;
}

.small {
    font-size: x-small;
}

input[name="agencyId"] {
    width: 8em;
}

/* https://codepen.io/Volorf/pen/KbbRbZ */
.loader {
    width: 112px;
    height: 112px;
    max-width: 112px;
    max-height: 112px;
    transform: scale(1);
}

.loader div {
    border: 16px solid #656565;
    box-sizing: border-box;
    position: absolute;
    display: block;
}

.loader div:nth-child(1) {
    width: 112px;
    height: 48px;
    margin-top: 64px;
    margin-left: 0px;
    animation: anime1 4s 0s forwards ease-in-out infinite;
    -webkit-animation: anime1 4s 0s forwards ease-in-out infinite;
}

.loader div:nth-child(2) {
    width: 48px;
    height: 48px;
    margin-top: 0px;
    margin-left: 0px;
    animation: anime2 4s 0s forwards ease-in-out infinite;
    -webkit-animation: anime2 4s 0s forwards ease-in-out infinite;
}

.loader div:nth-child(3) {
    width: 48px;
    height: 48px;
    margin-top: 0px;
    margin-left: 64px;
    animation: anime3 4s 0s forwards ease-in-out infinite;
    -webkit-animation: anime3 4s 0s forwards ease-in-out infinite;
}

@-webkit-keyframes anime1 {
    0% {
        width: 112px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    12.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    25% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    37.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    50% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    62.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    75% {
        width: 48px;
        height: 112px;
        margin-top: 0px;
        margin-left: 0px;
    }

    87.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    100% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }
}

@keyframes anime1 {
    0% {
        width: 112px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    12.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    25% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    37.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    50% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    62.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }

    75% {
        width: 48px;
        height: 112px;
        margin-top: 0px;
        margin-left: 0px;
    }

    87.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    100% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }
}

@-webkit-keyframes anime2 {
    0% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    12.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    25% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    37.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    50% {
        width: 112px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    62.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    75% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    87.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    100% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }
}

@keyframes anime2 {
    0% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    12.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    25% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    37.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    50% {
        width: 112px;
        height: 48px;
        margin-top: 0px;
        margin-left: 0px;
    }

    62.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    75% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    87.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    100% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }
}

@-webkit-keyframes anime3 {
    0% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    12.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    25% {
        width: 48px;
        height: 112px;
        margin-top: 0px;
        margin-left: 64px;
    }

    37.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    50% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    62.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    75% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    87.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    100% {
        width: 112px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }
}

@keyframes anime3 {
    0% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    12.5% {
        width: 48px;
        height: 48px;
        margin-top: 0px;
        margin-left: 64px;
    }

    25% {
        width: 48px;
        height: 112px;
        margin-top: 0px;
        margin-left: 64px;
    }

    37.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    50% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    62.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    75% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    87.5% {
        width: 48px;
        height: 48px;
        margin-top: 64px;
        margin-left: 64px;
    }

    100% {
        width: 112px;
        height: 48px;
        margin-top: 64px;
        margin-left: 0px;
    }
}

/*https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_switch*/
.switch {
    position: relative;
    display: inline-block;
    width: 4.75ex;
    height: 1.66ex;
}

.switch>input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch>span {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: -1.25ex;
    background-color: #ccc;
    border-radius: 1.75ex;
    -webkit-transition: .4s;
    transition: .4s;
}

.switch>span:before {
    position: absolute;
    content: "";
    height: 2.25ex;
    width: 2.25ex;
    left: .33ex;
    bottom: .33ex;
    border-radius: 50%;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked+span {
    background-color: #11e386;
}

input:focus+span {
    box-shadow: 0 0 .2ex #11e386;
}

input:checked+span:before {
    -webkit-transform: translateX(1.75ex);
    -ms-transform: translateX(1.75ex);
    transform: translateX(1.75ex);
}