.flex-sponsor-group {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    /* flex: 1 0 100%; */
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-align-content:stretch;
        -ms-flex-line-pack:stretch;
            align-content:stretch;
}

.flex-sponsor-group * {
    box-sizing: border-box;
}

.flex-sponsor-group__bg {
    margin: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    -webkit-box-flex: 1;
    -webkit-flex: 1 0 100%;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
    background-color: #f2f2f2;
}

.flex-sponsor-group-container {
    display:   -webkit-box;
    display:   -webkit-flex;
    display:   -ms-flexbox;
    display:   flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    padding-bottom: 2em;
}

#sponsors {
    /* compensate for undesirable permanent white border around `#content` */
    margin-left: -10px;
    box-sizing:  border-box;
    width:       calc(100% + 10px);
}

.flex-sponsor-group__title {
    font-weight: bold;
    padding: 1em 1em 0.1em;
}

.flex-sponsor-group__logo {
    display: block;
    /*padding:         0.1em 1em;*/
    -webkit-box-flex:            0;
    -webkit-flex:            0 0 20%;
        -ms-flex:            0 0 20%;
            flex:            0 0 20%;
    display:         -webkit-box;
    display:         -webkit-flex;
    display:         -ms-flexbox;
    display:         flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align:     center;
    -webkit-align-items:     center;
        -ms-flex-align:     center;
            align-items:     center;
}

.flex-sponsor-group__logo-img {
    display:block;
    max-width: 90%;
    width: 100%;
    height:    auto;
    padding: 0.1em 1.2em;
}

.flex-sponsor-group__logos {
    display:         -webkit-box;
    display:         -webkit-flex;
    display:         -ms-flexbox;
    display:         flex;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: center;
            justify-content: flex-start;
    -webkit-box-align:     center;
    -webkit-align-items:     center;
        -ms-flex-align:     center;
            align-items:     center;
    -webkit-flex-wrap:       wrap;
        -ms-flex-wrap:       wrap;
            flex-wrap:       wrap;
    min-height: 145px;
    height: 1%; /* IE workaround: http://stackoverflow.com/a/25386261/2014893 */
}

.flex-sponsor-group--gold {
    max-width: 70%;
    width: 70%;
    -webkit-flex-basis:       70%;
        -ms-flex-preferred-size:       70%;
            flex-basis:       70%;
}

.flex-sponsor-group--gold .flex-sponsor-group__bg {
    background-color: #cfcece;
}

.flex-sponsor-group--gold .flex-sponsor-group__logo-img {
    max-width: 70%;
    margin-top: -20px;
}

.flex-sponsor-group--gold .flex-sponsor-group__logo {
    max-width: 33%;
    width: 33%;
    -webkit-flex-basis: 33%;
        -ms-flex-preferred-size: 33%;
            flex-basis: 33%;
}

.flex-sponsor-group--platinum {
    max-width: 30%;
    width: 30%;
    -webkit-flex-basis:       30%;
        -ms-flex-preferred-size:       30%;
            flex-basis:       30%;
}

.flex-sponsor-group--platinum .flex-sponsor-group__bg {
    background-color: #615f5f;
    color:            white;
}

.flex-sponsor-group--platinum .flex-sponsor-group__logo {
    max-width: 100%;
    width: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
}

.flex-sponsor-group--media {
    max-width: 60%;
    width: 60%;
    -webkit-flex-basis: 60%;
        -ms-flex-preferred-size: 60%;
            flex-basis: 60%;
}

.flex-sponsor-group--hospitality {
    max-width: 25%;
    width: 25%;
    -webkit-flex-basis: 25%;
        -ms-flex-preferred-size: 25%;
            flex-basis: 25%;
}

.flex-sponsor-group--hospitality .flex-sponsor-group__logo {
    max-width: 50%;
    width: 50%;
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    padding:    0.1em 2em;
}

.flex-sponsor-group--curtain {
    max-width: 15%;
    -webkit-flex-basis: 15%;
        -ms-flex-preferred-size: 15%;
            flex-basis: 15%;
}

.flex-sponsor-group--curtain .flex-sponsor-group__logo {
    max-width: 100%;
    width: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding: 0 0.1em;
}