* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    position: relative;
    min-height: 100%;
}

.clearfix::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

.full-width {
    padding: 0 10%;
}

a {
    color: #000;
}

a:hover {
    text-decoration: underline;
    color: #000;
}

h1, h2, h3, h4, h5 {
    font-weight: normal;
}

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

p {
    margin: 0;
}

p strong {
    font-weight: 700;
}

hr {
    background: #000;
    border: none;
    height: 4px;
}

body {
    background: #fff;
    font-family: 'Roboto', sans-serif;
    font-weight: normal;
}

header {
    background: #fff;
}

#logo img {
    width: 140px;
    position: absolute;
    z-index: 100;
}

#logo h1 {
    text-indent: -99999px;
    outline: none;
}

header {
    padding: 30px 0 60px 0;
}

header .menu .nav li {
    display: block;
    width: 100%;
}

header .menu nav {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.header-social {
    padding-top: 30px;
}

header .menu {
    position: fixed;
    background: #fff000;
    height: 100%;
    width: 100%;
    z-index: 3;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    overflow-x: hidden;
    text-align: center;
}

header .menu a {
    color: #000;
    font-weight: 700;
    font-size: 40px;
    text-transform: uppercase;
}

header .menu a:hover {
    text-decoration: none;
}

header .social {
    float: right;
    margin: 5px 0 0 10px;
}

header .social li a {
    display: block;
    width: 43px;
    height: 40px;
    text-indent: -99999px;
    outline: none;
    background: url('img/social_instagram.png');
    background-size: 43px 80px;
}

header .social li a:hover {
    background-position: 0 -40px;
}

header .menu a {
    color: #000;
    display: inline-block;
    text-indent: -99999px;
    outline: none;
}

header .menu nav ul li {
    margin: 10px 0;
}

header .menu a.menu-work {
    width: 144px;
    height: 57px;
    background: url('img/menu_m_work.png') no-repeat;
    background-size: 144px 114px;
}

header .menu a.menu-work:hover, header .menu .active a.menu-work {
    background-position: 0 -57px;
}

header .menu a.menu-bio {
    width: 105px;
    height: 69px;
    background: url('img/menu_m_bio.png') no-repeat;
    background-size: 105px 138px;
}

header .menu a.menu-bio:hover, header .menu .active a.menu-bio {
    background-position: 0 -69px;
}

header .menu a.menu-shop {
    width: 126px;
    height: 77px;
    background: url('img/menu_m_shop.png') no-repeat;
    background-size: 126px 154px;
}

header .menu a.menu-shop:hover, header .menu .active a.menu-shop {
    background-position: 0 -77px;
}

header .menu a.menu-contact {
    width: 180px;
    height: 61px;
    background: url('img/menu_m_contact.png') no-repeat;
    background-size: 180px 122px;
}

header .menu a.menu-contact:hover, header .menu .active a.menu-contact {
    background-position: 0 -61px;
}

#menu-toggle {
    position: absolute;
    display: block;
    text-indent: -99999px;
    outline: none;
    background: url('img/responsive_menu.png');
    width: 50px;
    height: 35px;
    background-size: 50px 35px;
    top: 50px;
    right: 40px;
    z-index: 2;
}

#close-toggle {
    display: block;
    text-indent: -99999px;
    outline: none;
    background: url('img/responsive_menu_close.png');
    width: 35px;
    height: 35px;
    background-size: 35px 35px;
    position: absolute;
    top: 50px;
    right: 50px;
}

.hide-menu {
    display: none;
}

footer {
    background: #000;
    color: #fff;
    width: 100%;
    font-size: 13px;
    padding: 40px 0;
    text-align: center;
}

.footer-social {
    display: inline;
    margin: 0 0 0 20px;
}

.footer-social li a {
    display: block;
    text-indent: -99999px;
    outline: none;
    width: 20px;
    height: 20px;
}

.footer-social li {
    display: inline-block;
    margin: 0 5px 0 0;
}

.footer-social li.mail a {
    background: url('img/footer_mail.png');
    background-size: 20px 20px;
}

.footer-social li.instagram a {
    background: url('img/footer_instagram.png');
    background-size: 20px 20px;
}

#mobile-menu-social {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
}

#mobile-menu-social ul {
    text-align: center;
    float: left;
    clear: left;
    position: relative;
    left: 50%;
}

#mobile-menu-social ul li {
    margin: 0 5px;
    display: block;
    float: left;
    position: relative;
    right: 50%;
    width: auto;
}

#mobile-menu-social ul li a {
    display: block;
    text-indent: -99999px;
    outline: none;
    width: 40px;
    height: 40px;
}

#mobile-menu-social li.mail a {
    background: url('img/responsive_menu_mail.png');
    background-size: 40px 40px;
}

#mobile-menu-social li.instagram a {
    background: url('img/responsive_menu_instagram.png');
    background-size: 40px 40px;
}

/* Projects */

.full-overview {
    padding: 0 20px;
}

.featured-projects {
    border-top: 1px solid #000;
    position: relative;
    padding: 20px 0 80px 0;
    margin: 80px 0 0 0;
}

.featured-projects h4 {
    font-weight: 400;
    font-size: 13px;
    text-transform: uppercase;
    background-color: #fff;
    text-align: left;
    margin-top: -7px;
    position: absolute;
    left: 0;
    top: -2px;
    padding-right: 20px;
}

.project-wrapper .image img {
    width: 100%;
}

.project-row {
    margin-right: -10px;
    margin-left: -10px;
}

.project-wrapper {
    padding: 0 5px 10px 5px;
}

.projects-fetch-more {
    text-align: center;
}

a.project {
    display: block;
}

.project .image {
    position: relative;
}

.project .yellow {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    opacity: 0;
    transition: .5s ease;
    background: url(img/yellow_90.png);
    overflow: hidden;
}

a.project:hover .yellow {
    opacity: 1;
}

.project .yellow .info {
    padding: 20px;
    text-align: left;
    text-transform: uppercase;
}

.project .yellow .info h5 {
    font-weight: 900;
    font-size: 13px;
    margin: 0;
}

.project .yellow .info p {
    font-weight: 300;
    font-size: 13px;
    margin: 0;
}

/* Bio */

.yellow-row {
    background: #fff000;
}

#bio-content {
    padding: 200px 0 100px 0;
}

#bio-content h2 {
    font-weight: 900;
    font-size: 20px;
    margin: 0 0 20px 0;
}

#bio-content p {
    font-weight: 300;
    font-size: 14px;
    line-height: 170%;
}

.bio-content-row {
    padding: 0 50px;
}

.bio-content-2, .bio-content-3 {
    margin-top: 50px;
}

#bio-image {
    text-align: right;
    font-size: 14px;
    font-weight: 300;
    margin-bottom: -150px;
}

#bio-image img {
    width: 100%;
}

/* Contact / Project */

.contact-page, .project-page {
    text-align: center;
    font-weight: 300;
    font-size: 15px;
}

.contact-page h2, .project-page h2 {
    font-weight: 900;
    font-size: 30px;
    text-transform: uppercase;
    margin: 0;
}

.contact-page h3, .project-page h3 {
    font-weight: 300;
    font-size: 15px;
    text-transform: uppercase;
    background-color: #FFFF00;
    display: inline-block;
    margin: 0;
}

.project-page h4 {
    font-weight: 900;
    font-size: 15px;
    text-transform: uppercase;
}

.project-page .tags {
    font-style: italic;
}

.project-images img {
    width: 100%;
}

.project-image {
    padding-bottom: 30px;
}

#contact-image {
    margin-bottom: 50px;
}

#contact-image img {
    width: 100%;
    vertical-align: middle;
}

#contact-content {
    margin-bottom: 100px;
}

#project-content {
    padding: 50px 0 0 0;
}

#project-links {
    margin: 50px 0 0 0;
}

#project-links ul li {
    display: inline-block;
    margin: 0 5px;
}

#link-overview a {
    background: url('img/link_back.png');
    background-size: 70px 36px;
    display: inline-block;
    width: 70px;
    height: 36px;
    text-indent: -99999px;
    outline: none;
}

#link-next a {
    background: url('img/link_next.png');
    background-size: 85px 36px;
    display: inline-block;
    width: 85px;
    height: 36px;
    text-indent: -99999px;
    outline: none;
}

a.link-shop {
    text-indent: -99999px;
    outline: none;
    display: block;
    background: url('img/link_shop.png');
    background-size: 92px 92px;
    width: 92px;
    height: 92px;
    border-radius: 46px;
    margin: -25px 0 0 -20px;
    transition: .5s ease;
}

a.link-shop:hover {
    transform: rotate(20deg);
}

.project-url {
    width: 100%;
    text-align: center;
}

.project-url a.link-shop {
    margin: 20px auto 0 auto;
}

.video-container {
    position:relative;
    padding-bottom:56.25%;
    padding-top:30px;
    height:0;
    overflow:hidden;
    margin: 20px 0;
}

.video-container iframe, .video-container object, .video-container embed {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

/* General pages */

.content-blocks {
    width: 100%;
    position: relative;
    padding-bottom: 30px;
}

.content-blocks .image-block {
    margin: 30px 0;
}

.content-block {
    width: 100%;
    float: left;
}

.content-blocks .image-block img {
    width: 100%;
    border-top: 4px solid #C3D485;
}

.subtitle-block {
    margin: 20px 0;
}

.subtitle-block h2, .text-block h3 {
    font-weight: 400;
    font-size: 25px;
}

.text-block {
    margin: 20px 0;
    line-height: 150%;
}

.text-block p {
    font-weight: 400;
    font-size: 14px;
}

.text-block.content-quote p {
    font-weight: 400;
    font-size: 16px;
}

.photoalbum {
    margin-top: 20px;
    margin-bottom: 20px;
}

.photoalbum img {
    width: 100%;
}

.photoalbum .add-padding .row, .photoalbum .add-padding.row {
    padding-top: 10px;
    padding-bottom: 10px;
}

.photoalbum .add-padding .row .col-12, .photoalbum .add-padding.row .col-12 {
    padding-left: 10px;
    padding-right: 10px;
}

.photoalbum .description {
    padding: 20px !important;
    font-weight: 300;
    font-style: italic;
    font-size: 13px;
}

.mobile-padding .col-12 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.footer-menu-left {
    border-right: 1px solid #000;
}

.footer-menu-left ul {
    float: right;
    text-align: right;
}


@media only screen and (max-width: 800px), only screen and (max-device-width: 480px), only screen and (max-device-width: 1024px) and (orientation:portrait) {

}

@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {

}

/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {

    body {
        margin-bottom: 100px;
    }

    footer {
        position: absolute;
        bottom: 0;
        height: 100px;
        padding-bottom: 0;
    }

    .footer-address {
        text-align: left;
        padding-bottom: 0;
        padding-top: 0;
    }

    .mobile-padding .col-12 {
        padding-top: 0;
        padding-bottom: 0;
    }

    #mobile-menu-social {
        display: none;
    }

    .social-arrow {
        padding: 0;
        margin-top: -5px;
    }

    .social-arrow img {
        width: 80px;
        float: right;
    }

    #logo img {
        width: 140px;
    }

    header {
        padding: 30px 0 0 0;
    }

    .hide-menu {
        display: block;
    }

    header .menu nav {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
    }

    header .nav {
        text-align: center;
        float: left;
        clear: left;
        position: relative;
        left: 50%;
    }

    header .menu .nav li {
        margin: 0 5px;
        display: block;
        float: left;
        position: relative;
        right: 50%;
        width: auto;
    }

    header .menu {
        position: relative;
        background: none;
        height: auto;
        width: auto;
        left: auto;
        top: auto;
        bottom: auto;
        right: auto;
        text-align: left;
        padding-top: 20px;
        padding-bottom: 20px;
        overflow: hidden;
    }

    header .menu nav ul li {
        margin: 0;
    }

    header .menu a {
        color: #000;
        display: inline-block;
        text-indent: -99999px;
        outline: none;
    }

    header .menu a.menu-work {
        width: 96px;
        height: 38px;
        margin-top: 10px;
        background: url('img/menu_work.png') no-repeat;
        background-size: 96px 76px;
    }

    header .menu a.menu-work:hover, header .menu .active a.menu-work {
        background-position: 0 -38px;
    }

    header .menu a.menu-bio {
        width: 70px;
        height: 46px;
        margin-top: 6px;
        background: url('img/menu_bio.png') no-repeat;
        background-size: 70px 92px;
    }

    header .menu a.menu-bio:hover, header .menu .active a.menu-bio {
        background-position: 0 -46px;
    }

    header .menu a.menu-shop {
        width: 84px;
        height: 52px;
        background: url('img/menu_shop.png') no-repeat;
        background-size: 84px 104px;
    }

    header .menu a.menu-shop:hover, header .menu .active a.menu-shop {
        background-position: 0 -52px;
    }

    header .menu a.menu-contact {
        width: 120px;
        height: 41px;
        margin-top: 6px;
        background: url('img/menu_contact.png') no-repeat;
        background-size: 120px 82px;
    }

    header .menu a.menu-contact:hover, header .menu .active a.menu-contact {
        background-position: 0 -41px;
    }

    #close-toggle, #menu-toggle {
        display: none;
    }

    .bio-content-row {
        padding: 0 30px 0 15px;
    }

    .bio-content-2, .bio-content-3 {
        margin-top: 0;
    }

    .project-url {
        display: none;
    }

    .projects-fetch-more {
        display: none;
    }
}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {


}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}
