html, body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        Helvetica, Arial, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji", "Segoe UI Symbol";
    margin: 0;
    padding: 0;
    background-color: #f5f5f7;
}

.ContentWrapper {
    background-color: white;
}

main a {
    color: #336699;
    text-decoration: none;
}

main a:hover {
    color: #003366;
    text-decoration: underline;
}

main {
    margin: auto;
    max-width: 1024px;
    padding: 30px;
    padding-bottom: 50px;
}

main h1 {
    font-size: 16pt;
    margin-bottom: 20pt;
    font-weight: 400;
    color: #555;
}

/* SEARCH */

main .LACSearch {
    background-color: aliceblue;
    border-radius: 4px;
    color: #555;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    margin-bottom: 20pt;
}

main .LACSearch .Prompt {
    color: #555;
    font-variant: all-small-caps;
    padding-right: 6px;
    font-size: 10pt;
}

main .LACSearch .Input {
    flex: 1;
    display: flex;
}

main .LACSearch .Input input {
    flex: 1;
    font-size: 10pt;
    border-radius: 4px;
    border: 1px solid #d8d8d8;
    padding: 3px; /* firefox, chrome have taller buttons */
    padding-left: 6px;
    padding-right: 6px;
}

main .LACSearch .Controls {
    padding-left: 6px;
}

/* INVALID */

main .Invalid {
    margin-bottom: 10pt;
    font-size: 10pt;
    color: darkred;
    background-color: #ffcccc;
    padding: 6px 10px;
    border-radius: 4px;
}

/* CONTENT FILTERS */

main .FilterInfo {
    font-size: 10.5pt;
    margin-bottom: 1em;
    color: #555;
    padding: 0px 10px;
}

main .Filters {
    display: flex;
    text-align: center;

    padding: 6px 10px;
    background-color: aliceblue;
    border-radius: 4px;
    margin-bottom: 20pt;
}

main .Filters .Search {
    flex: 4;
    display: flex;
    padding-right: 0.5em;
}

main .Filters .Search input {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #d8d8d8;
    padding: 0 6px;
}

main .Filters .Pickers {
    flex: 4;
    display: flex;
    padding-left: 0.2em;
    padding-right: 0.2em;
}

main .Filters .Picker {
    flex: 1;
    display: inline-block;
    padding-left: 0.2em;
    padding-right: 0.2em;
}

main .Filters .Picker select {
    color: #555;
    font-size: 10pt;
}

main .Filters .Command {
    display: inline-block;
    text-align: right;
    width: 55px;
}

/* CONTENT CARDS */

main .Content .ContentCard {
    border-bottom: 1px dotted #d8d8d8;
    padding: 4px 10px;
    padding-bottom: 0.5em;
}

main .Content .ContentCard:first-child {
    border-top: 1px dotted #d8d8d8;
}

main .Content .ContentCard:hover {
    background-color: aliceblue;
}

main .Content .ContentCard .Head  {
    font-size: 11pt;
    display: flex;
    align-items: center;
    padding-top: .5em
}

main .Content .ContentCard .Head .Title {
    flex: 3;
    text-align: left;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

main .Content .ContentCard .Head .Trailing {
    font-size: 10pt;
    color: #555;
    flex: 1;
    text-align: right;
}

main .Content .ContentCard .Details {
    display: flex;
    align-items: center;
}

main .Content .ContentCard .Details .Detail {
    padding: 4px;
    padding-left: 0;
    text-align: left;
    font-size: 10pt;
    color: #555;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

main .Content .ContentCard .Details .Detail::after {
    content: " \02022"
}

main .Content .ContentCard .Details .Detail:last-child::after {
    content: ""
}

/* ADJUSTMENTS */

@media only screen and (max-width: 600px) and (orientation: portrait) {
    main .Content .ContentCard .Head { font-size: 9pt; }
    main .Content .ContentCard .Head .Trailing { font-size: 8pt; }
    main .Content .ContentCard .Details .Detail { font-size: 8pt; }
    main .LACSearch .Prompt { display: none; }
    main .LACSearch .Input input { font-size: 9pt; }
}

@media only screen and (max-width: 750px) and (orientation: portrait) {
    main .Filters {
        display: block;
        padding-top: 1em
    }

    main .Filters .Pickers {
        margin-top: 1em;
        text-align: left;
        display: block;
        padding-left: 0;
        padding-bottom: 0.5em;
    }

    main .Filters .Command {
        text-align: left;
        width: 100%;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
    }
}

@media only screen and (max-width: 600px) and (orientation: portrait) {

    main .Filters .Pickers .Picker {
        display: block;
        padding-bottom: 0.5em;
    }
    main .Filters .Pickers .Picker select {
        width: 100%;
    }
}
