.page-template-hostel-form .site-main{
    background-color: #F0EDE1;
    position: relative;
}
.page-template-hostel-form .gform_wrapper form{
    border-radius: 5px;
    margin-bottom: 0;
}
.page-template-hostel-form .site-main .background-hostel{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/hostel-form-bg.png);
    background-position: top -105px left 54%;
    background-repeat: repeat-y;
}
.page-template-hostel-form .gform-theme--framework .gform_validation_errors{
    display: none;
}
.page-template-hostel-form .breadcrumbs{
    display: none;
}
.page-template-hostel-form h1{ 
    font-weight: 700;
    font-size: 30px;
    line-height: 40px;
    letter-spacing: unset;
    font-family: Hind; 
    margin-bottom: 30px;
}
.page-template-hostel-form #hostel-form{
    padding-top: 80px;
    padding-bottom: 100px;
} 
.room-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px 20px; 
}
.room-list .room-item{
    width: calc((100% - 40px) / 3);
    padding-bottom: 56px;    
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.room-list .room-item input{
    height: 50px!important;
}
.room-list .room-item img{
    aspect-ratio: 315 / 252;
    object-fit: cover;
}
.room-list .room-item .room-book{
    position: absolute;
    bottom: 0;
    width: 100%;
}
.room-list .room-item h5{
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
}
.page-template-hostel-form .ginput_container_date,
.page-template-hostel-form .ginput_container_date input{
    width: 100%!important;
}
.page-template-hostel-form .ginput_container_date input{ 
    text-transform: uppercase;
    font-size: 16px!important;
    line-height: 26px!important;
    color: #282828!important;
    padding: 12px 20px!important;
}
.page-template-hostel-form .ginput_container_date input::placeholder{
    color: #959595!important;
}
.page-template-hostel-form span.gfield_required{
    color:#E40000!important
}
.page-template-hostel-form .gform-theme--foundation .gfield label{
    gap: 0px;
}
.room-item input[type=number]::-webkit-outer-spin-button,
.room-item input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.room-item input[type=number] {
    -moz-appearance: textfield;
}
.room-book >div{
    position: relative;    
    display: flex;
    border: 1px solid #D3CFC1;
    align-items: center;
    border-radius: 5px;
    padding: 0 50px 0 70px;
}
.room-book input,
.room-book input:focus{
    padding: 0!important;
    border: none!important; 
    box-shadow: none!important;
    outline: none !important;
}
.room-book .minus{
    position: absolute;
    width: 50px;
    height: 100%;
    cursor: pointer;
    border-right: 1px solid #D3CFC1;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.room-book .disabled svg path{
    stroke: #D3CFC1;
}
.room-book .plus{
    position: absolute;
    width: 50px;
    height: 100%;
    cursor: pointer;
    border-left: 1px solid #D3CFC1;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.room-book:not(.error) .error_quantity{
    display: none;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield.gfield_error input, 
.page-template-hostel-form.gform_wrapper form .gform-body.gform_body .gfield.gfield_error .ginput_complex select, 
.page-template-hostel-form.gform_wrapper form .gform-body.gform_body .gfield.gfield_error .ginput_complex input, 
.page-template-hostel-form.gform_wrapper form .gform-body.gform_body .gfield_error .ginput_container_telephone .iti__selected-flag, .gform-theme--framework .gfield_error.gfield--input-type-datepicker .ginput_container_date input{
    border-color: #E40000;
}
.page-template-hostel-form .gform-theme--framework .password-requirements, 
.page-template-hostel-form .gform-theme--framework .gfield_description:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)).validation_message.gfield_validation_message{
    color: #E40000; 
}
.page-template-hostel-form  .gform_wrapper form .gform-body.gform_body .gfield .ginput_complex select{
    text-align: left;
    padding-left: 20px;
}
.error_quantity{ 
    color: #E40000; 
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    position: absolute;
    margin-top: 8px !important;
}
.room-book.error > div,
.room-book.error .minus,
.room-book.error .plus{
    border-color: #E40000;
}
.room-book.error svg path{
    stroke: #E40000;
}
.hostel-booking-thankyou {
    background: #fff;
    padding: 30px 0 60px;
    text-align: center;
    border-radius: 5px;
}
.page-template-hostel-form .gform_confirmation_message{
    padding-bottom: 20px;
}
.hostel-booking-thankyou .gf_step_pending{
    display: none!important;
}
.hostel-booking-thankyou .thankyou-message{
    max-width: min(600px, 100%);
    margin: 0 auto;
}
.gform_wrapper.gform-theme--foundation .hostel-booking-thankyou .gf_page_steps{
    margin-bottom: 60px;
}
.hostel-booking-thankyou h4{
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    margin-bottom: 6px;
    padding-top: 30px;
}
.gform_wrapper.gform-theme--foundation .hostel-booking-thankyou a.button{
    width: min(315px, 100%);
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    text-align: center;
    padding: 8px 20px 5px;
    text-transform: capitalize;
    display: inline-block;
    border-radius: 50px;
    color: #00ACD7;
    border: 1.5px solid currentColor;
    background-color: transparent;
    transition: all .5s;
    cursor: pointer;
}
.gform_wrapper.gform-theme--foundation .gfield input.gf-telephone::placeholder{
    font-size: 0;
}
.gform_wrapper.gform-theme--foundation .hostel-booking-thankyou a.button:hover{
    background-color: #00ACD7;
    color: #fff;
    border-color: #00ACD7;
}
.gform_wrapper.gform-theme--foundation .hostel-booking-thankyou a.button.is-style-outline{
    background-color: #00ACD7;
    color: #fff;
    border-color: #00ACD7;
}
.gform_wrapper.gform-theme--foundation .hostel-booking-thankyou a.button.is-style-outline:hover{
    background-color: transparent;
    color: #00ACD7;
}
.hostel-booking-thankyou .thankyou-action{
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 30px;
    flex-direction: column;
}
.hostel-booking-thankyou .thankyou-action .button:hover{
    color: #fff !important;
    border-color: #0076BF !important;
    background: #0076BF !important;
}
.gform-theme--framework .gf_step:not(:last-child) .gf_step_label{
    font-size: 0;
}
.gform_wrapper.gform-theme--foundation .gform_page_footer input{
    opacity: 1!important;
}
.selected-room-display{
    display: flex;
    gap: 6px;
    flex-direction: column;
    padding-top: 14px;
}
.selected-room-display .line{
    display: flex;
    gap: 60px; 
}
.selected-room-display .room-booked{
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.selected-room-display .room-booked > div{
    display: flex;
    gap: 54px;
    align-items: center;
    justify-content: space-between;
}
.selected-room-display .line span:first-child,
.selected-room-display .line .title{
    min-width: 120px; 
    width: max-content;  
    display: inline-block;
}
.gform_wrapper form .gform-body.gform_body .gfield.info-booking-room{
    position: relative!important;
    padding-bottom: 40px!important;
    margin-bottom: 40px;
}
.info-booking-room:after{
    content:"";
    width: calc(100% + 80px);
    height: 1px;
    left: -40px;
    position: absolute;
    bottom: 0;
    background: #D3CFC1;
}
.page-template-hostel-form .gform-body h4 {
    font-family: Hind;
    font-size: 16px;
    line-height: 26px;
    font-weight: 700; 
    text-transform: unset;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield--type-html p:not(:last-child),
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield li p:not(:last-child){
    margin-bottom: 26px;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield--type-html p:last-child,
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield li p:last-child{
    margin-bottom: 0;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield.gfield--type-checkbox{
    margin-bottom: 30px;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield.gfield--type-checkbox label{
    margin-left: 15px;
}
.hostel-form-step3-content.gfield ol li{
    margin-bottom: 26px;
}
.hostel-booking-table thead{
    background: #F0EDE1;
}
.hostel-booking-table{
    width: 100%;
    display: flex;
    flex-direction: column;
}
.hostel-booking-table thead tr,
.hostel-booking-table tbody tr{
    font-weight: 400;
    padding: 20px 30px;
    text-align: left;
    display: flex;
    width: 100%;
    gap: 30px;
}
.hostel-booking-table thead th,
.hostel-booking-table tbody td{
    font-weight: 400;
    width: calc((100% - 60px) / 3);
}
.hostel-booking-table tbody tr{
    border-bottom: 1px solid #D3CFC1;
    word-break: break-all;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield .hostel-booking-table  p:not(:last-child){
    margin-bottom: 26px;
}
.page-template-hostel-form .gform-theme--foundation .gfield.step2-description{
    color: #000;
}
.hostel-form-step3-content.gfield ol li:last-child{
    margin-bottom: 0;
}
.page-template-hostel-form .gform-page-footer input:hover{
    background: #0076BF !important;
    border-color: #0076BF !important;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield .ginput_container_telephone .iti__selected-flag{
    padding-top: 14px;
    justify-content: flex-start;
    background: url(../images/icon-down.svg) no-repeat center right 22px !important;
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield.gfield--type-html.gfield--input-type-html.gfield--width-full.gfield_no_follows_desc.field_sublabel_below:not(:first-child){
    border: none;
    padding: 0 !important; 
}
.page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield.gfield--type-html.gfield--input-type-html.gfield--width-full:not(:first-child):nth-last-of-type(2){
    margin-bottom: 30px;
}
.hostel-form-step3-content.gfield ol li:nth-child(n + 10):before{
    left: -8px;
}
@media (min-width: 1200px) {
    #hostel-form.container {
        max-width: 1127px;
    }
}
@media screen and (max-width: 1023px) and (min-width: 640px){
    .company-name label,
    .hostel-form-name legend{
        min-height: 52px;
    }
}
@media screen and (max-width: 639.98px){
    .hostel-form-name .gform-grid-col.gform-grid-col--size-auto{
        flex: 1;
        inline-size: auto;
    }
}
@media screen and (max-width: 767.98px){
    .page-template-hostel-form .site-main .background-hostel{
        background-image: url(../images/hostel-form-bg-mb.png);
    }
    .page-template-hostel-form h1{  
        font-size: 20px;
        line-height: 30px;
    }
    .page-template-hostel-form #hostel-form{
        padding: 40px 21.5px 100px;
    }
    .room-list .room-item{
        width: 100%;
    }
    .page-template-hostel-form .select-date{
        margin-bottom: 20px;
    }
    .page-template-hostel-form .gform-theme--foundation .gfield.room-list,
    .page-template-hostel-form .gform-theme--foundation .gfield.step2-estimate-time,
    .page-template-hostel-form .gform-theme--foundation .gfield.step2-description,
    .page-template-hostel-form .gform-theme--foundation .gfield.step3-label,
    .page-template-hostel-form .gform-theme--foundation .gfield.step2-label,
    .page-template-hostel-form .gform-theme--foundation .gfield.step4-label,
    .page-template-hostel-form .gform-theme--foundation .hostel-booking-step4-content,
    .page-template-hostel-form .gform_wrapper form .gform-body.gform_body .gfield.gfield--type-checkbox{
        margin-bottom: 40px;
    }
    .info-booking-room:after{
        width: calc(100% + 47px);
        left: -23.5px;
    }
    .selected-room-display .room-booked > div{
        flex-direction: column;
        gap: 6px;
        align-items: flex-start;
    }
    .selected-room-display .room-booked{
        gap: 20px;
    }
    .page-template-hostel-form .gform-theme--foundation .gfield label{
        display: block;
    }
    .page-template-hostel-form .gform-theme--foundation .gfield label .gfield_required{
        padding-left: 0;
    }
    .page-template-hostel-form .gform_wrapper form{
        padding-bottom: 40px;
        margin-bottom: 0;
    }
    .hostel-form-step3-content.gfield ol li:last-child{
        margin-bottom: 10px;
    }
    .hostel-booking-table{
        min-width: 670px;
    }
    .page-template-hostel-form .step3-table-content{
        width: 100%;
        overflow-y: auto;
        margin-bottom: 37px;
    }
    .hostel-booking-thankyou img{
        max-width: 96px;
    }
    .gform_wrapper.gform-theme--foundation .hostel-booking-thankyou .gf_page_steps{
        margin-bottom: 40px;
    }
    .hostel-booking-thankyou h4, 
    .hostel-booking-thankyou .thankyou-message,
    .hostel-booking-thankyou .thankyou-action{
        max-width: min(300px, 100%);
        margin-left: auto;
        margin-right: auto;
    }
    .hostel-booking-thankyou{
        padding-bottom: 40px;
    }
    .page-template-hostel-form .gform_confirmation_message{
        padding-bottom: 0;
    }
}