.logo img {
    background-position: 0 0;
    background-size: auto 605px;
    width: 245px;
    height: 93px;
    display: inline;
}

@media(min-width: 450px) {
    header, footer {
        display: grid;
        grid-template-columns: minmax(10px, 100px) auto minmax(10px, 100px);
    }
}

.header-inner {
    padding-top: 10px;
    box-sizing: border-box;    /*width: 80%;*/
}

.header-margin {
}

header {
    background-color: var(--src-maroon-background-color);
    border-bottom: 7px solid var(--src-gold);  /* darker gold since next to white */
}

.header-wrapper {
}

.top-menu {
    text-align: right;
    padding-bottom: 8px;
}

.top-menu a {
    color: var(--src-white);
    font-weight: bold;
    text-decoration: none;
}

.top-menu a:hover {
    color: var(--src-gold);
    text-decoration: underline;
}

/* Wrapper around a disabled call-to-action button. Browsers swallow clicks
   on disabled controls entirely, so the button is made transparent to the
   pointer and the wrapper catches the click to explain why it is inactive. */
.disabled-btn-wrap {
    display: inline-block;
    cursor: not-allowed;
}

.disabled-btn-wrap button:disabled {
    pointer-events: none;
}

.header-text {
    color: var(--src-white);
    font-size: x-large;
    font-weight: bold;
}

/* On phones the floated box-office text falls outside the maroon banner
   (floats don't stretch the header's height) and x-large is oversized.
   Put it in flow under the logo so the banner grows around it. */
@media (max-width: 576px) {
    .header-text {
        float: none;
        font-size: 1.1rem;
        padding: 2px 0 8px;
    }
}

#footer {
    /*background: #555;*/
    background: #e8e6e6;
}

.footer-inner {
    width: 80%;
    margin: 0 auto;
    max-width: 1800px;
    padding: 2em 0 2em;
}

.foottext {
    color: #414141;
    font-size: 18px;
    font-weight: 500;
    margin: 0 0 .5em 0 !important;
}


.footer-wrapper {
    border-bottom: 1px #666 solid;
    border-top: 1px #666 solid;
    padding: 1em 1em 0em 0em;
    line-height: 36px;
}

#footer a {
    color: #414141;
}

#footer .icon {
    display: inline-block;
    /*background: none repeat scroll 0 0 #fff;*/
    /*height: 25px;*/
    margin: 5px 3px;
    overflow: hidden;
}

#footer .icon a {
    margin: 0;
    padding: 0;
}

#footer .icon img {
    height: 100%;
}

footer .icon img:hover {
    opacity: .8;
}

footer .icon a:hover {
    background: none !important;
}

footer a:hover {
    background-color: var(--src-gold);
}

.foottext_contact {
    font-size: 16px;
}

.foottext_help {
    font-size: large;
    margin-left: 20px;
}

.footer-fineprint {
    color: #414141;
    font-size: 10px;
    margin-bottom: 5px;
}

#footer .section-body {
    padding-left: 0;
    padding-right: 0;
}

div.span3.distribute {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    /*text-align: center;*/
}

div.span3.distribute div + div { /* center middle of three in a distributed group */
    text-align: center;
}

.subitems > *{ margin: 0 10px 8px 10px; }

.modal-body p {
    margin-bottom: 0;
}

.customer_fieldset {
    border-color: rgb(200, 200, 200);
    border-style: solid;
    border-width: 2px;
	border-radius: 10px;
    padding: 10px 20px;
    margin-bottom: 5px;
    margin-top: 5px;
}

input[type="checkbox"] {
    width: 1.5em;
    height: 1.5em;
    margin-right: 0.5em;
}

.form-check {
    display: flex;
    align-items: center;
}

.form-check-input {
    margin-top: 0;
}
