@font-face {
  font-family: 'Garamond';
  font-stretch: 100;
  font-style: normal;
  font-weight: 100 900;
  src: url(../fonts/EBGaramond-VariableFont_wght.ttf) format('truetype');
}

@font-face {
  font-family: 'Garamond';
  font-stretch: 100;
  font-style: italic;
  font-weight: 100 900;
  src: url(../fonts/EBGaramond-Italic-VariableFont_wght.ttf) format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-stretch: 100;
  font-style: normal;
  font-weight: 100 900;
  src: url(../fonts/Montserrat-VariableFont_wght.ttf) format('truetype');
}

@font-face {
  font-family: 'Montserrat';
  font-stretch: 100;
  font-style: italic;
  font-weight: 100 900;
  src: url(../fonts/Montserrat-Italic-VariableFont_wght.ttf) format('truetype');
}

html {
  min-height: 100vh;
}

.sb-body {
  min-height: 100vh;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  padding: 107px 0 80px 0;
  overflow-x: hidden;
  position: relative;
}

.sb-body-index {
  height: 100vh;
  min-height: 100vh;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  padding: 80px 0 80px 0;
  overflow-x: hidden;
  position: relative;
  background: 
    linear-gradient(to bottom, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)),
    no-repeat center/cover url('/gfx/bg.jpg');
}

[data-bs-theme="dark"] .sb-body-index {
  background: 
    linear-gradient(to bottom, rgba(33, 37, 41, 0.85), rgba(33, 37, 41, 0.85)),
    no-repeat center/cover url('/gfx/bg.jpg');
}

@media (min-width: 768px) {
  .sb-body,
  .sb-body-index {
    padding: 57px 0 57px 0;
  }
}

.sb-logo {
  font-family: "Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  /* color: #2b4368; */
}

.search-funeral-home-symbol {
  width: 36px;
}

@media (min-width: 768px) {
  #search-funeral-home-symbol {
    width: 50px;
  }
}

.search-funeral-home-symbol-path {
  fill: var(--bs-body-color);
}

.navbar-brand {
  cursor: pointer;
}

#sb-top-navbar {
  height: 107px;
}

#sb-top-navbar-index {
  height: 80px;
}

@media (min-width: 768px) {
  #sb-top-navbar,
  #sb-top-navbar-index {
    height: 57px;
  }
}

.sb-bg-success {
  background-color: #32cd32;
}

.sb-header-section {
  background: 
    linear-gradient(to bottom, rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)),
    no-repeat center/cover url('/gfx/header-bg.jpg');
  --mask:
    radial-gradient(51.43px at 50% calc(100% - 69px),#000 99%,#0000 101%) calc(50% - 46px) 0/92px 100%,
    radial-gradient(51.43px at 50% calc(100% + 46px),#0000 99%,#000 101%) 50% calc(100% - 23px)/92px 100% repeat-x;
  -webkit-mask: var(--mask);
          mask: var(--mask);
}

[data-bs-theme="dark"] .sb-header-section {
  background: 
    linear-gradient(to bottom, rgba(33, 37, 41, 0.75), rgba(33, 37, 41, 0.75)),
    no-repeat center/cover url('/gfx/header-bg.jpg');
}

.sb-search-section {
  position: absolute;
  top: 80px;
  bottom: 80px;
  height: calc(100vh - 160px);
  max-height: calc(100vh - 160px);
}

@media (min-width: 768px) {
  .sb-search-section {
    top: 57px;
    bottom: 57px;
    height: calc(100vh - 114px);
    max-height: calc(100vh - 114px);
  }
}

.sb-icon {
  width: 1em;
  height: 1em;
  vertical-align: -.125em;
  fill: currentcolor;
}

.sb-header {
  font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.sb-text {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
}

.sb-btn {
  padding-top: .5rem !important;
  padding-right: 1.5rem !important;
  padding-bottom: .5rem !important;
  padding-left: 1.25rem !important;
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  outline: none;
  border-radius: var(--bs-border-radius-pill) !important;
}

.sb-btn.btn-sm {
  padding-top: .25rem !important;
  padding-right: 1rem !important;
  padding-bottom: .25rem !important;
  padding-left: .75rem !important;
  font-weight: 500;
}

.sb-btn svg {
  pointer-events: none;
}

.sb-btn.btn-outline-success {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: #32cd32;
  --bs-btn-hover-color: #212529;
  --bs-btn-hover-bg: #32cd32;
  --bs-btn-hover-border-color: #32cd32;
  --bs-btn-focus-shadow-rgb: 25, 135, 84;
  --bs-btn-active-color: #212529;
  --bs-btn-active-bg: #32cd32;
  --bs-btn-active-border-color: #32cd32;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #32cd32;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #32cd32;
  --bs-gradient: none;
}

.sb-btn.btn-success {
  --bs-btn-color: #212529;
  --bs-btn-bg: #32cd32;
  --bs-btn-border-color: #32cd32;
  --bs-btn-hover-color: #212529;
  --bs-btn-hover-bg: #2aab2a;
  --bs-btn-hover-border-color: #2aab2a;
  --bs-btn-focus-shadow-rgb: 60, 153, 110;
  --bs-btn-active-color: #212529;
  --bs-btn-active-bg: #218821;
  --bs-btn-active-border-color: #218821;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #212529;
  --bs-btn-disabled-bg: #32cd32;
  --bs-btn-disabled-border-color: #32cd32;
}

.sb-btn--lg {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
}

.sb-icon--check2-circle {
  width: 1.2em;
  height: 1.2em;
  margin: -0.1em;
}

.sb-icon--front-green {
  --front-color: #32cd32;
}

.sb-icon--front-orange {
  --front-color: #ff8c00;
}

.sb-theme-switcher-menu .dropdown-item {
  border-radius: .25rem;
}

.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-body-color);
  text-decoration: none;
  background-color: var(--bs-secondary-bg);
}

.sb-theme-switcher-menu .active .ta-icon {
  display: block !important;
}

.btn-outline-tertiary {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-body-color);
  --bs-btn-hover-color: var(--bs-body-bg);
  --bs-btn-hover-bg: var(--bs-body-color);
  --bs-btn-hover-border-color: var(--bs-body-color);
  --bs-btn-focus-shadow-rgb: 108, 117, 125;
  --bs-btn-active-color: var(--bs-body-bg);
  --bs-btn-active-bg: var(--bs-body-color);
  --bs-btn-active-border-color: var(--bs-body-color);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--bs-body-color);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--bs-body-color);
  --bs-gradient: none;
}

@keyframes ta-anim-opacity-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.sb-anim-opacity-in {
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  animation-name: ta-anim-opacity-in;
}

.sb-faq-modal-body {
  font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

#search-funeral-home-input {
  border-color: var(--bs-body-color);
}

.sb-search-result-section.container,
.sb-faq-modal .container {
  max-width: 720px;
}

.search-funeral-home-map-container {
  background-color: var(--bs-body-bg);
  top: 107px;
}

@media (min-width: 768px) {
  .search-funeral-home-map-container {
    top: 57px;
  }
}

#search-funeral-home-map {
  height: 25vh;
  width: 100%;
}

@keyframes drop {
  0% {
    transform: translateY(-50vh) scaleY(0.9);
    opacity: 0;
  }
  5% {
    opacity: 0.7;
  }
  50% {
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
  65% {
    transform: translateY(-17px) scaleY(0.9);
    opacity: 1;
  }
  75% {
    transform: translateY(-22px) scaleY(0.9);
    opacity: 1;
  }
  100% {
    transform: translateY(0) scaleY(1);
    opacity: 1;
  }
}

.drop {
  animation: drop 0.3s linear forwards var(--delay-time);
}

.search-funeral-home-result-item {
  margin-left: 1px;
  margin-right: 1px;
}

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
	40% {transform: translateY(-20px);}
	60% {transform: translateY(-10px);}
}

.bounce {
  animation: bounce 2s infinite;
}

.search-funeral-home-result-item.active {
  border-color: var(--bs-primary);
}

.sb-footer-section {
  height: 80px;
  width: 100%;
  padding: 1rem 0;
  position: absolute;
  bottom: 0;
}

@media (min-width: 768px) {
  .sb-footer-section {
    height: 57px;
  }
}

.search-funeral-home-sponsored-link {
  background-color: rgba(13, 110, 253, 0.1);
}