.totalPopup {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	/* keep scrolling inside the overlay from leaking to the page behind it */
	overscroll-behavior: contain;
	background-color: transparent;
	background-color: rgba(0,0,0,0.65);
	z-index: 2000000;
}

/*
 * Invisible in-flow spacer sized to the popup's full height plus a gap, so the
 * overlay's scroll region always extends past the popup, keeping a gap below it
 * when fully scrolled. (The popup itself is absolutely positioned, and neither a
 * scroll container's padding-bottom nor an out-of-flow child reliably grows the
 * scrollable region, so an in-flow element reserves the height instead.)
 */
.totalPopup_bottomSpacer {
	width: 100%;
	pointer-events: none;
}

/*
 * While a popup is open, hide the page's scrollbar so it does not sit alongside
 * the overlay's own scrollbar. The scrollbar's width is reclaimed via padding in
 * JS so the content does not reflow (which would collapse widgets like DataTables).
 * The page is not otherwise locked or repositioned, so its scroll position and
 * layout are untouched; overscroll-behavior on the overlay stops scroll leaking.
 */
html.totalpopup-scroll-lock {
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* legacy Edge/IE */
}

html.totalpopup-scroll-lock::-webkit-scrollbar {
	width: 0;
	height: 0;
}

.totalPopup.allow-background-close:not(.popupCloseDisabled) {
	cursor: pointer;
}

.totalPopup_popup {
	position: absolute;
	background-color: #fff;
	-border: 3px solid #555;
	border-radius: 3px;
	box-shadow: 2px 2px 10px 0px rgba(0,0,0,0.3);
}

.totalPopup_contentBox {
	margin: 15px;
	cursor: auto;
}

.totalPopup_contentBox.totalPopup_contentBox_noMargin {
	margin: 0;
}

.totalPopup_contentLoader {
    width: 64px;
    height: 64px;
}

.totalPopup_contentLoader:after {
    content: "";
    position: absolute;
    top: calc(50% - 17.5px);
    left: calc(50% - 17.5px);
    height: 35px;
    width: 35px;
    animation: rotate 1s infinite linear;
    border: 5px solid #CCCCCC;
    border-right-color: transparent;
    border-radius: 50%;
    box-sizing: border-box;
    z-index: 1;
    will-change: transform; /* resolves slow animations on ios */
}

.totalPopup_closeButton,
body.theme--adorbit button.totalPopup_closeButton,
body.theme--crm button.totalPopup_closeButton {
	display: block;
	position: absolute;
	top: 1px;
	right: 2px;
	background: transparent;
	color: #222;
	padding: 3px 6px;
	border-radius: 2px;
	cursor: pointer;
	font-size: 14px;
	border: none;
}

.totalPopup_closeButton:not(:disabled):hover,
body.theme--adorbit .totalPopup_closeButton:not(:disabled):hover,
body.theme--crm .totalPopup_closeButton:not(:disabled):hover {
	color: #fff;
}

.totalPopup_buttonHolder {
	margin-top: 20px;
	text-align: center;
}