/* ---------------------------------------------------------------------- */
/*  Settings -> Variables
/* ---------------------------------------------------------------------- */


:root {

    /* Colors */

    --main-bg-color: #FFF;
    --secondary-bg-color: rgba(250, 250, 250, .87);

    --main-font-color: #000;
    --secondary-font-color: rgba(5, 5, 1, .66);
    --tertiary-font-color: #999;

    --error-color: #bf1a1a;


    /* Typography */

    --main-font-family: 'Roboto Mono', sans-serif;
    --serif-font: 'Moon Flower', serif;

    --base-font-size: 13px;
    --smaller-font-size: .7rem; /* 11px */
    --small-font-size: .8rem; /* 12px */
    --big-font-size: 3rem; /* 48px */
    --bigger-font-size: 4.28rem; /* 60px */


    /* Box Model */
 
    --spacer: 36px;
    --spacer-2x: 72px;
    --spacer-2x-neg: -72px;
    --spacer-3x: 108px;
    --spacer-half: 18px;

    --logo-width: 250px;
    --drawer-width: 33vw;

    --site-margin: 10vw;

    --banner-height: 550px;
    --heading-title-height: 80px;
    --heading-subtitle-height: 55px;

}

@media all and (min-width: 1690px) {

    :root {
        --bigger-font-size: 4rem;
        --site-margin: 140px;
    }

}

@media all and (max-width: 800px) {

    :root {
        --bigger-font-size: 2rem;

        --spacer: 20px;
        --spacer-2x: 50px;
        --spacer-half: 10px;
        --logo-width: 150px;

        --site-margin: var(--spacer-2x);
    }

}

@media all and (max-width: 700px) {

    :root {
        --base-font-size: 12px;
        --big-font-size: 2rem;
    }

}

@media all and (max-width: 600px) {

    :root {
        --spacer-2x: 40px;
        --drawer-width: 85vw;
        --site-margin: var(--spacer);
    }

}

@media all and (max-width: 360px) {

    :root {
        --logo-width: 140px;
    }

}


/* ---------------------------------------------------------------------- */
/*  Generic –> Box Sizing
/* ---------------------------------------------------------------------- */

*, *:before, *:after {box-sizing: border-box; border-radius: none;}


/* ---------------------------------------------------------------------- */
/*  Generic –> Shared
/* ---------------------------------------------------------------------- */

html, body {font-family: var(--main-font-family); font-size: var(--base-font-size); font-weight: 300; color: var(--main-font-color); line-height: 1.7; letter-spacing: 1px; background: #FFF}
body {margin-top: var(--main-height);}

hr {display: block; height: 1px; margin: 1em 0; padding: 0; border: 0; border-top: 1px solid #ccc;}

h1 {margin: 0 0 var(--spacer) 0; font-family: var(--serif-font); font-size: var(--bigger-font-size);  line-height: 1; color:#000;}
h2 {margin: 0 0 var(--spacer) 0; line-height: 1; font-weight: 300; text-transform: uppercase; font-size: 14px; letter-spacing: 1px;}

h4, h5, h6 {margin: 0; font-weight: 400; text-transform: uppercase;}
h3 {margin:var(--spacer) 0 9px 0; font-family: var(--serif-font); font-size: 22px; font-weight: 300; line-height: 1;}

a {color: var(--main-font-color); text-decoration: none; transition: .6s;}
a:hover {opacity: .8; text-decoration: none;}

p a {text-decoration: underline;}
p:first-child {margin-top: 0;}
p:last-child {margin-bottom: 0;}
.center {text-align: center;}

img {display: block; max-width: 100%;}
nav ul {margin: 0; padding: 0; list-style: none;}

section {padding: var(--spacer-2x);}
input[type="text"], input[type="email"], select {border-radius: 0; -webkit-appearance: none;}
label.error {display: none!important}
label.terms.error{display: block!important;}
input.error, .error {color: #cc1b1b;}
input.error::-webkit-input-placeholder {color: #cc1b1b}
textarea.error::-webkit-input-placeholder {color: #cc1b1b}




/* ---------------------------------------------------------------------- */
/*  Elements –> Header
/* ---------------------------------------------------------------------- */

.header-main {padding: 23px var(--spacer);}
.site-logo {width: var(--logo-width); margin: 0 auto; position: relative; z-index: 10;}

.welcome-page header {position: absolute; top: 0; left: 0; width: 100%; z-index: 104}

.reservations {background: #000; color: #fff; cursor: pointer; text-decoration: none; padding: 10px 20px; text-transform: uppercase; position: fixed; top: var(--spacer); right: var(--spacer); letter-spacing: 3px; z-index: 9999;}

header a.basket {position: fixed; right: 220px; top:50px; cursor: pointer; z-index: 9999}
header a.basket span {display: flex; justify-content: center; align-items: center; width: 20px; height: 20px; background: #000; border-radius: 50%; font-size: 11px; color: #fff; text-align: center; position: absolute; top: -8px; right: -12px;}

@media all and (max-width: 768px) {

  .header-main {padding: 70px var(--spacer) 0;}
  header a.basket {top:34px; right: 190px;}

}


/* ---------------------------------------------------------------------- */
/*  Pages -> Home
/* ---------------------------------------------------------------------- */

.main-photo {position: relative; width: 100%; height: 100vh; padding: 0}
.main-photo img {width: 100%; height: calc(100vh); object-fit: cover;}
section.home-text {margin-top: var(--spacer-3x)}
.small-container {width:70%; max-width: 700px; margin: 0 auto;}

.ementa h1 {margin-bottom: var(--spacer);}
.ementa p {margin: 20px 0;}
.ementa em {font-size: 12px;}

section.redpepper .grid {display: grid; grid-template-columns: 1fr 30vw 1fr; grid-gap: var(--spacer); align-items: center; width: 80%; margin: 0 auto;}

section.redpepper .text:first-of-type {text-align: right; align-self: flex-end;
    margin-bottom: 100px; transform: translateX(30px);}

section.redpepper .text:last-of-type {text-align: left; align-self: flex-start;
    margin-top: 100px;}


section.redpepper h4 {margin-bottom: 20px; font-weight: 300;}

section.instagram {background: #F4F4F4; padding: var(--spacer)}
section.instagram #instafeed {display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: 20px;}
section.instagram #instafeed img {width:100%; object-fit: cover; height: calc((100vw / 6) - 30px) }

@media all and (max-width: 768px) {

.small-container {width: 100%; max-width: 100%;}

  .main-photo {height: auto; margin-top: 180px; padding: 0;}
  .main-photo img {height: auto; margin: 0;}
  section.home-text {margin-top: var(--spacer)}
  .overlay {display: none;}

  section.redpepper .grid {display: block; text-align: center; width: 100%; grid-gap: 0}
  section.redpepper figure {margin: var(--spacer-2x) 0;}
  section.redpepper .text:first-of-type, section.redpepper .text:last-of-type {text-align: center!important;}

  section.instagram #instafeed {grid-template-columns: repeat(2, 1fr);}
  section.instagram #instafeed img {height: calc((100vw / 2) - 30px);}

}

@media all and (min-width: 768px) and (max-width: 1023px) {
  .main-photo {margin-top: 0px}
  section.ementa {padding-top: 0; padding-bottom: 0; width: 70vw; margin: 0 auto}
  section.redpepper .grid {display: grid;}
  section.instagram #instafeed {grid-template-columns: repeat(3, 1fr);}
  section.instagram #instafeed img {height: calc((100vw / 3) - 30px);}

}



/* ---------------------------------------------------------------------- */
/*  Elements –> Navigation
/* ---------------------------------------------------------------------- */

.nav-main {display: flex; justify-content: center; align-items: center; flex-flow: column; width: 100%; height: 100vh; background: #FFF; position: fixed; top: 0; left: 0; z-index: -2; transition: opacity 0.4s linear; opacity: 0; pointer-events: none;}
.nav-main li {font-size: 14px; text-transform: uppercase; text-align: center; line-height: 2.5;}

.nav-main img {width: 50vw; position: absolute; bottom: 0; z-index: -1;}

.nav-is-open  {overflow: hidden;}
.nav-is-open .nav-main { opacity: 1; z-index: 1; pointer-events: unset;}
.nav-is-open .site-logo {position: fixed; left: 50%; transform: translateX(-50%);}

.hamburger {width: 40px; height: 40px; padding: 10px; position: fixed; top: 42px; left: calc(var(--site-margin) / 2 - 20px); z-index: 3;}
.hamburger:focus {outline: 0;}
.hamburger-box {width: 20px; height: 16px;}
.hamburger-inner {margin-top: -1px;}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {width: 40px; height: 1px; background-color: var(--main-font-color);}
.hamburger-inner::before {top: -5px;}
.hamburger-inner::after {bottom: -5px;}



@media all and (max-width: 768px) {

  .hamburger {top: 20px; left: 20px;}

  .nav-main img {width: 80vw; margin-top: 40px;}

}

/* ---------------------------------------------------------------------- */
/*  Elements –> Main
/* ---------------------------------------------------------------------- */

main {width: 100%;}

@media all and (max-width: 768px) {


}

/* ---------------------------------------------------------------------- */
/*  Elements –> Footer
/* ---------------------------------------------------------------------- */

footer {width: 100%; padding: var(--spacer-2x);}
footer p {display: inline-block; margin: 0 var(--spacer-2x) 0 0; font-size: var(--small-font-size); color: var(--secondary-font-color); vertical-align: top;}
footer a {color: var(--secondary-font-color); text-decoration: none; position: relative;}
footer a:after{content: ""; position: absolute; height: 1px; width: 0%; background: #979796ba; left: 0px; bottom: 0; transition: width 0.3s ease;}
footer a:hover:after {width: 100%;}

footer div.form {max-width:360px; display: inline-block; margin: 0 var(--spacer-2x) 0 0; font-size: var(--small-font-size); color: var(--secondary-font-color); vertical-align: top;}
footer form label {display: block; margin-bottom: 16px;}
footer form input {width: 300px; height: 40px; padding: 5px 10px; background-color: #fff; border: 1px solid #707070; font-size: var(--small-font-size); font-weight: 300; letter-spacing: 1px;}
footer form button {width: 50px; height: 40px; padding: 0; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8.562' height='18.642' viewBox='0 0 8.562 18.642'%3E%3Cpath d='M8518.659,1468l7.517,9.6-7.517,8.4' transform='translate(-8518.266 -1467.692)' fill='none' stroke='%23707070' stroke-width='1'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; border: 1px solid #707070; border-left: none; text-indent: -99999px; cursor: pointer; -webkit-appearance: none; position: relative;  display: inline; margin:0; top: -1px;}
footer form button:hover {background-color: #F4F4F4;}
footer .newsletterfeedback {margin-top: 10px;}

.newsletterfeedback {display: none;}

@media all and (max-width: 768px) {

    footer {padding: var(--spacer)}
    footer p {display: block; margin: 0 0 var(--spacer);}
    footer form {margin: 0}
    footer form input {width: 200px;}
    

}

@media all and (min-width: 768px) and (max-width: 1023px){
footer {padding: var(--spacer-2x)}
    footer p {margin: 0 var(--spacer) 0 0; display: inline-block;}
}


/* ---------------------------------------------------------------------- */
/*  Pages –> Single Page
/* ---------------------------------------------------------------------- */

.pages-page .main-grid .aside {position: relative; left: calc(var(--site-margin) / 2 * -1);}
.pages-page .aside .img-block {padding-bottom: 100%;}
.pages-page .aside.map {margin-left: calc(var(--site-margin) / 2 * -1);}

.page-top-image {width: 100%; max-width: 800px; margin: 0 auto;}

.page-top-image.contacts-image {max-width: 900px}

.columns {column-count: 2;
    text-align: left;
    column-gap: 72px;
    width: 80%;
    margin: 0 auto;}

.contact-form {max-width: 800px; margin: 0 auto; padding: 0}
.contact-form form input[type="text"], .contact-form form input[type="email"], textarea {width: 100%; height: 40px; margin: 0 0 var(--spacer-half); padding: 0; background: none; border: none; border-bottom: 1px solid #000; font-size: 12px; letter-spacing: 1px; text-transform: uppercase;}
.contact-form form input:focus, .contact-form form textarea:focus {outline: 0;}
.contact-form textarea {height: 100px;}
.contact-form button {margin: 0 auto;
    min-width: 100%;
    border: 1px solid #000;
    background: none;
    color: #000; transition: all 0.6s ease}

.contact-form button:hover {background: #000; color: #fff;}

.contact-form .cols-2 {display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--spacer);}

.contact-form-feedback {    background: #000; color: #fff; padding: 20px 20px 10px 20px;}

@media all and (max-width: 800px) {
  .contact-form {padding: var(--spacer-2x); max-width: 100%;}
  .contact-form .cols-2 {display: block;}

  .page-top-image {max-width: 100%;}

  .pages-page .main-grid .aside {left: 0;}
  .pages-page .aside.map {height: 400px; margin-left: 0;}
  .columns {column-count: 1; width: 100%;}

}


/* ---------------------------------------------------------------------- */
/*  Pages –> Ementa
/* ---------------------------------------------------------------------- */

.ementa-page .page-top-image {margin: -70px auto;}

.ementa-grid {display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center; padding: 0 var(--spacer-2x) var(--spacer-2x);}
.daily-menu-item {width: calc((100% - var(--spacer) * 8) / 3); margin: var(--spacer); text-align: center;}
.daily-menu-item h2 {margin-bottom: var(--spacer-half); font-family: var(--serif-font); font-size: var(--bigger-font-size);}
.daily-menu-item em {font-size: 12px;}

@media all and (max-width: 800px) {

  .ementa-page .page-top-image {margin: -20px auto;}

  .daily-menu-item {width: 100%; margin:var(--spacer) 0;}

}



/* ---------------------------------------------------------------------- */
/*  Elements > Quick Cart
/* ---------------------------------------------------------------------- */

.quickcart{z-index: -1; pointer-events: none;}
.quickcart.open{z-index: 1; pointer-events: unset;}

.quickcart:after {content:''; position: fixed; top: 0; left: 0; width:100%; height:100vh; background:rgba(0,0,0,.2); opacity: 0; transition: opacity .5s}
.quickcart.open:after {opacity: 1}
.quickcart .quickcart-content {width: 40vw; padding: var(--spacer-2x); background: #FFF; top: 0px; right: 0px; z-index: 99; height: 100vh; -webkit-transition: all 0.4s ease-out; -moz-transition: all 0.4s ease 0s; -o-transition: all 0.4s ease 0s; transition: all 0.4s ease 0s; position: fixed; overflow-y: scroll; -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); opacity: 0}
.quickcart.open .quickcart-content {-webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); opacity: 1}

.basket_aside h1 {margin-bottom: var(--spacer-2x); font-size: var(--bigger-font-size)}
.basket_aside h3 {font-family: var(--main-font-family); margin:0; font-size: 13px}


.basket_aside .basket-item {border-bottom: 1px solid #f5f5f5; padding: var(--spacer-half) 0; display: flex; position: relative;}
.basket_aside .basket-item .basket-product {display: grid; grid-template-columns: 130px auto;}

.basket_aside .basket-item .basket-item-img {width: 120px; height: 80px; background-size: cover;}

.basket_aside .basket-item .price, .basket_aside .basket-item .pricetotal {position: absolute; top: 36px; right: 0px;}
.basket_aside .basket-item-content {font-size: 14px; padding-right: var(--spacer-2x);}
.basket_aside .basket-quantity {margin-top: 8px; font-size: 13px}

.basket_aside .basket-item-delete {display: flex; justify-content: center; align-items: center; width: 20px; height: 20px; background: #f2f2f2; border-radius: 50%; font-size: 21px; text-decoration: none; transition: all .6s; position: absolute; right: 0; top: 80px;}
.basket_aside .basket-item-delete:hover {background:#000; color: #fff;}

.basket_aside .basket-bt-checkout, .basket-bt-continue { width: 100%; text-align: center; font-size: 16px; border:1px solid #000; display: block; padding: 10px;}
.basket_aside .basket-bt-continue:hover {background:#000; color: #fff;}

.checkout .basket-bt-checkout, .checkout .basket-bt-continue, .checkout .quantity-container, .checkout .basket-item-delete, .checkout .price {display: none;!important}
.checkout .qty, .checkout .pricetotal {display: block!important;}

.basket_aside .basket-bt-checkout {background: #000;
    color: #ffff;
    margin-top: 10px;}

.basket_aside .total {display: flex; padding: var(--spacer) 0}
.basket_aside .total .basket-total-text {flex:1;}

.tax_info {font-size: 11px; margin: -10px 0 40px 0;}

.quantity-remove, .quantity-add {
    background: #000;
    width: 18px;
    height: 18px;
    display: inline-flex;
    color: #fff;
    text-align: center;
    border-radius: 50%;
    justify-content: center;
    align-items: center; cursor: pointer;
}
.quantity-remove span, .quantity-add span {position: relative; left: 1px}

@media all and (max-width: 768px) {
  .quickcart .quickcart-content{width: 100vw;}
  .quickcart .quickcart-content h2 {margin-top:50px}
}
@media all and (min-width: 768px) and (max-width: 1023px) {
  .quickcart .quickcart-content{width: 80vw;}
}

/* ---------------------------------------------------------------------- */
/*  Pages –> Checkout
/* ---------------------------------------------------------------------- */

.checkout section.grid {display: grid; grid-template-columns: auto 40vw; grid-gap: var(--spacer-3x)}
.checkout section.grid .text {margin-top: var(--spacer-2x)}

.checkout span.qty {margin-top: 10px; display: block;}

.checkout form input[type="text"], .checkout form input[type="email"] {width: 100%; height: 40px; margin: 0 0 var(--spacer-half); padding: 0; background: none; border: none; border-bottom: 1px solid #000; font-size: 12px; letter-spacing: 1px; text-transform: uppercase;}
.checkout form input:focus, select:focus {outline: 0;}
.checkout form .cols {display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--spacer)}
 select {    -webkit-appearance: none;
    border: 0;
    border-bottom: 1px solid #000;
    border-radius: 0;
    background: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 6px 0px;
    height: 40px; color: #787878; font-size: 12px; width: 100%}

label a {text-decoration: underline;}
label.paperbag {display: block; margin-bottom: 10px;}


@media all and (max-width: 768px) {

  .checkout section.grid{grid-template-columns: 1fr; grid-gap: var(--spacer-2x)}
  .checkout form .cols {grid-template-columns: 1fr; grid-gap: unset; margin-bottom: 10px;}
}

/* ---------------------------------------------------------------------- */
/*  Pages –> Kitchen
/* ---------------------------------------------------------------------- */

.grid.cols-2 {display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--spacer-2x); max-width: 80%; margin:0 auto;}
.grid.cols-2 h1 {max-width: 330px;}
.logos {display: flex; justify-content: center; align-items: center; margin-top: var(--spacer)}
.logos img {height: 40px; margin:0px 16px;}

@media all and (max-width: 768px) {
  .grid.cols-2 h1 {max-width: 100%}
  .grid.cols-2 {grid-template-columns: 1fr; max-width: 100%; text-align: center;}
  .logos {flex-flow: column;}
  .logos img {margin-bottom: 10px; display: block;}
}


/* ---------------------------------------------------------------------- */
/*  Pages –> Orders
/* ---------------------------------------------------------------------- */

.categories {margin: var(--spacer) 0 0; padding: 0; text-align: center; list-style: none;}
.categories li {display: inline-block; margin: 0 var(--spacer-half); border-bottom: 1px solid transparent; transition: all 0.6s}
.categories li:hover {border-bottom: 1px solid #000}
.categories li.active a{border-bottom: 1px solid #000;font-weight: bold;}

.products {max-width:90%; margin:0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: var(--spacer-2x); text-align: center;}
.product {}
.product img {display: block; max-width: 100%; margin: 0 auto var(--spacer-half) auto;}
.product h2 {font-weight: 300; text-transform: none; line-height: 1.3}
.product.drinks img {max-height: 15vw; object-fit: contain;}

.go_back {display: inline-block; margin-top: 20px;}

.product-single {display: grid; grid-template-columns: 1fr 1fr; grid-gap: var(--spacer-2x)}

.product-single  .image.drinks img {margin: 0 auto}

button {background: #000; border: 0; display: block; font-weight: 300;
    color: #fff;
    cursor: pointer;
    padding: 20px 20px;
    text-transform: uppercase;
    letter-spacing: 3px; margin-top: var(--spacer)}

@media all and (max-width: 768px) {


  .categories li {display: block;}
  .products{max-width: 100%;}
  .products, .product-single {grid-template-columns: 1fr}
  #add-to-cart button {width: 100%; padding: 20px 10px;}
  .product.drinks img {max-height: 39vw;}


}

@media all and (min-width: 768px) and (max-width: 1023px) {
  .products {grid-template-columns: 1fr 1fr}
}
/* ---------------------------------------------------------------------- */
/*  Pages -> Press
/* ---------------------------------------------------------------------- */
.press-grid {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: var(--spacer-2x); width: 80%; margin: var(--spacer-2x) auto 0 auto; text-align: center;}

.press-grid h2 {margin-bottom: 10px;}
.press-grid .text {margin-top: var(--spacer-half); opacity: 0.7}
.press-grid .text strong {font-weight: 300}
.press-grid .text p {margin:0;}
.link {width: 20px; margin:20px auto 10px auto;}

@media all and (max-width: 768px) {
  .press-grid {grid-template-columns: 1fr}
}

@media all and (min-width: 768px) and (max-width: 1023px) {
  .press-grid {grid-template-columns: 1fr 1fr}
}

/* ---------------------------------------------------------------------- */
/*  Pages –> Reservas
/* ---------------------------------------------------------------------- */

.reservas {display: flex; flex-wrap: wrap; justify-content: space-between; padding: var(--spacer-2x);}
.reservas > * {width: calc(50% - var(--spacer-2x));}

.reservas .text {margin-bottom: var(--spacer);}

.reservas form input[type="text"], .reservas form input[type="email"] {width: 100%; height: 40px; margin: 0 0 var(--spacer-half); padding: 0; background: none; border: none; border-bottom: 1px solid #000; font-size: 12px; letter-spacing: 1px; text-transform: uppercase;}
.reservas form input:focus {outline: 0;}

.reservas form h4 {font-size: 12px; text-transform: uppercase;}

.reservas form .radio-group {display: inline-block; margin-top: 10px;}
.reservas form .radio-group input {display: none;}
.reservas form .radio-group label {display: block; padding: 5px 10px; border: 1px solid #000; cursor: pointer;}
.reservas form .radio-group label:hover {background-color: #F4F4F4;}
.reservas form .radio-group input:checked + label {background-color: #000; color: #fff;}

.reservas form .schedule {margin-bottom: var(--spacer-half);}

.reservas form a {text-decoration: underline;}

.reservas form button {width: 100%; height: 40px; margin-top: var(--spacer); padding: 0 12px; background: #000; border: none; color: #FFF; text-transform: uppercase; letter-spacing: 1px; text-align: left;}
.reservas form select {margin-bottom: 20px;}

@media all and (max-width: 800px) {

  .reservas {padding:var(--spacer);}
  .reservas > * {width: 100%; margin-bottom: var(--spacer-2x);}

}

/* ---------------------------------------------------------------------- */
/*  Newsletter
/* ---------------------------------------------------------------------- */

.newsletter-subscribe{
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2);
    text-align: center;
}

.newsletter-subscribe  .newsletter-container{background: #fff; padding:  var(--spacer);  position: relative; width: 40vw; max-width: 600px;}
.newsletter-subscribe input {width: 100%; padding: 12px 10px; text-align: center; border: 1px solid #ddd}
.newsletter-subscribe h2 {margin-bottom: var(--spacer-half)}
.newsletter-subscribe button {padding: 14px 20px;
    margin: 20px auto 0;
    width: 100%;}
.newsletter-subscribe .close {
    position: absolute;
    top: 4px;
    right: 10px;
    cursor: pointer;
    font-style: normal;
}

@media all and (max-width: 768px) {
  .newsletter-subscribe  .newsletter-container {width: 90vw; max-width: 90vw}
  }

@media all and (min-width: 768px) and (max-width: 1023px) {
  .newsletter-subscribe .newsletter-container {width: 50vw}
}

  /*! Lity - v2.2.2 - 2017-07-17
* http://sorgalla.com/lity/
* Copyright (c) 2015-2017 Jan Sorgalla; Licensed MIT */.lity{z-index:99990;position:fixed;top:0;right:0;bottom:0;left:0;white-space:nowrap;background:#0b0b0b;background:rgba(0,0,0,.7);outline:0!important;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity.lity-opened{opacity:1}.lity.lity-closed{opacity:0}.lity *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lity-wrap{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;text-align:center;outline:0!important}.lity-wrap:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-.25em}.lity-loader{z-index:9991;color:#fff;position:absolute;top:50%;margin-top:-.8em;width:100%;text-align:center;font-size:14px;font-family:Arial,Helvetica,sans-serif;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity-loading .lity-loader{opacity:1}.lity-container{z-index:9992;position:relative;text-align:left;vertical-align:middle;display:inline-block;white-space:normal;max-width:100%;max-height:100%;outline:0!important}.lity-content{z-index:9993;width:100%;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:-o-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease,-o-transform .3s ease}.lity-closed .lity-content,.lity-loading .lity-content{-webkit-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.lity-content:after{content:'';position:absolute;left:0;top:0;bottom:0;display:block;right:0;width:auto;height:auto;z-index:-1;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6)}.lity-close{z-index:9994;width:35px;height:35px;position:fixed;right:20px;top:20px;-webkit-appearance:none;cursor:pointer;text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;border:0;background:0 0;outline:0;-webkit-box-shadow:none;box-shadow:none}.lity-close::-moz-focus-inner{border:0;padding:0}.lity-close:active,.lity-close:focus,.lity-close:hover,.lity-close:visited{text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;border:0;background:0 0;outline:0;-webkit-box-shadow:none;box-shadow:none}.lity-image img{max-width:100%;display:block;line-height:0;border:0}.lity-facebookvideo .lity-container,.lity-googlemaps .lity-container,.lity-iframe .lity-container,.lity-vimeo .lity-container,.lity-youtube .lity-container{width:90%;max-width:964px}.lity-iframe-container{width:100%;height:0;padding-top:56.25%;overflow:auto;pointer-events:auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-overflow-scrolling:touch}.lity-iframe-container iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-webkit-box-shadow:0 0 8px rgba(0,0,0,.6);box-shadow:0 0 8px rgba(0,0,0,.6);background:#000}.lity-hide{display:none}

