@import url("https://use.typekit.net/xsj5uqy.css");


*{
    padding:0;
    margin:0;
    box-sizing:border-box;
}
body{
    font-family: myriad-pro, sans-serif;
    font-style: normal;
    background:#FFF;
    color:#000;
    font-size:62.5%;
    scroll-behavior: smooth;
    opacity:1;
    overflow-x:hidden;
}
body.loaded{
    opacity:1;
    -webkit-transition:all .6s cubic-bezier(.35,-0.01,0,1);
    -moz-transition: all .6s cubic-bezier(.35,-0.01,0,1);
    -o-transition: all .6s cubic-bezier(.35,-0.01,0,1);
    transition:all .6s cubic-bezier(.35,-0.01,0,1);
}
.hidden{
    opacity:0;
}
.fade-in{
    opacity:0;
    -webkit-transform:translateY(10%);
    -moz-transform:translateY(10%);
    -o-transform:translateY(10%);
    transform:translateY(10%);
    -webkit-transition:all .6s cubic-bezier(.35,-0.01,0,1);
    -moz-transition: all .6s cubic-bezier(.35,-0.01,0,1);
    -o-transition: all .6s cubic-bezier(.35,-0.01,0,1);
    transition:all .6s cubic-bezier(.35,-0.01,0,1);
}
.in-view{
    opacity:1;
    -webkit-transform:translateY(0%);
    -moz-transform:translateY(0%);
    -o-transform:translateY(0%);
    transform:translateY(0%);
}
.content-container{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.spacer{
    height:60px;
}
h2{
    font-size:2rem;
    margin-bottom:3rem;
}
h4{
    font-size:1.2rem;
    text-transform: uppercase;
    letter-spacing: 7px;
}
p{
    font-size:1.2rem;
    line-height: 2rem;
    font-weight:300;
    margin-bottom:2rem;
}
section{
    position: relative;
    width:100%;
    margin:auto;
    padding:40px 10%;
    text-align:center;
}
#menu-btn{
    display:none;
}
header nav{
    background:#242424;
    position: fixed;
    top:0px;
    padding:20px 5%;
    right:0%;
    display:flex;
    justify-content: space-between;
    width:100%;
    z-index:1001;
}
header nav li{
    position: relative;
    font-weight:300;
    display:inline-block;
    text-transform: uppercase;
}
header nav li a{
    font-size:.7rem;
    letter-spacing: 2px;
    padding-bottom:4px;
    color:#FFF;
    text-decoration: none;
    border-bottom: 0px solid #FFF;
}
header nav li a:hover{
    border-bottom: 1px solid #FFF;
}
header nav li .subnav{
    position: absolute;
    background:#242424;
    top:20px;
    left:0;
    display:none;
    z-index:-1;
}
header nav li .subnav li{
    display:block;
    padding:15px 10px;
}
header nav li .subnav li:first-child{
    padding-top:30px;
}
header nav li:hover > .subnav{
    display:block;
}
#top{
    width: 100%;
    height:100vh;
}
#home{
    height:95vh;
    width:100%;
    padding:unset;
    background:#242424;
    overflow:hidden;
}
#home .background{
    filter:grayscale(1);
    opacity:0.1;
    height: 100%;
    width: 100%;
    object-fit: cover;
    z-index:-1;
}
#logo{
    position: relative;
    width:840px;
    margin-bottom:60px;
    z-index:1;
}
#about{
    width:100%;
    max-width:1200px;
}
#about img{
    display:block;
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
}
#products{
    display:flex;
    flex-wrap:wrap;
    padding:unset;
    position:relative;
    margin-bottom:0px;
    align-items: center;
    max-width:1600px;
}
#products hr{
    display: block;
    position: relative;
    width: 100vw;
    height: 2px;
    border: none;
    border-bottom: 2px dotted #ccc;
    float: left;
    clear:both;
}
.product-blurb .product-logo{
    width:300px;
    height: auto;
}
.product-blurb{
    flex-basis:33%;
    padding:40px 10% 40px;
    color:#242424;
}
#products video{
    width:50%;
    height:auto;
}
#product-slideshows{
    display:flex;
    padding:unset;
    position:relative;
    margin-bottom:120px;
}
.product{
    position: relative;
    flex:1;
    width:50%;
    height:50vw;
    overflow:hidden;
}
.slider-overlay{
    width:100%;
    height: 100px;
    position: absolute;
    bottom:0;
    left: 0;
    opacity:0;
    -webkit-transition:opacity .3s cubic-bezier(.35,-0.01,0,1);
    -moz-transition: opacity .3s cubic-bezier(.35,-0.01,0,1);
    -o-transition: opacity .3s cubic-bezier(.35,-0.01,0,1);
    transition:opacity .3s cubic-bezier(.35,-0.01,0,1);
    z-index:-1;
    pointer-events:none;
}
.product:hover .slider-overlay{
    opacity:1;
    z-index:5;
    pointer-events:auto;
}
.slider-controls-container{
    position: absolute;
    font-size:2rem;
    font-weight:700;
    color:#FFF;
    width: 100%;
    height:40px;
    bottom:40px;
    display:flex;
    justify-content: center;
}
.slider-controls{
    padding:20px;
    cursor:pointer;
    -webkit-transition:opacity .6s cubic-bezier(.35,-0.01,0,1);
    -moz-transition: opacity .6s cubic-bezier(.35,-0.01,0,1);
    -o-transition: opacity .6s cubic-bezier(.35,-0.01,0,1);
    transition:opacity .6s cubic-bezier(.35,-0.01,0,1);
}
.slider-controls:hover{
    opacity:0.5;
}
#park-jams .slide{
    background:#eec900;
}
#box-lunch .slide{
    background:#9ad2c9;
}
.slide{
    width:100%;
    height:50vw;
    position: absolute;
    top:0;
    left:0;
    opacity:0;
    -webkit-transition:opacity .6s cubic-bezier(.35,-0.01,0,1);
    -moz-transition: opacity .6s cubic-bezier(.35,-0.01,0,1);
    -o-transition: opacity .6s cubic-bezier(.35,-0.01,0,1);
    transition:opacity .6s cubic-bezier(.35,-0.01,0,1);
    pointer-events:none;

}
.product-slides-container .slide:nth-child(3){
    background:#000!important;
}
.slide.active{
    opacity:1;
    pointer-events:auto;
}
.slide img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.slide video{
    width:100%;
    height:auto;
    position: absolute;
    top: 50%;
    left:50%;
    transform:translate(-50%,-50%);
    padding:20px;
    z-index:2;
    pointer-events:none;
}
.active video{
    pointer-events: auto;
}
.slide-bg-video{
    filter:blur(10px);
    height:120% !important;
    width:auto !important;
    z-index:1 !important;
}
form{
    display:flex;
    flex-wrap: wrap;
    width:60%;
    margin:auto;
}
#submitted-text{
    display:none;
}
#error-text{
    display:none;
    color:red;
}
input[type=text],
input[type=email]{
    -webkit-appearance: none;
    outline:none;
    border:none;
    flex-basis:100%;

    padding:10px;
    border-bottom:4px solid #000;
    margin-bottom:40px;
}
textarea{
    flex-basis:100%;
    border:4px solid #000;
    padding:10px; 
}
button{
    background:#000;
    color:#FFF;
    padding:10px 30px;
    margin-top:40px;
}
footer{
    background:#000;
    padding:80px 10% 160px;
}
footer #social-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    width:50%;
    margin:120px auto;
}
footer #social-links p{
    flex-basis:50%;
    text-align:center;
}
footer #social-links img{
    width:50px;
    margin-top:10px;
    height:auto;
    text-align:center;
}
footer #social-links img:hover{
    opacity:0.5;
}
footer p{
    color:#CCC;
}
footer nav{
    margin:auto;
    display:flex;
    justify-content: space-between;
    width:50%;
}
footer nav li{
    font-weight:300;
    display:inline-block;
    text-transform: uppercase;
}
footer nav li a{
    font-size:1rem;
    letter-spacing: 2px;
    padding-bottom:4px;
    color:#CCC;
    text-decoration: none;
    border-bottom: 0px solid #FFF;
}
footer nav li a:hover{
    color:#FFF;
    border-bottom: 1px solid #FFF;
}
footer #contact-info{
    margin:120px auto;
    text-align:center;
}
footer #contact-info p{
    line-height:1rem;
}
footer #contact-info a{
    color:#CCC;
    text-decoration: none;
    line-height:1rem;
}
footer #contact-info a:hover{
    color:#FFF;
}
@media only screen and (max-width: 1400px) {
    #product-slideshows{
        flex-wrap:wrap;
    }
    .product{
        width:100%;
        height:90vh;
        flex:unset;
    }
    .slide{
        height:90vh;
    }
}
@media only screen and (max-width: 1300px) {
    footer nav{
        width:100%;
    }
    section{
        padding:40px 5%;
    }
    form{
        width:100%;
    }
}
@media only screen and (max-width: 1020px) {
    .product-blurb{
        flex-basis:100%;
    }
    #products video{
        width:100%;
        padding:unset;
    }
    #products hr{
        display:none;
    }

}
@media only screen and (max-width: 800px) {
    #menu-btn{
        display:block;
        position: fixed;
        bottom:20px;
        right:20px;
        font-size:1rem;
        letter-spacing: 2px;
        color:#FFF;
        background:#242424;
        padding:20px;
        z-index:10001;
        -webkit-transition:transform .3s cubic-bezier(.35,-0.01,0,1);
        -moz-transition: transform .3s cubic-bezier(.35,-0.01,0,1);
        -o-transition: transform .3s cubic-bezier(.35,-0.01,0,1);
        transition:transform .3s cubic-bezier(.35,-0.01,0,1);

        cursor:pointer;
    }
    #menu-btn.open{
        transform:translateX(-60vw);   
    }
    header nav{
        position:fixed;
        top:unset;
        bottom:0px;
        width:60vw;
        height:100vh;
        right:0px;
        justify-content: space-between;
        flex-direction:column;
        padding: 40px;
        transform:translateX(60vw);   
        -webkit-transition:all .3s cubic-bezier(.35,-0.01,0,1);
        -moz-transition: all .3s cubic-bezier(.35,-0.01,0,1);
        -o-transition: all .3s cubic-bezier(.35,-0.01,0,1);
        transition:all .3s cubic-bezier(.35,-0.01,0,1);
    }
    #wrap{
        -webkit-transition:transform .3s cubic-bezier(.35,-0.01,0,1);
        -moz-transition: transform .3s cubic-bezier(.35,-0.01,0,1);
        -o-transition: transform .3s cubic-bezier(.35,-0.01,0,1);
        transition:transform .3s cubic-bezier(.35,-0.01,0,1);
    }
    #wrap.open{
        transform:translateX(-60vw);   
    }
    header nav.open{
        transform:translateX(0vw);
        -webkit-box-shadow: 10px 10px 110px 0px rgba(0,0,0,0.75);
        -moz-box-shadow: 10px 10px 110px 0px rgba(0,0,0,0.75);
        box-shadow: 10px 10px 110px 0px rgba(0,0,0,0.75);
    }
    header nav li a{
        font-size:1rem;
    }
    header nav li .subnav{
        display:block;
        position: relative;
        z-index:unset;
    }
    header nav li .subnav a{
        color:#CCC;
    }
    footer nav{
        display:none;
    }
}
@media only screen and (max-width: 680px) {
    .content-container{
        width:100%;
    }
    #logo{
        width:100%;
    }
    footer #social-links{
        width:100%;
    }
}
@media only screen and (max-width: 400px) {

}