.rates-container {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 600;
    width:100%;
    max-width: 1140px;
    margin: 0 auto;
}

.rates-container tr {
    display: flex;
    align-items: center !important;
    justify-content: space-between;
    width:100%;
    align-items: baseline;
    border-bottom: 1px solid #bdbdbd;
}

.rates-container tbody tr {
    height: 5rem;
}

.rates-container thead tr {
    height: 5rem;
    align-items: center !important;
}

.rates-container th{
    text-align:right;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #bdbdbd;
}

.rates-container td {
    padding: 0;
    vertical-align: bottom;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    border-right: 1px solid #bdbdbd;
    padding-right: 1rem;
}

.rates-container tr:not(:last-child) {
    border-bottom: 1px solid #bdbdbd;
}

.rates-container td:not(first-child) {
    text-align:right;
}

.rates-container td:first-child {
    text-align: left;
    font-size: 1.8rem;
    font-weight:600;
    justify-content: flex-start;
}

.rates-container td:first-child span {
    padding-right: 0.25em;
}

.rates-container td:last-child {
    text-align: right;
}

.rates-container td:last-child span {
    padding-left: 0.25em;
}

.rates-container table {
    width: 90%;
    margin: 0px auto;
    table-layout: fixed;
    border-collapse: collapse;
}

#rates_component {
    width: 100%;
    background-color: #fff;
    margin: 0 auto;
}

.rates-table-container {
    max-width: 1500px;
    margin: 40px auto;
}

.rates-container .bg-white{
    background-color:#fff;
}

.rates-container .bg-grey{
    background-color:#f6f6f6;
}

.rates-container .bg-light-blue{
    background-color:#e0f4f3;
}

.rates-container .bg-dark-blue{
    background-color:#006ca3;
}

.rates-container .table-title, .rates-container .table-desc{
    padding:1rem 3rem;
    text-align: left;
}

.rates-container span {
    background-color: #fff;
}

@media (min-width: 992px) {
    .rates-container table {
      margin: 3rem;
      width: 100%;
    }

    .rates-table-container {
        display: flex;
        margin: 0px auto;
    }
}

@media (max-width: 480px) {
    .rates-container tbody tr{
        display: flex;
        flex-wrap: wrap;
        height: 10rem;
        align-items: center;
        justify-content: space-around;
    }
    .rates-container td{
        height: fit-content;
        width: fit-content;
        border-right: 0;
    }
    .rates-container td:not(first-child) {
    }
    .rates-container th{
        border-right:none;
    }
    .rates-container th:first-child {
        display: none;
    }
    .rates-container td:first-child {
        width: 100% !important;
        font-size:1.5rem;
    }
}