/* --------------------------------------
Base styles for patient portal login page
---------------------------------------*/

body {
    margin: 0;
    padding: 0;
    color: #333;
    background-color: #fff;
    font: 18px "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif;
    overflow-y: scroll;
}

h1,h2,h3,h4,h5,h6 {
    font-weight: 700;
    line-height: 1;
}

h2,h3,h4,h5,h6 {
    margin: 0px 0px 20px 0px;
}

h1 { font-size: 36px; }
h2 { font-size: 24px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 16px; }
h6 { font-size: 14px; }

p {
    margin: 0 0 10px;
    line-height: 1.5;
}

blockquote {
    padding: 1em 2em;
    margin: 0 0 2em;
    border-left: 5px solid #eee;
}

hr {
    height: 0;
    margin-top: 1em;
    margin-bottom: 2em;
    border: 0;
    border-top: 1px solid #ddd;
}

/*
table {
    background-color: transparent;
    border-spacing: 0;
    border-collapse: collapse;
    border-top: 1px solid #ddd;
}
*/

th, td {
    padding: .5em 1em;
    vertical-align: top;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

a:link { color: #0172B8; text-decoration: none }
a:visited { color: #004977; }
a:focus { color: #004977; }
a:hover { color: #004977; }
a:active { color: #004977; }

.select2-container .select2-selection--single {
    height: 37px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;

}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-top: 4px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    top: 18px;
}

.select2-container--default .select2-selection--single, .select2-container--default .select2-selection--multiple, .select2-container--default.select2-container--focus .select2-selection--multiple {
    border: 1px solid #cccccc !important;
}

.select2-search__field {
    border: none !important;
}

.select2-search--dropdown .select2-search__field {
    padding: 9px;
    font-size: 18px;
}

input:focus, textarea:focus, select:focus, dropdown:focus {
    -moz-box-shadow: inset 0px 0px 0px 1px #BCC4C9;
    -webkit-box-shadow: inset 0px 0px 0px 1px #BCC4C9;
    outline: 0px solid #BCC4C9;
}
.ms-drop, .ms-choice:focus {
    -moz-box-shadow: inset 0px 0px 0px 1px #BCC4C9;
    -webkit-box-shadow: inset 0px 0px 0px 1px #BCC4C9;
    outline: 1px solid #BCC4C9;
}
.select2-container--focus, .select2-container--open, .select2-selection--single:focus, .select2-dropdown {
    outline: 1px solid #BCC4C9;
    border-color: #cccccc !important;
}

/* -----------------------
Layout styles
------------------------*/

.container {
    max-width: 1200px;
    margin: 0 auto;
}

.header_line {
    border-top: 5px solid #333333;
}

.header {
    color: #333;
    background: #ffffff;
    padding: 0 1.25em;
    border-top: 5px solid #004977;
    border-bottom: 1px solid #f1f1f1;
    -webkit-box-shadow: 0px 0px 3px 0px rgba(204,204,204,1);
    -moz-box-shadow: 0px 0px 3px 0px rgba(204,204,204,1);
    box-shadow: 0px 0px 3px 0px rgba(204,204,204,1);
    overflow: hidden;
}

.header-content {
    display: table;
    width: 100%;
    height: 100%;
}
.header-left, .header-right {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
}

.header a {
    color: #333 !important;
    text-decoration: none;
}
.header a img  {
    max-height: 80px;
    margin-left: -2px;
}

.header h1 {
    padding-bottom: 0px;
    font-size: 35px;
    margin-top: 20px;
    margin-bottom: 20px;
}

.header-heading {
    float: left;
}

.contact-info {
    float: right;
}
.contact-info p {
    margin: 0px;
}
.modal {
    max-width: 850px;
}
.nav-bar {
    background: #284978;
    padding: 0;
    min-height: 0px;
}

.content {
    overflow: hidden;
    padding: 1em 1.25em;
}

.main {
    color: #fff;
}

.main, .aside {
    margin-bottom: 1em;
}

.aside {
    margin-top: .7em;
}

.footer_text {
    color: #fff;
}
.footer_text a {
    color: #fff !important;
}

/* -----------------------
Nav
------------------------*/

.nav {
    margin: 0;
    padding: 0;
    list-style: none;
}

.nav li {
    display: inline;
    margin: 0;
}

.nav a {
    display: block;
    padding: .7em 1.25em;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid gray;
}

.nav a:link { color: white; }
.nav a:visited { color: white; }

.nav a:focus {
    color: black;
    background-color: white;
}

.nav a:hover {
    color: white;
    background-color: green;
}

.nav a:active {
    color: white;
    background-color: red;
}

/* -----------------------
Box
------------------------*/
.box {
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    -webkit-box-shadow: 0px 0px 6px 0px rgba(204,204,204,1);
    -moz-box-shadow: 0px 0px 6px 0px rgba(204,204,204,1);
    box-shadow: 0px 0px 6px 0px rgba(204,204,204,1);
    background: linear-gradient(0deg, rgba(238,238,238,.8) 0%, rgba(255,255,255,.8) 5px, rgba(255,255,255,.8) 100%); /* w3c */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=0 ); /* ie6-9 */
    background: #fff;
}
.box .title {
    font-weight: bold;
    font-size: 20px;
    padding: 15px 32px;
    border-top: 5px solid #004977;
    border-bottom: 1px solid #CCCCCC;
    background: rgba(249,249,249,.5);
    -webkit-border-top-left-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-topleft: 4px;
    -moz-border-radius-topright: 4px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.box .title_header {
    font-weight: bold;
    font-size: 20px;
    padding: 15px 32px;
    border-bottom: 1px solid #CCCCCC;
    background: rgba(249,249,249,.5);
    -webkit-border-top-left-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-topleft: 4px;
    -moz-border-radius-topright: 4px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}
.box .form {
    padding: 20px 32px;
}

/* -----------------------
Login
------------------------*/
table.login {
    border: 0px;
    margin-top: 3px;
}
table.login td {
    margin: 0px;
    padding: 0px;
    border: none;
    vertical-align: middle;
    padding: 5px 0px;
}
table.login input[type="text"], table.login input[type="password"], select {
    padding: 9px 9px;
    border: 1px solid #cccccc;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;
}

/* -----------------------
Signup
------------------------*/
table.signup {
    border: 0px;
    margin-top: -3px;
}
table.signup td {
    margin: 0px;
    padding: 0px;
    border: none;
    vertical-align: top;
    padding: 5px -0px;
}
table.signup td.label {
    padding-top: 15px;
}
table.signup input[type="text"], table.signup input[type="password"] {
    padding: 7px 9px;
    border: 1px solid #cccccc;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 18px;
}

/* -----------------------
No Padding Table
------------------------*/
table.no_padding td {
    padding: 0px;
}
/* -----------------------
Single styles
------------------------*/

.img-responsive { max-width: 100%; }

.btn {
    color: #fff !important;
    background-color: #2C80C0;
    border-color: #004977;
    display: inline-block;
    padding: 7px 10px;
    margin-bottom: 0;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: .2em;
    text-decoration: none;
    font-size: 16px;
}

.btn:hover {
    color: #fff !important;
    background-color: #009acd;
}

.btn:focus {
    color: #fff !important;
    background-color: #2C80C0;
}

.btn:active {
    color: #fff !important;
    background-color: #2C80C0;
}

.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
}

.list-unstyled {
    padding-left: 0;
    list-style: none;
}

.list-inline {
    padding-left: 0;
    margin-left: -5px;
    list-style: none;
}

.list-inline > li {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
}

ul {
    line-height: 1.5;
    list-style-type: none;
    padding: 0px;
}
ul li {
    padding-left: 25px;
}
ul li:before {
    font-family: FontAwesome;
    content: "\f111 \00a0 \00a0";
    color: #009acd;
    margin-left: -24px;
}

.error, .error_msg {
    font-family: Arial;
    font-size: 12px;
    color: #FF0000;
    font-weight: bold;
}

/* -----------------------
Wide styles
------------------------*/

.nav-bar {
    padding: 1em 3em;
    -moz-box-shadow: 0 5px 5px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 5px 5px rgba(0,0,0,0.2);
    box-shadow: 0 5px 5px rgba(0,0,0,0.2);
}

.content {
    max-width: 1200px;
    padding: 30px 20px;
    margin: 0 auto;
    margin-top: 0px;
}

/* -----------------------
My Appointments
------------------------*/
.username_field {
    width: 50%;
}
.password_field {
    width: 50%;
}
.first_name_field {
    width: 30%;
}
.last_name_field {
    width: 70%;
}
.last_name_field_container {
    padding-left: 5px;
}
.appointment_left {
    width: 320px;
}
.appointment_right {
    width: calc(100% - 320px);
}
.form_label {
    width: 20%;
}
.ext_label_spacing {
    margin-top: 8px;
}
.form_field {
    width: 80%;
}
#appointment_deposit_display {
    padding-top: 8px; 
    padding-left: 5px;
}
.reason_for_visit_field {
    margin-top: -8px;
}

@media (max-width: 1000px) {
    .ext_label_spacing {
        margin-top: 0px;
    }
    .username_field {
        width: 100%;
    }
    .password_field {
        width: 100%;
    }
    .first_name_field {
        width: 100%;
    }
    .last_name_field {
        width: 100%;
        margin-top: 10px;
    }
    .last_name_field_container {
        padding-left: 0px;
    }
    .appointment_left {
        width: 100%;
    }
    .appointment_right {
        width: 100%;
        margin-top: 30px;
    }
    .form_label {
        width: 100%;
    }
    .form_field {
        width: 100%;
    }
    #appointment_deposit_display {
        padding-left: 0px;
        padding-top: 8px; 
        width: 100%;
        margin-bottom: 10px;
    }
    .reason_for_visit_field {
        margin-top: 0px;
    }
}

/* -----------------------
Responsive
------------------------*/
@media (min-width: 880px) {
    .header { padding: 0 3.35em; }

    .main {
        float: left;
        width: 53%;
        margin-right: 20px;
        margin-bottom: 1em;
        overflow: hidden;
    }

    .aside {
        float: right;
        width: 50%;
        min-width: 300px;
        max-width: 520px;
        margin-bottom: 1em;
    }

    .nav li {
        display: inline;
        margin: 0 1em 0 0;
    }

    .nav a {
        display: inline;
        padding: 0;
        border-bottom: 0;
    }
}

@media only screen and (max-width: 1024px) and (min-width: 1024px) {
    .header {
        padding: 1em 3.35em;
        height: 80px;
        overflow: hidden;
    }

    ul li:before {
        margin-left: -25px;
    }

    .content {
        padding-left: 3.35em;
        padding-right: 3.35em;
        margin-top: 5px;
    }

    .main {
        width: 50%;
        margin-right: 0px;
    }

    .aside {
        width: 50%;
    }

    .main .main_content {
        transform: scale(0.75);
        -ms-transform: scale(0.75);
        -mos-transform: scale(0.75);
        -webkit-transform: scale(0.75);
        transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        -mos-transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
        width: 133%;
    }

    .aside .aside_content {
        transform: scale(0.75);
        -ms-transform: scale(0.75);
        -mos-transform: scale(0.75);
        -webkit-transform: scale(0.75);
        transform-origin: 45% 0%;
        -ms-transform-origin: 45% 0%;
        -mos-transform-origin: 45% 0%;
        -webkit-transform-origin: 45% 0%;
        width: 520px;
    }

    .header-left {
        transform: scale(0.75);
        -ms-transform: scale(0.75);
        -mos-transform: scale(0.75);
        -webkit-transform: scale(0.75);
        transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        -mos-transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
        height: 100px;
    }
    .header-right {
        transform: scale(0.75);
        -ms-transform: scale(0.75);
        -mos-transform: scale(0.75);
        -webkit-transform: scale(0.75);
        transform-origin: 100% 0;
        -ms-transform-origin: 100% 0;
        -mos-transform-origin: 100% 0;
        -webkit-transform-origin: 100% 0;

    }

    .footer_text p {
        transform: scale(0.75);
        -ms-transform: scale(0.75);
        -mos-transform: scale(0.75);
        -webkit-transform: scale(0.75);
        transform-origin: 0 0;
        -ms-transform-origin: 0 0;
        -mos-transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
        padding-left: 8px;
    }
}

@media (max-width: 879px) {
    .header h1 {
        margin-bottom: 0px;
    }
    .header-content {
        display: block;
    }
    .header-left, .header-right {
        width: 100%;
        height: auto;
        display: block;
        overflow: hidden;
    }
    .header-right {
        margin-bottom: 25px;
    }
    .contact-info {
        float: left;
    }
}

.field_full_width {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.img-fluid {
    max-width: 100%;
    height: auto;
}
.icheck_wrapper {
    display: inline-block;
}
.hasDatepicker {
    width: 240px !important;
}

.ui-datepicker-trigger {
    border: none;
    width: 24px;
    height: 20px;
    background: url('../images/date.png') no-repeat;
    margin-left: 3px;
    margin-top: 8px;
    cursor: pointer;
    float: left;
    display: inline;
}