#grotto-title {
    font-weight: bold;
    color: white;
    text-shadow: 1px 1px 4px black;
}

#grotto-page-container .grotto-card {
    color: black;
}

.time-booked { color: red; text-align:center;}
.time-limited { color: #b7b724; text-align:center;}
.time-available { color: green; text-align:center;}
.time-break {     font-weight: bold; text-align:center; color: blue;}
.slot-info-row {text-align:center;}
.slot-info-row p { font-weight:bold; margin-bottom: 2px; margin-top:10px; }


.track-progress li {
	list-style-type: none;
	display: inline-block;
	position: relative;
	text-transform: uppercase;
	text-align: center;
	color: #848484;
	border-bottom: 4px #bbb solid;
	line-height: 3em;
	width: 25%;
	float: left;
}
.track-progress li:before {
      position: relative;
      bottom: -2.5em;
      float: left;
      left: 50%;
      line-height: 1em;
    }
.track-progress li:after {
      content: "\00a0\00a0";
      /*non-breaking space */
    }

li.done {
    color: #bbb;
    font-weight: bold;
    border-bottom: 4px #13b155 solid;
}
li.done:before {
	content: "";
	background: #13b155;
	height: 1.2em;
	width: 1.2em;
	line-height: 1.2em;
	border: none;
	border-radius: 1.2em;
}
li.in-progress {
    color: #404040;
    font-weight: bold;
    border-bottom: 4px #ffd700 solid;
}
li.in-progress:before {
	content: "";
	background: #ffd700;
	height: 1.2em;
	width: 1.2em;
	line-height: 1.2em;
	border: none;
	border-radius: 1.2em;
}
li.todo:before {
   content: "";
   background: white;
   border: 0.25em solid #bbb;
   height: 1.2em;
   width: 1.2em;
   line-height: 1.2em;
   border-radius: 1.2em;
 }

 .track-progress em {
    display: none;
    font-weight: 700;
    padding-left: 0.75em;
}

form[name="santa_book"] .form-control, form[name="santa_book"] select {
    text-align:center;
    text-align-last: center;
}

.outoffocus {
    opacity: 0.5;
}
#available-times {
    margin: 15px auto;
}
#available-times a {
    margin: 5px 0;
}
#available-times a div {
    padding: 10px;
    border-radius: 4px;
    background-color: white;
    box-shadow: 0px 0px 4px 0px;
    font-weight:bold;
    cursor:pointer;
}

#available-times a div.unavailable {
    background-color: #ffaaaa;
}

#available-times a div.available {
    background-color: #aaffaa;
}

#insurance-row p {
    display:block;
    max-width:500px;
    text-align:center;
    margin:20px auto;
}

#insurance-row .custom-checkbox {
    width:100%;
}

.flatpickr-months .flatpickr-month {
    height:50px!important;
}
.flatpickr-calendar input {
    padding: 0px;
    border:0px;
    font-size:100%;
    margin-bottom:0px;
}


#options-card label:not(.form-check-label){ font-weight:bold;}
#startTimeInput, #endTimeInput, #startDateInput, #endDateInput  {
    background-color:white!important;
}
@media (min-width:901px) and (max-width: 1050px)  {
    .track-progress li {
        font-size:0.85em;
    }
}
@media (max-width:900px){
	.track-progress li {
	   font-size: 0.7em;
   	}
}
@media (max-width:640px){
	.track-progress em {
		display: inline;
	}
	.track-progress span {
		display: none;
	}

    #available-times a {
        padding: 0px 5px;
    }
}


.spinner {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
}

.spinner .loader {
  height: 48px;
  width: 48px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -24px 0 0 -24px;
  -webkit-animation: rotation 1s infinite linear;
  -moz-animation: rotation 1s infinite linear;
  -o-animation: rotation 1s infinite linear;
  animation: rotation 1s infinite linear;
  border-width: 8px;
  border-style: solid;
  border-color: #d2d4d6;
  border-top-color: #4488ee;
  border-radius: 100%;
}


@keyframes rotation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}

@keyframes loading {
  0% {transform: rotate(0deg);}
  100% {transform:rotate(360deg);}
}

.loading:before {
	content: '';
    box-sizing: border-box;
    position: relative;
	left:-10px;
    display: block;
    width: 20px;
    height: 20px;
    margin-left: -10px;
    border-radius: 50%;
    border-top: 2px solid #07d;
    border-right: 2px solid transparent;
    animation: loading .6s linear infinite;
    margin: auto;
    margin-top: 15px;
}

#add-child-span {
    padding:10px;
    cursor:pointer;
}

#grotto-page-container {
    background-image: url("../assets/7996.jpg");
    background-position: center;
/*    background-size:cover;*/
}
