/**
 * 1. Allow us to use stack object on any type of element
 */
.o-stack {
    list-style: none; /* [1] */
    padding: 0;
    box-sizing: border-box;
}

.o-stack--flex {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.o-stack--centered {
    align-items: center;
}

/**
 * 1. We need to defensively reset any box model properties.
 */
.o-stack > * {
    margin-top: 0; /* [1] */
    margin-bottom: 0; /* [1] */
}


/* Gutter size modifiers
   ========================================================================== */
.o-stack > * + * {
    margin-top: 1.2rem;
}

.o-stack--flush > * + * {
    margin-top: 0;
}

.o-stack--tiny > * + * {
    margin-top: 0.3rem;
}

.o-stack--small > * + * {
    margin-top: 0.6rem;
}

.o-stack--large > * + * {
    margin-top: 1.8rem;
}



