.email_popup {
	position:fixed;
	bottom:0;
	right:20px;
	background-color:#ededed;
	z-index:20;
	border:2px solid #CCC;
	box-shadow: 0px 0px 0px 8px #fcfcfc, 0px 0px 15px 0px rgba(0,0,0,0.77);
	padding:25px;
	width:90%;
	max-width:400px;

	/* better popup method to prevent layout shift */
	opacity:0;
	transform: translateY(100%);
	transition: transform 0.7s ease;
	will-change: transform, opacity;
	pointer-events: none; /* Prevent user interaction while hidden */
}

.email_popup.poppy_uppy {
	opacity:1;
	transform: translateY(0);
	pointer-events: auto;
}

.popup_cancel {
	position:absolute;
	top:-15px;
	right:-15px;
	padding:20px;
	font-size:1.5em;
	line-height:0;
	padding:.75em .25em;
	background-color:#990000;
	color:white;
	border-radius:5px;
	cursor:pointer;
}

.popup_cancel:hover {
	background-color: red;
}

.emp_header {
	font-size:2em;
	text-align:center;
	font-weight:600;
	margin:0;
}

.emp_body {
	font-size:1.25em;
	text-align:center;
}

.email_popup label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.email_popup input[type="text"] {
	display:block;
	width:100%;
	font-size:1.25em;
	padding:4px 2px;
	margin-bottom:10px;
}

.email_popup button,
#ems_ok_butt {
	width:100%;
	border:none;
	outline:none;
	padding:10px 10px;
	text-align:center;
	color:white;
	background-color:#cd470e;
	border-radius:100px;
	font-size:1.5em;
	cursor:pointer;
	transition:opacity .25s;
}

#ems_ok_butt {
	display:block;
	margin:20px auto;
	width:90%;
	max-width:100px;
	padding:5px 15px;

}

.email_popup button:hover,
#ems_ok_butt:hover {
opacity: .75;
}

.emp_fineprint {
	font-size:14px;
}

#ems_overlay {
	position: fixed;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.85);
	left:0;
	top:0;
	z-index:99999;
	display:none;
}

#ems_modal {
	width:90%;
	max-width:400px;
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%); 
	
	background-color:white;
	display:none; 
}

.ems_modal_header {
	background-color:#0097c1;
	color:white;
	padding:10px 15px;
	font-size:1.5em;
	font-weight:600;
}

.ems_modal_body {
	font-size:1.125em;
	padding:20px;
	margin:0;
}

.ems_wait {

}



#ems_wait {
	/* also used for the join/download */
	position:absolute;
	top:50%;
	left:50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display:none; 
}

.ems_loader {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}

.ems_loader div {
	position: absolute;
	border: 4px solid #fff;
	opacity: 1;
	border-radius: 50%;
	animation: ems_loaderanim 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.ems_loader div:nth-child(2) {
	animation-delay: -0.5s;
}

@keyframes ems_loaderanim {
	0% {
		top: 36px;
		left: 36px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	100% {
		top: 0px;
		left: 0px;
		width: 72px;
		height: 72px;
		opacity: 0;
	}
}