.stepblock{
	display:none;
	margin:0px;
	padding:0px;
	border:0px;
	width:95vw;
	max-width:500px;
}
.footer{
	font-size:0.7em;
}
.footer a{
	color: #222;
	
    display: flex;
    justify-content: center;
    align-items: center;
	margin-top:0px;
	margin-right:0px;
	margin-left:0px;
	margin-bottom:5px;
	padding:0px;
}
.mycontainer {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	margin:0px;
	padding:0px;
}
.top-progress{
	margin:0px;
}
.top-error{
	margin:5px;
}
.calendar-top{
	font-size:1.2em;
	width:100%;
	text-align:center;
}
.calendar-pick{
	margin-bottom:-7px;
	padding:0px;
}
.calendar-pick input{
	
}
.calendar-available-label{
	width:100%;
	background: #cfc;
	padding:10px;
}
.calendar-unavailable-label{
	width:100%;
	background: green;
	padding:10px;
	text-decoration: line-through;
	color:#df94ad;
	background: #dce1e6;
}
.calendar-selected-label{
	width:100%;
	padding:10px;
	background: #d2ff52;
	background: radial-gradient(ellipse at center, #5f7 0%,#cfc 70%);
}

.calendar-table{
	border:1px solid;
	border-collapse:collapse;
	table-layout: fixed;
	width:100%;
}
.calendar-table tr{
	border:1px solid;
	border-top:2px solid;
	border-collapse:collapse;
}
.calendar-table td{
	border:1px solid;
	border-collapse:collapse;
	vertical-align:top;
}
.calendar-table-top{
	font-size:1.3em;
	font-weight:bold;
	text-align:center;
}

.promptheader{
	margin-bottom:5px;
}

.itemadder-visible{
	padding:5px;
}
.itemadder-hidden{
	display:none;
}

.itemadder-all{}

.btn-itemadder{
	margin:5px;
}

.standard-input{}

.iteminlist{
	width:100%;
	padding:4px;
	margin:4px;
	border:1px solid #aaf;
	border-radius:2px;
}

#itemwarningzone{
	width:100%;
	padding:6px;
	margin:6px;
	border:1px solid #f58;
	border-radius:3px;
}

.input-error{
	border:1px solid red;
}
body{
}

.StripeElement {
  background-color: white;
  padding: 8px 12px;
  border-radius: 4px;
  border: 1px solid transparent;
  box-shadow: 0 1px 3px 0 #e6ebf1;
  -webkit-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
}

.StripeElement--focus {
  box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
  border-color: #fa755a;
}

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important;
}

.field{
	width:100%;
}

.imgcontainer {
    position:relative;
    display:inline-block;
    text-align:center;
    border:1px solid #dfd;
}

.imgbutton {
    position:absolute;
    bottom:10px;
    right:10px;
}

.confirmationtable{
	width:100%;
	padding:2px;
}
.confirmationtable tr{
	padding:3px;
}
.confirmationtable td{
	padding:3px;
}


.spinner {
  margin: auto auto;
  width: 70px;
  text-align: center;
  float:right;
  display:none;
}

.spinner > div {
  width: 18px;
  height: 18px;
  background-color: #333;

  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

.btn-backonestep{}

/* Floating Pop-up Styles */
.floating-popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 9999;
	display: none;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.floating-popup-content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.9);
	background-color: white;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
	max-width: 500px;
	width: 90%;
	max-height: 80vh;
	overflow-y: auto;
	opacity: 0;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.floating-popup.show .floating-popup-content {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

.floating-popup-header {
	background-color: #f8f9fa;
	padding: 20px 20px 15px 20px;
	border-bottom: 1px solid #dee2e6;
	border-radius: 8px 8px 0 0;
	font-size: 18px;
	font-weight: bold;
	color: #495057;
	text-align: center;
}

/* Warning-style pop-up for mouse leave (orange theme) */
.floating-popup.mouse-leave-warning .floating-popup-content {
	border: 3px solid #fd7e14;
	box-shadow: 0 8px 32px rgba(253, 126, 20, 0.3);
}

.floating-popup.mouse-leave-warning .floating-popup-header {
	background-color: #fd7e14;
	color: white;
	border-bottom: 1px solid #e8690b;
}

.floating-popup.mouse-leave-warning .floating-popup-btn {
	background-color: #fd7e14;
	border-color: #fd7e14;
	color: white;
}

.floating-popup.mouse-leave-warning .floating-popup-btn:hover {
	background-color: #e8690b;
	border-color: #e8690b;
	box-shadow: 0 4px 12px rgba(253, 126, 20, 0.4);
}

.floating-popup-body {
	padding: 20px;
	font-size: 16px;
	line-height: 1.5;
	color: #212529;
	text-align: center;
}

.floating-popup-footer {
	padding: 15px 20px 20px 20px;
	border-top: 1px solid #dee2e6;
	text-align: center;
}

.floating-popup-btn {
	padding: 12px 30px;
	font-size: 16px;
	min-width: 140px;
	max-width: 100%;
	border-radius: 6px;
	font-weight: 600;
	transition: all 0.2s ease;
	border: none;
	white-space: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-align: center;
	line-height: 1.3;
}

.floating-popup-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.floating-popup-btn:active {
	transform: translateY(0);
}

/* Button Highlight and Flash Effect */
.button-highlight {
	background-color: #ffc107 !important;
	border-color: #ffc107 !important;
	color: #212529 !important;
	box-shadow: 0 0 30px rgba(255, 193, 7, 0.9) !important;
	transform: scale(1.1);
	transition: all 0.5s ease;
	animation: button-pulse 1.2s ease-in-out;
	z-index: 1000;
}

@keyframes button-pulse {
	0% {
		transform: scale(1);
		box-shadow: 0 0 20px rgba(255, 193, 7, 0.8);
	}
	50% {
		transform: scale(1.2);
		box-shadow: 0 0 40px rgba(255, 193, 7, 1);
	}
	100% {
		transform: scale(1.1);
		box-shadow: 0 0 30px rgba(255, 193, 7, 0.9);
	}
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.floating-popup-content {
		width: 95%;
		margin: 20px;
	}
	
	.floating-popup-header,
	.floating-popup-body,
	.floating-popup-footer {
		padding: 15px;
	}
}

.loader,
.loader:before,
.loader:after {
  background: #ffffff;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}
.loader {
  color: #ffffff;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  position: absolute;
  top: 0;
  content: '';
}
.loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 1.5em;
}
@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}