.o-switcher:not(.o-switcher--with-overflow) {
    overflow: hidden;
}

.o-switcher * {
    box-sizing: border-box;
}

.o-switcher > * {
    display: -webkit-box; /** For wkhtmltopdf */
    display: flex;
    margin: -1.2rem;
    flex-wrap: wrap;
}

.o-switcher > * > * {
    margin: 1.2rem;
    -webkit-box-flex: 1; /** for wkhtmltopdf */ 
    flex: 1 1 auto;
}

.o-switcher--basis0 > * {
    page-break-inside: avoid;
}

.o-switcher--basis0  > * > * {
    width: 100%; /** for wkhtmltopdf */
    flex-basis: 0;
}

.o-switcher--no-grow > * > * {
    flex-grow: 0;
}

/* Gutter size modifiers
   ========================================================================== */
.o-switcher--tiny > * {
    margin: -0.3rem;
}

.o-switcher--tiny > * > * {
    margin: 0.3rem;
}

.o-switcher--small > * {
    margin: -0.6rem;
}

.o-switcher--small > * > * {
    margin: 0.6rem;
}

.o-switcher--large > * {
    margin: -2.4rem;
}

.o-switcher--large > * > * {
    margin: 2.4rem;
}

/** Alternate method using css gap property */
.ww-switcher {
	display: flex;
	box-sizing: border-box;
	gap: 1.2rem;
}

.ww-switcher--between{
    justify-content: space-between;
}

.ww-switcher--even > * {
    flex: 1 1 0;
}

.ww-switcher--small {
    gap: 0.6rem;
}

.ww-switcher--large {
    gap: 2.4rem;
}

.ww-switcher--xlarge {
    gap: 4.8rem;
}

.ww-switcher--centered {
    align-items: center;
    justify-content: center;
}

.ww-switcher--center-aligned {
    align-items: center;
}

.ww-switcher:not(.ww-switcher--media-wrap) {
    flex-wrap: wrap;
}

.ww-switcher--reverse{
    flex-wrap: wrap-reverse !important;
}

.ww-switcher--right {
    justify-content: flex-end;
}

@media screen and (max-width: 520px){
    .ww-switcher--media-wrap {
        flex-wrap: wrap;
    }
}
