.recras-onlinebooking img {
    height: auto;
    max-height: 50vh;
    max-width: 100%;
}

.recras-datetime {
    -ms-grid-columns: 1fr 12em;
    grid-template-columns: 1fr 12em;
}
.recras-onlinebooking ul {
    margin-top: 0.5em;
}

.recras-onlinebooking button:not(:disabled) {
    cursor: pointer;
}
.recras-onlinebooking button:disabled {
    cursor: not-allowed;
}
.recras-price, .priceSubtotal {
    text-align: right;
}
.recras-onlinebooking input:not([type="checkbox"]):not([type="radio"]), .recras-onlinebooking select, .recras-onlinebooking textarea,
.recras-discounts input:not([type="checkbox"]):not([type="radio"]), .recras-discounts select, .recras-discounts textarea {
    font: inherit;
}
.priceWithoutDiscount, .priceWithDiscount {
    font-weight: bold;
}
.recras-contactform-required::after {
    content: '*';
}

.recras-product-dependency, .maximum-amount, .minimum-amount, .booking-error {
    color: #a00;
    display: block;
}
.recras-input-invalid {
    border-color: #a00;
}

.recras-onlinebooking > *:not(:first-child) + * {
    border-top: 2px solid #d0d0d0;
}


@media (max-width: 640px) {
    .recras-amountsform > div {
        -ms-grid-columns: 1fr 7em;
        grid-template-columns: 1fr 7em;
    }
    .recras-amountsform > div > div:first-child {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1 / 3;
    }
    .recras-contactform > div {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }
}
