body {
    margin: 0;
    padding: 0;
    font-family: 'Karla', sans-serif;
    font-weight: 320;
    background-color: #f7f7f7; /* light beige */
    color: #5b5c4e;
    height: 100%;
    overflow: hidden;
}

header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.2rem;
    /*font-family: 'Avenir bold', sans-serif;*/
    font-weight: 500;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 40px 80px;
    box-sizing: border-box;
}

.email-icon {
    margin-bottom:5px;
    width:23px;
    height:23px;
    vertical-align:middle;
    background-image: url('assets/img/email.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.2s ease;
    display: inline-block;
}

.email-icon:hover {
    background-image: url('assets/img/email-hover.png');
}

.link {
    text-decoration: underline;
}

nav a {
    margin-left: 30px;
    transition: color 0.2s ease;
}

a {
    color: #5b5c4e;
    text-decoration: none;
}

a:hover {
    color: #9C3BCC;
}

main {
    max-width: 790px;
    margin: 0 auto;
    padding: 0 30px;
    margin-top: 100px; /* Reasonable margin below fixed header */
    box-sizing: border-box;
}

span{
    font-size: 1.05rem;
    font-weight: 500;
    /* font-family: "Averia Sans Libre", sans-serif; */
}

.highlight1 {
    color: #F5840C;
}
.highlight2 {
    color: #e53935;
}
.highlight3 {
    color: #DA356E;
}
.highlight4 {
    color: #9C3BCC;
}
.highlight5 {
    color: #6B6BE2;
}
.highlight6 {
    color: #7D8921;
}
.highlight7 {
    color: #316C0F;
}

h1 {
    font-size: 1.7rem;
    font-weight: 500;
    text-align: center;
    margin-top: 50px;
    margin-bottom:0px;
    /*color: #5b5c4e;*/
}

.fruit-word {
    cursor:pointer;
    pointer-events:auto; /* words should receive clicks even though canvas covers page */
}

#stage { position:fixed; left:0; top:0; width:100%; height:100%; pointer-events:none; display:block; }
.content { padding:36px; max-width:900px; margin:0 auto; line-height:1.7; position:relative; z-index:1; }

@media (max-width: 500px) {
    header {
        padding: 30px 45px !important;
        font-size: 1.2rem;
        position: relative !important;
    }
    main{
        margin-top: 20px !important;
        max-width: 95% !important;
    }
    main > div:first-child h1 {
        margin-top: 20px !important; /* Remove top margin since header takes space */
    }
    body{ overflow: auto !important; }
    nav a {
        margin-left: 20px;
    }
    h1 {
        font-size: 1.5rem;
    }
}


/* Mobile class targeting for JavaScript-detected mobile devices */
.mobile .fruit-word {
    cursor: default !important;
    pointer-events: none !important;
}

.mobile #stage {
    display: none !important;
}

.mobile body {
    overflow: auto !important;
}

