* {
    margin: 0;
    padding: 0;
}

body {
    background-color: #ffffff;
    font-family: Segoe UI, sans-serif;
    overflow-y: auto;
    font-size: 100%;
    max-width: 100%;
}

a {
    color: initial;
    text-decoration: none;
}

button {
    font-size: 1em;
    cursor: pointer;
    border-style: solid;
    border-width: .05em;
    border-color: rgba(0, 0, 0, .333);
    background-color: rgba(0, 0, 0, .13);
    padding-left: calc(1em / 3);
    padding-right: calc(1em / 3);
}

    button:hover {
        background-color: rgba(0, 0, 0, .065);
    }

    button:active {
        background-color: rgba(0, 0, 0, .195);
    }

h1 {
    margin-bottom: .5em;
}

input {
    padding-left: .25em;
}

input, select, .tag {
    font-size: 1em;
    border-style: solid;
    border-width: .05em;
    border-color: rgba(0, 0, 0, .333);
}

li {
    margin-left: 1em;
}

.animateHeight {
    max-height: 0;
    overflow-y: hidden;
    transition: max-height .5s;
    transition-timing-function: cubic-bezier(0, 0, 0, 1);
}

.center {
    margin-left: auto;
    margin-right: auto;
}

.editorBanner {
    width: calc(100% - 1em);
    background-color: #44AA44;
    color: white;
    padding: .5em;
    text-align: center;
}

.dynamoForm {
    margin-bottom: 1em;
}

    .dynamoForm div + div {
        margin-top: .5em;
        padding-top: .5em
    }

    .dynamoForm > div {
        border-top: none
    }

    .dynamoForm span {
        display: block
    }

    .dynamoForm table {
        table-layout: fixed;
    }

    .dynamoForm .fancy {
        font-size: 2em;
        height: 2em;
        text-align: center;
        text-decoration: underline;
    }

.fakeRequired::after, .required label::after {
    color: rgba(207, 0, 0, .9);
    content: " ●";
    font-size: .75em;
    vertical-align: top;
}

.errorMessage, .missingMessage {
    color: rgba(207, 0, 0, .9);
    font-size: .75em;
}

.seminarTag, .seminarStubTag {
    white-space: nowrap;
    margin-left: .5em;
}

.seminarTag {
    border-style: solid;
    border-width: .05em;
    border-color: rgba(0, 0, 0, .5);
    border-radius: 1em;
    margin-top: .25em;
    margin-bottom: .25em;
    margin-right: .5em;
    padding-top: .1em;
    padding-bottom: .2em;
    padding-left: .5em;
    padding-right: .5em;
}

.seminarStubTag {
    font-size: .75em;
    margin-top: .4em;
    margin-bottom: .45em;
}

.seminarTagHolder {
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 0;
    margin-right: -.5em;
}

.seminarTagHolder {
    margin-top: .5em;
    margin-left: -.5em;
}

.tag {
    padding-bottom: .25em;
    padding-left: .5em;
    padding-right: .5em;
    margin-top: .75em;
    margin-left: .5em;
    margin-right: .5em;
}

.tagHolder {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    align-content: space-around;
    margin-left: -.5em;
    margin-right: -.5em;
}

/* Overrides */

.MuiButton-root {
    font-size: 0.875em !important;
}

.MuiTypography-body1, .MuiInputBase-root, .MuiFormLabel-root, .MuiIconButton-root {
    font-size: 1em !important;
}

.MuiSvgIcon-root {
    font-size: 1.5em !important;
}