/* Minification failed. Returning unminified contents.
(5,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(325,21): run-time error CSS1039: Token not allowed after unary operator: '-booking-form-width'
(368,17): run-time error CSS1039: Token not allowed after unary operator: '-remove-link-width'
(394,29): run-time error CSS1039: Token not allowed after unary operator: '-remove-link-width'
(394,56): run-time error CSS1039: Token not allowed after unary operator: '-booking-form-item-lr-margin'
(634,24): run-time error CSS1039: Token not allowed after unary operator: '-booking-form-item-lr-margin'
(644,17): run-time error CSS1039: Token not allowed after unary operator: '-booking-form-width'
(661,29): run-time error CSS1039: Token not allowed after unary operator: '-remove-link-width'
(661,56): run-time error CSS1039: Token not allowed after unary operator: '-datetime-list-outer-container-width-offset'
(666,20): run-time error CSS1039: Token not allowed after unary operator: '-booking-form-item-lr-margin'
(1892,41): run-time error CSS1039: Token not allowed after unary operator: '-remove-link-width'
(1896,33): run-time error CSS1039: Token not allowed after unary operator: '-datetime-list-outer-container-width-offset'
 */
/*-----------------*/
/*  CSS Variables  */
/*-----------------*/
.content-wrapper #selectServiceBookingStep {
    --remove-link-width: 18px;
    --booking-form-item-lr-margin: 11px;
    --booking-form-width: 50%;
    --datetime-list-outer-container-width-offset: -2px;
}

/*------------------*/
/* Steps Navigation */
/*------------------*/
#bookingStepNavigation {
    padding-bottom: 4px;
    text-align: center;
}

    #bookingStepNavigation ul {
        padding: 0px;
    }

    #bookingStepNavigation li {
        display: inline-block;
        list-style: none;
    }

        #bookingStepNavigation li.step-number {
            border-radius: 50%;
            -moz-border-radius: 20px;
            -webkit-border-radius: 20px;
            height: 40px;
            width: 40px;
            cursor: default;
        }

            #bookingStepNavigation li.step-number span {
                display: block;
                line-height: 40px;
                text-align: center;
            }

        #bookingStepNavigation li.divider {
            cursor: default;
        }

        #bookingStepNavigation li.arrows {
            cursor: pointer;
        }

.booking-step-inner-container {
    margin: 0 auto 20px;
    max-width: 637px;
    width: 80%;
}

.booking-step-form .booking-step-button-strip .form {
    margin: 0px auto;
    text-align: right;
}

.booking-step-form .booking-step-button-strip.center .form {
    text-align: center;
}

#bookingStepContainer .service-list.k-loading {
    border-radius: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0;
    background-position-x: 97%;
    float: initial;
}

#bookingStepContainer .button-strip-container {
    display: flex;
    margin: auto;
    justify-content: flex-end;
    max-width: 637px;
    width: 80%;
}

    #bookingStepContainer .button-strip-container .button-strip {
        width: 282px;
        margin-right: 0px !important;
        text-align: right;
    }

        #bookingStepContainer .button-strip-container .button-strip .form {
            display: flex;
            justify-content: flex-end;
            width: 100%;
        }

        #bookingStepContainer .button-strip-container .button-strip .button {
            width: 100%;
            text-align: center;
        }

#bookingStepContainer .booking-password-outer-container .booking-password-link-container {
    margin: 16px 0 0;
    text-align: center;
}

    #bookingStepContainer .booking-password-outer-container .booking-password-link-container .form-label,
    #bookingStepContainer .booking-password-outer-container .booking-password-link-container .form-label a {
        font-size: 16px;
        text-align: center;
        text-transform: none;
    }

        #bookingStepContainer .booking-password-outer-container .booking-password-link-container .form-label a {
            cursor: pointer;
            font-family: inherit;
        }

#bookingStepContainer .booking-password-outer-container .booking-password-entry-container {
    align-items: center;
    display: flex;
    flex-direction: column;
}

    #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .booking-step-inner-container {
        display: flex;
        flex-direction: column;
        margin-bottom: 15px;
        max-width: 375px;
    }

    #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .booking-password-link-container {
        margin-top: 4px;
    }

    #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .text-input {
        flex-grow: 1;
        margin: 0;
        width: 100%;
    }

        #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .text-input label {
            float: none;
        }

        #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .text-input .hideShowPassword-wrapper {
            flex-grow: 1;
            width: auto !important;
        }

        #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .text-input .password-field {
            margin: 0 16px 0 0;
            width: 100%;
        }

    #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .control-container {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

    #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .button-container {
        margin: 0;
        padding: 0;
    }

        #bookingStepContainer .booking-password-outer-container .booking-password-entry-container .button-container .button {
            font-size: 16px;
            margin-top: -1px;
            padding: 6px 17px;
        }

#bookingStepContainer .booking-password-outer-container .booking-step-controls {
    align-items: flex-end;
}

#bookingStepContainer .booking-password-outer-container .errorContainer {
    align-self: flex-start;
}

/* MOBILE PHONE SIZE (css-edit-mode) */
@media only screen and (max-width: 910px) {
    #bookingStepContainer .button-strip-container {
        width: 95%;
        height: 50px;
    }

        #bookingStepContainer .button-strip-container .button-strip {
            width: 100%;
            padding: 0;
        }
}

#bookingStepContainer .service-list.k-loading::-ms-expand {
    display: none;
}

.booking-step-form .booking-form-item {
    display: block;
    margin: 0 0 8px 0;
    text-align: left;
    width: auto;
}

    .booking-step-form .booking-form-item.half {
        width: 48%;
    }

    .booking-step-form .booking-form-item label {
        width: 29%;
    }

    .booking-step-form .booking-form-item .form-label {
        display: block;
        line-height: 35px;
    }

    .booking-step-form .booking-form-item .form-inputs-container {
        width: 70%;
    }

    .booking-step-form .booking-form-item.block {
        display: block;
    }

    .booking-step-form .booking-form-item.hidden {
        display: none
    }

    .booking-step-form .booking-form-item .form-label .optional-label {
        font-size: 60%;
    }

    .booking-step-form .booking-form-item .form-input {
        border: 0px;
        display: inline-block;
        margin-top: 4px;
        width: 99%;
    }

    .booking-step-form .booking-form-item.double .form-input,
    .booking-step-form .booking-form-item.double .text-input {
        font-size: 13px;
        width: 48%;
    }

.booking-step-form .form-input {
    padding-left: 0px;
    padding-right: 0px;
}

.booking-step-form .booking-form-item.double .form-inputs-container .form-input.add-space {
    margin-left: 1%
}

.booking-step-form .booking-form-item.double .form-input.full {
    margin: inherit 0px;
    width: 99%;
}

.booking-step-form .booking-form-item .small {
    font-size: 0.8em;
    vertical-align: middle;
}

#facebookAppTab .booking-form-item.label-top .form-label,
#facebookAppTab .booking-form-item.label-top .form-input,
#bookingPluginTab .booking-form-item.label-top .form-label,
#bookingPluginTab .booking-form-item.label-top .form-input,
.booking-form-item.label-top .form-label,
.booking-form-item.label-top .form-input {
    text-align: left;
    width: 100%;
}

.booking-step-button-strip {
    margin: 10px 0 0 0;
}

.booking-step-title {
    margin-bottom: 20px;
}

    .booking-step-title.center {
        display: flex;
        justify-content: center;
        margin-bottom:16px;
    }

        .booking-step-title.center.subtitle {
            font-size: 20px;
            text-align: center !important;
            color: #313131;
            font-weight: 400;
            margin-bottom: 16px;
        }

.booking-summary-container {
    border-right: none;
    border-left: none;
    border-width: 1px 0px 1px 0px;
}

#bookingStepContainer .booking-step-button-strip .button span {
    line-height: 1em;
    vertical-align: middle;
}

.booking-step-controls {
    display: flex;
    flex-direction: column;
}

#selectServiceBookingStep a {
    cursor: pointer;
}

#selectServiceBookingStep.booking-step-form .datetime-list-outer-container .label-top {
    display: flex;
    width: unset;
}

    #selectServiceBookingStep.booking-step-form .datetime-list-outer-container .label-top .p.form-label {
        width: var(--booking-form-width);
    }

#selectServiceBookingStep .booking-form-item .form-label:last-of-type {
    margin-left: 20px;
}

.booking-step-employee-service {
    display: flex;
    margin-top: 10px;
}

.service-list-container,
.datetime-list-container,
.service-employee-row {
    display: flex;
}

.service-list-autocomplete,
.service-list-autocomplete input {
    width: 100%;
}

.service-list-container:not(:first-of-type),
.datetime-list-container:not(:first-of-type),
.service-employee-row:not(:first-of-type) {
    margin-top: 13.5px;
}

.service-list-container .remove-link,
.datetime-list-container .remove-link,
.service-employee-row .remove-link {
    font-size: 18px;
    font-family: inherit;
    font-style: normal;
    font-weight: normal;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 8px;
    margin-bottom: 0px;
    text-align: right;
    text-decoration: none;
    text-transform: none;
    width: var(--remove-link-width);
}

.removable-service {
    display: flex !important;
    flex-direction: row-reverse;
}

    .removable-service .remove-link {
        padding-right: 10px;
    }

.add-another-service {
    display: flex;
    justify-content: space-evenly
}

    .add-another-service a {
        padding-right: 35px;
    }

.service-select-min-height {
    height: min-content;
}

#selectServiceBookingStep .service-list-outer-container .service-list-container:not(:first-child) {
    width: calc(100% + var(--remove-link-width) + var(--booking-form-item-lr-margin) - 1px);
}

.p.form-label.booking-employee-warning {
    font-size: 12px;
    line-height: unset;
    margin-top: 5px;
    margin-left: 10px;
}

.service-list-container .service-list-autocomplete,
#bookingStepContainer .service-list-container select.service-list.k-loading {
    background-color: #fff;
    border-color: #cccccc;
    display: inline-block;
    position: relative;
}

.service-list-autocomplete .ui-combobox-toggle,
.service-list-autocomplete .ui-combobox-toggle:hover {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    border-width: 0px;
    background: #ffffff;
    opacity: 1;
}

#bookingStepContainer .k-dropdown,
#bookingStepContainer .k-input,
#bookingStepContainer .ui-autocomplete-input,
#bookingStepContainer select.service-list,
.service-list-autocomplete .ui-combobox-input,
.service-list-autocomplete .ui-combobox-input:focus {
    font-size: 14px;
    height: 36px;
    color: #333333;
    line-height: 26px;
    padding: 5px 0 4px 0;
    margin: 0;
}

    .service-list-autocomplete .ui-combobox-input,
    .service-list-autocomplete .ui-combobox-input:focus,
    #bookingStepContainer select.service-list {
        border: none;
        padding-left: 7px;
        outline: 1px solid #cccccc;
        outline-offset: 0px;
        letter-spacing: 0px;
    }

    #bookingStepContainer .k-dropdown,
    #bookingStepContainer .k-input:not(.booking-form-input),
    #bookingStepContainer .ui-autocomplete-input,
    #bookingStepContainer select.service-list,
    #bookingStepContainer .booking-form-input:not(.k-widget) {
        box-sizing: border-box;
        padding-left: 15px;
    }

    #bookingStepContainer .k-dropdown,
    #bookingStepContainer .k-input,
    #bookingStepContainer .k-picker-wrap.k-state-hover,
    #noAvailableAppointments .k-picker-wrap.k-state-hover,
    .service-list-autocomplete .ui-combobox-input,
    .service-list-autocomplete .ui-combobox-input:focus {
        background: #ffffff;
    }

.service-list-autocomplete .ui-icon {
    opacity: 0.8;
    left: 33px;
    top: 15px;
    background-image: url(https://da7xgjtj801h2.cloudfront.net/2013.2.716/styles/Metro/sprite.png);
    background-color: transparent;
    background-position: -0px -32px;
}

.ui-dialog .service-list-autocomplete .ui-icon {
    left: 19px;
}

.service-list-autocomplete .ui-combobox-toggle.ui-state-hover,
.service-list-autocomplete .ui-combobox-toggle.ui-state-active,
.service-list-autocomplete .ui-combobox-toggle.ui-state-focus {
    border-color: #cccccc;
}

.service-list-autocomplete .ui-state-hover .ui-icon,
.service-list-autocomplete .ui-state-focus .ui-icon {
    opacity: 1;
}

.service-list-autocomplete .ui-combobox-input.k-state-active {
    border: none;
}

.service-list-autocomplete-menu {
    max-height: 250px;
    /*overflow-y: auto;*/
    overflow-x: hidden;
    max-width: 300px !important;
    overflow-y: scroll; /* has to be scroll, not auto */
    -webkit-overflow-scrolling: touch;
}

    .service-list-autocomplete-menu .ui-autocomplete-category {
        line-height: 2.2em;
        min-height: 2.2em;
        font-size: 17px;
        color: #333333;
        font-weight: bold;
        padding-left: 15px;
    }

    .service-list-autocomplete-menu.ui-menu .ui-menu-item a {
        line-height: 2em;
        min-height: 1.8em;
        font-size: 16px;
        font-family: "PT Sans", "Arial", Sans-Serif;
        font-style: normal;
        margin: 0;
        text-transform: none;
        padding-left: 25px;
        width: auto !important
    }

    .service-list-autocomplete-menu .ui-menu-item a.ui-state-focus {
        border: none !important;
        margin: 0px;
        background-color: #f2f2f2;
        color: #333333 !important;
        opacity: 1;
    }

    .service-list-autocomplete-menu .ui-autocomplete-selected {
        background-color: #eeeeee;
        color: #333333 !important;
    }

#creditCardInfoStep input,
#creditCardInfoStep #tokenform {
    width: 100%
}

#creditCardInfoStep .form-container {
    margin-left: auto;
    margin-right: auto;
    max-width: 320px;
}

#creditCardInfoStep #additionalInfo {
    display: flex;
}

    #creditCardInfoStep #additionalInfo > div {
        flex: 1;
    }

    #creditCardInfoStep #additionalInfo .card-expiration-container {
        margin-right: 10px;
        max-width: 120px;
    }
    
    #creditCardInfoStep #additionalInfo .cvv-container {
        max-width: 100px;
    }
    #creditCardInfoStep #additionalInfo .zip-container {
        margin-left: 10px;
        max-width: 120px;
    }

    #creditCardInfoStep #additionalInfo input {
        color: #555;
        line-height: normal;
        height: 34px;
    }

    #creditCardInfoStep #additionalInfo .card-expiration-input-container {
        display: flex;
    }

        #creditCardInfoStep #additionalInfo .card-expiration-input-container input {
            flex: 1;
            text-align: center;
            min-width: 37px;
        }

        #creditCardInfoStep #additionalInfo .card-expiration-input-container .form-label {
            display: inline-block;
            font-size: 18px;
            margin: 0 5px;
            padding: 0;
            width: unset;
        }

.booking-step-form .booking-form-item#rememberMe {
    margin: 10px 20px 10px 0;
    text-align: right;
}

.booking-step-form .k-datepicker .booking-form-input:hover {
    outline: none;
}

input[type="checkbox"] {
    padding: 0px;
    margin: 0px
}

.booking-step-form .select-date-container .form-input {
    float: none;
}

.booking-step-form .select-date-container .date-picker-container {
    display: inline-block;
    width: 100%;
}

    .booking-step-form .select-date-container .date-picker-container.hidden {
        display: none;
    }

.booking-step-form .button .icon {
    padding: 0px !important;
    font-family: 'icomoon' !important;
}

.booking-step-form #addServiceButtonContainer,
.booking-step-form #addDateTimeButtonContainer {
    font-size: 14px;
    margin-top: 8px;
    padding: 0px;
    text-align: right;
}

.booking-step-form #addDateTimeButtonContainer {
    margin-right: var(--booking-form-item-lr-margin);
}

    .booking-step-form #addServiceButtonContainer.hidden,
    .booking-step-form #addDateTimeButtonContainer.hidden {
        display: none !important;
    }

#selectServiceBookingStep .booking-form-item {
    vertical-align: top;
    width: var(--booking-form-width);
}

    #selectServiceBookingStep .booking-form-item.service-employee-container {
        width: 100%
    }

        #selectServiceBookingStep .booking-form-item.service-employee-container .form-label {
            text-align: unset;
        }

        #selectServiceBookingStep .booking-form-item.service-employee-container .service-list-container {
            display: block;
        }


#selectServiceBookingStep .datetime-list-outer-container {
    width: calc(100% + var(--remove-link-width) + var(--datetime-list-outer-container-width-offset));
}

#selectServiceBookingStep .service-list-outer-container .service-list-container:not(:first-child) .service-list-autocomplete,
#selectServiceBookingStep .booking-form-item {
    margin: 0 var(--booking-form-item-lr-margin);
}

#selectServiceBookingStep .service-list-outer-container .service-list-container:not(:first-child) .service-list-autocomplete {
    margin-left: 0;
}

#selectServiceBookingStep #service-list-outer-container {
    width: 45%;
}

.booking-step-form .k-i-arrow-s {
    margin-top: 5px;
}

#selectServiceBookingStep #errorContainer {
    padding-top: 0;
}

.booking-summary-container .booking-step-title {
    margin: 0px;
}

.appointment-request-service {
}

    .appointment-request-service p {
        text-indent: 10px;
    }

    .appointment-request-service .remove-link {
        display: inline-block;
        cursor: pointer;
    }

.booking-button {
    border-radius: 4px;
    font-size: 20px;
    padding: 15px;
    padding-left: 20px;
    padding-right: 20px;
    outline: none;
    text-align: center;
}

.green-text {
    color: #7BB160;
}

/* pet info */


#petInfoBookingStep #petList.more-than-4-pets {
    border: none;
    max-height: 300px;
    overflow-y: auto;
}

#petInfoBookingStep .petInfoStepContainer {
    display: flex;
    flex-direction: row;
}

#petInfoBookingStep .text-input {
    width: 100%;
}

.booking-step-form .selectable-item-button.button {
    background-color: #fff;
    border-color: currentColor;
    border-width: 1px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 18px;
    line-height: 35px;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    text-transform: inherit;
    margin: 10px 5px;
    min-width: 100px;
    padding: 0;
    text-align: center;
    width: 75%;
}

html body .booking-step-form .form .selected-item-button {
    /*This selector is very specific to override custom designer styles*/
    font-family: inherit;
    font-size: 18px;
    font-weight: inherit;
    line-height: 35px;
    padding: 0;
}


#petInfoBookingStep .petInfoContainer {
    flex-grow: 1;
}

#petInfoBookingStep .petInfo {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    margin-top: 10px;
}

    #petInfoBookingStep .petInfo p,
    #petInfoBookingStep .petInfo h3 {
        margin: 7px 0;
    }


#petInfoBookingStep label {
    margin-top: 5px;
    width: 100%;
    text-align: left;
}

#petInfoBookingStep .form-inputs-container {
    width: 100%;
}

#petInfoBookingStep .form-input {
    width: 100%;
    padding-left: 0;
}

#petInfoBookingStep #typeContainer.text-input {
    width: 38%;
}

#petInfoBookingStep .double #breedContainer.text-input {
    width: 58%;
}

#petInfoBookingStep .double #petNameContainer.text-input {
    width: 53%;
}

#petInfoBookingStep .double #weightContainer.text-input {
    width: 42%;
}

#petInfoBookingStep .pet-info-with-list #petNameContainer.text-input,
#petInfoBookingStep .pet-info-with-list #weightContainer.text-input {
    width: 100%;
}

.petInfoStepContainer .divider {
    border-left: 1px solid;
    flex-basis: 1%;
}

/* confirmation page  */

.booking-confirmation-container {
    border-right: none;
    border-left: none;
    border-width: 1px 0px 1px 0px;
}

    .booking-confirmation-container .booking-step-title {
        margin: 0px;
    }

.booking-step-form .booking-confirmation-container .booking-form-item span.form-input,
.booking-step-form .booking-confirmation-container .booking-form-item .comment-container {
    margin: 0px 0 1px 20px;
    line-height: 35px;
    width: 56%;
}

.booking-step-form .booking-confirmation-container .booking-form-item #bookingComment {
    height: 50%;
    padding: 5px;
    text-indent: 0px;
    width: 95%;
}

.booking-step-form .booking-confirmation-container label {
    width: 39%
}

.booking-step-form .booking-step-confirmation-paragraph.contact-note {
    margin-top: 10px;
    text-align: left;
}

.booking-step-form .booking-step-confirmation-paragraph + * {
    margin-top: 10px;
}

.booking-step-form #cancellationPolicy {
    font-size: 14px;
    margin-top: 25px;
}

    .booking-step-form #cancellationPolicy strong {
        font-size: 11.5px;
    }

.booking-step-form #tokenContainer iframe {
    max-width: none;
    width: 100%;
    display: block;
}

/* completed page (step 5) */
.booking-step-complete-paragraph {
}

.booking-completed-details {
    margin-left: auto !important;
    margin-right: auto !important;
}

    .booking-completed-details .details-row {
        width: 100%;
    }

        .booking-completed-details .details-row .details-label {
            margin-right: 5%;
            width: 30%;
        }

        .booking-completed-details .details-row .details-value {
            width: 60%;
            word-wrap: break-word;
        }

/* Overriding for when Booking Section is a 1/3 size column */
.three-column .booking-step-form .booking-form-item.double .form-input,
.three-column .booking-step-form .booking-form-item.double .form-input.add-space,
.two-column-left .second .booking-step-form .booking-form-item.double .form-input,
.two-column-left .second .booking-step-form .booking-form-item.double .form-input.add-space,
.two-column-right .first .booking-step-form .booking-form-item.double .form-input,
.two-column-right .first .booking-step-form .booking-form-item.double .form-input.add-space {
    width: 99%;
    margin-left: 0px;
}

.three-column .booking-step-form .booking-form-item .form-label,
.two-column-left .second .booking-step-form .booking-form-item .form-label,
.two-column-right .first .booking-step-form .booking-form-item .form-label {
    width: 99%;
}

.three-column .booking-step-form .booking-form-item .form-input,
.two-column-left .second .booking-step-form .booking-form-item .form-input,
.two-column-right .first .booking-step-form .booking-form-item .form-input {
    width: 99%;
    margin-bottom: 5px;
}

.three-column #selectServiceBookingStep .booking-form-item,
.two-column-left .second #selectServiceBookingStep .booking-form-item,
.two-column-right .first #selectServiceBookingStep .booking-form-item {
    width: 99%;
}

.three-column .booking-step-inner-container,
.two-column-left .second .booking-step-inner-container,
.two-column-right .first .booking-step-inner-container {
    width: 95%;
}


/*----------------------------------*/
/*     Kendo Element Overrides      */
/*----------------------------------*/
#bookingStepContainer .k-dropdown-wrap.k-state-default, #noAvailableAppointments .k-dropdown-wrap.k-state-default {
    border: 0px;
    background: #ffffff;
    color: #333333;
    outline: 1px solid #cccccc;
}

#bookingStepContainer .form .k-picker-wrap .k-input, #noAvailableAppointments .form .k-picker-wrap .k-input {
    border: none;
}

#bookingStepContainer .form .k-dropdown-wrap .k-input, #noAvailableAppointments .form .k-dropdown-wrap .k-input {
    border-width: 0px 1px 0px 0px;
    border-color: #cccccc;
}

#bookingStepContainer .k-dropdown-wrap .k-select, #noAvailableAppointments .k-dropdown .k-select {
    line-height: 2.0em;
}

#clientInfoBookingStep .k-dropdown-wrap .k-select {
    line-height: 2.5em;
}

.k-list .k-item {
    font-size: 14px;
}

/* combo boxes */
.k-dropdown .k-state-focused .k-input {
    color: #777777;
}

.k-list .k-item:hover {
    border-color: #e3e3e3;
    background: #e3e3e3;
    color: #333333;
}

.k-state-selected,
.k-state-selected:link,
.k-state-selected:visited,
.k-list > .k-state-selected,
.k-list > .k-state-highlight,
.k-panel > .k-state-selected,
.k-button:active,
.k-ghost-splitbar-vertical,
.k-ghost-splitbar-horizontal,
.k-draghandle.k-state-selected:hover,
.k-scheduler .k-scheduler-toolbar .k-state-selected,
.k-marquee-color {
    border-color: #eeeeee;
    background: #eeeeee;
    color: #333333;
}

#bookingStepContainer .k-dropdown-wrap.k-state-hover .k-icon, #noAvailableAppointments .k-dropdown-wrap.k-state-hover .k-icon /* drop down hover arrow color */ {
    background-position: -0px -32px;
}

/* -- Datepicker Overrides -- */
.k-datepicker .k-picker-wrap {
    border: none;
    outline: 1px solid #cccccc;
}

.k-dropdown .k-input {
    width: auto;
}

#bookingStepContainer .k-datepicker .k-state-hover > .k-select, #noAvailableAppointments .k-datepicker .k-state-hover > .k-select,
#bookingStepContainer .k-datepicker .k-state-focused > .k-select, #noAvailableAppointments .k-datepicker .k-state-focused > .k-select {
    background: #ffffff;
}

#bookingStepContainer .k-datepicker .k-state-hover .k-icon, #noAvailableAppointments .k-datepicker .k-state-hover .k-icon /* calendar icon hover color*/ {
    background-position: -32px -176px;
}

.k-calendar-container .k-link.k-state-hover /* caledar icon/background when focused */ {
    background: #eeeeee;
    color: #333333;
}

.k-calendar-container a /* all clickable elements in calendar */ {
    background: #ffffff;
    color: #333333;
    font-family: "Arial", "Helvetica", sans-serif;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    font-style: normal;
    font-weight: normal;
    margin: 0;
}

.k-calendar-container th {
    background: #ffffff;
    color: #333333;
    font-family: "Arial", "Helvetica", sans-serif;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    font-style: normal;
    font-weight: normal;
}

.k-calendar-container .k-nav-prev.k-state-hover .k-icon /* back arrow hover*/ {
    background-position: 0px -48px;
}

.k-calendar-container .k-nav-next.k-state-hover .k-icon /* next arrow hover*/ {
    background-position: 0px -16px;
}

.k-picker-wrap.k-state-focused /* remove colored line around calendar*/ {
    background: #ffffff;
}

.k-calendar-container td /* date boxes */ {
    background: #ffffff;
    border: none;
    color: #333333;
    font-family: "Arial", "Helvetica", sans-serif;
    font-size: 12px;
    margin: 0px;
    padding: 1px;
    text-align: center;
}

    .k-calendar-container td.k-state-hover, .k-calendar-container td.k-state-hover a /* hovering over dates */ {
        background: #e5e5e5;
        color: #333333;
    }

    .k-calendar-container td.k-state-selected, .k-calendar-container td.k-state-selected a /* selected date */ {
        background: #dddddd;
        color: #333333;
        -webkit-box-shadow: #dddddd 0px 0px 1px 1px inset;
        box-shadow: #dddddd 0px 0px 1px 1px inset;
    }

    .k-calendar-container td.k-today /* current date */ {
        box-shadow: #aaaaaa 0px 0px 0px 1px inset;
        -webkit-box-shadow: #aaaaaa 0px 0px 0px 1px inset;
        color: #333333;
    }

#noAvailableAppointments.booking-step-form .select-date-container .date-picker-container {
    width: 40%;
    margin: 10px 0
}

#noAvailableAppointments.booking-step-form .booking-form-input label {
    margin: 10px 0px 0 0px;
    width: 34%
}

#noAvailableAppointments.booking-step-form .booking-form-item label {
    margin: 14px 0;
    font-size: 14px;
}

.create-account #passwordContainer > label {
    display: block;
}

.create-account #emailContainer > label {
    display: block;
}

.label-top-layout {
    display: flex;
}

#errorContainer, .errorContainer {
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

    #errorContainer, #errorContainer a,
    .errorContainer, .errorContainer a {
        color: #bd0000;
        font-size: 14px;
        text-align: center;
    }

        #errorContainer a,
        .errorContainer a {
            font-weight: bold;
        }

        .errorContainer:not(.noPadding) {
            padding: 11px;
        }

.create-account #passwordContainer .hideShowPassword-wrapper > input {
    width: 100%;
}

.create-account {
    margin: 20px auto;
    max-width: 700px;
    width: 88%;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.flex-container-row {
    display: flex;
    flex: 1 1 auto;
}

.flex-container-column {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-basis-38-to-100 {
    flex-basis: 38%;
}

.flex-basis-58-to-100 {
    flex-basis: 58%;
}

.flex-align-center {
    align-items: center;
}

.flex-justify-content-center {
    justify-content: center;
}

.p.theme-font-color.link-margin {
    margin: 10px 0px 0px auto;
}

.p.theme-font-color.create-account-text {
    font-size: 16px;
    cursor: pointer;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none;
}

.p.theme-font-color.offline-note {
    text-align: center;
}

.flex-space-between {
    justify-content: space-between;
}

.almost-done-header {
    margin: 20px auto 0;
    max-width: 700px;
    width: 88%;
}

.width-80-container {
    margin: 20px auto !important;
    max-width: 637px;
    width: 80%;
}

.required-field {
    display: inline-block;
    color: rgb(213, 0, 0);
    margin-top: 8px;
    text-align: left;
    width: 100%;
    font-size: 14px;
}

#clientInfoBookingStep .required-field {
    width: 50%;
}

.hidden {
    display: none !important;
}

.additional-comments-container #bookingComment {
    width: 100%;
    box-sizing: border-box;
}

.margin-bottom-20 {
    margin-bottom: 20px;
}

.small-font {
    font-size: small;
}

.no-top-margin {
    margin: 0 auto;
}

.bold-font {
    font-weight: bold;
}

/*test styles for forcing summary div to match mockup and yet still inherit some properties from customer styling.*/
.booking-step-form .booking-confirmation-container.new-confirmation-container .booking-form-item span.form-input {
    float: none;
    line-height: unset;
    width: 100%;
    margin: 0;
    text-indent: 0;
    font-size: 14px;
}

.booking-step-form .booking-confirmation-container.new-confirmation-container #serviceInfo .booking-form-item:not(.service-info) {
    margin-bottom: 15px
}


.booking-step-form .booking-confirmation-container.new-confirmation-container .booking-form-item span.form-input .appointment-date {
    font-weight: bold;
}

.booking-step-inner-container.confirmation-step {
    margin: 0 auto;
}


.booking-step-inner-container .booking-confirmation-container.new-confirmation-container {
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    margin: 6px 0;
}

.flex-container-row .checkbox-container {
    display: inline-block;
    height: 100%;
    margin-right: 15px;
}

    .flex-container-row .checkbox-container #create-acct {
        outline: none;
    }

.create-account .create-account-inputs {
    display: flex;
    margin: 10px auto 0 auto;
    justify-content: space-between;
    width: 91%;
    flex-wrap: wrap;
}

    .create-account .create-account-inputs #passwordContainer > label, .create-account .create-account-inputs #emailContainer > label {
        display: block;
    }

    .create-account .create-account-inputs #passwordContainer, .create-account .create-account-inputs #emailContainer {
        display: flex;
        flex-direction: column;
        flex: 0 1 auto;
        flex-basis: 48%;
    }

#bookingPluginDesignContainer .content-wrapper {
    margin: 0 auto;
}

/***Client Info Step***/
.booking-step-form .booking-form-item .above-label {
    width: auto;
}

.booking-step-form .booking-form-item.double .text-input {
    width: 48%;
}


.booking-step-form .booking-form-item .text-input input {
    width: 100%;
}

#passwordContainer .forgotPassword {
    text-decoration: underline;
    font-size: 14px;
    line-height: 35px;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    margin-left: inherit;
    margin-right: inherit;
    margin-top: inherit;
    margin-bottom: inherit;
    text-transform: inherit;
}

.forgotPassword {
    cursor: pointer;
}

.booking-step-form a.make-a-change {
    text-decoration: underline;
    font-size: 14px;
    line-height: normal;
    font-family: inherit;
    font-style: inherit;
    font-weight: inherit;
    margin: 0;
    text-transform: inherit;
    cursor: pointer;
}

.create-account-inputs.booking-form-item .form-label {
    margin: 0;
    text-align: unset;
}

.create-account-inputs.booking-form-item label {
    float: none;
    width: 100%;
}

.booking-step-form .booking-form-item.additional-comments-container.width-80-container {
    display: inherit;
    margin: inherit;
    width: 80%;
    max-width: 637px;
}

    .booking-step-form .booking-form-item.additional-comments-container.width-80-container .form-label {
        margin: 0;
        text-align: unset;
        font-size: 16px;
    }

    .booking-step-form .booking-form-item.additional-comments-container.width-80-container label {
        float: none;
        width: 100%;
    }

#line {
    background-color: rgb(204, 204, 204);
    height: 1px;
}

#or {
    line-height: 50px;
    text-align: center;
    opacity: 1;
    padding: 0px;
    border-width: 1px;
    border-color: rgb(204, 204, 204);
    border-style: solid;
    background-color: rgb(235, 235, 235);
    border-radius: 50%;
    width: 50px;
    height: 50px;
    margin: 0 auto;
    position: relative;
}

#orContainer {
    width: 100%;
    margin-bottom: 50px;
    margin-top: 20px;
}

    #orContainer #line {
        margin-top: -25px;
        height: 2px;
    }

#clientInfoBookingStep .booking-step-button-strip, #clientInfoBookingStep .button-strip {
    margin-right: 0px;
    padding-right: 0px;
}

#loginStrip .booking-step-inner-container {
    width: 100%;
}

.booking-step-title {
    display: inline-block;
    margin-left: 0px;
    margin-top: 0 !important; /*!important was added to override the user's custom style*/
    text-align: left !important; /*users are not able to change position*/
}

#address {
    margin-top: 15px;
}

    #address .optional-label {
        margin-left: 0px;
        display: inline-block;
        font-size: 20px;
        font-family: inherit;
        font-style: inherit;
        font-weight: inherit;
        margin-right: 7px;
        margin-top: inherit;
        margin-bottom: inherit;
        text-transform: inherit;
    }

.forgotPasswordMobile {
    display: none;
}

.forgotPasswordFull {
    display: inline-block;
}

.notYou {
    margin-left: 5px;
    cursor: pointer;
}

div[id^='pageDialog'] #clientInfoBookingStep .text-input {
    width: 100%;
}

div[id^='pageDialog'] .forgotPasswordFull {
    display: none;
}

div[id^='pageDialog'] .forgotPasswordMobile {
    display: inline-block;
    margin-top: 5px;
    text-align: right;
    width: 100%;
}

input:disabled {
    color: #8A8A8A;
    font-style: italic;
}

#login {
    margin-bottom: 15px;
}

select.mobile-select {
    background-color: #fefefe;
    border: none;
    color: #555555;
    font-family: "PT Sans", "Arial", sans-serif;
    font-size: 13px;
    letter-spacing: 1px;
    outline: 1px solid #cccccc;
    padding: 9px 0;
    resize: none;
    text-indent: 0;
}

#switch-container {
    display: flex;
    flex-direction: row;
    justify-content: space-between
}

.flex-basis-38 {
    flex-basis: 38%;
}

.flex-basis-58 {
    flex-basis: 58%;
}

.booking-step-form .booking-form-item.mobile-pet-type-container {
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

/***Client Info Step***/

/* Employee Time Step */
#selectEmployeeTimeStep #editIcon {
    cursor: pointer;
    font-size: 18px;
    font-style: normal;
    font-weight: normal;
    text-decoration: none;
    vertical-align: middle;
}


#selectEmployeeTimeStep #line {
    margin: 10px 0 15px 0;
}

#selectEmployeeTimeStep #selectedServices {
    display: flex;
}

    #selectEmployeeTimeStep #selectedServices .serviceName {
        word-break: break-word;
    }

    #selectEmployeeTimeStep #selectedServices .selectable-item-button {
        display: flex;
        padding: 8px;
        margin-left: 8px;
        margin-right: 8px;
        text-align: left;
    }

        #selectEmployeeTimeStep #selectedServices .selectable-item-button:first-child {
            margin-left: 0;
        }

        #selectEmployeeTimeStep #selectedServices .selectable-item-button:last-child {
            margin-right: 0;
        }

        #selectEmployeeTimeStep #selectedServices .selectable-item-button span {
            font-size: 14px;
            line-height: 25px;
            padding: 0;
            vertical-align: inherit;
        }

        #selectEmployeeTimeStep #selectedServices .selectable-item-button > span > span {
            align-self: flex-start;
        }

        #selectEmployeeTimeStep #selectedServices .selectable-item-button .serviceName {
            font-size: 18px;
        }

#selectEmployeeTimeStep #controlContainer {
    display: grid;
    grid-gap: 20px 20px;
    grid-template-columns: repeat(2, minmax(128px, 1fr));
}

#selectEmployeeTimeStep.multiService #controlContainer {
    grid-template-columns: repeat(3, minmax(128px, 1fr));
    margin: 0 1px;
}

#selectEmployeeTimeStep #controlContainer .booking-form-item {
    clear: initial;
    float: initial;
    margin: 0;
}

#selectEmployeeTimeStep .availableEmployee,
#selectEmployeeTimeStep .employeeAvailability {
    margin: 30px 0 0 0;
}

    #selectEmployeeTimeStep .employeeAvailability .icon2-spinner2 {
        color: #333;
        display: inline-block;
        font-size: 64px;
        padding: 5px 0;
        text-align: center;
        vertical-align: middle;
        width: 100%;
    }

#selectEmployeeTimeStep .noEmployeeAvailability p {
    text-align: left !important;
    margin: 30px 0 !important;
}

#selectEmployeeTimeStep #nextAvailableDate a {
    cursor: pointer;
}

#selectEmployeeTimeStep .noEmployeeAvailability p,
#selectEmployeeTimeStep #nextAvailableDate a {
    font-size: 17px !important;
}

#selectEmployeeTimeStep #nextAvailableNote {
    margin: 10px 0 0 0;
}

#selectEmployeeTimeStep .employeeServiceDetails .employeeDetails {
    font-size: 14px;
}

#selectEmployeeTimeStep .employeeServiceDetails,
#selectEmployeeTimeStep .employeeServiceDetails .serviceName {
    font-size: 18px !important;
}

#selectEmployeeTimeStep #controlContainer .form-label,
#selectEmployeeTimeStep #controlContainer #addServiceButtonContainer {
    display: none;
}

#selectEmployeeTimeStep #controlContainer .k-widget,
#pet-dropdown .k-widget,
#switch-container .k-widget,
#selectEmployeeTimeStep #controlContainer .service-list-container,
#selectServiceBookingStep .booking-form-item .k-widget {
    margin: 0;
    padding: 0;
    width: 100%;
}

#selectEmployeeTimeStep #controlContainer .select-date-container .k-picker-wrap.k-state-border-down {
    padding: 0;
}

#selectEmployeeTimeStep .availableTimes {
    overflow-y: hidden;
}

    #selectEmployeeTimeStep .availableTimes .selectable-item-button {
        min-width: initial;
        padding: 1px 0;
        width: 93px;
    }

#selectEmployeeTimeStep .toggle-container {
    position: relative;
}

    #selectEmployeeTimeStep .toggle-container .results-toggle {
        position: absolute;
        white-space: nowrap;
    }

        #selectEmployeeTimeStep .toggle-container .results-toggle:after {
            content: '+ MORE RESULTS';
            cursor: pointer;
        }

        #selectEmployeeTimeStep .toggle-container .results-toggle.expanded:after {
            content: '- FEWER RESULTS';
        }

#selectEmployeeTimeStep .hidden-serviceselected,
#selectEmployeeTimeStep .hidden-timeofdayselected,
#selectEmployeeTimeStep .hidden-employeeselected,
#selectEmployeeTimeStep .hidden-timeselected {
    display: none !important;
}

#selectEmployeeTimeStep .noAvailability {
    display: none;
}

#selectedServices .error {
    border-color: rgba(255, 0, 0, 1);
}

.alert-dialog #selectEmployeeTimeStep.multiService #controlContainer {
    grid-template-columns: repeat(2, minmax(128px, 1fr));
}

    .alert-dialog #selectEmployeeTimeStep.multiService #controlContainer .booking-form-item:nth-child(3) {
        grid-column: 1 / span 2;
    }

#petInfoContainer .k-dropdown {
    line-height: 36px;
    padding: 0 0 4px 0;
}
/* Employee Time Step */
/* --------------------------------------------------------------*/
/*             EXCEPTIONS FOR MOBILE SCREEN SIZES                */
/* --------------------------------------------------------------*/
/* SMALLER THAN LANDSCAPE OF TABLET (css-edit-mode) */
@media only screen and (max-width: 1454px) {
    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item.double .form-input:not(.full) {
        width: 49%;
    }

    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item.double .form-input.add-space {
        margin-left: 1%;
    }

    .content-wrapper.css-edit-mode .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 40%;
    }
}

/* SMALLER THAN LANDSCAPE OF TABLET (edit-mode) */
@media only screen and (max-width: 1121px) {
    .content-wrapper.ui-design .booking-step-form .booking-form-item.double .form-input:not(.full) {
        width: 49%;
    }

    .content-wrapper.ui-design .booking-step-form .booking-form-item.double .form-input.add-space {
        margin-left: 1%;
    }

    .content-wrapper.ui-design .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 40%;
    }
}

/* SMALLER THAN LANDSCAPE OF TABLET (normal) */
@media only screen and (max-width: 1024px) {
    /***Step 3***/
    #login .text-input {
        width: 100%;
    }

    .forgotPasswordFull {
        display: none;
    }

    .forgotPasswordMobile {
        display: block;
        margin-top: 5px;
        text-align: right;
        width: 100%;
    }
    /***Step 3***/
    .content-wrapper .booking-step-form .booking-form-item.double .form-input:not(.full) {
        width: 49%;
    }

    .content-wrapper .booking-step-form .booking-form-item.double .form-input.add-space {
        margin-left: 1%;
    }

    .content-wrapper .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 40%;
    }
    /*confirmation*/
    .booking-completed-details .details-row .details-label,
    .booking-completed-details .details-row .details-value {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* SMALLER THAN PORTRAIT OF TABLET (css-edit-mode) */
@media only screen and (max-width: 1198px) {
    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item.double .form-input:not(.full) {
        width: 49%;
    }

    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item .form-label {
        width: 100%;
    }

    #clientInfoBookingStep .above-label {
        width: auto;
    }

    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item #serviceCategoryLabel {
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
    }

    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item .form-input {
        width: 100%;
    }

    .content-wrapper.css-edit-mode .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 100%;
    }

    .content-wrapper.css-edit-mode .booking-step-form .form {
        width: 90%;
        max-width: inherit;
    }
}

/* SMALLER THAN PORTRAIT OF TABLET (edit-mode) */
@media only screen and (max-width: 865px) {
    .content-wrapper.ui-design .booking-step-form .booking-form-item.double .form-input:not(.full) {
        width: 49%;
    }

    .content-wrapper.ui-design .booking-step-form .booking-form-item .form-label {
        margin-top: 5px;
        width: 100%;
    }

    .content-wrapper.ui-design .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 100%;
    }

    .content-wrapper.ui-design .booking-step-form .form {
        width: 90%;
        max-width: inherit;
    }
    /*confirmation*/
    .booking-completed-details .details-row .details-label,
    .booking-completed-details .details-row .details-value {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }


    .content-wrapper.ui-design #bookingStartOver {
        margin-top: 0;
    }

        .content-wrapper.ui-design #bookingStartOver a {
            margin-left: 0;
            margin-right: 0;
        }

    .content-wrapper.ui-design #showAllAppointmentResults {
        margin-top: 0;
    }

        .content-wrapper.ui-design #showAllAppointmentResults a {
            margin-left: 0;
            margin-right: 0;
        }
}

/* SMALLER THAN PORTRAIT OF TABLET (normal) */
@media only screen and (max-width: 768px) {
    .content-wrapper .booking-step-form .booking-form-item.double .form-input:not(.full) {
        width: 49%;
    }

    .content-wrapper #selectServiceBookingStep .booking-step-employee-service {
        flex-direction: column;
    }

        .content-wrapper #selectServiceBookingStep .booking-step-employee-service .booking-form-item {
            width: unset;
        }

            .content-wrapper #selectServiceBookingStep .booking-step-employee-service .booking-form-item > * {
                width: calc(100% - var(--remove-link-width));
            }

    .content-wrapper #selectServiceBookingStep .datetime-list-outer-container {
        width: calc(100% + var(--datetime-list-outer-container-width-offset));
    }

    .flex-basis-38-to-100 {
        flex-basis: 100%;
    }

    .flex-basis-58-to-100 {
        flex-basis: 100%;
    }

    #switch-container {
        flex-direction: column;
    }

    .content-wrapper .booking-step-form .booking-form-item .form-label {
        width: 100%;
    }

    .content-wrapper .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 100%;
    }

    .content-wrapper .booking-step-form .form, .booking-step-form .booking-form-item.additional-comments-container.width-80-container, .create-account {
        width: 90%;
        max-width: inherit;
    }

        .create-account .create-account-inputs {
            width: 100%;
        }

    /*confirmation*/
    .booking-completed-details .details-row .details-label,
    .booking-completed-details .details-row .details-value {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .booking-step-form #addDateTimeButtonContainer {
        margin-right: 36px;
    }
}

/* MOBILE PHONE SIZE (css-edit-mode) */
@media only screen and (max-width: 910px) {
    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item .form-label {
        text-align: left;
    }

    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item .form-input,
    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item.double .form-input:not(.full),
    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item label,
    .content-wrapper.css-edit-mode .booking-step-form .booking-form-item .form-inputs-container {
        float: none;
        margin: 5px 0 0 0;
        width: 100%;
    }

    .content-wrapper.css-edit-mode #bookingStepNavigation li.step-number {
        border-radius: 50%;
        -moz-border-radius: 15px;
        -webkit-border-radius: 15px;
        height: 30px;
        margin: 0px;
        padding: 0px;
        width: 30px;
    }

        .content-wrapper.css-edit-mode #bookingStepNavigation li.step-number span {
            line-height: 30px;
            font-size: 0.9em;
        }

    .content-wrapper.css-edit-mode #bookingStepNavigation li.divider {
        margin: 0px;
        padding: 0px;
    }
    /*step 2*/
    .content-wrapper.css-edit-mode .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.css-edit-mode .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 100%;
    }
    /*step 3*/
    .content-wrapper.css-edit-mode #selectServiceBookingStep .booking-form-item {
        width: 100%;
    }
    /*confirmation*/
    .booking-completed-details .details-row .details-label,
    .booking-completed-details .details-row .details-value {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /***Pet Info Step***/
    #petInfoBookingStep .form-label {
        margin-top: 5px;
    }

    #petInfoBookingStep .form-input {
        margin-left: 0;
    }

    #petInfoBookingStep #nameContainer.text-inp

    #petInfoBookingStep .text-input,
    #petInfoBookingStep #petNameContainer.text-input,
    #petInfoBookingStep #weightContainer.text-input,
    #petInfoBookingStep #typeContainer.text-input,
    #petInfoBookingStep #breedContainer.text-input,
    #petInfoBookingStep .double #breedContainer.text-input {
        width: 100%;
        margin-bottom: 5px;
    }


    #petInfoBookingStep #typeContainer.text-input {
        margin-bottom: 15px;
    }
    /***Pet Info Step***/
}

@media only screen and (max-width: 655px) {
    #selectEmployeeTimeStep.multiService #controlContainer {
        grid-template-columns: repeat(2, minmax(128px, 1fr));
    }

        #selectEmployeeTimeStep.multiService #controlContainer .booking-form-item:nth-child(3) {
            grid-column: 1 / span 2;
        }
}

/* MOBILE PHONE SIZE (edit-mode) */
@media only screen and (max-width: 577px) {

    .content-wrapper.ui-design .booking-step-form .booking-form-item .form-label {
        text-align: left;
    }

    .content-wrapper.ui-design .booking-step-form .booking-form-item .form-input,
    .content-wrapper.ui-design .booking-step-form .booking-form-item.double .form-input:not(.full),
    .content-wrapper.ui-design .booking-step-form .booking-form-item label,
    .content-wrapper.ui-design .booking-step-form .booking-form-item .form-inputs-container {
        float: none;
        margin: 5px 0 0 0;
        width: 100%;
    }

    .content-wrapper.ui-design #bookingStepNavigation li.step-number {
        border-radius: 50%;
        -moz-border-radius: 15px;
        -webkit-border-radius: 15px;
        height: 30px;
        margin: 0px;
        padding: 0px;
        width: 30px;
    }

        .content-wrapper.ui-design #bookingStepNavigation li.step-number span {
            line-height: 30px;
            font-size: 0.9em;
        }

    .content-wrapper.ui-design #bookingStepNavigation li.divider {
        margin: 0px;
        padding: 0px;
    }

    /*step 2*/
    .content-wrapper.ui-design .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper.ui-design .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 100%;
    }

    /*confirmation*/
    .booking-completed-details .details-row .details-label,
    .booking-completed-details .details-row .details-value {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

@media only screen and (max-width: 550px) {
    .content-wrapper .booking-step-form #addServiceButtonContainer .button .long-name {
        display: inline-block;
    }
}

/* MOBILE PHONE SIZE (normal) */
@media only screen and (max-width: 480px) {
    .content-wrapper .booking-step-form .booking-form-item .form-label {
        text-align: left;
    }

    #bookingStepContainer .booking-step-inner-container {
        width: 95%;
    }

    .create-account .create-account-inputs #passwordContainer, .create-account .create-account-inputs #emailContainer {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        flex-basis: 100%;
    }

    .content-wrapper .booking-step-form .form, .booking-step-form .booking-form-item.additional-comments-container.width-80-container, .create-account {
        width: 96%;
    }

    .content-wrapper .booking-step-form .booking-form-item .form-input,
    .content-wrapper .booking-step-form .booking-form-item.double .form-input:not(.full),
    .content-wrapper .booking-step-form .booking-form-item label,
    .content-wrapper .booking-step-form .booking-form-item .form-inputs-container {
        float: none;
        margin: 5px 0 0 0;
        width: 100%;
    }

    .content-wrapper #bookingStepNavigation li.step-number {
        border-radius: 50%;
        -moz-border-radius: 15px;
        -webkit-border-radius: 15px;
        height: 30px;
        margin: 0px;
        padding: 0px;
        width: 30px;
    }

        .content-wrapper #bookingStepNavigation li.step-number span {
            line-height: 30px;
            font-size: 0.9em;
        }

    .content-wrapper #bookingStepNavigation li.divider {
        margin: 0px;
        padding: 0px;
    }

    .content-wrapper .booking-step-form .booking-form-item.double .form-input.full {
        width: 100%;
    }

    /*employee and time selection*/
    #selectEmployeeTimeStep #selectedServices {
        flex-direction: column;
    }

        #selectEmployeeTimeStep #selectedServices .selectable-item-button {
            margin: 0 0 10px 0;
            width: 100%;
        }

    /*select date*/
    .content-wrapper .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .three-column .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .two-column-left .second .booking-step-form .select-date-container .date-picker-container,
    .content-wrapper .two-column-right .first .booking-step-form .select-date-container .date-picker-container {
        width: 100%;
    }

    /*client info*/
    #address .booking-step-title {
        margin-bottom: 0px;
    }

    #address .optional-label {
        margin-bottom: 20px;
        text-align: center;
        width: 100%;
    }

    #clientInfoBookingStep .form-label {
        margin-top: 5px;
    }

    #clientInfoBookingStep .text-input {
        width: 100%;
    }

    /*pet info*/
    #petInfoBookingStep .petInfoContainer.pet-info-with-list {
        margin-left: 0;
    }

    #petInfoBookingStep .petInfoStepContainer {
        flex-direction: column;
    }

    /*confirmation*/
    .booking-completed-details,
    .booking-completed-details .details-row .details-label,
    .booking-completed-details .details-row .details-value {
        padding-left: 3px !important;
        padding-right: 3px !important;
    }

    .booking-step-form .make-a-change.make-a-change-mobile {
        display: inline-block;
    }

    .almost-done-header {
        width: 100%;
    }

        .almost-done-header h2 {
            font-size: 24px;
            width: 100%;
        }

    .booking-step-title {
        text-align: center !important;
    }

    .booking-step-form #addDateTimeButtonContainer {
        margin-right: 12px;
    }
}

@media only screen and (max-width: 375px) {
    .almost-done-header h2 {
        font-size: 21px;
    }

    #bookingStepContainer .booking-password-outer-container .text-input .control-container {
        flex-direction: column;
    }

        #bookingStepContainer .booking-password-outer-container .text-input .control-container .hideShowPassword-wrapper {
            margin: 0 !important;
            width: 100% !important;
        }

        #bookingStepContainer .booking-password-outer-container .text-input .control-container .button-container {
            margin-top: 12px;
            width: 100%;
        }
}

@media only screen and (max-width: 350px) {
    /*employee and time selection*/
    #bookingStepContainer .booking-step-inner-container {
        width: 99%;
    }

    #selectEmployeeTimeStep .availableTimes .selectable-item-button {
        width: 83px;
    }

    .almost-done-header h2 {
        font-size: 27px;
    }
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2) {
    .service-list-autocomplete .ui-icon {
        background-image: url(https://da7xgjtj801h2.cloudfront.net/2013.2.716/styles/Metro/sprite_2x.png);
        background-size: 340px 336px;
        top: 16px;
    }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    /* IE 10 and 11 specific styles go here - Edge does not support this */
    #selectEmployeeTimeStep #controlContainer {
        display: -ms-grid;
        -ms-grid-columns: 1fr 1fr;
    }

    #selectEmployeeTimeStep.multiService #controlContainer {
        -ms-grid-columns: 1fr 1fr 1fr;
    }

    #selectEmployeeTimeStep #controlContainer .booking-form-item:nth-child(1) {
        -ms-grid-column: 1;
        -ms-grid-row: 1;
        padding: 0 0 20px 0;
    }

    #selectEmployeeTimeStep #controlContainer .booking-form-item:nth-child(2) {
        -ms-grid-column: 2;
        -ms-grid-row: 1;
        padding: 0 0 20px 20px;
    }

    #selectEmployeeTimeStep #controlContainer .booking-form-item:nth-child(3) {
        -ms-grid-column: 1;
        -ms-grid-row: 2;
        padding: 0;
    }

    #selectEmployeeTimeStep.multiService #controlContainer .booking-form-item:nth-child(3) {
        -ms-grid-column: 3;
        -ms-grid-row: 1;
        padding-left: 20px;
    }

    #selectEmployeeTimeStep #controlContainer .booking-form-item:nth-child(4) {
        -ms-grid-column: 2;
        -ms-grid-row: 2;
        padding: 0 0 0 20px;
    }
}

