/*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */

/* main.css 3.0.0 | MIT License | https://github.com/h5bp/main.css#readme */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

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

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

@font-face {
    font-family: 'ITCFranklinGothic LT Pro Bk';
    font-weight: 400;
    src: url(../font/29e2c1da2a8739fee2b7cd2527e69ee934e8f351f972ed7fef85e76394c2e00.woff) format('woff');
}

@font-face {
    font-family: 'ITCFranklinGothic LT Pro CnMd';
    font-weight: 400;
    src: url(../font/d0b0d64199dc5bd104b3a02e2e6960920159340dbf4d236c071c4b7c401f40f.woff) format('woff');
}

@font-face {
    font-family: 'ITCFranklinGothic LT Pro CnDm';
    font-weight: 400;
    src: url(../font/d6c232c14ffae439e0c38bd50c045b7ece859505c9217dd31136e0ec183bd5a.woff) format('woff');
}

@view-transition {
    navigation: auto;
}

html {
    background: #FFF;
    color: #231F20;
    font-family: 'ITCFranklinGothic LT Pro Bk', sans-serif;
    font-size: 16px;
    line-height: 1.25em;
    scroll-behavior: smooth;
}

@media screen and (min-width: 768px) {
    html {
        font-size: 18px;
        line-height: 1.25em;
    }
}

@media screen and (min-width: 1024px) {
    html {
        font-size: 20px;
        line-height: 1.25em;
    }
}

@media screen and (min-width: 1280px) {
    html {
        font-size: 22px;
        line-height: 1.25em;
    }
}

@media screen and (min-width: 1440px) {
    html {
        font-size: 25px;
        line-height: 1.25em;
    }
}

img {
    height: auto !important;
    max-width: 100%;
}

p {
    margin: 0 0 32px 0;
}

a {
    color: inherit;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

sub {
    font-size: 0.5em;
}

sup {
    font-size: 0.5em;
    top: -0.75em;
}

.clear {
    clear: both;
}

.font-family-2 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    letter-spacing: 0.05em;
}

.anchor {
    position: relative;
    top: -60px;
}

@media screen and (min-width: 768px) {
    .anchor {
        top: -96px;
    }
}

.io {
    opacity: 0;
    transform: translateY(64px);
    transition-duration: 1s;
    transition-property: opacity, transform;
}

.io.active {
    opacity: 1;
    transform: translateY(0);
}

.io-2 {
    opacity: 0;
    transition-duration: 1s;
    transition-property: opacity;
}

.io-2.active {
    opacity: 1;
}

.btn {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto 32px auto;
    max-width: 279px;
}

.btn--0 {
    justify-content: center;
}

.btn--1 {
}

@media screen and (min-width: 768px) {
    .btn {
        flex-direction: row;
        gap: 24px;
        max-width: none;
    }
}

.btn a {
    border: 1px solid #231F20;
    border-radius: 12px;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 46px;
    overflow: hidden;
    padding: 0 24px;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    transition: color 0.25s;
    white-space: nowrap;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .btn a {
        border-radius: 18px;
        font-size: 32px;
        line-height: 70px;
        padding: 0 36px;
    }
}

.btn a:hover {
    color: #FFF;
}

.btn a:after {
    background: #231F20;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 100%;
    transition: top 0.25s;
    width: 100%;
    z-index: -1;
}

.btn a:hover:after {
    top: 0;
}

.btn-2 {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 auto 32px auto;
    max-width: 279px;
}

@media screen and (min-width: 768px) {
    .btn-2 {
        flex-direction: row;
        gap: 24px;
        max-width: none;
    }
}

.btn-2 a {
    border: 1px solid #FFF;
    border-radius: 12px;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 46px;
    overflow: hidden;
    padding: 0 24px;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    transition: color 0.25s;
    white-space: nowrap;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .btn-2 a {
        border-radius: 18px;
        font-size: 32px;
        line-height: 70px;
        padding: 0 36px;
    }
}

.btn-2 a:hover {
    color: #231F20;
}

.btn-2 a:after {
    background: #FFF;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 100%;
    transition: top 0.25s;
    width: 100%;
    z-index: -1;
}

.btn-2 a:hover:after {
    top: 0;
}

h1 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 45px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    margin: 0 0 32px 0;
}

h2 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 36px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    margin: 0 0 32px 0;
}

h3 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 32px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    margin: 0 0 32px 0;
}

h4 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 28px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    margin: 0 0 32px 0;
}

h5 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 25px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    margin: 0 0 32px 0;
}

h6 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    margin: 0 0 32px 0;
}

.display-large {
    font-size: 45px;
    line-height: 1.125em;
}

.display-medium {
    font-size: 36px;
    line-height: 1.125em;
}

.display-small {
    font-size: 32px;
    line-height: 1.125em;
}

.headline-large {
    font-size: 28px;
    line-height: 1.125em;
}

.headline-medium {
    font-size: 25px;
    line-height: 1.125em;
}

.headline-small {
    font-size: 22px;
    line-height: 1.125em;
}

.title-large {
    font-size: 20px;
    line-height: 1.125em;
}

.title-medium {
    font-size: 18px;
    line-height: 1.125em;
}

.body-medium {
    font-size: 14px;
    line-height: 1.25em;
}

.body-medium {
    font-size: 12px;
    line-height: 1.25em;
}

@media screen and (min-width: 768px) {
    h1 {
        font-size: 51px;
        line-height: 1.125em;
    }

    h2 {
        font-size: 45px;
        line-height: 1.125em;
    }

    h3 {
        font-size: 36px;
        line-height: 1.125em;
    }

    h4 {
        font-size: 32px;
        line-height: 1.125em;
    }

    h5 {
        font-size: 28px;
        line-height: 1.125em;
    }

    h6 {
        font-size: 25px;
        line-height: 1.125em;
    }

    .display-large {
        font-size: 51px;
        line-height: 1.125em;
    }

    .display-medium {
        font-size: 45px;
        line-height: 1.125em;
    }

    .display-small {
        font-size: 36px;
        line-height: 1.125em;
    }

    .headline-large {
        font-size: 32px;
        line-height: 1.125em;
    }

    .headline-medium {
        font-size: 28px;
        line-height: 1.125em;
    }

    .headline-small {
        font-size: 25px;
        line-height: 1.125em;
    }
    
    .title-large {
        font-size: 22px;
        line-height: 1.125em;
    }
    
    .title-medium {
        font-size: 20px;
        line-height: 1.125em;
    }
    
    .body-medium {
        font-size: 16px;
        line-height: 1.25em;
    }
    
    .body-small {
        font-size: 14px;
        line-height: 1.25em;
    }
}

@media screen and (min-width: 1024px) {
    h1 {
        font-size: 57px;
        line-height: 1.125em;
    }

    h2 {
        font-size: 51px;
        line-height: 1.125em;
    }

    h3 {
        font-size: 45px;
        line-height: 1.125em;
    }

    h4 {
        font-size: 36px;
        line-height: 1.125em;
    }

    h5 {
        font-size: 32px;
        line-height: 1.125em;
    }

    h6 {
        font-size: 28px;
        line-height: 1.125em;
    }

    .display-large {
        font-size: 57px;
        line-height: 1.125em;
    }

    .display-medium {
        font-size: 51px;
        line-height: 1.125em;
    }

    .display-small {
        font-size: 45px;
        line-height: 1.125em;
    }

    .headline-large {
        font-size: 36px;
        line-height: 1.125em;
    }

    .headline-medium {
        font-size: 32px;
        line-height: 1.125em;
    }

    .headline-small {
        font-size: 28px;
        line-height: 1.125em;
    }
    
    .title-large {
        font-size: 25px;
        line-height: 1.125em;
    }
    
    .title-medium {
        font-size: 22px;
        line-height: 1.125em;
    }
    
    .body-medium {
        font-size: 18px;
        line-height: 1.25em;
    }
    
    .body-small {
        font-size: 16px;
        line-height: 1.25em;
    }
}

@media screen and (min-width: 1280px) {
    h1 {
        font-size: 64px;
        line-height: 1.125em;
    }

    h2 {
        font-size: 57px;
        line-height: 1.125em;
    }

    h3 {
        font-size: 51px;
        line-height: 1.125em;
    }

    h4 {
        font-size: 45px;
        line-height: 1.125em;
    }

    h5 {
        font-size: 36px;
        line-height: 1.125em;
    }

    h6 {
        font-size: 32px;
        line-height: 1.125em;
    }

    .display-large {
        font-size: 64px;
        line-height: 1.125em;
    }

    .display-medium {
        font-size: 57px;
        line-height: 1.125em;
    }

    .display-small {
        font-size: 51px;
        line-height: 1.125em;
    }

    .headline-large {
        font-size: 45px;
        line-height: 1.125em;
    }

    .headline-medium {
        font-size: 36px;
        line-height: 1.125em;
    }

    .headline-small {
        font-size: 32px;
        line-height: 1.125em;
    }
    
    .title-large {
        font-size: 28px;
        line-height: 1.125em;
    }
    
    .title-medium {
        font-size: 25px;
        line-height: 1.125em;
    }
    
    .body-medium {
        font-size: 20px;
        line-height: 1.25em;
    }
    
    .body-small {
        font-size: 18px;
        line-height: 1.25em;
    }
}

@media screen and (min-width: 1440px) {
    h1 {
        font-size: 72px;
        line-height: 1.125em;
    }

    h2 {
        font-size: 64px;
        line-height: 1.125em;
    }

    h3 {
        font-size: 57px;
        line-height: 1.125em;
    }

    h4 {
        font-size: 51px;
        line-height: 1.125em;
    }

    h5 {
        font-size: 45px;
        line-height: 1.125em;
    }

    h6 {
        font-size: 36px;
        line-height: 1.125em;
    }

    .display-large {
        font-size: 72px;
        line-height: 1.125em;
    }

    .display-medium {
        font-size: 64px;
        line-height: 1.125em;
    }

    .display-small {
        font-size: 57px;
        line-height: 1.125em;
    }

    .headline-large {
        font-size: 51px;
        line-height: 1.125em;
    }

    .headline-medium {
        font-size: 45px;
        line-height: 1.125em;
    }

    .headline-small {
        font-size: 36px;
        line-height: 1.125em;
    }
    
    .title-large {
        font-size: 32px;
        line-height: 1.125em;
    }
    
    .title-medium {
        font-size: 28px;
        line-height: 1.125em;
    }
    
    .body-medium {
        font-size: 22px;
        line-height: 1.25em;
    }
    
    .body-small {
        font-size: 20px;
        line-height: 1.25em;
    }
}

/* layout */
.container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1920px;
    padding: 0 12px;
}

@media screen and (min-width: 768px) {
    .container {
        padding: 0 24px;
    }
}

.container--0 {
    max-width: 1920px;
}

.container--1 {
    max-width: 1440px;
}

.row,
.row-4,
.row-12 {
    display: flex;
    flex-wrap: wrap;
}

.row-4 {
    margin-left: -4px;
    margin-right: -4px;
}

.row-12 {
    margin-left: -12px;
    margin-right: -12px;
}

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

.align-items-flex-end {
    align-items: flex-end;
}

.col-6,
.col-10,
.col-15,
.col-30 {
    box-sizing: border-box;
}

.col-6 {
    width: 20%;
}

.col-10 {
    width: 33.3333333333%;
}

.col-15 {
    width: 50%;
}

.col-20 {
    width: 66.6666666666%;
}

.col-30 {
    width: 100%;
}

.order-1 {
    order: 0;
}

.order-2 {
    order: 1;
}

.push-10 {
    margin-left: 33.3333333333%;
}

.gutter-4 {
    padding-left: 4px;
    padding-right: 4px;
}

.gutter-12 {
    padding-left: 12px;
    padding-right: 12px;
}

.margin-32 {
    margin: 0 0 32px 0;
    min-height: 1px;
}

.margin-64 {
    margin: 0 0 64px 0;
    min-height: 1px;
}

@media screen and (min-width: 768px) {
    .col-6-768 {
        width: 20%;
    }

    .col-10-768 {
        width: 33.3333333333%;
    }

    .col-15-768 {
        width: 50%;
    }

    .col-20-768 {
        width: 66.6666666666%;
    }

    .col-30-768 {
        width: 100%;
    }

    .order-1-768 {
        order: 0;
    }

    .order-2-768 {
        order: 1;
    }

    .push-10-768 {
        margin-left: 33.3333333333%;
    }
}

@media screen and (min-width: 1024px) {
    .col-6-1024 {
        width: 20%;
    }

    .col-10-1024 {
        width: 33.3333333333%;
    }

    .col-15-1024 {
        width: 50%;
    }

    .col-20-1024 {
        width: 66.6666666666%;
    }

    .col-30-1024 {
        width: 100%;
    }

    .order-1-1024 {
        order: 0;
    }

    .order-2-1024 {
        order: 1;
    }

    .push-10-1024 {
        margin-left: 33.3333333333%;
    }
}

@media screen and (min-width: 1440px) {
    .col-6-1440 {
        width: 20%;
    }

    .col-10-1440 {
        width: 33.3333333333%;
    }

    .col-15-1440 {
        width: 50%;
    }

    .col-20-1440 {
        width: 66.6666666666%;
    }

    .col-30-1440 {
        width: 100%;
    }

    .order-1-1440 {
        order: 0;
    }

    .order-2-1440 {
        order: 1;
    }

    .push-10-1440 {
        margin-left: 33.3333333333%;
    }
}

/* table */
.table {
    display: table;
    height: 100%;
    table-layout: fixed;
    width: 100%;
}

.table-row {
    display: table-row;
}

.table-cell {
    display: table-cell;
}

.table-cell.top {
    vertical-align: top;
}

.table-cell.middle {
    vertical-align: middle;
}

.table-cell.bottom {
    vertical-align: bottom;
}

/* form */
::-webkit-input-placeholder {
    color: inherit;
    opacity: 1;
}

:-ms-input-placeholder {
    color: inherit;
    opacity: 1;
}

::placeholder {
    color: inherit;
    opacity: 1;
}

.errorlist {
}

input,
select,
textarea {
    border-radius: 0;
    color: inherit;
}

/* age */
.age {
    background: #FFF url(../img/bg.svg) no-repeat 50%;
    background-size: 100% 100%;
    box-sizing: border-box;
    height: 100%;
    left: 0;
    opacity: 0;
    padding: 32px 0 1px 0;
    pointer-events: none;
    position: fixed;
    text-align: center;
    top: 0;
    transition: opacity 0.25s;
    width: 100%;
    z-index: 104;
}

.age.active {
    opacity: 1;
    pointer-events: auto;
}

.age__0 {
    margin: 0 auto;
    max-width: 1024px;
    width: 75%;
}

@media screen and (min-width: 768px) {
    .age__0 {
        width: 50%;
    }
}

.age__1 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    letter-spacing: 0.05em;
    margin: 0 0 32px 0;
    text-transform: uppercase;
}

.age .btn a {
    background: #FFF;
}

/* splash */
.splash {
    height: 100vh;
    position: relative;
}

.splash__0 {
    display: none;
    height: 100% !important;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2;
}

.splash.active .splash__0 {
    display: none;
}

.splash video {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.splash__1 {
    background: url(../img/bg-2.svg) no-repeat 50%;
    background-size: 101% 101%;
    box-sizing: border-box;
    height: 100%;
    left: 0;
    padding: 32px 0 1px 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3;
}

.splash__2 {
    margin: 0 auto;
    max-width: 1024px;
    transform: translateY(0);
    transition-duration: 1s;
    transition-property: opacity, transform;
    width: 75%;
}

@media screen and (min-width: 768px) {
    .splash__2 {
        width: 50%;
    }
}

html.has-age .splash__2 {
    opacity: 0;
    transform: translateY(64px);
}

.splash__3 {
    display: none;
}

@media screen and (min-width: 768px) {
    .splash__3 {
        background: url(../img/underline.svg) no-repeat 50% 100%;
        bottom: 24px;
        display: block;
        left: 50%;
        line-height: 1em;
        padding: 0 0 16px 0;
        position: absolute;
        text-decoration: none;
        text-transform: uppercase;
        transform: translate(-50%, 0);
        transition-duration: 1s;
        transition-property: opacity, transform;
        z-index: 4;
    }
}

@media screen and (min-width: 768px) {
    html.has-age .splash__3 {
        opacity: 0;
        transform: translate(-50%, 64px);
    }
}

/* header */
.header {
    align-items: center;
    background: transparent;
    box-sizing: border-box;
    display: flex;
    gap: 12px;
    height: 60px;
    opacity: 0;
    overflow: hidden;
    padding: 12px 82px 12px 12px;
    position: sticky;
    top: 0;
    transform: translateY(60px);
    transition: background-color 1s 1s, opacity 1s, transform 1s;
    z-index: 101;
}

@media screen and (min-width: 768px) {
    .header {
        height: 96px;
        padding: 12px 137px 12px 24px;
        transform: translateY(96px);
    }
}

.admin-bar .header {
    top: 46px;
}

@media screen and (min-width: 783px) {
    .admin-bar .header {
        top: 32px;
    }
}

.header.active {
    background: rgba(255, 255, 255, 0.85);
    opacity: 1;
    transform: translateY(0);
}

/* logo */
.logo {
    flex-shrink: 0;
    transition: transform 0.25s;
}

.logo__0--mobile {
    display: block;
}

@media screen and (min-width: 768px) {
    .logo__0--mobile {
        display: none;
    }
}

.logo__0--desktop {
    display: none;
}

@media screen and (min-width: 768px) {
    .logo__0--desktop {
        display: block;
    }
}

.logo:hover {
    transform: translateY(4px);
}

/* main-menu */
.main-menu {
    flex-grow: 1;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 1.125em;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    .main-menu {
        font-size: 25px;
        line-height: 1.125em;
    }
}

@media screen and (min-width: 1024px) {
    .main-menu {
        font-size: 28px;
        line-height: 1.125em;
    }
}

@media screen and (min-width: 1280px) {
    .main-menu {
        font-size: 32px;
        line-height: 1.125em;
    }
}

@media screen and (min-width: 1440px) {
    .main-menu {
        font-size: 36px;
        line-height: 1.125em;
    }
}

.main-menu ul {
    display: flex;
    justify-content: space-around;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-menu__0 {
    display: none;
}

@media screen and (min-width: 1024px) {
    .main-menu__0 {
        display: list-item;
    }
}

.main-menu a {
    position: relative;
    text-decoration: none;
}

.main-menu a:after {
    border-bottom: 2px solid;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    transition: width 0.25s;
    width: 0;
}

.main-menu a:hover:after,
.main-menu a.active:after {
    width: 100%;
}

/* cart-button */
.cart-button {
    color: #FFF;
    display: block;
    flex-shrink: 0;
    font-size: 12px;
    height: 28px;
    line-height: 28px;
    position: relative;
    text-align: center;
    text-decoration: none;
    width: 30px;
}

@media screen and (min-width: 768px) {
    .cart-button {
        background-size: 100% 100%;
        font-size: 14px;
        height: 42px;
        line-height: 42px;
        transition: color 0.25s;
        width: 45px;
    }
    
    .cart-button:hover {
        color: #231F20;
    }
}

.cart-button svg {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.cart-button path {
    fill: #231F20;
}

@media screen and (min-width: 768px) {
    .cart-button path {
        transition: fill 0.25s;
    }
    
    .cart-button:hover path {
        fill: #FFE600;
    }
}

/* header-button */
.header-button {
    background-image: url(../img/menu.svg);
    background-repeat: repeat-x;
    background-size: 100% 100%;
    display: block;
    height: 28px;
    position: fixed;
    right: 12px;
    top: 16px;
    width: 58px;
    z-index: 102;
}

@media screen and (min-width: 768px) {
    .header-button {
        height: 42px;
        right: 24px;
        top: 27px;
        width: 87px;
    }
}

.admin-bar .header-button {
    top: 62px;
}

@media screen and (min-width: 768px) {
    .admin-bar .header-button {
        top: 73px;
    }
}

@media screen and (min-width: 783px) {
    .admin-bar .header-button {
        top: 59px;
    }
}

@keyframes animation {
    from {
        background-position: 0 0;
    }
    
    to {
        background-position: 87px 0; /* absolute values for compatibility with background-size */
    }
}

@media screen and (min-width: 768px) {
    .header-button:hover {
        animation-duration: 2s;
        animation-iteration-count: infinite;
        animation-name: animation;
        animation-timing-function: linear;
    }
}

/* header-panel */
.header-panel {
    background-color: #FFF;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
    height: 100%;
    left: 100%;
    overflow-y: auto;
    padding: 32px 0 1px 0;
    position: fixed;
    top: 0;
    transition: left 0.25s;
    width: 100%;
    z-index: 103;
}

.header-panel.active {
    left: 0;
}

.header-panel__0 {
    background: url(../img/close.svg) no-repeat;
    background-size: 100% 100%;
    display: block;
    height: 28px;
    position: absolute;
    right: 12px;
    top: 16px;
    transition: transform 0.25s;
    width: 58px;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .header-panel__0 {
        height: 42px;
        right: 24px;
        top: 27px;
        width: 87px;
    }
}

.header-panel__0:hover {
    transform: scale(1, 0.75);
}

.admin-bar .header-panel__0 {
    top: 62px;
}

@media screen and (min-width: 768px) {
    .admin-bar .header-panel__0 {
        top: 73px;
    }
}

@media screen and (min-width: 783px) {
    .admin-bar .header-panel__0 {
        top: 59px;
    }
}

.header-panel__1 {
    display: none;
}

@media screen and (min-width: 768px) {
    .header-panel__1 {
        display: block;
        margin: 0 auto;
        max-width: 372px;
        text-align: center;
        text-transform: uppercase;
    }
}

@media screen and (min-width: 1920px) {
    .header-panel__1 {
        max-width: 512px;
    }
}

/* carousel-5 */
.carousel-5 {
    margin: 0 auto 32px auto;
    width: 50%;
}

/* teaser */
/*.teaser {
    text-align: center;
    text-transform: uppercase;
}

.teaser img {
    display: block;
    margin: 0 auto 32px auto;
    width: 50%;
}*/

/* main-menu-2 */
.main-menu-2 {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    letter-spacing: 0.05em;
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
    text-transform: uppercase;
}

.main-menu-2 a {
    position: relative;
    text-decoration: none;
}

.main-menu-2 a:after {
    border-bottom: 3px solid;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    transition: width 0.25s;
    width: 0;
}

.main-menu-2 a:hover:after,
.main-menu-2 a.active:after {
    width: 100%;
}

/* social */
.social {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
}

@media screen and (min-width: 768px) {
    .social {
        gap: 48px;
    }
}

.social a {
    transition: opacity 0.25s;
}

.social a:hover {
    opacity: 0.6;
}

@media screen and (min-width: 768px) {
    .social img {
        height: 54px !important;
        width: auto;
    }
}

/* footer */
.footer {
    border-top: 4px solid;
    padding: 32px 0 0 0;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .footer {
        text-align: left;
    }
}

/* footer-menu */
.footer-menu {
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
}

.footer-menu li {
    margin: 0 0 8px 0;
}

.footer-menu a {
    position: relative;
    text-decoration: none;
}

.footer-menu a:after {
    border-bottom: 2px solid;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    transition: width 0.25s;
    width: 0;
}

.footer-menu a:hover:after,
.footer-menu a.active:after {
    width: 100%;
}

/* intro */
.intro {
    overflow: hidden;
    padding: 64px 0 1px 0;
    position: relative;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    .intro {
        padding: 160px 0 1px 0;
    }
}

.intro:before {
    background: url(../img/bg-3.svg) no-repeat;
    background-size: 100% 100%;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.intro__0 {
    margin: 0 0 64px 0;
}

@media screen and (min-width: 768px) {
    .intro__0 {
        margin: 0 0 160px 0;
    }
}

/* carousel */
.carousel {
    margin: 0 0 32px 0;
    overflow: hidden;
    padding: 0 0 96px 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .carousel {
        padding: 0 0 144px 0;
    }
}

.carousel__0 {
    margin: 0 0 0 -75%;
    width: 250%;
}

@media screen and (min-width: 768px) {
    .carousel__0 {
        margin: 0 0 0 -50%;
        width: 200%;
    }
}

.carousel__0 .owl-item {
    transform: scale(0.9);
    transition: transform 250ms;
}

@media screen and (min-width: 768px) {
    .carousel__0 .owl-item {
        transform: scale(0.95);
    }
}

.carousel__0 .owl-item.center {
    transform: scale(1);
}

@keyframes animation-2 {
    from {
        transform: rotate(0);
    }
    
    to {
        transform: rotate(360deg);
    }
}

.carousel__1 {
    animation-duration: 15s;
    animation-iteration-count: infinite;
    animation-name: animation-2;
    animation-timing-function: linear;
    bottom: 0;
    position: absolute;
    right: 12px;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .carousel__1 {
        right: 12.5%;
    }
}

/* teaser-8 */
.teaser-8 {
    border-radius: 12px;
    overflow: hidden;
    padding: 100% 0 0 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .teaser-8 {
        padding: 56.25% 0 0 0;
    }
}

.teaser-8 img {
    height: 100% !important;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1;
}

.teaser-8__0 {
    background: rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    color: #FFF;
    height: 100%;
    left: 0;
    padding: 24px 24px 1px 24px;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2;
}

@media screen and (min-width: 1440px) {
    .teaser-8__0 {
        padding: 48px 48px 1px 48px;
    }
}

/* beers */
.beers {
    margin: 0 0 32px 0;
}

@media screen and (min-width: 768px) {
    .beers {
        margin: 0 0 64px 0;
    }
}

/* heading */
.heading {
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    .heading {
        margin: 0 0 64px 0;
    }
}

.heading img {
    clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
    opacity: 0;
    transition-duration: 1s;
    transition-property: clip-path, opacity;
}

.heading.active img {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    opacity: 1;
}

/* carousel-2 */
.carousel-2 {
    overflow-x: hidden;
    position: relative;
}

@media screen and (min-width: 768px) {
    .carousel-2 {
        display: none;
    }
}

.carousel-2__0 {
    margin: 0 0 0 -50%;
    width: 200%;
}

/* teaser-2 */
.teaser-2 {
    background-color: #F2F2F2;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border-radius: 48px;
    display: block;
    margin: 0 0 32px 0;
    padding: 48px;
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .teaser-2 {
        transform: scale(0.95);
        transition: transform 250ms;
    }
    
    .teaser-2:hover {
        transform: scale(1);
    }
}

/* carousel-6 */
.carousel-6 {
    display: none;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .carousel-6 {
        display: flex;
        margin: 0 0 32px 0;
    }
}

@keyframes scrolling {
    0% {
        transform: translateX(0);
    }
    
    100% {
        transform: translateX(-100%);
    }
}

.carousel-6__0 {
    animation: scrolling 45s linear infinite;
    display: flex;
    flex: 0 0 100%;
    gap: 12px;
    padding-right: 12px;
    will-change: transform;
}

.carousel-6:hover .carousel-6__0 {
    animation-play-state: paused;
}

.carousel-6__1 {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.5s, transform 0.5s;
    width: 25vw;
}

@media screen and (min-width: 1440px) {
    .carousel-6__1 {
        width: 16.66666vw;
    }
}

.carousel-6.active .carousel-6__1 {
    opacity: 1;
    transform: translateY(0);
}

/* hr */
@keyframes animation-3 {
    from {
        background-position: 0 0;
    }
    
    to {
        background-position: 60px 0;
    }
}

.hr {
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: animation-3;
    animation-timing-function: linear;
    background-image: url(../img/hr-2.svg);
    background-repeat: repeat-x;
    border: none;
    height: 18px;
    margin: 0 0 32px 0;
}

@media screen and (min-width: 768px) {
    .hr {
        margin: 0 0 64px 0;
    }
}

/* finder */
.finder {
}

.finder__0 {
    margin: 0 0 32px 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .finder__0 {
        margin: 0 0 64px 0;
    }
}

.finder__1 {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.finder__1:before {
    background: #59C9E6;
    content: "";
    display: block;
    height: 25%;
    left: 0;
    position: absolute;
    top: 12.5%;
    width: 100%;
}

.finder__1:after {
    background: #59C9E6;
    bottom: 12.5%;
    content: "";
    display: block;
    height: 25%;
    left: 0;
    position: absolute;
    width: 100%;
}

#finder {
}

/* brew-barn */
.brew-barn {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    letter-spacing: 0.05em;
    margin: 0 0 32px 0;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    .brew-barn {
        margin: 0 0 64px 0;
    }
}

.brew-barn__0 {
    background: url(../img/bg-4.svg) no-repeat;
    background-size: 100% 100%;
    height: 95%;
    left: 0;
    position: absolute;
    top: 2.5%;
    width: 100%;
    z-index: -1;
}

.brew-barn__1 {
    margin: 0 0 32px 0;
    padding: 0 0 16px 0;
    position: relative;
}

.brew-barn__1:after {
    background: url(../img/underline.svg) no-repeat;
    bottom: 0;
    content: "";
    display: block;
    height: 8px;
    left: 50%;
    margin: 0 0 0 -50px;
    position: absolute;
    width: 100px;
}

.brew-barn__2 {
    overflow: hidden;
}

.brew-barn__3 img {
    transform: translateX(-50vw);
    transition: transform 1s;
}

.brew-barn__3.active img {
    transform: translateX(0);
}

.brew-barn__4 {
    display: none;
}

@media screen and (min-width: 768px) {
    .brew-barn__4 {
        display: block;
        margin: 0 0 32px 0;
    }
    
    .brew-barn__4 img {
        transform: translateX(50vw);
        transition: transform 1s;
    }
    
    .brew-barn__4.active img {
        transform: translateX(0);
    }
}

/* store */
.store {
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    letter-spacing: 0.05em;
    margin: 0 0 32px 0;
    overflow: hidden;
    padding: 32px 0 1px 0;
    position: relative;
    text-align: center;
    text-transform: uppercase;
}

@media screen and (min-width: 768px) {
    .store {
        display: grid;
        grid-auto-rows: 1fr;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        margin: 0 0 64px 0;
        padding: 0;
    }
}

.store:before {
    background: #00BCB5;
    content: "";
    display: block;
    height: 50%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transform: translateX(-100%);
    transition: transform 1s;
    width: 50%;
    z-index: -1;
}

.store.active:before {
    transform: translateX(0);
}

.store:after {
    background: #00BCB5;
    bottom: 0;
    content: "";
    display: block;
    height: 50%;
    position: absolute;
    right: 0;
    transform: translateX(100%);
    transition: transform 1s;
    width: 50%;
    z-index: -1;
}

.store.active:after {
    transform: translateX(0);
}

@media screen and (min-width: 768px) {
    .store__0 {
        grid-column: 2;
        grid-row: 1;
        padding: 64px 0 32px 0;
    }
}

.store__1 {
    padding: 0 24px;
}

@media screen and (min-width: 768px) {
    .store__2--mobile {
        display: none;
    }
}

.store__2--desktop {
    display: none;
}

@media screen and (min-width: 768px) {
    .store__2--desktop {
        display: inline-block;
    }
}

@media screen and (min-width: 768px) {
    .store__3 {
        grid-column: 2;
        grid-row: 2;
        padding: 64px 0 32px 0;
    }
}

@media screen and (min-width: 768px) {
    .store__4 {
        grid-column: 1;
        grid-row: 1 / 3;
        padding: 64px 0 32px 0;
    }
}

/*.store__5 {
    box-sizing: border-box;
    margin: 0 0 0 auto;
    max-width: 720px;
    padding: 0 24px;
}*/

.store__5 {
    padding: 0 24px;
}

/* teaser-3 */
.teaser-3 {
    display: block;
    text-align: center;
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .teaser-3 {
        margin: 0 auto;
        max-width: 490px;
    }
}

/* latest */
.latest {
    margin: 0 0 32px 0;
    overflow: hidden;
    position: relative;
}

@media screen and (min-width: 768px) {
    .latest {
        margin: 0 0 64px 0;
    }
}

@media screen and (min-width: 768px) {
    .latest:before {
        background: url(../img/bg-5--0.svg) no-repeat;
        background-size: contain;
        bottom: 64px;
        content: "";
        display: block;
        left: 0;
        position: absolute;
        top: 64px;
        transform: translateX(-100%);
        transition: transform 1s;
        width: 25%;
        z-index: -1;
    }
}

@media screen and (min-width: 768px) {
    .latest.active:before {
        transform: translateX(0);
    }
}

.latest:after {
    background: url(../img/bg-5--1.svg) no-repeat 100% 0;
    background-size: contain;
    bottom: 64px;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 64px;
    transform: translateX(100%);
    transition: transform 1s;
    width: 50%;
    z-index: -1;
}

@media screen and (min-width: 768px) {
    .latest:after {
        width: 25%;
    }
}

.latest.active:after {
    transform: translateX(0);
}

@media screen and (min-width: 768px) {
    .latest__0--mobile {
        display: none;
    }
}

.latest__0--desktop {
    display: none;
}

@media screen and (min-width: 768px) {
    .latest__0--desktop {
        display: block;
    }
}

/* carousel-3 */
.carousel-3 {
    overflow-x: hidden;
    margin: 0 0 32px 0;
    /*position: relative;*/
}

@media screen and (min-width: 768px) {
    .carousel-3 {
        display: none;
        /*margin: 0 0 64px 0;*/
    }
}

.carousel-3__0 {
    margin: 0 0 0 -75%;
    width: 250%;
}

/* teaser-4 */
.teaser-4 {
    border-bottom: 1px solid;
    display: block;
    margin: 0 0 32px 0;
    overflow: hidden;
    text-decoration: none;
}

.teaser-4__0 {
    border-radius: 12px;
    margin: 0 0 16px 0;
    overflow: hidden;
}

.teaser-4 img {
    transition: transform 0.25s;
}

.teaser-4:hover img {
    transform: scale(1.05);
}

.teaser-4__1 {
    border-bottom: 1px solid;
    font-family: 'ITCFranklinGothic LT Pro CnMd', sans-serif;
    letter-spacing: 0.05em;
    line-height: 1em;
    margin: 0 0 8px 0;
    padding: 0 0 8px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.teaser-4 h3 {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.teaser-4__2 {
    height: 2.50em;
    line-height: 1.25em;
    margin: 0 0 32px 0;
    overflow: hidden;
}

/* carousel-7 */
.carousel-7 {
    display: none;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .carousel-7 {
        display: flex;
        margin: 0 0 32px 0;
    }
}

.carousel-7__0 {
	align-items: flex-end;
    animation: scrolling 45s linear infinite;
    display: flex;
    flex: 0 0 100%;
    gap: 24px;
    padding-right: 24px;
    will-change: transform;
}

@media screen and (min-width: 1440px) {
    .carousel-7__0 {
        gap: 48px;
        padding-right: 48px;
    }
}

.carousel-7:hover .carousel-7__0 {
    animation-play-state: paused;
}

.carousel-7__1 {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.5s, transform 0.5s;
    width: 33.33333vw;
}

@media screen and (min-width: 1440px) {
    .carousel-7__1 {
        width: 25vw;
    }
}

.carousel-7.active .carousel-7__1 {
    opacity: 1;
    transform: translateY(0);
}

/* newsletter */
.newsletter {
    overflow: hidden;
}

.newsletter__0 {
    background-color: #FF6000;
    background-image: url(../img/bg-6--0.svg);
    background-position: 50% -1px;
    background-repeat: no-repeat;
    background-size: 150% auto;
    margin: 0 0 32px 0;
    opacity: 0;
    padding: 33.33333% 12px 1px 12px;
    transform: translateY(100%);
    transition-duration: 1s;
    transition-property: opacity, transform;
}

@media screen and (min-width: 768px) {
    .newsletter__0 {
        background-image: url(../img/bg-6--1.svg);
        padding: 128px 0 1px 0;
    }
}

.newsletter.active .newsletter__0 {
    opacity: 1;
    transform: translateY(0);
}

@media screen and (min-width: 768px) {
    .newsletter__1 {
        margin: 0 auto;
        max-width: 1024px;
        width: 75%;
    }
}

.newsletter h2 {
    display: none;
}

@media screen and (min-width: 768px) {
    .newsletter h2 {
        display: block;
        margin: 0 0 64px 0;
        text-align: center;
        text-transform: uppercase;
    }
}

.newsletter form {
    margin: 0 0 32px 0;
}

@media screen and (min-width: 768px) {
    .newsletter form {
        margin: 0 0 64px 0;
    }
}

.newsletter input[type="email"],
.newsletter input[type="text"] {
    border: none;
    border-radius: 12px;
    box-sizing: border-box;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    height: 48px;
    margin: 0 0 8px 0;
    padding: 0 24px;
    width: 100%;
}

.newsletter button {
    background: #231F20;
    border: none;
    border-radius: 12px;
    display: block;
    font-size: 0;
    height: 48px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.newsletter button:before {
    background: url(../img/submit--0.svg) no-repeat 50% 50%;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

@keyframes animation-4 {
    0% {
        left: 0;
    }
    
    100% {
        left: 100%;
    }
}

@keyframes animation-5 {
    0% {
        left: -100%;
    }
    
    100% {
        left: 0;
    }
}

@media screen and (min-width: 768px) {
    .newsletter button:hover:before {
        animation: animation-4 0.5s forwards, animation-5 0.5s 0.5s forwards;
    }
}

/* social-2 */
.social-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    list-style: none;
    margin: 0 0 32px 0;
    padding: 0;
}

@media screen and (min-width: 768px) {
    .social-2 {
        gap: 48px;
        margin: 0 0 64px 0;
    }
}

.social-2 a {
    transition: opacity 0.25s;
}

.social-2 a:hover {
    opacity: 0.6;
}

@media screen and (min-width: 768px) {
    .social-2 img {
        height: 54px !important;
        width: auto;
    }
}

/* hr-3 */
.hr-3 {
    border-color: inherit;
    margin: 0 0 32px 0;
}

/* detail */
.detail {
}

.detail img {
    border-radius: 12px;
}

.detail h1 {
    text-transform: uppercase;
}

/* related */
@media screen and (min-width: 768px) {
    .related {
        margin: 0 0 32px 0;
    }
}

.related h2 {
    text-align: center;
    text-transform: uppercase;
}

/* beers-2 */
@media screen and (min-width: 768px) {
    .beers-2 {
        margin: 0 0 32px 0;
    }
}

.beers-2__0 {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.5s, transform 0.25s;
}

.beers-2.active .beers-2__0 {
    opacity: 1;
    transform: translateY(0);
}

/* filter */
.filter {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 0 auto 32px auto;
    max-width: 279px;
}

@media screen and (min-width: 768px) {
    .filter {
        flex-direction: row;
        gap: 24px;
        margin: 0 auto 64px auto;
        max-width: none;
    }
}

.filter a {
    border: 1px solid #231F20;
    border-radius: 12px;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 46px;
    overflow: hidden;
    padding: 0 24px;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    transition: color 0.25s;
    white-space: nowrap;
    z-index: 2;
}

@media screen and (min-width: 768px) {
    .filter a {
        border-radius: 18px;
        font-size: 32px;
        line-height: 70px;
        padding: 0 36px;
    }
}

.filter a:hover,
.filter a.active {
    color: #FFF;
}

.filter a:after {
    background: #231F20;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 100%;
    transition: top 0.25s;
    width: 100%;
    z-index: -1;
}

.filter a:hover:after,
.filter a.active:after {
    top: 0;
}

/* teaser-5 */
.teaser-5 {
    background-color: #F2F2F2;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    border-radius: 24px;
    display: block;
    margin: 0 0 32px 0;
    padding: 24px;
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .teaser-5 {
        border-radius: 48px;
        padding: 48px;
        transition: transform 0.25s;
    }
    
    .teaser-5:hover {
        transform: scale(1.05);
    }
}

/* beer-detail */
.beer-detail {
    background: #F2F2F2;
    margin: 0 0 32px 0;
    width: 100%;
}

/* carousel-4 */
.carousel-4 {
    position: relative;
}

@media screen and (min-width: 768px) {
    .carousel-4 .owl-next,
    .carousel-4 .owl-prev {
        height: 100%;
        position: absolute;
        top: 0;
        width: 16.66666%;
        z-index: 2;
    }
    
    .carousel-4 .owl-next {
        right: 0;
    }
    
    .carousel-4 .owl-prev {
        left: 0;
    }
    
    .carousel-4 .owl-next span,
    .carousel-4 .owl-prev span {
        background-repeat: no-repeat;
        display: block;
        font-size: 0;
        height: 27px;
        margin: -14px 0 0 0;
        position: absolute;
        top: 50%;
        width: 42px;
        z-index: 2;
    }
    
    .carousel-4 .owl-next span {
        background-image: url(../img/next.svg);
        right: 24px;
    }

    .carousel-4 .owl-prev span {
        background-image: url(../img/prev.svg);
        left: 24px;
    }
    
    .carousel-4 .owl-next.disabled span,
    .carousel-4 .owl-prev.disabled span {
        opacity: 0.3;
    }
}

/* teaser-6 */
.teaser-6 {
    background-repeat: no-repeat;
    background-size: 100% 100%;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    letter-spacing: 0.05em;
    padding: 32px 12px 1px 12px;
}

@media screen and (min-width: 768px) {
    .teaser-6 {
        padding: 64px 16.66666% 32px 16.66666%;
    }
}

.teaser-6 img {
    display: block;
    margin: 0 auto 32px auto;
    max-width: 50%;
}

@media screen and (min-width: 768px) {
    .teaser-6 img {
        max-width: none;
    }
}

.teaser-6 h3 {
    margin: 0 0 16px 0;
    text-transform: uppercase;
}

.teaser-6__0 {
    margin: 0 0 16px 0;
    text-transform: uppercase;
}

.teaser-6 p {
    margin: 0 0 16px 0;
}

/* pagination */
.pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 32px 0;
}

@media screen and (min-width: 768px) {
    .pagination {
        gap: 24px;
    }
}

/* beer-detail-2 */
.beer-detail-2 {
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin: 0 0 32px 0;
    padding: 32px 0 1px 0;
}

@media screen and (min-width: 768px) {
    .beer-detail-2 {
        margin: 0 0 64px 0;
        padding: 64px 0 32px 0;
    }
}

/* info */
.info {
    margin: 0 0 32px 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .info {
        margin: 0 0 64px 0;
    }
}

@media screen and (min-width: 768px) {
    .info:before {
        background: url(../img/bg-8--0.svg) no-repeat;
        background-size: 100% auto;
        bottom: 64px;
        content: "";
        display: block;
        left: 0;
        position: absolute;
        top: 64px;
        width: 25%;
        z-index: -1;
    }
}

.info:after {
    background: url(../img/bg-8--1.svg) no-repeat 100% 0;
    background-size: contain;
    bottom: 64px;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 64px;
    width: 50%;
    z-index: -1;
}

@media screen and (min-width: 768px) {
    .info:after {
        width: 25%;
    }
}

/* accordion */
@media screen and (min-width: 768px) {
    .accordion {
        margin: 0 0 32px 0;
    }
}

.accordion__1 {
    border: 1px solid;
    border-radius: 12px;
    display: block;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 46px;
    overflow: hidden;
    padding: 0 75px 0 24px;
    position: relative;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

@media screen and (min-width: 768px) {
    .accordion__1 {
        border-radius: 18px;
        font-size: 32px;
        line-height: 70px;
        padding: 0 36px;
    }
}

.accordion__1:after {
    background: url(../img/expand-collapse.svg) no-repeat;
    content: "";
    display: block;
    height: 42px;
    margin: -21px 0 0 0;
    position: absolute;
    right: 24px;
    top: 50%;
    transition: transform 0.25s;
    width: 27px; 
    z-index: 2;
}

.accordion__0.active .accordion__1:after {
    transform: rotate(180deg);
}

.accordion__2 {
    display: none;
}

@media screen and (min-width: 768px) {
    .accordion__2 {
        padding: 0 6.66666%;
    }
}

html.no-js .accordion__2 {
    display: block;
}

.accordion__0.active .accordion__2 {
    display: block;
}

.accordion h3 {
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

/* store-2 */
.store-2 {
    margin: 0 0 32px 0;
}

@media screen and (min-width: 768px) {
    .store-2 {
        margin: 0 0 64px 0;
    }
}

/* teaser-7 */
.teaser-7 {
}

@media screen and (min-width: 768px) {
    .teaser-7 {
        display: flex;
    }
}

@media screen and (min-width: 768px) {
    .teaser-7__0 {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .teaser-7--2 .teaser-7__0 ,
    .teaser-7--3 .teaser-7__0 {
        order: 2;
    }
}

.teaser-7__1 {
    background: #E1E1E1;
    padding: 100% 0 0 0;
    position: relative;
}

@media screen and (min-width: 768px) {
    .teaser-7__1 {
        box-sizing: border-box;
        padding: 133.33333% 0 0 0;
    }
}

.teaser-7__1 img {
    height: 100% !important;
    object-fit: cover;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

.teaser-7__2 {
    padding: 24px 0;
}

@media screen and (min-width: 768px) {
    .teaser-7__2 {
        box-sizing: border-box;
        padding: 24px;
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .teaser-7--2 .teaser-7__2 ,
    .teaser-7--3 .teaser-7__2 {
        order: 1;
    }
}

.teaser-7 h3 {
    margin: 0 0 16px 0;
    text-transform: uppercase;
}

.teaser-7 p {
    margin: 0 0 16px 0;
}

.teaser-7__3 {
    display: flex;
    gap: 4px;
}

@media screen and (min-width: 768px) {
    .teaser-7__3 {
        flex-direction: column;
    }
}

@media screen and (min-width: 1024px) {
    .teaser-7__3 {
        flex-direction: row;
    }
}

.teaser-7__3 a {
    border: 1px solid #231F20;
    border-radius: 18px;
    display: block;
    flex-grow: 1;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 36px;
    overflow: hidden;
    padding: 0 12px;
    position: relative;
    text-align: center;
    text-decoration: none;
    text-overflow: ellipsis;
    text-transform: uppercase;
    transition: color 0.25s;
    white-space: nowrap;
    z-index: 2;
}

.teaser-7__3 a:hover {
    color: #FFF;
}

.teaser-7__3 a:after {
    background: #231F20;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 100%;
    transition: top 0.25s;
    width: 100%;
    z-index: -1;
}

.teaser-7__3 a:hover:after {
    top: 0;
}

/* about */
.about {
    padding: 32px 0 0 0;
    position: relative;
}

.about:before {
    background: url(../img/driftwood-ale.svg) no-repeat;
    background-size: 100% 100%;
    content: "";
    height: 100vw;
    left: 0;
    max-height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.about__0 {
    border-radius: 12px;
    display: block;
    margin: 0 0 32px 0;
}

@media screen and (min-width: 768px) {
    .about__0 {
        margin: 0 0 64px 0;
    }
}

.about__1 {
    margin: 0 0 32px 0;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .about__1 {
        margin: 0 0 64px 0;
    }
}

/* image */
.image {
    border-radius: 12px;
}

/* brew-barn-2 */
.brew-barn-2 {
    background: url(../img/bg-10.svg) no-repeat;
    background-size: 100% auto;
    padding: 32px 0 1px 0;
}

@media screen and (min-width: 768px) {
    .brew-barn-2 {
        padding: 64px 0 32px 0;
    }
}

.brew-barn-2__0 {
    border-radius: 24px;
}

.brew-barn-2__1 {
    text-transform: uppercase;
}

/* wpcf7-form */
.wpcf7-form {
    margin: 0 0 32px 0;
}

@media screen and (min-width: 768px) {
    .wpcf7-form {
        margin: 0 0 64px 0;
    }
}

.wpcf7-form p {
    margin: 0;
}

.wpcf7-form br {
    display: none;
}

.wpcf7-form input[type="email"],
.wpcf7-form input[type="text"] {
    border: 1px solid;
    border-radius: 12px;
    box-sizing: border-box;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    height: 48px;
    margin: 0 0 8px 0;
    padding: 0 24px;
    width: 100%;
}

.wpcf7-form textarea {
    border: 1px solid;
    border-radius: 12px;
    box-sizing: border-box;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    margin: 0 0 8px 0;
    padding: 12px 24px;
    width: 100%;
}

.wpcf7-form input[type="submit"] {
    background: #231F20 url(../img/submit--1.svg) no-repeat right 12px center;
    border: none;
    border-radius: 12px;
    color: #FFF;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    padding: 0 66px 0 24px;
    height: 48px;
    text-align: left;
    text-transform: uppercase;
    width: 100%;
}

/* gform */
.gform_wrapper.gravity-theme .gform_fields {
    grid-column-gap: 8px;
    grid-row-gap: 8px;
}

.gform_wrapper.gravity-theme .gfield_label {
    font-size: inherit;
    line-height: inherit;
}

.gform_wrapper.gravity-theme input[type=color],
.gform_wrapper.gravity-theme input[type=date],
.gform_wrapper.gravity-theme input[type=datetime-local],
.gform_wrapper.gravity-theme input[type=datetime],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=month],
.gform_wrapper.gravity-theme input[type=number],
.gform_wrapper.gravity-theme input[type=password],
.gform_wrapper.gravity-theme input[type=search],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=time],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme input[type=week],
.gform_wrapper.gravity-theme select {
    border: 1px solid;
    border-radius: 12px;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    height: 48px;
    padding: 0 24px;
}

.gform_wrapper.gravity-theme textarea {
    border: 1px solid;
    border-radius: 12px;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    padding: 12px 24px;
}

.gform_wrapper.gravity-theme .gform_footer,
.gform_wrapper.gravity-theme .gform_page_footer {
    margin: 8px 0 32px 0;
    padding: 0;
}

.gform_wrapper.gravity-theme .gform_footer button,
.gform_wrapper.gravity-theme .gform_footer input,
.gform_wrapper.gravity-theme .gform_page_footer button,
.gform_wrapper.gravity-theme .gform_page_footer input {
    background: #231F20;
    border: none;
    border-radius: 12px;
    color: #FFF;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    overflow: hidden;
    padding: 0 66px 0 24px;
    position: relative;
    height: 48px;
    text-align: left;
    text-transform: uppercase;
    width: 100%;
}

.gform_wrapper.gravity-theme .gform_footer button:before,
.gform_wrapper.gravity-theme .gform_footer input:before,
.gform_wrapper.gravity-theme .gform_page_footer button:before,
.gform_wrapper.gravity-theme .gform_page_footer input:before {
    background: url(../img/submit--1.svg) no-repeat right 12px center;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .gform_wrapper.gravity-theme .gform_footer button:hover:before,
    .gform_wrapper.gravity-theme .gform_footer input:hover:before,
    .gform_wrapper.gravity-theme .gform_page_footer button:hover:before,
    .gform_wrapper.gravity-theme .gform_page_footer input:hover:before {
        animation: animation-4 0.5s forwards, animation-5 0.5s 0.5s forwards;
    }
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    border-radius: 4px;
    border-width: 1px;
    box-shadow: none;
    padding-block: 12px;
    padding-inline-end: 12px;
}

.gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25em;
}

.gform_wrapper.gravity-theme .description,
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .gsection_description,
.gform_wrapper.gravity-theme .instruction {
    font-size: 16px;
    line-height: 1.25em;
    padding-top: 0;
    width: 100%;
}

.gform_wrapper.gravity-theme
.gfield_validation_message,
.gform_wrapper.gravity-theme
.validation_message {
    background: none;
    border: none;
    font-size: 16px;
    line-height: 1.25em;
    margin-block-start: 8px;
    padding: 0;
}

/* product-detail */
.product-detail {
}

.product-detail h1 {
    margin: 0;
    text-transform: uppercase;
}

.product-detail__0 {
    display: flex;
    gap: 4px;
    margin: 0 0 32px 0;
}

.product-detail__0 button {
    background: #FFF;
    border: 1px solid;
    height: 48px;
    width: 48px;
}

.product-detail__0 input {
    border: 1px solid;
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit;
    height: 48px;
    padding: 0;
    text-align: center;
    width: 48px;
}

.product-detail__1 {
    background: #F2F2F2;
    border: 1px solid;
    border-radius: 24px;
    box-sizing: border-box;
    display: block;
    font-family: 'ITCFranklinGothic LT Pro CnDm', sans-serif;
    font-size: 22px;
    letter-spacing: 0.05em;
    height: 48px;
    padding: 0 24px;
    text-transform: uppercase;
    width: 100%;
}

.product-detail dl {
    margin: 0 0 32px 0;
}

.product-detail dt {
    border-bottom: 1px solid;
    cursor: pointer;
    padding: 8px 0;
    text-transform: uppercase;
}

.product-detail dd {
    margin: 0;
    padding: 8px 0;
}

/* news */
.news {
}

.news__0 {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.5s, transform 0.25s;
}

.news.active .news__0 {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
