.expenses-container {
    margin-bottom: 70px !important;
    margin-bottom: 7rem !important;
    text-align: center
}

.shopping-container {
    margin-top: 70px !important;
    margin-top: 7rem !important;
    text-align: center
}

h1 {
    color: #2eac69;
    color: var(--primary-green);
    text-align: center;
    margin: 0;
}

h3 {
    margin-top: 0;
    margin-bottom: 10px;
    margin-bottom: 1rem;
    font-size: 28px;
    font-size: 2.8rem;
}

h4 {
    margin-top: 0;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
}

h2.pricing-head {
    margin: 47px 0 15px 0;
    margin: 4.7rem 0 1.5rem 0;
}

span.pricing-head {
    font-weight: bold;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 38px;
    line-height: 3.8rem;
    margin: 47px 10px 15px 0;
    margin: 4.7rem 1rem 1.5rem 0;
}

hr.pricing-head-div {
    clear: both;
    height: 2px;
    height: .2rem;
    background-color: #2eac69;
    background-color: var(--primary-green);
    color: #2eac69;
    color: var(--primary-green);
}

p.note {
    padding: 0 15px;
    padding: 0 1.5rem;
}


.th-left {
    float: left;
    margin-right: auto !important;
}

.th-right {
    float: right;
    margin-left: auto !important;
}

.td-center {
    width: 245px;
    flex-shrink: 0;
}

.flex-fill {
    width: min-content;
    flex: 1 1 auto;
    padding: 15px 10px;
    padding: 1.5rem 1rem;
}


.pricing-table {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: stretch;
}
.expenses-body.pricing-table {
    justify-content: space-between;
	margin: 30px 0 40px;
	margin: 3rem 0 4rem;
}

.pricing-table h4 {
    font-weight: bold;
}


.pricing-section {
    display: flex;
    flex-flow: column nowrap;
	justify-content: flex-end;
    margin: 40px auto 0;
    margin: 4rem auto 0;
	padding: 0;

	width: 400px;
	max-width: 100%;
	flex-shrink: 0;
}

.pricing-section > p {
    margin-top: 0;
    margin-bottom: 0;
}

.pricing-content {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: flex-end;

    max-width: 100%;
}
.pricing-content .td-center {
    padding: 0 0 15px;
    padding: 0 0 1.5rem;
}
.pricing-content .td-center > *:last-child {
    margin-bottom: 0;
}

.pricing-content .td-center p strong {
    font-size: 34px;
    font-size: 3.4rem;
    font-weight: bold;
    color: #2eac69;
    color: var(--primary-green);
}

.expenses-body .td-image {
    width: 245px;
    height: 170px;
    background: transparent no-repeat center;
    background-size: auto 100%;
    background-size: contain;
    margin: 0 auto;
}


.shopping-container hr.pricing-head-div {
    margin-bottom: 70px;
    margin-bottom: 7rem;
}

.shopping-body div p {
    background: #299a5d;
    background: var(--primary-green);
    border-radius: 50%;
    width: 110px;
    height: 110px;
    position: relative;
    color: #f3f4f6;
    color: var(--primary-white);
    margin: 30px auto;
    margin: 3rem auto;
}

.shopping-body div p strong {
    position: absolute;
    font-size: 40px;
    font-size: 4rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.shopping-body div p strong .separator {
    font-size: 0;
}

.shopping-body div p strong .decimals {
    font-size: 20px;
    font-size: 2rem;
    border-bottom: 2px solid;
    border-bottom: .2rem solid;
    vertical-align: top;
}


@media (max-width: 916px) {
    .expenses-body.pricing-table {
        flex-flow: column;
    }
}