
/* #Buttons
================================================== */

	a.tp-button{
		background: none;
		font-family: inherit !important;
		height: auto !important;
		line-height: inherit !important;
		border-radius: 0px;
		-moz-border-radius: 0px;
		-webkit-border-radius: 0px;
		letter-spacing: 0 !important;
		text-shadow: 0 0 0 !important;
		box-shadow: 0 0 0 !important;
		font-weight: normal !important;
		border-width: 1px !important;
	}

	a.button, a.tp-button, button, input[type="submit"], input[type="reset"], input[type="button"] {
		display: inline-block;
		padding: 11px 20px;
		margin-bottom: 15px;
		cursor: pointer;
		margin-right: 7px;
		border: 0;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		position: relative;
		overflow: hidden;
		-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);
		box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);
		background-image: url(../images/box_shadow_button.png);
		background-repeat: repeat-x;
	}
	a.button_js {
		padding: 0;
	}
	
	a.button.button_large,
	a.tp-button.button_large,
	button.button_large,
	input[type="submit"].button_large,
	input[type="reset"].button_large,
	input[type="button"].button_large {
		font-size: 110%;
		line-height: 110%;
	}
	
	/* Button label & icon */
	a.button .button_label { display: block; float: left; position: relative; z-index: 2; }	
	a.button .button_icon { display: block; float: left; background: rgba(0,0,0,.05); }
	
	a.button .button_icon i { color: rgba(0,0,0,.5); }
	
	/* Button icon left */
	a.button.button_left .button_icon,
	a.tp-button.button_left .button_icon { float: left; }
	
	a.button.button_right .button_icon,
	a.tp-button.button_right .button_icon { float: right; }
	
	/* Paddings */
	a.button .button_label { padding: 11px 20px; }	
	a.button .button_icon { padding: 11px 13px; }
	
	a.button_large .button_label { padding: 15px 30px; }
	a.button_large .button_icon { padding: 15px 13px; }
	
	/* Hover */
	@media only screen and (min-width: 768px){
		a.button:after, a.tp-button:after, button:after, input[type="submit"]:after, input[type="reset"]:after, input[type="button"]:after {
			content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 0; z-index: 1; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; background: rgba(0,0,0,.05);
		}
			
		a:hover.button, a:hover.tp-button { text-decoration: none; }
		a.button:hover:after, a.tp-button:hover:after, button:hover:after, input[type="submit"]:hover:after, input[type="reset"]:hover:after, input[type="button"]:hover:after {
			width: 100%;
		}
	}
	
/* #Buttons stroke
================================================== */
	.button-stroke {}
	
	.button-stroke a.button:not(.action_button),
	.button-stroke:not(.header-plain) a.button.action_button,
	.button-stroke a.tp-button,
	.button-stroke button,
	.button-stroke input[type="submit"],
	.button-stroke input[type="reset"],
	.button-stroke input[type="button"] {
		border-width: 2px;
		border-style: solid;
		-webkit-border-radius: 3px;
		border-radius: 3px;
		background-color: transparent !important;
		-webkit-box-shadow:inset 0 0 0 0;
		box-shadow:inset 0 0 0 0;
		background-image: none;
	}
	
	.button-stroke a.button:not(.action_button):after,
	.button-stroke:not(.header-plain) a.button.action_button:after,
	.button-stroke a.tp-button:after,
	.button-stroke button:after, 
	.button-stroke input[type="submit"]:after, 
	.button-stroke input[type="reset"]:after, 
	.button-stroke input[type="button"]:after {
		display: none;
	}
	
	.button-stroke a:hover.button:not(.action_button),
	.button-stroke:not(.header-plain) a:hover.button.action_button,
	.button-stroke a:hover.tp-button,
	.button-stroke button:hover,
	.button-stroke input[type="submit"]:hover,
	.button-stroke input[type="reset"]:hover,
	.button-stroke input[type="button"]:hover {
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		transition: all 0.3s;
		background-color: #828282;
	}
	
	
	.button-stroke a:hover.button.button_stroke_custom:not(.action_button),
	.button-stroke:not(.header-plain) a:hover.button.button_stroke_custom.action_button,
	.button-stroke a:hover.tp-button.button_stroke_custom {
		background-color: rgba(0,0,0,.05) !important;
	}
				
	
	/* Button icon */
	.button-stroke a.button .button_icon { background: none; }
	.button-stroke a:hover.button .button_icon i,
	.button-stroke a.button.button_theme:hover .button_icon i { color: rgba(0,0,0,.5) !important; }

	/* Paddings */
	.button-stroke a.button_left.button .button_label,	
	.button-stroke a.button_left.button_large .button_label { padding-left: 0px; }
	.button-stroke a.button_right.button .button_label,	
	.button-stroke a.button_right.button_large .button_label { padding-right: 0px; }

	.button-stroke a.button_left.button_large .button_icon { padding-left: 27px; }
	.button-stroke a.button_right.button_large .button_icon { padding-right: 27px; }
	
/* #Buttons flat
================================================== */
	.button-flat {}
	
	.button-flat a.button:not(.action_button),
	.button-flat:not(.header-plain) a.button.action_button,
	.button-flat a.tp-button,
	.button-flat button,
	.button-flat input[type="submit"],
	.button-flat input[type="reset"],
	.button-flat input[type="button"] {
		background-image: none; border-width: 0; border-style: solid;
		-webkit-border-radius: 0; border-radius: 0;
		-webkit-box-shadow:inset 0 0 0 0; box-shadow:inset 0 0 0 0;
		-webkit-appearance: none;
	}
	
	/* Button icon */
	.button-flat a.button .button_icon { background: none; }
	.button-flat a.button .button_icon i { color: inherit; }
	
	/* Paddings */
	.button-flat a.button_left.button .button_label,	
	.button-flat a.button_left.button_large .button_label { padding-left: 0px; }
	.button-flat a.button_right.button .button_label,	
	.button-flat a.button_right.button_large .button_label { padding-right: 0px; }

	.button-flat a.button_left.button_large .button_icon { padding-left: 27px; }
	.button-flat a.button_right.button_large .button_icon { padding-right: 27px; }
	
	/* Hover */
	@media only screen and (min-width: 768px){
		.button-flat a.button:after, .button-flat a.tp-button:after, .button-flat button:after, .button-flat input[type="submit"]:after, .button-flat input[type="reset"]:after, .button-flat input[type="button"]:after {
			content: ""; position: absolute; left: 0; top: 0; height: 100%; width: 100%; z-index: 1; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; background: rgba(0,0,0,.07); filter: alpha(opacity=0); opacity: 0;
		}
		.button-flat a.button:hover:after, .button-flat a.tp-button:hover:after, .button-flat button:hover:after, .button-flat input[type="submit"]:hover:after, .button-flat input[type="reset"]:hover:after, .button-flat input[type="button"]:hover:after {
			width: 100%; filter: alpha(opacity=1); opacity: 1;
		}
	}


	/* Fix for odd Mozilla border & padding issues */
	button::-moz-focus-inner, input::-moz-focus-inner {
    	border: 0;
    	padding: 0;
}