.pp-button-container {
	clear: both;
	margin: 20px 0;
}

.pp-mobile-product-page-button {
	bottom: 0px;
	position: fixed;
	z-index: 2147483646 !important;  
	width:100%;
}

#pp-button-container-mini {
	margin-bottom: 0;
	margin-top: 0.5em;
}

@media screen and (max-width: 768px) {
	.pp-button[style] {
		width: 100% !important;
	}
}

.pp-break {
	flex-basis: 100% !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pp-button {
	background-color: var(--pp-button-background-color) !important;
	border: none;
	border-radius: 5px;
	box-shadow: none;
	color: var(--pp-button-text-color)  !important;
	fill: var(--pp-button-text-color) !important;
	overflow: hidden;
	padding: 15px 1px;
	position: relative;
	text-align: center;
	text-shadow: none;
	margin: 0;
	height: auto;
	max-height: 60px;
}

.pp-button-default-font {
	font-family: sans-serif !important;
	font-size: 16px !important;
	font-weight: bold !important;
	text-transform: uppercase !important;
}

.pp-effect-fade {
	color: var(--pp-button-text-color) !important;
	fill: var(--pp-button-text-color) !important;
	border: 2px solid var(--pp-button-background-color) !important;
	background: linear-gradient(to right, var(--pp-button-text-color) 50%, var(--pp-button-background-color) 50%) !important;
	background-size: 200% 100% !important;
	background-origin: border-box !important;
	background-position: right bottom !important;
	transition: all .4s ease !important;
}

.pp-effect-fade:hover:not(.pp-button-mute),
.pp-effect-fade:focus:not(.pp-button-mute) {
	color: var(--pp-button-background-color) !important;
	fill: var(--pp-button-background-color) !important;
	border: 2px solid var(--pp-button-background-color) !important;
	background-position: left bottom !important;
}

.pp-effect-fade:hover:not(.pp-button-mute) {
	opacity: 1.00 !important;
}

.pp-button-float {
	background-color: var(--pp-button-background-color) !important;
	border: none;
	border-radius: 100%;
	box-shadow: rgb(0 0 0 / 25%) 0px 2px 8px 2px;
	color: var(--pp-button-text-color)  !important;
	fill: var(--pp-button-text-color)  !important;
	overflow: hidden;
	padding: 5px;
	position: relative;
	text-align: center;
	margin: 0;
	outline: 0 !important;
}

#pp-button-mini {
	border-radius: 0;
	font-size: 0.875em !important;
	padding: 10px;
}

.pp-button:hover {
	background-color: var(--pp-button-background-color);
	color: white;
	cursor: pointer;
	opacity: 0.75;
}

.pp-button:disabled {
	opacity: 1 !important;
}

.pp-button-content {
	text-align: center;
}

.pp-button-mute {
	opacity: 0.6;
	cursor: not-allowed;
}

.pp-button-mute:hover {
	opacity: 0.6;
	cursor: not-allowed;
}

.pp-logo-img {
	display: inline;
	vertical-align: middle;
	margin-right: 5px;

}

.pp-spinner {
	width: 20px;
	display: inline;
	vertical-align: middle;
}

.pp-spinner-iframe {
	width: 50px;
}

.hide {
	display: none !important;
}

/* Custom styles for specific merchants, mostly from their request or from us
trying to make the button look more native. */
.rahimsapphire:hover {
	color: #086375;
	background-color: #f0f0f0 !important;
}

.margin-0 {
	margin: 0px;
}

.blazecandle:hover {
	color: white !important;
	background-color: black !important;
}

/* Make sure Drift doesn't cover PeachPay because it can sometimes get in the
way of tapping on fields on small mobile devices. */
.drift-frame-chat,
.drift-frame-controller {
	z-index: 2147483646 !important;
}

.button-container {
	display: grid;
	justify-items: center;
	width: 100%;
}

.cc-logo {
	max-width: 2rem !important;
	max-height: 2rem !important;
	margin: 0 2px;
	/* width: 16% !important;  */
	/* Commented out for now because there are 4 static icons and 2 non-static icons (which may or may not appear)*/
	/* This 16% comes from the 6 CC logos being displayed 
	and should change if more icons are introduced */
}

.cc-logo-sidebar {
	width: 1.5rem;
	height: 1.5rem;
	margin: 0 2px;
}

.cc-company-logos {
	display: flex;
	margin-top: 3px;
	justify-content: center;
}

.button-container-preview {
	display: flex;
	width: fit-content;
	width: -moz-fit-content;
	flex-direction: column;
	align-items: center;
}

.pp-btn-symbol {
	display: inline;
	width: 15px !important;
	height: 15px !important;
	vertical-align: -2.5px !important;
	margin: 0 !important;
}

.pp-btn-symbol-mini {
	display: inline;
	width: 13px !important;
	height: 13px !important;
	vertical-align: middle;
}

.skre-icon {
	display: inline;
	height: 12px !important;
}

.skre-icon-mini {
	display: inline;
	height: 10px !important;
}

@media screen and (max-width: 768px) {
	.button-container {
		display: block;
	}

	.cc-company-logos {
		justify-content: center;
	}

	.button-container-preview {
		width: 100%;
	}
}

.checkout-container {
	text-align: center;
	border: 1px solid #dad3d3;
	border-radius: 15px;
	box-shadow: 0px 1px 5px rgb(0 0 0 / 10%);
	margin-bottom: 10px;
	padding: 0.5rem;
}

.checkout-header {
	margin-top: 10px;
	text-align: center;
	font-weight: bold;
}

.peachpay-description {
	margin-right: 35px;
	margin-left: 35px;
	margin-bottom: 5px
}

.pp-test-notice-bar {
	position: absolute;
	width: 100%;
	height: 3px;
	background-color: #ff876c;
}

.pp-test-notice {
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	width: 7em;
	height: 1.6em;
	border-radius: 0px 0px 5px 5px;
	background-color: #ff876c;
	color: white;
	text-align: center;
}

.pp-test-notice p {
	margin-top: 0em;
}

/* Some plugin or theme surrounds our loading spinner with a wrapper div
which adds extra styles. Prevent this. */
.pp-button .fluid-width-video-wrapper {
	padding: 0 !important;
	display: block !important;
}

.pp-button .fluid-width-video-wrapper object {
	position: inherit !important;
	top: inherit !important;
	left: inherit !important;
	width: 20px !important;
	height: 20px !important;
}

.pp-float-container {
	display: flex;
	flex-direction: column;
	margin: 20px 0;
}

#empty-cart-msg {
	position: absolute;
	top: 78px;
	width: 96px;
	font-family: sans-serif;
	font-size: 13px;
}

.item-count {
	background-color: black;
	color: white;
	border-radius: 100%;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	bottom: -7px;
	left: 50px;
	box-shadow: rgb(0 0 0 / 25%) 1px 2px 8px 3px;
	font-size: 13px;
	font-family: sans-serif;
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
}

.pp-overlay {
	display: none;
	position: fixed !important;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(40, 40, 40, 0);
	z-index: 2147483647 !important;
	justify-content: center;
	width: 100% !important;
	height: 100vh;
	-webkit-transition: background 0.5s ease-in-out;
	-moz-transition: background 0.5s ease-in-out;
	-o-transition: background 0.5s ease-in-out;
	transition: background 0.5s ease-in-out;
}

#peachpay-iframe {
	position: absolute !important;
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	border: none !important;
	overflow-y: scroll !important;
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	top: 50%;
	-webkit-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	-o-transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out, top 0.3s ease-in-out;
}

@media screen and (max-width: 768px) {
	@supports (-webkit-touch-callout: none) {
		#peachpay-iframe {
			height: calc(100vh - 44px) !important;
		}
	}
}

.pp-currency-set-notice {
	background-color: var(--pp-button-background-color) !important;
	position: fixed;
	bottom: 5px;
	z-index: 100;
	width: 10rem;
	color: white;
	border-radius: 1rem;
	padding: 5px;
}

@keyframes peachpay-fade {
	0% {
		opacity: 0%;
	}

	5% {
		opacity: 10%;
	}

	10% {
		opacity: 35%;
	}

	20% {
		opacity: 100%;
	}

	50% {
		opacity: 90%;

	}

	70% {
		opacity: 65%;
	}

	100% {
		opacity: 0%;
	}
}

.pp-currency-notice-inner {
	padding: 5px;
}