label {
    display: inline-block;
    margin-bottom: 5px;
    font-weight: bold;
}

label.checklist, label.radiolist {
    margin-bottom:15px;
    line-height:1.4em;
    font-weight:bold;
}

input[type="search"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
    margin: 2px 0 0;
    line-height: normal;
}

input[type="file"] {
    display: block;
}

select[multiple],
select[size] {
    height: auto;
}

select optgroup {
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    height: auto;
}

input:not([type="button"]):not([type="submit"]):not([type="reset"]):-moz-placeholder,
input:not([type="button"]):not([type="submit"]):not([type="reset"]):-ms-input-placeholder,
input:not([type="button"]):not([type="submit"]):not([type="reset"]):-webkit-input-placeholder
{
    color: #999999;
}

input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([name="term"]), textarea, select {
    display: block;
    width: 100%;
    padding: 0.5em 1.0em 0.5em;
    font-size: 1em;
    line-height:normal;
    color: #555555;
    background-color: #ffffff;
    border: 1px solid #cccccc;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 15px;
    border-radius: 0;
}

input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):focus, select:focus, textarea:focus {
    border-color: #66afe9;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

input[type="range"] {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width:100%;
}

select {
    -webkit-appearance: none;
    background-color: #fff;
    background-image: url(data:image/png;base64,R0lGODlhDQAEAIAAAAAAAP8A/yH5BAEHAAEALAAAAAANAAQAAAILhA+hG5jMDpxvhgIAOw==);
    background-repeat: no-repeat;
    background-position: right center;
}

@media (-webkit-min-device-pixel-ratio: 0) {
    select[size],
    select[multiple],
    select[multiple][size] {
        background-image: none;
        padding-right: 3px; 
    }
    select:not([multiple]) {
        background-repeat: no-repeat;
        background-position: right center;
        padding-right: 25px;
    }
}

input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"])[disabled],
input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"])[readonly],
fieldset[disabled] input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]) {
    cursor: default;
    background-color: #eeeeee;
}

textarea {
    height: auto;
}

/* Icon Textfield */
div.icon-input {
    position:relative;
}

div.icon-input input[type="text"]
{
    padding-right:2.5em !important;
}

div.icon-input a, div.icon-input button, div.icon-input input[type="submit"], div.icon-input input[type="button"] {
    position:absolute;
    right:0.75em;
    top:0;
    background:transparent !important;
    border:0px;
    font-size:inherit !important;
    padding: .5em 0em !important;
}

.form-error {
    margin-top:-15px;
    margin-bottom:15px;
    font-size:12px;
    font-weight:bold;
}
/* Shared between buttons and styles and pretty much anything else that wants it */
.input-xs {
    font-size: 70% !important;
}

.input-sm {
    font-size: 85% !important;
}

.input-lg {
    font-size: 125% !important;
}

.input-xl {
    font-size: 150% !important;
}
