.appt {
		display: inline-block;
	}
	.appt .ea-bootstrap {
		width: 100% !important;
		max-width: 100% !important;
	}
	.appt .step small {
		color: red;
		display: block;
		font-weight: 700;
		font-family: 'Source Sans Pro', sans-serif;
		padding: 0 10px;
		font-size: 14px;
	}
	.appt .step .form-group {
		margin: 0;
		padding: 10px 25px;
	}
	.appt .step .form-group:nth-child(4), .appt .step .form-group:nth-child(5) {
		width: 55% !important;
		display: inline-block;
	}
	.appt div#booking-overview table {
		width: 100%;
	}
	.appt button.booking-button, .appt button.ea-cancel {
		box-shadow: 0 0 0 40px #ff7950 inset;
		-webkit-box-shadow: 0 0 0 40px #ff7950 inset;
		padding: 10px 25px;
		display: block;
		text-align: center;
		color: #fff;
		text-transform: uppercase;
		font-weight: 600;
		-webkit-transition: all 800ms ease;
		-moz-transition: all 800ms ease;
		transition: all 800ms ease;
		border: 0;
		margin: 0 10px;
	}
	.appt button.booking-button:hover, .appt button.ea-cancel:hover{
		box-shadow: 0 0 0 2px #ff7950 inset;
		-webkit-box-shadow: 0 0 0 2px #ff7950 inset;
		background-color: var(--whiteclr);
		color: var(--btnclr);
	}	
	.appt textarea.form-control.custom-field {
		height: 54px !important;
	}
	.appt .step {
		position: relative;
	}	
	.container.appointment_page.section .new p {						
		text-align: center;
		background: #f7f7f77a;
		border: 1px solid #dddddd;
		padding: 30px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		font-size: 14px;
	}
	.container.appointment_page.section .new{margin-bottom: 50px;}
	.map_section {
		margin-top: 0;
	}
	.form-group label.col-sm-4.control-label {
		width: 100%;
		text-align: left;
		font-size: 15px;
		font-weight: 700;
		margin-bottom: 5px;
		font-family: 'Source Sans Pro', sans-serif;
		padding: 0;
	}
	.step .form-group .col-sm-8, .step.form-group .col-sm-8 {
		width: 100%;
		max-width: 100%;
		padding: 0;
	}
	.appt .form-group .custom-field {
		font-family: 'Source Sans Pro', sans-serif;
	}
	.appt .step h3 {
		text-transform: capitalize;
		font-weight: 700;
		font-family: 'Source Sans Pro', sans-serif;
		padding: 0 10px;
	}	
	.appt .form-horizontal .step.form-group {
		margin: 0;
	}
	.new p {
		text-align: center;
		background: var(--btnclr);
		padding: 20px;
		color: #fff;
		margin: 15px 0 0;
	}	
	div#booking-overview {
		padding: 0 10px;
	}
	.appt div#booking-overview small {
		padding: 0;
		margin: 15px 0 10px;
		font-size: 14px;
	}
	.appt .ea-actions-group {
		align-items: flex-start!important;
		justify-content: flex-start!important;
		padding: 0;
	}
	.form-horizontal .step.calendar {
		padding: 25px 0 0;
	}
	.appt .calendar .time-row .time.well {
		padding: 5px 15px;
		border: 0;
		border-radius: 0;
	}
	.appt .calendar .time-row .time.well p {
		margin: 0;
		color: red;
		font-size: 15px;
		font-family: 'Source Sans Pro', sans-serif;
		font-weight: 600;
	}
	.appt .ea-bootstrap .disabled .block {
		z-index: 1;
	}
	.appt div#booking-overview small {
		white-space: break-spaces;
	}
section:not(#banner).map_section {
    margin: 0;
    padding: 0;
}
section.map_section iframe {
    display: block;
}
.slots {
    padding: 0 15px;
}

.slots span.fill {
    width: 15px;
    height: 12px;
    background: transparent;
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
}

.slots span.fill.fill1 {
    background: #4289cc;
}

.slots span.fill.fill2 {
    background: rgba(255,0,0,0.5);
}

.slots span.fill.fill3 {
    background: rgba(163,163,117,0.5);
}

.slots p {
    margin: 0;
}
section.appointment_page.section .checkbox label {
    padding: 0 0 0 30px;
    position: relative;
}
section.appointment_page.section .checkbox label input[type="checkbox"] {
    width: 15px;
    height: 15px;
    left: 25px;
    position: absolute;
    top: 7px;
}
section.appointment_page.section .checkbox a {
    color: var(--btnclr);
    font-weight: 500;
    display: inline-block;
}
label#gdpr-error {
    padding: 0;
}

label.gdpr input[type="checkbox"] {width: 15px;height: 15px;display: inline-block;margin: 0;}
	@media screen and (max-width: 991px){
		.ea-bootstrap .col-md-6 {
			width: 100%;
			max-width: 100%;
		}
	}
	@media screen and (max-width: 767px){
		.appt {
			display: block;
		}
		.appt .step .form-group:nth-child(4), .appt .step .form-group:nth-child(5) {
			width: 100% !important;
			display: block;
		}
		.g-recaptcha {
             transform: scale(0.8);
			-webkit-transform: scale(0.8);
             transform-origin: left;
			-webkit-transform-origin: left;
         }
		.g-recaptcha div{
			width: 100%!important;
		}
		.appointment_page .calendar_box, .appt .step h3, .appt .step small, div#booking-overview {
			padding: 0;
		}
		.appt .step .form-group {
			padding: 10px 15px;
		}
		.appt .step .form-group:nth-child(4), .appt .step .form-group:nth-child(5) {
			margin: 0;
			padding: 10px 0;
		}
		.ea-bootstrap .col-md-6 {
			padding: 0 10px;
		}
		section.appointment_page.section .checkbox label {
			padding: 0 0 0 25px;
		}
		section.appointment_page.section .checkbox label input[type="checkbox"] {
			width: 13px;
			height: 13px;
		}
		section.appointment_page.section .checkbox a {
			font-size: 14px;
		}
	}