/* Variables */

:root {
	--main-color: #304ffe;
	--main-highlight-color: #f2f5ff;
	--main-base-color: #ffffff;
	--main-bodybg-color: #e6ebf4;
	--text-color: #b1b6bd;
	--text-currency-color: #6b6b6f;
	--plan-color: #aba4a4;
	--main-shadow-color: #e9ecef;
}

.container {
	max-width: 800px;
}

html,
body {
	height: 100%;
}

body {
	background-color: var(--main-bodybg-color);
	user-select: none;
	-o-user-select: none;
	-ms-user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
}

input {
	user-select: text !important;
	-o-user-select: text !important;
	-ms-user-select: text !important;
	-moz-user-select: text !important;
	-webkit-user-select: text !important;
}

.card {
	border: none;
	border-radius: 8px;
	box-shadow: 5px 6px 6px 2px var(--main-shadow-color);
}

.heading {
	font-size: 23px;
	font-weight: 00;
}

.text {
	font-size: 16px;
	font-weight: 500;
	color: var(--text-color);
}

.pricing {
	background-color: var(--main-base-color);
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.pricing.selected {
	border: 2px solid var(--main-color);
	background-color: var(--main-highlight-color);
}

.credit:hover {
	cursor: pointer;
	border: 1px solid var(--main-color);
	background-color: var(--main-highlight-color);
}

.credit {
	padding-left: 12px;
	border: 1px solid transparent;
	transition: border 0.3s ease, background-color 0.3s ease;
}

.credit.selected {
	border: 1px solid var(--main-color);
	background-color: var(--main-highlight-color);
}

.newcard {
	border: 1px solid var(--main-color);
	background-color: var(--main-highlight-color);
	padding: 1rem 1rem;
	border-radius: 4px;
	margin-top: 10px;
}

.pricing:not(.selected):hover {
	cursor: pointer;
	background-color: var(--main-highlight-color);
	border: 2px solid var(--main-color);
}

.pricing:not(.selected) .images img {
	filter: grayscale(100);
	transition: all 0.3s ease;
}

.pricing:not(.selected):hover .images img {
	filter: grayscale(0);
}

.pricing .badge {
	font-size: 10px;
}

.business {
	font-size: 20px;
	font-weight: 500;
}

.plan {
	color: var(--plan-color);
}

.dollar {
	font-size: 18px;
	color: var(--text-currency-color);
}

.amount {
	font-size: 50px;
	font-weight: 500;
}

.amount.smaller-font {
	font-size: 20px;
}

.bg-success {
	background-color: #42ba96 !important;
}

.bg-danger {
	background-color: #df4759 !important;
}

.year {
	font-size: 16px;
	color: var(--text-currency-color);
	/* margin-top: 19px; */
}

.ms-60 {
	margin-left: calc(1.4rem + 60px);
}

.detail {
	font-size: 22px;
	font-weight: 500;
}

.cvv {
	height: 44px;
	width: 73px;
	border: 2px solid #eee;
}

.cvv:focus {
	box-shadow: none;
	border: 2px solid var(--main-color);
}

.email-text {
	height: 55px;
	border: 2px solid #eee;
}

.email-text:focus {
	box-shadow: none;
	border: 2px solid #304ffe;
}

.payment-button {
	height: 70px;
	font-size: 20px;
}

.form-check-input.form-check-input-large {
	width: 1.35rem;
	height: 1.35rem;
}

.form-check-label {
	border: 1px solid transparent !important;
	margin-top: 2px;
	margin-left: 3px;
}

.form-check-input-large {
	background: rgb(242, 245, 255);
	border: 1px solid rgb(48, 79, 254);
}

.error.form-check-input {
	background-color: rgba(224, 16, 16, 0.22);
	border-color: rgba(179, 30, 30, 1);
}

.form-check-input:checked {
	background-color: rgb(48, 79, 254);
	border-color: rgb(48, 79, 254);
}

.custom-file-input {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	pointer-events: auto;
	cursor: pointer;
}

[x-cloak] {
	display: none !important;
}

#securionpay-element {
	display: flex;
}

#securionpay-element span input {
	color: #32325d;
	font-family: Arial, sans-serif;
	font-size: 16px;
	background-color: transparent;
	border: none;
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	line-height: 1.2em;
	height: 1.2em;
	-webkit-font-smoothing: antialiased;
}

#securionpay-element span input::placeholder {
	color: #32325d;
}

#securionpay-element .InputContainer {
	width: 10%;
	height: 18px;
	display: block;
	position: relative;
}

#securionpay-element .ccicon {
	width: 5%;
	height: 18px;
	display: block;
	position: relative;
}

#securionpay-element .ccnm {
	flex-grow: 1;
	transition: all .3s;
}

#securionpay-element .cvc {
	margin-left: 10px;
	width: 7%;
}

#securionpay-element .InputContainer:after {
	visibility: hidden;
	content: attr(data-max);
}

.CardBrandIcon {
	position: relative;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	transition: -webkit-transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition: transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition: transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	height: 100%;
}

.CardBrandIcon-container {
	height: 100%;
	position: absolute;
	top: 0;
	text-align: center;
	width: 1.5em;
	-webkit-perspective: 1000px;
	perspective: 1000px;
}

.CardBrandIcon-inner--front {
	z-index: 2;
	-webkit-transform: rotateY(0);
	transform: rotateY(0);
}

.CardBrandIcon-inner--back {
	z-index: 1;
	transform: rotateY(180deg);
}

.CardBrandIcon-inner {
	margin: 0;
	padding: 0;
	position: absolute;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	height: 100%;
	width: 1.5em;
	line-height: 0;
}

.CardBrandIcon.is-loaded svg {
	transition: opacity 0.7s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition: transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.7s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition: transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.7s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.4s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	opacity: 1;
}

:focus {
	outline: none;
}

.Icon-fill {
	fill: #515e80;
}

.is-invalid .Icon-fill {
	fill: #fa755a;
}

.CardBrandIcon.is-cvc-hidden .CardBrandIcon-inner--back {
	opacity: 0;
}

.CardBrandIcon.is-cvc {
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

#securionpay-element span input.is-invalid {
	font-family: Arial, sans-serif;
	color: #fa755a !important;
}

@media (max-width: 414px) {
	#securionpay-element.shrink .ccnm {
		max-width: 14.5%;
		margin-right: auto;
	}

	#securionpay-element .ccicon {
		width: 12%;
		opacity: 0;
		margin-left: -12%;
		transition: all 0.3s;
	}

	#securionpay-element.shrink .ccicon {
		margin-left: 0;
		opacity: 1;
	}

	#securionpay-element .expd {
		width: 10%;
		transition: all 0.3s;
	}

	#securionpay-element .cvc {
		width: 13%;
		transition: all 0.3s;
	}

	#securionpay-element.shrink .expd {
		width: 25%;
	}

	#securionpay-element.shrink .cvc {
		width: 15%;
	}
}

.modal.fade2 {
	display: block !important;
	animation: modalHide .25s cubic-bezier(0, 0.84, 0.44, 1) forwards;
	box-shadow: 0 2px 2px rgba(44, 44, 44, 0);
}

.modal.fade2.show {
	animation: modalShow .25s cubic-bezier(0, 0.44, 0.84, 1) forwards;
}

.modal-backdrop {
	transition: opacity .25s ease, background-color .25s ease;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
	pointer-events: none !important;
}

.modal-backdrop.fade2 {
	background-color: rgba(0, 0, 0, 0.5);
}

.modal .modal-content {
	box-shadow: 0 0 1rem rgba(22, 22, 22, 0.5);
	/* background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.85) 100%); */
}

.headline-area {
	z-index: 2000;
	text-align: center;

}

.qrwrapper {
	display: block;
	position: absolute;
	left: 50%;
	top: 49%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 2;
	max-width: 640px;
	text-align: center;
	color: white;
}

.qrcode {
	text-align: center;
	padding: 13px;
	background: white;
	width: auto;
	max-width: 280px;
	border-radius: 7px;
	margin: 0 auto;
}

.qrcode img {
	display: inline-block !important;
}

.modal .btn-close {
	position: absolute;
	top: 20px;
	right: 20px;
}

.desktop-modal .modal-content:after {
	display: block;
	content: " ";
	background: #1174CE;
	height: 50%;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}

.video-bg {
	width: 100%;
	position: relative;
}

.video-bg video {
	width: 100%;
	display: block;
	object-fit: cover;
	height: 230px;
}

.id-rectangle {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
}

.id-rectangle img {
	width: 80%;
	margin-top: 20px;
}

.overlay {
	display: none;
	width: 100%;
	min-height: 40%;
	z-index: 2000;
}

.iconContainer {
	position: relative;
}

.overlay-border {
	background: rgba(0, 0, 0, 0.283);
	color: white;
	padding: 15px 20px;
	border-radius: 7px;
}

.iconContainer p {
	display: block;
	width: 100%;
	text-align: center;
	margin: 0;
	margin-top: -25px;
	font-size: 20px;
	opacity: 0;
}

.phone {
	position: relative;
	left: 50%;
	display: flex;
	align-items: center;
	text-align: center;
	align-content: center;
	margin-left: -50px;
	width: 0;
	height: 0;
	border: 0 solid rgb(50, 50, 50);
	background: #a9a9a9;
	border-radius: 10px;
	box-sizing: border-box;
}

.phone svg {
	opacity: 0;
	width: 100%;
}

.phone i {
	text-align: center;
	width: 100%;
	line-height: 120px;
	font-size: 50px;
	color: #747474;
	opacity: 0;
}

.progressbar {
	margin: 0;
	padding: 0;
	overflow: hidden;
	color: lightgrey;
	padding: 15px 0px;
	display: flex;
}

.progressbar .active {
	color: #000000;
}

.progressbar li {
	list-style-type: none;
	font-size: 12px;
	position: relative;
	display: block;
	width: 100%;
	text-align: center;
}

.progressbar .idcard .icon {
	display: block;
	content: ' ';
	background: lightgray url(/static/idcard.svg);
	background-repeat: no-repeat;
	background-size: 22px 22px;
	background-position: center;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding-top: 20px;
	margin-bottom: 5px;
	z-index: 5;
}

.progressbar .selfie .icon {
	display: block;
	content: ' ';
	background: lightgray url(/static/selfie.svg);
	background-repeat: no-repeat;
	background-size: 18px 18px;
	background-position: center;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding-top: 20px;
	margin-bottom: 5px;
	z-index: 5;
}

.progressbar .selfie-clip .icon {
	display: block;
	content: ' ';
	background: lightgray url(/static/selfie-clip.svg);
	background-repeat: no-repeat;
	background-size: 22px 22px;
	background-position: center;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding-top: 20px;
	margin-bottom: 5px;
	z-index: 5;
}

.progressbar li .icon {
	width: 50px;
	height: 50px;
	line-height: 45px;
	display: block;
	font-size: 18px;
	color: #ffffff;
	background: lightgray;
	border-radius: 50%;
	margin: 0 auto 10px auto;
	padding: 2px;
	opacity: .45;
	z-index: 5;
}



.progressbar li.active .icon {
	background-color: skyblue;
	opacity: 1;
}

.content-wrapper {
	padding: 2rem;
	height: 100%;
	width: 100%;
	text-align: center;
}


@media only screen and (max-width: 1020px) {
	.overlay {
		display: block;
	}

	.overlay .phone {
		-webkit-animation: sizeIncrease 0.5s forwards ease, borderIncrease 0.5s 0.5s forwards ease, rotateRight 0.7s 1s forwards ease;
		animation: sizeIncrease 0.5s forwards ease, borderIncrease 0.5s 0.5s forwards ease, rotateRight 0.7s 1s forwards ease;
	}

	.overlay .phone i {
		-webkit-animation: fadeIn 0.5s 0.8s forwards ease;
		animation: fadeIn 0.5s 0.8s forwards ease;
	}

	.overlay .iconContainer p {
		-webkit-animation: fadeIn 0.5s 1.3s forwards ease;
		animation: fadeIn 0.5s 1.3s forwards ease;
	}

	.overlay .phone svg {
		animation: fadeIn 0.3s 1.0s forwards ease;
	}
}


@-webkit-keyframes sizeIncrease {
	0% {
		width: 0;
		height: 10px;
	}

	50% {
		width: 100px;
		height: 10px;
	}

	100% {
		width: 100px;
		height: 160px;
	}
}

@keyframes sizeIncrease {
	0% {
		width: 0;
		height: 10px;
	}

	50% {
		width: 100px;
		height: 10px;
	}

	100% {
		width: 100px;
		height: 160px;
	}
}


/* Add borders */

@-webkit-keyframes borderIncrease {
	100% {
		border-width: 15px 10px;
	}
}

@keyframes borderIncrease {
	100% {
		border-width: 10px 10px;
	}
}


/* fade-in  */

@-webkit-keyframes fadeIn {
	100% {

		opacity: 1;
	}
}

@keyframes fadeIn {
	100% {

		opacity: 1;
	}
}


/* Rotate device */

@-webkit-keyframes rotateRight {
	100% {
		transform: rotate(90deg);
	}
}

@keyframes rotateRight {
	100% {
		transform: rotate(90deg);
	}
}