body {
    font-family: sans-serif;
    line-height: 1.5;
    color: #515E66;
    margin: 0 auto;
    max-width: 100em;
    box-sizing: border-box;
}

*, ::before, ::after { 
  box-sizing: inherit; 
}

a {
    color: #55c4c4;
    text-decoration: none;
}

input { 
    font-size: 16px; 
    border-radius: 0; 
    box-shadow: none; // remove iOS shadow 
    appearance: none; 
}

button, html input[type="button"], input[type="reset"], input[type="submit"] { 
    cursor: pointer; 
    -webkit-appearance: button; 
       -moz-appearance: button; 
            appearance: button; // reset button bg and radius in FF for Android 
    border-radius: 0; 
    background-image: none; 
}

header {
    width: 100%;
    overflow: hidden;
    clear: both;
    padding: 3em 5em 5em 5em;
}

.tagline {
    text-align: center;
    padding-top: 5em;
}

.tagline span {
    padding: 1.5em 0 0;
    display: table;
}

h1 {
    font-size: 2em;
    text-align: center;
    margin: 0;
    color: #515E66;
}

h2 { 
    font-size: 1.5em;
    margin-top: 0;
}

h3 {
    margin-top: 0.25em;
}

h5 {
    margin: 0;
}

h6 {
    margin: 0 0 1.5em 0;
}

h7 {
    font-size: 1.17em;
    font-weight: 700;
    display: block;
    margin-top: 0;
    margin-bottom: 0.75em;
}

.white { color: #fff; }

article { 
    display: -webkit-box; 
    display: -ms-flexbox; 
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    background: #ddd;
    margin-bottom: 5em;
}

.flags {
    display: block;
    text-align: center;
    text-transform: uppercase;
}

.flags ul { 
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.flags li {
    padding: 0.3em 0 0.3em 0;
    box-shadow: inset 0px 140px 10px -140px rgba(0,0,0,0.3);
}


/* FLAG STYLEZ */

    .flag { background: #ecb8b5; }

    .current {
        background: #ed1c24;
        color: #fff;
    }

    .nr {
        font-family: Georgia, serif;
        background: #515e66;
        color: #eee;
        font-size: 4em;
    }

    .virtualonline { background: #FF9880; }
    .talk { background: #55c4c4; }
    .elevator { background: #55c4c4; }
    .openmic { background: #549ce4; }
    .new2berlin { background: #7ee0e0; }
    .social { background: #a6ce39; }
    .drinks { background: #B5799D; }
    .bbq { background: #ff383f; }
    .discussion { background: #7997B5; }
    .workshop { background: #7997B5; }
    .food { background: #EFF1A5; }
    .jobs { background: #AFB168; }
    .party { background: #eaee5c; }


.asidemeta {
    text-align: center;
    margin: 1em;
    padding: 1em;
    background: #fff;
}

address {
    margin-top: 1em;
}

.headsup {
    color: #ed1c24;
}

.small {
    line-height: 0.75em;
    font-size: 0.75em;
}

.rsvp {
    text-align: center;
    margin: 1em;
    padding: 1em;
    background: #fff;
}

.getticket { 
    font-family: sans-serif; 
    font-size: 1rem; 
    border: 2px solid #fff;  
    border-radius: 3px; 
    letter-spacing: .03em; 
    color: #fff; 
    background-color: #a6ce39; 
    box-sizing: border-box; 
    height: 2rem; 
    padding: 0 18px; 
    display: inline-block; 
    margin: 0; 
    -webkit-transition: all 0.23s ease-in-out 0s; 
    transition: all 0.23s ease-in-out 0s;
}

.getticket:hover {
    background-color: #55c4c4; 
    cursor:pointer;
}

section {
    display: block;
}

.event {
    padding: 0.5em;
}

.intro {
    font-family: Georgia, serif;
    font-size: 1.25em;
    padding: 0 0.5em 0 0.5em;
    margin: 2em 0;
    font-style: italic;
}

.intro a {
    background: #eee;
    padding-left: 0.15em;
    padding-right: 0.15em;
    display: inline-block;
}

.session {
    padding: 1em;
    margin-bottom: 1em;
    background: #eee;
}

.bio {
    padding: 1em 1em;
    margin-bottom: 0.5em;
    background: #eee;
}

.center {
    display: block;
    text-align: center;
}

.cta_archive {
    margin: -2em 1em 3em;
    text-align: center;
}

.cta_mailinglist {
    padding: 3em 2em;
    text-align: center;
    background: #55c4c4;
}

.cta_social {
    padding: 3em 2em;
    text-align: center;
    background: #fff;
}

.team {
    display: block; 
    padding: 1em;
    background: #515E66;    
}

.team a {
    font-size: 0.83em;
}

.team ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between; 
}

.team li {
    text-align: center;
    padding: 1em;
    margin: 0 0 -1em 0;
    display: block;
    width: 50%;
}

.team li img {
    max-width: 100%;
}

.sponsor {
    text-align: center;
    padding: 7em 2em 7em 2em;
}

.sponsorlogo {
    max-width: 5em;
}

/* MailChimp Form Embed Code - Horizontal Super Slim - 12/16/2015 v10.7
Adapted from: http://blog.heyimcat.com/universal-signup-form/ 
Removed some ballast and adapted to IxDA Berlin needs May 26 2016 */
#mc_embed_signup {clear:left; width:100%;}
#mc_embed_signup form {text-align:center; line-height: 1.5em; padding:1em;}
.mc-field-group { display: inline-block; } /* positions input field horizontally */
#mc_embed_signup input.email {font-family:sans-serif; font-size: 1rem; border: 1px solid #fff; border-radius: 3px; color: #515E66; background-color: #fff; box-sizing:border-box; height:2rem; padding: 0 0.4em; display: inline-block; margin: 0; width:100%; max-width:23rem; }
#mc_embed_signup .clear {display: inline-block;} /* positions button horizontally in line with input */
#mc_embed_signup .button {font-family:sans-serif; font-size: 1rem; border: 2px solid #fff; border-radius: 3px; letter-spacing: .03em; color: #fff; background-color: #55c4c4; box-sizing:border-box; height:2rem; padding:0 18px; display: inline-block; margin: 0; -webkit-transition: all 0.23s ease-in-out 0s; transition: all 0.23s ease-in-out 0s;}
#mc_embed_signup .button:hover {background-color:#a6ce39; cursor:pointer;}

@media (max-width: 54em) {
    #mc_embed_signup input.email {width:100%; max-width:23rem; margin-bottom:0.575rem;}
    #mc_embed_signup .clear {display: block; width: 100% }
    #mc_embed_signup .button { width:100%; max-width:23rem; margin:0; }
}


@media (min-width: 42em) {
    
    .logo {
        width: 30%;
        float: left;
    }
    
    .tagline {
        font-size: 0.8em;
        width: 60%;
        text-align: right;
        padding-top: 0;
        float: right;
        display: block;
        text-align: right;
        vertical-align: top;
        margin: 0;
    }
    
    .tagline span {
        padding: 0;
        display: inline;
    }
    
    h1 {
        text-align: left;
    }
    
    article {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
        margin: 0 5em 5em;
        padding: 0 2em;
    }
    
    .event {
        padding: 1em 2em 2em 0;
    }
    
    aside { 
        min-width: 14em;
        max-width: 30%;
    }
    
    .asidemeta {
        margin: 1em 0 5em;
    }
    
    .rsvp {
        margin: 1em 0 0em;
    }

    .cta_archive {
        font-size: 1.5em;
        margin-top: 0;
    }
    
    .cta_mailinglist {
        font-size: 2em;
        margin: 0 5rem;
        max-width: 90em;
    }
    
    .cta_social {
        font-size: 1.5em;
    }
    
    .team {
        padding: 1em 2em 0.5em 2em;
    }
    
    .team li {
        width: 25%;
    }
}

@media (min-width: 67em) {
    
    .logo {
        width: 20%;
    }
    
    .tagline {
        width: 70%;
        font-size: 1em;
    }
    
}

@media (min-width: 90em) {
    
    .team {
        margin: 0 5em;
        max-width: 90em;
    }
    
}