.appBookingWidget {
    display: block;
}

.appBookingContainer {
    padding: 16px;
    border: 1px solid #99a1af;
    border-radius: 4px;
    background-color: #fbf9fa;
    box-shadow: 0 0 10px 2px rgb(0 0 0 / 20%);
}

.appBookingWidget .appBookingTitle {
    font-size: 2em;
    margin: 8px 0;
}

.appBookingHorizontalBar {
    border: 1px solid #99a1af;
    border-top-width: 0;
}

.appBookingStepContainer {
    margin: 16px 0;
}

.appBookingActiveStepTitle {
    padding-bottom: 8px;
    line-height: 1.5em;
}

.appBookingList {
    width: 100%;
    display: grid;
    gap: 8px;
}

.appBookingListItem, .appBookingListItemSimple {
    width: 100%;
    transition: box-shadow .2s linear;
    background-color: #fff;
    box-shadow: 0 0 0 1px #a46622;
}

.appBookingListItem:hover {
    box-shadow: 0px 0px 0px 2px #00695f;

} 
.appBookingListItemContent {
    display:flex;
    padding: 16px;
}

.appBookingContentGrow {
    flex-grow: 1;
}

.appBookingSelectedItemIcon {
    flex: none;
    color: #00695f;
    width: 24px;
    height: 24px;
}

.appBookingStepSummary {
    display:flex;
}

.appBookingStepSummaryContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    align-items: center;
}

.appBookingStepTitle {
    flex-grow: 1;
    width: 100%;
    color: #5b5b5b;
    padding-bottom: 8px;
}

.appBookingStepContent {
    flex-grow: 1;
    width: 100%;
}

.appBookingStepEditBtn {
    color: #51a2ff;
    cursor:pointer;
    background-color: rgba(0,0,0,0);
    border-width: 0px;
}
.appBookingStepEditBtn:hover {
    color: #155dfc;
}

.appBookingStepEditIcon {
    width: 32px;
    height: 32px;
}

.appBookingHidden {
    display: none;
}

.appBookingServiceContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    position: relative;
}

.appBookingServiceLabel {
    position: absolute;
    top: -16px;
    right: -16px;
    width: 75px;
    background: #a46622;
    padding: 10px ;
    text-align: center;
    color: white;
    font-weight: bold;
}

.appBookingChooseDateContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.appBookingServiceHeader {
    display: flex;
    font-size: 1.2em;
    margin-bottom: 8px;
}

.appBookingServiceSpecialist {
    margin-bottom: 8px;
}

.appBookingServicePrice {
    color: #5b5b5b;
}
.appBokingServiceLineItem {
    display: flex;
    flex-direction: row;
    padding-bottom: 4px;
}

.appBokingServiceLineItem:last-child {
    padding-bottom: 0px;
}

.appBookingServiceAttr {
    display: flex;
    flex: none;
    color: #5b5b5b;
    font-size: 0.8em;
}

.appBookingServiceAttrIcon {
    flex: none;
    width: 16px;
    height: 16px;
}
.appBookingServiceAttrContent {
    padding: 0px 8px 0px 4px;
}

.appBookingTimeSlotsContainer {
    height: 100%;
    padding: 16px 0px;
}

.appBookingTimeSlotsTitle {
    font-size: 1.2em;
    margin-bottom: 16px;
}

.appBookingDateLine {
    margin: 8px 0px;
    color: #5b5b5b;
}
.appBookingDateLineHeader {
    color: #5b5b5b;
    margin-bottom: 4px;
    font-size: 0.8em;
}

.appBookingDateLineContent {
    margin-bottom: 4px;
}


.appBookingTimeSlotButton {
    padding: 8px;
    width: 80px;
    cursor: pointer;
    border-width: 2px;
    border-color: #00695f;
    background-color: #fff;
    border-radius: 4px;
    font-size: 1em;
    border-style: solid;
}

.appBookingTimeSlotButton:hover {
    color: #FFFFFF;
    background-color: #00695f;
}

.appBookingTimeSlotSelectedButton {
    background-color: #00695f;
    color: #FFFFFF;
}

.appBookingFacetGroup {
    background-color: #fff;
    box-shadow: 0 0 0 1px #c9cbcf;
    margin-bottom: 8px;
    padding: 8px;
}

.appBookingFacetGroupItem {
    margin-top: 4px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    color: #5b5b5b;
}

.appBookingFormFieldSet {
    border-width: 0px;
    padding: 0px 0px 8px 0px;
}

.appBookingFormInputLabel {
   color: #99a1af;
   font-size: 0.85em;
}

.appBookingFormInputText {
    padding: 8px;
    border-radius: 4px;
    background-color: #fff;
    border-width: 1px;
    border-color: #99a1af;
    width: calc(100% - 16px);
    display: block;
    line-height: 1.6em;
    border-style: solid;
    font-size: 1em;
}
.appBookingFormErrorText {
    color: #D32F2F;
    font-size: 0.85em;
}
.appBokingErrorIcon {
    width: 32px;
    height: 32px;
    margin: 8px;
}
.appBookingErrorText {
    color: #D32F2F;
}
.appBookingWarningText {
    color: #d96724;
}

.appBookingFormInputCheckbox {
    width: 20px;
    height: 20px;
    margin-right: 0.8em;
}

.appBookingFormFieldSetLine {
    align-items: center;
    display: flex;
}

.appBookingCtaContainer {
    margin: 16px 0;
    display: flex;
    gap: 8px;

}

.appBookingCtaButton {
    padding: 8px 16px;
    border-radius: 4px;
    background-color: #99a1af;
    border-width: 1px;
    border-color: #99a1af;
    width: 100%;
    border-style: solid;
    font-size: 1em;
}

.appBookingCtaButton:not([disabled])
 {
    background-color: #00695f;
    color: #fff;
}

.appBookingCtaButton:hover:not([disabled])
 {
    background-color: #035d54;
    color: #fff;
}

.appBookingCtaButtonDanger:not([disabled]) {
    background-color: #981b1b;
}

.appBookingCtaButtonDanger:hover:not([disabled])
 {
    background-color: #841a1a;
}

.appBookingAttributesLine {
    margin-bottom: 4px;
}

.appBookingTextStrike {
   text-decoration: line-through;
}

.appBookingTextNotImportant {
    color: #99a1af;
}


.appBookingItemsHorizontal {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    gap: 8px;
}
.appBookingItemsGrow0 {
    flex-grow: 0;
}
.appBookingItemsGrow1 {
    flex-grow: 1;
}
.appBookingItemsWrap {
    flex-wrap: wrap;
}

.appBookingItemsVerical {
    display: flex;
    flex-direction: column;
}

.appBookingCal {
    padding: 16px;
}

.appBookingCalHeader {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 16px;
}

.appBookingCalHeaderText {
    flex-grow: 1;
    font-size: 1.2em;
    text-align: center;
}

.appBookingCalHeaderDay {
    padding: 8px;
}

.appBookingCalDays {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 450px;
}
.appBookingCalDay {
    flex: 1 0 14.28%;
    text-align: center;
}

.appBookingCalNavIcon {
    width: 24px;
    height: 24px;
    color: #155dfc;
}
.appBookingCalNavBtn {
    cursor: pointer;
    background-color: rgba(0,0,0,0);
    margin: 0 16px;
    flex-grow: 0;
    border: 0;
}

.appBookingCalDayBtn {
    margin-top: 8px;
    border: 0px; 
    font-size: 1em;
    background-color: transparent;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #c6c6c6;
}

.appBookingCalDayBtnAvailable {
    border: 2px solid #00695f;
    color: #00695f;
    cursor: pointer;
}

.appBookingCalDayBtnAvailable:hover {
    background-color: #00695f;
    color: #FFF;
}

.appBookingCalDayBtnSelected {
    background-color: #00695f;
    color: #FFF;
}

.appBookingCalDayBtnOtherMonth {
    color: #c6c6c6;
}

.appBookingChooseDateCal {
    width: 100%;
}

.appBookingChooseDateSlots {
    width: 100%;
}

.appBookingChooseDate {
    display: flex;
    flex-direction: column;
    width: 100%;
}
.appBookingReserveBlockIcon {
    width: 0px;
    display: none;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {

}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {

}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
    .appBookingList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .appBookingStepTitle {
        width: 40%;
    }
    
    .appBookingStepContent {
        width: 60%;
    }
    .appBookingStepSummaryContainer {
        margin-top: 0;
        flex-direction: row;
    }
    .appBookingChooseDate {
        flex-direction: row;
    }
    .appBookingChooseDateCal {
        width: 40%;
    }
    .appBookingChooseDateSlots {
        width: 60%;    
    }
    .appBookingReserveBlockIcon {
        width: 32px;
        display: block;
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
    .appBookingCtaButton {
        width: auto;
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  
}