/*
==============================================
Steez Jobs
============================================== */

:root {
  /* Colors */
  --black: #1D1D1F;
  --white: #F8F8EF;
  --gray: #424245;
  --lightgray: #9A9A91;

}

/* Fonts */

@font-face {
    font-family: 'Apple Garamond';
    src: url('assets/fonts/AppleGaramond.ttf') format('ttf');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

/*
==============================================
General Styles
============================================== */

*:not(i) {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
}

/*! Body */
html, body {
    width: 100%;
    margin:0px !important;
    background-color: var(--white);
}
html { height: 100%; scroll-behavior: smooth; }
body { position: relative; min-height: 100%; }

main { padding: 40px 0; min-height: calc(100vh - 40px); }

h1 {
  font-family: 'Apple Garamond';
  font-size: 56px;
  font-weight: normal;
}
h2 {
  font-family: 'arial', sans-serif;
  font-size: 21px;
  color: var(--black);
  font-weight: normal;
}
p {
  font-family: 'arial', sans-serif;
  font-size: 14px;
  color: var(--lightgray);
}

a, a:link, a:visited { text-decoration: none; }

img {
  border: none;
}
.resp-img {
  width: 100%;
}
.object-fit {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
input[type=checkbox] { display: none; }

.button {
  display: inline-block;
  margin: 0 20px;
  font-family: 'arial', sans-serif;
  font-size: 21px;
  cursor: pointer;
  border: 0;
}
.b-1 { 
  border-radius: 25px;
  line-height: 50px;
  height: 50px;
  padding: 0 20px;
  background-color: #68BC26;
  text-decoration: none;
  color: var(--white);
}
.b-2 {
  background: url('assets/images/arrow.svg') no-repeat right 60%;
  padding-right: 12px;
  color: var(--black);
}

/*
==============================================
Header
============================================== */
header {
  position: fixed;
  z-index: 3;
  left: 0;
  top: 0;
  width: 100%;
  background-color: var(--black);
  font-family: 'arial', sans-serif;
  font-size: 14px;
  padding: 0 20px;
  height: 40px;
  border-bottom: 1px solid var(--gray);
}
#mobile-nav, #mobile-nav-label { display: none; }
#mobile-nav-label {
  position: absolute;
  top: 14px;
  height: 10px;
  width: 18px;
}
.label-bar {
  position: absolute;
  width: 18px;
  height: 1px;
  left: 50%;
  top: 50%;
  background-color: var(--white);
  transition: all 0.3s ease-in-out;
}
#label-top { transform: translate(-50%, -5px); }
#label-bottom { transform: translate(-50%, 5px); }
nav { position: relative; height: 100%; }
nav ul {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
}
nav ul li {
  display: inline;
}
nav ul li a { color: var(--white); }
nav ul li a:hover { color: var(--gray); }

.logo { height: 20px; width: auto; }
.mobile-show { display: none; }

#cart {
  display: none;
}

@media (max-width: 750px) {
  #mobile-nav-label { display: block; }
  nav ul {
    display: block;
    position: absolute;
    top: 39px;
    z-index: -999;
    left: -20px;
    width: calc(100% + 40px);
    height: 0;
    overflow: hidden;
    background-color: var(--black);
    padding: 0 40px;
    border-bottom: 1px solid var(--gray);
    transition: all 0.5s ease-in-out;
  }
  nav ul li {
    display: block;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 15px 0;
    transform: translateY(-20px);
    border-top: 1px solid var(--gray);
    transition: all 0.5s ease-in-out;
  }
  .mobile-hide { display: none; }
  .mobile-show { display: block; }

  nav ul li:nth-child(2) { border-top: 0; }
  #mobile-nav:checked ~ #mobile-nav-label #label-top {
    transform: translate(-50%, -50%) rotateZ(45deg);
  }
  #mobile-nav:checked ~ #mobile-nav-label #label-bottom {
    transform: translate(-50%, -50%) rotateZ(-45deg);
  }
  #mobile-nav:checked ~ ul {
    transform: translateY(1px);
    height: 190px;
  }
  #mobile-nav:checked ~ ul li {
    transform: translateY(0);
  }

  #cart {
    display: block;
    position: fixed !important;
    top: 0 !important;
    right: 20px;
    z-index: 5;
    width: auto;
    padding: 0;
    line-height: 40px;
    transform: translateY(0) !important;
  }
  #mobile-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

/*
==============================================
Rainbow
============================================== */

#home-rainbow {
  --delay: -1.2s;
}
#rainbow-container li {
  position: relative;
  display: block;
  width: 100%;
  height: 10px;
  background: var(--white);
  transition: all 0.3s ease-in-out;
-webkit-animation: rainbow 8s ease infinite;
-z-animation: rainbow 8s ease infinite;
-o-animation: rainbow 8s ease infinite;
  animation: rainbow 8s ease infinite;
  animation-direction: normal;
}
#rainbow-container li:nth-child(1) {
  animation-delay: calc(var(--delay) * 1);
}
#rainbow-container li:nth-child(2) {
  animation-delay: calc(var(--delay) * 2);
}
#rainbow-container li:nth-child(3) {
  animation-delay: calc(var(--delay) * 3);
}
#rainbow-container li:nth-child(4) {
  animation-delay: calc(var(--delay) * 4);
}
#rainbow-container li:nth-child(5) {
  animation-delay: calc(var(--delay) * 5);
}
#rainbow-container li:nth-child(6) {
  animation-delay: calc(var(--delay) * 6);
}
@-webkit-keyframes rainbow {
  0% { background: #68BC26; }
  16% { background: #FABA00; }
  32% { background: #F18400; }
  48% { background: #DB3D3A; }
  64% { background: #933B9C; }
  80% { background: #219BE2; }
  100% { background: #68BC26; }
}

@-moz-keyframes rainbow {
  0% { background: #68BC26; }
  16% { background: #FABA00; }
  32% { background: #F18400; }
  48% { background: #DB3D3A; }
  64% { background: #933B9C; }
  80% { background: #219BE2; }
  100% { background: #68BC26; }
}
@-o-keyframes rainbow {
  0% { background: #68BC26; }
  16% { background: #FABA00; }
  32% { background: #F18400; }
  48% { background: #DB3D3A; }
  64% { background: #933B9C; }
  80% { background: #219BE2; }
  100% { background: #68BC26; }
}
@keyframes rainbow { 
  0% { background: #68BC26; }
  16% { background: #FABA00; }
  32% { background: #F18400; }
  48% { background: #DB3D3A; }
  64% { background: #933B9C; }
  80% { background: #219BE2; }
  100% { background: #68BC26; }
}

/*
==============================================
Home Page Styles
============================================== */

.home {
  padding: 70px 20px;
  text-align: center;
}

/*
==============================================
Music (Home)
============================================== */

#home-music img {
  width: 100%;
  max-width: 490px;
}
#music-links {
  margin-top: 20px;
  height: 50px;
  line-height: 50px;
}
#music-links li {
  position: relative;
  top: -20px;
  display: inline;
  margin: 0 10px;
  transform: translateY(-50px);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
#music-links li a {
  color: var(--black);
  font-size: 26px;
  transition: all 0.3s ease-in-out;
}
#music-links li a:hover { color: #68BC26 }

#music-drop:checked ~ #music-links li { top: 0; opacity: 1; }

/*
==============================================
Videos (Home)
============================================== */
#home-videos h1 { margin-bottom: 30px; }

#home-videos-container {
  display: inline-block;
  width: 100%;
  max-width: 340px;
  position: relative;
}
#home-videos-frame {
  width: 100%;
  position: relative;
  z-index: 2;
  margin-bottom: 40px;
}
#home-videos-container div {
  width: 60%;
  padding-bottom: 50%;
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  background-color: blue;
  text-align: left;
}


/*
==============================================
Juice (Home)
============================================== */
#home-juice {
  padding: 70px 20px 0;
  text-align: center;
  background-color: var(--black);
}
#home-juice h1 { color: var(--white); margin-bottom: 40px; }
#home-juice img {
  width: calc(100% - 40px);
  max-width: 730px;
}
#home-juice .button-container { margin-bottom: 40px; }

/*
==============================================
Merch (Home)
============================================== */

/*
==============================================
Footer
============================================== */

footer {
  display: flex;
  flex-flow: row nowrap;
  position: absolute;
  bottom: 0;
  padding: 10px 20px;
  width: 100%;
  border-top: 1px solid #DCDCD3;
}
footer p {}
footer p:nth-of-type(2) { margin-left: auto; }

/*
==============================================
Videos
============================================== */

#watch {
  text-align: center;
  padding: 100px 0 140px;
}

#video-main {
  width: calc(100% - 40px);
  max-width: 970px;
  margin: 0 auto 50px;
}
#videos-list {
  width: calc(100% - 20px);
  max-width: 990px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
}
.video-thumb {
  display: block;
  width: calc(25% - 20px);
  max-width: calc(25% - 20px);
  margin: 0 10px 20px;
  text-align: left;
}
.video-thumb:hover { cursor: pointer; }
.video-thumb:hover > picture img { transform: scale(1.1); }
.video-thumb:hover > picture svg { transform: translate(-50%, -50%) scale(0.9); }
.video-thumb picture {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
  border-radius: 5px;
  margin-bottom: 10px;
  transition: all 0.3s ease-in-out;
}
.video-thumb picture img { transition: all 0.3s ease-in-out; }
.video-thumb picture svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  -webkit-filter: drop-shadow( 0px 0px 5px rgba(0, 0, 0, .7));
  filter: drop-shadow( 0px 0px 5px rgba(0, 0, 0, .7));
  transition: all 0.3s ease-in-out;
}

#video-frame {
  overflow: hidden !important;
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
  margin-bottom: 20px;
  border-radius: 15px;
}
#video-frame iframe{
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}

@media (max-width: 700px) {
  .video-thumb {
    width: calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

/*
==============================================
Cart
============================================== */

#cart-page {
  padding: 100px 0;
  width: calc(100% - 40px);
  max-width: 970px;
  margin: 0 auto;
}
#cart-page .button { margin: 0; }
.headerRow [class*='item-'], .itemRow [class*='item-'] {
  display: inline-block;
}
.item-name { width: 50%; }
.item-size, .item-remove, .item-price { width: 13%; }
.item-quantity { width: 11%; }
.headerRow {
  border-bottom: 1px solid #DCDCD3;
  font-family: 'Arial', sans-serif;
  text-transform: uppercase;
  color: var(--black);
  line-height: 30px;
  font-size: 14px;
  padding-bottom: 10px;
}
.itemRow {
  padding: 20px 0;
  border-bottom: 1px solid #DCDCD3;
  font-family: 'Arial', sans-serif;
  color: var(--gray);
  line-height: 30px;
  font-size: 14px;
}
.itemRow .item-name {
  font-family: 'Arial', sans-serif;
  color: var(--black);
  line-height: 30px;
  font-size: 21px;
}
.itemRow .item-size { }
.item-decrement, .item-increment, .item-total { display: none !important; }
.simpleCart_items { margin-bottom: 60px; }

#cart-secondary {
  display: flex;
  flex-flow: row wrap;
}
.cartRow, .cart-info {
  min-width: 50%;
}
.cartRow { margin-bottom: 50px; }
#code-container { position: relative; }
.cartRow input {
  height: 50px;
  padding: 0 25px;
  margin-right: -40px;
  border: 0;
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  border: 2px solid #68BC26;
  width: calc(100% - 50px);
}
.cartRow .button {
  position: absolute;
  right: 0;
}
.cart-info {
  text-align: right;
  margin-left: auto;
  font-family: 'Arial', sans-serif;
  color: var(--black);
  line-height: 30px;
  font-size: 21px;
  line-height: 30px;
}
.cart-info p {
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 26px;
}
.cart-info span { display: inline-block; width: 100px; }
.cart-info .checkout-button { display: inline-block; }
.item-remove { text-align: right; }
.item-remove a, .item-remove a:visited, .item-remove a:link { color: var(--black); }
.cart-total { 
  font-size: 21px;
  color: var(--black);
}

@media (max-width: 600px) {
  .headerRow .item-size, .item-quantity { display: none !important; }
  .itemRow { position: relative; }
  .item-name { width: 95%; }
  .headerRow .item-name { width: 50% }
  .item-size, .item-price { width: 50%; }
  .item-price { text-align: right; }
  .item-remove { width: 5%; position: absolute; right: 0px; top: 20px; }
  .headerRow .item-remove { display: none !important }
  .simpleCart_checkout { width: 100%; text-align: center; }
  .cartRow, .cart-info { min-width: 100%; }
  .cartRow .button { float: right; }
  .codealert { text-align: center; }
}

/*
==============================================
Music Page
============================================== */

#music {
  padding: 100px 0;
  width: calc(100% - 40px);
  max-width: 970px;
  margin: 0 auto;
}
.album {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin-bottom: 50px;
}
.album p {
  font-size: 21px;
  color: var(--gray);
  margin-bottom: 20px;
}
.album:nth-of-type(odd) {
  flex-flow: row-reverse nowrap;
}
.album:nth-of-type(even) .music-page-links {
  padding-left: 50px;
}
.album:nth-of-type(odd) .music-page-links {
  padding-right: 50px;
}
.album-cover, .music-page-links {
  width: 50%;
}
.cover-art {
  display: block;
  width: 100%;
  max-width: 500px;
  padding-bottom: 100%;
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  margin-left: auto;
}

.music-page-links {
  width: 100%;
}
.music-page-links h1 { margin-bottom: 20px; }
.music-page-links .button { margin: 0 }
.music-page-links li {
  display: inline-block;
}
.music-page-links li a { color: var(--black); font-size: 26px; }

@media (max-width: 650px) {
  .album { flex-flow: row wrap !important; margin-bottom: 75px; }
  .album-cover, .music-page-links { width: 100%; }
  .album-cover { margin-bottom: 20px; }
  .cover-art { margin: 0 auto }
  .music-page-links { text-align: center; padding: 0 !important; }
}

/*
==============================================
Merch
============================================== */

main#merch {
  padding: 60px 10px;
  display: flex;
  flex-flow: row wrap;
}
main#merch h1 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 20px;
}
.home-merch {
  padding: 20px 10px;
  display: flex;
  flex-flow: row wrap;
}
.product {
  width: calc(50% - 20px);
  margin: 0 10px;
}
.product-image {
  display: block;
  width: 100%;
  padding-bottom: 75%;
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  background-color: #fff;
}

/* .product-image .object-fit { object-fit: contain; } */

/*
==============================================
PDP
============================================== */
#pdp {
  padding: 100px 0;
  display: flex;
  flex-flow: row nowrap;
  width: calc(100% - 20px);
  max-width: 990px;
  margin: 0 auto;
  position: relative;
}
#pdp-image, #pdp-description {
  width: calc(50% - 20px);
  padding: 0 10px;
  position: relative;
}
#pdp-image picture {
  display: block;
  width: 100%;
  padding-bottom: 120%;
  background-color: #ffffff;
  position: relative;
  overflow: hidden;
}
/* #pdp-image picture .object-fit { object-fit: contain; } */
#pdp-container { position: relative; border-radius: 15px; overflow: hidden !important; }
#pdp-container .flickity-page-dots {
  position: absolute;
  bottom: 10px;
}
#pdp-description h1 { margin-bottom: 10px; }
#pdp-description h2 { margin-bottom: 25px; }
#pdp-description p {
  font-size: 21px;
  color: var(--gray);
  margin-bottom: 20px;
}
#pdp-description select {
  display: block;
}
#pdp-description .button { margin: 20px 0 0; }

#pdp-options {
  width: 100%;
}
.pdp-option {
  display: inline-block;
  margin-right: 50px;
}
.pdp-option select, .pdp-option input {
  height: 50px;
  padding: 0 25px 0 15px;
  margin-right: -40px;
  border: 0;
  border-radius: 25px;
  border: 2px solid #68BC26;
}
.pdp-option input { width: 100px; }

@media (max-width: 750px) {
  #pdp { padding: 60px 0; flex-flow: row wrap; }
  #pdp-image, #pdp-description { width: 100%; }
  #pdp-image { margin-bottom: 25px; }
  #pdp-image picture {
    padding-bottom: 120%;
  }
  #pdp-description .button {
    width: 100%;
    text-align: center;
  }
}