:root {
  --brand: #0737ab;
  --white: #fff;
  --blue: #1b3d81;
  --gray: #8e8a87;
  --lightGray: #f7f8fa;
  --midGray: #d9d9d9;
  --grayGradient: transparent
    linear-gradient(180deg, #dcdcdc 0%, #fefefe 52%, #eaeaea 100%) 0% 0%
    no-repeat padding-box;
  --goldGradient: transparent
    linear-gradient(
      180deg,
      #e0cfbe 0%,
      #ddccb8 3%,
      #e2d3c0 10%,
      #e3d4c3 12%,
      #fefdfd 32%,
      #ffffff 38%,
      #ffffff 49%,
      #f8f6f3 65%,
      #d6c8b7 93%,
      #d3c4b3 100%
    )
    0% 0% no-repeat padding-box;
  --headerHeight: 6.25rem;
  --footerHeight: 20.5rem;
  --t-opacity: 0.5s;
  --minHeight: 37.5rem;
  --desktopMinHeight: 50rem;
  --maxHeight: 50rem;
  --fullHeight: min(
    calc(100vh - var(--headerHeight)),
    calc(var(--vh) - var(--headerHeight))
  );
  --px100: 16.6rem;
  --px80: 5rem;
  --px56: 3.5rem;
  --px48: 3rem;
  --px44: 2.75rem;
  --px40: 2.5rem;
  --px32: 2rem;
  --px30: 1.875rem;
  --px26: 1.625rem;
  --px24: 1.5rem;
  --px22: 1.375rem;
  --px20: 1.25rem;
  --px18: 1.125rem;
  --px16: 1rem;
  --px14: 0.875rem;
  --px12: 0.75rem;
  --px8: 0.5rem;
}
@media (min-width: 992px) {
  body {
    min-height: calc(
      var(--headerHeight) + var(--minHeight) + var(--footerHeight)
    );
  }
}
@media (max-width: 991.98px) {
  .container {
    max-width: 100% !important;
  }
  :root {
    --footerHeight: 16.625rem;
  }
  .mobile .w-100 {
    width: 100vw !important;
  }
}
.row:before,
.row:after {
  display: none !important;
}
.inview {
  opacity: 1 !important;
  transition: all 0.2s ease-in;
}
.snap {
  opacity: 0;
  transition: all 0.2s ease-in;
}
.fadeIn,
.hide {
  opacity: 0 !important;
  transition: all 0.2s ease-in;
}

html {
  position: relative;
  min-height: 100%;
  transition: all 0.3s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* ‑webkit‑text‑size‑adjust: 100%; */
  -webkit-text-size-adjust: none !important;
  scroll-behavior: smooth;

  text-rendering: optimizeLegibility;
  font-size: var(--rem);
  /* //max(var(--rem), 0.625vw); */
  /* font-size: max(var(--rem), 0.625vw); */
  /* font-size: max(calc(var(--rem) * var(--dpr)), 0.625vw); */
}
@media (max-width: 991.98px) {
  html {
    font-size: var(--rem);
    overflow-x: hidden !important;
  }
}
body.stickyFooter {
  margin-bottom: var(--footerHeight);
}
body {
  margin: 0;
  padding: 0;
  width: 100vw;
  font-family: 'Open Sans', sans-serif;
  overflow-x: hidden !important;
  line-height: normal;
  padding-top: var(--headerHeight);
  scroll-behavior: smooth;
  transition: all 0.3s ease;
  -webkit-text-size-adjust: none !important;
}

a {
  text-decoration: none !important;
  color: var(--brand);
}
input,
textarea {
  all: unset;
}

@media (min-width: 992px) {
  .container {
    max-width: 90% !important;
  }
  a:hover {
    transition: color var(--t-opacity) ease;
  }
}

.loading {
  opacity: 0;
  overflow: hidden;
}
header {
  display: flex;
  align-items: center;
  top: 0;
  z-index: 11;
  position: fixed;
  background: var(--white);
  height: var(--headerHeight);
}

header .row {
  width: 100%;
  margin: 0 auto;
}

#menuToggle img {
  cursor: pointer;
  height: calc(2.375rem);
  width: auto;
}
#menuToggle.active #menuClose {
  display: block;
}
#menuToggle.active #menu {
  display: none;
}

#menuClose {
  display: none;
}
.desktop #mobileMenu {
  display: none;
}

#mobileMenu {
  position: fixed;
  opacity: 0;
  z-index: -1;
  transition: opacity var(--t-opacity) ease;
  background: var(--white);
  width: 100vw;
  height: min(
    calc(100vh - var(--headerHeight)),
    calc(var(--vh) - var(--headerHeight))
  );
}

.withMenu #mobileMenu {
  transition: opacity var(--t-opacity) ease;
  opacity: 1;
  z-index: 10;
  position: relative;
}
#mobileMenu ul {
  flex-direction: column;
}
body.withMenu {
  margin-bottom: 0;
  position: fixed;
}
#mobileMenu nav.bottom ul {
  font-size: 1rem;
  gap: var(--px14);
}
#mobileMenu nav.bottom ul a {
  color: var(--gray);
}
#mobileMenu .top,
#mobileMenu .bottom {
  margin-top: auto;
}
#mobileMenu nav.top ul {
  row-gap: var(--px32);
}
.mobileMenuWrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
}

/*footer*/
footer {
  color: var(--blue);
  border-top: solid calc(1rem * 0.4) var(--brand);
  padding: var(--px32) 0;
  margin-top: var(--px32);
  font-size: 1rem;
}
.stickyFooter footer {
  position: absolute;
  left: 0;
  bottom: 0;
}
footer .container .row {
  display: flex;
}

.logo img {
  height: calc(var(--headerHeight) * 0.74);
  width: auto;
}
footer .logo {
  margin-bottom: var(--px32);
}
.mobile footer {
  font-size: var(--px14);
  padding: calc(1rem * 1.5) 0;
}

.mobile footer .logo {
  margin-bottom: var(--px24);
}

/*gradients*/
.gradientGray {
  background: transparent
    linear-gradient(180deg, #dcdcdc 0%, #fefefe 52%, #eaeaea 100%) 0% 0%
    no-repeat padding-box;
}

/*brand*/
.brand footer {
  margin-top: 0;
}
video {
  min-height: 100%;
  min-width: 100%;
}

@media (max-width: 575.98px) {
  .mobile video {
    translate: -25%;
    max-height: var(--maxHeight);
  }
}

div#intro {
  position: absolute;
  height: 100%;
  /* var(--fullHeight); */
  margin: 0 auto;
  display: flex;
  z-index: 2;
  width: 100vw;
  justify-content: center;
  color: var(--white);
}
.desktop div#intro .row {
  height: 95%;
  margin-top: auto;
}
.mobile div#intro {
  height: 100%;
}
div#bottle {
  height: 100%;
  overflow: visible;
  justify-content: center;
}
div#bottle img {
  height: 100%;
  margin: 0 auto;
  position: relative;
  top: 5%;
}
.mobile div#bottle {
  height: 60%;
  overflow: visible;
  /* margin-bottom: 1rem; */
  align-self: end;
  justify-content: center;
}
.mobile div#bottle img {
  top: 0;
}
.introText {
  font-size: calc(2.6875rem);
  font-weight: 300;
  margin-bottom: var(--px32);
}
.mobile .introText {
  font-size: var(--px24);
  margin-bottom: 1rem;
}

.mobile #intro {
  padding-top: 10px;
}

.desktop #intro div.leaves img {
  width: calc(8.25rem);
  height: auto;
  position: absolute;
  bottom: 0;
}
.mobile #intro .leaves img {
  width: calc(3.5rem);
  height: auto;
  position: absolute;
  overflow: visible;
}
div#itroTextWrap {
  display: flex;
  flex-direction: column;
}
.desktop div#itroTextWrap div {
  margin-top: auto;
}
.mobile div#itroTextWrap {
  text-align: center;
  margin-bottom: var(--px22);
  justify-content: center;
}
.desktop #intro a.actionButton:hover {
  background-color: var(--white);
  color: var(--gray);
  border-color: var(--white);
}
.mobile #intro a.actionButton {
  margin: 0 auto;
}

#textBar {
  color: var(--brand);
  font-size: var(--px32);
  font-weight: 300;
}

#textBar b {
  font-weight: 500;
}
.mobile #textBar {
  color: var(--blue);
  font-size: var(--px22);
}

.desktop #textBar .row {
  min-height: calc(35rem);
  align-items: center;
  height: calc(var(--fullHeight) / 1.5);
}
.desktop #textBar .fullHeight {
  padding: 0;
}
.mobile #textBar .row {
  padding: var(--px80) 0;
  margin-bottom: 0;
}
#feelTheSpirit .bottleWrap {
  position: relative;
  justify-content: center;
  display: flex;
}
.mobile #feelTheSpirit .bottle {
  left: unset;
}

#feelTheSpirit .preBottleWrap {
  background-image: url('/local/templates/whitebirch/img/brand/shots.jpg?');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 92%;

  position: relative;
}
.mobile #feelTheSpirit .branchLeaves {
  max-width: calc(16rem);
  left: unset;
}

.mobile #feelTheSpirit .preBottleWrap {
  background-size: auto calc(21.25rem);
  margin-bottom: var(--px40);
  background-position: top center;
}
#feelTheSpirit .branchLeaves {
  position: absolute;
  top: 0px;
  padding: 0;
  z-index: 2;
  max-height: calc(0.4 * var(--fullHeight));
  width: auto;
}
@media (min-width: 992px) {
  #feelTheSpirit .branchLeaves {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
  }
}

#feelTheSpirit .bottle {
  max-height: calc(0.85 * var(--fullHeight));
  left: 1rem;
  position: relative;
  z-index: 1;
}

.mobile #feelTheSpirit .bottle {
  height: 23.125rem;
  width: auto;
}
#feelTheSpirit .boottleHalfBack {
  background: #fff;
  height: 100%;
  width: 50%;
  z-index: 0;
  position: absolute;
  left: 0;
}

.purityLogo {
  width: 20% !important;
  height: auto;
  position: absolute;
  left: 40%;
  top: 15%;
  z-index: 3;
}
.mobile .purityLogo {
  width: 8.625rem !important;
  top: 10%;
  left: calc(50% - 8.625rem / 2);
}

@media (max-width: 575.98px) {
  .mobile #feelTheSpirit .preBottleWrap {
    background-position-x: 40%;
  }
  .mobile #feelTheSpirit .purityLogo {
    left: 45%;
  }
}
.desktop .imageWrap {
  overflow: hidden;
  height: max(calc(0.8 * var(--fullHeight)), calc(42.5rem));
  display: flex;
  align-items: center;
  justify-self: center;
}
.imageWrap img {
  width: 100%;
  height: 100%;
  max-height: calc(var(--fullHeight) - var(--px80));
  object-fit: cover;
  min-height: 24rem;
}
.mobile .imageWrap {
  margin-bottom: var(--px40);
  /* height: 20.32rem;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  display: flex; */
}
.mobile .imageWrap img {
  width: 100% !important;
  min-height: unset !important;
  max-height: unset !important;
}
.brand #collection .productTitle {
  font-size: var(--px24);
  color: var(--brand);
  text-transform: uppercase;
  margin-bottom: var(--px20);
}
.brand #collection .row {
  /*column-gap: 8.375rem;*/
  column-gap: 1rem;
  row-gap: 2rem;
}
#collection {
  align-items: center;
  display: flex;
}
.brand #collection .productPreviewText {
  font-size: 1rem;
  color: var(--blue);
  margin-bottom: var(--px40);
}
.brand #collection .productItem {
  display: flex;
  align-items: center;
  gap: 3.75rem;
  background:#f7f8fa;
  padding:2rem 1rem;
}
.brand #collection .productItem img {
  height: max(calc((var(--fullHeight) - var(--px80)) / 2), 25.375rem);
  /* max-height: calc(25.375rem); */
  width: auto;
}
.brand #collection a.actionButton {
  font-size: var(--px18);
}
.desktop .brand #collection a.actionButton:hover {
  background-color: var(--gray);
  color: var(--white);
}
.mobile .brand #collection .productItem {
  gap: calc(3.75rem / 2);
}
.mobile .brand #collection .productItem {
  margin-bottom: var(--px32);
}
.mobile .products {
  row-gap: var(--px40);
}

#features {
  background: var(--grayGradient);
  height: calc(3 * var(--fullHeight));
  position: relative;
}
#features .down {
  height: 100%;
}
#features.active .down {
  z-index: 1;
  width: 100%;
  height: var(--fullHeight) !important;
  top: var(--headerHeight);
}

#features .up {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  scroll-snap-type: y mandatory;
}
#features.fullHeight {
  padding: 0;
}

.afterFeatures .sideBottle {
  align-items: end;
}
.sideBottle img {
  height: var(--fullHeight);
}
.withFeatures .sideBottle img {
  position: fixed;
  top: var(--headerHeight);
}
.featuresWrap {
  height: calc(3 * var(--fullHeight));
}
.mealsWrap {
  height: calc(5 * var(--fullHeight));
}
.featureItem,
.mealItem {
  height: var(--fullHeight);
  top: var(--headerHeight);
  display: flex;
  opacity: 0;
  transition: all var(--t-opacity) ease-in;
  scroll-snap-stop: always;
}
.mealItem {
  display: flex;
  align-items: center;
}
.withFeatures .featureItem,
.withFeatures .mealItem {
  position: fixed;
  width: inherit;
}
.withFeatures .mealItem,
.mealItem.active {
  width: max-content;
}
.featureItem.active,
.mealItem.active {
  opacity: 1;
}
.line img {
  margin-top: 1rem;
  min-height: 1px;
}

.featureItemWrap {
  gap: var(--px48);
  padding-bottom: var(--px40);
  display: flex;
  height: max-content;
}
.featureItem.item1 .featureItemWrap {
  padding-top: calc((var(--fullHeight) / 3) / 1.5);
}
.featureItem.item2 .featureItemWrap {
  padding-top: calc(((var(--fullHeight) / 3) * 2) / 1.5);
}
.featureItem.item3 .featureItemWrap {
  align-self: end;
}
.desktop .featureItem.item3 .line img {
  align-self: center;
  display: flex;
}
.mobile .featureItemWrap .blockTitle {
  text-align: left !important;
}
.mobile .featureItemWrap {
  row-gap: 1rem;
  flex-direction: column;
}

#organic2 .row {
  background-image: url('img/brand/forest.jpg');
  background-position: center top;
}

.mobile #organic2 .row {
  padding: var(--px80) 0;
  margin-bottom: 0;
}

#organic2 div {
  color: var(--white) !important;
}
#organic2 .blockText {
  display: flex;
  align-items: start;
  gap: var(--px12);
}
#organic2 img {
  border-radius: var(--px8);
  margin: var(--px12);
}
@media (min-width: 992px) {
  #organic2 .col-lg-6 {
    display: flex;
    gap: var(--px12);
    align-items: start;
  }
}
@media (max-width: 991.98px) {
  #organic2 img {
    margin: 0 auto;
    display: block;
  }
}

#wheat .row {
  background-image: url('img/brand/wheat.jpg');
  background-position: center top;
  background-size: cover;
  width: 100%;
}

.mobile #wheat .row {
  padding: var(--px80) 0;
  margin-bottom: 0;
}

#wheat .blockText {
  padding: var(--px24);
  background-color: hsla(0, 0%, 100%, 0.5);
}
/**collection*/
#collectionBg .imageWrap {
  height: auto !important;
  margin-bottom: 0 !important;
}
#collectionBg .imageWrap img {
  min-height: 24rem !important;
}
.collectionList .blockTitle {
  margin-top: var(--px40);
}
.collectionList .blockSubTitle {
  margin-bottom: var(--px32);
}
.collectionList .productItem {
  background-color: var(--lightGray);
}
.collectionList .productItem a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 31.25rem;
  padding: 1rem;
}
.collectionList .productItem img {
  height: 100%;
}
.collectionList.fullHeight {
  /* height: calc(
    var(--fullHeight) - var(--footerHeight) - 2rem
  ) !important; */
  /* padding: 0 !important; */
  justify-content: center;
}

/**/
.contact .fullHeight,
.collectionList.fullHeight {
  padding-top: var(--px20);
  padding-bottom: var(--px20);
  height: calc(100vh - var(--headerHeight) - var(--footerHeight));
  min-height: calc(var(--minHeight) + var(--px40));
}
.collectionList.fullHeight {
}
.desktop .contact {
  padding: 0;
}
.desktop .contact header {
  position: relative;
}
.desktop .collectionList {
  padding: 0;
}
.desktop .collectionList header {
  position: relative;
}
.desktop .collectionList footer,
.desktop .contact footer {
  /* margin-top: 0; */
}
/**/

/*contact*/

.contactText {
  font-size: var(--px24);
  color: var(--blue);
  font-weight: 300;
}
.contactText a {
  text-decoration: underline !important;
  color: var(--blue);
}
.desktop .contactText a:hover {
  text-decoration: none !important;
}

.contact .formWrap {
  padding: var(--px32) var(--px24);
  background-color: #f7f8fa;
  font-size: 1rem;
}
@media (max-width: 991.98px) {
  #formApp {
    margin-top: var(--px40);
  }
  .checkbox {
    align-items: center;
  }
  button#formButton {
    margin-left: auto;
    margin-right: auto;
    display: flex;
  }
}
.formWrap input,
.formWrap textarea {
  border: solid 1px #8e8a87;
  background-color: var(--white);
  color: var(--brand);
  margin-bottom: var(--px24);
  padding: 1rem calc(1rem / 2);
}
.checkbox div {
  display: flex;
  align-items: center;
  gap: calc(1rem / 2);
}
input[type='checkbox'] {
  content: '';
  padding: 0;
  background-color: transparent !important;
  border: none !important;
  outline: none;
  width: 1rem;
  height: 1rem;
  display: block;
  background-image: url(/local/templates/whitebirch/img/contact/checkbox.svg);
  background-size: contain;
  margin-bottom: 0;
}
input[type='checkbox']:checked {
  background-image: url('/local/templates/whitebirch/img/contact/checked.svg');
}
input[type='checkbox']:hover,
input[type='checkbox']:focus {
  border: none;
}
.error input {
  border-color: red;
}
button#formButton {
  border: none;
  text-transform: uppercase;
  background-color: #bba155;
  border-radius: var(--px32);
  font-size: var(--px22);
  margin-top: var(--px24);
  color: var(--white);
  padding: calc(1rem - 1rem / 8) var(--px22);
  border: none;
}
button#formButton:disabled {
  opacity: 0.5;
}
.desktop #formButton:not(:disabled):hover {
  background-color: var(--brand);
}
::placeholder {
  color: #8e8a87;
}
.desktop input:hover,
.desktop input:focus,
.desktop textarea:hover,
.desktop textarea:focus {
  border: solid 1px var(--brand);
}
.successMessage {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
  color: var(--brand);
  font-size: var(--px24);
}
/*ageCheck*/
.index {
  padding: 0;
  margin: 0;
}
#ageCheck {
  background-image: url('/local/templates/whitebirch/img/bgAgeCheck.jpg');
  background-position: center;
  width: 100vw;
  height: 100vh;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#ageCheck .wrap {
  row-gap: var(--px40);
  background-color: var(--white);
  padding: var(--px40);
  font-size: var(--px26);
  font-weight: 500;
  color: var(--blue);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  max-width: 40rem;
}
.mobile #ageCheck .wrap {
  font-size: var(--px20);
  padding: var(--px40) 1rem;
  row-gap: var(--px20);
}
.mobile #ageCheck {
  padding: 0 1rem;
  background-size: auto 200%;
  background-position: top;
}
.mobile #ageConfirm {
  padding: calc(1rem / 2) 12px;
  cursor: pointer;
}

#ageCheck .small {
  font-size: calc(1rem - 1rem / 8);
}
#ageCheck .small a {
  text-decoration: underline;
}
.desktop #ageCheck .small a:hover {
  text-decoration: none;
}
#ageCheck .buttons {
  gap: calc(1rem - 1rem / 8);
}
#ageCheck a {
  color: var(--blue);
  cursor: pointer;
}
#ageCheck .buttons a {
  font-size: var(--px18);
}

#ageConfirm {
  background-color: var(--midGray);
  padding: calc(1rem / 2) var(--px26);
  cursor: pointer;
}

.desktop #ageConfirm:hover {
  background-color: var(--blue);
  color: var(--midGray);
}
/*buttons*/
a.actionButton {
  text-transform: uppercase;
  color: inherit;
  border: solid 1px;
  font-size: var(--px22);
  padding: 0.3125rem 0.625rem;
  font-weight: 300;
  display: block;
  max-width: min-content;
  white-space: nowrap;
}

/**/
.blockTitle {
  text-transform: uppercase;
  font-size: var(--px32);
  color: var(--brand);
  font-weight: 400;
  margin-bottom: var(--px40);
}
.blockSubTitle {
  font-size: var(--px24);
  color: var(--blue);
  font-weight: 300;
}
.mobile .blockTitle {
  margin-bottom: var(--px20);
  text-align: center;
  font-size: var(--px30);
}

.blockText {
  color: var(--blue);
  font-size: var(--px32);
  font-weight: 300;
}
.mobile .blockText {
  font-size: var(--px22);
}

/**/
.fullHeight {
  height: calc(var(--fullHeight) + var(--px80));
  min-height: min-content;
  padding-top: var(--px40);
  padding-bottom: var(--px40);
  overflow: hidden;
  min-height: var(--minHeight);
  position: relative;
  transition: all var(--t-opacity) ease-in;
}
@media (min-heigth: 37.5rem) {
  .fullHeight {
  }
}

.introWrap.fullHeight,
.brand .collection .fullHeight,
.foodpairing .fullHeight {
  padding: 0;
  height: calc(var(--fullHeight));
  z-index: 3;
}
.mobile .fullHeight {
  max-height: var(--maxHeight);
}
.mobile .fullHeight:not(.mobile .introWrap.fullHeight) {
  height: unset !important;
  max-height: unset !important;
}
@media (orientation: landscape) and (max-height: 800px) {
  /* .fullHeight {
    height: unset;
    max-height: unset;
  } */
}
@media (orientation: portrait) {
  .fullHeight {
    height: unset;
    max-height: unset;
  }
}
@media (orientation: portrait) and (max-width: 767.98px) {
  .fullHeight {
    min-height: unset;
  }
}
.mobile section:not(.mobile .introWrap.fullHeight) {
  /* margin-bottom: var(--headerHeight); */
  margin-bottom: var(--px40);
}
.mx-0 {
  margin: 0;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}
.py-40 {
  padding-top: var(--px40);
  padding-bottom: var(--px40);
}
.mb-32 {
  margin-bottom: var(--px32);
}

.cookiesNote,
.cookiesNote a {
  font-size: calc(var(--rem) * 0.8);
}
.cookiesNote a {
  cursor: pointer;
}
.cookiesNote {
  background: var(--grayGradient);

  display: flex;
  align-items: center;
  padding: var(--rem);
  gap: var(--rem);
  position: fixed;
  bottom: var(--rem);
  left: var(--rem);
  right: var(--rem);
  flex-direction: row;
  width: max-content;
  max-width: 90vw;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .cookiesNote {
    flex-direction: column;
    align-items: start;
  }
}

.footer-social {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 32px;
  text-align:center;
}

.footer-social img {
    width:100%;
    max-width: 280px;
    height: auto;
}
