a.pp-button,
a.pp-button:visited {
	display: inline-block;
	overflow: hidden;
    position: relative;
	text-decoration: none;
	text-shadow: none;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -o-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
	-webkit-transition: all .3s linear;
	-moz-transition: all .3s linear;
	-o-transition: all .3s linear;
	-ms-transition: all .3s linear;
	transition: all .3s linear;
}
.pp-button:hover {
	text-decoration: none;
}
.pp-button:active {
	position: relative;
	top: 1px;
}
.pp-button-width-full .pp-button {
	display: block;
	text-align: center;
}
.pp-button-width-custom .pp-button {
	display: inline-block;
	text-align: center;
	max-width: 100%;
}
.pp-button-left {
	text-align: left;
}
.pp-button-center {
	text-align: center;
}
.pp-button-right {
	text-align: right;
}
.pp-button i {
	font-size: 1.3em;
	height: auto;
	margin-right:8px;
	vertical-align: middle;
	width: auto;
}
.pp-button i.pp-button-icon-after {
	margin-left: 8px;
	margin-right: 0;
}
.pp-button-has-icon .pp-button-text {
	vertical-align: middle;
}

.pp-button-wrap a.pp-button:before {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transition-property: transform;
    -moz-transition-property: transform;
    -o-transition-property: transform;
    -ms-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    -moz-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    -ms-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.pp-button .dashicons,
.pp-button .dashicons-before:before {
	font-size: inherit;
	height: auto;
	width: auto;
}
.pp-button .pp-button-has-subtext {
	display: flex;
	flex-direction: column;
}