.intro-video {
  position: relative;
}
@media only screen and (min-width: 0px) and (max-width: 767px) {
  .intro-video {
    padding-bottom: 0;
  }
}
.intro-video .video-background {
  position: relative;
  width: 100%;
  z-index: 0;
  outline: 0;
  border-radius: 24px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  touch-action: manipulation;
  -ms-high-contrast-adjust: none;
}
.intro-video video {
  left: 0;
  top: 0;
  width: 100%;
  max-height: 110vh;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 24px;
}
@media only screen and (min-width: 0px) and (max-width: 767px) {
  .intro-video video {
    max-height: 30vh;
  }
}

.awareness-benefits .benefit {
  text-align: center;
  padding: 1.875rem 3.75rem;
  box-shadow: 0 8px 40px -8px rgba(0, 0, 0, 0.1607843137);
  border-radius: 12px;
}
.awareness-benefits .benefit.secondary-benefit img {
  height: 60px;
}
.awareness-benefits .benefit img {
  display: inline-block;
  margin: 0 0 0.9375rem 0;
  height: 80px;
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .awareness-benefits .benefit img {
    max-height: 50px;
  }
}

.sommeliers .sommelier {
  text-align: center;
  padding: 1.875rem;
  border-radius: 12px;
  box-shadow: 0 8px 40px -8px rgba(0, 0, 0, 0.1607843137);
}
.sommeliers .sommelier .quotes {
  display: block;
  margin: 0 auto 1.25rem auto;
}
.sommeliers .sommelier .sommelier-img {
  max-height: 70px;
  margin: 0.9375rem 0;
  display: inline-block;
  border-radius: 100%;
}
.sommeliers .sommelier .sommelier-name {
  font-weight: 500;
}

.google-reviews .google-rate {
  text-align: center;
  margin: 0 0 1.875rem 0;
}
.google-reviews .google-rate .val {
  font-size: 2.125rem;
  font-weight: 400;
}
.google-reviews .google-rate .val-stars {
  margin-bottom: 0.4375rem;
}
.google-reviews .google-rate .val-stars ul li {
  display: inline-block;
}
.google-reviews .google-rate .google-link {
  color: #707070;
  font-size: 0.875rem;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-pack: center;
          justify-content: center;
  -webkit-box-align: center;
          align-items: center;
  gap: 0.625rem;
}
.google-reviews .google-rate .google-link img {
  height: 14px;
}
.google-reviews .google-rate .google-link:hover {
  text-decoration: underline;
}
.google-reviews .google-review {
  border-radius: 12px;
  box-shadow: 0 8px 40px -8px rgba(0, 0, 0, 0.1607843137);
}
.google-reviews .google-review .review-comment {
  color: #707070;
  padding: 1.875rem 1.5625rem;
}
.google-reviews .google-review .review-comment .review-rate {
  color: #fff;
  font-size: 0.875rem;
  background-color: #A1B98A;
  padding: 0.5rem 0.9375rem;
  margin: 0 0 0.9375rem 0;
  border-radius: 12px;
  display: table;
  letter-spacing: 1px;
}
.google-reviews .google-review .review-comment .review-rate img {
  display: inline-block;
  height: 18px;
}
.google-reviews .google-review .review-comment .review-rate span {
  font-size: 1.25rem;
  line-height: 1.25rem;
  font-weight: 400;
}
.google-reviews .google-review .review-author {
  background-color: #F4F4F4;
  padding: 0.9375rem 1.5625rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 0.9375rem;
}
.google-reviews .google-review .review-author .review-author-letter {
  font-size: 1.375rem;
  line-height: 50px;
  color: #fff;
  width: 50px;
  height: 50px;
  background-color: #e7d99c;
  border-radius: 100px;
  text-align: center;
}
.google-reviews .google-review .review-author .review-author-name {
  color: #242424;
  font-size: 1rem;
  font-weight: 600;
}
.google-reviews .google-review .review-author .review-author-name span {
  color: #707070;
  font-size: 0.75rem;
  display: block;
  font-weight: 400;
}

.sommeliers .swiper-shell .swiper-button-prev {
  left: 55px;
}
.sommeliers .swiper-shell .swiper-button-next {
  right: 55px;
}
.sommeliers .swiper-wrapper {
  padding: 3.125rem 0 6.25rem 0;
}
@media only screen and (min-width: 0px) and (max-width: 767px) {
  .sommeliers .swiper-wrapper {
    padding: 1.25rem 0 2.5rem 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .sommeliers .swiper-wrapper {
    padding: 1.25rem 0 2.5rem 0;
  }
}

.videos .video {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  display: block;
}
.videos .video:before {
  content: "";
  height: 50px;
  width: 50px;
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
      -ms-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  background: url(/build/images/play.4a2f8331.svg) center center no-repeat;
  background-size: 50px;
  opacity: 0.8;
}
.videos .video:hover:before {
  opacity: 1;
}
.videos .video:after {
  content: "";
  height: 30%;
  width: 100%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), color-stop(40.95%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(360deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 40.95%, rgba(0, 0, 0, 0) 100%);
  position: absolute;
  bottom: 0;
  z-index: 1;
}
.videos .video .video-text {
  position: absolute;
  left: 0;
  bottom: 20px;
  padding: 0 1.875rem;
  z-index: 2;
}
.videos .video .video-text .video-title {
  color: #FFFFFF;
  font-size: 1.5rem;
  line-height: 1.75rem;
  text-transform: uppercase;
}
.videos .video .video-text .video-desc {
  color: #FFFFFF;
  font-size: 0.875rem;
  line-height: 1.125rem;
}

.specials-wrap {
  padding: 26px 0;
}

.specials-grid {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
  grid-template-rows: 150px 350px 150px;
  gap: 18px;
}

.special-card,
.special-card-photo {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 0;
}
.special-card .special-card-bg,
.special-card-photo .special-card-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.special-card .special-card-content,
.special-card-photo .special-card-content {
  position: relative;
  z-index: 2;
  padding: 25px;
  height: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
}

.card--topwide {
  grid-column: 1/3;
  grid-row: 1;
}

.card--righttop {
  grid-column: 3;
  grid-row: 1/3;
}

.card--lefttall {
  grid-column: 1;
  grid-row: 2/4;
}

.card--centerphoto {
  grid-column: 2;
  grid-row: 2;
}

.card--bottomwide {
  grid-column: 2;
  grid-row: 3;
}

.card--rightbottom {
  grid-column: 3;
  grid-row: 3;
}

.special-card-photo .special-card-content {
  width: 40%;
}
.special-card-photo .link {
  text-decoration: none;
}
.special-card-photo .link:hover {
  text-decoration: underline;
}

.special-card-overlay {
  position: absolute;
  inset: 0;
  padding: 18px;
  color: #ffffff;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.6)), color-stop(rgba(0, 0, 0, 0.3)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0));
}

.card--centerphoto h3 {
  color: #ffffff;
}
.card--centerphoto ul li {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: start;
          align-items: flex-start;
  gap: 10px;
  margin-bottom: 15px;
}
.card--centerphoto ul li:last-of-type {
  margin-bottom: 0;
}
.card--centerphoto ul li span {
  font-size: 14px;
}
.card--centerphoto ul li img {
  position: relative;
  top: 2px;
}

@media (max-width: 992px) {
  .specials-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    gap: 16px;
    grid-template-areas: "topwide topwide" "lefttall bottomwide" "centerphoto centerphoto" "righttop rightbottom";
  }
  .card--topwide,
  .card--righttop,
  .card--lefttall,
  .card--bottomwide,
  .card--rightbottom,
  .card--centerphoto {
    grid-column: auto;
    grid-row: auto;
  }
  /* assign areas */
  .card--topwide {
    grid-area: topwide;
  }
  .card--lefttall {
    grid-area: lefttall;
  }
  .card--bottomwide {
    grid-area: bottomwide;
  }
  .card--centerphoto {
    grid-area: centerphoto;
  }
  .card--righttop {
    grid-area: righttop;
  }
  .card--rightbottom {
    grid-area: rightbottom;
  }
  .special-card,
  .special-card-photo {
    min-height: 160px;
  }
  .special-card-photo .special-card-content {
    width: 100%;
  }
}
