.cart_outer .text_center {
    width: 100%;
    margin: 40px auto;
    text-align: center
}

.cart__title {
    font-weight: 700;
    font-size: 40px;
    margin-bottom: 40px
}

.cart__row {
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 100px;
    gap: 40px
}

.cart-left .cart__event {
    margin-bottom: 20px
}

.cart-left .cart__event.upsell {
    border: 1px solid #f1f1f1;
    padding: 10px;
    position: relative
}

.cart-left .cart__event.upsell h2 {
    font-size: 28px;
}

.cart-left .cart__event.upsell .remove_membership,
.cart-left .cart__event.upsell .remove_donation {
    position: absolute;
    top: 10px;
    right: 10px;
    color: #000
}

.cart-left .cart__event.upsell .remove_membership:hover,
.cart-left .cart__event.upsell .remove_donation:hover {
    color: #f47920
}

.cart-left .cart__event_intro {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 16px
}

.cart-left .cart__event .ticket_table {
    width: 100%;
    margin: 10px 0;
    font-weight: 400
}

.cart-left .cart__event .ticket_table .ticket_table_row {
    display: grid;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr 1fr;
    border-bottom: 1px solid #f1f1f1;
    padding: 10px 0;
    font-size: 16px
}

.cart-left .cart__event .ticket_table .ticket_table_row .ticket_edit {
    text-align: right
}

.cart-left .cart__event .ticket_table .ticket_table_row .ticket_edit a {
    color: #000
}

.cart-left .cart__event .ticket_table .ticket_table_row .ticket_edit a:hover,
.cart-left .cart__event .ticket_table .ticket_table_row .ticket_edit a:focus {
    color: #f47920
}

.cart-left .cart__event .ticket_table .ticket_table_row .remove_ticket {
    margin-left: 10px
}

.cart-left .cart__event .ticket_table .old_cost {
    color: #f47920;
    text-decoration: line-through
}

.cart-left .cart__event_title {
    font-size: 20px
}

.cart-left .cart__event_subtitle {
    font-size: 16px;
    color: #f47920
}

.cart-left .upsell {
    border: 1px solid #f47920;
    padding: 15px;
}

.cart-left .upsell h2 {
    font-size: 24px;
}

.cart-left .upsell__events {
    display: flex;
    margin-top: 20px;
    gap: 20px;
    flex-direction: column;
}

.cart-left .upsell__events .cart__event {
    margin: 0;
    position: relative
}

.cart-left .upsell__events .cart__event_intro {
    grid-template-columns: 1fr
}

.cart-left .upsell__events .cart__event_intro .detail_row {
    display: flex;
    gap: 20px
}

.cart-left .upsell__events .cart__event_intro .detail_row .month_day {
    display: flex;
    flex-direction: column;
    font-family: Lato, sans-serif;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase
}

.cart-left .upsell__events .cart__event_intro .detail_row .month_day .month {
    font-size: 12px
}

.cart-left .upsell__events .cart__event_intro .detail_row .month_day .day {
    font-size: 24px;
    font-weight: 700
}

.cart-left .upsell__events .cart__event_intro .detail_row .cart__event_details a {
    color: #000;
    margin-bottom: 0
}

.cart-left .upsell__events .cart__event_intro .detail_row .cart__event_details a::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.cart-left .upsell__events .cart__event_intro .detail_row .cart__event_details a .cart__event_title {
    margin-bottom: 0
}

.cart-right {
    background-color: #f1f1f1;
    padding: 40px
}

.cart-right .cart__title {
    margin-bottom: 10px;
    line-height: 120%
}

.cart-right .item {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    padding: 4px 0
}

.cart-right .item p {
    margin: 0
}

.cart-right .donation_box {
    margin-top: 20px
}

.cart-right .donation_box p {
    line-height: 120%;
    margin-bottom: 10px
}

.cart-right .donation_box .donation_button {
    margin-bottom: 20px;
    width: 100%;
    text-align: center
}

.cart-right .donation_box .row_custom .input_row {
    display: flex
}

.cart-right .donation_box .row_custom .input_row .prefix {
    background: #fff;
    padding: 0 8px;
    text-align: center;
    height: 30px
}

.cart-right .donation_box .row_custom .input_row .donate_custom {
    background-color: #fff;
    color: #000;
    border: 1px solid #fff;
    height: 30px
}

.cart-right .donation_box .row_custom .input_row .button {
    border: 1px solid #f47920;
    background-color: #fff;
    color: #000 !important
}

.cart-right .membership {
    margin-top: 20px
}

.cart-right .membership p {
    line-height: 120%
}

.cart-right .membership .membership_variation {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid rgba(0, 0, 0, .2);
    padding: 4px 0
}

.cart-right .membership .membership_variation p {
    margin-bottom: 0
}

.cart-right .promo {
    margin: 20px 0
}

.cart-right .promo__box {
    display: flex;
    margin-top: 20px
}

.cart-right .promo__box input {
    background-color: #fff;
    border: 1px solid #fff;
    height: 30px
}

.cart-right .promo__box .button {
    border: 1px solid #f47920;
    background-color: #fff;
    color: #000 !important
}

.cart-right .code {
    display: flex;
    gap: 20px
}

.cart-right .invalid_promo {
    display: none
}

.cart-right .total_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 4px;
    font-size: 36px
}

@media screen and (min-width: 768px) {
    .cart__title {
        font-weight: 700;
        font-size: 60px
    }

    .cart__row {
        grid-template-columns: 1.5fr 1fr;
        gap: 160px
    }
	
    .cart-left .upsell__events {
        flex-direction: row;
    }
	
	.cart-left .upsell__events .cart__event {
		width: 50%;
	}

    .cart-left .cart__event_title {
        font-size: 28px
    }

    .cart-left .upsell {
        padding: 40px;
    }

    .cart-left .upsell h2 {
        font-size: 34px;
    }
}