/* buttons */
a.button,
a.button2,
a.button span,
a.button2 span,
button.button span,
button.button2 span,
button.button span span,
button.button2 span span  {
	background-image: url(../../images/buttons/turbo/buttons.png);
	background-repeat: no-repeat;
	background-position: 1000px 1000px;
	outline: none !important;
}

* html a.button,
* html a.button2,
* html a.button span,
* html a.button2 span,
* html button.button span,
* html button.button2 span,
* html button.button span span,
* html button.button2 span span  {
	background-image: url(../../images/buttons/turbo/buttons-degraded.png);
}

button::-moz-focus-inner {
	padding: 0;
	border: 0;
}

a.button {
	font: bold 14px/14px Arial, Helvetica, sans-serif;
	height: 32px;
	display: inline-block;
	text-decoration: none;
}

a.button:hover,
a.button2:hover {
	text-decoration: none !important;
}

a.button2 {
	font: bold 12px/12px Arial, Helvetica, sans-serif;
	height: 24px;
	display: inline-block;
}

a.element,
button.element span {
	width: 24px;
}

button.element span {
	height: 24px;
}

	a.button span {
		display: inline-block;
		margin: 0 15px 0 0;
		padding: 9px 5px 9px 20px;
		cursor: pointer;
	}

	a.button2 span {
		display: inline-block;
		margin: 0 11px 0 0;
		padding: 6px 9px 6px 20px;
		cursor: pointer;
	}

	a.element span {
		background: none;
	}

button.button,
button.button2 {
	display: -moz-inline-box;
	display: inline-block;
	margin: 0;
	padding: 0;
	border: none;
	overflow: visible;
	text-decoration: none;	
	background: transparent;
	white-space: nowrap;
}

button.button {
	font: bold 14px/14px Arial, Helvetica, sans-serif;
	height: 32px;
}

button.button2 {
	font: bold 12px/12px Arial, Helvetica, sans-serif;
	height: 24px;
}

html[lang=ja] a.button,
html[lang=ja] a.button2,
html[lang=ja] button.button,
html[lang=ja] button.button2 {
	font-family: "MS PGothic", "Osaka", Arial, sans-serif;
}

	button.button span,
	button.button2 span {
		display: inline-block;
		cursor: pointer;
		overflow: visible;
	}

		button.button span span,
		button.button2 span span {
			display: inline-block;
			cursor: pointer;
			overflow: visible;
		}
	
		button.button span span {
			margin: 0 15px 0 0;
			padding: 9px 5px 9px 20px;
			height: 14px;
		}
	
		button.button2 span span {
			margin: 0 11px 0 0;
			padding: 6px 9px 6px 20px;
			height: 12px;
		}
a.withTextButton,
button.withTextButton span {
	margin-right: 10px;
}
html.rtl a.withTextButton,
html.rtl button.withTextButton span {
	margin-right: 0;
	margin-left: 10px;
}
a.withTextButtonOnRight,
button.withTextButtonOnRight span {
	margin-left: 10px;
}
html.rtl a.withTextButtonOnRight,
html.rtl button.withTextButtonOnRight span {
	margin-left: 0;
	margin-right: 10px;
}

a.purchaseCta,
button.purchaseCta span {
	text-shadow: rgba(0,0,0,0.25) 0 1px 1px;
	color: #fff;
	background-position: right 0px;
}

a.purchaseCta:hover,
button.purchaseCta:hover span {
	background-position: right -32px;
}

a.purchaseCta:active,
button.purchaseCta:active span {
	background-position: right -64px;
}

	a.purchaseCta span,
	button.purchaseCta span span {
		background-position: 0 0;
	}

	a.purchaseCta:hover span,
	button.purchaseCta:hover span span {
		background-position: 0 -32px;
	}

	a.purchaseCta:active span,
	button.purchaseCta:active span span {
		background-position: 0 -64px;
	}

a.primaryCta,
button.primaryCta span {
	text-shadow: rgba(0,0,0,0.25) 0 1px 1px;
	color: #fff;
	background-position: right -100px;
}

a.primaryCta:hover,
button.primaryCta:hover span {
	background-position: right -132px;
}

a.primaryCta:active,
button.primaryCta:active span {
	background-position: right -164px;
}

	a.primaryCta span,
	button.primaryCta span span {
		background-position: 0 -100px;
	}

	a.primaryCta:hover span,
	button.primaryCta:hover span span {
		background-position: 0 -132px;
	}

	a.primaryCta:active span,
	button.primaryCta:active span span {
		background-position: 0 -164px;
	}

a.altCta,
button.altCta span {
	color: #009fd9;
	background-position: right -200px;
}

a.altCta:hover,
button.altCta:hover span {
	background-position: right -232px;
}

a.altCta:active,
button.altCta:active span {
	background-position: right -264px;
}

	a.altCta span,
	button.altCta span span {
		background-position: 0 -200px;
	}

	a.altCta:hover span,
	button.altCta:hover span span {
		background-position: 0 -232px;
	}

	a.altCta:active span,
	button.altCta:active span span {
		background-position: 0 -264px;
	}

a.altCta2,
button.altCta2 span {
	color: #009fd9;
	background-position: right -500px;
}

a.altCta2:hover,
button.altCta2:hover span {
	background-position: right -524px;
}

a.altCta2:active,
button.altCta2:active span {
	background-position: right -548px;
}

	a.altCta2 span,
	button.altCta2 span span {
		background-position: 0 -500px;
	}

	a.altCta2:hover span,
	button.altCta2:hover span span {
		background-position: 0 -524px;
	}

	a.altCta2:active span,
	button.altCta2:active span span {
		background-position: 0 -548px;
	}

a.functional,
button.functional span {
	color: #464b50;
	background-position: right -300px;
}

a.functional:hover,
button.functional:hover span {
	background-position: right -332px;
}

a.functional:active,
button.functional:active span {
	background-position: right -364px;
}

	a.functional span,
	button.functional span span {
		background-position: 0 -300px;
	}

	a.functional:hover span,
	button.functional:hover span span {
		background-position: 0 -332px;
	}

	a.functional:active span,
	button.functional:active span span {
		background-position: 0 -364px;
	}

a.secondaryCta,
button.secondaryCta span {
	color: #0181e3;
	background: none;
}

a.secondaryCta:hover,
button.secondaryCta:hover span {
	color: #0181e3;
	text-decoration: underline !important;
	background: none;
}

	a.secondaryCta span,
	button.secondaryCta span span {
		background: none;
		margin: 0;
		padding: 9px 0 9px 0;
	}

	a.secondaryCta:hover span,
	button.secondaryCta:hover span span {
		background: none;
		text-decoration: underline !important;
	}

a.invSecondaryCta,
button.invSecondaryCta span {
	color: #fff;
	background: none;
}

a.invSecondaryCta:hover,
button.invSecondaryCta:hover span {
	color: #fff;
	text-decoration: underline !important;
	background: none;
}

	a.invSecondaryCta span,
	button.invSecondaryCta span span {
		background: none;
		margin: 0;
		padding: 9px 0 9px 0;
	}

	a.invSecondaryCta:hover span,
	button.invSecondaryCta:hover span span {
		background: none;
		text-decoration: underline !important;
	}

a.arrowLeft,
button.arrowLeft span {
	background-position: 0 -600px;
}

a.arrowLeft:hover,
button.arrowLeft:hover span {
	background-position: 0 -624px;
}

a.arrowLeft:active,
button.arrowLeft:active span {
	background-position: 0 -648px;
}

a.arrowRight,
button.arrowRight span {
	background-position: -24px -600px;
}

a.arrowRight:hover,
button.arrowRight:hover span {
	background-position: -24px -624px;
}

a.arrowRight:active,
button.arrowRight:active span {
	background-position: -24px -648px;
}

a.invArrowLeft,
button.invArrowLeft span {
	background-position: -48px -600px;
}

html.rtl a.invArrowLeft,
html.rtl button.invArrowLeft span {
	background-position: -72px -600px;
}

a.invArrowLeft:hover,
button.invArrowLeft:hover span {
	background-position: -48px -624px;
}

a.invArrowLeft:active,
button.invArrowLeft:active span {
	background-position: -48px -648px;
}

a.invArrowRight,
button.invArrowRight span {
	background-position: -72px -600px;
}

html.rtl a.invArrowRight,
html.rtl button.invArrowRight span {
	background-position: -48px -600px;
}

a.invArrowRight:hover,
button.invArrowRight:hover span {
	background-position: -72px -624px;
}

a.invArrowRight:active,
button.invArrowRight:active span {
	background-position: -72px -648px;
}

a.arrowUp,
button.arrowUp span {
	background-position: -96px -600px;
}

a.arrowUp:hover,
button.arrowUp:hover span {
	background-position: -96px -624px;
}

a.arrowUp:active,
button.arrowUp:active span {
	background-position: -96px -648px;
}

a.arrowDown,
button.arrowDown span {
	background-position: -120px -600px;
}

a.arrowDown:hover,
button.arrowDown:hover span {
	background-position: -120px -624px;
}

a.arrowDown:active,
button.arrowDown:active span {
	background-position: -120px -648px;
}

a.arrowClose,
button.arrowClose span {
	background-position: -144px -600px;
}

a.arrowClose:hover,
button.arrowClose:hover span {
	background-position: -144px -624px;
}

a.arrowClose:active,
button.arrowClose:active span {
	background-position: -144px -648px;
}

a.invPages,
button.invPages span {
	background-position: -168px -600px;
}

a.invPages:hover,
button.invPages:hover span {
	background-position: -168px -624px;
}

a.invPages:active,
button.invPages:active span {
	background-position: -168px -648px;
}

a.invPages.selected,
button.invPages.selected span {
	background-position: -168px -648px;
}

a.invPages.selected:hover,
button.invPages.selected:hover span {
	background-position: -168px -648px;
}

* html a.secondaryCta,
* html a.secondaryCta span,
* html button.secondaryCta span,
* html a.invSecondaryCta,
* html a.invSecondaryCta span,
* html button.invSecondaryCta span {
	background: none !important;
}

a.button.disabled,
button.button.disabled span,
a.button.disabled:hover,
button.button.disabled:hover span,
a.button.disabled:active,
button.button.disabled:active span {
	color: #8b8b8b;
	background-position: right -400px !important;
	text-shadow: none !important;
	cursor: default;
}

a.button.disabled *,
a.button2.disabled *,
button.button.disabled *,
button.button2.disabled * {
	cursor: default;
}

a.button.disabled span,
button.button.disabled span span,
a.button.disabled:hover span,
button.button.disabled:hover span span,
a.button.disabled:active span,
button.button.disabled:active span span {
	background-position: 0 -400px !important;
}

/* firefox hack to show buttons correctly */

@-moz-document url-prefix() {
	button.button span span {
		padding-top: 8px;
		padding-bottom: 8px;
		height: 16px;
	}

	button.button2 span span {
		padding-top: 5px;
		padding-bottom: 5px;
		height: 14px;
	}	
}