/*Font*/
@import url(http://fonts.googleapis.com/css?family=Raleway:700,400);



body {
    margin: 0;
    padding: 0;

    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    color: #333;
    background-color: #e4ede4;


    -webkit-touch-callout: none;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;

    --accent-color: #006308;
}

body.noscroll {
    overflow: hidden;
    height: 100%;
}

html.noscroll::-webkit-scrollbar,
body.noscroll::-webkit-scrollbar {
    display: none;
}

/*Menu Wrapper*/
#menu-wrapper {
    -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-out;
       -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-out;
            transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

#menu-wrapper.on {
    opacity: 0;
}

/*Masthead*/
#masthead {
    color: #333;
    margin: 30px auto 0 auto;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 320px;
}

#masthead .logo {
    position: relative;
    margin-left: 10px;
    width: 48px;
    height: 48px;
}

#masthead .message h1, h3 {
    padding: 0;
    margin: 0;
}

#masthead .message h3 {
    color: var(--accent-color);
}

#masthead a:link, #masthead a:visited, #masthead a:hover {
    padding: 0px 5px;
    text-decoration: none;
    color: inherit;
}

/*Sections*/
.info {
    position: relative;
    margin: 10px auto;
    width: 960px;
    overflow: hidden;

    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.info h3, h4, p {
    margin: 0;
}

.info h4 {
    margin-left: 10px;
}

.info hr {
    clear: both;
    margin-left: 10px;
    margin-right: 10px;
}

.info article {
    float: left;
    width: 300px;
    padding: 10px;
}

.info article:hover p {
    color: #111;
}

.info article:nth-of-type(3n+1) {
    clear: left;
}

.info .project {
    cursor: pointer;
}

.info .project h3 {
    margin-bottom: 3px;
}

.info .project p {
    padding: 5px;
    color: #333;
    margin-top: -4px;
}

.info .project .tech-list {
    color: var(--accent-color);
    font-size: 12px;
    text-transform: lowercase;
}

.info .project p strong {
    color: #333;
}

.info .about {
    padding: 10px;
    overflow: hidden;
}

.info .about h2 {
    padding: 0;
    margin: 0;
}

.info .about p, .info .other-info p {
    color: #333;
}

.info .about p strong, .info .other-info p strong {
    color: #333;
}

.info .about .about-face {
    float: left;
}

.info .about .about-right {
    float: left;
    padding-left: 20px;
    width: 740px;
}

.info .other-info {
    clear: left;
    padding: 10px;
    text-align: right;
}

.info .about a:link, .info .about a:hover, .info .about a:visited,
.info .other-info a:link, .info .other-info a:hover, .info .other-info a:visited {
    color: var(--accent-color);
}

.info .about a:link, .info .about a:hover, .info .about a:visited {
    text-decoration: none;
}


/*Popup*/
#popup {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #fbfbf8;

    -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-out;
       -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-out;
            transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

#popup.off {
    -webkit-transform: scale(0.2);
       -moz-transform: scale(0.2);
            transform: scale(0.2);

    opacity: 0;
}

#popup.on {
   -webkit-transform: scale(1);
      -moz-transform: scale(1);
           transform: scale(1);

    opacity: 1;
}

#popup .close {
    position: fixed;
    left: 10px;
    top: 10px;
    padding: 5px 10px;
    border: 1px solid #333;
    color: #333;
    background-color: #FFF;
}

#popup .close:hover {
    color: #111;
}

#popup .content {
    width: 100%;
    height: 100%;

    overflow: auto;
    -webkit-overflow-scrolling: touch;
       -moz-overflow-scrolling: touch;
            overflow-scrolling: touch;
}

#popup .container {
    position: relative;
    margin: 15px auto;
    width: 960px;
}

/*Popup content*/
#popup .content a:link,
#popup .content a:hover,
#popup .content a:visited {
    color: var(--accent-color);
}

#popup .content .container .project-detail div h1, h2, h3, p{
    margin: 0;
    padding: 0;
}

#popup .content .container .project-detail div p {
    color: #444;
}

#popup .content .container .project-detail img.head {
    display: block;
    width: 300px;
    height: 300px;
    margin: 0 auto;
}

#popup .content .container .project-detail hr.head {
    margin: -35px 0 0 0;
    padding: 0;
}

#popup .content .container .project-detail div.head {
    margin-top: 32px;
    text-align: center;
}

#popup .content .container .project-detail .detail {
    overflow: hidden;
}

#popup .content .container .project-detail .pad {
    margin-top: 60px;
}

#popup .content .container .project-detail .column-2 {
    padding: 10px;
    float: left;
    width: 460px;
}

#popup .content .container .project-detail .column-2 img {
    display: block;
    margin: 0 auto;
    /*width: 440px;*/
}

#popup .content .container .project-detail .large-image img {
    margin: 0 auto;
    display: block;
    width: 640px;
}

#popup .content .container .project-detail .under {
    margin-top: 10px;
    padding-top: 5px;
}

#popup .content .container .project-detail p.large {
    font-size: 22px;
}

#popup .content .container .project-detail p.caption {
    text-align: center;
    font-size: 12px;
}


/*Footer/Shoe*/
.shoe {
    height: 150px;
    clear: both;
}

.animate {
    -webkit-transition:1s;
       -moz-transition:1s;
            transition:1s;
}

.hide {
    display: none;
}

.invisible {
    visibility: hidden;
}

.rounded {
   -webkit-border-radius: 48px;
      -moz-border-radius: 48px;
           border-radius: 48px;
}

.item-box {
    background-color: #fff;
    outline: 1px solid var(--accent-color);
    overflow: hidden;
    border-radius: 4px;
}

.item-box img {
    border-bottom: 1px solid var(--accent-color);
}

.nowrap {
    white-space: nowrap;
}

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

.margin-center {
    display: block;
    margin: 0 auto;
}

.inline {
    display: inline;
}

.code {
    font-family: monospace;
    color: var(--accent-color);
    background-color: rgba(255, 255, 255, 0.4);
    padding: 3px;
}

/*On Tablet*/
/*iPad*/
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px),
only screen
and (min-width: 640px)
and (max-width: 959px)
{
    .info {
        width: 640px;
    }

    .info article:nth-of-type(3n+1) {
        clear: none;
    }

    .info article:nth-of-type(2n+1) {
        clear: left;
    }

    .info .about .about-right {
        width: 420px;
    }

    #popup .container {
        width: 640px;
    }

    #popup .content .container .project-detail .column-2 {
        width: 290px;
    }

    #popup .content .container .project-detail .column-2 img {
        width: 270px;
    }
}


/*On Mobile*/
/*iPhone*/
@media only screen
and (min-device-width : 320px)
and (max-device-width : 568px),
only screen
and (min-device-width : 320px)
and (max-device-width : 480px),
only screen
and (min-width: 0px)
and (max-width: 639px)
{
    #masthead {
        height: 180px;
    }

    #masthead .message {
        margin-top: 30px;
    }

    #masthead .message h1 {
        font-size: 24px;
    }

    #masthead .external {
        display: block;
    }

    #clear-button {
        top: auto;
        bottom: 10px;
    }

    .info {
        width: 320px;
    }

    .info article:nth-of-type(3n+1) {
        clear: none;
    }

    .info article:nth-of-type(2n+1) {
        clear: none;
    }

    .info .project .item-box {
        overflow: hidden;
    }

    .info .project img {
        float: left;
        width: 96px;
    }

    .info .project p {
        float: left;
        width: 194px;
        height: 86px;
        margin-top: 0;
        overflow: hidden;
    }

    .info .about .about-face {
        float: none;
    }

    .info .about .about-right {
        float: none;
        padding-left: 0;
        margin-top: 10px;
        width: 300px;
    }

    .item-box img {
        border-bottom: none;
    }

    #popup .container {
        width: 320px;
    }

    #popup .content .container .project-detail img.head {
        width: 180px;
        height: 180px;
    }

    #popup .content .container .project-detail .column-2 {
        width: 300px;
        float: none;
    }

    #popup .content .container .project-detail .column-2 img {
        width: 280px;
    }

    #popup .content .container .project-detail .video-wrapper img.video-thumb {
        width: 100%;
        height: auto;
    }

    #popup .content .container .project-detail .large-image img {
        width: 300px;
    }
}
