main .row {
    padding: 2rem 0;
}

.min-vert-padding {
    padding-top: .8rem !important;
    padding-bottom: .5rem !important;
}


.min-top-padding {
    padding-top: .8rem !important;
}

.min-side-padding {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.min-padding {
    padding-top: .8rem !important;
    padding-bottom: .5rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.no-padding {
        padding: 0 !important;
    }

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

    .no-horizontal-padding {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .no-top-padding {
        padding-top: 0 !important;
    }

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

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

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

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

    /* Margins */

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

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

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

.p-no-top-margins p {
    margin-top: 0;
}

.headings-no-bottom-margins h1, .headings-no-bottom-margins h2, .headings-no-bottom-margins h3, .headings-no-bottom-margins h4 {
    margin-bottom: 0;
}

.headings-no-margins h1, .headings-no-margins h2, .headings-no-margins h3, .headings-no-margins h4 {
    margin: 0;
}

/* ----------------------------->>>> LARGE BREAKPOINT ----------- */

@media only screen and (min-width: 1024px) {
    
    .padded {
        padding: 4rem !important;
    }

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

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

    .padded-vertical {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .padded-sides {
        padding-left: 4rem !important;
        padding-right: 4rem !important;
    }

    .padded-left, .large-padded-left {
        padding-left: 4rem !important;
    }

    .padded-right {
        padding-right: 4rem !important;
    }
    
    /* Columns */
    .extra-padded-right {
        padding-right: 6rem !important;
    }
    
    .extra-padded-left {
        padding-left: 6rem !important;
    }
    
    .extra-padded-sides {
        padding-right: 6rem !important;
        padding-left: 6rem !important;
    }

    /* for edge pics on large */
    .row.no-side-padding .column:first-child {
        padding-left: 0;
    }

    .row.no-side-padding .column:last-child {
        padding-right: 0;
    }

}

/* ---------------------------->>>> MEDIUM + LARGE ----------- */


@media screen and (min-width: 640px) {
    
    main .row {
        padding: 2rem 0;
    }
    
     .medium-large-padded-left {
        padding-left: 2.6rem !important;
    }
    
    .margin-top {
        margin-top: 5rem !important;
    }

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

    .margin-vertical {
        margin-bottom: 5rem !important;
        margin-top: 5rem !important;
    }
    
    .large-padded {
        padding: 4rem;
    }
    
    .large-padded-bottom {
    padding-bottom: 5% !important;
}
    
    .padded-top {
        padding-top: 4rem !important;
    }

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

    .padded-vertical {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    .padded {
        padding: 4rem !important;
    }

    .padded-sides {
        padding-left: 4rem !important;
        padding-right: 4rem !important;
    }

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

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


/* ---------------------------->>>> MEDIUM BREAKPOINT ----------- */


@media only screen and (min-width: 640px) and (max-width: 1023px) {
    
    /* special list padding for columns */
    .medium-no-list-padding ul {
        padding-bottom: 0;
        padding-top: 0;
        margin-bottom: 0;
    }
    
    .extra-padded-top, .banner.extra-padded-top, .banner .extra-padded-top, .banner .row .extra-padded-top {
        padding-top: 2rem !important;
    }
    
    .extra-padded-bottom, .banner.extra-padded-bottom, .banner .extra-padded-bottom, .banner .row .extra-padded-bottom {
        padding-bottom: 2rem !important;
    }
    
    .extra-padded {
        padding: 3rem !important;
    }
    
    /* Columns */
    .extra-padded-right {
        padding-right: 5rem !important;
    }
    
    .extra-padded-left {
        padding-left: 5rem !important;
    }
    
    .extra-padded-sides {
        padding-right: 5rem !important;
        padding-left: 5rem !important;
    }
    
    .max-padded-vertical {
        padding-top: 3rem !important;
        padding-bottom: 2rem !important;
    }
    
    .extra-margin-top {
        margin-top: 3rem !important;
    }
    
    .extra-margin-bottom {
        margin-bottom: 3rem !important;
    }
    
    .extra-margin {
        margin-bottom: 3rem !important;
        margin-top: 3rem !important;
    }
    
}

/* ----------------------------->>>> SMALL BREAKPOINT ----------- */


@media only screen and (max-width: 639px) {
    /* special xl padding for homepage title */
    .sm-no-bottom-margin {
        margin-bottom: 0;
    }
    
    .sm-no-top-margin {
        margin-top: 0;
    }
    
    /* special list padding for columns */
    .small-no-list-padding ul {
        padding-bottom: 0;
        padding-top: 0;
        margin-bottom: 0;
    }
    
    .small-no-top-padding {
        padding-top: 0 !important;
    }
    
    .small-no-bottom-padding {
        padding-bottom: 0 !important;
    }
    
    .small-no-padding {
        padding: 0 !important;
    }
    
    .small-margin-bottom {
        margin-bottom: 2rem;
    }
    
    .padded {
        padding: 1rem 1rem !important;
    }
    
    .padded-vertical {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    
    .small-padded-sides {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
    
    .small-padded-left {
        padding-left: 2rem !important;
    }
    
    small-padded-right {
        padding-right: 2rem !important;
    }
    
    .extra-padded-top, .banner.extra-padded-top, .banner .extra-padded-top, .banner .row .extra-padded-top {
        padding-top: 1rem !important;
    }
    
    .extra-padded-bottom, .banner.extra-padded-bottom, .banner .extra-padded-bottom, .banner .row .extra-padded-bottom {
        padding-bottom: 1rem !important;
    }
    
    .extra-padded {
        padding: 2rem !important;
    }
    
    .max-padded-vertical {
        padding-top: 2rem !important;
        padding-bottom: 1rem !important;
    }
    
    .extra-margin-top {
        margin-top: 2rem !important;
    }
    
    .extra-margin-bottom {
        margin-bottom: 2rem !important;
    }
    
    .extra-margin {
        margin-bottom: 2rem !important;
        margin-top: 2rem !important;
    }
    
    .margin-top {
        margin-top: 2rem !important;
    }

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

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