/*-------------------+
 | Part: Form styles |
 +-------------------*/


/* Global
======================================================================*/
fieldset { border: 1px solid #ddd; margin-bottom: 2em; padding: 1em 1.5em; }
input, select, textarea { font-size: 1em; }
input:focus, select:focus, textarea:focus { outline: 2px solid #0192ff; outline-offset: -1px; outline-radius: 3px; }
legend { background: #fff; font-size: 1.1em; margin: 0 0 0 -0.5em; padding: 0.1em 0.75em 0.1em; }
legend em { color: #777; font-size: 0.7em; font-style: normal; font-weight: normal; margin-left: 0.3em; }
textarea { height: 5em; }

/* Specifics
======================================================================*/
/* Autocomplete */
.ui-autocomplete-loading { background: white url(/content/images/shared/loading_16x16.gif) right center no-repeat; }

/* Buttons */
.btn {
    -webkit-appearance: none;
    appearance: none;
    background: #1a4280;
    border: 0;
    border-radius: 3px;
    color: #fff;
    display: inline-block;
    font-size: 15px;
    font-weight: bold;
    margin-right: 0.5em;
    overflow: visible;
    padding: 0.7em 2em;
    text-transform: uppercase;
}

a.btn:hover, button.btn:hover, input.btn:hover { opacity: 0.7; }
.btn a:hover { opacity: 0.7; text-decoration: none; }
.btn a { color: #fff; }

/* Character counters */
.charcount { color: #777; float: right; font-weight: normal; margin-right: 0.5em; }
.charcount .over { color: #f00; font-weight: bold; }

/* Commercial interests */
#commercial table { width: 100%; }
#commercial td, #commercial th { padding: 0 1em 1.25em 0; }
#commercial th { font-weight: bold; }
#commercial .txt { width: 95%; }

/* Checklists */
.checklist { border: 1px solid #ccc; max-height: 20em; line-height: 1.4;    margin: 0 0 1em 0; overflow: auto; }
.checklist input { margin-bottom: 1px; }
.checklist label { display: block; padding: 0.1em 0 0.1em 25px; height: 1%; text-indent: -25px; }
.checklist li { background: none; display: block; float: none; margin: 0; padding: 0; white-space: normal; width: 100%; }
.checklist li p { margin: 0; padding: 1em 0 0; }
.checklist li ul { margin: 0 0 0 2em; }
.checklist .mute { font-size: 1em; white-space: nowrap; }
.checklist p { font-weight: bold; margin-bottom: 0.25em; }
.checklist .selected { background: #ffa; }
.checklist ul { margin-bottom: 1em; }

/* Datepicker */
.ui-datepicker-trigger { background: none; border: 0; cursor: pointer; padding: 0; }

/* Datepicker */
.ui-datepicker-trigger { background: none; border: 0; cursor: pointer; padding: 0; }

/* Fields */
.field { margin-bottom: 1em; position: relative; }
.field p { margin-bottom: 0.5em; }
.form { overflow: hidden; }
.form.no-margin { margin-bottom: 0; }
.form dt { clear: both; font-weight: normal; margin: 0; }
.form dd.field { float: right; width: 65%; }
.form dt .label { float: left; text-align: right; width: 32%; }

    /* Multiple fields on a single line */
    .form .field-single-line { width: 70%; }
    .form .field-single-line p { box-sizing: border-box; float: left; margin: 0; padding-right: 10px; }
    
        /* Location fields */
        .form .field-single-line .field-loc-city { width: 50%; }
        .form .field-single-line .field-loc-state { width: 20%; }
        .form .field-single-line .field-loc-postal { float: right; padding-right: 0; width: 30%; }
        
        /* Name fields */
            /* Full name */
            dl.form .fields-name-full .field-name-first { width: 40%; }
            dl.form .fields-name-full .field-name-last { padding-right: 0; width: 40%; }
            dl.form .fields-name-full .field-name-middle { width: 20%; }
            
            /* Short name */
            dl.form .fields-name-short .field-name-first { width: 50%; }
            dl.form .fields-name-short .field-name-last { padding-right: 0; width: 50%; }
            
            /* With suffix */
            dl.form .fields-name-long .field-name-first { width: 30%; }
            dl.form .fields-name-long .field-name-last { width: 30%; }
            dl.form .fields-name-long .field-name-middle { width: 20%; }
            dl.form .fields-name-long .field-name-suffix { padding-right: 0; width: 20%; }

        /* Phone fields */
        .form .field-single-line .field-phone-number { width: 70%; }
        .form .field-single-line .field-phone-extn { float: right; padding-right: 0; width: 30%; }
            
    /* Fields in modal dialog */
    .modal .form dd.field { width: 50%; }
    .modal .form dt .label { width: 47%; }

/* Google results */
.google-results a { margin-left: 0.25em; }
.google-results h2 { font-size: 1em; }
.google-results ul { list-style: none; margin: 0; }

/* Help text */
.field-help { color: #666; font-size: 0.8em; font-weight: normal; }
.field-help img { vertical-align: middle; }

/* Hints */
.ezpz-hint { color: #777; font-style: italic; }
.form-step .hint { color: #777; font-style: italic; }
.hint-from-title .hint { color: #777; font-style: italic; }
.inputHintOverlay { color: #777; font-style: italic; }

/* Likert */
.grade .likert dt { font-weight: normal; }
.likert dt { clear: both; padding-top: 0.5em; }
.likert .level { display: block; }
.likert li { float: left; font-size: 13px; text-align: center; width: 10%; }
.likert ul { list-style: none; margin: 0; }

/* List builders (add/remove) */
.list-builder { list-style: none; margin: 0; }
.list-builder > li { border: 1px solid #ddd; border-radius: 4px; margin: 0 0 0.5em; overflow: hidden; padding: 20px 40px 20px 20px; position: relative; }
.list-builder > li.delete { opacity: 0.4; }
.list-builder .remove-trigger { line-height: 1; position: absolute; right: 20px; top: 20px; }

/* Messages sticky */
.form-message { position:relative; text-align:center; }
.form-message-wrapper { left:0; position:fixed; top:0; width:100%; z-index: 99; }        
.form-message-content        
{
                background:#ffc;
                border:1px solid #ddd;
                border-top:0;
                border-radius:0 0 5px 5px;
                box-shadow:0 1px 5px rgba(0,0,0,0.3);
                display:inline-block;
                font-weight:bold;
                padding:0.5em 1em 0.6em;                
}

.form-message-content.error { background: #ffb6c1; border:1px solid #f00; color: #000; font-weight: bold; }

/* Notifications */
.flash .error, .flash .notice, .flash .warn { margin-bottom: 2em; }
.flash h2 { font-size: 1.3em; margin-bottom: 0.5em; }
.flash p { list-style: none; margin: 0; }

    /* AJAX notifications */
    #ajax-message { display: none; position: absolute; top: 0; width: 100%; }
    #ajax-text { background-color: #FFF1A8; font-size: 90%; font-weight: bold; margin: 0 auto !important; padding: 3px 0; position: relative; text-align: center; white-space: nowrap; width: 100px }
    
    /* Errors */
    /*.error { background: url(/content/images/shared/exclamation.png) no-repeat 0 0.25em; color: #f00; padding: 3px 0 3px 20px; }*/
    
    #errorExplanation, .flash .error {
        background: #ffc url(/content/images/shared/error.png) no-repeat 1em 1.1em;
        border: 2px solid #ea3c20;
        color: #f00;
        padding: 20px 20px 20px 60px;
    }
    
    .field-with-errors { color: #f00; }
    .field-with-errors .txt, .field-with-errors .txt-med, .field-with-errors .txt-date { border: 2px solid #f00; }
    .label .field-with-errors { display: inline; }
    .single-field-with-errors { border: 2px solid #f00 !important; color: #f00; }
    
    /* ASP.NET MVC Errors */
    .field-validation-error { display: block; }
    .validation-summary-valid { display: none; }
    .validation-summary-errors {
        background: url(/content/images/shared/error.png) no-repeat scroll 10px 0.5em #FFFCCC;
        border: 2px solid #EA3C20;
        color: #FF0000;
        padding: 1.5em 1.5em 1.5em 3.5em;
    }
    .input-validation-error { border: 2px solid #FF0000 }
    .field-validation-error {
        background: url(/content/images/shared/exclamation.png) no-repeat scroll 0 0.25em transparent;
        color: #FF0000;
        margin : 0 0 0 3px;
        padding : 3px 0 3px 20px;
    }
    
    /* Confirmation */
    .flash .confirm { background: #e8f8d1 url(/content/images/shared/check.png) no-repeat 1em 1em; border: 2px solid #c8e999; padding: 1.5em 1.5em 1.5em 3.5em; }
    
    /* Notices */
    .flash .notice { background: #e0f0ff url(/content/images/shared/notice.png) no-repeat 13px 13px; border: 2px solid #a1d0fb; padding: 20px 20px 20px 60px; }
    
    /* Warnings */
    .flash .warn { background: #fef5c6 url(/content/images/shared/warning.png) no-repeat 13px 13px; border: 2px solid #ffcd36; padding: 20px 20px 20px 60px; }

/* Options */
.options-h, .options-v { list-style: none; margin: 0; }
.options-h input, .options-v input { margin: 0 0.5em -0.05em 0; }
.options-h img { border-bottom: 3px solid #fff; padding: 5px; vertical-align: middle; }
.options-h li, .options-v li { background: none; margin-bottom: 0.3em; padding: 0; }
.options-h li { display: inline; margin-right: 0.7em; white-space: nowrap; }
.options-v li { padding-left: 25px; text-indent: -25px; }
.options-v li div { text-indent: 0; }

/* Required text */
.req { color: #f00; }

/* Placeholder */
.placeholder { color: #999; font-style: italic; }
input::-moz-placeholder, textarea::-moz-placeholder { color: #999; font-style: italic; }
input:-ms-input-placeholder, textarea:-ms-input-placeholder { color: #999; font-style: italic; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #999; font-style: italic; }

/* Progress forms */
#progress-form { padding-left: 260px; }
#progress-form dt .field-help { color: #818181; display: block; float: none; font-size: 12px; width: auto; }
#progress-form textarea.txt { height: 10em; }

    /* Tabs */
    #progress-form .form-nav { float: left; list-style: none; margin: 0 0 0 -260px; width: 220px; }
    #progress-form .form-nav a { display: block; padding: 10px; text-decoration: none; }
    #progress-form .form-nav a:hover { text-decoration: underline; }
    #progress-form .form-nav .current { font-weight: bold; }
    #progress-form .form-nav .current a { color: #000; }
    #progress-form .form-nav .disabled { color: #aaa; font-style: italic; padding: 10px; }
    #progress-form .form-nav li { border-bottom: 1px solid #ddd; margin: 0; }

/* Questions */
.questions { list-style: decimal; }
.questions p { margin-bottom: 0.5em; }

    /* Answers */
    .answers { list-style: lower-alpha; }

/* Search */
.search { background: #fff; border-radius: 3px; border: 1px solid #ccc; display: flex; white-space: nowrap; }

.search-button {
    -webkit-appearance: none;
    background: none;
    border: 0;
    color: #0068ab;
    cursor: pointer;
    flex: 0 0 3em;
    font-size: 1.1em;
    padding: 0.6em 0;
}

.search-button:hover { opacity: 0.7; }
.search-txt { background: none; border: 0; box-shadow: none; display: block; flex: 1 1 auto; margin: 0; min-width: 0; padding: 0; text-indent: 0.6em; }
    
    /* Dedicated searches */
    #dedicated-search { background: #f9f9f9; border-radius: 3px; border: 1px solid #ccc; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); margin-bottom: 30px; padding: 20px; }
    #dedicated-search .brief-form { width: 100%; }
    #dedicated-search .brief-form .field { float: left; margin: 0 2% 0 0; width: 39%; }
    #dedicated-search .brief-form .field-submit { float: right; margin: 1.25em 0 0; width: auto; }
    #dedicated-search .brief-form label { display: block; }
    #dedicated-search .more { background: none; margin-top: 1em; padding: 0; text-transform: none; }
    #dedicated-search .more-trigger { clear: both; margin: 0; padding-top: 0.5em; }
    #dedicated-search .txt { width: 100%; }
    
        /* FARS - find a retina specialist */
        #fars-mini .btn { display: block; text-align: center; width: 100%; }
        #fars-mini .field { margin-bottom: 0.7em; }
        #fars-mini label { display: block; }
        #fars-mini .txt { display: block; }
    
    /* Inline search */
    .search-picker-list-list { list-style: none; margin-left: 0; }
    .search-picker-list-list img, .search-picker-list-picked img { margin-right: 5px; vertical-align: middle; }

/* Sign in*/
#signin-mini {
    background: #f0f1f2;
    border-radius: 5px;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    padding: 5px;
}

#signin-mini .form { margin: 0; }
#signin-mini .form .field, #signin-mini .form .label { float: none; width: auto; }
#signin-mini .form .txt { width: 95%; }
#signin-mini li { margin: 0; }

#signin-mini-content {
    background: #fff;
    background: -moz-linear-gradient(top, #fff 0%, #f2f3f5 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#f2f3f5));
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f2f3f5',GradientType=0 );
    background: -o-linear-gradient(top, #fff 0%,#f2f3f5 100%);
    border: 1px solid #dcdcde;
    border-radius: 5px;
    padding: 15px 19px 1px;
}

/* Survey */
#survey { margin-bottom: 20px; }
#survey .complete { background: #b2e3ab; }
#survey h2 { background: #f0f0f0; border: 1px solid #ddd; color: #000; cursor: pointer; font-weight: normal; margin: 0; padding: 0.6em 15px; }
#survey h2.complete { background: #e8f8d1 url(/content/images/shared/check.png) no-repeat 99% 50%; padding-right: 42px; }
#survey h2.error { background: #fef5c6 url(/content/images/shared/error.png) no-repeat 99% 50%; padding-right: 42px; }
#survey h2.started { background: #fef5c6 url(/content/images/shared/warning.png) no-repeat 99% 50%; padding-right: 42px; }
#survey h2 span { margin-left: -0.2em; }
#survey ol { list-style: decimal; margin-left: 2em; }
#survey ol ol { list-style: none; margin: 0 0 1.5em 0; }
#survey .questions { display: block; margin-bottom: 0.5em; }
#survey .overall-progress { margin-bottom: 20px; }
#survey .survey-questions { border: 1px solid #ddd; border-top: 0; margin-bottom: -1px; padding: 15px; }

/* Text boxes */
.txt, .txt-date, .txt-med, .txt-num, .txt-fit {
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px #ddd;
    box-sizing: border-box;
    margin-right: 0.5em;
    padding: 0.5em 0.6em;
    vertical-align: middle;
}

.txt { width: 100%; }
.txt-date { width: 7em; }
.txt-med { width: 70%; }
.txt-num { text-align: center; width: 4em; }
.txt-fit { width: fit-content; }

.last {  margin-right: 0.0em; }

.no-border-top { border-top: none !important;}
.no-border-bottom { border-bottom: none !important; }