.opb-booking-step {
    display: none;
}
.opb-booking-app-container {
    position: absolute;
    right: -100vw;
    top: 0;
    width: 100%;
    background-color: #000;
    background-color: rgb(0 0 0/1);
    transition-duration: .15s;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    width: 600px;
    right: 0px;
    z-index: 999999999;
}
#opb-booking-form .opb-field-single-choice .opbew_radio label:has(.opb-selected),
#opb-booking-form-internal .opb-field-single-choice .opbew_radio label:has(.opb-selected) {
    background: #ff6400;
    border-color: #ff6400;
}
.opb-booking-app-popup {
    position: fixed;
    top: 0;
    z-index: 999999999;
    background: #00000085;
    left: 100%;
    right: 0;
    bottom: 0;
    transition-duration: 1s;
    transition-property: all;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
}
.booking-form-holder .opb-booking-app-popup {
    position: fixed;
    background: unset;
    left: unset;
    right: unset;
    top: 0;
    bottom: unset;
    z-index: 999999;
}

.opb-app.opb-loaded:before, .opb-step.opb-current, .opb-step-booking:before {
    content: '';
    background-color: #000;
    height: 16rem;
    top: 0;
    position: absolute;
    width: 100%;
}


.opb-booking-app-popup.opb-booking-slide-left {
    left: 0;
}

.opb-booking-app-popup .opb-booking-app-wrapper-right {
    display: flex;
    justify-content: end;
}

.opb-app.opb-loaded,
.opb-step.opb-current,
.opb-step-booking {
    font-weight: 400;
    line-height: normal;
    width: 100vw;
    max-width: 600px;
    transition: right .5s ease-in-out;
    position: relative;
    background: rgba(250,245,230,1);
    /* background: linear-gradient(180deg, rgba(0,0,0,1) 35%, rgba(250,245,230,1) 35%); */
    height: 100vh;
    overflow: auto;
}
div#opb-confirmation {
    background: linear-gradient(180deg, rgba(0,0,0,1) 250px, rgba(250,245,230,1) 0);
}
.default-page .opb-property-name:after,
body .opb-property-name:after,
.opb-property-name:after {
    content: none;
}
.default-page .opb-property-name,
h2.opb-property-name,
.opb-property-name {
    color: #000;
    margin-top: 0;
}
.confirmation-title {
    text-align: left;
    color: #000;
    padding-bottom: 25px;
}
.confirmation-footer {
    margin-top: 15px;
}
.opb-loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    display: none;
    transition: height .3 ease-in;
    background-color: #159756;
    -webkit-animation: preloader-background linear 3.5s infinite;
    animation: preloader-background linear 3.5s infinite;
    z-index: 9;
}
.opb-loading .opb-loader {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #efefef;
    z-index: 9;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.play-loader {
    width: 50px;
    height:50px;
    border-radius:50%;
    border:8px solid;
    border-color:#E4E4ED;
    border-right-color: #766DF4;
    animation:s2 1s infinite linear;
}
@keyframes s2 {to{transform: rotate(1turn)}}
.opb-blocker {
    z-index: 1000;
    display: none;
    position: absolute;
    text-align: center;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: transparent;
}

.opb-notification {
    left: 10%;
    opacity: 0;
    color: #999;
    bottom: -50px;
    z-index: 1001;
    max-width: 80%;
    position: fixed;
    cursor: pointer;
    font-size: medium;
    padding: 10px 20px;
    visibility: hidden;
    border: 1px solid rgba(0,0,0,.3);
    transition: all .3s ease;
    background-color: rgba(255,255,255,.8);
}

.opb-property-name {
        text-align: center;
}
.opb-step-instruction {
    text-align: center;
    margin-bottom: 20px;
}
.opb-step-wrap {
    margin: 0 auto;
    width: 90%;
    position: relative;
    padding-top: 5rem;
}
.opb-booking-app-popup #opb-booking {
    overflow: auto;
    padding-bottom: 40px;
    height: 100vh;
}
#closeBookingForm,
#completeBookingForm {
    top: 20px;
    right: 20px;
    position: absolute;
    cursor: pointer;
    z-index: 9999;
}
.closeBookingFormCross,
.completeBookingFormCross {
    width: 20px;
    height: 20px;
    margin: 0;
}
.opb-step-form {
    color: #000;
}
form#opb-booking-form ,
form#opb-booking-form-internal {
    margin: 0 auto;
    position: relative;
    align-items: center;
}

form#opb-booking-form-internal {
    margin: 0 auto;
    position: relative;
    align-items: center;
    max-width: 700px;
}
.backButton{
    display: flex;
    position: absolute;
    left: 0;
    border-radius: 10px;
    padding: 0;
    cursor: pointer;
    font-style: normal;
    color: #faf5e6;
    font-size: .875rem;
    line-height: 1.375rem;
    background-image: url(images/step-back.svg);
    background-position: 0;
    background-repeat: no-repeat;
    top: -4.5rem;
    padding: 10px 31px;
}
.gform_page_footer .gform_previous_button {
    background-color: initial!important;
    color: #faf5e6!important;
}

div#loader {
    display: none;

}

.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 8px solid #fff;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;
    border-color: #6346de transparent transparent transparent;
}

.lds-ring div:nth-child(1) {
    animation-delay: -.45s;
}
.lds-ring div:nth-child(2) {
    animation-delay: -.3s;
}
.lds-ring div:nth-child(3) {
    animation-delay: -.15s;
}

h2.book-a-viewing-header {
    position: relative;
    top: -12px;
    color: #faf5e6;
    color: rgb(250 245 230/1);
    font-size: 2.5rem;
    line-height: 2.75rem;
}
.opb-app-internal ul,
.opb-app ul {
    margin: 0;
    padding: 0;
    list-style: none outside;
}
ul#progressbar{
    margin-bottom: 4.5rem;
    margin-top: 3rem;
    overflow: hidden;
    width: 100%;
    column-gap: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
ul#progressbar li {
    list-style-type: none;
    background-color: #faf5e6;
    width: calc(20% - 8px);
    height: 4px;
    position: relative;
}
ul#progressbar.extrabar li {
    list-style-type: none;
    background-color: #faf5e6;
    width: calc(16.6% - 8px);
    height: 4px;
    position: relative;
}
ul#progressbar.extrabar2 li {
    list-style-type: none;
    background-color: #faf5e6;
    width: calc(14.29% - 8px);
    height: 4px;
    position: relative;
}
ul#progressbar li.active {
    background-color: #ff6400;
}
.booking-form-amends {
    background-color: #faf5e6;
    border: solid 1px #000;
    padding-bottom: 0.5rem;
    padding-top: 4rem;
    margin-top: -2rem;
}
#opb-booking-internal .booking-form-amends {
    margin-top: 10px;
}
.opb-booking-internal-step{
    padding: 20px
}

#opb-booking-form fieldset,
#opb-booking-form-internal fieldset  {
    background: 0 0;
    border: 0;
    box-sizing: border-box;
    width: 100%;
}
.opb-app-internal .opb-form-field,
.opb-app .opb-form-field {
    position: relative;
    margin-bottom: 10px;
}

.opb-app-internal .opb-field-single-choice>h3, 
.opb-app-internal .opb-field-single-choice>div,
.opb-app .opb-field-single-choice>h3{
    color: #000;    
    line-height: 1.4em;
    margin-bottom: 30px;
    font-weight: 800;
    font-size: 1.05rem;
    color: #474746;
    margin: 20px 0; 
}


.opb-app-internal .opb-field-single-choice>h3,
.opb-app .opb-field-single-choice>h3,
.opb-app .opb-field-single-choice>div h3,
.opb-app .fs-dates-wrapper h3,
.opb-app #opb-booking-details-wrap h3,
.opb-app #fs-booking-submit h3{
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 400;
    font-family: signifier,serif;
    color: #000;
    padding-left: 1rem;
    margin-top: 0;
    margin-bottom: 30px;
}

.opb-app .fs-dates-wrapper h3{
    margin-bottom: 2rem;
}

.opb-app #opb-booking-details-wrap h3 {
    padding-left: 0;
    margin-bottom: 20px;
}

.opb-app #fs-booking-submit h3 {
    margin-bottom: 0;
}

.book-a-viewing-header,
.default-page .book-a-viewing-header {
    color: #faf5e6;
    font-size: 30px;
    line-height: 1.4em;
    margin-bottom: 20px;
    margin-top: 0;
}
.default-page .book-a-viewing-header:after,
.book-a-viewing-header:after {
    content: none;
}

.opbw.opbw_bf_booking_mediums.opbw_radio {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
}

#opb-booking-form .opb-field-single-choice .opbew_radio label,
#opb-booking-form-internal .opb-field-single-choice .opbew_radio label  {
    border: solid 1px #000;
    display: block;
    width: 100%;
    cursor: pointer;
    margin-bottom: 10px !important;
    margin: 0;
    padding: 15px 30px;
    font-family: fold-grotesque-regular,sans-serif;
    background: #000;
    color: #faf5e6;
    font-weight: 400;
    font-size: 16px;
    line-height: 25px;
    text-align: center;
}

#opb-booking-form .opb-field-single-choice .opbew_radio label:hover,
#opb-booking-form-internal .opb-field-single-choice .opbew_radio label:hover  {
    background: #faf5e6;
    border: 1px solid #000;
    color: #000!important;
}

.opbew_radio label input {
    width: 0;
    height: 0;
}

.opb-btn, a.opb-btn {
    cursor: pointer;
    margin: 0;
    outline: none;
    color: #000;
    font-size: 14px;
    overflow: hidden;
    line-height: 18px;
    padding: 10px 20px;
    border-radius: 2px;
    position: relative;
    background-color: #fff;
    display: inline-block;
    box-sizing: border-box;
    transition: .3s all ease;
}
.opb-app-internal .opb-field-single-choice .opb-btn,
.opb-app .opb-field-single-choice .opb-btn {
    color: #000;
    margin: auto;
}
.opb-app-internal .opb-field-single-choice .opb-btn,
.opb-app .opb-field-single-choice .opb-btn, .popup-btn {
    background: #000;
    color: #faf5e6;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    border: 0;
    display: block;
    cursor: pointer;
}
.opb-app-internal .opb-field-single-choice .opb-btn.opb-selected,
.opb-app .opb-field-single-choice .opb-btn.opb-selected {
    background: #ff6400;
}
.opb-app.opb-loaded.opb-step-booking .opb-booking-medium-item.opb-btn.opb-text-normal {
    margin: 20px 10px;
    padding: 20px 40px;
}
.opb-app-internal.opb-loaded.opb-step-booking .opb-booking-medium-item.opb-btn.opb-text-normal, 
.opb-app-internal .opb-booking-apartment-type-item, 
.opb-app-internal .opb-booking-apartment-item, 
.opb-app-internal .opb-booking-time-item, 
.opb-app-internal .opb-booking-medium-item,
.opb-app.opb-loaded.opb-step-booking .opb-booking-medium-item.opb-btn.opb-text-normal, 
.opb-app .opb-booking-apartment-type-item, 
.opb-app .opb-booking-apartment-item, 
.opb-app .opb-booking-time-item, 
.opb-app .opb-booking-medium-item {
    margin: 0;
    padding: 10px;
}

.apartment-type-text span {
    padding-top: 1rem;
    font-size: 16px;
    line-height: 1px !important;
    color: #000;
}

#opb-booking-form #fs-booking-dates .booking-dates-wrapper,
#opb-booking-form-internal #fs-booking-dates .booking-dates-wrapper {
    width: 100%;
    font-weight: 400;
    font-size: 16px;
    line-height: 30px;
    text-align: center;
    color: #000
}

.date-time-wrapper {
    display: flex;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
}

.opb-booking-calendar {
    min-width: 64%;
    box-sizing: border-box;
    border-right: 1px solid #000;
}

#fs-booking-dates .buttons-container {
    margin-bottom: 0;
    padding-bottom: 0.5rem;
    padding-top: 0.5rem;
}
#fs-booking-dates .weeks-wrapper.header, #fs-booking-dates .buttons-container {
    border-bottom: none;
    padding-bottom: 2px;
}
.buttons-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.buttons-container {
    cursor: pointer;
}

.prev-button, .next-button {
    width: 30px;
    height: 30px;
    overflow: hidden;
    text-indent: -1000px;
    position: relative;
}

.prev-button:before {
    border: 1.5px solid #000;
    transform: rotate(-130deg);
    border-left: 0;
    border-bottom: 0;
    left: 12px;
}
.prev-button:before, .next-button:before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    left: 12px;
    top: 11px;
}
#fs-booking-dates .week .day.header, #fs-booking-dates .buttons-container .label-container {
    text-transform: capitalize;
}
span.label-container.month-container {
    pointer-events: none;
}
.buttons-container .label-container {
    display: inline-block;
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    text-transform: uppercase;
    font-weight: bold;
}

.buttons-container .label-container {
    font-weight: 400;
    font-size: 16px;
    line-height: 30px;
    text-align: center;
    color: #000;
}
.prev-button, .next-button {
    width: 30px;
    height: 30px;
    overflow: hidden;
    text-indent: -1000px;
    position: relative;
}

.next-button:before {
    border: 1.5px solid #000;
    transform: rotate(50deg);
    border-left: 0;
    border-bottom: 0;
    left: 9px;
}
.prev-button:before, .next-button:before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    left: 12px;
    top: 11px;
}
#fs-booking-dates .weeks-wrapper.header, #fs-booking-dates .buttons-container {
    border-bottom: none;
    padding-bottom: 2px;
}
#fs-booking-dates .week .day.header {
    font-weight: 400;
    font-size: 15px;
    line-height: 25px;
    text-align: center;
    color: #000;
    opacity: .9;
}
#fs-booking-dates .day {
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #000;
}
#fs-booking-dates .day span {
    border-radius: 4px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
}
.calendar-box .selected {
    background: unset!important;
}
#fs-booking-dates .selected span {
    font-size: 16px;
    background: #ff6400;
}

div#opb-booking-times-wrap .opb-booking-times button.opb-booking-time-item {
    margin: 0;
    margin-bottom: 10px;
}
.opb-app-internal .opb-booking-call-us, 
.opb-app-internal .opb-booking-call-us p,
.opb-app .opb-booking-call-us, 
.opb-app .opb-booking-call-us p {
    display: -webkit-flex;
    display: block;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: left;
    color: #000;
    padding: 1rem 0.5rem;
}

a.call-us {
    color: #6346de;
    text-decoration: underline;
}

.opb-step-wrap .opb-booking-waitlist {
    font-weight: 700;
    margin: 30px auto 10px;
    display: flex;
    flex-direction: column;
    padding-left: 1rem;
    padding-right: 1rem;
}

.opb-step-wrap .opb-booking-waitlist a.opb-waitlist-open {
    font-weight: 400;
    line-height: 25px;
    color: #6346de;
    display: block;
    cursor: pointer;
    text-decoration: underline;
}

.opb-step-wrap .opb-text-centered {
    text-align: center;
}

#calendar-next:not(.disabled), #details-next:not(.disabled), #flexible-next:not(.disabled), #apartment-type-next:not(.disabled), #affordability-next:not(.disabled)  {
    background: #000;
    cursor: pointer;
}
#calendar-next {
    width: 95%;
}
#calendar-next, #details-next, #flexible-next, button#bv-btn-ga, #apartment-type-next, #affordability-next {
    width: 100%;
    margin-bottom: 2rem;
    background-color: #000;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    line-height: 21px;
    text-align: center;
    letter-spacing: .02em;
    color: #faf5e6;
    padding: 0.75rem 0;
    cursor: pointer;
    font-family: 'Lota Grotesque', sans-serif;
}

.disabled-btn {
    background: #6b6b6b!important;
    pointer-events: none!important;
}

.mobile-only {
    display: none;
}
div#opb-confirmation-internal {
    margin-top: 50px;
    max-width: 40%;
    margin-left: auto;
    margin-right: auto;
}
#opb-booking-internal #opb-booking-details, #opb-booking-internal .booking-dates-wrapper, #opb-booking-internal #opb-viewing-source-wrap, #opb-booking-internal #opb-field-booking_customer_message, #opb-booking-internal .opb-field-submit, #opb-booking-internal .opb-booking-form-internal-heading{
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
}

#opb-booking-internal  div#opb-field-booking_customer_message {
    margin-bottom: 50px !important;
}

#opb-booking-internal .opb-form-field {
    margin-bottom: 15px;
}

#opb-booking-internal .apartment-type-text h3 {
    margin-bottom: 0;
}

#opb-booking-internal .opb-booking-apartment-types {
    margin-top: 20px;
}

.opb-app .opb-field-single-choice .apartment-type-text div {
    font-size: .875rem;
    line-height: 1.375rem;
    font-family: fold-grotesque-regular,sans-serif;
    color: #000;
    padding-top: 0;
    padding-left: 1rem;
    text-align: left;
}

.opb-app .opb-field-single-choice>div h3 {
    margin-bottom: 10px!important;
}

.opb-app .opb-field-single-choice .apartment-type-text {
    margin-bottom: 30px;
}

#opb-booking-details-wrap {
    width: 95%;
    margin: 0 auto;
}


div#opb-booking-times-wrap {
    padding: 10px 20px;
    width: 100%;
}

div#opb-booking-times-wrap .opb-flex-centered {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
div#opb-booking-times-wrap .opb-booking-times {
    margin-bottom: 0!important;
    column-gap: 6px;
    row-gap: 1rem;
    margin-bottom: 20px;
    margin-bottom: 30px;
}

div#opb-booking-times-wrap .opb-booking-times button.opb-booking-time-item {
    outline: unset!important;
    box-shadow: none;
    background: #000;
    border: solid 1px #000;
    display: block;
    margin: 0 auto!important;
    width: 100%;
    cursor: pointer;
    padding: 12px 0;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #faf5e6;
    max-width: 42%!important;
    margin-top: 0!important;
}

div#opb-booking-times-wrap .opb-booking-times button.opb-booking-time-item:hover {
    background: #faf5e6;
    border: 1px solid #000;
    color: #000!important;
}

div#opb-booking-times-wrap .opb-booking-times button.opb-booking-time-item.opb-selected {
    background: #ff6400;
    border: solid 1px #ff6400;
    color: #fff!important;
}


div#calendar-next {
    width: 95%;
}

.opbw.opbw_booking_apartment_type.opbw_radio,
.opb-app-internal.opb-loaded.opb-step-booking .opb-booking-details-center,
.opb-app.opb-loaded.opb-step-booking .opb-booking-details-center {
    width: 100%;
}
.opb-text-center {
    text-align: center;
}
.opb-app-internal .opb-form-field,
.opb-app .opb-form-field {
    position: relative;
    margin-bottom: 10px;
}
#opb-booking-form #fs-booking-details label,
#opb-booking-form-internal #fs-booking-details label {
    margin-bottom: 5px;
    color: #000;
    font-family: fold-grotesque-regular,sans-serif;
}

#opb-booking-form label,
#opb-booking-form-internal label {
    display: block;
    margin-bottom: 8px;
    text-align: left;
}
#opb-booking-form label,
#opb-booking-form-internal label {
    font-size: 14px;
    font-weight: 300;
    display: block;
    line-height: 1.375rem;
    margin-bottom: 10px;
}

#opb-booking-form input[type=text], 
#opb-booking-form input[type=password], 
#opb-booking-form input[type=date], 
#opb-booking-form input[type=datetime], 
#opb-booking-form input[type=email], 
#opb-booking-form input[type=number], 
#opb-booking-form input[type=search], 
#opb-booking-form input[type=tel], 
#opb-booking-form input[type=time], 
#opb-booking-form input[type=url], 
#opb-booking-form textarea,
#opb-booking-form-internal input[type=text], 
#opb-booking-form-internal input[type=password], 
#opb-booking-form-internal input[type=date], 
#opb-booking-form-internal input[type=datetime], 
#opb-booking-form-internal input[type=email], 
#opb-booking-form-internal input[type=number], 
#opb-booking-form-internal input[type=search], 
#opb-booking-form-internal input[type=tel], 
#opb-booking-form-internal input[type=time], 
#opb-booking-form-internal input[type=url], 
#opb-booking-form-internal textarea {
    border: none;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #000;
    height: 55px;
    margin: 0;
    outline: 0;
    padding: 15px;
    width: 100%;
    margin-bottom: 0;
    background: #faf5e6;
    border: 1px solid #000;
    text-align: left;
}
.opb-app-internal .opb-input-text, .opb-app-internal .opb-input-email, .opb-app-internal .opb-input-number, .opb-app-internal .opb-input-password, .opb-app-internal .opb-textarea,
.opb-app .opb-input-text, .opb-app .opb-input-email, .opb-app .opb-input-number, .opb-app .opb-input-password, .opb-app .opb-textarea {
    color: #333;
    width: 100%;
    height: auto;
    font-size: 16px;
    line-height: 18px;
    padding: 12px 15px!important;
    border-radius: 2px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    transition: .3s all ease!important;
}

#opb-booking-form select#ubvb-moving-within,
#opb-booking-form-internal select#ubvb-moving-within {
    background: url(images/ico-select-arrow.svg) no-repeat right 15px center;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}

#opb-booking-form #fs-booking-submit .detail-wrap-summery,
#opb-booking-form-internal #fs-booking-submit .detail-wrap-summery  {
    margin: 0 auto;
    width: 100%;
    padding: 1rem;
}
.detail-wrap {
    margin-bottom: 20px;
}
.detail-wrap-top {
    display: flex;
    justify-content: space-between;
}

.heading-label {
    font-style: normal;
    font-size: 14px!important;
    line-height: 20px;
    color: #515050;
    padding-bottom: 1rem;
}
.edit-btn {
    font-family: lota grotesque;
    font-style: normal;
    font-weight: 400;
    font-size: 16px!important;
    line-height: 20px;
    text-decoration: underline!important;
    color: #000;
    cursor: pointer;
}

.detail-wrap-info .viewing-info {
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #000;
}

.detail-wrap-info * {
    text-align: left!important;
    color: #000;
    line-height: 1.5rem;
}
.opb-app .opb-form-field {
    position: relative;
    margin-bottom: 25px;
}
#opb-booking-form .opb-field-submit,
#opb-booking-form-internal .opb-field-submit  {
    text-align: center;
}
.opb-field-error {
    color: red;
    font-size: 13px;
}
#opb-booking-form #fs-booking-submit .opb-field-submit,
#opb-booking-form-internal #fs-booking-submit .opb-field-submit {
    margin: 30px 0 0;
}
a.opb-booking-button-elm {
    padding: 15px 25px;
    background: #000;
    color: #fff!important;
    display: flex;
    max-width: 200px;
    text-align: center;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_page_steps {
    border-bottom: 0;
    height: 20px;
    margin-bottom: 0;
    position: relative;
    top: 10px;
    width: 100%;
    display: block;
    text-align: center;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_step {
    margin: 8px 9px 8px 0;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_step_number {
    display: none;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_page_steps .gf_step_active, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_step_completed {
    background: #ff6400;
    height: 4px;
    width: 20%;
}


.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_page_steps .gf_step_pending {
    background: #fff;
    height: 4px;
    width: 20%;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform-body {
    background-color: #faf5e6;
    border: 1px solid #000;
    margin-top: 32px;
    padding: 16px;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #gform_fields_4_2, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields {
    max-width: none;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_label {
    margin-top: 1.75rem;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform-field-label {
    /* text-transform: capitalize; */
    font-weight: bold;
    font-size: 1rem;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields #field_4_18 .gfield_label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields #field_4_20 .gfield_label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields #field_4_27 .gfield_label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields #field_4_31 .gfield_label {
    font-family: signifier!important;
    font-size: 24px!important;
    font-weight: 400;
    padding-bottom: 24px;
    padding-top: 40px;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_checkbox .gfield-choice-input, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_radio .gfield-choice-input {
    display: none;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform-field-label {
    /* text-transform: capitalize; */
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_radio label {
    font-family: signifier;
    font-size: 16px;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield-choice-input+label {
    background: #000;
    border: 1px solid #000;
    color: #faf5e6;
    cursor: pointer;
    font-size: 16px;
    margin-bottom: 16px;
    max-width: none;
    padding: 16px 0;
    text-align: center;
    width: 100%;
    border-radius: unset;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_checkbox input[type=checkbox]:checked+label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_radio input[type=radio]:checked+label {
    background-color: #ff6400;
    border: #ff6400;
    color: #fff;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_footer {
    margin: 6px 0 0;
    padding: 24px 0;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #gform_submit_button_4:hover, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #gform_submit_button_5:hover, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_next_button:hover {
    background: #faf5e6;
    border: 1px solid #000;
    color: #000 !important;
    cursor: pointer;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield-choice-input+label:hover {
    background: #faf5e6;
    border: 1px solid #000;
    color: #000;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #gform_fields_4_2, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields {
    max-width: none;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #gform_submit_button_4, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #gform_submit_button_5, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_next_button {
    background: #000;
    border: 1px solid #000;
    color: #faf5e6;
    margin-left: 0;
    padding: 14px;
    text-align: center;
    width: 100%;
    max-width: 100%;
    border-radius: unset;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #field_4_29, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme #field_4_30 {
    grid-column: span 12;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield_label {
    margin-top: 1.75rem;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform-field-label {
    /* text-transform: capitalize; */
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .field_4_29 .gfield_label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .field_4_30 .gfield_label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page #gform_fields_4_2 .gfield_label, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page #gform_fields_4_4 .gfield_label {
    font-family: fold-grotesque-regular;
    font-size: 14px;
    padding-bottom: 0;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .ginput_container_select .gfield_select {
    /* -webkit-appearance: none;
    appearance: none;
    background: url(/app/themes/uncle/public/images/dropdown-black.1dcadceb0522ca18.png) no-repeat 97%;*/
    background-color: initial;
    background-size: 25px; 
    border: 1px solid #000;
    padding: 16px;
    width: 100%;
    max-width: 100%;
    border-radius: unset;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield input.large, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gfield select.large, .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme input[type=email], .opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme input[type=text] {
    background-color: initial !important;
    border: 1px solid #000 !important;
    padding: 16px;
    width: 100% !important;
    border-radius: 0 !important;
    max-width: 100% !important;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields .gfield_checkbox {
    display: block;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gform_page_fields .gfield_checkbox .gchoice {
    margin-left: 0;
}

#gform_confirmation_wrapper_4, #gform_confirmation_wrapper_5 {
    position: relative;
    top: 137px;
}
#gform_confirmation_message_4, #gform_confirmation_message_5 {
    background: #faf5e6;
    border: 1px solid #000;
    font-size: 18px;
    padding: 16px 16px 120px;
    position: relative;
    top: -48px;
    margin: 0;
    width: 100%;
    max-width: 100%;
    border-radius: 0;
}
#gform_confirmation_wrapper_4 h3, #gform_confirmation_wrapper_5 h3 {
    font-family: signifier!important;
    font-size: 24px!important;
    font-weight: 400;
    padding-bottom: 24px;
    padding-top: 24px;
}

#gform_confirmation_message_4:after, #gform_confirmation_message_5:after {
    background-color: #000;
    border: 1px solid #000;
    bottom: 16px;
    color: #faf5e6;
    content: "Close";
    cursor: pointer;
    left: 14px;
    padding: 16px;
    position: absolute;
    text-align: center;
    width: 100%;
    max-width: 100%;
    width: unset;
    right: 14px;
}


.opb-booking-app-popup #opb-booking  .gform_wrapper.gravity-theme .gf_step + .gf_step::before, .opb-booking-app-popup #opb-booking  .gform_wrapper.gravity-theme .back-button-gform:before {
    display: none;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .gf_step_label {
    display: table-cell;
    vertical-align: middle;
}

.gform_page_footer .gform_previous_button {
    cursor: pointer;
    font-size: 14px;
    left: 7px;
    position: absolute;
    top: -53px;
    width: 100px;
}

.backButton, .gform_page_footer .gform_previous_button {
    background-color: initial!important;
    background-image: url(images/step-back.svg);
    background-position: 0;
    background-repeat: no-repeat;
    color: #faf5e6!important;
}

.gform_wrapper.gravity-theme .gform_previous_button.button, .gform_wrapper.gravity-theme .gform_save_link.button {
    -webkit-appearance: none!important;
    background-color: #fff;
    color: #6b7280;
    text-decoration: none;
}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .back-button-gform {
    background: transparent;
    border: 0;
}

/* .opb-booking-app-popup #opb-booking  .gform_wrapper.gravity-theme .gform_previous_button {
    color: #fff !important;
    left: 7px;
    position: absolute;
    top: 25px;
} */

.opb-booking-app-popup #opb-booking .gform_required_legend{
    display: none;
}

div#opb-confirmation .opb-step-wrap .font-header h2 {
    font-size: 6rem;
    line-height: 5.25rem;
    color: #faf5e6;
    text-transform: uppercase;
    font-family: schmal,serif;
    padding-bottom: 5rem;
    padding-top: 5rem;
    padding-left: 2rem;
    padding-right: 2rem;
    background: #000;
    top: 0;
    margin-bottom: 0;
}

div#opb-confirmation .opb-step-wrap .confirmation-content {
    background: #faf5e6;
    margin: -40px 32px 32px;
    text-align: left;
    width: 90%;
    position: relative;
    padding: 1rem;
    border: 1px solid #000;
}

div#opb-confirmation .opb-step-wrap .confirmation-content h2.opb-property-name {
    font-size: 1.5rem;
    line-height: 2rem;
    font-family: signifier,serif;
    margin-bottom: 20px;
}

.opb-step-confirmation .opb-step-wrap {
    width: 100%;
    padding: 0;
}

div#opb-confirmation .opb-step-wrap .confirmation-content .booking-confirmation {
    font-size: 1.5rem;
    line-height: 2rem;
}

div#opb-confirmation .opb-step-wrap .confirmation-content .booking-confirmation .confirmation-title {
    text-align: left;
    color: #000;
    padding-bottom: 32px;
}


div#opb-waiting-popup p.gform_required_legend {
    display: none;
}

#opb-waiting-popup h2.book-a-viewing-header {
    margin: 0;
}

.week .day[disabled="disabled"] span {
    color: #aaa;
    cursor: not-allowed;
    text-decoration: line-through;
}

.day.today span::after {
    display: none;
}

@media only screen and (max-width: 1440px) {
    div#opb-confirmation .opb-step-wrap .font-header h2 {
        font-size: 3.5rem;
        line-height: 3rem;
    }
  
    div#opb-confirmation .opb-step-wrap .confirmation-content .booking-confirmation {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }
}

@media only screen and (max-width: 768px) {
    div#opb-confirmation .opb-step-wrap .confirmation-content .booking-confirmation {
        padding: 15px;
    }

    div#opb-booking-times-wrap {
    padding: 20px 20px;
    width: 100%;
}
    .date-time-wrapper {
        display: flex;
        flex-wrap: wrap;
        border-top: solid 1px #000;
        border-bottom: solid 1px #000;
    }

    .opb-booking-calendar {
        min-width: 64%;
        flex: auto;
        box-sizing: border-box;
        border-right: 1px solid #000;
                border-bottom: solid 1px #000;
    }
}

#opb-booking-details-wrap .circles-slider .ui-slider-pip.ui-slider-pip-first .ui-slider-label,
#opb-booking-details-wrap .circles-slider .ui-slider-pip.ui-slider-pip-last .ui-slider-label {

    left:1em;
    top: 2.5em;
    color:black;
    font-weight: normal;
}

#opb-booking-details-wrap .circles-slider .ui-slider-pip.ui-slider-pip-last .ui-slider-label {

    left:-1em;

}

#opb-booking-details-wrap .ui-slider-pips [class*=ui-slider-pip-selected]{

 color: #ff6400!important;
}

#opb-booking-form select,
#opb-booking-form-internal select {


    background-repeat: no-repeat;
    background-position: right 10px center; /* Adjust as needed */
    background-size: 16px 16px; /* Adjust size as needed */
    padding-right: 30px; /* Ensure text doesn't overlap the arrow */
    appearance: none; /* Remove default arrow in some browsers */
    -webkit-appearance: none; /* Remove default arrow in webkit browsers */
    -moz-appearance: none; /* Remove default arrow in Mozilla browsers */
    border: 1px solid #ccc; /* Example border */
    padding: 10px; /* Example padding */
    font-size: 16px; /* Example font size */
    border-radius: 4px; /* Example border radius */
}
#opb-booking-form .ginput_container_consent,
#opb-booking-form-internal .ginput_container_consent{
    margin-top:30px;
}
#opb-booking-form .ginput_container_consent label,
#opb-booking-form-internal .ginput_container_consent label {
        position: relative;
}

#opb-booking-form div.circles-slider,
#opb-booking-form-internal div.circles-slider{
    margin: 21px 0px!important;
}

#opb-booking-form input[type=number],
#opb-booking-form-internal input[type=number]{
    height: 50px;
    width: 120px;
}
#opb-booking-form .opb_booking_customer_phone,
#opb-booking-form-internal .opb_booking_customer_phone{
    height: 50px;
    width: 100%!important;
}
#opb-booking-form .gform_footer,
#opb-booking-form-internal .gform_footer{
display:none;
}

#opb-booking-form .ui-slider-tip,
#opb-booking-form-internal .ui-slider-tip{
    display:none;
}


/* Custom Checkbox Style */
/* Target the custom checkbox */
.custom-checkbox .ginput_container_consent input[type="checkbox"] {
  display: none; /* Hide the default checkbox */
}

/* Create a custom checkbox */
.custom-checkbox .ginput_container_consent label.gform-field-label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #FF6400; /* Customize border color */
  border-radius: 4px; /* Rounded corners */
  margin-right: 10px;
  vertical-align: middle;
  transition: background-color 0.3s, border-color 0.3s;
}

/* Style the checked state */
.custom-checkbox .ginput_container_consent input[type="checkbox"]:checked + label.gform-field-label::before {
  background-color: #FF6400; /* Customize background color */
  border-color: #FF6400; /* Customize border color */
}


/* Optional: Add a checkmark */
.custom-checkbox .ginput_container_consent input[type="checkbox"]:checked + label.gform-field-label::after {
  content: '\2713'; /* Unicode for checkmark */
  position: absolute;
  left: 3px;
  top: 2px;
  font-size: 16px;
  color: white; /* Customize checkmark color */
}


.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme  .joinwaitlist__form .gform_body{
    margin-top:45px;
    padding-left: 20px;
    padding-right: 20px;
}


.joinwaitlist__form {
    border: solid 1px black;
    margin-top: 27px;
}

#opb-booking-details-wrap .circles-slider .ui-slider-pip.ui-slider-pip-first .ui-slider-label,
#opb-booking-details-wrap .circles-slider .ui-slider-pip.ui-slider-pip-last .ui-slider-label {

    left:1em;
    top: 2.5em;
    color:black;
    font-weight: normal;
}

#opb-booking-details-wrap .circles-slider .ui-slider-pip.ui-slider-pip-last .ui-slider-label {

    left:-1em;

}

#opb-booking-details-wrap .circles-slider  .ui-slider-pips .ui-slider-pip-selected-2{

 color: #ff6400!important;
}

   #opb-booking-form select,
   #opb-booking-form-internal select  {


            background-repeat: no-repeat;
            background-position: right 10px center; /* Adjust as needed */
            background-size: 16px 16px; /* Adjust size as needed */
            padding-right: 30px; /* Ensure text doesn't overlap the arrow */
            appearance: none; /* Remove default arrow in some browsers */
            -webkit-appearance: none; /* Remove default arrow in webkit browsers */
            -moz-appearance: none; /* Remove default arrow in Mozilla browsers */
            border: 1px solid #ccc; /* Example border */
            padding: 10px; /* Example padding */
            font-size: 16px; /* Example font size */
            border-radius: 4px; /* Example border radius */
        }
        #opb-booking-form .ginput_container_consent,
        #opb-booking-form-internal .ginput_container_consent{
            margin-top:30px;
        }
        #opb-booking-form .ginput_container_consent label,
        #opb-booking-form-internal .ginput_container_consent label  {
                position: relative;
    top: -1.4rem;

        }

        #opb-booking-form div.circles-slider,
        #opb-booking-form-internal div.circles-slider{
            margin: 21px 0px!important;
        }

        #opb-booking-form input[type=number],
        #opb-booking-form-internal input[type=number]{
            height: 50px;
            width: 120px;
        }



#gform_5 legend.gfield_label{
  font-size: 1.5rem!important;
    line-height: 2rem!important;
    font-weight: 400!important;  
    font-family: signifier, serif!important;
    color: #000!important;
    padding-left: 1rem!important;
    text-transform: none!important;
    margin-top:0px!important;
}

.opb-booking-app-popup #opb-booking #gform_5 .gform_wrapper.gravity-theme .gform-field-label{

}

.opb-booking-app-popup #opb-booking .gform_wrapper.gravity-theme .joinwaitlist__form .gform_body{
    margin-top: 40px;
    padding-top:40px;
}
/* Stafferton Sticky Pricing Updates - Start */
.apartment-type-rent{
    padding: 10px;
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
    text-align: center;
    gap: 10px;
 }
 .apartment-type-rent.visible{
    border: 1px solid black;
 }
 .apartment-type-rent img{
    object-fit: cover;
 }
 @media only screen and (min-width: 500px) {
    .apartment-type-rent img{
        margin-left: -110px;
    }
 }
 .apartment-type-rent span{
    font-style: italic;
    font-size: 0.875rem;
    line-height: 32px;
 }
/* Stafferton Sticky Pricing Updates - End */
/* Stafferton Calendar Call us CTA - Start */
.opb-call-us-cta .call-us-container{
	display: none!important;
}

.opb-call-us-cta .call-us-cta-container{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 12px;
}

.call-us-cta-container {
	display: none;
}

.opb-call-us-cta.opb-booking-call-us p .call-us-cta-container{
	  display: flex!important;
    flex-direction: row;
    align-items: center;
}

.call-us-cta-btn-container{
	display: flex;
	min-width: 165px;
}

.call-us-cta-btn-container a{
	padding-left: 20px;
	padding-right: 20px;
}

.call-us-cta-btn-container a>div{
	justify-content: center;
}
/* Stafferton Calendar Call us CTA - End */
/* Stafferton Advanced Phone Number field - Start */
.iti.iti--allow-dropdown.iti--separate-dial-code.iti--show-flags {
    width: 100%;
 }
 
 .iti__flag-container {
    max-height: 55px;
 }
/* Stafferton Advanced Phone Number field - End */

.affordability-criteria-gform input[type=text], .affordability-criteria-gform input[type=email]{
    padding: 15px!important;
    width: 100%!important;
    border: 1px solid #000!important;
}

.affordability-criteria-gform input[type=tel] {
    padding: 15px;
    width: 100%!important;
    border: 1px solid #000!important;
}

.affordability-criteria-gform .gfield_label {
    font-size: 14px!important;
    margin-bottom: 5px!important;
    margin-top: 25px!important;
    font-weight: 300!important;
}

.affordability-criteria-desc{
    line-height: 24px;
}

.affordability-criteria-desc-student {
    display: none;
}

.custom-section-header h3{
    font-family: inherit!important;
    font-weight: bold!important;
    font-size: 1rem!important;
    line-height: 1.375rem!important;
    margin-bottom: 0px!important;
}

#gform_confirmation_message_4:after{
    display: none!important;
}