body.pgwModalOpen{overflow:hidden}
#pgwModalBackdrop{
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:99999999;
	background: hsl(336, 5%, 21%); /* ⚠️ dot not --var */
	opacity: 0.6;
}
#pgwModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999999;overflow-x:auto;overflow-y:scroll;text-align:center}
#pgwModal .pm-container{margin:10px}
#pgwModal .pm-body{display:inline-block;max-width:800px;min-width:300px;position:relative;/*width:100%;*/z-index:9020;margin-top:10px}
.pgwModalBackdrop{background:#000;opacity:.6;filter:alpha(opacity=60)}
.pgwModal .pm-body{
	background-color:var(--nearly-white);
	border-radius:5px;
	box-shadow: 0 0 27px -3px var(--box-shadow);
	overflow: auto;
/*	padding: 5px;*/
	/*	min-height: 600px; */
}
.pgwModal .pm-title {
	text-align: left;
	margin: 20px;
	position: relative;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.pgwModal .pm-subtitle {
	font-size: 14px;
	font-weight: 300;
	color: var(--dark-color-text);
	padding-top: 4px;
	letter-spacing: -0.2px;
	white-space: pre-wrap;
}
.pgwModal .pm-content{
	background: var(--nearly-white);
	border-radius: 0 0 5px 5px;
	text-align: left;
	max-height: 520px;
	position: relative;
	white-space: nowrap;
	overflow: auto; /* hidden */
	text-overflow: ellipsis;
}

.pgwModal .pm-buttons {
	background: var(--nearly-white);
/*	min-height: 36px; */
	border-radius: 0 0 5px 5px;
	margin-top: 20px;
	padding: 12px 20px;
	border-top: 1px solid var(--medium-gray);
	height: 61px;
}

.pgwModal .pm-title-text {
	text-overflow: ellipsis;
	width: calc(100% - 20px); /* full width but button */
	display: inline-block;
	overflow: hidden;
	font-weight: var(--text-font-weight-normal);
	font-size: 20px;
}
.pgwModal .pm-close{
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
}
.pgwModal .pm-close span.pm-icon {


	background: var(--dark-color);
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none" stroke="%23383335" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none" stroke="%23383335" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>');
	display:block;
	height:20px;
	width:20px;
	opacity: .6;
}
.pgwModal .pm-close span.pm-icon:hover {
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none" stroke="%23e91e63" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>') no-repeat center right transparent;
	opacity: 1;
}

#pgwModal_iframe {
	width: 100%;
	height: 100%;
	background: url(https://static.popi.nz/img/loading_dark.svg) no-repeat center;
}

.pgwModal .pm-body{
	/*		transition: all 250ms cubic-bezier(0.215, 0.610, 0.355, 1.000); */
}

.pgwModal.w_large .pm-body {
	width: 900px !important;
}

.pgwModal.w_medium .pm-body {
	width: 600px !important;
}

.pgwModal.w_small .pm-body {
	width: 450px;
}
.pgwModal.w_small .pm-body .pm-title {
	margin: 18px 16px;
}
.pgwModal.w_small .pm-body .pm-buttons {
	padding: 12px;
}

.pgwModal.w_alert .pm-body {
	/*	width: 300px !important;
		height: 230px !important;
		transition: all 250ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
		 */
}

.pgwModal.w_alert .pm-title {
	opacity: 0;
	height: 20px;
	transition: all 150ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.pgwModal.w_alert .pm-content {
	box-shadow: inset 0 0 0 0 var(--box-shadow);
	transition: box-shadow 150ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
	margin: 0 20px 20px;
	text-align: center;
}

.pgwModal .pm-status-message {
	border-radius: 90px;
	position: absolute;
	width: 140px;
	height: 140px;
	top: 0;
	left: 50%;
	margin-top: -70px;
	margin-left: -70px;
	background: url(https://static.popi.nz/img/icn_valid.svg) no-repeat center var(--green);
	background-size: 70px;
}

.pgwModal .fail .pm-status-message {
	background: url(https://static.popi.nz/img/icn_fail.svg) no-repeat center var(--red);
	background-size: 70px;
}

.pgwModal .modal_title {
	text-align: center;
	font-size: 30px;
	margin-bottom: 10px;
}

.pgwModal .modal_btn .close {
	text-align: center;
	width: 100%;
	display: block;
	background: var(--green);
	margin-top: 20px;
	color: var(--white);
	border-radius: 3px;
	height: 40px;
	line-height: 40px;
	font-size: 18px;
	font-weight: 700;
}

.pgwModal .modal_btn .close:hover {
	background: var(--boldgreen);
}

.pgwModal .fail .modal_btn .close {
	background: var(--red);
}

.pgwModal .fail .modal_btn .close:hover {
	background: var(--boldred);
}


.animated {
	-webkit-animation-duration: .35s;
	animation-duration: .35s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translate3d(0, -100%, 0);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

.fadeInDown {
	animation-name: fadeInDown;
}



@-webkit-keyframes bounceInDown {
	from, 60%, 75%, 90%, 100% {
		-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
		animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
	}

	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -3000px, 0);
		transform: translate3d(0, -3000px, 0);
	}

	60% {
		opacity: 1;
		-webkit-transform: translate3d(0, 25px, 0);
		transform: translate3d(0, 25px, 0);
	}

	75% {
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}

	90% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0);
	}

	100% {
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes bounceInDown {
	from, 60%, 75%, 90%, 100% {
		-webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
		animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
	}

	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -3000px, 0);
		transform: translate3d(0, -3000px, 0);
	}

	60% {
		opacity: 1;
		-webkit-transform: translate3d(0, 25px, 0);
		transform: translate3d(0, 25px, 0);
	}

	75% {
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}

	90% {
		-webkit-transform: translate3d(0, 5px, 0);
		transform: translate3d(0, 5px, 0);
	}

	100% {
		-webkit-transform: none;
		transform: none;
	}
}

.bounceInDown {
	-webkit-animation-name: bounceInDown;
	animation-name: bounceInDown;
}


@-webkit-keyframes bounceOutUp {
	20% {
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}

	40%, 45% {
		opacity: 1;
		-webkit-transform: translate3d(0, 20px, 0);
		transform: translate3d(0, 20px, 0);
	}

	100% {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
}

@keyframes bounceOutUp {
	20% {
		-webkit-transform: translate3d(0, -10px, 0);
		transform: translate3d(0, -10px, 0);
	}

	40%, 45% {
		opacity: 1;
		-webkit-transform: translate3d(0, 20px, 0);
		transform: translate3d(0, 20px, 0);
	}

	100% {
		opacity: 0;
		-webkit-transform: translate3d(0, -2000px, 0);
		transform: translate3d(0, -2000px, 0);
	}
}

.bounceOutUp {
	-webkit-animation-name: bounceOutUp;
	animation-name: bounceOutUp;
}



@keyframes animation_modal_slide_from_right {
	0% {
		opacity: 0;
		transform: translateX(450px);
	}

	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes animation_modal_fullscreen {
	0% {
		opacity: 0;
		left:0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100vw;
		transform: none;
		-webkit-transform: none;
	}

	100% {
		opacity: 1;
		left:0;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100vw;
		transform: none;
		-webkit-transform: none;
	}
}



/*  Sliding modal   */
#pgwModal.sliding_from_right {

}
#pgwModal.sliding_from_right .pm-container {
	margin:0 !important;
	height: 100vh;
}
#pgwModal .pm-container .pm-body {
	opacity: 0;
}
#pgwModal.sliding_from_right .pm-container .pm-body {
	position: absolute;
	width: 450px;
	height: 100vh;
	right:0;
	margin:0 !important;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	animation: animation_modal_slide_from_right .2s 1 forwards;
	animation-delay: 60ms
}

#pgwModal.w_small .pm-container .pm-body,
#pgwModal.w_medium .pm-container .pm-body,
#pgwModal.w_large .pm-container .pm-body {
	opacity: 1;
	transform: translate(0, 0);
}

#pgwModal.sliding_from_right .pm-container .pm-body .pm-content {
	flex: 1 1 auto;
	max-height: unset;
/*	margin: 0 20px;*/
}


/*  Fullscreen modal   */
#pgwModal.fullscreen {
	margin:0 !important;
	height: 100vh;
	width: 100vw;
	transition: none;
	animation: none;
}
#pgwModal.fullscreen .pm-container {
	margin:0 !important;
	height: 100vh;
	overflow: hidden;
	transition: none;
	animation: none;
}

#pgwModal.fullscreen .pm-container .pm-body {
	position: absolute;
	width: 100vw !important;
	max-width: 100vw !important;
	height: 100vh !important;
	right:0;
	margin:0 !important;
	border-radius: 0;
	display: flex;
	flex-direction: column;
	opacity: 1;
	padding: 2rem 3rem;
	transition: none;
/*	animation: animation_modal_fullscreen .2s 1 forwards;
	animation-delay: 60ms; */
}

#pgwModal.fullscreen .pm-title {
	margin: 1rem 2rem 3rem;
	text-align: center;
}

#pgwModal.fullscreen .pm-title-text {
	text-align: center;
}

#pgwModal.fullscreen .pm-content {
	border-radius: 0;
	max-height: none;
	max-width: 40rem;
	width: 100%;
	display: flex;
	align-self: center;
}

/*#pgwModal.sliding_from_right .pm-container .pm-body .pm-content #pgwModal_iframe {*/
/*	height: calc(100% - 5px) !important; !* NOT WORKING IN SAFARI *!*/
/*}*/

/*!* Safari 7.1+ *!*/

/*_::-webkit-full-page-media, _:future, :root .safari_only {*/

/*	height:  inherit !important;*/

/*}*/


#pgwModal .pm-container .pm-buttons {
	margin-top: 0;
}
/*
#pgwModal.sliding_from_right .pm-container .pm-body.animate {
	transform: translateX(0);
}
*/
/*  /Sliding modal   */
