.reservation-block {
	margin: 25px 0;
}

table .ticket-type-container {
	width:100%;
}
table .res-contact-form {
	width: 100%;
}
#date-input {
	width: 95px;
	padding: 0 5px 0 5px;
}

.time-slots ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	width: 480px;
}
.time-slots ul li {
    margin: 15px 5px;
    background-color: #002A34;
    width: 90px;
    text-align: center;
}
.time-slots .time-slot {
	list-style: none;
	padding: 5px 8px;
	color: #fff;
	position: relative;
    width: inherit;
}
.time-slots ul li a.selected {
	background-color: #5A5945;
}
.time-slot.disabled {
	pointer-events: none;
	opacity: 0.5;
}
.reservation-builder input {
	padding: 0 2px 0 2px;
	width: 225px;
	display: inline;
    margin: 10px 0;
}
.ticket-select select {
	    margin: 10px 0;
}
.reservation-block.hidden {
	opacity: .5;
	pointer-events: none;
}
.main-content ul > li:before, .main-content ul > li > ul > li:before  { 
	content: '';
	margin-right: -3px;
	width: 0 !important; 
}
.size-select input {
	width: 50px;
}

.ui-datepicker {
	background: #fff;
	opacity: 1;
	z-index: 1000 !important;
}
.ticket-type-container, .res-contact-form {
	width: 65%;
}
.res-contact-form tr td{
	margin-top: 10px;
	padding: 5px 0;
    vertical-align: inherit;
}
.ticket-type-container tr td {
	padding: 5px 0;
	    vertical-align: inherit;
}
#res-state {
	width: 50px;
}
#res-card-num {
	width: 200px;
}
#ccn {
	width: 294px;
	margin-bottom: 15px;
}
.cvv-exp-zip input {
	width: 90px;
}
.reservation-builder .submit-button {
	padding: 20px 50px;
	background-color: #7BB6AC;
	color: #fff;
}
.submit-button-container {
	margin-top: 45px;
}
.reservation-builder .submit-button:hover {
	color: #C78164;
}
#ticket-warning {
	color: red;
	font-weight: bold;
}
.ticket-type-container .price-display {
	padding-left: 25px;
}
.ticket-type-container .ticket-select {
	padding-left: 25px;
}
#tot-tickets {
	padding-left: 39px;
	font-weight: bold;
}
#tot-price {
	padding-left: 25px;
	font-weight: bold;
}
.payment-details {
	
}
.res-contact-form .form-input {
	padding-left: 5px;
	text-align: center;
	
}
.reservation-builder .submit-button.disabled {
	opacity: 0.25;
	pointer-events: none;
}
#res-city {
	width: 170px;
}
#form-container {
    position: relative;
    max-width: 350px;
    margin: 0;
	top: 0; 
	transform: translateY(0);
}
.payment-details tr td:nth-child(2) {
	padding-left: 40px;
}
.payment-details {
	margin-bottom: 25px;
    width: 67%;
}
.payment-details .total {
	font-weight: bold;
}
.submit-button.hidden {
	display:none;
}
.sq-payment-form.hidden {
	display: none;
}
#form-error-display {
	margin-top: 35px;
    color: red;
}
input.invalid {
	border: 2px solid red;
}
.disabled {
	pointer-events: none;
}
.guidelines-container h2 {
	text-align: center;
}
.guidelines-container li:before {
	content: '';
}
.input-errors li {
	color: red !important;
}
@media only screen and (max-width: 1024px) {
	.time-slots ul {
	    width: 100%;
	}
	.reservation-builder input {
    	padding: 0 2px 0 2px;
		width: 163px;
	}
	#res-city {
    	width: 163px;
	}
	#form-container {
    	width: 40vw;
	}
}	

@media only screen and (max-width: 768px) {
	#form-container {
    	width: 70vw;
    }
    .ticket-type-container, .res-contact-form {
    	width: 55vw;
	}
	.ticket-type-container .ticket-select {
		padding: 0 10px;
	}
	.payment-details {
    	width: 78.5%;
	}
}
@media only screen and (max-width: 638px) {
	.time-slots ul {
    	width: 85%;
	}

	.ticket-type-container, .res-contact-form {
	    width: 65vw;
	}

}
@media only screen and (max-width: 320px) {

	#form-container {
    	width: 90vw;
    }
    .time-slots ul {
    	width: 100%;
	}
}