﻿/* CSS OVERRIDES - Updated 3/17/17 */

/*  = Sticky Footer =
    | These are the styles used to override to get the sticky footer.
*/
html,
body {
    /* The html and body elements cannot have any padding or margin. */
    margin: 0px;
    padding: 0px;
    height: 100%;
}

/* Wrapper for page content to push down footer */
#wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -40px; /* Negative indent footer by its height */
    padding: 0 0 40px; /* Pad bottom by footer height */
}

footer {
    position: relative;
    background: #1e3a62;
    min-height: 40px;
}

    footer p {
        margin-top: -20px;
    }

.form-group {
    margin-bottom: 15px;
    /* Add margin between rows in a form. */
}

/*  = Fix Navbar Dropdown =
    | These are the styles used to override the background color of the nav dropdown menu
    | when there are multiple dropdowns within an element.
*/
li.open .dropdown-menu .open > a:hover {
    background-color: #5F9BBC;
}

/*  = For the Header =
    | These are some default overrides from the CSS generated by
    | the bootstrap less file for the header.
*/
#search input[type=submit] {
    background: transparent url("../img/mainsprite.png") no-repeat;
    position: absolute;
    top: 6px;
    right: 9%;
    display: inline-block;
    height: 16px;
    width: 12px;
    cursor: pointer;
    background-position: -251px -141px;
    border: none;
    color: transparent !important;
    z-index: 1;
    border-radius: 0;
}

.navbar-default .navbar-toggle {
    margin-right: 0px;
}

#header-region.navbar {
    margin-bottom: 0px;
}

#main-content .page-header {
    padding: 0px;
}

    #main-content .page-header h1 {
        background: none;
        border: none;
        color: #1e3a62;
        font-size: 23px;
        padding: 0px;
        margin: 5px 0;
    }

@media (max-width: 767px) {
    #header-region #toolbar {
        height: 42px;
        top: 0px;
    }
}

#header-region .navbar-brand img {
    position: relative !important;
    width: 528px;
    height: 106px;
}

@media screen and (min-width: 992px) {
    #utility-bar-region {
        margin-top: 7px;
    }

    #toolbar {
        float: right;
        margin-top: 15px;
    }
}

@media screen and (max-width: 767px) {
    #search input[type=search],
    #search input[type=text] {
        width: 100%;
        padding-right: 5px;
    }

    #search input[type=submit] {
        right: 5%;
    }
}

#search input[type=search],
#search input[type=text] {
    padding-right: 18%;
}

#utility-bar-region {
    position: relative;
    top: 0px;
    left: 0px;
    height: auto;
}

#toolbar {
    height: auto;
    padding-left: 0px;
    padding-right: 0px;
}

    #toolbar ul {
        padding-left: 0px;
    }

#utility-bar-region #toolbar {
    float: none;
}

@media screen and (min-width: 767px) {
    .no-pad-md {
        padding: 0px !important;
    }

    #header-region .navbar-brand img {
        top: 0px;
    }
}

@media screen and (max-width: 767px) {
    .no-pad-sm {
        padding: 0px !important;
    }

    #header-region #menu .navbar-nav {
        width: 98%;
    }
}

/* Utilitiy Classes */
.full-width {
    width: 100% !important;
}

.no-pad {
    padding: 0px;
}

.full-height {
    min-height: 100% !important;
}

.margin-bot-0 {
    margin-bottom: 0px !important;
}

.margin-bot-10 {
    margin-bottom: 10px !important;
}

.margin-bot-15 {
    margin-bottom: 15px !important;
}

.margin-bot-20 {
    margin-bottom: 20px !important;
}

.margin-bot-25 {
    margin-bottom: 25px !important;
}

.margin-top-0 {
    margin-top: 0px !important;
}

.margin-top-10 {
    margin-top: 10px !important;
}

.margin-top-15 {
    margin-top: 15px !important;
}

.margin-top-20 {
    margin-top: 20px !important;
}

.margin-top-25 {
    margin-top: 25px !important;
}

.margin-right-0 {
    margin-right: 0px !important;
}

.margin-right-10 {
    margin-right: 10px !important;
}

.margin-right-15 {
    margin-right: 15px !important;
}

.margin-right-20 {
    margin-right: 20px !important;
}

.margin-right-25 {
    margin-right: 25px !important;
}

.margin-left-0 {
    margin-left: 0px !important;
}

.margin-left-10 {
    margin-left: 10px !important;
}

.margin-left-15 {
    margin-left: 15px !important;
}

.margin-left-20 {
    margin-left: 20px !important;
}

.margin-left-25 {
    margin-left: 25px !important;
}

.text-xs-left {
    text-align: left;
}

.text-xs-right {
    text-align: right;
}

.text-xs-center {
    text-align: center;
}

.text-xs-justify {
    text-align: justify;
}

.borderless {
    border: 0px !important;
}

@media (min-width: 768px) {
    .text-sm-left {
        text-align: left;
    }

    .text-sm-right {
        text-align: right;
    }

    .text-sm-center {
        text-align: center;
    }

    .text-sm-justify {
        text-align: justify;
    }
}

@media (min-width: 992px) {
    .text-md-left {
        text-align: left;
    }

    .text-md-right {
        text-align: right;
    }

    .text-md-center {
        text-align: center;
    }

    .text-md-justify {
        text-align: justify;
    }
}

@media (min-width: 1200px) {
    .text-lg-left {
        text-align: left;
    }

    .text-lg-right {
        text-align: right;
    }

    .text-lg-center {
        text-align: center;
    }

    .text-lg-justify {
        text-align: justify;
    }
}

/*  = Styles for Validators =
    | These are the styles for the validators used in all the forms.
    | The .val class goes on a div container that the validator and label is inside.
    | The .validator class goes on the "CssClass" attribute of a ASP validator.
    | The other two classes are for formatting the validator in the right position.
*/
.validator {
    position: absolute;
    top: 0px;
    left: 0px;
    color: red;
    font-size: 24px;
}

.form-horizontal .validator {
    left: inherit;
    right: 0px;
}

@media screen and (max-width: 768px) {
    .form-horizontal .validator {
        right: inherit;
        left: 0px;
    }
}
/**************/

/*  = Check Box and Radio Button Lists =
    | These are classes that control the check box or radio button lists.
    | Use "horiz-chk" or "horiz-rad" if RepeatDirection="Horizontal" and
    | use "vert-chk" or "vert-rad" if RepeatDirection="Vertical" (default).
*/
.checkbox input[type="checkbox"],
.radio input[type="radio"] {
    position: relative !important;
    margin-left: 0px;
    margin-right: 5px;
}

.vert-chk.checkbox,
.vert-rad.radio {
    display: block;
    padding-left: 0px;
}

    .vert-chk.checkbox label,
    .vert-rad.radio label {
        padding-left: 8px;
    }

.horiz-chk.checkbox label,
.horiz-rad.radio label {
    padding-left: 8px;
    margin-right: 55px;
}

.horiz-chk.checkbox .horiz-rad.radio {
    display: inline-block;
}

.inline-chk input[type="checkbox"], .inline-chk label {
    font-size: 1.3em;
    display: inline;
}

.horiz-rad div {
    display: inline-block;
    margin-right: 15px;
}

    .horiz-rad div label,
    .horiz-rad div .radio {
        display: inline;
        font-weight: normal;
    }

.vert-chk.checkbox label {
    padding-left: 0px;
}

/* Vertically centers Bootstrap modal popup */
.modal {
    width: 100%;
    position: fixed;
    text-align: center;
    margin: 0px auto;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    z-index: 1050;
}

.modal_wrapper {
    display: table;
    overflow: auto;
    overflow-y: scroll;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    outline: 0;
    text-align: center;
    margin: 0px auto;
    margin-top: -100px; /*Adjusted as needed to move towards top*/
}

.modal-dialog {
    margin-top: 0px;
    display: table-cell;
    vertical-align: middle;
    margin: 0px 20px;
}

.modal.fade .modal-dialog {
    transform: translate(0, 0%) !important;
    -ms-transform: translate(0, 0%) !important;
    -webkit-transform: translate(0, 0%) !important;
}
/**************/

/* Footable overrides for expand toggle. */
.footable.breakpoint > tbody > tr > td > span.footable-toggle {
    margin: 0 auto;
    color: #1e3a62;
    padding: 0px;
    margin: 0 auto;
    text-align: center;
}

/* Force sortable column headers to display as white */
#main-content table th a {
    color: #FFF;
}

/* Used for the Action Button columns */
#main-content table td .btn {
    display: inline;
    padding: 3px 8px;
}

th.squeeze {
    width: 1px;
}

th.squeeze-md {
    width: 112px;
}

th.squeeze-lg {
    width: 156px;
}

/* Fix padding of padger when it's inside of a panel. */
.panel-body ul.pagination {
    padding-left: 0px;
}

.panel-heading {
    padding: 5px 10px;
}

.text-wrap {
    white-space: normal !important;
}

input[type='file'] {
    width: 100%;
}

/* Allows mobile menu button to be on same line as banner image */
.navbar-header {
    position: relative;
}

.navbar-toggle-container {
    position: absolute;
    bottom: 0;
    right: 0;
    margin-right: 5px;
    margin-bottom: 5px;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

.no-bold {
    font-weight: 400 !important;
}

.glyphicon.x1 {
    font-size: 1em;
}

.glyphicon.x2 {
    font-size: 1.5em;
}

.glyphicon.x3 {
    font-size: 2em;
}

.glyphicon.x4 {
    font-size: 2.5em;
}

.glyphicon.x5 {
    font-size: 3em;
}

.vertical-align {
    display: inline-block;
    vertical-align: middle;
}

dl, dt, dd {
    margin: 0;
}

dd {
    margin-bottom: 10px;
}

.radio label {
    padding-left: 0px;
    display: block;
}

.pagination {
    margin: 0px !important;
}

.validation-summary-valid {
    display: none;
}

#validationSummary ul {
    padding-left: 13px;
}

.check-box-list label {
    display: inline;
}

select.disabled {
    background-color: #eee;
    opacity: 1;
    cursor: not-allowed;
}

#main-content h2 {
    border-bottom: none !important;
}

h2 .label {
    font-family: Tahoma,Geneva,Arial,sans-serif !important;
    font-size: 7pt !important;
    vertical-align: middle;
}

.label.big-label {
    font-size: 10pt;
}

.panel.panel-default .panel-body ol {
    padding-left: 15px;
}

.loading-spinner {
    border: 7px solid #1e3a62;
    border-top: 7px solid #5f9bbc;
    border-bottom: 7px solid #5f9bbc;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}