div.sp-dialog-overlay {
	position: fixed; top: 0; left: 0; width: 100%; height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 10000;
	transition: all 2000ms 0s ease;
}
div.sp-dialog {
	margin: auto;
	background: #fff;
	border-radius: 12px;
	width: 80%;
	max-width: 360px;
	max-height: calc(100% - 100px);
	box-shadow: 5px 5px 10px 0px #333333;
	display: flex; flex-flow: column nowrap;
	justify-content: space-between;
	transform: translateY(-20%);
}
div.sp-dialog-title {
	padding: 8px 16px;
	color: #fff;
	background-color: #579f8e;
	border-radius: 12px 12px 0 0;
	font-size: 110%;
	text-align: center;
}

div.sp-dialog-content {
	padding: 16px 16px 8px;
	background: #ffffff;
	border-radius: 12px 12px 0 0;
	flex-shrink: 1;
	overflow-y: auto;
}
div.sp-dialog-buttons {
	text-align: right;
	padding: 8px 24px 24px;
	border-radius: 0 0 12px 12px;
	display: flex; justify-content: space-between;
}

.sp-dialog-buttons > input[type='button'].sp-dialog-button {
	font-size: 100%;
	height: 48px;
	border: 1px solid #666666;
	border-radius: 24px;
	color: #333333;
	padding: 0;
	background-image: linear-gradient(#eeeeee 0%, #cccccc 100%);
	margin: 0 6px;
	flex: 1 1 100%;
}
input[type='button'].sp-dialog-button:active {
	color: #333333;
	background-image: linear-gradient(#dddddd 0%, #aaaaaa 100%);
}
input[type='button'].ok {
  color: #ffffff;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#4f77fc), to(#4466d8));
  background-image: linear-gradient(#4f77fc 0%, #4466d8 100%);
}

input[type='button'].ok:active {
  color: #eeeeee;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#4466d8), to(#3a56b7));
  background-image: linear-gradient(#4466d8 0%, #3a56b7 100%);
}

div#sp-loading {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 10000;
}