:root {
  --primary-color: #004B87;
  --secondary-color: #8F96A4;
  --primary-color-light: #0062b0;
  --primary-color-dark: #00345e;
  --third-color: #13e4dd;
  --fourth-color: #F1F1F1;
  --secondary-color-light: #abb0bb;
  --secondary-color-dark: #5c6371;
  --contrast-color: #13e4dd;
  --text-color: #212121;
  --light-color: #F0F8FF;
  --text-attention-color: #4a99a3;
}

* {
  transition: 0.2s;
}

html {
  font-size: 20px;
  scroll-padding-top: 92px;
}

body {
  font-family: "Jost", sans-serif;
  color: var(--text-color);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

img {
  width: 100%;
  max-width: -moz-fit-content;
  max-width: fit-content;
  height: auto;
}

figure {
  margin-bottom: 0;
}

@media (max-width: 499px) {
  .navbar-brand {
    max-width: 160px;
  }
}

.caret li {
  position: relative;
  padding-left: 6px;
  list-style: none;
}
.caret li::before {
  content: "\f231";
  font-family: "bootstrap-icons";
  position: absolute;
  top: -0.6em;
  left: -1em;
  color: var(--primary-color-dark);
  font-size: 1.6em;
  transform: translateY(10px) !important;
}

.item {
  transition: 0.2s;
}
.item:hover {
  scale: 1.025;
}

.button-bg {
  background-image: linear-gradient(to top, #b4e5ba 50%, #c7e7bc 51%);
  color: var(--text-color) !important;
  border: 2px solid #8abfa5 !important;
}
.button-bg:hover {
  background-image: linear-gradient(to bottom, #b4e5ba 50%, #c7e7bc 51%);
}
.button-bg.promo {
  background-image: linear-gradient(to top, #fccd15 50%, #ffd814 51%);
  color: var(--text-color) !important;
  border: 2px solid #a78a19 !important;
}
.button-bg.promo:hover {
  background-image: linear-gradient(to bottom, #fccd15 50%, #ffd814 51%);
}

@media (max-width: 475px) {
  .accordion-button {
    font-size: 1rem !important;
  }
}
.accordion-button:not(.collapsed) {
  background-color: white;
  color: var(--text-color);
}
.accordion-button:focus {
  box-shadow: 0 0 0 0.25rem var(--secondary-color);
}

#guarantee .badges img {
  max-width: 100px;
}
@media (max-width: 599px) {
  #guarantee .badges img {
    max-width: 70px;
  }
}

#faq .accordion-item {
  border-radius: 0;
  margin-bottom: 0.25em;
}
#faq .accordion-button {
  font-weight: bold;
  border-radius: 0;
}

#references * {
  font-weight: 500;
  word-break: break-all;
}
@media (max-width: 599px) {
  #references ol {
    font-size: 0.7em;
    padding-left: 2em;
    margin-top: -1em;
  }
}
#references img {
  width: auto;
  height: 50px;
}
@media (max-width: 599px) {
  #references img {
    height: 30px;
  }
}
#references span {
  color: #8f8f8f;
}

.fw-bolder {
  font-weight: 900;
}

.triangle {
  position: relative;
  width: 0;
  height: 0;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
  border-top: 20px solid var(--primary-color-light);
  margin: 0 auto;
}

.modal.downsell {
  background-color: var(--primary-color);
  z-index: 999999;
}
.modal.downsell figure {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.modal.downsell figure .guarantee-badge {
  position: absolute;
  max-width: 100px;
  top: 1em;
  right: 2vw;
}
@media (max-width: 599px) {
  .modal.downsell figure .guarantee-badge {
    max-width: 20vw;
    right: 0;
    top: 0;
  }
}
.modal.downsell .per-bottle {
  color: var(--primary-color);
  font-size: 2em;
}
.modal.downsell .savings {
  color: rgb(14, 194, 110);
  font-size: 1.6em;
}
.modal.downsell .modal-dialog {
  max-width: 100%;
}
.modal.downsell .no-thanks {
  font-size: 1em;
}
.modal.downsell#secondDownsell, .modal.downsell#secondDownsellK3 {
  background-color: var(--contrast-color);
}
@media (max-width: 599px) {
  .modal.downsell .button-bg {
    font-size: 1em !important;
  }
  .modal.downsell h2 {
    font-size: 1.4em !important;
  }
  .modal.downsell .per-bottle {
    margin-top: 1em;
    font-size: 1.4em;
  }
  .modal.downsell .savings {
    font-size: 1.2em;
  }
}
.modal .savings {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.modal .savings .badge {
  position: absolute;
  align-content: center;
  height: 110px;
  width: 110px;
  font-size: 0.8em;
  border-radius: 50%;
  top: 1em;
  right: 2em;
  background-color: var(--primary-color);
}
.modal .savings .badge span {
  display: block;
  font-size: 2.25em;
  font-weight: 900;
  letter-spacing: -2px;
}

#video #videoContainer {
  text-align: center;
}
#video #videoContainer h1 {
  font-size: 2.1em;
  line-height: 1.4;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.7);
  margin: 0;
}
@media (max-width: 768px) {
  #video #videoContainer h1 {
    font-size: 1.7em;
  }
}
@media (max-width: 480px) {
  #video #videoContainer h1 {
    font-size: 1.35em;
    line-height: 1.3;
  }
}
#video #videoContainer h1 span {
  color: #4EB4B8;
  background-color: #222222;
  padding: 3px 8px;
  border-radius: 5px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 768px) {
  #video #videoContainer h1 span {
    display: block;
    padding: 3px 4px;
  }
}
#video #videoContainer p {
  font-size: 1.5em;
  margin-top: 15px;
  color: #ffcc00;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}
@media (max-width: 768px) {
  #video #videoContainer p {
    font-size: 1em;
  }
}
@media (max-width: 480px) {
  #video #videoContainer p {
    font-size: 0.9em;
  }
}

.img-overlap {
  position: absolute;
  transform: translate(-50%, -80%);
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
}