
.text-input{
    height:22px;
    padding:2px;
    padding-left:5px;
    padding-right:5px;
    padding-bottom:3px;
    border-radius: 4px;
    border: 1px solid rgba(74,106,139,.5);
    box-shadow: inset 1px 1px 1px rgba(50,50,50,.2);
    margin:0px;
    background-color: white;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing: border-box;
    word-wrap: normal;
}
.text-input[type='text']{
    /*padding-top:3px;*/ 
    padding-left:6px;
}
select.ui-datepicker-year{
    padding:2px;
    padding-left:5px;
    padding-right:5px;
    padding-bottom:2px;
    border-radius: 4px;
    border: 1px solid rgba(74,106,139,.5);
    box-shadow: inset 1px 1px 1px rgba(50,50,50,.2);
    margin:0px;
    background-color: white;
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing: border-box;
    word-wrap: normal;
    font-size:10pt !important;
}

.text-input.flat{
    border-radius: 0px;
    box-shadow: none;
}
.text-input.flat2{
    border-radius: 0px;
}
.text-input.hard{
    border-radius: 0px;
}
.text-input.hardRight{
    border-radius: 4px 0px 0px 4px;
}
.text-input.hardLLeft{
    border-radius: 0px 4px 4px 0px;
}
.text-hidden{
    background: none; 
    background-color: transparent; 
    border: none; 
    box-shadow: none; 
    outline: none; 
    color: transparent;
    text-shadow: 0 0 0 gray;
    text-align: center; 
    cursor:none; 
    width:1px;
}
.text-input.small{
    padding:2px;
    padding-left:4px;
    padding-right:4px;
    padding-bottom:2px;
    border-radius: 3px;
    font-size:9pt;
}
.text-input.flat.small{
    border-radius: 0px;
}
.text-input.tiny{
    padding:2px;
    padding-left:4px;
    padding-right:4px;
    padding-bottom:2px;
    border-radius: 3px;
    font-size:8pt;
}
.text-input.flat.tiny{
    border-radius: 0px;
}
.text-input.tiny2{
    padding:1px;
    padding-left:4px;
    padding-right:4px;
    border-radius: 3px;
    font-size:8pt;
}
.text-input.flat.tiny2{
    border-radius: 0px;
}
.text-input.box{
    border-radius: 0px;
    border:none;
    box-shadow: none;
}
.text-input.box2{
    border-radius: 0px;
}
textarea.invalid{
    outline: none;
    border: 1px solid rgba(170,0,0,.8) !important;
}
.text-input.invalid{
    border: 1px solid rgba(170,0,0,.8) !important;
    /*outline: 1px solid rgb(170,0,0);*/
}
.text-input.box.invalid{
    border-radius: 0px;
    border:none;
    outline-offset: -1px;
    outline: 1px solid rgba(170,0,0,.8);
}
.text-input.invalid:focus{
    outline-offset: 0px;
    border: 1px solid rgba(170,0,0,.8);
    outline:none;
    /*outline: 1px solid rgb(170,0,0);*/
}
textarea.invalid:focus{
    outline-offset: 0px;
    border: 1px solid rgba(170,0,0,.8);
    outline:none;
}
.text-input.disabled:active{
    outline: none;
}

.text-input.box.invalid:focus{
    border-radius: 0px;
    border:none;
    outline-offset: -1px;
    outline: 1px solid rgba(170,0,0,.6);
}
select.text-input{
    margin:0px;
    padding:2px;
    overflow: hidden;
    word-wrap: initial;
}
select.text-input.tiny{
    font-size:8pt;
    height: auto;
}
input[readonly]{
    background-color: white;
    color:#333;
}
input[type="text"]:disabled{
    background-color: #F0F0F0;
    color:#888;
    box-shadow:none;
}
input[type="password"]:disabled{
    background-color: #F0F0F0 ;
    color:#888;
    box-shadow:none;
}
input[type="text"].box:disabled{
    color:#444;
    background-color: white;
}
input[type="text"].box.soft:disabled{
    border:1px solid rgb(200,200,200);
}
input[type="text"].box.soft.disabled:active{
    outline: none;
}
input[type="range"]{
    padding:0px;
}
input[type="range"]:disabled{
    opacity:0.4;
    filter:alpha(opacity=40); /* For IE8 and earlier */
} 
textarea:disabled{
    background: #F0F0F0;
    color:#666;
    box-shadow:none;
}
select{
    word-wrap: normal;
}
select:disabled{
    background: #F2F2F2;
    color:#888;
}
select.text-input.small img{
    padding:0px;
}

.checkbox{
    float:left;
    margin:0px;
}
.radio{
    float:left;
    margin:0px;
}

a:focus {
    outline: 1px solid blue;
}
a:active {
    outline:none;
}
input:focus {
    outline: 1px solid lightskyblue;
}
input:active {
    outline: 1px solid lightskyblue;
}
input[type="checkbox"].text-input{
    box-shadow: none;
}
input[type="checkbox"]:focus {
    outline: 1px solid blue;
}
input[type="checkbox"]:active {
    outline: 1px solid blue;
}
select:focus {
    outline: 1px solid lightskyblue;
}


.custom-dropdown {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 3px;
}
.custom-dropdown > select{
    font-size: inherit; /* inherit size from .custom-dropdown */
    padding: .5em; /* add some space*/
    margin: 0; /* remove default margins */
    padding-right: 2.5em; 
    border: 0;
    border-radius: 3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;    
    background-color: #fff;
    color: #444;    
}
.custom-dropdown.black > select {
    background-color: #000;
    color: #DDD;    
}

/*  Custom dropdown arrow */
.custom-dropdown::before {
    content: "";
    position: absolute;
    pointer-events: none;
    background-color: #fff;
    border-left: 1px solid rgba(0,0,0,.1);
    width: 2em;
    right: 0; 
    top: 0; 
    bottom: 0;
    border-radius: 0 3px 3px 0;
}
.custom-dropdown::after { 
    content: "\25BC";
    position: absolute;
    pointer-events: none;
    height: 1em;
    font-size: .625em;
    line-height: 1;
    right: 1.2em;
    top: 50%;
    margin-top: -.5em;
}

@-moz-document url-prefix() {
    .custom-dropdown > select 			 { padding-right: .9em }
}
