@charset "UTF-8";

/* ============================================
   FONT FACES - PP Neue Montreal from original site
   ============================================ */
@font-face {
  font-family: "PP Neue Montreal";
  src: url("fonts/PPNeueMontreal-Bold.woff2") format("woff2"),
       url("fonts/PPNeueMontreal-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Neue Montreal";
  src: url("fonts/PPNeueMontreal-Medium.woff2") format("woff2"),
       url("fonts/PPNeueMontreal-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Neue Montreal";
  src: url("fonts/PPNeueMontreal-Italic.woff2") format("woff2"),
       url("fonts/PPNeueMontreal-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PP Neue Montreal Book";
  src: url("fonts/PPNeueMontreal-Book.woff2") format("woff2"),
       url("fonts/PPNeueMontreal-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PP Neue Montreal";
  src: url("fonts/PPNeueMontreal-SemiBolditalic.woff2") format("woff2"),
       url("fonts/PPNeueMontreal-SemiBolditalic.woff") format("woff");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PP Neue Montreal";
  src: url("fonts/PPNeueMontreal-Thin.woff2") format("woff2"),
       url("fonts/PPNeueMontreal-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

/* ============================================
   BASE / RESET
   ============================================ */
html {
  overflow-x: hidden;
}
body {
  margin: 0;
  padding: 0;
  font-size: calc(100vw * 16 / 1391);
  font-family: "PP Neue Montreal";
  color: #000;
  opacity: 1;
}
p, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }
* { box-sizing: border-box; }
ul { list-style: none; margin: 0; padding: 0; }
button { border: none; background: none; cursor: pointer; }
a { text-decoration: none; color: #000; }
img { width: 100%; display: block; }
.left { float: left; }
.right { float: right; }

/* ============================================
   BUTTONS
   ============================================ */
.btn {
  color: #000000;
  font-size: calc(100vw * 16 / 1391);
  line-height: 1em;
  padding: calc(100vw * 12 / 1391) calc(100vw * 30 / 1391);
  display: inline-flex;
  min-width: calc(100vw * 104 / 1391);
  text-align: center;
  transition: all 300ms ease-in-out;
  align-items: center;
  justify-content: center;
  gap: calc(100vw * 10 / 1391);
  background: #fff;
  text-transform: uppercase;
}
.btn.btn-solid {
  background: none;
  border: calc(100vw * 1 / 1391) solid #ffffff;
  color: #ffffff;
  font-weight: 300;
}
.btn.btn-solid:hover {
  background: #ffffff;
  color: #000000;
}

/* ============================================
   VISIBILITY HELPERS
   ============================================ */
.desktop { display: block !important; }
.desktop-flex { display: flex !important; }
.mobile { display: none !important; }
.mobile-flex { display: none !important; }

@media screen and (max-width: 375px) {
  .desktop { display: none !important; }
  .desktop-flex { display: none !important; }
  .mobile { display: block !important; }
  .mobile-flex { display: flex !important; }
}

/* ============================================
   HEADER
   ============================================ */
header {
  position: fixed;
  top: calc(100vw * 20 / 1391);
  left: 0;
  width: 100%;
  z-index: 100;
}
header .container {
  width: calc(100vw * 1307 / 1391);
  margin: 0 auto;
}
header .container .nav-box {
  display: flex;
}
header .container .nav-box .nav-content {
  flex: 1;
  display: flex;
  gap: calc(100vw * 40 / 1391);
  align-items: center;
}
header .container .nav-box .nav-content .logo {
  width: calc(100vw * 207 / 1391);
}
header .container .nav-box .nav-content .nav-bar ul {
  display: flex;
  margin: 0;
  padding: 0;
  gap: calc(100vw * 44 / 1391);
}
header .container .nav-box .nav-content .nav-bar ul li a {
  color: #fff;
  font-size: calc(100vw * 14 / 1391);
  line-height: calc(100vw * 24 / 1391);
  text-transform: uppercase;
  font-weight: 500;
}
header .container .nav-box .nav-content .nav-bar ul li a:hover {
  opacity: 0.7;
}
header .container .nav-box .action-content {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
header .container .nav-box .action-content .action-box {
  display: flex;
  align-items: center;
}

/* Hamburger hidden on desktop */
.hamburger { display: none; }

/* ============================================
   MOBILE MENU
   ============================================ */
.menu-mobile {
  background: #ffffff;
  width: calc(100vw * 200 / 375);
  position: fixed;
  top: calc(100vw * 61 / 375);
  height: 100%;
  right: -100%;
  z-index: 99;
  transition: right 0.3s ease;
}
.menu-mobile.active {
  right: 0;
}
.menu-mobile .menu {
  padding: calc(100vw * 20 / 375) calc(100vw * 15 / 375) 0;
}
.menu-mobile .menu ul li {
  margin-bottom: calc(100vw * 15 / 375);
}
.menu-mobile .menu ul li a {
  color: #000000;
  text-transform: uppercase;
}

/* ============================================
   FOOTER
   ============================================ */
footer {
  background: #000000;
}
footer .container {
  width: calc(100vw * 1366 / 1391);
  margin: 0 auto;
}
footer .container .logo-footer {
  width: calc(100vw * 1307 / 1391);
  margin: 0 auto;
  padding: calc(100vw * 62 / 1391) 0 calc(100vw * 65 / 1391);
}
footer .container .content-footer {
  border-top: calc(100vw * 5 / 1391) #fff solid;
}
footer .container .content-footer .content-box {
  display: flex;
  justify-content: space-between;
  padding-top: calc(100vw * 20 / 1391);
  padding-bottom: calc(100vw * 31 / 1391);
}
footer .container .content-footer .content-box .col {
  flex: 1;
  min-height: calc(100vw * 174 / 1391);
}
footer .container .content-footer .content-box .col h2 {
  color: #fff;
  text-transform: uppercase;
  font-size: calc(100vw * 15 / 1391);
  line-height: 1em;
  font-weight: bold;
}
footer .container .content-footer .content-box .col ul li a {
  color: #fff;
  text-transform: uppercase;
  font-size: calc(100vw * 15 / 1391);
  line-height: 1em;
  font-weight: 300;
}
footer .container .content-footer .content-box .col ul li a:hover {
  opacity: 0.7;
}
footer .container .content-footer .content-box .col ul li:last-child {
  margin-top: calc(100vw * 77 / 1391);
}
footer .container .content-footer .content-box .col .sign {
  display: flex;
  gap: calc(100vw * 20 / 1391);
}
footer .container .content-footer .content-box .col .sign .thumb {
  width: calc(100vw * 59 / 1391);
}
footer .container .content-footer .content-box .col .sign .text p {
  color: #ffffff;
}

/* ============================================
   HOME PAGE
   ============================================ */
.home .main .container .item-box {
  display: flex;
}
.home .main .container .item-box img {
  flex: 1;
}

/* ============================================
   ABOUT PAGE
   ============================================ */
.page-template-page-about {
  background: #000000;
}
.page-template-page-about .video {
  width: 100%;
}
.page-template-page-about .video .video-content {
  width: 100%;
}
.page-template-page-about .text-head {
  padding: calc(100vw * 100 / 1391) 0;
}
.page-template-page-about .text-head .container {
  width: calc(100vw * 989 / 1391);
  margin: 0 auto;
}
.page-template-page-about .text-head .container .content-box .thumb {
  width: calc(100vw * 280 / 1391);
  margin: 0 auto calc(100vw * 33 / 1391);
}
.page-template-page-about .text-head .container .content-box h2 {
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  font-size: calc(100vw * 60 / 1391);
  text-align: center;
  line-height: calc(100vw * 56 / 1391);
}
.page-template-page-about .content.desktop {
  width: calc(100vw * 1212 / 1391);
  margin: 0 auto;
}
.page-template-page-about .content .content-images .flex-box {
  display: flex;
  gap: calc(100vw * 60 / 1391);
  height: calc(100vw * 559 / 1391);
}
.page-template-page-about .content .content-images .flex-box .thumb {
  width: calc(100vw * 496 / 1391);
}
.page-template-page-about .content .content-images .flex-box .thumb:first-child {
  width: calc(100vw * 297 / 1391);
  padding-top: calc(100vw * 187 / 1391);
}
.page-template-page-about .content .content-images .flex-box .thumb:last-child {
  padding-top: calc(100vw * 187 / 1391);
  width: calc(100vw * 297 / 1391);
}
.page-template-page-about .content .content-image {
  margin-top: calc(100vw * -140 / 1391);
}
.page-template-page-about .content .content-image .flex-box {
  display: flex;
  align-items: center;
  gap: calc(100vw * 20 / 1391);
}
.page-template-page-about .content .content-image .flex-box .thumb {
  width: calc(100vw * 330 / 1391);
}
.page-template-page-about .content .content-image .flex-box p {
  font-size: calc(100vw * 68 / 1391);
  color: #fff;
  font-weight: 500;
  width: calc(100vw * 482 / 1391);
  line-height: calc(100vw * 56 / 1391);
  padding-top: calc(100vw * 95 / 1391);
}
.page-template-page-about .footer-about {
  width: calc(100vw * 990 / 1391);
  padding-top: calc(100vw * 50 / 1391);
  margin: 0 auto;
}
.page-template-page-about .footer-about .content {
  display: block;
  width: auto;
}
.page-template-page-about .footer-about .content:after {
  content: "";
  display: block;
  clear: both;
}
.page-template-page-about .footer-about .content .thumb {
  width: calc(100vw * 366 / 1391);
  float: left;
}
.page-template-page-about .footer-about .content .description {
  float: left;
  width: calc(100vw * 500 / 1391);
}
.page-template-page-about .footer-about .content .description h2 {
  font-size: calc(100vw * 75 / 1391);
  line-height: calc(100vw * 64 / 1391);
  font-weight: 500;
  width: calc(100vw * 490 / 1391);
  color: #fff;
  margin-left: calc(100vw * 20 / 1391);
}
.page-template-page-about .footer-about .content .description p {
  font-size: calc(100vw * 15 / 1391);
  line-height: calc(100vw * 16 / 1391);
  font-weight: 300;
  width: calc(100vw * 212 / 1391);
  color: #fff;
  padding: calc(100vw * 20 / 1391) 0;
  position: relative;
  left: calc(100vw * 400 / 1391);
}
.page-template-page-about .footer-about .content .description .box-controls {
  position: relative;
  left: calc(100vw * 400 / 1391);
  width: calc(100vw * 222 / 1391);
}

/* ============================================
   WHERE TO BUY PAGE
   ============================================ */
.page-template-page-where {
  background: #000000;
}
.page-template-page-where .main {
  padding-top: calc(100vw * 80 / 1391);
}
.page-template-page-where .main .content-box h2 {
  color: #ffffff;
  font-size: calc(100vw * 60 / 1391);
  font-weight: 500;
  text-transform: uppercase;
  margin: calc(100vw * 30 / 1391) 0;
  text-align: center;
}
.page-template-page-where .main .content-box .content-grid {
  width: calc(100vw * 1100 / 1391);
  margin: 0 auto;
  display: flex;
  height: calc(100vw * 500 / 1391);
  justify-content: center;
}
.page-template-page-where .main .content-box .content-grid .grid {
  display: flex;
  flex-wrap: wrap;
  gap: calc(100vw * 100 / 1391);
  align-items: center;
}
.page-template-page-where .main .content-box .content-grid .grid .item {
  flex: 1;
  box-sizing: border-box;
  border-radius: 8px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.page-template-page-where .main .content-box .content-grid .grid .item:hover {
  transform: scale(1.2);
}

/* ============================================
   FLAVORS PAGE
   ============================================ */
.page-template-page-flavors {
  background: #000000 url("images/flavors-bg.png") no-repeat top center/contain;
}
.page-template-page-flavors .main {
  padding-top: calc(100vw * 80 / 1391);
}
.page-template-page-flavors .main .content-box .content {
  width: calc(100vw * 797 / 1391);
  margin: 0 auto;
  padding: calc(100vw * 50 / 1391) 0;
  gap: calc(100vw * 24 / 1391);
  display: flex;
}
.page-template-page-flavors .main .content-box .content .item:last-child {
  align-content: flex-end;
}
.page-template-page-flavors .main .content-box .content .item .text-box {
  width: calc(100vw * 312 / 1391);
}
.page-template-page-flavors .main .content-box .content .item .text-box h2 {
  font-size: calc(100vw * 64 / 1391);
  color: #ffffff;
  font-weight: 500;
}
.page-template-page-flavors .main .content-box .content .item .thumb {
  width: calc(100vw * 202 / 1391);
}
.page-template-page-flavors .main .content-box .content .item .specs {
  padding-bottom: calc(100vw * 20 / 1391);
}
.page-template-page-flavors .main .content-box .content .item .specs ul li {
  color: #fff;
  font-size: calc(100vw * 24 / 1391);
  font-weight: 300;
}

/* ============================================
   MOBILE RESPONSIVE
   ============================================ */
@media screen and (max-width: 767px) {
  body {
    font-size: calc(100vw * 16 / 350);
  }
  header {
    top: 0;
    background: #000000;
    padding: 1em 0;
  }
  header .container .nav-box .nav-content .logo {
    width: calc(100vw * 173 / 375);
  }
  header .container .nav-box .nav-content .nav-bar ul {
    display: none;
  }
  header .container .nav-box .action-content {
    display: none;
  }
  .hamburger {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 4px;
  }
  .hamburger span {
    display: block;
    width: 26px;
    height: 2px;
    background: #fff;
  }

  .home .main {
    padding-top: calc(100vw * 61 / 375);
  }
  .home .main .container .item-box {
    display: block;
  }

  footer .container .logo-footer {
    width: calc(100vw * 336 / 375);
    padding: calc(100vw * 62 / 375) 0 calc(100vw * 65 / 375);
  }
  footer .container .content-footer {
    border-top: 0;
  }
  footer .container .content-footer .content-box {
    display: block;
    padding-top: calc(100vw * 20 / 375);
  }
  footer .container .content-footer .content-box .col {
    min-height: auto;
    margin-bottom: calc(100vw * 50 / 375);
  }
  footer .container .content-footer .content-box .col h2 {
    font-size: calc(100vw * 15 / 375);
    text-align: center;
  }
  footer .container .content-footer .content-box .col ul li {
    text-align: center;
  }
  footer .container .content-footer .content-box .col ul li:last-child {
    margin-top: 0;
  }
  footer .container .content-footer .content-box .col ul li a {
    font-size: calc(100vw * 15 / 375);
  }
  footer {
    border-top: calc(100vw * 1 / 375) #fff solid;
  }

  .page-template-page-about .text-head .container {
    width: calc(100vw * 350 / 375);
  }
  .page-template-page-about .text-head .container .content-box .thumb {
    width: calc(100vw * 158 / 375);
  }
  .page-template-page-about .text-head .container .content-box h2 {
    font-size: calc(100vw * 40 / 375);
    line-height: calc(100vw * 43 / 375);
    margin-top: calc(100vw * 20 / 375);
  }

  .page-template-page-where .main {
    padding-top: calc(100vw * 80 / 375);
  }
  .page-template-page-where .main .content-box h2 {
    font-size: calc(100vw * 60 / 375);
  }
  .page-template-page-where .main .content-box .content-grid {
    width: calc(100vw * 350 / 375);
    display: block;
    height: auto;
  }
  .page-template-page-where .main .content-box .content-grid .grid {
    display: block;
    width: calc(100vw * 150 / 375);
    margin: 0 auto;
  }
  .page-template-page-where .main .content-box .content-grid .grid .item {
    margin-bottom: calc(100vw * 50 / 375);
  }

  .page-template-page-flavors {
    background-image: url("images/flavors-bg-mobile.png");
  }
  .page-template-page-flavors .main .content-box .content {
    width: calc(100vw * 350 / 375);
    display: block;
  }
  .page-template-page-flavors .main .content-box .content .item .thumb {
    width: calc(100vw * 202 / 375);
    margin: 0 auto;
  }
  .page-template-page-flavors .main .content-box .content .item .specs {
    text-align: center;
  }
  .page-template-page-flavors .main .content-box .content .item .specs h2 {
    font-size: calc(100vw * 48 / 375);
    color: #ffffff;
    font-weight: 500;
    margin-top: calc(100vw * 30 / 375);
  }
  .page-template-page-flavors .main .content-box .content .item .specs ul {
    padding: calc(100vw * 30 / 375);
  }
  .page-template-page-flavors .main .content-box .content .item .specs ul li {
    font-size: calc(100vw * 24 / 375);
  }
}
