:focus { outline: none; }
:invalid { box-shadow: none; }
:-moz-submit-invalid { box-shadow: none; }
:-moz-ui-invalid { box-shadow:none; }


.field { position: relative; margin: 10px 0; }
.field:first-child { margin-top: 0; }
.field:first-child > label { margin-top: 0; }
.field:last-child { margin-bottom: 0; }
.field:after { clear: both; content: "."; display: block; height: 0; line-height: 0; visibility: hidden; }
.field label { display: block;  }
.field label a { font: 12px/normal Arial, sans-serif; font-weight: normal; text-transform: none; border-bottom: 1px dotted #ff580f; text-decoration: none; }
.field > label { font-weight: bold; text-transform: uppercase; margin: 8px 0; }
.field .wrapper { position: relative; min-height: 35px; }
.field.no-label { padding-top: 26px; }
.field input[type='text'],
.field input[type='password'],
.field textarea { width: 100%; height: 45px; padding: 0 10px 0 10px; border: 1px solid #d4d9da; font-size: 13px; line-height: 45px; color: #202628 ; float: none; box-sizing: border-box; display: block; }
.field textarea { height: 160px; padding: 10px; resize: none; line-height: normal; }  
.field input[type='text']:focus,
.field input[type='password']:focus,
.field textarea:focus { background: #ffffff; border-color: #aee036; }
.field input[type='text'][readonly] { cursor: default; color: #d3d3d3; display: block; }
.field input[type='text'][readonly]:focus { background: #f7f7f7; border-color: #e9e9e9; }
.error input[type='text'],
.error input[type='password'],
.error textarea{ border-color: #ffb3b3; color: #ff580f; }
input[type='text'].placeholder,
.field textarea.placeholder { color: #d4d9da;  }

.field select + .selecter { width: 300px; max-width: 100%; height: 35px; margin: 0; }
.field select + .selecter .selecter-selected,
.field select + .selecter.open .selecter-selected { position: relative; border-radius: 0; border-color: #e9e9e9; background: #f7f7f7; font-size: 14px; overflow: visible; }
.field select + .selecter .selecter-selected:after { position: absolute; content: ''; width: 35px; height: 36px; background: url(../images/forms/form-02-select.png) no-repeat -3px -3px; right: -1px; top: -1px; z-index: 100; }
.field select + .selecter.closed .selecter-selected:after { background-position: -3px -3px; }
.field select + .selecter.open .selecter-selected:after { background-position: -3px -44px; }
.field select + .selecter .selecter-options { border: none; }
.field select + .selecter .selecter-options .scroller-content { max-height: 175px; }
.field select + .selecter .selecter-options .selecter-item { width: auto; border: 1px solid #dcdcdc; margin-top: -1px; color: #666666; font-size: 14px; }
.field select + .selecter .selecter-options .selecter-item[data-value='-1'] { display: none; }
.field select + .selecter .selecter-options .selecter-item:first-child { margin-top: 0; }
.field select + .selecter .scroller .scroller-bar { width: 15px; }
.field select + .selecter .scroller .scroller-bar .scroller-track .scroller-handle { border: none; width: 100%; background: none; right: 0; }
.field select + .selecter .scroller .scroller-bar .scroller-track .scroller-handle:after { content: ''; position: absolute; left: 4px; top: 4px; right: 4px; bottom: 4px; border-radius: 4px; border: none; background: #d6d6d6; }
.error select + .selecter.closed .selecter-selected { border-color: #ff580f; }

.field a[href='#submit'] { display: inline-block; position: relative; padding: 0 34px; height: 45px; font: 14px/45px 'HelveticaNeue-CondensedBold', Arial, sans-serif; text-transform: uppercase; }
.field a[href='#submit']:hover { background: #535c5d !important; }

input[type='radio'] { position: absolute; visibility: hidden; }
input[type='radio'] + label { cursor: pointer; padding: 0 0 0 25px; }
input[type='radio'] + label:before { content: ''; display: block; position: absolute; top : 3px; left : 0; width: 13px; height: 13px; background: url(../images/forms/form-04-radio.png) no-repeat 0 0; }
input[type='radio']:checked + label:before { background-position: 0 -13px; }

.field input[type='checkbox'] { position: absolute; visibility: hidden; }
.field input[type='checkbox'] + label { cursor: pointer; padding: 0 0 0 25px; white-space: nowrap; }
.field input[type='checkbox'] + label:before { content: ''; display: block; position: absolute; top : 1px; left : 0; width: 14px; height: 14px; background: url(../images/forms/form-01-checkbox.png) no-repeat 0 0; }
.field input[type='checkbox']:checked + label:before { background-position: 0 -14px; }
.field  .error input[type='checkbox'] + label:before  { background-position: 0 -28px; }

.hint { display: none; position: absolute; z-index: 100; top: 0; right: 20px; color: #f6a7a7; font-size: 13px; line-height: 45px; }
.field.error .hint { display: block; }
.field.error .hint.manual { display: none; }
.field.error .selecter.open + .hint { display: none; }

.field .wrapper.middle { top: 9px; }
.field .wrapper.dd, .field .wrapper.mm, .field .wrapper.yyyy,
.field .wrapper.state, .field .wrapper.code, .field .wrapper.phone { float: left; margin-right: 10px; }
.field .wrapper.dd input[type='text'] { width: 28px; text-align: center; }
.field .wrapper.dd .selecter { width: 73px; }
.field .wrapper.mm input[type='text'] { width: 28px; text-align: center; }
.field .wrapper.mm .selecter { width: 112px; }
.field .wrapper.yyyy input[type='text'] { width: 58px; text-align: center; }
.field .wrapper.yyyy .selecter { width: 88px; }
.field .wrapper.state { width: 16px; line-height: 33px; }
.field .wrapper.code input[type='text'] { width: 28px; text-align: center; }
.field .wrapper.phone { margin-right: 0; }
.field .wrapper.phone input[type='text'] { width: 192px; text-align: center; }