.wp-block-columns {
    flex-wrap: wrap;
    margin: 20px auto;
}
.wp-block-column, .has-2-columns .wp-block-column, .has-3-columns .wp-block-column, .has-4-columns .wp-block-column, .has-5-columns .wp-block-column, .has-6-columns .wp-block-column {
    flex: 0 0 100%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding-left: 4%;
    padding-right: 4%;
}

.wp-block-column {
    margin-bottom: 0;
}

.full-width-stretched *.alignfull {
    position: relative;
    left: -4%;
    width: 108%;
    max-width: 108%;
    clear: both;
}

.full-width-stretched .wp-block-image.alignfull img {
    width: 100vw;
}

.full-width-stretched .wp-block-columns.alignfull  {
    padding-left: 4%;
    padding-right: 4%;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

@media only screen and (min-width: 600px) {

.wp-block-column:not(:first-child), .wp-block-column:nth-child(2n) {
    margin-left: 0;
}

.wp-block-column:nth-child(odd), .wp-block-column:not(:last-child) {
    margin-right: 0;
}
    
}

@media only screen and (min-width: 680px) {
.wp-block-column {
    flex: 1;
}
    
.has-2-columns .wp-block-column, .has-3-columns .wp-block-column, .has-4-columns .wp-block-column, .has-5-columns .wp-block-column, .has-6-columns .wp-block-column {
    flex: 0 0 50%;
}
       
.wp-block-column:nth-child(1n) {
    padding: 0 16px 0 0;
    padding-right: 16px;
}

.wp-block-column:nth-child(2n) {
    padding: 0 0 0 16px;
    padding-left: 16px;
}

}

@media only screen and (min-width: 768px) {
    
.full-width-stretched .wp-block-image.alignfull img {
    width: 100vw;
    margin-left: auto;
    margin-right: auto;
}
    
}

@media only screen and (min-width: 960px) {
    .has-2-columns .wp-block-column, .has-3-columns .wp-block-column, .has-4-columns .wp-block-column, .has-5-columns .wp-block-column, .has-6-columns .wp-block-column {
        flex: 1;
    }

    .wp-block-column:nth-child(1n), .wp-block-column:nth-child(2n) {
        padding: 0 16px;
        padding-right: 16px;
        padding-left: 16px;
    }

    .wp-block-column:first-child {
        padding: 0 16px 0 0;
        padding-left: 0;
    }

    .wp-block-column:last-child {
        padding: 0 0 0 16px;
        padding-right: 0;
    }
}

@media only screen and (min-width: 1200px) {
    
.full-width-stretched *.alignfull {
    left: calc( ((1200px - 100vw) / 2) - 4% );
    width: 100vw;
    max-width: 100vw;
}
    
}