/*
 * Sexy Buttons
 * 
 * DESCRIPTION	
 * 	Sexy, skinnable HTML/CSS buttons with icons.
 * 
 * PROJECT URL: 
 * 	http://code.google.com/p/s1xybuttons/
 * 
 * AUTHOR:
 * 	Richard Davies
 * 	http://www.richarddavies.us
 * 	Richard@richarddavies.us
 * 
 * VERSION:
 * 	1.0
 * 
 * LICENSE:
 * 	Apache License 2.0  (http://www.apache.org/licenses/LICENSE-2.0)
 * 	Creative Commons 3.0 Attribution  (http://creativecommons.org/licenses/by/3.0/)
 * 
 * CREDITS
 * 	Inspired by, derived from, and thanks to:
 * 	http://www.p51labs.com/simply-buttons-v2/
 * 	http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html
 * 	http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba
 * 	http://www.elctech.com/snippets/make-your-buttons-look-super-awesome
 * 
 * USAGE:
 * 	Simply add class="s1xybutton [skin]" to a <button> or <a> element and wrap the label text with double <span>s.
 * 	You can optionally add a "silk" icon to the button text by using a third <span> with class to identify the icon.   
 * 
 * EXAMPLE: 
 * 	<button id="btn1" class="s1xybutton" name="btn1" type="submit" value="Submit">
 * 		<span><span><span class="ok">Submit</span></span></span>
 * 	</button>
 */


/* 
 *	Generic styles for all Sexy Buttons
 */

.s1xybutton {
	display: inline-block;
	margin: 0;
	padding: 0;
	font: bold 13px "Helvetica Neue", Helvetica, Arial, clean, sans-serif;
	text-decoration: none;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.20);
	background: none;
	border: none;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	-moz-user-select: none;
	
	/* Fix extra width padding in IE */
	_width: 0;
	overflow: visible;
}

.s1xybutton span {
	display: block;						/* Prevents :active from working in IE--oh well! */
	height: 24px;
	padding-right: 12px;
	background-repeat: no-repeat;
	background-position: right top;
}

.s1xybutton span span {
	padding-right: 0;
	padding-left: 12px;
	line-height: 24px;
	background-position: left top;
}

.s1xybutton span span span {
	padding-left: 21px;
	background-image: none;
	background-repeat: no-repeat;
	background-position: left center;
	/* IE6 still requires a PNG transparency fix */ 
	/* _background-image: none;		Or just hide icons from the undeserving IE6 */
	/* _padding-left: 0;					Or just hide icons from the undeserving IE6 */
}

.s1xybutton span span span.after {
	padding-left: 0px;
	padding-right: 21px;
	background-position: right center;
	/* IE6 still requires a PNG transparency fix */ 
	/* _padding-right: 0;					Or just hide icons from the undeserving IE6 */
}

.s1xybutton:hover span {
	background-position: right center;
}

.s1xybutton:hover span span {
	background-position: left center;
}

.s1xybutton:active span {
	background-position: right bottom;
}

.s1xybutton:active span span {
	background-position: left bottom;
}

.s1xybutton:active span span span {
	background-position: left center;
}

.s1xybutton:active span span span.after {
	background-position: right center;
}

.s1xybutton img {
	margin-right: 5px;
	vertical-align: text-top;
	/* IE6 Hack */
	_margin-top: 4px;
	_vertical-align: text-bottom;
	/* IE6 still requires a PNG transparency fix */ 
	/* _display: none;		Or just hide icons from the undeserving IE6 */
}

.s1xybutton img.after {
	margin-right: 0;
	margin-left: 5px;
	/* IE6 still requires a PNG transparency fix */ 
	/* _margin-left: 0;		Or just hide icons from the undeserving IE6 */
}

.s1xybutton.s1xymedium	{ font-size: 15px; }
.s1xybutton.s1xylarge	{ font-size: 18px; }


/*
 * Button Skins
 * 
 * Additional skins can be added below. The images/skins/ButtonTemplate.psd can be used to create new skins.
 * Prefix the skin name with "s1xy" to avoid any potential conflicts with other class names. 
 */

/* Silver Button Skin (the default skin) */

.s1xybutton,
.s1xybutton.s1xysilver {
	color: #666;
}
	
.s1xybutton:hover,
.s1xybutton.s1xysilver:hover {
	color: #333;
}
	
.s1xybutton span,
.s1xybutton.s1xysilver span {
	background-image: url(images/skins/silver/button_right.gif);
}

.s1xybutton span span,
.s1xybutton.s1xysilver span span {
	background-image: url(images/skins/silver/button_left.gif);
}

/* Orange Button Skin */

.s1xybutton.s1xyorange,
.s1xybutton.s1xyorange:hover {
	color: white;
}
	
.s1xybutton.s1xyorange span {
	background-image: url(images/skins/orange/button_right.gif);
}

.s1xybutton.s1xyorange span span {
	background-image: url(images/skins/orange/button_left.gif);
}

/* Yellow Button Skin */

.s1xybutton.s1xyyellow,
.s1xybutton.s1xyyellow:hover {
	color: #994800;
}
	
.s1xybutton.s1xyyellow span {
	background-image: url(images/skins/yellow/button_right.gif);
}

.s1xybutton.s1xyyellow span span {
	background-image: url(images/skins/yellow/button_left.gif);
}



/*
 * Icon Definitions
 */

/* Silk Icons - http://www.famfamfam.com/lab/icons/silk/ */
/* (Obviously not all Silk icons are defined here. Feel free to define any other icons that you may need.) */

.s1xybutton span.ok				{ background-image: url(images/icons/silk/tick.png); }
.s1xybutton span.cancel			{ background-image: url(images/icons/silk/cross.png); }
.s1xybutton span.add				{ background-image: url(images/icons/silk/add.png); }
.s1xybutton span.delete			{ background-image: url(images/icons/silk/delete.png); }
.s1xybutton span.download		{ background-image: url(images/icons/silk/arrow_down.png); }
.s1xybutton span.download2		{ background-image: url(images/icons/silk/package_down.png); }
.s1xybutton span.upload			{ background-image: url(images/icons/silk/arrow_up.png); }
.s1xybutton span.search			{ background-image: url(images/icons/silk/magnifier.png); }
.s1xybutton span.find			{ background-image: url(images/icons/silk/find.png); }
.s1xybutton span.first			{ background-image: url(images/icons/silk/resultset_first.png); }
.s1xybutton span.prev			{ background-image: url(images/icons/silk/resultset_previous.png); }
.s1xybutton span.next			{ background-image: url(images/icons/silk/resultset_next.png); }
.s1xybutton span.last			{ background-image: url(images/icons/silk/resultset_last.png); }
.s1xybutton span.play			{ background-image: url(images/icons/silk/play_blue.png); }
.s1xybutton span.pause			{ background-image: url(images/icons/silk/pause_blue.png); }
.s1xybutton span.rewind			{ background-image: url(images/icons/silk/rewind_blue.png); }
.s1xybutton span.forward		{ background-image: url(images/icons/silk/forward_blue.png); }
.s1xybutton span.stop			{ background-image: url(images/icons/silk/stop_blue.png); }
.s1xybutton span.reload			{ background-image: url(images/icons/silk/reload.png); }
.s1xybutton span.sync			{ background-image: url(images/icons/silk/arrow_refresh.png); }
.s1xybutton span.save			{ background-image: url(images/icons/silk/disk.png); }
.s1xybutton span.email			{ background-image: url(images/icons/silk/email.png); }
.s1xybutton span.print			{ background-image: url(images/icons/silk/printer.png); }
.s1xybutton span.heart			{ background-image: url(images/icons/silk/heart.png); }
.s1xybutton span.like			{ background-image: url(images/icons/silk/thumb_up.png); }
.s1xybutton span.dislike		{ background-image: url(images/icons/silk/thumb_down.png); }
.s1xybutton span.accept			{ background-image: url(images/icons/silk/accept.png); }
.s1xybutton span.decline		{ background-image: url(images/icons/silk/decline.png); }
.s1xybutton span.help			{ background-image: url(images/icons/silk/help.png); }
.s1xybutton span.home			{ background-image: url(images/icons/silk/house.png); }
.s1xybutton span.info			{ background-image: url(images/icons/silk/information.png); }
.s1xybutton span.cut				{ background-image: url(images/icons/silk/cut.png); }
.s1xybutton span.copy			{ background-image: url(images/icons/silk/page_white_copy.png); }
.s1xybutton span.paste			{ background-image: url(images/icons/silk/paste_plain.png); }
.s1xybutton span.erase			{ background-image: url(images/icons/silk/erase.png); }
.s1xybutton span.undo			{ background-image: url(images/icons/silk/arrow_undo.png); }
.s1xybutton span.redo			{ background-image: url(images/icons/silk/arrow_redo.png); }
.s1xybutton span.edit			{ background-image: url(images/icons/silk/pencil.png); }
.s1xybutton span.calendar		{ background-image: url(images/icons/silk/date.png); }
.s1xybutton span.user			{ background-image: url(images/icons/silk/user.png); }
.s1xybutton span.settings		{ background-image: url(images/icons/silk/cog.png); }
.s1xybutton span.cart			{ background-image: url(images/icons/silk/cart.png); }
.s1xybutton span.wand			{ background-image: url(images/icons/silk/wand.png); }
.s1xybutton span.wrench			{ background-image: url(images/icons/silk/wrench.png); }
