.reservation {
    padding: 20px 10px;
    background: #fff;
    border: 1px solid #969696;
    font-size: 18px;
    color: #666262;
    border-radius: 10px;
}
.reservation > form > div > .form-group > legend,
form[name="building_reservation"] > .tab_2 > .elements > .w-50 > .form-group > legend
{
    width: 33%;
    margin: auto 0;
}
.reservation > form > div > .form-group > label,
form[name="building_reservation"] > .tab_2 > .elements > .w-50 > .form-group > label {
    width: 50%;
    margin: auto 0;
}
#back {
    padding: 10px 20px;
    background-color: #fff;
    color: #000;
    border-color: #212121;
}
#next, #submit {
    padding: 10px 20px;
    background-color: #DDBCF8;
    color: #000;
    border-color: #212121;
}

#home-service #next, #home-service #submit {
    background-color: #B8E2FF;
}
#building-service #next, #building-service #submit {
    background-color: #CEEC5D;
}
.tab-title {
    font-size: 24px;
}
.office-steps, .home-steps {
    height: 60px;
}
.step {
    z-index: 2;
    left: 33%;
}
form[name="office_reservation"] .ui-widget-header, form[name="home_reservation"] .ui-widget-header {
    border: 1px solid #E6E6E6;
    background: transparent;
    color: #212121;    
    border: none;
}

form[name="office_reservation"] .ui-widget-content, form[name="office_reservation"] .ui-state-default,
form[name="office_reservation"] .ui-widget-content .ui-state-default {
    color: #212121;
    border: none;
    text-align: center;
}
form[name="home_reservation"] .ui-widget-content, form[name="home_reservation"] .ui-state-default,
form[name="home_reservation"] .ui-widget-content .ui-state-default {
    color: #212121;
    border: none;
    text-align: center;
}
.ui-state-active, .ui-widget-content .ui-state-active {
    color: #212121 !important;
    border: 1px solid #212121 !important;
    background: #DDBCF8 !important;
    border-radius: 5px;
}

form[name="home_reservation"] .ui-state-active, .ui-widget-content .ui-state-active {
    background: #B8E2FF !important;
}
.js-datepicker {
    font-size: 16px;
    text-align: center;
}
.ui-datepicker-calendar {
    border: none;
}
form[name="office_reservation"] input[type="radio"]:checked, form[name="office_reservation"] input[type="checkbox"]:checked  {
    background-color: #828688;
    border: #828688;
}
form[name="home_reservation"] input[type="radio"]:checked, form[name="home_reservation"] input[type="checkbox"]:checked {
    background-color: #77BDE8;
    border: #77BDE8;
}
form[name="building_reservation"] input[type="radio"]:checked, form[name="building_reservation"] input[type="checkbox"]:checked {
    background-color: #A6C539;
    border: #A6C539;
}
.home-res {
}
.form-check {
    display: flex;
    align-items: center;
    margin-right: 20px;
}
.form-check-input[type=checkbox] {
    width: 24px;
    height: 24px;
}
.form-check-label {
    margin-left: 10px;
    margin-top: 8px;
}

.building-buttons button {
    background-color: #A6C539 !important;
    border: 1px solid #A6C539 !important;
}
.home-buttons button {
    background-color: #77BDE8 !important;
    border: 1px solid #77BDE8 !important;
}
.building-res {
    color: #666262;
    border: 1px solid #A6C539 !important;
    box-shadow: 0px 3px 6px 0px #A6C539 !important;
}
.building-res select:focus, .building-res input:focus{
    border-color: #A6C539;
    box-shadow: 0 0 0 0.25rem rgb(166 197 57 / 25%);
}
.office-res select:focus, .office-res input:focus{
    border-color: #828688;
    box-shadow: 0 0 0 0.25rem rgb(130 134 136 / 25%);
}
img[class^="step-"] {
    width: 60px;
    height: 60px;
}
#selected_services {
    padding-left: 18px;
}
.field > .hint {
    color: #666262;
    font-size: 12px;
}
.field > span {
    color: red;
    font-size: 12px;
}
#terms {
    color: #212121;
    cursor: pointer;
    text-decoration: underline;
}

.diagram {
    display: flex;
    padding: 0;
    margin: 25px 0px;
}

.circle {
    width: 50px;
    height: 50px;
    border: 2px solid #212121;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.office-service {
    .circle.active {
        background-color: #d7c8f2;
        border: 2px solid #212121;
    }
}

.building-service {
    .circle.active {
        background-color: #CEEC5D;
        border: 2px solid #212121;
    }
}

.home-service {
    .circle.active {
        background-color: #B8E2FF;
        border: 2px solid #212121;
    }
}
.line {
    flex-grow: 1;
    height: 2px;
    position: relative;    
    border-bottom: 2px dashed #212121;
    top: 50%;   
}

.line.arrow {
    background-color: transparent;
}

.line.arrow:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid #007bff;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
@media screen and (max-width: 769px) and (min-width: 426px)
{
    .content {
        padding: 0px 50px;
    }
    .reservation > form > div > .form-group > legend {
        width: 100%;
    }
    .reservation, .form-control {
        font-size: 14px;
    }
}
@media screen and (max-width: 426px){
    .content {
        padding: 0px 20px;
    }
    .reservation {
        font-size: 14px;
    }
    .reservation > form > div > .form-group > legend {
        width: 50%;
    }
    .office-steps, .home-steps, .building-steps {
        height: 40px;
    }
    img[class^="step-"] {
        width: 40px;
        height: 40px;
    }
    div[class^="tab_"] > div {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }
    .js-datepicker {
        font-size: 10px;
    }
    .form-control {
        font-size: 14px;
    }
    .step {
        left: 20% !important;
    }
    .additional-service {
        width: 100% !important;
    }
    .tab-title {
        width: 100% !important;
    }
    form[name="building_reservation"] > .tab_2 > .elements {
        display: block !important;
    }
    form[name="building_reservation"] > .tab_2 > .elements > .w-50 {
        width: 100% !important;
    }
    form[name="building_reservation"] > .tab_2 > .elements > .w-50 > .form-group {
        margin-left: 0px !important;
    }
    
    .diagram {
        margin: 15px 0px;
    }    
    .circle {
        width: 25px;
        height: 25px;
        font-size: 12px;
    }
    
    .actions {
        margin: .5rem !important;
    }
    
    #back, #next, #submit {
        padding: 5px 10px;
        font-size: 14px;
    }
    
    .first-column, .second-column {
        width: 100%;
    }
    
    .form-check-input[type=checkbox] {
        width: 20px;
        height: 20px;
    }
    
    .form-check {
        display: block;
    }
} 
.label {
    position: absolute;
    top: -25px;
    right: 10px;
    background-color: #007bff;
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 14px;
}

.line.arrow .label {
    display: block;
}

.serviceOffice {
    background: linear-gradient(114.84deg, #FFFFFF 7.75%, #F6ECFF 91.08%);
}

.serviceHome {
    background: linear-gradient(114.84deg, #FFFFFF 7.75%, #E0F2FF 91.08%);
}
.serviceBuilding {
    background: linear-gradient(114.84deg, #FFFFFF 7.75%, #ECFBB7 91.08%);
}
.ui-widget-content {
    background: transparent;
}
.ui-widget-header .ui-icon {
    background-image: url('../../img/icons/calendar_back.svg');
}

.ui-widget-content .ui-state-default {
    border: none;
    background: none;
}

.ui-datepicker-prev {
    .ui-icon {
        background: #fff url('../../img/icons/calendar_back.svg') 50% 50% no-repeat;
    }
}

.ui-datepicker-next {
    .ui-icon {
        background: #fff url('../../img/icons/calendar_next.svg') 50% 50% no-repeat;
    }
}
.ui-state-hover, .ui-widget-header .ui-state-hover {
    border: none;
    background :none;
    font-weight: normal;
    top: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
    left: 2px;
}
.ui-datepicker .ui-datepicker-next-hover {
    right: 2px;
}
.form-check-input:checked[type=checkbox] {
    background-image: url('../../img/icons/checkbox.svg');
    background-size: 15px;
}
.price-div {
    background-color: #FDFABE; 
    border-radius: 8px; 
    padding: 8px 0px; 
    color: #212121;
}

.form-control {
    padding: 10px;
}

#office_reservation_agree + label, 
#building_reservation_agree + label,
#home_reservation_agree + label
{
    display: none;
}