.mh-300 {
	min-height: 300px !important;
}

.mh-500 {
	min-height: 500px !important;
}

.alt-font1 {
	font-family: 'Raleway', sans-serif;
}

.alt-font2 {
	font-family: 'Quicksand', sans-serif;
}

.alt-font3 {
	font-family: 'Chivo Mono', monospace;
}

.alt-font4 {
	font-family: 'Roboto Mono', monospace;
}

.alt-font5 {
	font-family: 'Acme', sans-serif;
}

.content-lead {
  font-family: 'Acme', sans-serif;
  font-size: 24px;
  font-weight: bold;
  color: #A34E24;
  display: inline-block;
  position: relative;
  padding-left: 1.5em; /* make space for the width of the absolutely positioned icon */
}

.content-lead::before {
  color: var(--fa-primary-color, #CCB87C);
  opacity: 1;
  opacity: var(--fa-primary-opacity, 1.0);
}

.content-lead::after {
  color: var(--fa-secondary-color, #030303);
  opacity: var(--fa-secondary-opacity, 1.0);
}

.content-lead::before {
  content: "\f8c1";
}

.content-lead::after {
  content: "\f8c1\f8c1";
}

.content-lead::before {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.content-lead::before, .content-lead::after {
  font: var(--fa-font-duotone);
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25em;
  text-align: center;
}

.faq-lead {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #030303;
  text-transform: capitalize;
}

.faq-lead:before {
  font-family: 'Font Awesome 7 Pro';
  content: "\f059" !important;
  font-weight: 900 !important;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  padding-end: 5px;
  color: #030303;
}

.video-container {
    overflow: hidden;
    position: relative;
    width:100%;
}

.video-container::after {
    padding-top: 56.25%;
    display: block;
    content: '';
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.map {
    -webkit-filter: grayscale(100%) saturate(1) brightness(90%) contrast(100%);
       -moz-filter: grayscale(100%) saturate(1) brightness(90%) contrast(100%);
        -ms-filter: grayscale(100%) saturate(1) brightness(90%) contrast(100%);
         -o-filter: grayscale(100%) saturate(1) brightness(90%) contrast(100%);
            filter: grayscale(100%) saturate(1) brightness(90%) contrast(100%);
}

.loader-centered {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.social-icons li:hover.social-icons-tiktok a {
  background: #030303 !important;
}

.icon-theme {
  --fa-secondary-opacity: 1.0;
  --fa-primary-color: rgb(3, 3, 3);
  --fa-secondary-color: rgb(163, 78, 36);
}

.icon-theme-reverse {
  --fa-secondary-opacity: 1.0;
  --fa-primary-color: rgb(163, 78, 36);
  --fa-secondary-color: rgb(3, 3, 3);
}

.error-message {
  color: #dc3545;
  font-weight: 600;
  font-size: 13px;
}

.info-message {
  color: #17a2b8;
  font-weight: 600;
  font-size: 13px;
}

.card-height-lg {
	min-height: 700px !important;
}

.card-height-md {
	min-height: 400px !important;
}

.card-height-sm {
	min-height: 200px !important;
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 140px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 150%;
  left: 50%;
  margin-left: -75px;
  opacity: 0;
  transition: opacity 0.3s;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

.show > .btn-teal-blue.dropdown-toggle {
	background-color: #267373;
	background-image: none;
	border-color: #267373 #267373 #194d4d;
}

.row-striped:nth-of-type(odd){
  background-color: #efefef;
  min-height:25px;
}

.row-striped:nth-of-type(even){
  background-color: #ffffff;
  min-height:25px;
}

hr.blackline {
  border-top: 5px solid #030303;
}

/*Purple Buttons*/
.btn-purple {
	background-color: #5a1f60;
	border-color: #5a1f60 #5a1f60 #8F3299;
	color: #FFF;
}

.btn-purple:hover, .btn-purple.hover {
	background-color: #7e2c87;
	border-color: #7e2c87 #7e2c87 #7e2c87;
	color: #FFF;
}

.btn-purple:focus, .btn-purple.focus {
	box-shadow: 0 0 0 3px rgba(90, 31, 96, 0.5);
	color: #FFF;
}

.btn-purple.disabled, .btn-purple:disabled {
	background-color: #be64ce;
	border-color: #be64ce #be64ce #8F3299;
}

.btn-purple:active, .btn-purple.active,
.show > .btn-purple.dropdown-toggle {
	background-color: #e8c5ec;
	background-image: none;
	border-color: #8F3299 #8F3299 #36133a;
}

.show > .btn-purple.dropdown-toggle {
	background-color: #e8c5ec;
	background-image: none;
	border-color: #8F3299 #8F3299 #36133a;
}

/*Orange Buttons*/
.btn-orange {
	background-color: #ff6600;
	border-color: #ff6600 #ff6600 #cc5200;
	color: #FFF;
}

.btn-orange:hover, .btn-orange.hover {
	background-color: #ff751a;
	border-color: #ff751a #ff751a #ff751a;
	color: #FFF;
}

.btn-orange:focus, .btn-orange.focus {
	box-shadow: 0 0 0 3px rgba(204, 82, 0, 0.5);
	color: #FFF;
}

.btn-orange.disabled, .btn-orange:disabled {
	background-color: #ff6600;
	border-color: #ff6600 #ff6600 #cc5200;
}

.btn-orange:active, .btn-orange.active,
.show > .btn-orange.dropdown-toggle {
	background-color: #ffd1b3;
	background-image: none;
	border-color: #cc5200 #cc5200 #36133a;
}

.show > .btn-orange.dropdown-toggle {
	background-color: #ffd1b3;
	background-image: none;
	border-color: #cc5200 #cc5200 #36133a;
}

/*Dark Blue Buttons*/
.btn-dark-blue {
	background-color: #164773;
	border-color: #164773 #164773 #1d5d96;
	color: #FFF;
}

.btn-dark-blue:hover, .btn-dark-blue.hover {
	background-color: #1d5d96;
	border-color: #1d5d96 #1d5d96 #1d5d96;
	color: #FFF;
}

.btn-dark-blue:focus, .btn-dark-blue.focus {
	box-shadow: 0 0 0 3px rgba(29, 93, 150, 0.5);
	color: #FFF;
}

.btn-dark-blue.disabled, .btn-dark-blue:disabled {
	background-color: #164773;
	border-color: #164773 #164773 #1d5d96;
}

.btn-dark-blue:active, .btn-dark-blue.active,
.show > .btn-dark-blue.dropdown-toggle {
	background-color: #ffd1b3;
	background-image: none;
	border-color: #1d5d96 #1d5d96 #14436b;
}

.show > .btn-dark-blue.dropdown-toggle {
	background-color: #1d5d96;
	background-image: none;
	border-color: #1d5d96 #1d5d96 #14436b;
}

/*Teal Blue Buttons*/
.btn-teal-blue {
	background-color: #1E5959;
	border-color: #1E5959 #1E5959 #267373;
	color: #FFF;
}

.btn-teal-blue:hover, .btn-teal-blue.hover {
	background-color: #267373;
	border-color: #267373 #267373 #267373;
	color: #FFF;
}

.btn-teal-blue:focus, .btn-teal-blue.focus {
	box-shadow: 0 0 0 3px rgba(38, 115, 115, 0.5);
	color: #FFF;
}

.btn-teal-blue.disabled, .btn-teal-blue:disabled {
	background-color: #1E5959;
	border-color: #1E5959 #1E5959 #267373;
}

.btn-teal-blue:active, .btn-teal-blue.active,
.show > .btn-teal-blue.dropdown-toggle {
	background-color: #ffd1b3;
	background-image: none;
	border-color: #267373 #267373 #194d4d;
}

/*Light Brown Buttons*/
.text-light-brown {
	color: #C38955;
}

.btn-light-brown {
	background-color: #C38955;
	border-color: #C38955 #C38955 #CA9668;
	color: #FFF;
}

.btn-light-brown:hover, .btn-light-brown.hover {
	background-color: #CA9668;
	border-color: #CA9668 #CA9668 #CA9668;
	color: #FFF;
}

.btn-light-brown:focus, .btn-light-brown.focus {
	box-shadow: 0 0 0 3px rgba(195, 137, 85, 0.5);
	color: #FFF;
}

.btn-light-brown.disabled, .btn-light-brown:disabled {
	background-color: #C38955;
	border-color: #C38955 #C38955 #CA9668;
}

.btn-light-brown:active, .btn-light-brown.active,
.show > .btn-light-brown.dropdown-toggle {
	background-color: #ffd1b3;
	background-image: none;
	border-color: #CA9668 #CA9668 #BD7B42;
}

.show > .btn-light-brown.dropdown-toggle {
	background-color: #CA9668;
	background-image: none;
	border-color: #CA9668 #CA9668 #BD7B42;
}
/*Forest Green Buttons*/
.text-forest-green {
	color: #103800;
}

.btn-forest-green {
	background-color: #103800;
	border-color: #103800 #103800 #2B5400;
	color: #FFF;
}

.btn-forest-green:hover, .btn-forest-green.hover {
	background-color: #2B5400;
	border-color: #2B5400 #2B5400 #2B5400;
	color: #FFF;
}

.btn-forest-green:focus, .btn-forest-green.focus {
	box-shadow: 0 0 0 3px rgba(16, 56, 0, 0.5);
	color: #FFF;
}

.btn-forest-green.disabled, .btn-forest-green:disabled {
	background-color: #103800;
	border-color: #103800 #103800 #2B5400;
}

.btn-forest-green:active, .btn-forest-green.active,
.show > .btn-forest-green.dropdown-toggle {
	background-color: #A1BF34;
	background-image: none;
	border-color: #2B5400 #2B5400 #BD7B42;
}

.show > .btn-forest-green.dropdown-toggle {
	background-color: #2B5400;
	background-image: none;
	border-color: #2B5400 #2B5400 #BD7B42;
}

/* ==========================================================================
   CMS Forms (includes/forms/_form-engine.php)
   ========================================================================== */

/* Breathing room wherever a form is embedded (contact page, form pages).
   The bottom gap matters most on mobile, where the form stacks directly on
   top of the next block of content. */
.cms-form-wrap {
	padding-top: 0.5rem;
	padding-bottom: 2.5rem;
}

@media (min-width: 992px) {
	.cms-form-wrap {
		padding-bottom: 1rem;
	}
}

/* Honeypot - kept out of sight of people, still visible to bots */
.cms-form-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.cms-form .form-label {
	color: #030303;
	/* Set here, not left to the engine's font-weight-semi-bold class: dashboards' admin theme does not define it,
	   so labels rendered at normal weight there (2026-10-01). 600 = the website theme's semi-bold. */
	font-weight: 600;
}

/* A single checkbox FIELD ("I agree to the refund policy") is a field label too, but the engine renders
   it as a .form-check-label at normal weight and without the required asterisk. It is the first thing in
   its column, while radio / checkbox OPTIONS always follow the field's .form-label - so :first-child
   picks out the field and leaves options alone (cms-form-checkbox-field, 2026-10-01). */
.cms-form [class*="col"] > .form-check:first-child .form-check-label {
	font-weight: 600;
}
.cms-form [class*="col"] > .form-check:first-child .form-check-input[required] + .form-check-label::after {
	content: " *";
	color: #dc3545;
}

.cms-form .form-text {
	color: #6c757d;
}

/* Porto resets some Bootstrap form sizing - keep controls consistent */
.cms-form .form-control,
.cms-form .form-select {
	padding: 0.5rem 0.75rem;
}

/* Agreement / consent text above a form's submit button (_formAgreement) */
.cms-form-agreement {
	padding: 1rem 1.15rem;
	border-left: 3px solid #c92927;
	background: #f7f7f7;
	font-size: 0.9rem;
	line-height: 1.6;
	max-height: 260px;
	overflow-y: auto;
}

/* Section heading inside a long form (_formHeadings). Deliberately theme-neutral:
   it inherits the site's heading font and color rather than naming a brand color,
   because this block is copied verbatim onto every site. */
.cms-form-heading {
	margin: 1.75rem 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #dee2e6;
	font-size: 1.25rem;   /* larger than body text - house rule 2026-09-23; the engine also adds .fs-5 + .text-primary */
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

/* No gap above the first heading - it already sits at the top of the form */
.cms-form .row > .col-12:first-child .cms-form-heading {
	margin-top: 0;
}

/* Privacy / do-not-send warning above a form's fields (_formIntro). Deliberately
   louder than .cms-form-agreement: that one is consent text people are expected to
   skim, this one has to be read BEFORE they start typing. Same red as the agreement
   rule so the two read as one family.
   Added 2026-08-28 after real submissions arrived carrying dates of birth and medical
   detail on a clinic's contact form. */
.cms-form-notice {
	/* A top margin as well as a bottom one: this block is used BOTH above a form
	   (_formIntro) and below an input as a field description, where without it the
	   card butts straight against the radio buttons it explains. Reported on
	   lsbbqcatering's Catering Package field, 2026-09-01. */
	margin-top: 0.85rem;
	margin-bottom: 1.25rem;
	padding: 0.9rem 1.1rem;
	border: 1px solid #c92927;
	border-left-width: 4px;
	border-radius: 3px;
	background: #fdf3f3;
	color: #8c1d1c;
	font-size: 0.9rem;
	line-height: 1.6;
}
.cms-form-notice p:last-child { margin-bottom: 0; }
.cms-form-notice strong { color: #a51f1e; }
