/*
Theme Name: David Black 2016
Theme URI: http://www.example.com/
Description: A theme for WordPress.
Author: Dave Funkhouser, Drew Baker, Funkhaus
Author URI: http://www.funkhaus.us
Version: 1.0

Fonts:
    font-family: 'adobe-caslon-pro', serif;
        font-weight: 400;
        font-weight: 700;

Colors:
    Black: #000000;
    Gray: #B2B2B2;

/*-------------------------------------------------------------- */


/*
 * Globals
 */
    body {
        font-family: 'adobe-caslon-pro', serif;
        font-size: 14px;
        color: #000000;
        margin: 0;
        padding: 0;
        letter-spacing: 0.5px;
    }
    h1,h2,h3,h4,h5,h6 {
        margin: 0;
        padding: 0;
        line-height: 1;
        font-weight: normal;
    }
    ::selection {
        color: #ffffff;
        background: #000;
    }
    ::-moz-selection {
        color: #ffffff;
        background: #000;
    }
    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.1);
        z-index: 1;
    }


/*
 * Links
 */
    a {
        color: #000000;
        text-decoration: none;
        outline: none;
    }
    a:hover {
        color: #000000;
        text-decoration: none;
    }
    a img {
       border: none;
    }


/*
 * Page Structure
 */
    #container {
        position: relative;
        padding-top: 40px;
        box-sizing: border-box;
    }
    #header {
        top: 0;
        left: 0;
        right: 0;
        position: fixed;
        padding: 0 25px;
        background-color: #ffffff;
        color: #B2B2B2;
        font-size: 17px;
        height: 40px;
        overflow: hidden;
        z-index: 100;
        box-sizing: border-box;

        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    #content {
        overflow: hidden;
    }
    #footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background-color: #ffffff;
        height: 25px;
        z-index: 100;
    }


/*
 * Utilities
 */
    #tagline {
        display: none;
    }


/*
 * Menus
 */
    .menu-panel {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: 0;
        height: 100%;
        background-color: #ffffff;
        overflow: hidden;
        z-index: 500;
        padding: 0;
        box-sizing: border-box;
    }
    .menu-panel .wrap {
        width: 50vw;
        height: 100%;

        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .menu-panel .close-menu {
        font-size: 17px;
        padding: 0 20px;
        cursor: pointer;
        position: absolute;
        left: 175px;
        top: 11px;
        width: 90px;
    }
    .main-menu {
        position: relative;
        left: 180px;
        padding: 0;
        margin: 0;
        list-style: none;
        font-size: 17px;
        line-height: 1;
        color: #B2B2B2;
    }
    .main-menu a {
        display: inline-block;
        padding: 15px;
        color: inherit;
    }
    .main-menu:hover a {
        color: #B2B2B2;
    }
    .main-menu .current-page-ancestor > a,
    .main-menu .current-menu-item > a,
    .main-menu a:hover {
        color: #000000;
    }
    #click-blocker {
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 499;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    /* Submenu opened */
    .main-menu .sub-menu {
        list-style: none;
        margin: 0;
        padding: 0;
        display: none;
    }
    .main-menu .sub-menu a {
        font-style: italic;
    }
    .main-menu.sub-menu-opened a {
        color: #B2B2B2;
    }
    .main-menu.sub-menu-opened .is-opened a {
        color: #000000;
    }
    .main-menu.sub-menu-opened .is-opened .sub-menu a:hover {
        color: #B2B2B2;
    }

    /* Menu Opened */
    .menu-opened .menu-panel {
        width: 50vw;
    }
    .menu-opened #click-blocker {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
    .menu-opened .slideshow .meta {
        opacity: 0;
    }
    .menu-opened .entry {
        opacity: 0;
    }
    .menu-opened .image-block.in-view .title {
        opacity: 0;
    }
    .menu-opened .browse {
        opacity: 0;
    }


/*
 * Header
 */
    .hidden-header #header {
        opacity: 0;
    }
    .header-block {
        height: 17px;
        margin: 17px 0 0 0;

        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .block-1,
    .block-4 {
        width: 170px;

        -webkit-order: 0;
        -ms-flex-order: 0;
        order: 0;
        -webkit-flex: 0 1 170px;
        -ms-flex: 0 1 170px;
        flex: 0 1 170px;
        -webkit-align-self: auto;
        -ms-flex-item-align: auto;
    }
    .block-2,
    .block-5 {
        width: calc(70% - 170px);

        -webkit-order: 0;
        -ms-flex-order: 0;
        order: 0;
        -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        -webkit-align-self: auto;
        -ms-flex-item-align: auto;
        align-self: auto;
    }
    .block-3,
    .block-6 {
        width: 30%;

        -webkit-order: 0;
        -ms-flex-order: 0;
        order: 0;
        -webkit-flex: 0 1 30%;
        -ms-flex: 0 1 30%;
        flex: 0 1 30%;
        -webkit-align-self: auto;
        -ms-flex-item-align: auto;
        align-self: auto;
    }
    .header-block a {
        color: inherit;
    }
    .header-block a:hover {
        color: #000000;
    }
    .header-block .link {
        font-size: 16px;
        font-style: italic;
        color: #000000;
    }
    .button {
        display: inline-block;
        position: relative;
        cursor: pointer;
        padding: 0 20px;
        left: -20px;
    }
    .button:hover {
        color: #000000;
    }
    .slideshow-button {
        font-style: italic;
        font-size: 16px;
    }
    .slideshow-button.hidden {
        display: none;
    }
    .slideshow-button .close-slideshow {
        position: absolute;
        top: 0;
        left: 20px;
        bottom: 0;
        opacity: 0;
    }
    .slideshow-button .open-slideshow {
        position: relative;
    }
    .page-title {
        font-size: 16px;
        font-style: italic;
        color: #000000;
    }
    .header-block .counter {
        font-size: 14px;
        color: #000000;
    }
    .logo {
        color: #000000;
    }

    /* Tall header */
    .tall-header #container {
        padding-top: 90px;
    }
    .tall-header #header {
        height: 80px;
        padding-top: 4px;
    }
    .tall-header .slideshow {
        height: calc(100vh - 115px);
    }
    .tall-header .menu-panel .close-menu {
        top: 15px;
    }


/*
 * Slideshow
 */
    .slideshow {
        position: relative;
        height: calc(100vh - 65px);
        margin: 0 25px;
    }
    .slideshow .slides {
        position: absolute;
        z-index: 0;
        height: 100%;
        width: 100%;
        overflow: hidden;
    }
    .slide {
        position: absolute;
        top: 0;
        left: 0;
        height: 100% !important;
        width: 100% !important;
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: contain;
        background-color: #ffffff;
        overflow: hidden;
        color: #000000;
    }
    .slide .wrap {
        top: 0;
        left: 0;
        position: absolute;
        height: 100%;
        width: calc(100vw - 50px - 30% - 25px);
        overflow: hidden;
    }
    .slide .image {
        position: absolute;
        font-size: 0;
        top: 0;
        left: 0;
        background-color: #000000;
    }
    .slide img {
        display: block;
    }
    .slide iframe {
        position: absolute;
        top: 0;
        left: 0;
        display: none;
    }
    .slide .overlay {
        opacity: 0;
        bottom: 0;
        left: 0;
        top: 0;
        background-color: transparent;
    }
    .slide .link {
        position: absolute;
        bottom: 100px;
        left: 100px;
        right: 0;
        top: 100px;
        font-size: 28px;
        color: #ffffff;
        line-height: 1;

        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .slide .link p {
        margin-left: 70px;
    }
    .slide .link em {
        font-size: 35px;
        font-style: italic;
    }
    .slide .meta {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 30%;
        top: 0;
        margin: auto;
        line-height: 1.4;
        color: inherit;
        z-index: 10;

        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-align-content: center;
        -ms-flex-line-pack: center;
        align-content: center;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .slide .meta .spacer {
        height: 160px;
    }
    .slide .meta .caption {
        padding: 25px;
        margin-left: -25px;
        font-size: 14px;
        color: inherit;
    }
    .slide .meta .caption em {
        font-size: 16px;
    }
    .slide .meta .counter {
        font-size: 14px;
        height: 160px;
    }
    .slide .counter em {
        margin: 0 3px 0 0;
        display: inline-block;
    }
    .slideshow .browse {
        position: absolute;
        z-index: 10;
    }
    .slideshow .prev {
        left: -25px;
        width: 180px;
        top: 0;
        bottom: 100px;
        cursor: pointer;
        cursor: url(images/arrow-left.svg), auto;
    }
    .slideshow .next {
        right: -25px;
        width: 100%;
        max-width: calc(30% - 150px);
        min-width: 180px;
        top: 0;
        bottom: 100px;
        cursor: url(images/arrow-right.svg), auto;
    }
    .slideshow .down {
        right: 0;
        left: 0;
        bottom: -25px;
        height: 160px;
        cursor: url(images/arrow-down.svg), auto;
    }

    /* Video Slide */
    .showing-video-slide .browse.down {
        display: none;
    }
    .showing-video-slide iframe {
        display: block;
    }

    /* Hovered state */
    .is-hovered .overlay {
        opacity: 1;
    }
    .is-hovered .image img {
        opacity: 0.5;
    }


/*
 * Home
 */
    .home #header {
        color: #000000;
    }
    .home .main-menu {
        color: #000000;
    }
    .home .browse.next {
        background-image: url(images/arrow-right.svg);
        background-repeat: no-repeat;
        background-position: right 25px center;
        top: 100px;
        bottom: 100px;
    }
    .home .browse.down {
        display: none;
    }

/*
 * Work Detail
 */
    .work-detail .page-title {
        opacity: 0;
    }
    .work-detail .slide .wrap {
        width: 100%;
    }
    .work-detail .slideshow {
        position: absolute;
        top: 90px;
        left: 0;
        right: 0;
        z-index: 20;
        background-color: #ffffff;
        display: none;
    }

    /* Start in Slideshow mode */
    .view-slideshow .slideshow {
        opacity: 1;
        display: block;
    }
    .view-slideshow .image-grid {
        display: none;
    }

    /* Slideshow opened */
    body.slideshow-opened {
        overflow-y: scroll;
    }
    .slideshow-opened .open-slideshow {
        opacity: 0;
    }
    .slideshow-opened .close-slideshow {
        opacity: 1;
    }
    .slideshow-opened.work-detail .page-title {
        opacity: 1;
    }


/*
 * Image Grid
 */
    .image-grid {
        z-index: 10;
        position: relative;
        background-color: #ffffff;
        width: 100%;
        min-height: calc(100% - 90px);
    }
    .image-grid .wrap {
        position: relative;
        margin: 0 12.5px;
        min-height: 100%;
    }
    .grid-sizer,
    .image-block {
        width: 50%;
        float: left;
        position: relative;
        padding: 0 12.5px;
        box-sizing: border-box;
        margin-bottom: 25px;
    }
    .image-block .thumbnail {
        position: relative;
        height: 0;
        width: 100%;
        z-index: 0;
    }
    .image-block .thumbnail img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        font-size: 0;
        opacity: 0;
    }
    .image-block .overlay {
        background-color: rgba(0, 0, 0, 0.1);
    }
    .image-block .title {
        position: absolute;
        bottom: 30px;
        left: 170px;
        z-index: 10;
        color: #ffffff;
        font-size: 18px;
        font-style: italic;
        line-height: 1.2;
        opacity: 0;
    }
    .image-block:nth-child(even) .title {
        left: auto;
        right: 0;
        width: calc(30vw - 20px);
    }
    .image-block:hover .overlay {
        background-color: rgba(0, 0, 0, 0.3);
    }
    /* Block loading and view states */
    .image-block.in-view .thumbnail img ,
    .image-block.in-view .title {
        opacity: 1;
    }


/*
 * Contact
 */
    #content.contact {
        position: relative;
        height: calc(100vh - 40px - 20px);
        margin-left: 25px;
    }
    .contact .entry {
        font-size: 14px;
    }
    .contact .entry a:hover {
        color: #777777;
    }
    .contact .row {
        line-height: 1.3;
        height: 50%;
        position: absolute;

        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-align-content: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .contact .row-1 {
        top: 0;
        left: 170px;
    }
    .contact .row-2 {
        top: 50%;
        right: 0;
        width: 30%;
    }
    .contact .entry em {
        font-size: 16px;
    }
    .contact .entry p {
        margin: 0.6em 0;
    }
    .contact .thumbnail {
        position: absolute;
        bottom: 25px;
        left: 0;
        background-size: contain;
        width: 50%;
        height: 50%;
        background-position: bottom left;
        background-repeat: no-repeat;
    }
    .contact .thumbnail img {
        display: none;
    }
    .contact .post-edit-link {
        position: absolute;
        bottom: 0;
        right: 0;
    }

/*
 * Fotn loading behavior
 */
    .hide-font-fouc {
        opacity: 0;
    }
    .wf-active .hide-font-fouc {
        opacity: 1;
    }



/*
 * Animations
 */
    /* Color */
    .entry a,
    .button,
    .header-block a,
    .logo,
    .slide,
    .menu a {
        transition: color 0.4s;
    }

    /* Opacity */
    .page-title,
    .entry,
    .image-block .title,
    .image-block,
    .hide-font-fouc,
    .thumbnail img,
    .overlay,
    .slide .image img,
    .overlay,
    .browse {
        transition: opacity 0.4s;
    }

    /* Opacity and Background-color */
    .overlay {
        transition: opacity 0.4s, background-color 0.4s;
    }

    /* Everything */
    .menu-panel,
    svg path {
        transition: 0.4s;
    }



/*
 * Wordpress Required
 */
    .post-edit-link {
        font-size: 10px;
        text-transform: uppercase;
    }
	.alignleft {
	    display: inline;
	    float: left;
	}
	.aligncenter {
	    clear: both;
	    display: block;
	    margin: 0 auto 10px auto;
	}
	.alignright {
	    display: inline;
	    float: right;
	}
	img.alignleft {
	    margin: 0 10px 10px 0;
	}
	img.alignright {
	    margin: 0 0 10px 10px;
	}
	img.aligncenter {
	    margin: 0 auto 10px auto;
	}
	.wp-caption {
	    background: #f1f1f1;
	    color: #888;
	    text-align: center;
	    margin-bottom: 15px;
	    width: auto !important;
	    -moz-border-radius: 0 0 4px 4px;
	    border-radius: 0 0 4px 4px;
	}
	.wp-caption img {
	    margin: 0px;
	}
	.wp-caption p.wp-caption-text {
	    margin: 0 0 5px;
	    padding: 4px;
	    font-style: italic;
	}