/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

::-ms-clear, 
::-ms-reveal {
    display: none;
}

.klsflx.notice {
	position: relative;
	margin: 1em;
	color: #333;
	background: #f9f9f9;
	padding: 1em 1em 1em 2em;
	border-left: 4px solid #ddd;
	box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125);
}

.klsflx.notice:before {
	position: absolute;
	top: 50%;
	margin-top: -17px;
	left: -17px;
	background-color: #ddd;
	color: #fff;
	width: 30px;
	height: 30px;
	border-radius: 100%;
	text-align: center;
	line-height: 30px;
	font-weight: bold;
	font-family: Georgia;
	text-shadow: 1px 1px rgba(0, 0, 0, 0.5);
}

.klsflx.full-screen-loader {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	display: none;
	justify-content: center;
	align-items: center;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1;
	-webkit-backdrop-filter: blur(1px);
	backdrop-filter: blur(1px);
}

.klsflx.info {
	border-color: #0074d9;
}

.klsflx.info:before {
	content: "";
	background-color: #0074d9;
}

.klsflx.success {
	border-color: #2ecc40;
}

.klsflx.success:before {
	content: "";
	background-color: #2ecc40;
}

.klsflx.warning {
	border-color: #ffdc00;
}

.klsflx.warning:before {
	content: "";
	background-color: #ffdc00;
}

.klsflx.error {
	border-color: #ff4136;
}

.klsflx.error:before {
	content: "";
	background-color: #ff4136;
}

/* FORMS */
/* ...Login flow */
.klsflx-login-flow-container {
	width: 100%;
	max-width: 950px;
}
.klsflx.validate-notice,
.klsflx.validate-card-notice {
	font-size: 0.75rem;
	color: #ef5350; /* red lighten-1 */
}

/* REGISTRTATION STEPPER */
.klsflx.step-content-title {
	font-size: 1.4em;
}
/* ...Payment */
.klsflx.payment-methods-container {
	width: 100%;
}

.klsflx.payment-method-container {
	display: flex;
	align-items: center;
	gap: 1em;
	justify-content: space-between;
}

.klsflx.payment-method-info {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 600;
}

.klsflx.payment-method-icon {
	height: 3em;
}

.klsflx.payment-method-issuers-row-ideal {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}

.klsflx.payment-method-issuer-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25em;
	flex: 0 0 90px;
	height: 90px;
	padding: 0.25em;
	transition: transform .2s;
}

.klsflx.payment-method-issuer-container:hover,
.klsflx.payment-method-issuer-container.active {
	background-color: white;
	color: #333;
}

.klsflx.payment-method-issuer-container.active {
	transform: scale(1.05);
}

.klsflx.payment-method-issuer-container img {
	transition: transform .3s;
}

.klsflx.payment-method-issuer-container:hover img {
	transform: scale(1.3);
}

@media only screen and (max-width: 993px) {
	.klsflx.payment-method-issuer-container {
		gap: 0.2em;
		flex: 0 0 85px;
		height: 85px;
		padding: 0.2em;
	}
}

.creditcard-preview-wrapper {
	margin-top: 1.2em;
}

.klsflx.cc-title-row {
	display: flex;
	justify-content: space-between;
}

.klsflx.cc-accepted-container {
	display: flex;
	gap: 0.5em;
	justify-content: flex-end;
}

@media only screen and (max-width: 993px) {
	.creditcard-preview-wrapper {
		margin-left: 0;
		padding-left: 0;
	}

	.klsflx.cc-accepted-container {
		gap: 0.3em;
	}

	img.klsflx.cc-accepted {
		width: 20px;
	}
}

/* Payment status */
.klsflx.payment-status,
.klsflx.subscription-status,
.klsflx.refund-status {
	color: #fff;
	padding: 0 .4em .2em .4em;
	border-radius: 4px;
	display: inline-block;
	font-variant: small-caps;
	letter-spacing: 1px;
	font-size: .8em;
}

.klsflx.refund-status-original-payment {
	position: absolute;
	display: inline-block;
	left: 0;
	font-size: .8em;
	font-weight: 600;
	padding: 0 .4em .2em .4em;
	margin-top: 1px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	background-color: transparent;
	border-right: 3px dashed var(--this-wp-blue);
}

.klsflx.refund-status-original-payment::after,
.klsflx.partial-refund-container::after {
	position: absolute;
	font-weight: 600;
	bottom: -20px;
	margin-bottom: 0.25em;
	width: max-content;
	font-size: 0.6rem;
}

.klsflx.refund-status-original-payment::after {
	content: '\2516' attr(data-payment-amount);
}

.klsflx.partial-refund-container::after {
	content: '\2516' attr(data-max-refund);
	margin-left: -5px;
}

.klsflx.payment-status.payment-status-paid,
.klsflx.subscription-status.subscription-status-active {
	background-color: forestgreen;
}

.payment-status.payment-status-open,
.payment-status.payment-status-pending,
.refund-status.refund-status-queued,
.refund-status.refund-status-pending,
.subscription-status.subscription-status-pending {
	background-color: gold;
}

.payment-status.payment-status-cancelled,
.payment-status.payment-status-canceled,
.payment-status.payment-status-expired,
.subscription-status.subscription-status-canceled {
	background-color: lightgrey;
	color: black;
}

.payment-status.payment-status-failed {
	background-color: firebrick;
}

.partial-refund-container {
	position: relative;
	display: inline-block;
}

.refund-status.refund-status-refunded {
	background-color: dodgerblue;
}

.subscription-status.subscription-status-suspended,
.subscription-status.subscription-status-completed {
	background-color: forestgreen;
	border-color: lightgrey;
}

.refund-status.refund-status-processing {
	background-color: darkmagenta;
}

/* Spacers */
/* ...margin */
.klsflx-mt-1 {
	margin-top: 1em;
}

.klsflx-mb-1 {
	margin-bottom: 1em;
}

.klsflx-mt-2 {
	margin-top: 2em;
}

.klsflx-mb-2 {
	margin-bottom: 2em;
}

/* ...padding */
.klsflx-pt-1 {
	padding-top: 1em;
}

.klsflx-pb-1 {
	padding-bottom: 1em;
}

.klsflx-pt-2 {
	padding-top: 2em;
}

.klsflx-pb-2 {
	padding-bottom: 2em;
}

/* HELPERS */
.klsflx.show {
	display: inline-block;
}

.klsflx.hide {
	display: none;
}

.klsflx.full-width {
	display: block;
	width: 100%;
}

.klsflx.full-width-no-block {
	width: 100%;
}

.klsflx.text-uppercase {
	text-transform: uppercase;
}

.klsflx.description {
	font-size: 0.75em;
}
