.button {
    color: #fff;
    display: block;
    float: left;
    font: normal 14px arial, sans-serif;
    height: 37px;
    margin-right: 6px;
    padding-right: 18px; /* sliding doors padding */
    text-decoration: none;
    text-shadow: #000 0px 1px 1px;
}

.button:hover {
    text-decoration: none;
}

.button span {
    display: block;
    line-height: 27px;
    padding: 5px 0 5px 18px;
}

button {
	position: relative;
	border: 0; 
	padding: 0;
	cursor: pointer;
	overflow: visible;
	padding: 0 17px 0 0;
	font: normal 14px arial, sans-serif;
	text-shadow: #000 0px 1px 1px;
	text-align: center; 
}

button span { 
	position: relative;
	display: block; 
	white-space: nowrap;
	padding: 11px 0 0 17px; 
	height: 26px; 
	color:#fff; 
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	button span {
		margin-top: -1px;
	}
}

button::-moz-focus-inner {
	padding: 0;
	border: none;
}

.blue, .blue span, .red, .red span, .green, .green span, .gray, .gray span, .yellow, .yellow span {
	background-image: url(../images/btn-sprite.png);
	background-repeat: no-repeat;
}

.blue {
	background-position: right -185px;
}

.blue span {
	background-position: 0 -148px;
}

.red {
	background-position: right -111px;
}

.red span {
	background-position: 0 -74px;
}

.green {
	background-position: right -37px;
}

.green span {
	background-position: 0 0;
}

.gray {
	background-position: right -259px;
}

.gray span {
	background-position: 0 -222px;
}

.yellow {
	background-position: right -333px;
}

.yellow span {
	background-position: 0 -296px;
}

.input-optional-small input,
.input-required-small input
{
    border: none;
	height: 21px;
	padding: 11px 15px;
    width: 25px;
    background-image: url(../images/form-small-sprite.png);
	background-repeat: no-repeat;
	background-color: transparent;
}

.input-optional-medium input,
.input-required-medium input
{
    border: none;
	height: 21px;
	padding: 11px 15px;
    width: 200px;
    background-image: url(../images/form-medium-sprite.png);
	background-repeat: no-repeat;
	background-color: transparent;
}

.input-optional input,
.input-required input
{
	border: none;
	height: 21px;
	padding: 11px 15px;
    width: 300px;
	background-image: url(../images/form-sprite.png);
	background-repeat: no-repeat;
	background-color: transparent;
}

.input-optional-small,
.input-required-small
{
    display: block;
	background-image: url(../images/form-small-sprite.png);
	background-repeat: no-repeat;
	background-color: transparent;
	float: left;
}

.input-optional-medium,
.input-required-medium
{
    display: block;
	background-image: url(../images/form-medium-sprite.png);
	background-repeat: no-repeat;
	background-color: transparent;
	float: left;
}

.input-optional,
.input-required
{
	display: block;
	background-image: url(../images/form-sprite.png);
	background-repeat: no-repeat;
	background-color: transparent;
	float: left;
}



.input-optional-small,
.input-required-small,
.input-optional-medium,
.input-required-medium,
.input-optional input,
.input-required input
{
	color: #333;
}

.input-optional-small,
.input-required-small,
.input-optional-medium,
.input-required-medium
.input-optional,
.input-required
{
	background-position: 0 0;
}

.input-optional-small input,
.input-optional-medium input,
.input-optional input
{
	background-position: right -43px;
}

.input-required-small input,
.input-required-medium input,
.input-required input
{
	background-position: right -172px;
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}

.float-none {
    float: none;
}

.inline-margin {
    margin: 3px 0 0 5px;
}