:root{
    --drawer-gutter:20px;
  }

@media only screen and (min-width:769px){
:root{
  --drawer-gutter:30px;
}
}

.modal {
    display: none;
    bottom: 0;
    left: 0;
    opacity: 1;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9999;
    color: #fff;
    align-items: center;
    justify-content: center;
  }
  
  .modal.modal--quick-shop {
    align-items: flex-start;
  }
  
  .modal a,
  .modal a:hover {  
    color: inherit;
  }
  
  .modal .btn:not([disabled]):not(.btn--secondary):not(.btn--body),
  .modal .btn:not([disabled]):not(.btn--secondary):not(.btn--body):hover {
    color: #fff;
  }
  
  .modal-open .modal .modal__inner {
    animation: modal-open 0.5s forwards;
  }
  
  .modal-open .modal:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: 0.6;
    animation: overlay-on 0.5s forwards;
    cursor: pointer;
  }
  
  .modal-closing .modal .modal__inner {
    animation: modal-closing 0.5s forwards;
  }
  
  .modal-closing .modal:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    animation: overlay-off 0.5s forwards;
  }
  
  .modal-open--solid .modal:before {
    background-color: #000;
  }
  
  .modal-open .modal--solid:before {
    background-color: #000;
    animation: full-overlay-on 0.5s forwards;
  }
  
  .modal-closing .modal--solid:before {
    background-color: #000;
    animation: full-overlay-off 0.5s forwards;
  }
  
  .modal--is-closing {
    display: flex !important;
    overflow: hidden;
  }
  
  .modal--is-active {
    display: flex !important;
    overflow: hidden;
  }
  
  @media only screen and (min-width: 769px) {
    .modal-open {
      overflow: hidden;
    }
  }
  
  .modal__inner {
    transform-style: preserve-3d;
    flex: 0 1 auto;
    margin: 15px;
    max-width: calc(100% - 15px);
    display: flex;
    align-items: center;
  }
  
  @media only screen and (min-width: 769px) {
    .modal__inner {
      margin: 40px;
      max-width: calc(100% - 80px);
    }
  }
  
  .modal--square .modal__inner {
    background-color: #fff;
    color: #1c1d1d;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);
  }
  
  .modal__inner img {
    display: block;
    max-height: 90vh;
  }
  
  .modal__inner .image-wrap img {
    max-height: none;
  }
  
  .modal__centered {
    position: relative;
    flex: 0 1 auto;
    min-width: 1px;
    max-width: 100%;
  }
  
  .modal--square .modal__centered-content {
    max-height: 80vh;
    padding: 22.5px;
    min-width: 200px;
    min-height: 200px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  @media only screen and (min-width: 769px) {
    .modal--square .modal__centered-content {
      padding: 45px;
      max-height: 90vh;
      max-width: 1200px;
    }
  }
  
  .modal__close {
    border: 0;
    padding: 15px;
    position: fixed;
    top: 0;
    right: 0;
    color: #fff;
  }
  
  @media only screen and (min-width: 769px) {
    .modal__close {
      padding: 30px;
    }
  }
  
  .modal__close .icon {
    width: 28px;
    height: 28px;
  }
  
  .modal__close:focus,
  .modal__close:hover {
    color: #fff;
  }
  
  .modal--square .modal__close {
    position: absolute;
    font-size: 20px;
    padding: 10px;
    background-color: transparent;
    color: #000;
    font-weight: bold;
  }
  
  .modal--square .modal__close:focus,
  .modal--square .modal__close:hover {
    color: #1c1d1d;
  }
  
  .modal .page-content,
  .modal .page-width {
    padding: 0;
  }
  
  .popup-cta {
    margin-bottom: 15px;
  }
  
  @media only screen and (max-width: 768px) {
    .modal--mobile-friendly {
      top: auto;
      bottom: 0;
      overflow: auto;
    }
  
    .modal--mobile-friendly.modal--square .modal__centered-content {
      padding: 20px 20px 0;
    }
  
    .modal--mobile-friendly.modal--is-active {
      overflow: auto;
    }
    .modal-open .modal--mobile-friendly:before {
      display: none;
    }
  
    .modal--mobile-friendly .modal__inner {
      margin: 0;
      border: 2px solid;
      border-color: #1c1d1d;
    }
  
    .modal--mobile-friendly .h1 {
      padding-right: 25px;
    }
  
    .modal--mobile-friendly input {
      font-size: 16px !important;
    }
  
    .modal--mobile-friendly .text-close {
      display: none;
    }
  }
  @keyframes overlay-on {
    0% {
      opacity: 0;
    }
    to {
      opacity: 0.6;
    }
  }
  
  @keyframes overlay-off {
    0% {
      opacity: 0.6;
    }
    to {
      opacity: 0;
    }
  }
  
  @keyframes full-overlay-on {
    0% {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  
  @keyframes full-overlay-off {
    0% {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }
  @keyframes modal-open {
    0% {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @keyframes modal-closing {
    0% {
      opacity: 1;
      transform: scale(1);
    }
    to {
      opacity: 0;
      transform: scale(0.9);
    }
  }

  .js-drawer-open{
    overflow:hidden;
  }
  
  .drawer{
    display:none;
    position:fixed;
    overflow:hidden;
    -webkit-overflow-scrolling:touch;
    top:0;
    bottom:0;
    max-width:95%;
    z-index:9;
    color:#fff;
    background-color:#fff;
    box-shadow:0 0 150px rgba(0, 0, 0, 0.1);
    transition:transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1)
  }
  
  @media screen and (max-height:400px){
  
  .drawer{
      overflow:scroll
  }
  
      .drawer .drawer__contents{
        height:auto;
      }
    }
  
  .drawer a:not(.btn){
      color: #fff
    }
  
  .drawer a:not(.btn):hover{
        color:#fff;
      }
  
  .drawer input,.drawer textarea{
      border-color:#343535;
    }
  
  .drawer .btn{
      background-color:#a26b25;
      color:#fff;
    }
  
  .drawer--left{
    width:350px;
    left:-350px
  }
  
  .drawer--left.drawer--is-open{
      display:block;
      transform:translateX(350px);
      transition-duration:0.45s;
    }
  
  .drawer--right{
    width:350px;
    right:-350px
  }
  
  @media only screen and (min-width:769px){
  
  .drawer--right{
      width:450px;
      right:-450px
  }
    }
  
  .drawer--right.drawer--is-open{
      display:block;
      transform:translateX(-350px);
      transition-duration:0.45s
    }
  
  @media only screen and (min-width:769px){
  
  .drawer--right.drawer--is-open{
        transform:translateX(-450px)
    }
      }
  
  .js-drawer-closing body:after,.js-drawer-open body:after{
    content:"";
    display:block;
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:#000;
    opacity:0;
    z-index:99;
  }
  
  .js-drawer-open body:after{
    animation:overlay-on 0.35s forwards;
  }
  
  .js-drawer-closing body:after{
    animation:overlay-off 0.25s forwards;
  }
  
  .drawer__fixed-header,.drawer__footer,.drawer__header,.drawer__scrollable{
    padding-left:20px;
    padding-left:var(--drawer-gutter);
    padding-right:20px;
    padding-right:var(--drawer-gutter);
  }
  
  .drawer__header{
    display:table;
    height:70px;
    width:100%;
    padding:11.53846px 0;
    margin-bottom:0;
    border-bottom:1px solid;
    border-bottom-color:#343535;
  }
  
  .drawer__fixed-header{
    height:70px;
    overflow:visible;
  }
  
  @media only screen and (min-width:769px){
    .drawer__fixed-header,.drawer__header{
      height:80px;
    }
  }
  
  .drawer__close,.drawer__title{
    display:table-cell;
    vertical-align:middle;
  }
  
  .drawer__title {
    font-family: 'Inter';
    font-size: 20px;
    color: #404040;
    width: 100%;
    font-weight: 600;
    text-transform: uppercase;
  }
  
  .drawer__close{
    width:1%;
    text-align:center;
  }
  
  .drawer__close-button{
    position:relative;
    height:100%;
    font-size:25px;
    right:-20px;
    right:calc(var(--drawer-gutter)*-1);
    padding:0 20px;
    padding:0 var(--drawer-gutter);
    color:#000;
    background-color: transparent;
  }
  
  .drawer__close-button:active{
      background-color:#1c1d1d;
    }
  
  .drawer__close-button .icon{
      height:28px;
      width:28px;
    }
  
  .drawer__close--left{
    text-align:left
  }
  
  .drawer__close--left .drawer__close-button{
      right:auto;
      left:-20px;
      left:calc(var(--drawer-gutter)*-1);
    }
  
  .drawer__contents{
    height:100%;
    display:flex;
    flex-direction:column;
  }
  
  .drawer__inner,.drawer__scrollable{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    overflow-y:hidden;
  }
  
  .drawer__scrollable{
    padding-top:20px;
    overflow:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  
  .drawer__footer{
    border-top:1px solid;
    border-top-color:#343535;
    padding-top:15px;
    padding-bottom:20px;
    padding-bottom:15px
  }
  
  @media only screen and (min-width:769px){
  
  .drawer__footer{
      padding-top:22.22222px
  }
    }
  
  .drawer__inner.is-loading .drawer__scrollable{
      transition:opacity 0.3s ease 0.7s;
      opacity:0.4;
    }

    .is-transitioning{
        display:block !important;
        visibility:visible !important;
    }