:root {
	--scroll-behavior: auto;
	--thm-primary-font: "Montserrat", sans-serif;
	--thm-secondary-font: "DM Sans", sans-serif;
	/**--thm-base: rgba(0,103,153,1); **/
	--thm-base: #375167;
	/** --thm-color: rgba(27,55,70,1); **/
	--thm-color: #000;
	--thm-color-rgb: 37,55,70;
	--thm-primary: #6dbeee;
	--thm-secondary: #9acde9;
	--bgColor: #F6F6F6;
	--thm-white: #ffffff;
	--thm-black: #000;
	--lg-color: rgba(247,249,251,1);
	--thm-txt-shadow: rgba(0, 0, 0, 0.3) 0 1px 1px;
	--thm-light-bg: rgba(247,249,251,1);
	--thm-drk-blue: #243746;
	--thm-error: rgba(204,0,51,1);
	--thm-red: #DF1B2C;
	--light-grey-bg: #c4c5c7;
	--color-grey: #495057;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  font-family: var(--thm-primary-font);
  /**min-height: 75rem;**/
  padding-right: 0 !important;
  line-height: 1.75rem;
}

body:not(.modal-open){
  padding-right: 0px !important;
}

.modal-open{overflow:auto;padding-right:0 !important;}

.modal-header {
	border-bottom: none;
}

.modal-footer {
	border-top: none;
}

/*--------------------------------------------------------------
# Common
--------------------------------------------------------------*/

a {
	color: var(--thm-base);
}

a,
a:hover,
a:focus,
a:visited {
	text-decoration: none;
}

:focus {
  outline: none; }

::placeholder {
	color: inherit;
	opacity: 1;
}

.form-control:focus {
	outline: none;
	box-shadow: none;
}

.main-content a {
	font-weight: bold;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5,
h6 {
	font-family: var(--thm-primary-font);
	font-weight: 900;
	color: var(--thm-black);
	line-height: 1;
	margin-bottom: 1rem
}

h1, .h1 {
	font-size: 40px;
}

.h3, h3 {
	font-size: 1.75rem;
	line-height: 2rem;
}

.h4, h4 {
	font-size: 1.5rem
}

h5, .h5 {
	font-size: 1.25rem
}

@media screen and (min-width:320px) {

	h1, .h1 {
		font-size: calc(32px + 48 * ((100vw - 320px)/ 880))
	}
	
	h2, .h2 {
		font-size: calc(26px + 6 * ((100vw - 320px)/ 880))
	}
}

@media (min-width: 1024px) {
	.h1, h1 {
		font-size: 60px
	}
	
	.h2, h2 {
		font-size: 38px;
	}
	
	.h3, h3 {
		font-size: 2rem;
		line-height: 2.625rem;
		margin-bottom: 1.25rem;
	}
	
	.h4, h4 {
		font-size: 1.5rem;
		line-height: 2.625rem;
		margin-bottom: 0.50rem;
	}
	
	.h5, h5 {
		font-size: 1.25rem;
		line-height: 2.25rem;
		margin-bottom: 0.50rem;
	}
}


@media (max-width: 575px) {
	h1 br,
	h2 br,
	h3 br,
	h4 br,
	h5 br,
	h6 br {
		display: none;
	}
}

@media (max-width: 575px) {
	p br {
		display: none;
	}
}

.header {
	z-index: 990;
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #fefefe;
	font-size: .875rem;
	font-weight: 400;
	line-height: 1.5;
}

.navbar {
	border-bottom: 1px solid #d1d1d1;
}

.navbar-brand img {
	max-width: 125px;
}


	


/* Affix
-------------------------------------------------- */

.affix  {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

/* ==================================================
  Sticky
  ================================================== */
.sticky.navbar {
  border-radius: 0;
  padding: 5px 0;
  background-color: rgba(255, 255, 255, 1);

}
.sticky .show-is-sticky,
.sticky .show-not-sticky {
  transition: all 0.3s ease-out;
  opacity: 0;
  visibility: hidden;
}
.sticky .show-not-sticky {
  opacity: 1;
  visibility: visible;
}
.navbar.sticky.is-sticky {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 99;
  width: 100%;
  transition: all 0.3s ease-out;
  background: rgba(255, 255, 255, 0.85)
}
.navbar.sticky.is-sticky {
  transition: all 0.3s ease-out;
 
}
.sticky.is-sticky .show-is-sticky {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s ease-out;
}
.sticky.is-sticky .show-not-sticky {
  opacity: 0;
  visibility: hidden;
}


@media (max-width: 991.98px) {
  .offcanvas-collapse {
	position: fixed;
	top: 56px; /* Height of navbar */
	bottom: 0;
	left: 100%;
	width: 100%;
	padding-right: 1rem;
	padding-left: 1rem;
	overflow-y: auto;
	visibility: hidden;
	background-color: #343a40;
	transition: transform .3s ease-in-out, visibility .3s ease-in-out;
  }
  .offcanvas-collapse.open {
	visibility: visible;
	transform: translateX(-100%);
  }
}

.nav-scroller .nav {
  color: rgba(255, 255, 255, .75);
}

.nav-scroller .nav-link {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .875rem;
  color: #6c757d;
}

.nav-scroller .nav-link:hover {
  color: #007bff;
}

.nav-scroller .active {
  font-weight: 500;
  color: #343a40;
}

.bg-purple {
  background-color: #6f42c1;
}


.gap-4 {
	gap: 1.5rem !important;
}


.em {
	font-weight: normal;
	font-style: italic;
	font-size: 1.4em;
	margin-top: 0;
	line-height: 1.2em;
}

.f-10 {
	font-size: 10px;
}
.f-11 {
	font-size: 11px;
}
.f-12 {
	font-size: 12px;
}
.f-13 {
	font-size: 13px;
}
.f-14 {
	font-size: 14px;
}
.f-15 {
	font-size: 15px;
}
.f-16 {
	font-size: 16px;
}

.fw-400 {
	font-weight: 400 !important;
}

.fw-500 {
	font-weight: 500 !important;
}

.fw-600 {
	font-weight: 600 !important;
}

.fw-700 {
	font-weight: 700 !important;
}

.fw-800 {
	font-weight: 800 !important;
}

.fw-bold {
	font-weight: 700 !important;
}

.px-55 {
	padding: 0 2rem;
}

@media (min-width: 1024px) {
	.px-55 {
		padding: 0 5rem;
	}
}

.btn {
  padding: 0.5rem 1.2rem;
  border-radius: 0;
  font-weight: 600;
  white-space: normal !important;
  word-wrap: break-word;
}
.btn-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 1rem 0;
}
.btn-bold {
  font-weight: 700;
}
.btn-round {
  padding: 0.6rem 1.2rem;
  margin: 0.5rem 0;
  border-radius: 4rem;
}

.btn-semi-round {
  padding: 0.6rem 1.2rem;
  margin: 0.5rem 0;
  border-radius: 0.5rem;
}

.btn-orange,
a.btn-orange,
a.btn-orange:link,
a.btn-orange:visited {
  color: #fff;
  background-color: #ff7a59;
  border: 0.125rem solid #ff7a59;
  text-decoration: none;
}
.btn-orange:hover,
.btn-orange:focus,
a.btn-orange:hover,
a.btn-orange:focus {
  color: #ff7a59;
  border-color: #ff7a59;
  background: transparent;
  text-decoration: none;
}

.btn-black,
a.btn-black,
a.btn-black:link,
a.btn-black:visited {
  color: #fff;
  background-color: rgba(42,42,42,1);
  border: 0.125rem solid rgba(42,42,42,1);
  text-decoration: none;
  box-shadow: 0 0 0 1px #000, 0 2px 5px 0 rgba(0,0,0,.6);
  
}
.btn-black:hover,
.btn-black:focus,
a.btn-black:hover,
a.btn-black:focus {
  color: #fff;
  border-color: rgba(42,42,42,0.8);
  background: rgba(42,42,42,0.8);
  text-decoration: none;
}

.btn-green {
  color: #fff;
  background-color: #00ac4b;
  border-color: #00ac4b;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
}
a.btn-green:link,
a.btn-green:visited,
.btn-green {
  color: #fff;
  text-decoration: none;
}
a.btn-green:hover,
a.btn-green:focus,
.btn-green:hover,
.btn-green:focus {
  background-color: rgba(0, 172, 75, 0.5);
  color: #fff;
}

.btn.btn-blue,
a.btn.btn-blue:link,
a.btn.btn-blue:visited {
  color: #fff;
  background-color: #006799;
  border-color: #006799;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
}
.btn-blue:hover {
  background-color: transparent;
  border-color: #006799;
  color: #006799;
  text-decoration: none;
}
.btn-blue:focus,
.btn-blue.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}
.btn-blue.disabled,
.btn-blue:disabled {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
  text-decoration: none;
}
.btn-blue:not(:disabled):not(.disabled):active,
.btn-blue:not(:disabled):not(.disabled).active,
.show > .btn-blue.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
  text-decoration: none;
}
.btn-blue:not(:disabled):not(.disabled):active:focus,
.btn-blue:not(:disabled):not(.disabled).active:focus,
.show > .btn-blue.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}


footer {
	background:#111;
	color:#aaa;
	padding:40px 0;
	
}

footer p {
	font-size: 0.65rem;
	line-height: 1.25rem;
}

footer p.questions {
	font-size: 1rem;
}

@media (min-width: 1024px) {
	footer p {
		font-size: 0.85rem;
		line-height: 1.25rem;
	}
	
	footer p.questions {
		font-size: 1rem;
	}
}

footer a:link,
footer a:visited {
	color: #fff;
	text-decoration: none;
	transition: all 0.3s ease-in-out;
}

footer a:hover {
	color: rgba(255,255,255, 0.75);
	transition: all 0.3s ease-in-out;
}

 


ol.styled-list  li,
ul.styled-list  li {
	padding-top: 1rem;
	margin-bottom: 0.5rem;
	position: relative;
	display: block;
}
		
ul.styled-list {
  position: relative;
  list-style: none;
}
ul.styled-list li:before {
  content: "";
}
ul.styled-list li:before {
  border: 0;
  position: absolute;
  top: 42%;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 30px;
  height: 30px;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
  font-weight: 700;
  border-radius: 50%;
  color: #fff;
  background: #cff128;
  background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PScwIDAgMjQuMjMgMjEuMTgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTYuOCAyMS4xOGMtMy40Mi0uODctNC4yMi01LjU2LTYuMzUtOC4wNmEyIDIgMCAwMTMuMDYtMi41MWMxLjQgMSAyLjIgMy42MiAzLjkgMy4zNSA0LjgtMy4zNCA5LTguODQgMTMuNTYtMTIuNzQuNzMtLjY5IDEuNTUtMS44MiAyLjcxLS44M3MuMDYgMS45My0uNTcgMi42OGMtNC42IDUuNTgtOS4yNCAxMS4xMi0xMy44NiAxNi42OGEzLjEyIDMuMTIgMCAwMS0yLjQ1IDEuNDN6JyBmaWxsPScjZmZmJy8+PC9zdmc+);
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: 50%;
}
@media (min-width: 768px) {
  ul.styled-list li:before {
	background-size: 21px;
	width: 40px;
	height: 40px;
  }
}
ul.styled-list li {
  padding-left: 43px;
  font-size: 1.5rem;
  line-height: 2rem;
}
@media (min-width: 768px) {
  ul.styled-list li {
	padding-left: 55px;
  }
}

ul.styled-list  li h4 {
	padding: 0;
	margin: 0;
}
ul.styled-list  li p {
	font-size: 16px;
	line-height: 1.4;
	padding: 0;
	margin: 0;
}

.embed-container { 
	position: relative; 
	padding-bottom: 56.25%; 
	height: 0; overflow: hidden; 
	max-width: 100%; height: auto; 
} 
.embed-container iframe, .embed-container object, .embed-container embed { 
   position: absolute; 
   top: 0; 
   left: 0; 
   width: 100%; 
   height: 100%; 
}

.secondary-hero {
	text-align: center;
}

.secondary-wrapper {
	position: relative;
	border-radius: 20px;
	padding: 60px 64px;
	background: #ecf3fb;
}

.pretitle {
	padding: 0;
	margin: 0;
	font-size: 16px;
	text-transform: uppercase;
}

.accordion-button {
	font-weight: 600;
}

.order-form {
	background: rgba(247, 249, 251, 1);
}

.orderForm {
	border-radius: 20px;
	padding: 30px 60px;
	background: #fff;
}

form legend {
	padding: 0;
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
}

form fieldset {
	margin-bottom: 1rem;
}

.offcanvas-title img {
	max-width: 200px;
}

.bg-grey {
	background: rgba(247, 249, 251, 1);
}

.help-block {
	color: #c00;
}

.form-group {
	margin-bottom: 1rem;
}

.text-muted {
	display: block;
	margin-top: .25rem;
	color: #6c757d !important;
}

.small, small {
	font-size: .875em;
	font-weight: 400;
}

#overlay {
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:#111;
	/*	opacity:0.1;
	filter:alpha(opacity=10);*/
	z-index:2000;
	display: none;
}

#preloader {
	background: #000000 url('/data/uploads/preloader.gif') no-repeat 12px 10px;
	font-size: 11px;
	height: 40px;
	left: 50%;
	line-height: 20px;
	margin: -20px 0 0 -45px;
	padding: 10px;
	position: fixed;
	text-align: left;
	text-indent: 36px;
	top: 50%;
	width: 160px;
	z-index: 2001;
	opacity:0.8;
	filter:alpha(opacity=80);
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	color: #FFF;
	text-shadow:none;
	display: none;
}

.light-grey-bg {
	background-color: var(--light-grey-bg);
}

.cta-1 {
	font-size: 1.5rem;
	background-color: var(--light-grey-bg);
}

.cta-white {
	background-color: #fff;
}

.cta-2 {
	background-color: var(--light-grey-bg);
}

.btn-cta {
	display: inline-flex;
	align-items: center;
	font-size: 16px;
	font-weight: 800;
	padding: 1em 2.1em;
	height: 56px;
	border-radius: 30px;
	border: 1px solid;
	text-align: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
	/** background-color: #343B55;**/
	background-color: #000;
	color: #fff;
}

@media (min-width: 1024px) {
  .btn-cta  {
	font-size: 20px;
  }
}

.btn-cta:hover {
  background: #fff;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  border-color: #000;
  color: #000;
}


.btn-cta.blue:hover {
  border-color: #006799;
  color: #006799;
  background: #fff;
}

.btn-shadow {
  height: 52px;
  padding-left: 2em;
  padding-right: 2em;
  color: #fff;
  display: inline-flex;
  border-radius: 28px;
  margin-left: 1em;
  border: none;
}

a.btn-shadow {
  color: #fff;
}

.btn-round {
  padding: 0.6rem 1.2rem;
  margin: 0.5rem 0;
  border-radius: 4rem;
}

.btn-blue {
	border-color: #09c;
	color: #fff;
	background: #09c;
}

.navbar .btn-cta {
	font-size: 14px;
	font-weight: 600;
	padding: 0.5em 1em;
	height: auto;
}


.step-wrap {
	position: relative;
	min-height: 235px;
}

.form-step {
	opacity: 0;
	display: none;
}

.form-step.active-step {
	display: block;
	opacity: 1;
}

.form-step.fade-in {
	animation: stepFadeIn 0.3s ease forwards;
}

.form-step.fade-out {
	animation: stepFadeOut 0.2s ease forwards;
}

@keyframes stepFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes stepFadeOut {
	from { opacity: 1; }
	to { opacity: 0; }
}

.modal-content {
	padding: 1rem;
}

.form-group {
  position: relative;
  display: block;
  margin-bottom: 18px;
}

.form-group span {
  font-size: 15px;
  color: var(--color-grey);
  position: absolute;
  top: 11px;
  transition: all .2s ease;
  transform-origin: 0 0;
  cursor: text;
}

.form-group span.border {
  height: 2px;
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  top: 41px;
  transform: scaleX(0);
  transition: all .15s ease;
  background: #fff;
}

.form-control {
  border: none;
  border-radius: 0;
  border-bottom: 2px solid var(--color-grey);
  display: block;
  width: 100%;
  height: 43px;
  font-size: 15px;
  background: none;
  padding-left: 0;
  padding-right: 0;
  outline: none;
  box-shadow: none;
}

/* Active state */
.form-control:focus,
input.form-control:required:valid,
textarea.form-control[placeholder]:not(:placeholder-shown) {
  border-bottom: 2px solid #fff;
}

/* Float label */
.form-control:focus + span,
input.form-control:required:valid + span,
textarea.form-control[placeholder]:not(:placeholder-shown) + span {
  transform: translateY(-22px) scale(0.8);
}

/* Animate underline */
.form-control:focus + span + .border,
input.form-control:required:valid + span + .border,
textarea.form-control[placeholder]:not(:placeholder-shown) + span + .border {
  transform: scaleX(1);
}

/* Textarea base */
textarea.form-control {
  height: auto;
  min-height: 60px;
  max-height: 60px;
  overflow: hidden;
  resize: vertical;
  padding-top: 16px;
  line-height: 1.4;
  transition: max-height 0.3s ease;
}

/* Expand on focus */
textarea.form-control:focus {
  max-height: 160px;
}

textarea.form-control + span + .border {
  top: auto;
  bottom: 0;
}
		
#nextStepBtn {
	background: var(--thm-red);
	width:50px;
	height:50px;
	transition: all 0.2s ease;
}


#nextStepBtn:hover {
background: var(--thm-red);
transform: translateY(-2px);
box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

#prevStepBtn {
	width:50px;
	height:50px;
	transition: all 0.2s ease;
	color: var(--color-grey);
	border-color: var(--light-grey-bg);
}

.contact-time-group {
  margin-top: 10px;
}

.contact-option {
  position: relative;
  cursor: pointer;
}

.contact-option input {
  display: none;
}

.contact-option span {
  display: inline-block;
  padding: 8px 16px;
  border: 2px solid var(--color-grey);
  border-radius: 25px;
  font-size: 14px;
  transition: all 0.2s ease;
}

/* Hover */
.contact-option:hover span {
  border-color: #006799;
}

/* Selected */
.contact-option input:checked + span {
  background: #006799;
  border-color: #006799;
  color: #fff;
}

/* Fix for Google Autocomplete in Bootstrap Modals */
.pac-container {
	z-index: 2000 !important;
	background-color: #fff;
	font-family: inherit; /* Matches your site font */
}

/* Prevents Google from overriding your input styling */
#property_address::-webkit-input-placeholder {
	color: transparent; /* Hides the 'secondary' placeholder if it's ghosting */
}

/* Ensure your actual placeholder is visible and clean */
#property_address::placeholder {
	color: #6c757d; /* Standard Bootstrap placeholder color */
	opacity: 1;
}