root {
display:block;
}

body,html {
height:100%;
}

body {
background-color:#f5f8fa;
}

#main {
min-height:100%;
}

#book-appointment-wizard {
background:#fff;
min-height:480px;
margin:auto;
padding:0;
}

#book-appointment-wizard #header {
overflow:auto;
height:auto;
background:#143256;
padding:20px 15px;
}

#book-appointment-wizard #company-name {
float:none;
display:block;
text-align:center;
font-size:24px;
font-weight:lighter;
color:#fff;
margin:20px 0;
}

#book-appointment-wizard #steps {
float:none;
display:block;
overflow:auto;
width:190px;
margin:15px auto;
}

#book-appointment-wizard #book-appointment-form #book-appointment-submit {
width:100%;
margin-right:0;
}

#book-appointment-wizard #form-message {
text-align:center;
margin-bottom:30px;
}

#book-appointment-wizard .wizard-frame {
height:auto;
padding:15px;
}

#book-appointment-wizard .wizard-frame .frame-container {
height:auto;
min-height:500px;
padding:15px 0;
}

#book-appointment-wizard .frame-container .frame-title {
font-weight:lighter;
text-align:center;
margin-bottom:30px;
color:#666;
}

#book-appointment-wizard .frame-container .frame-content {
float:none;
}

#book-appointment-wizard .wizard-frame .command-buttons {
float:none;
text-align:center;
margin:15px auto;
}

#book-appointment-wizard .wizard-frame .command-buttons .btn {
min-width:120px;
margin-right:10px;
}

#book-appointment-wizard .wizard-frame #select-date>.ui-datepicker {
margin:auto;
}

#book-appointment-wizard .book-step {
display:inline-block;
height:35px;
width:35px;
float:left;
background:#A1CDF4;
margin-right:12px;
margin-top:6px;
border-radius:.25rem;
transition:all .3s linear;
padding:8px;
}

#book-appointment-wizard .book-step strong {
font-size:12px;
display:block;
text-align:center;
color:#0bb98d;
transition:all .3s linear;
cursor:default;
}

#book-appointment-wizard .active-step {
display:inline-block;
height:45px;
width:45px;
float:left;
background:#fff;
margin-right:13px;
margin-top:0;
padding:7px;
}

#book-appointment-wizard .active-step strong {
color:#143256;
font-size:21px;
}

#book-appointment-wizard #frame-footer {
display: none;
text-align:center;
border-top:1px solid #ebeef1;
padding:15px;
}

#book-appointment-wizard #available-hours {
overflow:auto;
padding-right:10px;
width:auto;
max-height:255px;
margin:15px 0;
}

#book-appointment-wizard #available-hours div {
margin-right:30px;
}

#book-appointment-wizard #available-hours .available-hour {
margin-bottom:10px;
}

#book-appointment-wizard #available-hours .selected-hour {
background-color:#143256;
color:#fff;
border-color:#143256;
}

#book-appointment-wizard .span3 {
min-width:270px;
}

#book-appointment-wizard #select-timezone {
margin-bottom:15px;
}

#book-appointment-wizard #appointment-details p,#book-appointment-wizard #customer-details p {
font-size:16px;
line-height:28px;
}

#book-appointment-wizard #wizard-frame-1 label {
font-size:19px;
margin-bottom:12px;
}

#book-appointment-wizard #wizard-frame-1 select {
margin-bottom:25px;
}

#book-appointment-wizard .captcha-title {
float:left;
margin:7px 0 10px;
}

#book-appointment-wizard .captcha-title .fa-sync-alt {
cursor:pointer;
transition:all .3s linear;
}

#book-appointment-wizard .captcha-title .fa-sync-alt:hover {
color:#1a865f;
}

#book-appointment-wizard .captcha-image {
float:left;
margin-bottom:20px;
border-radius:3px;
box-shadow:1px 1px 4px rgba(0,0,0,.4);
}

#book-appointment-wizard .captcha-text {
width:100%;
margin-bottom:20px;
}

#book-appointment-wizard #service-description {
overflow-y:auto;
clear:both;
max-height:153px;
box-shadow:none;
}

#book-appointment-wizard #select-language,#book-appointment-wizard .backend-link {
display:block;
min-width:120px;
margin:15px auto;
padding:5px;
}

.popover .popover-title {
text-align:center;
}

.popover .popover-content #language-list .language {
margin:15px 0;
}

#message-frame,#success-frame {
background:#fff;
text-align:center;
height:auto;
border:none;
padding:35px;
}

#message-frame #message-icon,#success-frame #success-icon {
width:64px;
display:block;
float:none!important;
margin:auto;
}

#message-frame .alert,#success-frame .alert {
margin-top:20px;
}

#success-frame .btn {
margin-bottom:10px;
width:80%;
max-width:300px;
}

.booking-header-bar {
background:#f3f2e7;
border-bottom:1px solid #e4e1c9;
text-align:center;
margin:0;
padding:15px 0;
}

.ui-dialog .ui-dialog-title {
font-size:1.2em;
}

#book-appointment-wizard .wizard-frame .command-buttons .btn:last-child,#book-appointment-wizard .book-step:last-child {
margin-right:0;
}

#book-appointment-wizard .wizard-frame #select-date,#book-appointment-wizard .wizard-frame #select-time {
max-width:288px;
margin:auto;
padding:15px 0;
}

@media min-width768px{
.wrapper {
min-height:100vh;
}

#book-appointment-wizard {
border-radius:.25rem;
overflow:hidden;
box-shadow:rgba(45,62,80,.12) 0 1px 5px 0;
}

#book-appointment-wizard #company-name {
display:inline-block;
float:left;
margin:10px auto;
}

#book-appointment-wizard #steps {
display:inline-block;
float:right;
margin:5px auto;
}

#book-appointment-wizard .wizard-frame {
padding:10px 20px;
}

#book-appointment-wizard .wizard-frame .command-buttons {
display:flex;
justify-content:space-between;
}

#book-appointment-wizard .captcha-title {
margin-right:20px;
margin-top:7px;
}

#book-appointment-wizard .captcha-image {
float:right;
}

#book-appointment-wizard #select-language {
width:100px;
display:inline-block;
margin:5px 15px 5px auto;
padding:5px;
}

#book-appointment-wizard #frame-footer small {
display:flex;
}

#book-appointment-wizard .footer-options,#book-appointment-wizard .footer-powered-by {
width:50%;
}

#book-appointment-wizard .footer-powered-by {
text-align:left;
padding:5px 5px 5px 0;
}

#book-appointment-wizard .footer-options {
text-align:right;
}

#book-appointment-wizard .backend-link {
display:inline-block;
min-width:120px;
margin:5px auto;
padding:5px;
}

#message-frame,#success-frame {
height:100%;
}

.booking-header-bar {
background:#f3f2e7;
border-bottom:1px solid #e4e1c9;
text-align:left;
margin:0;
padding:15px 0;
}
}
    .select-provider {
    display: none!important;
}