/* Module Loading Overlay */
	.mod-overlay-loading {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		width: 100%;
		height: 100%;
		color: #FFF;
		margin: auto;
		background: #000000e0;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 999;
	}
	.mod-overlay-loading .inner .indicator{ 
	    position: relative; 
	    display: flex;
        justify-content: center;
	}
	.mod-overlay-loading span {
		position: absolute;
		height: 10px;
		width: 84px;
		overflow: hidden;
	}
	.mod-overlay-loading span > i {
		position: absolute;
		height: 4px;
		width: 4px;
		border-radius: 50%;
		-webkit-animation: mod-wait-loading 4s infinite;
		-moz-animation: mod-wait-loading 4s infinite;
		-o-animation: mod-wait-loading 4s infinite;
		animation: mod-wait-loading 4s infinite;
	}
	.mod-overlay-loading span > i:nth-of-type(1) {
		left: -28px;
		background: yellow;
	}
	.mod-overlay-loading span > i:nth-of-type(2) {
		left: -21px;
		-webkit-animation-delay: 0.8s;
		animation-delay: 0.8s;
		background: lightgreen;
	}
	@-webkit-keyframes mod-wait-loading {
		0%   { left: -7px  }
		30%  { left: 52px  }
		60%  { left: 22px  }
		100% { left: 100px }
	}
	@-moz-keyframes mod-wait-loading {
		0%   { left: -7px  }
		30%  { left: 52px  }
		60%  { left: 22px  }
		100% { left: 100px }
	}
	@-o-keyframes mod-wait-loading {
		0%   { left: -7px  }
		30%  { left: 52px  }
		60%  { left: 22px  }
		100% { left: 100px }
	}
	@keyframes mod-wait-loading {
		0%   { left: -7px  }
		30%  { left: 52px  }
		60%  { left: 22px  }
		100% { left: 100px }
	}
/*  */

/* Placeholder Loading Animation */
	.placeholder-load {
		-webkit-animation-duration: 1s;
		animation-duration: 1s;
		-webkit-animation-fill-mode: forwards;
		animation-fill-mode: forwards;
		-webkit-animation-iteration-count: infinite;
		animation-iteration-count: infinite;
		-webkit-animation-name: placeholderContent;
		animation-name: placeholderContent;
		-webkit-animation-timing-function: linear;
		animation-timing-function: linear;
		background: #f6f7f8;
		background: linear-gradient(90deg, #eee 8%, #ddd 18%, #eee 33%);
		background-size: 800px 104px;
		position: relative;
	}
	@keyframes placeholderContent {
		0% {
			background-position: -468px 0;
		}
		100% {
			background-position: 468px 0;
		}
	}
/*  */

/* Reservation Form */
	.mod-reservation-form .box-inner{
		box-shadow: 1px 1px 10px 1px #cccccc;
        background: #ffffff;
        margin-bottom: 4px;
        padding: 0 0 25px;
        border: 1px solid #ff6666;
        border-radius: 0px 0px 25px 25px;
	}
	.mod-reservation-form .form-heading{
		background: #ff6666;
		color: #fff;
		font-size: 18px;
		font-weight: 400;
		display: inline-block;
		margin: 0 0 10px;
		padding: 9px 25px;
		width: 100%;
	}
	.mod-reservation-form .form-inner{ padding: 15px; }
	.mod-reservation-form .form-inner .btn-box .button{ margin: 5px; padding: 0; width: 100%; border-radius: 90px; }
	.mod-reservation-form .form-inner .btn-box .button input[type="submit"]{
		height: auto;
		width: 100%;
		font-size: 15px;
		padding: 10px 25px;
		border-radius: 90px;
        text-transform: none;
	}
	.mod-reservation-form .form-inner .btn-box .button input[type="submit"]:hover{ opacity: .8; }
	.mod-reservation-form .form-inner .btn-box .button input[type="submit"]:disabled{ background: #7f7f7f; }
	.mod-reservation-form .breakdown-summary{ font-size: 12px; }
	.mod-reservation-form .breakdown-summary .list-group-flush>.list-group-item { padding: 5px 5px !important; }
	.mod-reservation-form .breakdown-summary .list-group-flush>.list-group-item.bg-body{ background: #f5f5f9 !important; }
	.mod-reservation-form .breakdown-summary .start-from{ background: #f7f7f7; padding: 15px; }
	.mod-reservation-form .breakdown-summary .start-from h5{ font-size: 17px; }
	.mod-reservation-form .col-checklist,
	.mod-reservation-form .col-term-info,
	.mod-reservation-form .col-contact-info{ font-size: 14px; color: #656565; }
	.mod-reservation-form .col-term-info .inner{ border-bottom: 1.5px solid #000000; }
	.mod-reservation-form .col-contact-info .icon-bve-care{ width: 30px; }
	.mod-reservation-form .col-contact-info .title{ font-weight: 700; font-size: 14px; }
	.mod-reservation-form label.error{ font-size: 12px; }
	.mod-reservation-form .input-container {
		position: relative;
	}
	.mod-reservation-form form .input-container input, 
	.mod-reservation-form form .input-container select {
		width: 100%;
		padding: 10px;
		padding-top: 27px;
		border: 1px solid #ccc;
		border-radius: 5px;
		outline: none;
		font-size: 15px;
		height: 57px;
	}
	.mod-reservation-form form .input-container input:focus, 
	.mod-reservation-form form .input-container select:focus {
		border-color: #007bff;
	}
	.mod-reservation-form form .input-container label.inpt-label {
		position: absolute;
		top: 17px;
		left: 12px;
		font-size: 15px;
		color: #000000;
		background-color: white;
		padding: 0 5px;
		transition: all 0.2s ease;
		pointer-events: none;
	}
	.mod-reservation-form form .input-container input:focus::placeholder, 
	.mod-reservation-form form .input-container select:focus::placeholder {
		color: transparent;
	}
	.mod-reservation-form form .input-container input:focus + label.inpt-label, 
	.mod-reservation-form form .input-container input:valid + label.inpt-label, 
	.mod-reservation-form form .input-container input.valid + label.inpt-label, 
	.mod-reservation-form form .input-container input.active + label.inpt-label, 
	.mod-reservation-form form .input-container input.has-value + label.inpt-label,
	.mod-reservation-form form .input-container select:focus + label.inpt-label, 
	.mod-reservation-form form .input-container select.has-value + label.inpt-label,
	.mod-reservation-form form .input-container select.valid + label.inpt-label,
	.mod-reservation-form form .input-container select:invalid + label.inpt-label {
		top: 0;
		left: 5px;
		font-size: 12px;
		color: #676767;
		transform: translateY(7px);
	}
	.mod-reservation-form form .input-small .form-control{
		border: 0;
		border-bottom: 1px solid #aaaaaa;
		border-radius: 0;
		font-size: 14px;
		color: #000000;
		outline: none;
	}
	.mod-reservation-form form .input-small .form-control:focus{ box-shadow: none; border-color: #007bff; }
/*  */


@media only screen and (max-width : 960px) {
	#main .mod-reservation-form form .input-container{
		margin-top:20px;
	}
	#main .mod-reservation-form form .input-container input, 
	#main .mod-reservation-form form .input-container select{
		height:40px;
		padding:0 10px;
	}
	#main .mod-reservation-form form .input-container label.inpt-label{
		top: -25px ;
		left:0;
		transform:none ;
		font-size:15px;
		color:#000;
	} 
}

@media only screen and (max-width : 600px) {
	.mobile-reserve-button:hover{
		color:#fff;
	}
	.mobile-reserve-button{
		display:block;
		position:fixed;
		left:0;
		bottom:0;
		width:100%;
		background:#ff6666;
		color:#fff;
		text-align:center;
		padding:10px 15px;
		z-index:10;
	}
	.mobile-reserve-button .button-text svg{
		height:18px;
	}
	.mobile-reserve-button .button-text{
		font-size:18px;
	}
	.mod-reservation-form{
		position:fixed;
		left:0;
		top:0;
		z-index:600;
		background:rgba(0,0,0,0.5);
		overflow-y:scroll;
		display:none;
		height:100%;
	}
	.mod-reservation-form .form-inner{
		padding:0 15px;
	}
	.mod-reservation-form .breakdown-summary .start-from h5{
		font-size:16px;
	}
	.mod-reservation-form-close{
		position:absolute;
		right:10px;
		top:9px;
		display:block;
	}
	.mod-reservation-form-close svg{
		width:20px;
	}
}