.cny-booking-widget {
    background-color: #f2f5f6;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    padding: 1em;
}


.cny-booking-widget .cny-tour-widget-header {
    display: block;
}

.cny-booking-widget .cny-tour-section {
    border: 1px solid #e6e6e6;
}

.cny-booking-widget .pre-tourgrade-container {
    display: block;
    border-top: 1px solid #e6e6e6;
    padding-top: 10px !important;
    margin-top: 30px;
    padding: 0;
}

.cny-booking-widget .section-title,
.cny-tour-widget .section-title {
    font-family: 'Roboto', sans-serif;
    color: var(--td_text_color, #111111);
    font-weight: 400;
    font-size: 19px;
    line-height: 29px;
    margin: 0
}

.cny-booking-widget .datepicker-container {
    display: block !important;
    height: auto !important;
    width: 280px;
}


.cny-booking-widget .results-container.error,
.cny-booking-widget .results-container.success {
    display: block;
    margin-top: 20px;
}

.cny-booking-widget .results-container.success {
    color: green;
    font-weight: bold;
}

.datepicker-input {
    background-color: white;
    padding: 0 0 0 5px;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
}

.cny-booking-widget .datepicker-container input.tour-date {
    width: 90%;
    border: none;
    outline: none;
    text-align: left;
    font-weight: normal;
}

.datepicker-container input.tour-date::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #222;
    opacity: 1;
    font-weight: normal;
    /* Firefox */
}

.datepicker-container input.tour-date:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #222;
    font-weight: normal;
}

.datepicker-container input.tour-date::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #222;
    font-weight: normal;
}

.group-selection {
    border: 1px solid #e6e6e6;
    margin-bottom: 10px;
    border-radius: 5px;
    width: 100%;
    margin-top: 10px;
    background-color: white;
}

.group-selection.active {
    border: 1px solid black;
}

.group-selection label {
    font-weight: bold;
    font-size: 16px;
    width: 100%;
    display: block;
    padding: 10px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.group-selection label .ticket-description {
    font-weight: normal;
    font-size: 14px;
    width: 100%;
    margin-bottom: 5px;

}


.slot-picker-form {
    padding: 10px;
    display: flex;
    justify-content: space-between;
}

.slot-picker-form i {
    display: block;
    margin: auto -5px auto -5px;
}

.slot-picker {
    -webkit-appearance: none;
    font-weight: normal;
    text-align: left;
    padding: 0 5px;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
    height: 40px;
    width: 95%;
    cursor: pointer;
    font-size: 16px !important;
    display: block;
}

.slot-picker-form .choices {
    width: 95%;
}

.slot-picker-form .choices .choices__inner {
    border-radius: 5px;
    min-height: 40px !important;
    padding: 4px !important;
    background-color: white;
    color: black;
}

.slot-picker-form .choices__placeholder {
    opacity: 1 !important;
}

.choices__list--dropdown {
    transform: translate3d(0, 0, 200px);
}

.slot-picker-form .is-open .choices__inner {
    border-radius: 5px 5px 0 0 !important;
    background-color: white;
}

.slot-picker:focus {
    outline: none;
}

.group-selection input[type="radio"] {
    margin-right: 10px;
}

.group-selection.hide,
.slot-selection.hide,
.ticket-option.hide,
.slot-picker-container.hide {
    display: none;
}


.group-selection.show,
.slot-selection.show,
.slot-picker-container.show {
    display: block;
}

.ticket-option-header {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.slot-picker-form {
    display: none;
}

.group-selection.active .group-minprice {
    display: none;
}

.group-selection.active .slot-picker-form {
    display: flex;
}

.group-minprice {
    text-align: right;
    padding: 0 10px 5px 0;
    cursor: pointer;
}

.group-minprice span {
    font-weight: bold;
}

.product-price {
    font-size: 18px;
    display: block;
}

.product-qty {
    font-size: 12px;
    display: block;
    color: #767676;

}

.product-selection {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    align-items: center;
}

.qty-selection {
    text-align: right;
}

.product-name {
    width: 60%;
}

.product-picker-widget-select-minus {
    margin-right: 15px;
}

.product-picker-widget-select-plus {
    margin-left: 15px;
}

.subtotal {
    font-weight: bold;
    font-size: 18px;
}

.add-to-cart {
    display: flex;
    justify-content: space-between;
}

.add-to-cart div {
    padding: 10px;
}

.add-to-cart button {
    font-size: 16px;
    padding: 10px 20px;
    cursor: pointer;
    margin-left: 15px;
}

.add-to-cart button:disabled {
    opacity: .5;
}


@media screen and (max-width:768px) {
    .add-to-cart {
        display: block;
    }

    .add-to-cart div:last-child {
        text-align: right;
    }

    .add-to-cart div button:first {
        margin-left: 0;
    }

    .add-to-cart button {
        padding: 10px 10px;
    }

    .product-selection {
        padding: 5px;
    }

    .add-to-cart div {
        padding: 5px;
    }

    .group-selection label {
        padding: 5px;
    }

    .product-picker-widget-select-minus {
        margin-right: 10px;
    }

    .product-picker-widget-select-plus {
        margin-left: 10px;
    }

    .slot-picker-form {
        padding: 5px;
    }

    .product-name {
        width: 50%;
    }
}