[class*="mgs-column-align-"] {
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
}

[class*="mgs-column-align-"] > .line {
    width: 100%;
}

.mgs-column-align-top-left { justify-content: flex-start; align-items: flex-start; }
.mgs-column-align-top-center { justify-content: flex-start; align-items: center; text-align: center; }
.mgs-column-align-top-right { justify-content: flex-start; align-items: flex-end; text-align: right; }

.mgs-column-align-middle-left { justify-content: center; align-items: flex-start; }
.mgs-column-align-middle-center { justify-content: center; align-items: center; text-align: center; }
.mgs-column-align-middle-right { justify-content: center; align-items: flex-end; text-align: right; }

.mgs-column-align-bottom-left { justify-content: flex-end; align-items: flex-start; }
.mgs-column-align-bottom-center { justify-content: flex-end; align-items: center; text-align: center; }
.mgs-column-align-bottom-right { justify-content: flex-end; align-items: flex-end; text-align: right; }

/* Section Alignments */
[class*="mgs-section-align-"] {
    display: flex !important;
    flex-direction: column;
}

[class*="mgs-section-align-"] > .frame {
    width: 100%;
}

.mgs-section-align-top-left { justify-content: flex-start; align-items: flex-start; }
.mgs-section-align-top-center { justify-content: flex-start; align-items: center; text-align: center; }
.mgs-section-align-top-right { justify-content: flex-start; align-items: flex-end; text-align: right; }

.mgs-section-align-middle-left { justify-content: center; align-items: flex-start; }
.mgs-section-align-middle-center { justify-content: center; align-items: center; text-align: center; }
.mgs-section-align-middle-right { justify-content: center; align-items: flex-end; text-align: right; }

.mgs-section-align-bottom-left { justify-content: flex-end; align-items: flex-start; }
.mgs-section-align-bottom-center { justify-content: flex-end; align-items: center; text-align: center; }
.mgs-section-align-bottom-right { justify-content: flex-end; align-items: flex-end; text-align: right; }

/* Horizontal align columns within the line for section align */
.mgs-section-align-top-left > .frame > .line, .mgs-section-align-middle-left > .frame > .line, .mgs-section-align-bottom-left > .frame > .line { justify-content: flex-start; }
.mgs-section-align-top-center > .frame > .line, .mgs-section-align-middle-center > .frame > .line, .mgs-section-align-bottom-center > .frame > .line { justify-content: center; }
.mgs-section-align-top-right > .frame > .line, .mgs-section-align-middle-right > .frame > .line, .mgs-section-align-bottom-right > .frame > .line { justify-content: flex-end; }
