.sfc-promo-modal {
	align-items: flex-end;
	box-sizing: border-box;
	display: flex;
	justify-content: flex-end;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	padding: 16px;
	transition: opacity 220ms ease, visibility 0s linear 360ms;
}

.sfc-promo-modal.is-open,
.sfc-promo-modal.is-closing {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.sfc-promo-modal.is-open {
	transition: opacity 220ms ease, visibility 0s linear 0s;
}

.sfc-promo-modal__overlay {
	background: rgba(0, 31, 62, 0.42);
	opacity: 0;
	transition: opacity 220ms ease;
}

.sfc-promo-modal.is-open .sfc-promo-modal__overlay,
.sfc-promo-modal.is-closing .sfc-promo-modal__overlay {
	opacity: 1;
}

.sfc-promo-modal__dialog {
	transform: translateX(110%);
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.sfc-promo-modal.is-open .sfc-promo-modal__dialog {
	transform: translateX(0);
}

.sfc-promo-modal.is-closing .sfc-promo-modal__dialog {
	transform: translateX(110%);
}

body.sfc-promo-modal-open {
	overflow: hidden;
}

@media screen and (max-width: 480px) {
	.sfc-promo-modal {
		padding: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sfc-promo-modal,
	.sfc-promo-modal__overlay,
	.sfc-promo-modal__dialog {
		transition-duration: 1ms;
	}
}
