@charset "UTF-8";
/* ==========================================================================
   THISTLE & THREAD AT THE PARKWAY
   Site-specific overrides for Canvas 8.0.4 / Bootstrap 5.3.8
   Load AFTER the untouched Canvas style.css.
   Cleaned and consolidated: August 31, 2026
   ========================================================================== */

/* --------------------------------------------------------------------------
   FOUNDATION / GLOBAL OVERRIDES
   -------------------------------------------------------------------------- */

@charset "UTF-8";

:root,
[data-bs-theme="light"] {
  --bs-body-font-size: 1.4rem;
  --bs-body-color: #000;
  --bs-body-color-rgb: 0, 0, 0;
}

hr {
  display: block;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 4 / 1;
  margin: 2rem auto;
  border: none;
  border-top: 0;
  opacity: 1;
  background-image: url("images/thistledivider.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6b5477;
  --bs-btn-border-color: #6b5477;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #a698ad;
  --bs-btn-hover-border-color: #a698ad;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #a698ad;
  --bs-btn-active-border-color: #a698ad;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #6b5477;
  --bs-btn-disabled-border-color: #6b5477;
}

.py-7 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

:root {
  --cnvs-themecolor: #606243;
  --cnvs-themecolor-rgb: 96, 98, 67;
  --cnvs-body-font: "EB Garamond", Georgia, "Times New Roman", serif;
  --cnvs-primary-font: "Playfair Display", serif;
  --cnvs-secondary-font: "Cormorant Garamond", serif;
  --cnvs-script-font: "Alex Brush", cursive;
  --cnvs-content-padding: 2rem;
  --cnvs-section-margin: 2rem;
  --tt-green: #50513a;
  --tt-olive: #6b6f50;
  --tt-olive-dark: #454832;
  --tt-purple: #765f82;
  --tt-purple-hover: #604b6b;
  --tt-lavender: #d9c9df;
  --tt-cream: #f8f3e9;
  --tt-facebook: #1877F2;
  --tt-action-green: #6b6f50;
  --tt-action-green-hover: #575c42;
  --tt-header-black: #1a1a1a;
  --tt-header-black-transparent: rgba(26, 26, 26, .55);
  --tt-violet: #8b72a0;
  --tt-ivory: #fcf9f3;
  --tt-parchment: #f2e9da;
  --tt-blush: #f4ece9;
  --tt-sand: #eee4d5;
  --tt-action-plum: #765f82;
  --tt-action-plum-hover: #604b6b;
}

.section {
  padding: 1.5rem 0 0;
  background-color: #F3EFE5;
}

.content-wrap > .page-title + .section,
.tt-home-page .content-wrap > .section:first-child {
  position: relative;
}

.content-wrap > .page-title + .section::before,
.tt-home-page .content-wrap > .section:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/thistle-and-thread.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 420px auto;
  opacity: 0.2;
  pointer-events: none;
  z-index: 1;
}

@media (max-width: 767.98px) {
  .content-wrap > .page-title + .section::before,
  .tt-home-page .content-wrap > .section:first-child::before {
    background-size: 260px auto;
  }
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  color: #43442e;
}

address,
blockquote,
dd,
dl,
fieldset,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 10px;
}

.shade {
  background-color: #FBF7FA;
}

.line,
.double-line {
  width: 70%;
  margin: .5rem auto;
  border-top: 1px solid #6b5477;
  display: flex;
  justify-content: center;
  align-items: center;
}


/* --------------------------------------------------------------------------
   SLIDER / PAGE TITLE / FOOTER
   -------------------------------------------------------------------------- */

.slider-element,
.swiper_wrapper {
  --cnvs-slider-caption-width: 900px;
}

.slider-caption p {
  margin-top: 0;
  margin-bottom: 0.75rem;
  font-size: 2rem;
  text-transform: capitalize;
  text-shadow: 1px 1px #000;
}

.slider-caption.slider-caption-center {
  max-width: 1000px;
}

#page-title,
.page-title {
  --cnvs-page-title-padding: 1rem;
  --cnvs-page-title-bg: transparent;
  --cnvs-page-title-color: #43442e;
  --cnvs-page-title-font-weight: 600;
  border-bottom: 0;
  background-color: transparent;
}

@media (max-width: 767.98px) {
  #page-title,
  .page-title {
    --cnvs-page-title-padding: .6rem;
  }
}

#content {
  background-color: #F3EFE5;
}

.content-wrap {
  padding: 10px 0;
}

#footer {
  border-top: 0;
  background-color: #61654a !important;
}

#footer .footer-widgets-wrap {
  padding: 1rem;
  font-size: 1rem;
  color: rgba(255,255,255,.94);
}

.tt-footer-logo {
  width: 195px;
  height: 195px;
  object-fit: contain;
  padding: .5rem;
  border-radius: 50%;
}

.dark {
  --cnvs-contrast-bg: #606243;
}

.dark#footer .footer-widgets-wrap,
.dark #footer .footer-widgets-wrap,
.dark#footer .footer-widgets-wrap a,
.dark #footer .footer-widgets-wrap a {
  color: #fff;
}

.dark #copyrights,
#copyrights.dark {
  color: #fff;
  background-color: #43442e;
}


/* --------------------------------------------------------------------------
   SHARED COMPONENTS / CONTACT & DIRECTIONS
   -------------------------------------------------------------------------- */

.card-background {
  background-size: cover;
  background-position: center;
  height: 270px;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0;
  border-radius: .45rem;
  box-shadow: 0 .45rem 1.1rem rgba(52,53,47,.12);
}

.tt-closing-cta {
  background: linear-gradient(rgba(247,242,232,.92), rgba(247,242,232,.92)),
		url("../images/store-entrance.webp") center / cover no-repeat;
  border-top: 1px solid rgba(55,68,47,.1);
  padding: 2rem;
}

.tt-kicker {
  color: #6b5477;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

#top-bar {
  --cnvs-topbar-height: 42px;
  --cnvs-topbar-font-size: .96rem;
  background-color: #61654a;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.top-links-item,
.top-links-item:hover,
.top-links-item:focus-within {
  background-color: transparent !important;
}

.top-links-item > a,
.top-links-item > span {
  display: block;
  padding: 10px 11px;
  line-height: calc(var(--cnvs-topbar-height) - 20px);
  color: #fff;
  text-decoration: none;
  background: transparent !important;
  box-shadow: none !important;
  outline-offset: 2px;
  font-size: 1.1rem;
}

.top-links-item > a:hover,
.top-links-item > a:focus,
.top-links-item > a:active {
  color: #fff;
  background: transparent !important;
  box-shadow: none !important;
}

.top-links-item > span > i,
.top-links-item > a > i {
  color: rgba(255,255,255,.88);
}

.tt-facebook-top > a {
  display: flex;
  align-items: center;
  gap: .4rem;
  padding-left: 9px;
  padding-right: 9px;
}

.tt-facebook-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 4px;
  background: var(--tt-facebook);
  color: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
}

.tt-facebook-icon i,
.tt-facebook-top > a:hover .tt-facebook-icon i,
.tt-facebook-top > a:focus .tt-facebook-icon i {
  color: #fff !important;
  font-size: .95rem;
}

.tt-facebook-label {
  color: #fff;
  font-weight: 500;
}

.tt-facebook-top > a:hover .tt-facebook-icon,
.tt-facebook-top > a:focus .tt-facebook-icon {
  background: #0f65d6;
}

.tt-hero-caption {
  margin: 0;
  text-shadow: 0 2px 3px rgba(0,0,0,.96),
    0 0 8px rgba(0,0,0,.58);
  display: inline-block;
  max-width: min(920px, 92vw);
  padding: .72rem 1.05rem .8rem;
  border-radius: .35rem;
  color: #fff;
  background: rgba(20, 18, 20, .32);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
}

.tt-hero-primary,
.tt-hero-secondary {
  display: block;
}

.tt-hero-primary {
  font-size: clamp(1.5rem, 1.05rem + 2.1vw, 2.75rem);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  line-height: 1.1;
}

.tt-hero-secondary {
  display: block;
  max-width: 780px;
  margin: .5rem auto 0;
  font-size: clamp(1rem, .88rem + .55vw, 1.35rem);
  line-height: 1.3;
  font-weight: 400;
  letter-spacing: .02em;
}

.tt-contact-page .content-wrap {
  padding-top: 1.65rem;
}

.tt-contact-page .page-title {
  padding-top: .15rem;
  padding-bottom: .15rem;
  margin-bottom: 0;
}

.tt-contact-page .page-title-row {
  min-height: auto;
  padding-bottom: 0;
}

.tt-contact-page .page-title-content h1 {
  margin-bottom: 0;
}

.tt-intro-section {
  padding-top: 1.65rem;
}

.tt-intro-row {
  margin-top: 0;
}

.card-background::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(24,21,23,.12) !important;
}

.tt-card-content {
  padding: 1.35rem;
  text-shadow: 0 2px 3px rgba(0,0,0,.98),
    0 0 8px rgba(0,0,0,.74) !important;
}

.tt-card-content .card-title,
.tt-card-content h5 {
  color: #fff !important;
}

.tt-card-content h5 {
  line-height: 1.45;
}

.btn-action-green {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--tt-action-green);
  --bs-btn-border-color: var(--tt-action-green);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--tt-action-green-hover);
  --bs-btn-hover-border-color: var(--tt-action-green-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4b5b39;
  --bs-btn-active-border-color: #4b5b39;
  color: #fff !important;
  background-color: var(--tt-action-green) !important;
  border-color: var(--tt-action-green) !important;
  font-weight: 600;
  text-shadow: 0 1px 1px rgba(0,0,0,.16);
}

.btn-action-green:hover,
.btn-action-green:focus {
  color: #fff !important;
  background-color: var(--tt-action-green-hover) !important;
  border-color: var(--tt-action-green-hover) !important;
}

.tt-directions-media {
  max-width: 600px;
}

.tt-map-frame {
  display: block;
  width: 100%;
  height: 330px;
  border-radius: .4rem .4rem 0 0;
}

.tt-road-sign {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 0 .4rem .4rem;
}

.tt-direction-item {
  padding: 0 0 1rem 1.1rem;
  margin-bottom: 1.15rem;
  border-left: 3px solid rgba(102,120,79,.48);
}

.tt-direction-item h4 {
  margin-bottom: .35rem;
  font-size: 1.15rem;
  color: var(--tt-green);
}

.tt-direction-item h4 i {
  width: 1.4rem;
  color: var(--tt-action-green);
}

.tt-direction-item p {
  margin-bottom: 0;
}

.tt-contact-details > ul {
  margin-bottom: 1.15rem !important;
}

.tt-contact-details > ul li {
  margin-bottom: .35rem;
}

.tt-contact-form-card {
  border: 1px solid rgba(67,68,46,.12);
  background: rgba(255,255,255,.82);
  box-shadow: 0 .65rem 1.5rem rgba(67,68,46,.12) !important;
}

.tt-contact-form-card textarea.form-control {
  min-height: 180px;
}

.tt-facebook-button {
  color: #fff !important;
  background: var(--tt-facebook) !important;
  border-color: var(--tt-facebook) !important;
  text-shadow: none;
}

.tt-facebook-button:hover,
.tt-facebook-button:focus {
  color: #fff !important;
  background: #0f65d6 !important;
  border-color: #0f65d6 !important;
}

#footer .footer-widgets-wrap p,
#footer .footer-widgets-wrap address,
#footer .footer-widgets-wrap div,
#footer .footer-widgets-wrap li,
#footer .footer-widgets-wrap a {
  color: rgba(255,255,255,.92);
}

#footer .footer-widgets-wrap h4 {
  color: #fff !important;
  font-weight: 600;
}

.tt-footer-facebook i {
  color: #78adff;
}

@media (max-width: 991.98px) {
  #top-bar {
    --cnvs-topbar-font-size: .9rem;
  }
  .top-links-container {
    justify-content: center;
  }
  .tt-map-frame {
    height: 300px;
  }
  .tt-road-sign {
    height: auto;
  }
}

@media (max-width: 767.98px) {
  #top-bar {
    --cnvs-topbar-height: auto;
  }
  .top-links-item > a,
  .top-links-item > span {
    padding: 7px 8px;
    line-height: 1.35;
  }
  .card-background {
    height: 245px;
  }
  .tt-contact-page .content-wrap {
    padding-top: 1.5rem;
  }
}

.tt-closing-cta .button-border {
  color: var(--tt-green) !important;
  border-color: rgba(67,68,46,.55) !important;
  background: rgba(255,255,255,.55);
}

.tt-closing-cta .button-border:hover,
.tt-closing-cta .button-border:focus {
  color: #fff !important;
  background: var(--tt-action-green) !important;
  border-color: var(--tt-action-green) !important;
}

@media (max-width: 1199.98px) {
  .tt-facebook-label {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .tt-intro-section {
    padding-top: 1.15rem;
  }
}


/* --------------------------------------------------------------------------
   MERCHANDISE PAGE
   -------------------------------------------------------------------------- */

.tt-merchandise-page .content-wrap {
  padding-top: 1.65rem;
}

.tt-merchandise-page .page-title {
  padding-top: .15rem;
  padding-bottom: .15rem;
  margin-bottom: 0;
}

.tt-merchandise-page .page-title-row {
  min-height: auto;
  padding-bottom: 0;
}

.tt-merchandise-page .page-title-content h1 {
  margin-bottom: 0;
}

.tt-merchandise-hero .swiper-slide-bg {
  background-position: center 48%;
}

.tt-merch-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(22,20,18,.08), rgba(22,20,18,.035) 48%, rgba(22,20,18,.11)) !important;
}

.tt-merch-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin: 0 auto;
  text-shadow: 0 2px 8px rgba(0,0,0,.82);
}

.tt-merch-hero-kicker {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #fff !important;
  padding: .22rem .5rem;
  border-radius: .2rem;
  background: rgba(28,24,27,.26);
  text-shadow: 1px 1px #000000;
  margin-top: 6rem;
}

.tt-merch-hero-copy h1 {
  margin-bottom: .75rem;
  color: #fff;
  font-size: clamp(2rem, 1.45rem + 2.25vw, 3.65rem);
  line-height: 1.08;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
}

.tt-merch-hero-copy p {
  margin-bottom: 0;
  color: #fff;
  font-size: clamp(1rem, .9rem + .42vw, 1.3rem);
}

.tt-merch-intro {
  padding-top: 1rem;
  padding-bottom: 1.5rem;
}

.tt-merch-intro p {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.tt-merch-category-nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: .8rem;
  margin-top: 2.75rem;
}

.tt-merch-category-nav a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 108px;
  padding: 1rem .8rem;
  border: 1px solid rgba(67,68,46,.12);
  border-radius: .5rem;
  color: var(--tt-green);
  text-align: center;
  text-decoration: none;
  background: rgba(255,255,255,.52);
  box-shadow: 0 .25rem .7rem rgba(67,68,46,.06);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.tt-merch-category-nav a:hover,
.tt-merch-category-nav a:focus {
  color: var(--tt-green);
  background: #fff;
  border-color: rgba(102,120,79,.34);
  transform: translateY(-2px);
}

.tt-merch-category-nav i {
  margin-bottom: .6rem;
  color: var(--tt-action-green);
  font-size: 1.5rem;
}

.tt-merch-category-nav span {
  font-weight: 600;
  line-height: 1.2;
}

.tt-botanical-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 500px;
  margin: 0 auto;
}

.tt-botanical-divider::before,
.tt-botanical-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(118,95,130,.25) !important;
}

.tt-botanical-divider span {
  width: 44px;
  height: 26px;
  margin: 0 .75rem;
  position: relative;
}

.tt-botanical-divider span::before {
  content: "❧";
  position: absolute;
  inset: -8px 0 0;
  color: var(--tt-purple) !important;
  font-size: 1.8rem;
  text-align: center;
}

.tt-merch-feature {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

.tt-soft-sage {
  background: rgba(213,220,199,.42);
}

.tt-parchment-band {
  background: var(--tt-parchment) !important;
}

.tt-merch-image-wrap {
  position: relative;
  overflow: hidden;
  border-radius: .45rem;
  box-shadow: 0 .55rem 1.4rem rgba(52,53,47,.12);
}

.tt-merch-image-wrap img {
  display: block;
  width: 100%;
  min-height: 420px;
  object-fit: cover;
}

.tt-wide-image img {
  min-height: 450px;
}

.tt-image-tag {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: inline-block;
  padding: .55rem .85rem;
  border-radius: 3px;
  color: #fff;
  background: rgba(103,78,113,.90) !important;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0,0,0,.14);
}

.tt-merch-note {
  margin-top: 1.5rem;
  padding: .95rem 1.1rem;
  border-left: 3px solid var(--tt-lavender);
  color: #555648;
  background: rgba(255,255,255,.62);
}

.tt-merch-note i {
  margin-right: .5rem;
  color: var(--tt-purple);
}

.tt-fresh-finds {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background: var(--tt-sand) !important;
  border-top: 1px solid rgba(67,68,46,.08);
  border-bottom: 1px solid rgba(67,68,46,.08);
}

.tt-facebook-cta {
  color: #fff !important;
  background: var(--tt-facebook) !important;
  border-color: var(--tt-facebook) !important;
  font-weight: 600;
}

.tt-facebook-cta:hover,
.tt-facebook-cta:focus {
  color: #fff !important;
  background: #0f65d6 !important;
  border-color: #0f65d6 !important;
}

.tt-merch-reminder {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (max-width: 1199.98px) {
  .tt-merch-category-nav {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991.98px) {
  .tt-merchandise-hero .swiper-slide-bg {
    background-position: 42% center;
  }
  .tt-merch-image-wrap img,
  .tt-wide-image img {
    min-height: 360px;
  }
}

@media (max-width: 767.98px) {
  .tt-merch-category-nav {
    grid-template-columns: repeat(2, 1fr);
  }
  .tt-merch-feature {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
  .tt-merch-image-wrap img,
  .tt-wide-image img {
    min-height: 310px;
  }
  .tt-merch-hero-copy h1 {
    font-size: 2.25rem;
  }
  .tt-fresh-finds {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
  .tt-merch-reminder {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

@media (max-width: 479.98px) {
  .tt-merch-category-nav {
    grid-template-columns: 1fr;
  }
}


/* --------------------------------------------------------------------------
   THEME PALETTE / SHARED VISUAL TREATMENT
   -------------------------------------------------------------------------- */

.tt-soft-sage,
.tt-soft-lavender {
  background: var(--tt-ivory) !important;
}

.tt-soft-blush {
  background: var(--tt-blush) !important;
}

.tt-section-cream,
.tt-merch-intro,
.tt-merch-reminder {
  background: var(--tt-ivory) !important;
}

.tt-kicker,
.tt-merch-note i,
.tt-merch-category-nav i,
.tt-direction-item h4 i {
  color: var(--tt-purple) !important;
}

.btn-action-green,
.btn.btn-primary,
.button:not(.button-border):not(.tt-facebook-button):not(.tt-facebook-cta) {
  color: #fff !important;
  background: var(--tt-action-plum) !important;
  border-color: var(--tt-action-plum) !important;
  text-shadow: none !important;
}

.btn-action-green:hover,
.btn-action-green:focus,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.button:not(.button-border):not(.tt-facebook-button):not(.tt-facebook-cta):hover,
.button:not(.button-border):not(.tt-facebook-button):not(.tt-facebook-cta):focus {
  color: #fff !important;
  background: var(--tt-action-plum-hover) !important;
  border-color: var(--tt-action-plum-hover) !important;
}

.button.button-border:not(.tt-facebook-button) {
  color: var(--tt-purple) !important;
  border-color: rgba(118,95,130,.58) !important;
  background: rgba(255,255,255,.66);
}

.button.button-border:not(.tt-facebook-button):hover,
.button.button-border:not(.tt-facebook-button):focus {
  color: #fff !important;
  background: var(--tt-action-plum) !important;
  border-color: var(--tt-action-plum) !important;
}

.tt-facebook-button,
.tt-facebook-cta {
  color: #fff !important;
  background: var(--tt-facebook) !important;
  border-color: var(--tt-facebook) !important;
}

.tt-facebook-button:hover,
.tt-facebook-button:focus,
.tt-facebook-cta:hover,
.tt-facebook-cta:focus {
  color: #fff !important;
  background: #0f65d6 !important;
  border-color: #0f65d6 !important;
}

@media (max-width: 767.98px) {
  .tt-merch-hero-overlay {
    background: linear-gradient(180deg, rgba(22,20,18,.11), rgba(22,20,18,.05) 46%, rgba(22,20,18,.12)) !important;
  }
  .tt-hero-caption {
    max-width: 94vw;
    padding: .7rem .8rem;
    background: rgba(20, 18, 20, .42);
    text-shadow: 0 2px 3px rgba(0,0,0,1),
      0 0 8px rgba(0,0,0,.72);
  }
  .tt-merch-hero-kicker {
    background: rgba(28,24,27,.43);
  }
}

.tt-merch-image-wrap img,
.tt-merch-intro-image img,
.tt-contact-page .tt-intro-section img,
.tt-contact-page .tt-road-sign,
.tt-contact-page .tt-contact-details > img {
  filter: brightness(1.025) contrast(1.025) saturate(1.045);
}

.tt-contact-page .section,
.tt-merchandise-page .section {
  margin-top: 0;
  margin-bottom: 0;
}

.tt-contact-page .tt-botanical-divider,
.tt-merchandise-page .tt-botanical-divider {
  margin-top: 0;
  margin-bottom: 0;
}


/* --------------------------------------------------------------------------
   HOMEPAGE
   -------------------------------------------------------------------------- */

@media (min-width: 992px) {
  .tt-feature-balance > [class*="col-lg-7"] img {
    width: 100%;
    min-height: 440px;
    object-fit: cover;
  }
  .tt-contact-page .tt-feature-balance > [class*="col-lg-7"] img {
    min-height: 450px;
  }
  .tt-merchandise-page .tt-feature-balance > [class*="col-lg-7"] img {
    min-height: 455px;
  }
}

.tt-home-page .content-wrap {
  padding-top: 0;
}

.tt-home-page .section {
  margin-top: 0;
  margin-bottom: 0;
}

.tt-home-hero .swiper-slide-bg {
  background-position: center 50%;
}

.tt-home-hero-caption {
  max-width: min(980px, 94vw);
}

.tt-home-welcome,
.tt-home-discover,
.tt-home-gardens,
.tt-home-gallery-preview {
  padding-bottom: 2rem;
  background: var(--tt-ivory);
}

.tt-home-experience {
  padding-top: 3.4rem;
  padding-bottom: 3.4rem;
  background: var(--tt-sand);
}

.tt-home-quality {
  padding-bottom: 2rem;
}

.tt-home-welcome-faces {
  padding-bottom: 2rem;
}

.tt-home-social {
  padding-top: 3.25rem;
  padding-bottom: 3.25rem;
  background: var(--tt-cream);
}

.tt-home-image-frame {
  position: relative;
  overflow: hidden;
  border-radius: .5rem;
  box-shadow: 0 .65rem 1.6rem rgba(52,45,54,.12);
}

.tt-home-image-frame img {
  display: block;
  width: 100%;
  min-height: 430px;
  object-fit: cover;
  filter: brightness(1.025) contrast(1.025) saturate(1.045);
}

.tt-home-garden-image img {
  min-height: 450px;
}

.tt-home-category-card {
  position: relative;
  display: block;
  min-height: 410px;
  overflow: hidden;
  border-radius: .5rem;
  box-shadow: 0 .6rem 1.4rem rgba(52,45,54,.13);
  text-decoration: none !important;
}

.tt-home-category-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.tt-home-category-card:hover img {
  transform: scale(1.025);
}

.tt-home-category-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(29,25,30,.06) 30%, rgba(29,25,30,.76) 100%);
}

.tt-home-category-copy {
  position: absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: 1.25rem;
  z-index: 2;
  color: #fff;
  text-shadow: 0 2px 5px rgba(0,0,0,.68);
}

.tt-home-category-copy small,
.tt-home-category-copy strong,
.tt-home-category-copy em {
  display: block;
}

.tt-home-category-copy small {
  margin-bottom: .35rem;
  font-size: .76rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.tt-home-category-copy strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  line-height: 1.04;
  font-weight: 600;
}

.tt-home-category-copy em {
  margin-top: .55rem;
  color: #eadff0;
  font-size: .9rem;
  font-style: normal;
  font-weight: 600;
}

.tt-home-gallery-image {
  width: 100%;
  height: 290px;
  object-fit: cover;
  border-radius: .35rem;
  box-shadow: 0 .35rem .9rem rgba(52,45,54,.10);
  filter: brightness(1.025) contrast(1.025) saturate(1.045);
}

.tt-home-closing h2 {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 991.98px) {
  .tt-home-welcome,
  .tt-home-discover,
  .tt-home-gardens,
  .tt-home-gallery-preview,
  .tt-home-quality,
  .tt-home-welcome-faces {
    padding-bottom: 2rem;
  }
  .tt-home-image-frame img,
  .tt-home-garden-image img {
    min-height: 360px;
  }
  .tt-home-category-card {
    min-height: 360px;
  }
}

@media (max-width: 767.98px) {
  .tt-home-category-card {
    min-height: 390px;
  }
  .tt-home-gallery-image {
    height: 220px;
  }
  .tt-feature-balance img {
    width: 100%;
  }
  .tt-home-social {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  .tt-home-experience {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
}


/* --------------------------------------------------------------------------
   HOME / CONTACT SHARED COMPONENTS
   -------------------------------------------------------------------------- */

.tt-contact-page .card-background {
  height: 410px;
  min-height: 410px;
  border-radius: .5rem;
  box-shadow: 0 .6rem 1.4rem rgba(52,45,54,.13);
}

.tt-contact-page .card-background::before {
  background: linear-gradient(180deg, rgba(29,25,30,.08) 20%, rgba(29,25,30,.58) 100%) !important;
}

.tt-contact-page .tt-card-content {
  padding: 1.5rem;
}

.tt-contact-page .tt-card-content .card-title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  line-height: 1.05;
  font-weight: 600;
}

.tt-contact-page .tt-card-content h5 {
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}

.tt-home-announcement {
  padding: 1.5rem 0;
  background: var(--tt-ivory);
}

.tt-announcement-panel {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.35rem 1.5rem;
  border: 1px solid rgba(118,95,130,.18);
  border-left: 5px solid var(--tt-purple);
  border-radius: .45rem;
  background: #fffaf5;
  box-shadow: 0 .35rem .9rem rgba(52,45,54,.07);
}

.tt-announcement-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 50%;
  color: #fff;
  background: var(--tt-purple);
  font-size: 1.2rem;
}

.tt-announcement-copy {
  min-width: 0;
}

.tt-announcement-copy .tt-kicker {
  margin-bottom: .25rem;
}

.tt-facebook-feed-wrap {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: .45rem;
  background: #fff;
  box-shadow: 0 .55rem 1.4rem rgba(52,45,54,.11);
}

.tt-facebook-page-frame {
  display: block;
  width: 100%;
  max-width: 500px;
  min-height: 620px;
  background: #fff;
}

@media (max-width: 991.98px) {
  .tt-contact-page .card-background {
    height: 360px;
    min-height: 360px;
  }
  .tt-facebook-feed-wrap {
    margin-bottom: .75rem;
  }
}

@media (max-width: 767.98px) {
  .tt-contact-page .card-background {
    height: 390px;
    min-height: 390px;
  }
  .tt-announcement-panel {
    align-items: flex-start;
    padding: 1.1rem 1rem;
  }
  .tt-announcement-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .tt-facebook-page-frame {
    min-height: 560px;
    height: 560px;
  }
}

@media (max-width: 479.98px) {
  .tt-announcement-panel {
    display: block;
  }
  .tt-announcement-icon {
    margin-bottom: .85rem;
  }
}


/* --------------------------------------------------------------------------
   PHOTO GALLERY
   -------------------------------------------------------------------------- */

.tt-gallery-page .content-wrap {
  padding-top: 0;
}

.tt-gallery-page .section {
  margin-top: 0;
  margin-bottom: 0;
}

.tt-gallery-hero .swiper-slide-bg {
  background-position: center 48%;
}

.tt-gallery-intro,
.tt-gallery-section {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}

.tt-gallery-intro {
  background: var(--tt-ivory);
}

.tt-gallery-intro .tt-home-image-frame img {
  min-height: 455px;
  object-fit: cover;
}

.tt-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.tt-gallery-grid-garden {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tt-gallery-item {
  min-width: 0;
}

.tt-gallery-link {
  position: relative;
  display: block;
  height: 310px;
  overflow: hidden;
  border-radius: .42rem;
  background: #eee8dd;
  box-shadow: 0 .35rem .85rem rgba(52,45,54,.09);
}

.tt-gallery-grid-garden .tt-gallery-link {
  height: 255px;
}

.tt-gallery-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(1.02) contrast(1.02) saturate(1.035);
  transition: transform .32s ease, filter .32s ease;
}

.tt-gallery-hover {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(47,40,49,.10);
  color: #fff;
  font-size: 1.45rem;
  opacity: 0;
  transition: opacity .25s ease, background .25s ease;
}

.tt-gallery-hover i {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(118,95,130,.88);
  box-shadow: 0 .25rem .65rem rgba(0,0,0,.18);
}

@media (hover: hover) and (pointer: fine) {
  .tt-gallery-link:hover img {
    transform: scale(1.025);
    filter: brightness(.98) contrast(1.04) saturate(1.045);
  }
  .tt-gallery-link:hover .tt-gallery-hover {
    opacity: 1;
    background: rgba(47,40,49,.24);
  }
}

.tt-gallery-note {
  padding: 2.75rem 0;
  background: var(--tt-sand);
}

@media (max-width: 991.98px) {
  .tt-gallery-intro,
  .tt-gallery-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .tt-gallery-grid,
  .tt-gallery-grid-garden {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tt-gallery-link,
  .tt-gallery-grid-garden .tt-gallery-link {
    height: 300px;
  }
}

@media (max-width: 767.98px) {
  .tt-gallery-intro,
  .tt-gallery-section {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
  .tt-gallery-note {
    padding: 2rem 0;
  }
}

@media (max-width: 575.98px) {
  .tt-gallery-grid,
  .tt-gallery-grid-garden {
    gap: .65rem;
  }
  .tt-gallery-link,
  .tt-gallery-grid-garden .tt-gallery-link {
    height: 205px;
  }
  .tt-gallery-hover {
    display: none;
  }
  .tt-gallery-intro .tt-home-image-frame img {
    min-height: 340px;
  }
}


/* --------------------------------------------------------------------------
   HEADER / RESPONSIVE NAVIGATION
   -------------------------------------------------------------------------- */

#header.header-size-md {
  --cnvs-header-height: 100px;
}

#header-wrap #logo img {
  height: 110px;
  width: auto;
  padding: 10px 0;
}

.primary-menu .menu-link {
  font-size: 1.1rem;
}

.primary-menu .menu-link div {
  display: inline-block;
  transition: font-size 0.2s ease;
}

.menu-item.current > .menu-link,
.menu-item.current > .menu-link div {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: currentColor;
}

.menu-item:hover > .menu-link,
.menu-item:hover > .menu-link div {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: currentColor;
}

.menu-item:hover > .menu-link div {
  font-size: 1.08em;
}

@media (max-width: 991.98px) {
  body:not(.is-expanded-menu) [data-mobile-sticky="true"] .primary-menu:not(:last-of-type) .menu-container {
    margin-bottom: 0;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  #header-wrap #logo img {
    height: 88px;
  }
  .primary-menu.order-lg-1,
  .primary-menu.order-lg-3 {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .primary-menu .menu-link {
    font-size: 1rem;
  }
}

@media (max-width: 991.98px) {
  #header,
  #header-wrap {
    --cnvs-header-bg: #6d7451;
    background-color: #6d7451 !important;
  }
}

@media (max-width: 991.98px) {
  #header[data-mobile-sticky="true"] #header-wrap {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    transform: none !important;
  }
}

@media (max-width: 991.98px) {
  .primary-menu-trigger {
    margin-right: calc(-1 * var(--cnvs-menu-trigger-gap));
  }
}

#header.sticky-header.semi-transparent {
  --cnvs-header-sticky-bg: #6d7451;
}

.is-expanded-menu #header.transparent-header.semi-transparent {
  --cnvs-header-bg: var(--tt-header-black-transparent);
}

#header {
  --cnvs-primary-menu-active-color: #fff;
  --cnvs-primary-menu-hover-color: #fff;
  --cnvs-primary-menu-tt: none;
}

html, body {
  overflow-x: hidden;
}