
a.fancy-link, 
a.fancy-button, 
label.fancy-button, 
input[type="submit"].fancy-button, 
button.fancy-button {
    display: inline-block;
	
	position: relative;
	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

a.fancy-button {
	text-decoration: none;
}

a.fancy-button, 
label.fancy-button, 
input[type="submit"].fancy-button, 
button.fancy-button {
    background: none;
    background-color: #ffffff;
    border: none;
    border-radius: 2px;
    padding: 6px 10px;
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.25);
	
    text-align: center;
    font-size: inherit;
    color: #2d2d2d;
	
	transition: transform 100ms linear;
}

a.fancy-button.invert, 
label.fancy-button.invert, 
input[type="submit"].fancy-button.invert, 
button.fancy-button.invert {
    background-color: #2d2d2d;
    
    color: #ffffff;
}

a.fancy-button:hover, 
label.fancy-button:hover, 
input[type="submit"].fancy-button:hover, 
button.fancy-button:hover {
	transform: scale(1.05);
	
	cursor: pointer;
}

a.fancy-button:active, 
label.fancy-button:active, 
input[type="submit"].fancy-button:active, 
button.fancy-button:active {
	transform: scale(0.95);
}

a.fancy-button:focus, 
label.fancy-button:focus, 
input[type="submit"].fancy-button:focus, 
button.fancy-button:focus{
    outline: none;
	box-shadow: 0px 0px 3px 1px #5D9CEC; 
}

a.fancy-button:disabled, 
label.fancy-button:disabled, 
input[type="submit"].fancy-button:disabled, 
button.fancy-button:disabled {
    box-shadow: none;
	
    color: #dcdcdc;
}

a.fancy-button.invert:disabled, 
label.fancy-button.invert:disabled, 
input[type="submit"].fancy-button.invert:disabled, 
button.fancy-button.invert:disabled {
    background-color: #484848; 
	
    color: #a0a0a0;
}

a.fancy-button:disabled:hover, 
label.fancy-button:disabled:hover, 
input[type="submit"].fancy-button:disabled:hover, 
button.fancy-button:disabled:hover {
	transform: scale(1);
	
	cursor: default;
}

a.fancy-button:disabled:active, 
label.fancy-button:disabled:active, 
input[type="submit"].fancy-button:disabled:active, 
button.fancy-button:disabled:active {
	transform: scale(1);
}

a.fancy-button.required, 
label.fancy-button.required, 
input[type="submit"].fancy-button.required, 
button.fancy-button.required {
	box-shadow: 0px 0px 3px 1px red; 
}

a.fancy-button.check::after, 
label.fancy-button.check::after, 
button.fancy-button.check::after {
	content: "\f00c"; 
    display: inline-block;
	
	margin-left: 10px;
	
    color: #8CC152;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.save::after, 
label.fancy-button.save::after, 
button.fancy-button.save::after {
	content: "\f0c7"; 
    display: inline-block;
	
	margin-left: 10px;
	
    color: #8CC152;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.plus::after, 
label.fancy-button.plus::after, 
button.fancy-button.plus::after {
	content: "\f067"; 
    display: inline-block;
	
	margin-left: 10px;
	
    color: #4A89DC;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.delete::after, 
label.fancy-button.delete::after, 
button.fancy-button.delete::after {
	content: "\f2ed"; 
    display: inline-block;
	
	margin-left: 10px;
	
    color: #DA4453;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.edit::after, 
label.fancy-button.edit::after, 
button.fancy-button.edit::after {
	content: "\f044"; 
    display: inline-block;
	
	margin-left: 10px;
	
    color: #4A89DC;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.back::before, 
label.fancy-button.back::before, 
button.fancy-button.back::before {
	content: "\f3e5"; 
    display: inline-block;
	
	margin-right: 10px;
	
    color: #DA4453;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

button.fancy-button.square {
	height: 36px;
	width: 40px;
	
	padding: 0px;
	line-height: 36px;
}

button.fancy-button.square::before {
	content: "\f085"; 
    display: inline-block;
	
    color: inherit;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.file::before, 
label.fancy-button.file::before, 
button.fancy-button.file::before {
	content: "\f15b"; 
    display: inline-block;
	
	margin-right: 10px;
	
    color: #8CC152;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

a.fancy-button.spinner::after, 
label.fancy-button.spinner::after, 
button.fancy-button.spinner::after {
	content: "\f110"; 
    display: inline-block;
	
	margin-left: 10px;
	
    color: #4A89DC;
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
	
	-webkit-animation-name: BTNspinner;
	-webkit-animation-duration: 2000ms;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	-moz-animation-name: BTNspinner;
	-moz-animation-duration: 2000ms;
	-moz-animation-iteration-count: infinite;
	-moz-animation-timing-function: linear;
	-ms-animation-name: BTNspinner;
	-ms-animation-duration: 2000ms;
	-ms-animation-iteration-count: infinite;
	-ms-animation-timing-function: linear;
	-o-transition: rotate(2000ms);
}

.fancy-button.fancy-blue.spinner::after {
	color: #A0D468;
}

@-moz-keyframes BTNspinner {
    from { -moz-transform: rotate(0deg); }
    to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes BTNspinner {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
@keyframes BTNspinner {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

a.fancy-button.flash-red, 
label.fancy-button.flash-red, 
button.fancy-button.flash-red {
	-webkit-animation-name: BTNStrobeShadowRed;
	-webkit-animation-duration: 1000ms;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	-moz-animation-name: BTNStrobeShadowRed;
	-moz-animation-duration: 1000ms;
	-moz-animation-iteration-count: infinite;
	-moz-animation-timing-function: linear;
	-ms-animation-name: BTNStrobeShadowRed;
	-ms-animation-duration: 1000ms;
	-ms-animation-iteration-count: infinite;
	-ms-animation-timing-function: linear;
	-o-transition: rotate(1000ms);
}

@keyframes BTNStrobeShadowRed {
    0% {box-shadow:0px 0px 0px 1px #DA4453A0;}
    40% {box-shadow:0px 0px 0px 3px #ED5565D0;}
    60% {box-shadow:0px 0px 0px 3px #ED5565D0;}
    100% {box-shadow:0px 0px 0px 1px #DA4453A0;}
}

a.fancy-button.flash-yellow, 
label.fancy-button.flash-yellow, 
button.fancy-button.flash-yellow {
	-webkit-animation-name: BTNStrobeShadowYellow;
	-webkit-animation-duration: 1000ms;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	-moz-animation-name: BTNStrobeShadowYellow;
	-moz-animation-duration: 1000ms;
	-moz-animation-iteration-count: infinite;
	-moz-animation-timing-function: linear;
	-ms-animation-name: BTNStrobeShadowYellow;
	-ms-animation-duration: 1000ms;
	-ms-animation-iteration-count: infinite;
	-ms-animation-timing-function: linear;
	-o-transition: rotate(1000ms);
}

@keyframes BTNStrobeShadowYellow {
    0% {box-shadow:0px 0px 0px 1px #FFCE54A0;}
    40% {box-shadow:0px 0px 0px 3px #F6BB42D0;}
    60% {box-shadow:0px 0px 0px 3px #F6BB42D0;}
    100% {box-shadow:0px 0px 0px 1px #FFCE54A0;}
}

html body a.fancy-link, 
a.fancy-link {
    color: #0072C6;
    text-decoration: underline;
	
	transition: transform 100ms linear;
}

a.fancy-link:hover {
	color: #da4453;
	font-weight: bold;
	
	cursor: pointer;
	
	transform: scale(1.1);
}








