.fh-hidden {
    position: absolute;
    left: -50000px;
}

form.fh {
    margin: 1em 0;
    box-sizing: border-box;
    width: 97%;
    overflow: hidden;
    position: relative;
    left: 1px;
}


.fh-error-container ul.fh-error {
    margin: 0;
    list-style: none;
}

.fh-error-container ul.fh-error:first-child {
    margin-top: 0.4em;
}

.fh-notes-text {
    display: none
}

/* FIELDSET  */
.fh-fieldset {
    box-sizing: border-box;
    border: 1px solid #ddd; 
    margin-bottom: 1em; 
    padding: 1.5em 1em 1em 1em;
}

.fh-fieldset.fh-format-para {
    padding-top: 0.5em;
    padding-bottom: 0.5em;
}

.fh-fieldset .fh-legend {
    padding: 0 5px; 
    color: #777
}

.fh-fieldset .fh-legend button.fh-toggle {
    font-size: 1.1em;
    padding-left: 10px;
    border: 0;
    background: none;
}

.fh-fieldset .fh-fieldset.has-fieldset-children {
    margin-top: 1.5em;
}

.fh-fieldset.is-expanded .fh-button.fh-toggle {
    display: none;
}

/* GENERAL FIELD FORMATS */
.fh-field-text, .fh-field-select, .fh-field-password, .fh-field-file {
    padding: 3px 5px;
    box-sizing: border-box;
}

.fh-field-textarea {
    padding: 5px; 
}

.fh-label {
    font-weight: bold;
}

.fh-label-container {
    padding-top: 0.3em;
}

.fh-no-label .fh-label-container {
    display: none;
}

.fh-option-label {
    padding: 4px 10px 5px 3px; 
    white-space: nowrap; 
    display: inline-block; 
    zoom: 1; 
    *display: inline
}

.fh-align-nicely .fh-option-label {
    white-space: normal;
    position: relative;
}

.fh-align-nicely .fh-checkbox-controls {
    display: inline-block;
    zoom: 1;
    *display: inline; 
}

.fh-align-nicely .fh-option-label input {
    position: absolute;
    top: 8px;
    left: 0px;
}

.fh-align-nicely .fh-option-label > span {
    padding-left: 25px;
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.fh-field-option {
    margin-right: 3px;
}

.fh-option-label>input {
    margin-right: 5px;
}

.fh-controls {
    list-style: none;
    margin: 0 0 0 0
}

.fh-controls li {
    margin-bottom: 0.3em
}

.fh-required, .fh-notes {
    padding-left: 10px;
}

label.fh-field-option input, label.fh-field-option span {
    vertical-align: middle;
}

/* DIV FORMAT */
div.fh-format-div>.fh-field-container, div.fh-format-div:not(.fh-field-combi)>.fh-error {
    margin-left: 270px
}

form.fh-long-labels>fieldset>div.fh-format-div>.fh-field-container,
form.fh-long-labels div.fh-format-div:not(.fh-field-combi)>.fh-error {
    margin-left: 400px
}


form.fh-short-labels fieldset div.fh-format-div .fh-field-container,
form.fh-short-labels div.fh-format-div:not(.fh-field-combi)>.fh-error {
    margin-left: 170px;
}

div.fh-format-div>.fh-label-container { 
    width: 250px; 
    float: left;
}

form.fh-short-labels fieldset div.fh-format-div .fh-label-container { 
    width: 150px;
}

form.fh-long-labels fieldset div.fh-format-div .fh-label-container { 
    width: 380px; 
}

div.fh-format-div.fh-field {
    clear: both;
    margin-bottom: 0.7em
}

div.fh-format-div.fh-field-wysiwyg .fh-label-container {
    float: none; 
    margin: 0em 0 0.5em 0
}

div.fh-format-div.fh-field-wysiwyg .fh-field-container, div.fh-format-div.fh-field-wysiwyg .fh-error  {
    margin-left: 0;
}


form.fh-format-div .fh-submit-buttons {
    margin-top: 1.2em
}

div.fh-format-div.fh-field-combi>.fh-label-container {
    width: 100%;
    float: none;
    margin-bottom: 0.7em;
}

div.fh-format-div.fh-field-combi>.fh-field-container {
    margin-left: 1.5em;
}

div.fh-format-div.fh-field-combi>.fh-field-container>.fh-field-container {
    margin-left: 230px
}

/* INLINE FORMATTING */
.fh-format-inline .fh-button-primary, .fh-format-inline .fh-button-secondary {
    float: none !important
}

span.fh-field.fh-format-inline {
    margin-right: 15px;
    display: inline-block;
    zoom: 1;
    *display: inline;
    margin-bottom: 10px;
}

span.fh-field.fh-format-inline .fh-label-container {
    margin-right: 10px
}

.fh-format-inline .fh-error {
    display: none !important;
}

p.fh-inline {
    line-height: 240%
}

span.fh-format-inline textarea {
    vertical-align: top;
}

form.fh-format-inline .fh-button-primary {
    margin-right: 15px
}

/* PARAGRAPH FORMATTING */
div.fh-format-para p.fh-label-container {
    margin: 0.3em 0em
}

div.fh-format-para.fh-no-label p.fh-field-container {
    margin-top: 1em;
}

/* LINE FORMATTING */
p.fh-format-line .fh-label-container {
    padding-right: 20px
}

fieldset.fh-format-line ul.fh-controls li {
    display: inline-block;
    zoom: 1;
    *display: inline;
}

p.fh-format-line .fh-label-container, p.fh-format-line .fh-field-container, p.fh-format-line textarea {
    vertical-align: top
}

p.fh-format-line.fh-field-wysiwyg .fh-label-container {
    display: block;
    padding-bottom: 0.5em
}

/* TABLE FORMATTING */
fieldset.fh-format-table>table th, fieldset.fh-format-table>table td {
    vertical-align: top;
    border: 0
}


tr.fh-format-table>td.fh-field-container {
    padding-top: 5px;
}

tr.fh-format-table>td.fh-label-container {
    padding-top: 8px;
}

td.fh-label-container {
    width: 250px;
}

fieldset.fh-format-table>table {
    width: 100%
}

.fh-format-table ul.fh-controls li {
    display: inline-block;
    zoom: 1;
    *display: inline;
}

.fh-format-table ul.fh-error {
    margin-top: 0;
}

/* SIZES */

.fh-field-text.fh-tiny-field, .fh-field-password.fh-tiny-field {
    width: 50px
}

.fh-field-text.fh-small-field, .fh-field-password.fh-small-field {
    width: 100px
}

.fh-field-text.fh-normal-field, .fh-field-password.fh-normal-field {
    width: 175px
}

.fh-field-text.fh-medium-field, .fh-field-password.fh-medium-field {
    width: 250px
}

.fh-field-text.fh-large-field, .fh-field-password.fh-large-field {
    width: 400px
}

.fh-field-textarea.fh-normal-field {
    width: 175px; 
    height: 100px
}

.fh-field-textarea.fh-medium-field {
    width: 250px; 
    height: 100px
}

.fh-field-textarea.fh-large-field {
    width: 400px; 
    height: 200px;
}

.fh-field-textarea.fh-massive-field {
    width: 100%; 
    height: 400px;
}

form.fh-full-width .fh-field-textarea, form.fh-full-width .fh-field-select, form.fh-full-width .fh-field-text, form.fh-full-width .fh-field-password {
    width: 100%;
}

form.fh-full-width .fh-field-password.is-fh-password-strength {
    width: 70%;
}

.fh-field-password-holder .fh-field-container {
    position: relative;
}

/* BUTTONS */
.fh-button {
    text-decoration: none; 
    cursor: pointer; 
    color: #232323;
    background: #eee; 
    display: inline-block; 
    *display: inline; 
    zoom: 1; 
    border: 1px solid #565656;
    border-radius: 5px;
    font-size: 0.85em;
    padding: 3px 5px;
}

.fh-button .fh-inner-button {
    display: block;
}

.fh-buttons {
    overflow: hidden; 
    clear: both;
    margin-bottom: 1em;
}

.fh-buttons>a {
    margin-right: 10px;
}

.fh-buttons>a:last-of-type {
    margin-right: 0;
}

.fh-button-primary {
    float: right; 
    margin-right: 0px; 
    font-weight: bold; 
    font-size: 1.1em;
}

.fh-button-primary .fh-inner-button {
    padding: 5px 10px
}

.fh-button-secondary {
    float: left; 
    color: #232323; 
    border: 1px solid #ddd; 
    background: #f5f5f5;
    font-size: 1em
}

/* FILES */
.fh-file .fh-file-preview img, .fh-file .fh-file-fields input, .fh-file .fh-file-fields label {
    vertical-align: middle;
}

.fh-file {
    margin-top: 0.5em;
    margin-bottom: 0.7em;
}

.fh-file .fh-file-preview, .fh-file .fh-file-details  {
    margin-right: 10px;
}

.fh-file-preview {
    width: 50px;
}

.fh-file-added {
    margin-bottom: 0.5em;
}

.fh-file .fh-file-delete input {
    margin-right: 5px;
}

.is-fh-disabled {
    background: #bbb !important; 
    color: #555 !important
}

.fh-file-buttons .is-fh-disabled {
    visibility: hidden; 
    display: none
}

.is-fh-cancel-upload img {
    vertical-align: top; 
    border: none;
    padding-left: 5px;
}

.fh-file-list {
    margin-bottom: 1em 
}

.fh-file-details {
    display: inline-block;
    zoom: 1;
    *display: inline;
    vertical-align: middle;
}

.fh-file-name, .fh-file-title {
    display: block;
}

.fh-file .fh-file-title {
    margin-top: 0.5em;
    width: 300px;
}

.fh-file {
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
}

.fh-file-no-titles .fh-file-title {
    display: none;
}

/* STATES */
.fh-field-text.is-fh-success, .fh-field-password.is-fh-success, .fh-field-select.is-fh-success, .fh-controls.is-fh-success, .fh-controls:not(.is-fh-validated) label.fh-field-option.is-fh-success, .fh-field-file.is-fh-success {
    color: #135514;
    background-color: #DFF0D8; 
    border: 2px solid #D6E9C6;
    box-shadow: none;
}

.fh-error {
    color: #861715;
    font-weight: bold;
}

.fh-field-text.is-fh-error, .fh-field-password.is-fh-error, .fh-field-select.is-fh-error, .fh-controls.is-fh-error, .fh-controls:not(.is-fh-validated) label.fh-field-option.is-fh-error,  .fh-field-file.is-fh-error {
    background: #F2DEDE; 
    border: 2px solid #EED3D7; 
    color: #861715;
    box-shadow: none;
}

/* REPEATER FIELD */
.fh-sort-handle {
    float: right;
    cursor: pointer;
    font-size: 1.6em;
    padding-top: 6px;
}

.fh-placeholder {
    background: #eeeeee;
}

.fh-repeater-child-field.fh-field-combi {
    border-bottom: 1px solid #ddd;
    padding-bottom: 0.5em;
}

.fh-repeater-child-field.fh-field-combi:last-of-type {
    padding: 0;
    border-bottom: 0;
}

/* RANGE TYPE */
input[type=range] {
    vertical-align: middle;
}

span.fh-range-value {
    vertical-align: middle;
    font-size: 0.85em;
    margin-left: 10px;
}

/* COMBI */
.fh-field-combi.fh-repeater-child-field>.fh-label-container>p {
    margin-bottom: 0em;
}

.fh-field-combi {
    margin-top: 0.5em;
}

.fh-field-combi:first-of-type {
    margin-top: 0;
}

.fh-hide-label>.fh-label-container {
    display: none;
}

/* WYSIWYG */
.cke_combopanel {
    width: 400px !important;
}

/* PARA FIELD */
.fh-field-para {
    margin: 2em 0 1em 0
}

/* AJAX FIELD */
.fh-ajax-choices, .fh-ajax-display {
    margin-top: 0.5em;
}

.fh-ajax-loading, .fh-ajax-noresults {
    font-size: 0.85em;
    color: red;
}

.fh-ajax-data {
    color: #222222; 
    background: #e5e5fd; 
    border: 1px solid #1C1667; 
    padding: 3px 5px; 
    margin: 3px;
    font-size: 0.9em; 
    display: inline-block; 
    zoom: 1;
    *display: inline
}        

.fh-ajax-delete {
    cursor: pointer; 
    background-image: url(delete-tiny.png); 
    background-position: 3px 50%; 
    background-repeat: no-repeat; 
    padding-left: 15px;
}

.fh-ajax-add {
    background: #f3f8eb url(add-tiny.png) 3px 50% no-repeat; 
    cursor: pointer; 
    padding-left: 15px;
}

.fh-ajax-button {
    margin-left: 10px;
}

/* css for timepicker */
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
.ui-timepicker-div dl { text-align: left; }
.ui-timepicker-div dl dt { float: left; clear:left; padding: 0 0 0 5px; }
.ui-timepicker-div dl dd { margin: 0 10px 10px 45%; }
.ui-timepicker-div td { font-size: 90%; }
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }

.ui-timepicker-rtl{ direction: rtl; }
.ui-timepicker-rtl dl { text-align: right; padding: 0 5px 0 0; }
.ui-timepicker-rtl dl dt{ float: right; clear: right; }
.ui-timepicker-rtl dl dd { margin: 0 45% 10px 10px; }

/* PASSWORD FIELD */
.strength_meter {
    height:26px;
    min-width: 85px;
    background:silver;
    display: inline-block;
    zoom: 1;
    *display: inline;
    margin-left: 10px;
    width: 25%;
    position: absolute;
    right: 0;
    top: 0;
}


.strength_meter span {
    height:26px;
    width:100%;
    height:26px;
    text-align:center;
    color:black;
    font-weight:bold;
    line-height:26px;
    display: inline-block;
    zoom: 1;
    *display: inline;
}
.veryweak {
    background-color: #FFA0A0;
    border-color: #F04040!important
}

.weak {
    background-color: #FFB78C;
    border-color: #FF853C!important;
}

.medium {
    background-color: #FFEC8B;
    border-color: #FC0!important;
}

.strong {
    background-color: #C3FF88;
    border-color: #8DFF1C!important;
}
