/* -------------- THE button -------------- */
.candybutton {

/* text */
	text-decoration: 		none;
	font-weight: 			bold;
	text-shadow: 			rgba(255,255,255,.1) 0 1px 0;
	user-select: 			none;
  font-size: 0.8em;


/* layout */
	padding: 				.5em .6em .4em .6em;
	margin: 				.5em;
	display: 				inline-block;
	position: 				relative;

	border-radius: 	8px;

/* effects */
	border-top: 		1px solid rgba(255,255,255,0.8);
	border-bottom: 		1px solid rgba(0,0,0,0.1);

	background-image: 	gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0.7) ));
	transition: 		background .2s ease-in-out;

/* color */
	color: 				hsl(0, 0%, 40%) !important;
	background-color: 	hsl(0, 0%, 75%);

	box-shadow:		 	inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
						hsl(0, 0%, 60%) 0 .1em 3px, hsl(0, 0%, 45%) 0 .3em 1px, /* color border */
						rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
}

/* -------------- button (tag) -------------- */

button.candybutton {
	border-left: none;
	border-right: none;
}
button.candybutton:hover {
	cursor: pointer;
}


/* -------------- icon -------------- */
.candybutton:before {
	font: 			1.2em/0 sans-serif;
	content: 		attr(data-icon); /* gets the icon value from the custom data attribute and puts it infront of the button label */
	margin-right: 6px;
}


/* icon only */
.icon {
	font-weight: normal;
	font-style: normal;
}
.icon:before {
	display: 		block;
	height: 		.75em;
	line-height:    .75em;
	margin: 0;
}



/* -------------- colours -------------- */

.candybutton.orange {
	color: 				hsl(39, 100%, 30%) !important;
	background-color: 	hsl(39, 100%, 50%);;
	box-shadow:		 	inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
							hsl(39, 100%, 40%) 0 .1em 3px, hsl(39, 100%, 30%) 0 .3em 1px, /* color border */
							rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
}
.candybutton.orange:hover { 	background-color: hsl(39, 100%, 65%); }


.candybutton.blue {
	color: 				hsl(208, 50%, 40%) !important;
	background-color: 	hsl(208, 100%, 75%);;
	box-shadow: 		inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
							hsl(208, 50%, 55%) 0 .1em 3px, hsl(208, 50%, 40%) 0 .3em 1px, /* color border */
							rgba(0,0,0,0.2) 0 .5em 5px;	/* drop shadow */
}
.candybutton.blue:hover { 	background-color: hsl(208, 100%, 83%); }

.candybutton.green {
	color: 				#43412d !important;
	background-color: 	rgb(143, 168, 124);
  box-shadow:		 	inset rgba(255,254,255,0.3) 0 0.3em .4em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
							rgb(92, 89, 76) 0 .1em 3px, rgb(92, 89, 76) 0 .1em 1px, /* color border */
							rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
}
.candybutton.green:hover { 	background-color: hsl(94, 20%, 67%); }

.candybutton.pink {
	color: 				hsl(340, 100%, 30%) !important;
	background-color: 	hsl(340, 100%, 75%);
	box-shadow: 		inset rgba(255,254,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.15) 0 -0.1em .3em, /* inner shadow */
							hsl(340, 70%, 50%) 0 .1em 3px, hsl(340, 80%, 40%) 0 .3em 1px, /* color border */
							rgba(0,0,0,0.2) 0 .5em 5px; /* drop shadow */
}
.candybutton.pink:hover { 	background-color: hsl(340, 100%, 83%); }



.candybutton.transparent {
	color: 	rgba(0,0,0,0.5) !important;
}
.candybutton.transparent, .candybutton.transparent:hover, .candybutton.transparent:active {
	background-color: transparent;
	background-image: none;
}
.candybutton.transparent:hover {
	opacity: .9;
}



/* -------------- States -------------- */

.candybutton:hover {
	background-color: 	hsl(0, 0%, 83%);
}



.candybutton:active {
	background-image: 	gradient(radial, 50% 0, 100, 50% 0, 0, from( rgba(255,255,255,0) ), to( rgba(255,255,255,0) )), url(noise.png);;
	box-shadow: 		inset rgba(255,255,255,0.6) 0 0.3em .3em, inset rgba(0,0,0,0.2) 0 -0.1em .3em, /* inner shadow */
							rgba(0,0,0,0.4) 0 .1em 1px, /* border */
							rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
	transform: 			translateY(.2em);
}

.candybutton:focus {
	outline: none;
	color: rgba(254,255,255,0.9) !important;
	text-shadow: rgba(0,0,0,0.2) 0 1px 2px;
}

.candybutton[disabled], .candybutton[disabled]:hover, .candybutton.disabled, .candybutton.disabled:hover {
	opacity: 			.5;
	cursor: 			default;
	color: 				rgba(0,0,0,0.2) !important;
	text-shadow: 		none !important;
	background-color: 	rgba(0,0,0,0.05);
	background-image: 	none;
	border-top: 		none;;
	box-shadow: 		inset rgba(255,254,255,0.4) 0 0.3em .3em, inset rgba(0,0,0,0.1) 0 -0.1em .3em, /* inner shadow */
							rgba(0,0,0,0.3) 0 .1em 1px, /* border */
							rgba(0,0,0,0.2) 0 .2em 6px; /* drop shadow */
	transform: 			translateY(5px);
}

/* -------------- Sizes -------------- */

.xs { font-size: 16px; }
.xl { font-size: 32px; }


/* -------------- Materials -------------- */

.candybutton.glossy:after, .candybutton.glass:after {
	content: 	"";
	position: 	absolute;
    width: 		90%;
    height: 	60%;
    top: 		0;
    left: 		5%;
    border-radius: 			.5em .5em 1em 1em / .5em .5em 2em 2em;
    background-image: 		gradient(linear, 0% 0, 100% 0, from( rgba(255,255,255,.55) ), to( rgba(255,255,255,.5) ),
    							color-stop(.5, rgba(255,255,255,0)), color-stop(.8, rgba(255,255,255,0)) );
}
.candybutton.glossy:active:after,
.candybutton.glass:active:after,
.candybutton.disabled:after,
.candybutton[disabled]:after
 { opacity: .6; }

.candybutton.icon.glossy:after,
.candybutton.icon.glass:after { height: 75% ; }

/* -------------- Glass + Transparent -------------- */
.candybutton.glass {
	text-shadow: rgba(255,255,255,.5) 0 -1px 0, rgba(0,0,0,0.18) 0 .18em .15em;
}
.candybutton.glass:active {
	text-shadow: rgba(255,255,255,.3) 0 1px 0, rgba(0,0,0,0.15) 0 .18em .15em;
}


/* -------------- Shapes -------------- */

/* round */
.round, .round.glossy:after, .round.glass:after {
	border-top: none;
	border-radius: 			1em;
}

/* oval */
.oval {
	border-top: 			none;
	padding-left: 			.8em;
	padding-right: 			.8em;
	border-radius: 			5em / 2em;
}
.oval.glossy:after, .oval.glass:after {
	top: 					5%;
	border-radius: 			5em / 2em 2em 1em 1em;
}
.oval.icon {
	padding-left: 			.8em;
	padding-right: 			.8em;
	border-radius: 			1.5em / 1em;
}
.oval.icon.glossy:after, .oval.icon.glass:after {
	border-radius: 			1.5em / 1em;
}

/* brackets */
.brackets, .brackets.glossy:after, .brackets.glass:after {
	border-top: 			none;
	border-radius: 			.5em / 1em;
}

/* skew */
.skew {
	border-top: 			none;
	padding-right: 			1.2em;
	padding-left: 			0.8em;
	border-radius: 			6em 0 / 5em 0;
}
.skew.glossy:after, .skew.glass:after {
	left: 10%;
	border-radius: 			7em 1em / 5em 1em;
}
.skew.icon {
	padding-right: 			.9em;
	padding-left: 			.8em;
}

/* back */
.back, .back.glossy:after, .back.glass:after {
	border-top-color: 		rgba(255,255,255,0.5);
	border-radius: 			1.6em 1.6em 1em 1em / 4em 4em 1em 1em;
}
.back.glossy:after, .back.glass:after {
	 left: 	6%;
	 width:	88%;
}

/* knife */
.knife {
	padding-left: 1.5em;
	border-radius: 			.2em .5em .5em 8em / .2em .5em .5em 5em;
}
.knife.glossy:after, .knife.glass:after {
	left: 					3%;
	width: 					97%;
	border-radius: 			.1em .5em .5em 8em / .1em .5em .5em 2em;
}
.knife.glossy.icon:after, .knife.glass.icon:after {
	left: 					5%;
	width: 					95%;
	border-radius: 			.5em .5em 1em 6em / .5em .5em 1em 4em;
}

/* shield */
.shield, .shield.glossy:after, .shield.glass:after {
	border-radius: 			.4em .4em 2em 2em / .4em .4em 3em 3em;
}
.shield {
	padding-left: 	.8em;
	padding-right: 	.8em;
}
.shield.icon {
	padding-left: 	.6em;
	padding-right: 	.6em;
}

/* drop */
.drop {
	border-top: none;
	border-radius: 			2em 5em  2em .6em / 2em 4em 2em .6em;
}
.drop.glossy:after, .drop.glass:after {
	left: 4%;
	border-radius: 			2em 6em  2em 1em / 2em 4em 2em 2em;
}
.drop.icon {
	padding-right: .6em;
}


/* morph */
.morph {
	border-top: none;
}
.morph:hover {
	border-radius: 			.4em .4em 2em 2em / .4em .4em 3em 3em;
}
.morph:active {
	border-radius: 			.3em;
}
.morph:after {
	display: none;
}
/* Damn, this became a fat baby..  */
