body {
  font-family: Sans-Serif;
}

.dkmb-hidden {
  display: none;
}

/* ================================== */
/* ---------- Upsell Modal ---------- */
/* ================================== */
.dkmb-upsell-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20000000000;
  background-color: #ffffff;
  overflow: auto;
}
.dkmb-upsell-modal .container {
  padding: 12px;
}
@media screen and (min-width: 600px) {
  .dkmb-upsell-modal .container {
    padding: 24px;
  }
}
.dkmb-upsell-modal__header .container {
  text-align: center;
}
.dkmb-upsell-modal__header .container img {
  width: 280px;
  margin: 0 auto;
}
.dkmb-upsell-modal__body {
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
/* ========== top msg ========== */
.dkmb-upsell-modal__top-msg {
  text-align: center;
  margin-bottom: 12px;
}
.dkmb-upsell-modal__top-msg .--top {
  font-size: 14px;
  color: #db1010;
  font-weight: bold;
}
.dkmb-upsell-modal__top-msg .--main {
  font-size: 18px;
  font-weight: bold;
  margin: 6px 0;
}
.dkmb-upsell-modal__top-msg .--summary {
  font-size: 14px;
}
@media screen and (min-width: 600px) {
  .dkmb-upsell-modal__top-msg {
    margin-bottom: 24px;
  }
  .dkmb-upsell-modal__top-msg .--top {
    font-size: 18px;
  }
  .dkmb-upsell-modal__top-msg .--main {
    font-size: 34px;
    margin: 12px 0;
  }
  .dkmb-upsell-modal__top-msg .--summary {
    font-size: 20px;
  }
}
/* ========== main msg ========== */
.dkmb-upsell-modal__main-msg {
  box-sizing: border-box;
  border: 3px dashed #000000;
  display: flex;
  flex-direction: row;
  width: 100%;
  margin: 0 auto 24px auto;
  padding: 6px;
}
.dkmb-upsell-modal__main-msg .--left {
  width: 35%;
  display: flex;
  justify-content: center;
}
.dkmb-upsell-modal__main-msg .--right {
  width: 65%;
}
.dkmb-upsell-modal__main-msg-bottle {
  width: 100px;
  height: fit-content;
}
.dkmb-upsell-modal__main-msg-punch {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 16px;
  margin-bottom: 12px;
}
.dkmb-upsell-modal__main-msg-title {
  font-weight: bold;
  margin: -10px 0 12px 0;
  font-size: 22px;
  color: #7558dd;
  line-height: 24px;
  transform: rotate(-5deg);
  -webkit-transform: rotate(-5deg);
  -moz-transform: rotate(-5deg);
  text-shadow: 0px 2px 2px rgba(33, 6, 52, 0.5);
  font-family: "Barlow Condensed", sans-serif;
}
.dkmb-upsell-modal__main-msg-title span {
  display: block;
  font-size: 22px;
}
.dkmb-upsell-modal__main-msg-subtitle {
  display: none;
}
.dkmb-upsell-modal__main-msg-summary {
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.3;
}
.dkmb-upsell-modal__main-msg-cta {
  font-weight: bold;
  font-size: 12px;
}
.dkmb-upsell-modal__main-msg-price {
  font-weight: bold;
  font-size: 24px;
  letter-spacing: -1px;
}
.dkmb-upsell-modal__main-msg-price span {
  font-size: 14px;
}
@media screen and (min-width: 600px) {
  .dkmb-upsell-modal__main-msg-punch {
    margin: 10px 0 10px 0;
    font-size: 24px;
  }
  .dkmb-upsell-modal__main-msg {
    width: 80%;
    padding: 12px;
  }
  .dkmb-upsell-modal__main-msg-title {
    font-size: 38px;
    line-height: 48px;
    margin: -10px 0 44px 0;
  }
  .dkmb-upsell-modal__main-msg-title span {
    font-size: 76px;
  }
  .dkmb-upsell-modal__main-msg-subtitle {
    display: block;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 12px;
    margin-bottom: 6px;
  }
  .dkmb-upsell-modal__main-msg-summary {
    font-size: 16px;
    line-height: 1.4;
  }
  .dkmb-upsell-modal__main-msg-bottle {
    width: 200px;
    height: 400px;
  }
  .dkmb-upsell-modal__main-msg-cta {
    font-size: 24px;
  }
  .dkmb-upsell-modal__main-msg-price {
    font-size: 48px;
  }
  .dkmb-upsell-modal__main-msg-price span {
    font-size: 24px;
  }
}
/* ========== user select ========== */
.dkmb-upsell-modal__user-selection {
  text-align: center;
  margin-bottom: 36px;
}
.dkmb-upsell-modal__user-selection .--warning {
  color: #db1010;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 12px;
}
.dkmb-upsell-modal__user-selection .--accept {
  margin: 0 auto 24px auto;
  width: 100%;
  max-width: 660px;
  height: 88px;
  font-size: 24px;
  /* font-size: 30px; */
  color: #fff;
  position: relative;
  font-weight: 700;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
  transition: 300ms ease-in-out;
  -webkit-transition: 300ms ease-in-out;
  border: 1px solid #4c6436;
  background: rgba(159, 234, 97, 1);
  text-shadow: 0px 2px 2px rgba(33, 6, 52, 0.2);
  background: -moz-linear-gradient(
    top,
    rgba(159, 234, 97, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(71, 142, 9, 1) 100%
  );
  background: -webkit-gradient(
    left top,
    left bottom,
    color-stop(0%, rgba(159, 234, 97, 1)),
    color-stop(51%, rgba(120, 189, 59, 1)),
    color-stop(100%, rgba(71, 142, 9, 1))
  );
  background: -webkit-linear-gradient(
    top,
    rgba(159, 234, 97, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(71, 142, 9, 1) 100%
  );
  background: -o-linear-gradient(
    top,
    rgba(159, 234, 97, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(71, 142, 9, 1) 100%
  );
  background: -ms-linear-gradient(
    top,
    rgba(159, 234, 97, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(71, 142, 9, 1) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(159, 234, 97, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(71, 142, 9, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9fea61', endColorstr='#478e09', GradientType=0 );
}
.dkmb-upsell-modal__user-selection .--accept:hover {
  background: rgba(71, 142, 9, 1);
  background: -moz-linear-gradient(
    top,
    rgba(71, 142, 9, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(159, 234, 97, 1) 100%
  );
  background: -webkit-gradient(
    left top,
    left bottom,
    color-stop(0%, rgba(71, 142, 9, 1)),
    color-stop(51%, rgba(120, 189, 59, 1)),
    color-stop(100%, rgba(159, 234, 97, 1))
  );
  background: -webkit-linear-gradient(
    top,
    rgba(71, 142, 9, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(159, 234, 97, 1) 100%
  );
  background: -o-linear-gradient(
    top,
    rgba(71, 142, 9, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(159, 234, 97, 1) 100%
  );
  background: -ms-linear-gradient(
    top,
    rgba(71, 142, 9, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(159, 234, 97, 1) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(71, 142, 9, 1) 0%,
    rgba(120, 189, 59, 1) 51%,
    rgba(159, 234, 97, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#478e09', endColorstr='#9fea61', GradientType=0 );
}
.dkmb-upsell-modal__user-selection .--reject {
  background-color: transparent;
  color: #747474;
  display: flex;
  justify-content: center;
  margin: 0 auto 24px auto;
  width: 100%;
  max-width: 660px;
  align-items: center;
  height: 42px;
  border: none;
  font-size: 10px;
  padding: 0;
}
.dkmb-upsell-modal__user-selection .--reject img {
  width: 16px;
  height: 16px;
}
.dkmb-upsell-modal__user-selection .--badges {
  width: 320px;
  margin: 0 auto;
}
@media screen and (min-width: 600px) {
  .dkmb-upsell-modal__user-selection .--warning {
    font-size: 36px;
    margin-bottom: 24px;
  }
  .dkmb-upsell-modal__user-selection .--reject {
    font-size: 14px;
  }
}
/* ========== reviews ========== */
.dkmb-upsell-modal__reviews {
  margin-bottom: 24px;
  text-align: center;
}
.dkmb-upsell-modal__reviews-title {
  font-weight: bold;
  font-size: 24px;
}
.dkmb-upsell-modal__reviews-inner {
  margin: 12px 0;
}
.dkmb-upsell-modal__reviews-panel {
  border-bottom: 1px solid #cccccc;
  padding: 24px 12px;
}
.dkmb-upsell-modal__reviews-panel:last-child {
  border-bottom: none;
}
.dkmb-upsell-modal__reviews-panel .--userimage {
  width: 62px;
  height: 62px;
  margin: 0 auto;
}
.dkmb-upsell-modal__reviews-panel .--username {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 6px;
}
.dkmb-upsell-modal__reviews-panel .--verify {
  font-size: 12px;
  font-weight: bold;
  color: #ff4500;
  margin-bottom: 6px;
}
.dkmb-upsell-modal__reviews-panel .--stars {
  margin: 0 auto 6px auto;
  width: 120px;
}
.dkmb-upsell-modal__reviews-panel .--review-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}
.dkmb-upsell-modal__reviews-panel .--review-text span {
  display: block;
  font-weight: bold;
  margin-bottom: 6px;
  color: #333333;
}
/* ================================================ */
/* ************************************************ */

/* Global form loading screen */
.dkmb-loader-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  z-index: 2147483647;
  opacity: 0.75;
}
.dkmb-loader-spinner {
  position: fixed;
  top: 50vh;
  left: 50%;
  width: 100px;
  height: 100px;
  margin-left: -50px;
  margin-top: -50px;
  z-index: 2147483647;
}

/* Global modal custom error */
.modal-error {
  background-color: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1160;
}
.modal-error .modal-error__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 12px;
  box-sizing: border-box;
}
.modal-error .modal-error__body {
  background: #ffffff;
  width: 100%;
  max-width: 420px;
}
.modal-error .modal-error__body .modal-error__title {
  font-weight: bold;
  color: #1c1f30;
  display: flex;
  align-items: center;
  line-height: 1.25;
  padding: 12px 24px;
  background-color: #f2f2f2;
  font-size: 18px;
}
.modal-error .modal-error__body .modal-error__title img {
  margin-right: 6px;
}
.modal-error .modal-error__body .modal-error__content {
  line-height: 1.4;
  font-size: 16px;
  padding: 24px;
}
.modal-error .modal-error__body .modal-error__content p {
  color: #30323c;
}
.modal-error__footer {
  padding: 12px 24px;
  display: flex;
  border-top: 1px solid #f2f2f2;
}
.modal-error .modal-error__body .modal-error__button {
  width: 100%;
  color: #ffffff;
  font-weight: bold;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  background-color: #0e6ab0;
  border: 1px solid #0e6ab0;
  margin-left: auto;
  cursor: pointer;
}
.modal-error .modal-error__body .modal-error__button:hover {
  background-color: #0b568e;
}
@media only screen and (min-width: 600px) {
  .modal-error .modal-error__body .modal-error__button {
    width: fit-content;
  }
}
/* input error / no-error indeicator */
input.has-error,
select.has-error {
  background: url(../images/error-input.png) 99.5% 50% no-repeat #fff;
  border: 1px solid orange !important;
}

input.no-error,
select.no-error {
  background: url(../images/tick-input.png) 99.5% 50% no-repeat #fff;
  border: 1px solid green !important;
}

/* Modal */
#app_common_modal,
#error_handler_overlay {
  position: fixed;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  z-index: 2147483647;
  background: #333;
  background: rgba(255, 255, 255, 0.8);
  display: none;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

#app_common_modal .app_modal_body,
#error_handler_overlay .error_handler_body {
  max-width: 600px;
  -webkit-background-clip: padding-box;
  font-family: Verdana, Geneva, sans-serif;
  box-sizing: border-box;
  outline: 0;
}

#error_handler_overlay .error_handler_body {
  margin: 100px auto;
  width: 95%;
  padding: 20px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}

#app_common_modal_close,
#error_handler_overlay_close {
  position: absolute;
  right: -10px;
  top: -10px;
  color: #fff;
  background-color: #333;
  border: 2px solid #fff;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  font-weight: 700;
  line-height: 30px;
  padding: 0;
  margin: 0;
}

#app_common_modal .app_modal_body {
  margin: 100px auto;
  min-width: inherit;
  width: 95%;
  min-height: 400px;
  padding: 2.5%;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  font-size: 14px;
  line-height: 1.42857143;
  color: #333;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

#app_common_modal .app_modal_body iframe {
  min-height: 400px;
  width: 100%;
  border: 1px solid #d5d6ef;
}
