/*
    This application uses Bootstrap v3, which does not include newer utilities such as spacing and font. Because of this, I created this file to include some useful utilities.
*/

/* Margin */
.m-0 {
    margin: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.ms-0 {
    margin-left: 0 !important;
}

.me-0 {
    margin-right: 0 !important;
}

.mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Padding */
.p-0 {
    padding: 0 !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.ps-0 {
    padding-left: 0 !important;
}

.pe-0 {
    padding-right: 0 !important;
}

.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Margin */
.m-1 {
    margin: 0.25rem !important;
}

.mt-1 {
    margin-top: 0.25rem !important;
}

.mb-1 {
    margin-bottom: 0.25rem !important;
}

.ms-1 {
    margin-left: 0.25rem !important;
}

.me-1 {
    margin-right: 0.25rem !important;
}

.mx-1 {
    margin-left: 0.25rem !important;
    margin-right: 0.25rem !important;
}

.my-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
}

/* Padding */
.p-1 {
    padding: 0.25rem !important;
}

.pt-1 {
    padding-top: 0.25rem !important;
}

.pb-1 {
    padding-bottom: 0.25rem !important;
}

.ps-1 {
    padding-left: 0.25rem !important;
}

.pe-1 {
    padding-right: 0.25rem !important;
}

.px-1 {
    padding-left: 0.25rem !important;
    padding-right: 0.25rem !important;
}

.py-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
}

/* Margin */
.m-2 {
    margin: 0.5rem !important;
}

.mt-2 {
    margin-top: 0.5rem !important;
}

.mb-2 {
    margin-bottom: 0.5rem !important;
}

.ms-2 {
    margin-left: 0.5rem !important;
}

.me-2 {
    margin-right: 0.5rem !important;
}

.mx-2 {
    margin-left: 0.5rem !important;
    margin-right: 0.5rem !important;
}

.my-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Padding */
.p-2 {
    padding: 0.5rem !important;
}

.pt-2 {
    padding-top: 0.5rem !important;
}

.pb-2 {
    padding-bottom: 0.5rem !important;
}

.ps-2 {
    padding-left: 0.5rem !important;
}

.pe-2 {
    padding-right: 0.5rem !important;
}

.px-2 {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
}

.py-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}

/* Margin */
.m-3 {
    margin: 1rem !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mb-3 {
    margin-bottom: 1rem !important;
}

.ms-3 {
    margin-left: 1rem !important;
}

.me-3 {
    margin-right: 1rem !important;
}

.mx-3 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}

.my-3 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

/* Padding */
.p-3 {
    padding: 1rem !important;
}

.pt-3 {
    padding-top: 1rem !important;
}

.pb-3 {
    padding-bottom: 1rem !important;
}

.ps-3 {
    padding-left: 1rem !important;
}

.pe-3 {
    padding-right: 1rem !important;
}

.px-3 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* Margin */
.m-4 {
    margin: 1.5rem !important;
}

.mt-4 {
    margin-top: 1.5rem !important;
}

.mb-4 {
    margin-bottom: 1.5rem !important;
}

.ms-4 {
    margin-left: 1.5rem !important;
}

.me-4 {
    margin-right: 1.5rem !important;
}

.mx-4 {
    margin-left: 1.5rem !important;
    margin-right: 1.5rem !important;
}

.my-4 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
}

/* Padding */
.p-4 {
    padding: 1.5rem !important;
}

.pt-4 {
    padding-top: 1.5rem !important;
}

.pb-4 {
    padding-bottom: 1.5rem !important;
}

.ps-4 {
    padding-left: 1.5rem !important;
}

.pe-4 {
    padding-right: 1.5rem !important;
}

.px-4 {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

/* Margin */
.m-5 {
    margin: 3rem !important;
}

.mt-5 {
    margin-top: 3rem !important;
}

.mb-5 {
    margin-bottom: 3rem !important;
}

.ms-5 {
    margin-left: 3rem !important;
}

.me-5 {
    margin-right: 3rem !important;
}

.mx-5 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
}

.my-5 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

/* Padding */
.p-5 {
    padding: 3rem !important;
}

.pt-5 {
    padding-top: 3rem !important;
}

.pb-5 {
    padding-bottom: 3rem !important;
}

.ps-5 {
    padding-left: 3rem !important;
}

.pe-5 {
    padding-right: 3rem !important;
}

.px-5 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

/* Margin */
.m-auto {
    margin: auto !important;
}

.mt-auto {
    margin-top: auto !important;
}

.mb-auto {
    margin-bottom: auto !important;
}

.ms-auto {
    margin-left: auto !important;
}

.me-auto {
    margin-right: auto !important;
}

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

.my-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

@media (min-width: 576px) {
    .m-sm-0 {
        margin: 0 !important;
    }

    .mt-sm-0 {
        margin-top: 0 !important;
    }

    .mb-sm-0 {
        margin-bottom: 0 !important;
    }

    .ms-sm-0 {
        margin-left: 0 !important;
    }

    .me-sm-0 {
        margin-right: 0 !important;
    }

    .mx-sm-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .my-sm-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .p-sm-0 {
        padding: 0 !important;
    }

    .pt-sm-0 {
        padding-top: 0 !important;
    }

    .pb-sm-0 {
        padding-bottom: 0 !important;
    }

    .ps-sm-0 {
        padding-left: 0 !important;
    }

    .pe-sm-0 {
        padding-right: 0 !important;
    }

    .px-sm-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .py-sm-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (min-width: 576px) {
    .m-sm-1 {
        margin: 0.25rem !important;
    }

    .mt-sm-1 {
        margin-top: 0.25rem !important;
    }

    .mb-sm-1 {
        margin-bottom: 0.25rem !important;
    }

    .ms-sm-1 {
        margin-left: 0.25rem !important;
    }

    .me-sm-1 {
        margin-right: 0.25rem !important;
    }

    .mx-sm-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }

    .my-sm-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }

    .p-sm-1 {
        padding: 0.25rem !important;
    }

    .pt-sm-1 {
        padding-top: 0.25rem !important;
    }

    .pb-sm-1 {
        padding-bottom: 0.25rem !important;
    }

    .ps-sm-1 {
        padding-left: 0.25rem !important;
    }

    .pe-sm-1 {
        padding-right: 0.25rem !important;
    }

    .px-sm-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    .py-sm-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
}

@media (min-width: 576px) {
    .m-sm-2 {
        margin: 0.5rem !important;
    }

    .mt-sm-2 {
        margin-top: 0.5rem !important;
    }

    .mb-sm-2 {
        margin-bottom: 0.5rem !important;
    }

    .ms-sm-2 {
        margin-left: 0.5rem !important;
    }

    .me-sm-2 {
        margin-right: 0.5rem !important;
    }

    .mx-sm-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }

    .my-sm-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    .p-sm-2 {
        padding: 0.5rem !important;
    }

    .pt-sm-2 {
        padding-top: 0.5rem !important;
    }

    .pb-sm-2 {
        padding-bottom: 0.5rem !important;
    }

    .ps-sm-2 {
        padding-left: 0.5rem !important;
    }

    .pe-sm-2 {
        padding-right: 0.5rem !important;
    }

    .px-sm-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .py-sm-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
}

@media (min-width: 576px) {
    .m-sm-3 {
        margin: 1rem !important;
    }

    .mt-sm-3 {
        margin-top: 1rem !important;
    }

    .mb-sm-3 {
        margin-bottom: 1rem !important;
    }

    .ms-sm-3 {
        margin-left: 1rem !important;
    }

    .me-sm-3 {
        margin-right: 1rem !important;
    }

    .mx-sm-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    .my-sm-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .p-sm-3 {
        padding: 1rem !important;
    }

    .pt-sm-3 {
        padding-top: 1rem !important;
    }

    .pb-sm-3 {
        padding-bottom: 1rem !important;
    }

    .ps-sm-3 {
        padding-left: 1rem !important;
    }

    .pe-sm-3 {
        padding-right: 1rem !important;
    }

    .px-sm-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .py-sm-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
}

@media (min-width: 576px) {
    .m-sm-4 {
        margin: 1.5rem !important;
    }

    .mt-sm-4 {
        margin-top: 1.5rem !important;
    }

    .mb-sm-4 {
        margin-bottom: 1.5rem !important;
    }

    .ms-sm-4 {
        margin-left: 1.5rem !important;
    }

    .me-sm-4 {
        margin-right: 1.5rem !important;
    }

    .mx-sm-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }

    .my-sm-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .p-sm-4 {
        padding: 1.5rem !important;
    }

    .pt-sm-4 {
        padding-top: 1.5rem !important;
    }

    .pb-sm-4 {
        padding-bottom: 1.5rem !important;
    }

    .ps-sm-4 {
        padding-left: 1.5rem !important;
    }

    .pe-sm-4 {
        padding-right: 1.5rem !important;
    }

    .px-sm-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .py-sm-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 576px) {
    .m-sm-5 {
        margin: 3rem !important;
    }

    .mt-sm-5 {
        margin-top: 3rem !important;
    }

    .mb-sm-5 {
        margin-bottom: 3rem !important;
    }

    .ms-sm-5 {
        margin-left: 3rem !important;
    }

    .me-sm-5 {
        margin-right: 3rem !important;
    }

    .mx-sm-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }

    .my-sm-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }

    .p-sm-5 {
        padding: 3rem !important;
    }

    .pt-sm-5 {
        padding-top: 3rem !important;
    }

    .pb-sm-5 {
        padding-bottom: 3rem !important;
    }

    .ps-sm-5 {
        padding-left: 3rem !important;
    }

    .pe-sm-5 {
        padding-right: 3rem !important;
    }

    .px-sm-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

@media (min-width: 576px) {
    .m-sm-auto {
        margin: auto !important;
    }

    .mt-sm-auto {
        margin-top: auto !important;
    }

    .mb-sm-auto {
        margin-bottom: auto !important;
    }

    .ms-sm-auto {
        margin-left: auto !important;
    }

    .me-sm-auto {
        margin-right: auto !important;
    }

    .mx-sm-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .my-sm-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
}

@media (min-width: 768px) {
    .m-md-0 {
        margin: 0 !important;
    }

    .mt-md-0 {
        margin-top: 0 !important;
    }

    .mb-md-0 {
        margin-bottom: 0 !important;
    }

    .ms-md-0 {
        margin-left: 0 !important;
    }

    .me-md-0 {
        margin-right: 0 !important;
    }

    .mx-md-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .my-md-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .p-md-0 {
        padding: 0 !important;
    }

    .pt-md-0 {
        padding-top: 0 !important;
    }

    .pb-md-0 {
        padding-bottom: 0 !important;
    }

    .ps-md-0 {
        padding-left: 0 !important;
    }

    .pe-md-0 {
        padding-right: 0 !important;
    }

    .px-md-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .py-md-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (min-width: 768px) {
    .m-md-1 {
        margin: 0.25rem !important;
    }

    .mt-md-1 {
        margin-top: 0.25rem !important;
    }

    .mb-md-1 {
        margin-bottom: 0.25rem !important;
    }

    .ms-md-1 {
        margin-left: 0.25rem !important;
    }

    .me-md-1 {
        margin-right: 0.25rem !important;
    }

    .mx-md-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }

    .my-md-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }

    .p-md-1 {
        padding: 0.25rem !important;
    }

    .pt-md-1 {
        padding-top: 0.25rem !important;
    }

    .pb-md-1 {
        padding-bottom: 0.25rem !important;
    }

    .ps-md-1 {
        padding-left: 0.25rem !important;
    }

    .pe-md-1 {
        padding-right: 0.25rem !important;
    }

    .px-md-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    .py-md-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
}

@media (min-width: 768px) {
    .m-md-2 {
        margin: 0.5rem !important;
    }

    .mt-md-2 {
        margin-top: 0.5rem !important;
    }

    .mb-md-2 {
        margin-bottom: 0.5rem !important;
    }

    .ms-md-2 {
        margin-left: 0.5rem !important;
    }

    .me-md-2 {
        margin-right: 0.5rem !important;
    }

    .mx-md-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }

    .my-md-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    .p-md-2 {
        padding: 0.5rem !important;
    }

    .pt-md-2 {
        padding-top: 0.5rem !important;
    }

    .pb-md-2 {
        padding-bottom: 0.5rem !important;
    }

    .ps-md-2 {
        padding-left: 0.5rem !important;
    }

    .pe-md-2 {
        padding-right: 0.5rem !important;
    }

    .px-md-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .py-md-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
}

@media (min-width: 768px) {
    .m-md-3 {
        margin: 1rem !important;
    }

    .mt-md-3 {
        margin-top: 1rem !important;
    }

    .mb-md-3 {
        margin-bottom: 1rem !important;
    }

    .ms-md-3 {
        margin-left: 1rem !important;
    }

    .me-md-3 {
        margin-right: 1rem !important;
    }

    .mx-md-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    .my-md-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .p-md-3 {
        padding: 1rem !important;
    }

    .pt-md-3 {
        padding-top: 1rem !important;
    }

    .pb-md-3 {
        padding-bottom: 1rem !important;
    }

    .ps-md-3 {
        padding-left: 1rem !important;
    }

    .pe-md-3 {
        padding-right: 1rem !important;
    }

    .px-md-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .py-md-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
}

@media (min-width: 768px) {
    .m-md-4 {
        margin: 1.5rem !important;
    }

    .mt-md-4 {
        margin-top: 1.5rem !important;
    }

    .mb-md-4 {
        margin-bottom: 1.5rem !important;
    }

    .ms-md-4 {
        margin-left: 1.5rem !important;
    }

    .me-md-4 {
        margin-right: 1.5rem !important;
    }

    .mx-md-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }

    .my-md-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .p-md-4 {
        padding: 1.5rem !important;
    }

    .pt-md-4 {
        padding-top: 1.5rem !important;
    }

    .pb-md-4 {
        padding-bottom: 1.5rem !important;
    }

    .ps-md-4 {
        padding-left: 1.5rem !important;
    }

    .pe-md-4 {
        padding-right: 1.5rem !important;
    }

    .px-md-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .py-md-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 768px) {
    .m-md-5 {
        margin: 3rem !important;
    }

    .mt-md-5 {
        margin-top: 3rem !important;
    }

    .mb-md-5 {
        margin-bottom: 3rem !important;
    }

    .ms-md-5 {
        margin-left: 3rem !important;
    }

    .me-md-5 {
        margin-right: 3rem !important;
    }

    .mx-md-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }

    .my-md-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }

    .p-md-5 {
        padding: 3rem !important;
    }

    .pt-md-5 {
        padding-top: 3rem !important;
    }

    .pb-md-5 {
        padding-bottom: 3rem !important;
    }

    .ps-md-5 {
        padding-left: 3rem !important;
    }

    .pe-md-5 {
        padding-right: 3rem !important;
    }

    .px-md-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .py-md-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

@media (min-width: 768px) {
    .m-md-auto {
        margin: auto !important;
    }

    .mt-md-auto {
        margin-top: auto !important;
    }

    .mb-md-auto {
        margin-bottom: auto !important;
    }

    .ms-md-auto {
        margin-left: auto !important;
    }

    .me-md-auto {
        margin-right: auto !important;
    }

    .mx-md-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .my-md-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
}

@media (min-width: 992px) {
    .m-lg-0 {
        margin: 0 !important;
    }

    .mt-lg-0 {
        margin-top: 0 !important;
    }

    .mb-lg-0 {
        margin-bottom: 0 !important;
    }

    .ms-lg-0 {
        margin-left: 0 !important;
    }

    .me-lg-0 {
        margin-right: 0 !important;
    }

    .mx-lg-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .my-lg-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .p-lg-0 {
        padding: 0 !important;
    }

    .pt-lg-0 {
        padding-top: 0 !important;
    }

    .pb-lg-0 {
        padding-bottom: 0 !important;
    }

    .ps-lg-0 {
        padding-left: 0 !important;
    }

    .pe-lg-0 {
        padding-right: 0 !important;
    }

    .px-lg-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .py-lg-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (min-width: 992px) {
    .m-lg-1 {
        margin: 0.25rem !important;
    }

    .mt-lg-1 {
        margin-top: 0.25rem !important;
    }

    .mb-lg-1 {
        margin-bottom: 0.25rem !important;
    }

    .ms-lg-1 {
        margin-left: 0.25rem !important;
    }

    .me-lg-1 {
        margin-right: 0.25rem !important;
    }

    .mx-lg-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }

    .my-lg-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }

    .p-lg-1 {
        padding: 0.25rem !important;
    }

    .pt-lg-1 {
        padding-top: 0.25rem !important;
    }

    .pb-lg-1 {
        padding-bottom: 0.25rem !important;
    }

    .ps-lg-1 {
        padding-left: 0.25rem !important;
    }

    .pe-lg-1 {
        padding-right: 0.25rem !important;
    }

    .px-lg-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    .py-lg-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
}

@media (min-width: 992px) {
    .m-lg-2 {
        margin: 0.5rem !important;
    }

    .mt-lg-2 {
        margin-top: 0.5rem !important;
    }

    .mb-lg-2 {
        margin-bottom: 0.5rem !important;
    }

    .ms-lg-2 {
        margin-left: 0.5rem !important;
    }

    .me-lg-2 {
        margin-right: 0.5rem !important;
    }

    .mx-lg-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }

    .my-lg-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    .p-lg-2 {
        padding: 0.5rem !important;
    }

    .pt-lg-2 {
        padding-top: 0.5rem !important;
    }

    .pb-lg-2 {
        padding-bottom: 0.5rem !important;
    }

    .ps-lg-2 {
        padding-left: 0.5rem !important;
    }

    .pe-lg-2 {
        padding-right: 0.5rem !important;
    }

    .px-lg-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .py-lg-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
}

@media (min-width: 992px) {
    .m-lg-3 {
        margin: 1rem !important;
    }

    .mt-lg-3 {
        margin-top: 1rem !important;
    }

    .mb-lg-3 {
        margin-bottom: 1rem !important;
    }

    .ms-lg-3 {
        margin-left: 1rem !important;
    }

    .me-lg-3 {
        margin-right: 1rem !important;
    }

    .mx-lg-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    .my-lg-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .p-lg-3 {
        padding: 1rem !important;
    }

    .pt-lg-3 {
        padding-top: 1rem !important;
    }

    .pb-lg-3 {
        padding-bottom: 1rem !important;
    }

    .ps-lg-3 {
        padding-left: 1rem !important;
    }

    .pe-lg-3 {
        padding-right: 1rem !important;
    }

    .px-lg-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .py-lg-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
}

@media (min-width: 992px) {
    .m-lg-4 {
        margin: 1.5rem !important;
    }

    .mt-lg-4 {
        margin-top: 1.5rem !important;
    }

    .mb-lg-4 {
        margin-bottom: 1.5rem !important;
    }

    .ms-lg-4 {
        margin-left: 1.5rem !important;
    }

    .me-lg-4 {
        margin-right: 1.5rem !important;
    }

    .mx-lg-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }

    .my-lg-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .p-lg-4 {
        padding: 1.5rem !important;
    }

    .pt-lg-4 {
        padding-top: 1.5rem !important;
    }

    .pb-lg-4 {
        padding-bottom: 1.5rem !important;
    }

    .ps-lg-4 {
        padding-left: 1.5rem !important;
    }

    .pe-lg-4 {
        padding-right: 1.5rem !important;
    }

    .px-lg-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .py-lg-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 992px) {
    .m-lg-5 {
        margin: 3rem !important;
    }

    .mt-lg-5 {
        margin-top: 3rem !important;
    }

    .mb-lg-5 {
        margin-bottom: 3rem !important;
    }

    .ms-lg-5 {
        margin-left: 3rem !important;
    }

    .me-lg-5 {
        margin-right: 3rem !important;
    }

    .mx-lg-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }

    .my-lg-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }

    .p-lg-5 {
        padding: 3rem !important;
    }

    .pt-lg-5 {
        padding-top: 3rem !important;
    }

    .pb-lg-5 {
        padding-bottom: 3rem !important;
    }

    .ps-lg-5 {
        padding-left: 3rem !important;
    }

    .pe-lg-5 {
        padding-right: 3rem !important;
    }

    .px-lg-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .py-lg-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

@media (min-width: 992px) {
    .m-lg-auto {
        margin: auto !important;
    }

    .mt-lg-auto {
        margin-top: auto !important;
    }

    .mb-lg-auto {
        margin-bottom: auto !important;
    }

    .ms-lg-auto {
        margin-left: auto !important;
    }

    .me-lg-auto {
        margin-right: auto !important;
    }

    .mx-lg-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .my-lg-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-0 {
        margin: 0 !important;
    }

    .mt-xl-0 {
        margin-top: 0 !important;
    }

    .mb-xl-0 {
        margin-bottom: 0 !important;
    }

    .ms-xl-0 {
        margin-left: 0 !important;
    }

    .me-xl-0 {
        margin-right: 0 !important;
    }

    .mx-xl-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .my-xl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .p-xl-0 {
        padding: 0 !important;
    }

    .pt-xl-0 {
        padding-top: 0 !important;
    }

    .pb-xl-0 {
        padding-bottom: 0 !important;
    }

    .ps-xl-0 {
        padding-left: 0 !important;
    }

    .pe-xl-0 {
        padding-right: 0 !important;
    }

    .px-xl-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .py-xl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-1 {
        margin: 0.25rem !important;
    }

    .mt-xl-1 {
        margin-top: 0.25rem !important;
    }

    .mb-xl-1 {
        margin-bottom: 0.25rem !important;
    }

    .ms-xl-1 {
        margin-left: 0.25rem !important;
    }

    .me-xl-1 {
        margin-right: 0.25rem !important;
    }

    .mx-xl-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }

    .my-xl-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }

    .p-xl-1 {
        padding: 0.25rem !important;
    }

    .pt-xl-1 {
        padding-top: 0.25rem !important;
    }

    .pb-xl-1 {
        padding-bottom: 0.25rem !important;
    }

    .ps-xl-1 {
        padding-left: 0.25rem !important;
    }

    .pe-xl-1 {
        padding-right: 0.25rem !important;
    }

    .px-xl-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    .py-xl-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-2 {
        margin: 0.5rem !important;
    }

    .mt-xl-2 {
        margin-top: 0.5rem !important;
    }

    .mb-xl-2 {
        margin-bottom: 0.5rem !important;
    }

    .ms-xl-2 {
        margin-left: 0.5rem !important;
    }

    .me-xl-2 {
        margin-right: 0.5rem !important;
    }

    .mx-xl-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }

    .my-xl-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    .p-xl-2 {
        padding: 0.5rem !important;
    }

    .pt-xl-2 {
        padding-top: 0.5rem !important;
    }

    .pb-xl-2 {
        padding-bottom: 0.5rem !important;
    }

    .ps-xl-2 {
        padding-left: 0.5rem !important;
    }

    .pe-xl-2 {
        padding-right: 0.5rem !important;
    }

    .px-xl-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .py-xl-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-3 {
        margin: 1rem !important;
    }

    .mt-xl-3 {
        margin-top: 1rem !important;
    }

    .mb-xl-3 {
        margin-bottom: 1rem !important;
    }

    .ms-xl-3 {
        margin-left: 1rem !important;
    }

    .me-xl-3 {
        margin-right: 1rem !important;
    }

    .mx-xl-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    .my-xl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .p-xl-3 {
        padding: 1rem !important;
    }

    .pt-xl-3 {
        padding-top: 1rem !important;
    }

    .pb-xl-3 {
        padding-bottom: 1rem !important;
    }

    .ps-xl-3 {
        padding-left: 1rem !important;
    }

    .pe-xl-3 {
        padding-right: 1rem !important;
    }

    .px-xl-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .py-xl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-4 {
        margin: 1.5rem !important;
    }

    .mt-xl-4 {
        margin-top: 1.5rem !important;
    }

    .mb-xl-4 {
        margin-bottom: 1.5rem !important;
    }

    .ms-xl-4 {
        margin-left: 1.5rem !important;
    }

    .me-xl-4 {
        margin-right: 1.5rem !important;
    }

    .mx-xl-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }

    .my-xl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .p-xl-4 {
        padding: 1.5rem !important;
    }

    .pt-xl-4 {
        padding-top: 1.5rem !important;
    }

    .pb-xl-4 {
        padding-bottom: 1.5rem !important;
    }

    .ps-xl-4 {
        padding-left: 1.5rem !important;
    }

    .pe-xl-4 {
        padding-right: 1.5rem !important;
    }

    .px-xl-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .py-xl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-5 {
        margin: 3rem !important;
    }

    .mt-xl-5 {
        margin-top: 3rem !important;
    }

    .mb-xl-5 {
        margin-bottom: 3rem !important;
    }

    .ms-xl-5 {
        margin-left: 3rem !important;
    }

    .me-xl-5 {
        margin-right: 3rem !important;
    }

    .mx-xl-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }

    .my-xl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }

    .p-xl-5 {
        padding: 3rem !important;
    }

    .pt-xl-5 {
        padding-top: 3rem !important;
    }

    .pb-xl-5 {
        padding-bottom: 3rem !important;
    }

    .ps-xl-5 {
        padding-left: 3rem !important;
    }

    .pe-xl-5 {
        padding-right: 3rem !important;
    }

    .px-xl-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .py-xl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

@media (min-width: 1200px) {
    .m-xl-auto {
        margin: auto !important;
    }

    .mt-xl-auto {
        margin-top: auto !important;
    }

    .mb-xl-auto {
        margin-bottom: auto !important;
    }

    .ms-xl-auto {
        margin-left: auto !important;
    }

    .me-xl-auto {
        margin-right: auto !important;
    }

    .mx-xl-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .my-xl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-0 {
        margin: 0 !important;
    }

    .mt-xxl-0 {
        margin-top: 0 !important;
    }

    .mb-xxl-0 {
        margin-bottom: 0 !important;
    }

    .ms-xxl-0 {
        margin-left: 0 !important;
    }

    .me-xxl-0 {
        margin-right: 0 !important;
    }

    .mx-xxl-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .my-xxl-0 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .p-xxl-0 {
        padding: 0 !important;
    }

    .pt-xxl-0 {
        padding-top: 0 !important;
    }

    .pb-xxl-0 {
        padding-bottom: 0 !important;
    }

    .ps-xxl-0 {
        padding-left: 0 !important;
    }

    .pe-xxl-0 {
        padding-right: 0 !important;
    }

    .px-xxl-0 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .py-xxl-0 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-1 {
        margin: 0.25rem !important;
    }

    .mt-xxl-1 {
        margin-top: 0.25rem !important;
    }

    .mb-xxl-1 {
        margin-bottom: 0.25rem !important;
    }

    .ms-xxl-1 {
        margin-left: 0.25rem !important;
    }

    .me-xxl-1 {
        margin-right: 0.25rem !important;
    }

    .mx-xxl-1 {
        margin-left: 0.25rem !important;
        margin-right: 0.25rem !important;
    }

    .my-xxl-1 {
        margin-top: 0.25rem !important;
        margin-bottom: 0.25rem !important;
    }

    .p-xxl-1 {
        padding: 0.25rem !important;
    }

    .pt-xxl-1 {
        padding-top: 0.25rem !important;
    }

    .pb-xxl-1 {
        padding-bottom: 0.25rem !important;
    }

    .ps-xxl-1 {
        padding-left: 0.25rem !important;
    }

    .pe-xxl-1 {
        padding-right: 0.25rem !important;
    }

    .px-xxl-1 {
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    .py-xxl-1 {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-2 {
        margin: 0.5rem !important;
    }

    .mt-xxl-2 {
        margin-top: 0.5rem !important;
    }

    .mb-xxl-2 {
        margin-bottom: 0.5rem !important;
    }

    .ms-xxl-2 {
        margin-left: 0.5rem !important;
    }

    .me-xxl-2 {
        margin-right: 0.5rem !important;
    }

    .mx-xxl-2 {
        margin-left: 0.5rem !important;
        margin-right: 0.5rem !important;
    }

    .my-xxl-2 {
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
    }

    .p-xxl-2 {
        padding: 0.5rem !important;
    }

    .pt-xxl-2 {
        padding-top: 0.5rem !important;
    }

    .pb-xxl-2 {
        padding-bottom: 0.5rem !important;
    }

    .ps-xxl-2 {
        padding-left: 0.5rem !important;
    }

    .pe-xxl-2 {
        padding-right: 0.5rem !important;
    }

    .px-xxl-2 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    .py-xxl-2 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-3 {
        margin: 1rem !important;
    }

    .mt-xxl-3 {
        margin-top: 1rem !important;
    }

    .mb-xxl-3 {
        margin-bottom: 1rem !important;
    }

    .ms-xxl-3 {
        margin-left: 1rem !important;
    }

    .me-xxl-3 {
        margin-right: 1rem !important;
    }

    .mx-xxl-3 {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    .my-xxl-3 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }

    .p-xxl-3 {
        padding: 1rem !important;
    }

    .pt-xxl-3 {
        padding-top: 1rem !important;
    }

    .pb-xxl-3 {
        padding-bottom: 1rem !important;
    }

    .ps-xxl-3 {
        padding-left: 1rem !important;
    }

    .pe-xxl-3 {
        padding-right: 1rem !important;
    }

    .px-xxl-3 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .py-xxl-3 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-4 {
        margin: 1.5rem !important;
    }

    .mt-xxl-4 {
        margin-top: 1.5rem !important;
    }

    .mb-xxl-4 {
        margin-bottom: 1.5rem !important;
    }

    .ms-xxl-4 {
        margin-left: 1.5rem !important;
    }

    .me-xxl-4 {
        margin-right: 1.5rem !important;
    }

    .mx-xxl-4 {
        margin-left: 1.5rem !important;
        margin-right: 1.5rem !important;
    }

    .my-xxl-4 {
        margin-top: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }

    .p-xxl-4 {
        padding: 1.5rem !important;
    }

    .pt-xxl-4 {
        padding-top: 1.5rem !important;
    }

    .pb-xxl-4 {
        padding-bottom: 1.5rem !important;
    }

    .ps-xxl-4 {
        padding-left: 1.5rem !important;
    }

    .pe-xxl-4 {
        padding-right: 1.5rem !important;
    }

    .px-xxl-4 {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
    }

    .py-xxl-4 {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-5 {
        margin: 3rem !important;
    }

    .mt-xxl-5 {
        margin-top: 3rem !important;
    }

    .mb-xxl-5 {
        margin-bottom: 3rem !important;
    }

    .ms-xxl-5 {
        margin-left: 3rem !important;
    }

    .me-xxl-5 {
        margin-right: 3rem !important;
    }

    .mx-xxl-5 {
        margin-left: 3rem !important;
        margin-right: 3rem !important;
    }

    .my-xxl-5 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
    }

    .p-xxl-5 {
        padding: 3rem !important;
    }

    .pt-xxl-5 {
        padding-top: 3rem !important;
    }

    .pb-xxl-5 {
        padding-bottom: 3rem !important;
    }

    .ps-xxl-5 {
        padding-left: 3rem !important;
    }

    .pe-xxl-5 {
        padding-right: 3rem !important;
    }

    .px-xxl-5 {
        padding-left: 3rem !important;
        padding-right: 3rem !important;
    }

    .py-xxl-5 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

@media (min-width: 1400px) {
    .m-xxl-auto {
        margin: auto !important;
    }

    .mt-xxl-auto {
        margin-top: auto !important;
    }

    .mb-xxl-auto {
        margin-bottom: auto !important;
    }

    .ms-xxl-auto {
        margin-left: auto !important;
    }

    .me-xxl-auto {
        margin-right: auto !important;
    }

    .mx-xxl-auto {
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .my-xxl-auto {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }
}

/* Font weight */

.fw-lighter {
    font-weight: lighter !important;
}

fw-light {
    font-weight: 300 !important;
}

.fw-normal {
    font-weight: 400 !important;
}

.fw-medium {
    font-weight: 500 !important;
}

.fw-semibold {
    font-weight: 600 !important;
}

.fw-bold {
    font-weight: 700 !important;
}

.fw-bolder {
    font-weight: bolder !important;
}


/* The heading classes are intended to preserve this application's heading styling */

.h1 {
    font-size: 2em;
}

.h2 {
    font-size: 2.25em;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.25;
    margin-bottom: 1em;
}

.h3 {
    font-size: 1.5em;
    font-weight: 600;
    letter-spacing: -.025em;
    line-height: 1.25;
}

/* Display Flex */
.d-flex {
    display: flex !important;
}

@media (min-width: 576px) {
    .d-xs-flex {
        display: flex !important;
    }
}

@media (min-width: 768px) {
    .d-sm-flex {
        display: flex !important;
    }
}

@media (min-width: 992px) {
    .d-md-flex {
        display: flex !important;
    }
}

@media (min-width: 1200px) {
    .d-lg-flex {
        display: flex !important;
    }
}

@media (min-width: 1400px) {
    .d-xl-flex {
        display: flex !important;
    }
}

/* Justify Content Variations */
.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.justify-content-evenly {
    justify-content: space-evenly !important;
}

/* Align Items Variations */
.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

