* {
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

a img { border:0; }

html, body {
    background: #ffffff;
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    line-height: 1.2;
    font-size: 18px;
    font-size: 2vw;
    font-weight: bold;
    color: #222;
    text-align: center;
}

body {
    padding: 0;
    margin: 0;
}




/* COLORS */

.red { color: #CC2A36; }
.yellow { color: #F7CF1B; }
.green { color: #2DBD69; }
.blue { color: #0066A6; }
.pink { color: #FF5E96; }
.darkgray { color: #222222; }





h1 {
    margin-top: 0.25em;
    margin-bottom: 0.25em;
    font-size: 4em;
}

a {
    text-decoration: none;
    color: #222;
}

ul {
    padding: 0 0 0 1em;
}

p {
    margin-top: 0.5em;
}



#header {
    height: 12em;
    text-align: left;
    position: relative;
    margin: 0 4vw;
}





#header #logo {
    display: block;
    float: left;
    margin: 2.5vw 0 0.25em 0;
}

#header #logo img {
    width: 12vw;
    display: block;
}


#header h1 {
    display: block;
    clear: left;
    height: 1em;
    margin: 0 0 0 -0.05em;
    line-height: 1;
    font-size: 6em;
    letter-spacing: -0.01em;
}


.name_tag {
    text-align: right;
}

#header .name_tag {
    color: #777;
    display: block;
    position: absolute;
    right: 0;
    bottom: 0.3vw;
}

.name_tag h2 {
    text-transform: uppercase;
    font-size: 0.8em;
    letter-spacing: 0.08em;
    margin-bottom: 0.2em;
}

.name_tag h5 {
    margin: 0;
    font-size: 0.5em;
    letter-spacing: 0.1em;
}



.rainbow_links {
    letter-spacing: 0.02em;
    font-size: 2.3vw;
}

#header .rainbow_links {
    position: absolute;
    left: 0;
    bottom: 0;
}

#footer .rainbow_links {
    text-align: left;
}

.rainbow_links a {
    margin-right: 1em;
    color: #FFF7E8;
}

.rainbow_links a.video  { color: #CC2A36; }
.rainbow_links a.design { color: #F7CF1B; }
.rainbow_links a.web    { color: #2DBD69; }
.rainbow_links a.photo  { color: #0066A6; }
.rainbow_links a.fun    { color: #FF5E96; }


#footer {
    padding: 4em 2em 1em 2em;
}

#footer2021b {
    height: 33vw;
    background-color: #eee;
    background-image: url('/portfolio/images/Heinzel3.jpg');
    background-size: 100% auto;
    background-position: center bottom;
}

#footer_links {
    text-align: right;
    padding-top: 4vw;
    margin-right: 4vw;
    letter-spacing: 0.02em;
    font-size: 2.2vw;
}

#footer_links a {
    padding: 0.7vw 1.1vw 0.8vw 1.1vw;
}

/*
#footer_links a:hover {
    background: #fff;
}
*/


.anchor {
    display: block;
    position: relative;
    top: -2em;
    visibility: hidden;
}

.item {
    padding: 2em 3em 1.75em 3em;
    background: white;
    border-radius: 2px;
    margin: 4vw;
    box-sizing: border-box;
    position: relative;
    text-align: left;
    overflow: auto;
    color: #222;
}

.item img {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 1em;
}

.item h3 {
    font-size: 1.2em;
    margin: 1.25em 0.25em 0 0;
    font-weight: bold;
    color: #222;
}

.item p {
    font-size: 0.7em;
    font-weight: normal;
    max-width: 750px;
    line-height: 1.5;
    letter-spacing: 0.01em;
}

.item p a {
    font-weight: bold;
}

.item p a:hover {
    text-decoration: underline;
}

.more {
    font-size: 0.55em;
    text-transform: uppercase;
    display: block;
    float: right;
    margin-right: -0.2em;
    width: 5.25em;
    text-align: right;
    padding-right: 1.6em;
    margin-top: 3.1em;
    padding-top: 0.025em;
    background-image: url('/portfolio/images/arrow1.png');
    background-repeat: no-repeat;
    background-size: 1.25em;
    background-position: right top;

}




@media screen and (max-width: 650px) {
    
    body {
        font-size: 3vw;
    }
    
    #header {
        margin: 0 1em;
        height: 11em;
    }
    
    #header h1 {
        padding-top: 1vw;
    }
    
    #header .name_tag {
        bottom: auto;
        top: 1.25vw;
    }
    
    .item {
        margin: 1em;
        padding: 0.5em 1em 0.5em 1em;
    }
    
    .item p {
        max-width: 100%;
    }
    
    .item img {
        margin-top: 0.75em;
    }
      
    .anchor {
        top: -1em;
    }
    
    #footer {
        padding: 1.5em 1em;
    }
    
}

