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

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

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

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

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

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

.min-padding {
    padding: 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;
}

/* special list padding for columns */
.no-list-margin ul {
    margin-left: 0;
}

.no-list-margin li {
    margin-left: 1.2rem;
}

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

@media only screen and (min-width: 1024px) {
    
    /* Columns */
    .extra-padded-right {
        padding-right: 3rem !important;
    }
    
    .extra-padded-left {
        padding-left: 3rem !important;
    }
    
    /* side pic custom padding on content */
    .side-content {
        padding-left: 1.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;
    }
    
    .no-padding {
    padding: 0 !important;
}
    
     .medium-large-padded-left {
        padding-left: 2.6rem !important;
    }
    
    .medium-large-no-right-padding {
        padding-right: 0 !important;
    }
    
    .medium-large-padded-right {
        padding-right: 2.6rem !important;
    }
    
    .medium-large-no-left-padding {
        padding-left: 0 !important;
    }
    
    .large-padded {
        padding: 3rem;
    }
    
    .large-padded-bottom {
    padding-bottom: 5% !important;
}
    
    .padded {
        padding: 3rem !important;
    }

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

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

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

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

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

    .padded-right {
        padding-right: 3rem !important;
    }
    
    .margin-top {
        margin-top: 3rem !important;
    }
    
    .margin-bottom {
        margin-bottom: 3rem !important;
    }
    
    .margin-vertical {
        margin-top: 3rem !important;
        margin-bottom: 3rem !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-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;
    }
    
    .extra-padded-right {
        padding-right: 5rem !important;
    }
    
    .extra-padded-left {
        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) {
    
    main .row {
        padding: 1rem 0;
    }
    
    main .row .row {
        padding: 1.5rem 0 1rem 0;
    }
    
    main .column {
        margin-bottom: .5rem;
    }
    
    main .column .column {
        margin-bottom: .5rem;
    }
    
    /* 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 !important;
    }
    
    .padded-top {
        padding-top: 1rem !important;
    }

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

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

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

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

    .padded-right {
        padding-right: 1rem !important;
    }
    
    .padded-vertical {
        padding-top: .5rem !important;
        padding-bottom: .5rem !important;
    }
    
    .small-padded-sides {
        padding-left: 2rem !important;
        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;
    }
    
    .margin-vertical {
        margin-top: 1rem !important;
        margin-bottom: 1rem !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;
    }
    
}