.jobHeader {
    display: flex;
    padding: 10px;
    border-bottom: 1px solid var(--gray-300);
    color: var(--gray-700);

    & > .imageCell {
        flex: 0 1 auto;
        align-self: center;
        box-shadow: 0px 0px 1px 0px #14304f66;
        margin-right: 10px;

        & > img {
            display: block;
            border-radius: 2px;
            padding: 2px;
            background-color: white;
            width: 40px;
        }
    }

    & > .nameAndPropertiesCell {
        flex: 0 1 auto;
        padding-right: 10px;
        align-self: center;

        & > h1 {
            font-size: 18px;
            font-weight: 450;
            line-height: 20px;
            max-height: 40px;
            padding-bottom: 2px;
            /*https://stackoverflow.com/a/34559614/1325179*/
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-box-orient: vertical;

            & > a {
                color: var(--gray-700);
            }
        }

        & > ul.jobProperties > li {
            &:not(:last-child) {
                border-right: 1px solid var(--gray-200);
                margin-right: 5px;
            }

            & > span {
                text-transform: uppercase;
            }
        }
    }

    & > .searchCell {
        flex: 1 1 0;
        min-width: 170px;
        align-self: center;
        padding: 0 10px;

        & > .searchInputOuter {
            & > .icon {
                position: absolute;
                display: block;
                padding: 9px 0px 0px 12px;
                color: var(--gray-500);
                font-size: 13px;
            }

            & > input[type=search] {
                padding-left: 32px !important;
                padding-right: 29px !important;
                width: 100%;
                height: 32px;
                background-color: var(--base-white) !important;
            }

            & > button {
                position: absolute;
                margin-left: -28px;
                height: 28px;
                width: 28px;
                padding: 0;
                color: white;
                background-color: #2a76f4;
            }
        }

        & > .searchOpener {
            display: none;
        }
    }

    & > .detailsCell {
        flex: 0 1 auto;
        align-self: center;
    }
}

ul.jobProperties {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.jobProperties > li, ul.jobProperties > li > div {
    display: inline-block;
}

ul.jobProperties > li > span {
    color: var(--gray-600);
    font-weight: 400;
    padding-right: 4px;
    display: inline-block;
}

ul.jobProperties > li > div {
    color: var(--gray-700);
    font-weight: 450;
}

ul.jobProperties > li:not(:last-child) {
    padding-right: 10px;
}

.dialogContent ul.jobProperties {
    display: table;
    width: 100%;
}

.dialogContent ul.jobProperties > li {
    display: table-row;
}

.dialogContent ul.jobProperties > li > span, .dialogContent ul.jobProperties > li > div {
    display: table-cell;
    padding: 5px;
    border-bottom: 1px solid var(--gray-200);
}

@keyframes showDialogFromRight {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0%);
    }
}

@media (max-width: 920px) {
    .jobHeader {
        flex-wrap: wrap;

        & > .imageCell, & > .nameAndPropertiesCell > ul.jobProperties, & > .detailsCell > button > .text {
            display: none;
        }

        /*A zero basis keeps a long name from pushing the buttons onto their own row now that the header wraps.*/
        & > .nameAndPropertiesCell {
            flex: 1 1 0;
            min-width: 0;
        }

        /*The search field and its opener become direct flex items of the header so the field can take its own row.*/
        & > .searchCell {
            display: contents;

            & > .searchInputOuter {
                display: none;
                order: 1;
                flex: 0 0 100%;
                margin-top: 10px;
            }

            & > .searchOpener {
                display: block;
                align-self: center;
                margin-right: 10px;
            }
        }

        &.searchOpen > .searchCell > .searchInputOuter, &.searchAlwaysOpen > .searchCell > .searchInputOuter {
            display: block;
        }

        &.searchAlwaysOpen > .searchCell > .searchOpener {
            display: none;
        }
    }
}

@media (max-width: 600px) {
    .dialogContent ul.jobProperties, .dialogContent ul.jobProperties > li, .dialogContent ul.jobProperties > li > span, .dialogContent ul.jobProperties > li > div {
        display: block;
    }

    .dialogContent ul.jobProperties > li > span {
        border-bottom-width: 0;
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .dialogContent ul.jobProperties > li > div {
        padding-bottom: 8px;
        margin-bottom: 8px;
    }
}
