/* =fields
-------------------------------------------------- */
SPAN.req {
    color: #808080;
    font-weight: bold;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    vertical-align: middle;
}
SPAN.label {
    line-height: 30px;
}
SPAN.field,
SPAN.select,
SPAN.form-data {
    display: -moz-inline-box;
    display: inline-block;
    vertical-align: top;
}
SPAN.field + SPAN.field,
SPAN.field + SPAN.select,
SPAN.select + SPAN.field,
SPAN.select + SPAN.select {
    margin-left: 6px;
}
SPAN.currency {
    min-width: 70px;
}

/* field */

SPAN.field {
    border: 2px solid #e8e8e8;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    line-height: 0;
}
SPAN.field INPUT,
SPAN.field TEXTAREA {
    margin: 0;
    padding: 4px 3px;
    border: 1px solid #ccc;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    background-color: #fff;
    font-size: 13px;
    outline: none !important;
    vertical-align: top;
}

SPAN.field INPUT {
    height: 16px;
}

SPAN.field TEXTAREA {
    resize: none;
}
SPAN.field.focus {
    border-color: #cce5ff;
}
SPAN.field INPUT:focus,
SPAN.field TEXTAREA:focus,
SPAN.field.focus INPUT,
SPAN.field.focus TEXTAREA {
    border-color: #89c1ef;
}

/* form data */

SPAN.form-data {
    line-height: 30px;
}

/* alert */

.alert {
    color: #c00 !important;
}

/* error */

.error .field {
    border-color: #fae2a6;
}
.error INPUT,
.error TEXTAREA {
    border-color: #f2b826 !important;
    background: #ffc;
}
.error .field INPUT,
.error .field TEXTAREA {
    border-color: #f2b826 !important;
    background: #ffc;
}
.error .field.focus {
    border-color: #f7d57f;
}
.error INPUT:focus,
.error TEXTAREA:focus {
    border-color: #f0ab00 !important;
    background: #fff;
}
.error .field INPUT:focus,
.error .field TEXTAREA:focus,
.error .field.focus INPUT,
.error .field.focus TEXTAREA {
    border-color: #f0ab00 !important;
    background: #fff;
}
LABEL.error,
.error TH,
.error INPUT,
.error TEXTAREA {
    color: #c00 !important;
}

/* linkselect */

a.linkselectLink {
    display: block;
    height: 28px;
    overflow: hidden;
    padding: 0 28px 0 9px;
    border: 1px solid #d3d3d3;
    background: url(bg_linkselect.png) no-repeat 100% 0;
    color: #222;
    font-size: 13px;
    line-height: 28px;
    text-decoration: none !important;
    outline: none;
    white-space: nowrap;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -moz-user-focus: ignore;
    -moz-user-input: disabled;
}
a.linkselectLink:hover,
a.linkselectLinkFocus {
    background-position: 100% -28px;
}
a.linkselectLinkOpen {
    outline: none;
}
span.linkselectDisabled {
    filter: alpha(opacity=75);
    -moz-opacity: 0.75;
    opacity: 0.75;
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -moz-user-focus: ignore;
    -moz-user-input: disabled;
}
.linkselectContainer {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50000;
    display: none;
    max-width: 460px;
    padding: 5px 0;
    background: #fff;
    border: 1px solid #cecece;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.linkselectContainer .title {
    margin-top: -5px;
    padding: 0 20px;
    border: none;
    background: #596781;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    line-height: 20px;
    white-space: nowrap;
}
.linkselectContainer .title span {
    display: block;
}
.linkselectContainer .scrollable {
    clear: both;
    width: auto;
    max-height: 216px;
    overflow: auto;
    margin: 0;
    padding: 0;
    font-size: 13px;
    text-align: left;
}
.linkselectContainer ul {
    margin: 0;
    padding: 0;
}
.linkselectContainer li {
    display: block;
    margin: 0;
    padding: 0 20px 0 21px;
    background: none;
    font-size: 13px;
    height: 20px;
    line-height: 20px;
    cursor: pointer;
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -moz-user-focus: ignore;
    -moz-user-input: disabled;
}
.linkselectContainer .selected {
    background: url(bg_linkselect_li.png) no-repeat 0 0;
}
.linkselectContainer .current {
    background-color: #939cad;
    color: #fff;
}
.linkselectContainer .selected.current {
    background-position: 0 -20px;
}

/* linkselect small */

SPAN.select.small a.linkselectLink {
    height: 18px;
    padding-right: 23px;
    background: url(bg_linkselect.png) no-repeat 100% -56px;
    font-size: 11px;
    line-height: 18px;
}
SPAN.select.small a.linkselectLink:hover,
SPAN.select.small a.linkselectLinkFocus {
    background-position: 100% -74px;
}

/* currency */

.linkselectContainer IMG {
    width: 16px;
    height: 11px;
    margin: 4px 6px 0 1px;
    vertical-align: top;
}
/* =calendar
-------------------------------------------------- */
INPUT.date,
INPUT.date-m-y {
    width: 138px !important;
    padding-right: 19px !important;
    background: #fff url(ico_cal.png) no-repeat 72px 50% !important;
    cursor: pointer;
    -moz-border-radius:3px 3px 3px 3px;
    border:1px solid #B2B2B2;

}
INPUT.date-range,
INPUT.date-m-y-range {
    width: 165px;
    padding-right: 20px;
    background: #fff url(ico_cal.png) no-repeat 149px 50%;
    cursor: pointer;
    -moz-border-radius:3px 3px 3px 3px;
    border:1px solid #B2B2B2;
}
SPAN.small INPUT.date-range,
SPAN.small INPUT.date-m-y-range,
P.small INPUT.date-range,
P.small INPUT.date-m-y-range{
    background-position: 140px 50%;
    width: 138px;
}

/* =buttons
-------------------------------------------------- */
BUTTON,
BUTTON SPAN,
A.button,
A.button SPAN {
    height: 30px;
    font-size: 16px;
    line-height: 31px;
}
BUTTON,
BUTTON SPAN {
    position: relative;
}
BUTTON,
A.button {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    vertical-align: top;
    outline: none;
}
BUTTON {
    width: auto;
    overflow: visible;
}
A.button {
    display: -moz-inline-box;
    display: inline-block;
    text-decoration: none !important;
}
BUTTON SPAN,
A.button SPAN {
    display: block;
    background: url(bg_button.png) no-repeat;
    cursor: pointer;
    white-space: nowrap;
}
BUTTON .a,
A.button .a {
    padding-left: 20px;
    background-position: 0 0;
}
BUTTON .b,
A.button .b {
    padding-right: 20px;
    background-position: 100% -30px;
}
BUTTON .c,
A.button .c {
    background-position: 0 -60px;
    background-repeat: repeat-x;
    color: #fff;
    font-weight: bold;
}
BUTTON:hover .a,
BUTTON:focus .a,
A.button:hover .a,
A.button:focus .a {
    background-position: 0 -90px;
}
BUTTON:hover .b,
BUTTON:focus .b,
A.button:hover .b,
A.button:focus .b {
    background-position: 100% -120px;
}
BUTTON:hover .c,
BUTTON:focus .c,
A.button:hover .c,
A.button:focus .c {
    background-position: 0 -150px;
}
BUTTON:active .a,
A.button:active .a {
    background-position: 0 -180px;
}
BUTTON:active .b,
A.button:active .b {
    background-position: 100% -210px;
}
BUTTON:active .c,
A.button:active .c {
    background-position: 0 -240px;
}

BUTTON::-moz-focus-inner {
    padding: 0;
    border: none;
}

/* alt */

BUTTON.alt .a,
A.button.alt .a {
    background-position: 0 -360px;
}
BUTTON.alt .b,
A.button.alt .b {
    background-position: 100% -390px;
}
BUTTON.alt .c,
A.button.alt .c {
    background-position: 0 -420px;
    color: #434343;
}
BUTTON.alt:hover .a,
BUTTON.alt:focus .a,
A.button.alt:hover .a,
A.button.alt:focus .a {
    background-position: 0 -450px;
}
BUTTON.alt:hover .b,
BUTTON.alt:focus .b,
A.button.alt:hover .b,
A.button.alt:focus .b {
    background-position: 100% -480px;
}
BUTTON.alt:hover .c,
BUTTON.alt:focus .c,
A.button.alt:hover .c,
A.button.alt:focus .c {
    background-position: 0 -510px;
}
BUTTON.alt:active .a,
A.button.alt:active .a {
    background-position: 0 -540px;
}
BUTTON.alt:active .b,
A.button.alt:active .b {
    background-position: 100% -570px;
}
BUTTON.alt:active .c,
A.button.alt:active .c {
    background-position: 0 -600px;
    color: #fff !important;
}

/* small */

BUTTON.small,
BUTTON.small SPAN,
A.button.small,
A.button.small SPAN {
    height: 20px;
    font-size: 11px;
    line-height: 20px;
}
BUTTON.small .a,
A.button.small .a {
    padding-left: 10px;
    background-position: 0 -720px;
}
BUTTON.small .b,
A.button.small .b {
    padding-right: 10px;
    background-position: 100% -740px;
}
BUTTON.small .c,
A.button.small .c {
    background-position: 0 -760px;
}
BUTTON.small:hover .a,
BUTTON.small:focus .a,
A.button.small:hover .a,
A.button.small:focus .a {
    background-position: 0 -780px;
}
BUTTON.small:hover .b,
BUTTON.small:focus .b,
A.button.small:hover .b,
A.button.small:focus .b {
    background-position: 100% -800px;
}
BUTTON.small:hover .c,
BUTTON.small:focus .c,
A.button.small:hover .c,
A.button.small:focus .c {
    background-position: 0 -820px;
}
BUTTON.small:active .a,
A.button.small:active .a {
    background-position: 0 -840px;
}
BUTTON.small:active .b,
A.button.small:active .b {
    background-position: 100% -860px;
}
BUTTON.small:active .c,
A.button.small:active .c {
    background-position: 0 -880px;
}

/* small alt */

BUTTON.small.alt .a,
A.button.small.alt .a {
    background-position: 0 -960px;
}
BUTTON.small.alt .b,
A.button.small.alt .b {
    background-position: 100% -980px;
}
BUTTON.small.alt .c,
A.button.small.alt .c {
    background-position: 0 -1000px;
    color: #222;
}
BUTTON.small.alt:hover .a,
BUTTON.small.alt:focus .a,
A.button.small.alt:hover .a,
A.button.small.alt:focus .a {
    background-position: 0 -1020px;
}
BUTTON.small.alt:hover .b,
BUTTON.small.alt:focus .b,
A.button.small.alt:hover .b,
A.button.small.alt:focus .b {
    background-position: 100% -1040px;
}
BUTTON.small.alt:hover .c,
BUTTON.small.alt:focus .c,
A.button.small.alt:hover .c,
A.button.small.alt:focus .c {
    background-position: 0 -1060px;
}
BUTTON.small.alt:active .a,
A.button.small.alt:active .a {
    background-position: 0 -1080px;
}
BUTTON.small.alt:active .b,
A.button.small.alt:active .b {
    background-position: 100% -1100px;
}
BUTTON.small.alt:active .c,
A.button.small.alt:active .c {
    background-position: 0 -1120px;
}

/* disabled */

BUTTON.disabled,
BUTTON.disabled SPAN,
A.button.disabled,
A.button.disabled SPAN {
    cursor: default !important;
}

BUTTON.disabled .c,
A.button.disabled .c,
BUTTON.small.disabled .c,
A.button.small.disabled .c {
    color: #eaf6e5 !important;
}
BUTTON.alt.disabled .c,
A.button.alt.disabled .c,
BUTTON.small.alt.disabled .c,
A.button.small.alt.disabled .c {
    color: #b2b2b2 !important;
}

BUTTON.disabled .a,
A.button.disabled .a {
    background-position: 0 -270px !important;
}
BUTTON.disabled .b,
A.button.disabled .b {
    background-position: 100% -300px !important;
}
BUTTON.disabled .c,
A.button.disabled .c {
    background-position: 0 -330px !important;
}

BUTTON.alt.disabled .a,
A.button.alt.disabled .a {
    background-position: 0 -630px !important;
}
BUTTON.alt.disabled .b,
A.button.alt.disabled .b {
    background-position: 100% -660px !important;
}
BUTTON.alt.disabled .c,
A.button.alt.disabled .c {
    background-position: 0 -690px !important;
}

BUTTON.small.disabled .a,
A.button.small.disabled .a {
    background-position: 0 -900px !important;
}
BUTTON.small.disabled .b,
A.button.small.disabled .b {
    background-position: 100% -920px !important;
}
BUTTON.small.disabled .c,
A.button.small.disabled .c {
    background-position: 0 -940px !important;
}

BUTTON.small.alt.disabled .a,
A.button.small.alt.disabled .a {
    background-position: 0 -1140px !important;
}
BUTTON.small.alt.disabled .b,
A.button.small.alt.disabled .b {
    background-position: 100% -1160px !important;
}
BUTTON.small.alt.disabled .c,
A.button.small.alt.disabled .c {
    background-position: 0 -1180px !important;
}

/* =base
-------------------------------------------------- */
SELECT,
TEXTAREA,
INPUT.date,
INPUT.date-range,
INPUT.time,
INPUT.text {
    margin: 0;
    border: 1px solid #ccc;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    vertical-align: top;
    outline: none;
}
INPUT.text,
INPUT.date,
INPUT.date-range,
INPUT.time {
    padding: 2px;
    font-size: 11px;
    line-height: 14px;
}
SELECT {
    padding: 3px;
}
INPUT.text {
    width: 208px;
}
INPUT.date {
    width: 72px !important;
    padding-right: 19px !important;
    background: #fff url(ico_cal.png) no-repeat 72px 50% !important;
    cursor: pointer;
}
INPUT.date-range {
    width: 165px;
    padding-right: 20px;
    background: #fff url(ico_cal.png) no-repeat 149px 50%;
    cursor: pointer;
}
INPUT.time {
    width: 40px;
}
INPUT.example,
TEXTAREA.example {
    color: #999 !important;
    font-weight: normal !important;
}
TEXTAREA {
    width: 208px;
    height: 120px;
    padding: 4px 3px;
    line-height: 20px;
    overflow: auto;
}
TEXTAREA.small {
    height: 80px;
}
TEXTAREA.big {
    height: 160px;
}
SELECT:focus,
TEXTAREA:focus,
INPUT[type="text"]:focus,
INPUT[type="password"]:focus {
    border-color: #65adeb;
}
INPUT[readonly],
TEXTAREA[readonly] {
    background-color: #f8f8f8 !important;
}
INPUT[disabled],
BUTTON[disabled],
SELECT[disabled],
TEXTAREA[disabled] {
    cursor: default !important;
}
SELECT[disabled],
TEXTAREA[disabled],
INPUT[type="text"][disabled],
INPUT[type="password"][disabled] {
    background-color: #f8f8f8 !important;
    outline: none !important;
}
BUTTON,
LABEL[for],
INPUT[type="reset"],
INPUT[type="button"],
INPUT[type="submit"],
INPUT[type="radio"],
INPUT[type="checkbox"] {
    cursor: pointer;
}
INPUT[type="radio"],
INPUT[type="checkbox"] {
    margin: 3px;
    padding: 1px;
}
*+HTML INPUT[type="radio"],
*+HTML INPUT[type="checkbox"] {
    margin: 0;
}