
/* //////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////// DOCUMENT /// */
/* //////////////////////////////////////////////////////////////////////////////// */

html { height: 100%; }
body{
    color: #30312b;
    font-family: 'Space Mono', monospace;
    font-size: 19px;
    line-height: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
}
header,
main,
footer {
    position: relative;
    width: calc(100% - 152px);
    max-width: 1600px;
}
@media (max-width: 632px) {
    header,
    main,
    footer {
        width: 480px;
    }
}
@media (max-width: 520px) {
    header,
    main,
    footer {
        position: relative;
        width: calc(100% - 40px);
    }
}


/* //////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////// TYPOGRAPHY /// */
/* //////////////////////////////////////////////////////////////////////////////// */

h3{
    font-family: 'Rubik Mono One', sans-serif;
    font-size: 28px;
    line-height: 1;
    padding-bottom: 25px;
    border-bottom: 1px solid #000000;
    margin-bottom: 30px;
}

p{
    margin-bottom:20px;
}

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

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


/* //////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// HEADER /// */
/* //////////////////////////////////////////////////////////////////////////////// */

header {
    z-index: 2;
    height: 0;
    color: #ffffff;
}
nav,
header .slogan {
    top: 48px;
}
@media (max-width: 632px) {
    nav,
    header .slogan { top: calc(((((100vw - 520px) / 112) * 28) + 20px)); }
}
@media (max-width: 520px) {
    nav,
    header .slogan { top: 20px; }
}

/* ------------------------------------------------------------------------ NAV --- */

nav {
    position: absolute;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
nav a {
    color: #ffffff;
    font-size: 19px;
    line-height: 26px;
    text-decoration: none;
}
nav a:hover { text-decoration: underline; }

/* --------------------------------------------------------------------- SLOGAN --- */

header .slogan {
    position: absolute;
    right: 0px;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-family: 'Rubik Mono One', sans-serif;
    font-size: 28px;
    line-height: 1;
}


/* //////////////////////////////////////////////////////////////////////////////// */
/* /////////////////////////////////////////////////////////////////////// MAIN /// */
/* //////////////////////////////////////////////////////////////////////////////// */

main {
    flex-grow: 1;
}
main section {
    min-height: 300px;
    position: relative;
    display: flex;
}

/* -------------------------------------------------------------------- FEATURE --- */

section.feature {
    max-height: 864px;
    height: 60vw;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
}
section.feature.home { background-image: url(../../lib/feature_dough.jpg); }
section.feature.booking{ background-image: url(../../lib/feature_pinch.jpg); }
section.feature.events{ background-image: url(../../lib/feature_pizza01.jpg); }
section.feature.delivery{ background-image: url(../../lib/feature_clap.jpg); }
section.feature.contact{ background-image: url(../../lib/feature_pizza02.jpg); }
section.feature.terms { background-image: url(../../lib/feature_dough.jpg); }
section.feature::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
}
section.feature h1 {
    position: absolute;
    top: 0;
    bottom: 48px;
    left: 0;
    right: 0;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    pointer-events: none;
}
section.feature.home h1 { background-image: url(../gfx/title_suede.svg); }
section.feature.booking h1 { background-image: url(../gfx/title_booking.svg); }
section.feature.events h1 { background-image: url(../gfx/title_events.svg); }
section.feature.delivery h1 { background-image: url(../gfx/title_delivery.svg); }
section.feature.contact h1 { background-image: url(../gfx/title_contact.svg); }
section.feature.terms h1 { background-image: url(../gfx/title_terms.svg); }

@media (max-width: 1000px) {
    section.feature {
        min-height: 600px;
    }
}

/* -------------------------------------------------------------------- LISTING --- */

section.listing {
    background:#fbf0f0;
    flex-direction: column;
}
section.listing::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
    z-index: -1;
}

section.listing > * {
    width: 100%;
}

section.listing dl div{
    display: flex;
    flex-direction: row;
    border-bottom: solid 1px #000000;
    padding: 60px 0px 25px 0px;
}

section.listing dl{
    margin-bottom: 110px;
}

section.listing dl dt,
section.listing dl dd {
    width: 50%;
}

.bannertitle{
    max-width:100%;
    margin-top: 125px;
}

@media (max-width: 1000px) {
    .bannertitle{
        margin-top: 40px;
    }
    section.listing dl dt{
        width: 25%;
    }
    section.listing dl dd {
        width: 75%;
    }
}

@media (max-width: 520px) {
    
    section.listing dl{
        margin-bottom: 50px;
    }
    
    section.listing dl div{
        display: flex;
        flex-direction: column;
        padding: 20px 0px 20px 0px;
    }
    section.listing dl dt,
    section.listing dl dd {
        width: 100%;
    }
    
    
}

/* ----------------------------------------------------------------------- INFO --- */

section.info {
    background:#fbf0f0;
    flex-direction: row;
}
section.info::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
    z-index: -1;
}
section.info > * {
    width: 50%;
    margin: 55px 0px;
}
section.info .text {
    font-family: 'Rubik Mono One', sans-serif;
    font-size: 28px;
    line-height: 1;
    padding: 0px 200px 0px 0px;
}

section.info form div{
    display: flex;
    flex-direction: row;
    border-bottom: solid 1px #000000;
    margin: 30px 0px 0px 0px;
    padding-bottom:10px;
}

section.info form div:nth-child(1) {
    border-top: solid 1px #000000;
    padding-top:30px;
    margin: 0px;
  }

section.info form div:nth-last-child(1) {
    border-bottom: none;
  }

section.info form div label{
    width: 50%;
}

section.info form div input{
    width: 50%;
    border: none;
    background-color: #fbf0f0;
    opacity: 0.4;
    font-family: 'Space Mono', monospace;
    font-size: 19px;
    line-height: 26px;
}

section.info textarea {
    width: 100%;
    height: 150px;
    padding: 0px;
    box-sizing: border-box;
    border: none;
    border-radius: 0px;
    background-color: #fbf0f0;
    font-family: 'Space Mono', monospace;
    font-size: 19px;
    line-height: 26px;
    opacity: 0.4;
    resize: none;
  }

section.info input[type="image"] {
    width:138px; 
    height: auto;
    opacity: 1;
}

@media (max-width: 1300px) {
    section.info {
        flex-direction: column;
    }
    section.info .text {
        width: 100%;
        padding: 0px 0px 0px 0px;
        margin: 55px 0px 0px 0px;
    }
    section.info form {
        width: 100%;
        padding: 0px 0px 0px 0px;
    }
}

/* --------------------------------------------------------------------LOCATION --- */

section.location {
    flex-direction: row;
}
section.location > * {
    width: 50%;
}
section.location #map {
    background-color: #fbf0f0;
    width: calc(50vw - 30px);
    min-height: 400px;
    margin-left: calc(50% - 50vw);
}

section.location #map .marker {
    background-image: url('../gfx/map.png');
    background-size: cover;
    width: 40px;
    height: 40px;
    cursor: pointer;
  }  

section.location .work {
    background:#ffffff;
    display: flex;
    flex-direction: row;
    padding: 55px 0px;
    margin-left: 30px;
}
section.location .work::after {
    content: '';
    position: absolute;
    width: 50vw;
    height: 100%;
    top: 0;
    right: calc(50% - 50vw);
    background: inherit;
    z-index: -1;
}

section.location .address{
    width: 50%;
    display: flex;
    flex-direction: column;
}
section.location .hours{
    width: 50%;
    margin-left: 30px;
}

section.location .hours dl dt{
    opacity: 0.4;
}

@media (max-width: 1000px) {
    section.location {
        flex-direction: column;
    }
    section.location #map{
        width: 100vw;
        height:300px;
        
        }
    section.location .work{
        width: 100%;
        margin-left: 0px;
    }
    section.location .work::after {
        content: none;
    }
    section.location #map::before {
        content: none;
    }
}

@media (max-width: 520px) {
    section.location .work{
        flex-direction: column;
    }
    section.location .address{
        width: 100%;
    }
    section.location .hours{
        width: 100%;
        margin-left: 0px;
        margin-top:55px;
    }
}

/* --------------------------------------------------------------------- ACTION --- */

section.action {
    background-color: #fbf0f0;
    font-family: 'Rubik Mono One', sans-serif;
    font-size: 28px;
    line-height: 1;
    flex-direction: column;
    PADDING: 55px 0px;
}
section.action::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
    z-index: -1;
}

/* --------------------------------------------------------------------- LEGAL --- */

section.legal {
    background:#fbf0f0;
    flex-direction: column;
    padding-top:50px;
}
section.legal::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
    z-index: -1;
}

section.legal > * {
    width: 100%;
}

section.legal p{
    margin-bottom:40px;
}


/* //////////////////////////////////////////////////////////////////////////////// */
/* ///////////////////////////////////////////////////////////////////// FOOTER /// */
/* //////////////////////////////////////////////////////////////////////////////// */

footer {
    background: #ffffff;;
    display: flex;
    flex-direction: row;
    background-image: url(../gfx/footer.jpg);
    background-position: bottom 25px left 0px;
    background-repeat: no-repeat;
    background-size: 125px;
    padding: 55px 0px 166px 0px;
}
footer::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
    background-image: unset;
    z-index: -1;
}
footer .footer-address{
    width: 50%;
    padding:0px 30px 0px 0px;
}
footer .footer-hours{
    width: 25%;
    padding:0px 30px 0px 0px;
}
footer .footer-connect{
    width: 25%;
}

footer .footer-address .slogan-footer{
    display: flex;
    flex-direction: column;
    font-size: 28px;
    line-height: 1;
}

footer .footer-address .slogan-footer div{
    opacity: 0.4;
}

footer .footer-address .slogan-footer div:nth-child(1) {
    opacity: 1.0;
}

footer .footer-connect .sociallinks{
    display: flex;
    flex-direction: column;
}

footer .footer-hours h3,
footer .footer-connect h3{
    height:110px;
    max-height:110px;
    border-bottom: 1px solid #000000;
    margin-bottom: 30px;
    padding-top: 70px;
}

footer .footer-hours dl dt{
    opacity: 0.4;
}







.legal-links {
    position: relative;
    width: calc(100% - 152px);
    max-width: 1600px;
}
@media (max-width: 632px) {
    .legal-links {
        width: 480px;
    }
}
@media (max-width: 520px) {
    .legal-links {
        position: relative;
        width: calc(100% - 40px);
    }
}

.legal-links {
    background: #ffffff;;
    display: flex;
    flex-direction: row;
}
.legal-links::before {
    content: '';
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    left: calc(50% - 50vw);
    background: inherit;
    background-image: unset;
    z-index: -1;
}

.legal-links{
    margin:0px 0px 30px 0px;
}


@media (max-width: 1000px) {
    footer {
        flex-direction: column;
        background-position: bottom 25px left 0px;
        padding: 55px 0px 255px 0px;
    }

    footer .footer-address{
        width: 100%;
        padding:0px 0px 0px 0px;
    }
    footer .footer-hours{
        width: 100%;
        padding:0px 0px 0px 0px;
    }
    footer .footer-connect{
        width: 100%;
    }
}

/* //////////////////////////////////////////////////////////////////////////////// */
/* //////////////////////////////////////////////////////////////////// CAPTCHA /// */
/* //////////////////////////////////////////////////////////////////////////////// */

.grecaptcha-badge { display: none; }
