/* Custom CSS to override Bootstrap default styling */
body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
h1, h2, h3, h4 { color: #001689; }
h1 { font-size: 2em; font-weight: 300; margin-bottom: 2.2rem; }
h2 { font-size: 1.75em; font-weight: 300; margin-bottom: 1.2rem; }

.form-group h1 { margin-bottom: .25em; border-top: 2px dotted #ccc; padding-top: 20px; }

a { color: #00afaf; text-decoration: none; }
a:hover, a:focus { color: #00afaf;  text-decoration: underline; }
a:focus { outline: 5px auto -webkit-focus-ring-color;  outline-offset: -2px; }

/* NAVBAR OVERRIDES */
.navbar-brand { padding-top: 10px;}
.navbar-brand > img {height: 35px;}
.navbar-inverse { background-color: #fff; border-color: transparent; }
.navbar-inverse .navbar-nav > li > a, .navbar-inverse .navbar-nav > li > a:visited { color: #58595b; font-weight: 700; text-transform: uppercase; }
.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:active { color: #00afaf; text-decoration: none; }
.navbar-inverse .navbar-toggle .icon-bar { background-color: #00afaf; }
.navbar-inverse .navbar-toggle .icon-bar:hover { color: #009a9a; }
.navbar-toggle, navbar-inverse .navbar-toggle { border: none; }
.navbar-toggle .icon-bar { border: 0; height: 3px; }

.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus,
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus
{  background-color: transparent; }

/* JUMBOTRON OVERRIDES */

.jumbotron {
    background-color: transparent;
    background-image: url(images/classroom-students.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 0;
    margin-bottom: 3rem;
    padding: 85px 0;
    text-align: center!important;
    vertical-align: middle;
}
.jumbotron h1 {
    color: #ffffff;
    display: block;
    font-size: 3em;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    vertical-align: middle;
}

/* BUTTON OVERRIDES */
.btn, .btn a.btn, .btn-primary { font-weight: 700; padding: .4em 1em; text-transform: uppercase; transition: all 0.2s linear; }
.btn-primary, a.btn-primary { border-radius: 0; background-color: #ffffff; border: 0.2rem solid #00afaf; color: #00afaf; }
.btn-primary:hover, a.btn-primary:hover, .btn-group > .btn-primary:hover, .btn-group > .btn-primary:focus { background-color: #00afaf; border: 0.2rem solid #00afaf; color: #ffffff; }
.btn-secondary, a.btn-secondary, .btn-group > .btn-secondary { border-radius: 0; background-color: #ffffff; border: 0.2rem solid #001689; color: #001689; }
.btn-secondary:hover, a.btn-secondary:hover, .btn-group > .btn-secondary:hover, .btn-group > .btn-secondary:focus { background-color: #001689; border: 0.2rem solid #001689; color: #ffffff; }
.btn-password { margin-left: 10px; border: 0.2rem solid #67b;}
.btn-password:hover { background-color: #fff; border: 0.2rem solid #67b; color: #67b; }
.btn-primary + .btn-primary { margin-left: 10px; }


/* FORM ELEMENT OVERRIDES */
.form-control { border-radius: 0;}
.form-control:focus { border: 1px solid #00afaf; box-shadow: none; }

.has-error .form-control { background-color: #F5D1D1; box-shadow: none; }
.has-error .form-control:focus, .form-group.has-error .btn-group label.btn.btn-default:hover { border: 1px solid #00afaf; box-shadow: none; }

.form-group.has-error .checkbox,
.form-group.has-error .btn-group label.btn.btn-default {
    background-color: #F5D1D1; border: 1px solid #a94442; box-shadow: none;
}

.form-group.has-error .btn-group label.btn.btn-default.active {
    background-color: #ceaaaa; border: 1px solid #a94442; box-shadow: none;
}

.form-group.has-error .checkbox + .checkbox { margin-top: -1px; }
.form-group.has-error .checkbox { padding-left: 5px; padding-bottom: 5px; }
.form-group.has-error .checkbox label { color: #333333; }

.form-horizontal .control-label { color: #001690; font-weight: normal; line-height: 1.3em; margin-bottom: 7px!important; }
.form-group .has-error .control-label { color: #a94442!important;}
.form-buttons { float: right; }


/* VIEWPOINT OVERRIDES */

@media screen and (max-width: 768px) {
    h2 { font-size: 1.5em;}
    .jumbotron { padding: 0; height: auto; }
    .jumbotron h1 { font-size: 1.65em; padding-bottom: 10px;}

    .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border: none; }
    .nav > li:first-child { border-top: 0.1rem solid #04081c; }
    .nav > li { background-color: #001689; border-bottom: 0.1rem solid #04081c; }
    .navbar-inverse .navbar-nav > li > a:hover { background-color: #00afaf; color: #fff; transition: all 0.3s linear; }
    .navbar-inverse .navbar-nav > li > a, .navbar-inverse .navbar-nav > li > a:visited { color: #fff; }

    .btn {font-size: 0.92em;}
    .form-buttons  { clear: both; float: left; }
    .form-buttons > .btn-primary { margin-bottom: 15px; width: 100%; }
    .form-buttons > .btn-primary + .btn-primary { margin-left: 0; width: 100%; }
}

@media (min-width: 240px) and (max-width: 370px){
    .btn-password { margin-left: 0; margin-top: 10px; }
}

/* FOOTER STYLES STYLES */

footer { background-color: #122585; color: #fff; font-weight: 300; margin-top: 30px; }
footer a, footer a:active, footer a:visited { color: #fff;}
footer a:hover { color: #fff; text-decoration: underline; }
footer p {margin-bottom: 5px;}
.app-footer { padding-top: 1.1em; }

/* MISCELLANEOUS CHANGS */

.background-blue { background-color: #001689; color: #ffffff; }
.background-purple { background-color: #6a2c91; color: #ffffff; }
.background-yellow { background-color: #FFbd00; color: #ffffff; }

.list-group-item:first-child, .list-group-item:last-child { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-top-left-radius: 0; border-top-right-radius: 0; border-radius: 0;}
.list-group { margin-bottom: 25px; }
a.list-group-item, a.list-group:visited, a.list-group:active { color: #00afaf; }
a.list-group-item:hover { color: #00afaf; text-decoration: underline; }

/* Special margin fix only when h4 is used within .alert and in a FORM */
h4.required { color: #a94442; margin-bottom: 1em; }

.form-horizontal .control-label{
    text-align:left;
}