@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap');
:root {
    --alt-font: 'Urbanist', sans-serif;
    --primary-font: 'Atkinson Hyperlegible', sans-serif;
    --base-color: #028240; /* #06af47;  */
    --dark-gray:#262b35;
}
body{
    font-size: 17px;
    line-height: 32px;
}

body.preloader-active {
  overflow: hidden;
  height: 100vh;
}

/* reset */
.placeholder-light-gray::-webkit-input-placeholder {
    color: var(--medium-gray) !important;
    text-overflow: ellipsis;
    opacity:0.6;
}
.placeholder-light-gray::-moz-placeholder {
    color: var(--medium-gray) !important;
    text-overflow: ellipsis;
    opacity:0.6;
}
.placeholder-light-gray:-ms-input-placeholder {
    color: var(--medium-gray) !important;
    text-overflow: ellipsis;
    opacity:0.6;
}
/* ==========================================
   EXIT ANIMATION
========================================== */

/* animate the logo container */
#preloader.preloader-exit .logo-fill {
  animation: logoZoomOut 0.6s ease forwards;
}

/* optional: fade text slightly faster */
#preloader.preloader-exit .preloader-text {
  opacity: 0;
  transition: opacity 0.3s ease;
}

@keyframes logoZoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  60% {
    transform: scale(1.2);
    opacity: 1;
  }

  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}
/* heading */
h1, h2, h3, h4, h5, h6 {word-spacing: -2px;}
h1 {
    line-height: 4.375rem;
}
h2 {
    line-height: 3.438rem;
}
h3 {
    line-height: 2.813rem;
}
h4 {
    line-height: 2.575rem;
}
h5 {
    line-height: 2rem;
}
h6 {
    line-height: 1.75rem;
}
/* header */
header .navbar-brand img {
    max-height: 39px;
}
.navbar .navbar-nav .nav-link {
    font-size: 18px;
    font-weight: 600;
}
header.sticky .navbar-nav .nav-link,
header.sticky .fixed-header .navbar-nav .nav-link,
header.sticky .disable-fixed .navbar-nav .nav-link{
    padding-top: 30px;
    padding-bottom: 30px;
}
header .left-nav .navbar-nav:before {
    background-color: var(--dark-gray);
    opacity: 0.2; 
    transform: translate(-28px, 0px);
    -webkit-transform: translate(-28px, 0px);
    transition: 0s;
}
header.sticky .left-nav .navbar-nav:before {
    transform: translate(-28px, 0px);
    -webkit-transform: translate(-28px, 0px);
}
header .btn.btn-small {
    padding: 10px 20px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
    width: 420px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a p {
    line-height: 22px;
    font-size: 14px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a img {
    width: 70px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a span {
    font-size: 17px;
    line-height: 30px;
}
/* bg color */
.bg-raven-blue {
    background-color: #6c757d;
}
.bg-orange {
    background-color: #ffa800;
}
.bg-base-color-transparent {
    background-color: rgba(6, 175, 71,.15);
}
.bg-base-color-light {
    background-color: #edf9f2;
}
.border-radius-left-8px {
    border-radius: 8px 0 0 0;
}
.bg-gradient-gray-light-dark-transparent {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(32, 35, 41, 1)), to(transparent));
    background-image: linear-gradient(to top, rgba(32, 35, 41, 1) 0%, transparent 80%);
}
/* text */
.text-orange {
    color: #ffa800;
}
.text-red {
    color: #ec5b54;
}
/* btn */
.btn {
    letter-spacing: normal;
    font-weight: 700;
}
.btn i { 
    margin-left: 5px;
}
.btn.btn-hover-animation-switch .btn-icon {
    margin-left: 4px;
}
.btn.btn-hover-animation-switch:hover .btn-text {
    transform: translateX(21px);
}
.btn.btn-transparent-white-light:hover {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 1);
    color: var(--white);
}
.btn.btn-dark-gray:not(.btn.submit):hover, .btn.btn-dark-gray:not(.btn.submit):active {
    background-color: var(--base-color);
    border-color: var(--base-color);
    color: var(--white);
}
.btn.btn-base-color:hover {
    background-color: var(--dark-gray);
    border-color: var(--dark-gray);
    color: var(--white);
}
.btn.btn-light-base-color {
    background-color: #c7e9d4;
    border-color: #c7e9d4;
    color: var(--dark-gray);
}
.btn.btn-box-shadow.btn-base-color:hover {
    background-color: var(--dark-gray);
    border-color: var(--dark-gray);
}
.btn.btn-link {
    padding: 0 0 2px;
}
.btn.text-uppercase-inherit i {
    top: 1px;
}
/* top right bottom left */
.right-minus-250px {
    right: -250px;
}
.right-minus-170px {
    right: -170px;
}
.right-minus-155px {
    right: -155px;
}
.bottom-minus-85px {
    bottom: -85px;
}
/* page title */
.page-title-extra-small h1 {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 15px;
}
.page-title-extra-small h2 {
    font-size: 3.438rem;
    line-height: 3.438rem;
}
/* custom */
.icon-with-text-style-10:hover .feature-box-icon {
    -webkit-transform: scale(1);
    transform: scale(1);
}
.contact-form-style-03 {
    margin-top: -100px;
}
.process-step-style-05 .progress-step-separator {
    bottom: -10px;
    height: 100%;
    z-index: -1;
}
.social-icon-style-02 .small-icon li {
    margin: 0;
}
input, select, textarea, .form-control {
    font-size: 16px;
}
/* footer */
footer{
    font-size: 16px;
    line-height: 30px;
}
footer ul li {
    margin-bottom: 0;
}
footer .footer-logo img {
    max-height: 39px;
}
.footer-light a:hover {
    color: var(--dark-gray);
}
/* media query responsive */
@media (max-width: 1199px) {
    .newsletter-style-03 .btn {
        padding: 12px 18px 12px 18px;
    }
    .newsletter-style-03 input {
        padding-right: 145px !important;
        padding-left: 20px !important;
    }
    header .left-nav .navbar-nav:before {
        transform: translate(-9px, 0px);
        -webkit-transform: translate(-9px, 0px);
    }
    header .btn.btn-small {
        padding: 9px 15px;
    }
}
@media (max-width: 991px) {
    .contact-form-style-03 {
        margin-top: 0;
    }
}
@media (max-width: 767px) {
    .newsletter-style-03 input {
        padding-right: 70px !important;
        padding-left: 20px !important;
    }
}
@media (max-width: 576px) {
    .extra-small-screen {
        height: 300px !important;
    }
}

/* ==========================================
   PRELOADER
========================================== */
#preloader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  z-index: 9999;

  display: flex;
  align-items: center;
  justify-content: center;

  transition: opacity 0.4s ease;
}

#preloader.hide {
  opacity: 0;
  pointer-events: none;
}

/* Box */
.preloader-box {
  text-align: center;
}

/* Logo + heartbeat */
.logo-fill {
  position: relative;
  width: 120px;
  margin: 0 auto 15px;
  animation: heartbeat 1.6s ease-in-out infinite;
}

@keyframes heartbeat {
  0% { transform: scale(1); }
  20% { transform: scale(1.05); }
  40% { transform: scale(0.98); }
  60% { transform: scale(1.04); }
  80% { transform: scale(0.99); }
  100% { transform: scale(1); }
}

/* Logo layers */
.logo-fill img.base {
  width: 100%;
  opacity: 0.2;
}

.logo-fill img.fill {
  position: absolute;
  inset: 0;
  width: 100%;
  clip-path: inset(100% 0 0 0);
  animation: fillLogo 2s ease forwards;
}

@keyframes fillLogo {
  to { clip-path: inset(0 0 0 0); }
}

/* Text */
.preloader-text {
  font-size: 14px;
  color: #555;
  min-height: 20px;
  transition: opacity 0.4s ease;
}

.preloader-text.fade {
  opacity: 0;
}

/* ==========================================
   EXIT ANIMATION
========================================== */

/* animate the logo container */
#preloader.preloader-exit .logo-fill {
  animation: logoZoomOut 0.7s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* optional: fade text slightly faster */
#preloader.preloader-exit .preloader-text {
  opacity: 0;
  transition: opacity 0.3s ease;
}

@keyframes logoZoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  60% {
    transform: scale(1.2);
    opacity: 1;
  }

  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}


/* SWIPER SLIDE-VIDEO */
/* VIDEO as background */
.hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: 0;
  pointer-events: none; /* IMPORTANT: video won't block clicks */
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
	z-index: 1;
	
	/* .bg-gradient-dark-transparent */
	/* background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #141622), to(transparent));
	background: linear-gradient(to top, #141622 7%, transparent 100%); */
	
	/* .bg-gradient-dark-gray-left-transparent  */
    background: -webkit-linear-gradient(right, rgba(24, 25, 28, .), rgba(0, 0, 0, 0.5));
    background: linear-gradient(to right, rgba(24, 25, 28, .9), rgba(0, 0, 0, 0.5));

	
}
/* 2) overlay for darkening/tint */
.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45); /* adjust */
  z-index: 1;
}

/* 3) content always on top */
.hero__content {
  position: relative;
  z-index: 2;
}
.hero__text_content {
	white-space: nowrap;
  overflow: hidden;
}

.table-details > :not(caption) > * > * {
	background-color: transparent;
}


/* List style 04 */
.list-style-check {
  padding-left: 0;
}

.list-style-check li {
  list-style: none;
  position: relative;
  padding-left: 26px;
  margin: 0 0 10px;
}

.list-style-check li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 16px;
  height: 16px;
  background-color: currentColor;

  /* Feather check-circle SVG */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center;
}
/* GOOGLE MAP */
.google-map iframe,
.google-map {
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
}



/* Team style 10 */
.team-style-16 figure {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: all 0.5s cubic-bezier(0.2, 0, 0.3, 1);
  transition: all 0.5s cubic-bezier(0.2, 0, 0.3, 1);
}
.team-style-16 figure .hover-switch-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.2, 0, 0.3, 1);
  transition: all 0.2s cubic-bezier(0.2, 0, 0.3, 1);
}
.team-style-16 figure figcaption {
  position: absolute;
  opacity: 0;
  bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.team-style-16:hover figure .hover-switch-image {
  left: 0;
  opacity: 1;
}
.team-style-16:hover figure figcaption {
  opacity: 1;
}
.team-style-16:hover figure figcaption .social-icon a {
  -webkit-transform: scale(1);
  transform: scale(1);
}
.team-style-16:hover figure figcaption .social-icon a:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.team-style-16:hover figure figcaption a {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}


/* team style */
.team-style-16 img {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
}
.team-style-16:hover img {
    filter: grayscale(0%);
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
}


/* ===================================
	Contact Form
====================================== */
div.wpcf7 .ajax-loader {
	top: -4px;
	display: none;
	background-color: transparent;
	opacity: 1;
	width: auto;
	height: auto;
}
div.wpcf7 .ajax-loader:after {
	margin: 0 !important;
	background: none;
	content: "" !important;
	position: absolute;
	left: calc(50% - 10px) !important;
	top: calc(50% - 10px) !important;
	width: 20px !important;
	height: 20px !important;
	opacity: 1 !important;
	right: inherit !important;
	z-index: 9;
	text-align: center;
	border: 2px solid rgba(23, 23, 23, 0.2);
	border-top-color: rgba(23, 23, 23, 0.7);
	border-radius: 50%;
	animation: spin 1s linear infinite;
}
div.wpcf7 .ajax-loader::before {
	display: none;
}
div.wpcf7 .ajax-loader.is-active,
div.wpcf7 form.submitting .ajax-loader {
	display: inline-block;
	visibility: visible;
}
.contact-form-wrapper .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}
.contact-form-wrapper .wpcf7-form-control-wrap .wpcf7-form-control,
.contact-form-wrapper .wpcf7-form-control-wrap .wpcf7-list-item,
.contact-form-wrapper .wpcf7-form-control-wrap textarea {
	display: block;
}
.contact-form-wrapper .wpcf7-form-control-wrap input[type='date'], 
.contact-form-wrapper .wpcf7-form-control-wrap input[type='time'] {
	-webkit-appearance: none;
	background-color: #fff;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	display: none;
}
.contact-form-wrapper .contact-wpcf7-spinner,
.contact-form-wrapper .contact-wpcf7-spinner p {
	display: inline-flex;
	position: relative;
	justify-content: center;
	align-items: center;
}
.contact-form-wrapper .contact-wpcf7-spinner p {
	width: 100%;
}
.contact-modern-only-icon .contact-wpcf7-spinner i,
.contact-modern-only-icon .contact-wpcf7-spinner svg {
	position: absolute;
	font-size: 18px;
	pointer-events: none;
}
.contact-modern-only-icon .contact-wpcf7-spinner svg {
	height: auto;
	width: 1em
}
.contact-modern-only-icon .wpcf7-submit {
	text-indent: -9999px;
}
.contact-form-wrapper .theme-button-wrapper p {
	margin: 0;
}
.wpcf7-form .contact-wpcf7-spinner .wpcf7-spinner {
	position: absolute;
	margin: 0;
}
.wpcf7-form .contact-wpcf7-spinner .wpcf7-submit {
	margin: 0 !important;
}
.wpcf7-form .wpcf7-submit:focus {
	background-color: transparent;
}
.submitting .contact-wpcf7-spinner input.wpcf7-submit {
	opacity: .5;
}
.wpcf7-form .wpcf7-spinner {
	margin: 0 20px 0;
	background-color: transparent;
	border: 3px solid;
	border-bottom-color: #232323;
	border-radius: 50%;
	display: inline-block;
	box-sizing: border-box;
	flex-shrink: 0;
	animation: rotation 1s linear infinite;
	color: #a7a7a7;
}
.wpcf7-form .wpcf7-spinner::before {
	display: none;
}

@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
} 

.contact-form-wrapper .theme-button-wrapper input {
	margin-bottom: 0;
}
.contact-form-wrapper .theme-button-wrapper input.wpcf7-submit {
	transition: all .3s;
	-webkit-appearance: button;
}
input[type="submit"] {
	width: auto;
	cursor: pointer;
}
.contact-form-wrapper .contact-form-text {
	display: inline-block;
	width: 85%;
	font-size: 14px;
	line-height: 24px;
}
.contact-form-wrapper .contact-form-text.terms-condition-box {
	position: relative;
}
.contact-form-wrapper .contact-form-text.terms-condition-box label {
	display: block;
}
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"] {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 4px;
	left: 0;
}
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"]:checked + .box:after,
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
	display: block;
}
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"].is-invalid + .box:before,
.contact-form-wrapper .contact-form-text.terms-condition-box input[type="checkbox"].is-invalid + .wpcf7-list-item-label:before {
	border-color: #dc3545;
}
.contact-form-wrapper .contact-form-text.terms-condition-box .box,
.contact-form-wrapper .contact-form-text.terms-condition-box .wpcf7-list-item-label {
	position: relative;
	padding-left: 30px;
	cursor: pointer;
	display: inline-block;
}
.contact-form-wrapper .contact-form-text.terms-condition-box .box:before,
.contact-form-wrapper .contact-form-text.terms-condition-box .wpcf7-list-item-label:before {
	content: "";
	width: 20px;
	height: 20px;
	background-color: transparent;
	border: 1px solid #e4e4e4;
	position: absolute;
	top: 3px;
	left: 0;
	border-radius: 4px;
}
.contact-form-wrapper .contact-form-text.terms-condition-box .box:after,
.contact-form-wrapper .contact-form-text.terms-condition-box .wpcf7-list-item-label:after {
	position: absolute;
	left: 7px;
	top: 7px;
	content: "";
	width: 6px;
	height: 10px;
	display: none;
	border: solid #1e3238;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item-label {
	display: inline-block;
	vertical-align: top;
	margin-left: 5px;
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item-label a {
	text-decoration: underline;
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item-label a:hover {
	text-decoration: none;
	color: inherit;
}
.contact-form-wrapper .contact-form-text .wpcf7-list-item {
	margin: 0;
}
.contact-form-text {
	margin-bottom: 0 !important;
}
input[type="checkbox"],
input[type="radio"] {
	padding: 0;
	width: auto;
	margin: 0 5px 0 0;
	position: relative;
	top: 2px;
	float: none;
}
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}
.contact-form-wrapper .wpcf7 form .wpcf7-response-output {
	font-size: 17px; 
	text-align: center;
	margin: 20px 0;
	border-radius: 4px;
	line-height: 22px;
	padding: 20px 30px 23px 30px; 
}
.contact-form-wrapper .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.unaccepted .wpcf7-response-output {
	color: #e2ad4b;
	background-color: #fcf8e3;
	border: 0 solid #faebcc;
}
.contact-form-wrapper .wpcf7 form.failed .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.aborted .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.failed .wpcf7-response-output,
.contact-form-wrapper .wpcf7 form.aborted .wpcf7-response-output {
	color: #e65656;
	background-color: #fbf1f1;
	border: 0 solid #efe1e3;
}
.contact-form-wrapper .wpcf7 form.sent .wpcf7-response-output {
	color: #54b783;
	background-color: #f1fbec;
	border: 0 solid #cce8b3;
}
.contact-form-wrapper .wpcf7 .wpcf7-submit:disabled {
	opacity: .6;
}
.screen-reader-response ul li {
	color: #ff0202;
}
.screen-reader-response p {
	margin-bottom: 10px;
}
.wpcf7-not-valid,
.inputerror {
	border-color: #ff0202 !important;
}
.input-wrapper {
	position: relative;
	margin-bottom: 20px;
}
.input-wrapper .select-arrow {
	position: relative;
}
.input-wrapper .select-arrow select {
	appearance: none;
}
.input-wrapper .select-arrow:after {
	content: "\e842";
	font-family: feather !important;
	right: 20px;
	top: 50%;
	height: 34px;
	position: absolute;
	pointer-events: none;
	font-size: 22px;
	margin-top: -15px;
}
.input-wrapper .select-arrow.right:after {
	right: 10px;
	font-size: 17px;
}
.input-wrapper>p,
.theme-button-wrapper>p,
.input-wrapper .select-arrow>p {
	margin-bottom: 0;
}
.input-wrapper i,
.input-wrapper svg {
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.input-wrapper.textarea-wrapper i,
.input-wrapper.textarea-wrapper svg {
	top: 15px;
	transform: none;
}

/* CUSTOM */
.screen-reader-text,
.screen-reader-text span {
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  top:-10000em;
  width:1px;
  clip:rect(0,0,0,0);
  border:0
}

.input-wrapper input[type*="text"],
.input-wrapper input[type*="tel"],
.input-wrapper input[type*="url"],
.input-wrapper input[type*="email"],
.input-wrapper textarea {
	font-size: 16px;
  
	padding: 12px 25px 12px 0px;
	border-style: solid;
  border-width: 1px;
  border-color: #FFF;
}

.input-wrapper textarea {
  resize: vertical;
  height: 121px;
}


input:-webkit-autofill {
  transition: background-color 9999s ease-in-out 0s;
}
.wpcf7-form .wpcf7-submit {
  background-color: var(--base-color);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  border-style: solid;
  border-color: var(--base-color);
  border-radius: 4px 4px 4px 4px;
	padding: 16px 30px 16px 30px;
	
	
  transition: all .3s;
  -webkit-appearance: button;
	
	text-align: center;
  outline: none;
  letter-spacing: normal;
  line-height: 1.5;
  color: #fff;
  
	box-shadow: none;
  white-space: nowrap;
  text-decoration: none
}
.wpcf7-form .wpcf7-submit:hover {
  background-color: #262B25;
  border-style: solid;
  border-color: #262B25;
}
 .wpcf7-form .wpcf7-submit:active {
  background-color: #00000000;
}
.wpcf7-form .wpcf7-submit:active,
.wpcf7-form .wpcf7-submit:focus {
  color: var(--base-color);
  border-style: solid;
  border-color: var(--base-color);
	border-width: 1px;
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}


/* Theme Form Style 01 */
.theme-form-style-1 label {
	display: block;
}

/* Theme Form Style 02 */
.theme-form-style-2 input,
.elementor-widget .theme-form-style-2 select,
.theme-form-style-2 textarea {
	padding-left: 60px;
}
.theme-form-style-2 .input-wrapper.textarea-wrapper i {
	top: 14px;
}
.theme-form-style-2 .input-wrapper.textarea-wrapper svg{
	top: 20px;
}

.theme-form-style-2 .wpcf7-form-control-wrap input[type*="text"],
.theme-form-style-2 .wpcf7-form-control-wrap input[type*="tel"],
.theme-form-style-2 .wpcf7-form-control-wrap input[type*="url"],
.theme-form-style-2 .wpcf7-form-control-wrap input[type*="email"],
.theme-form-style-2 .wpcf7-form-control-wrap textarea {
  border-radius: 6px 6px 6px 6px;
  padding: 12px 25px 12px 55px;
	
	color: #717580;
  box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.08);
  border-style: solid;
  border-color: #fff;
}
.theme-form-style-2 .wpcf7-form-control-wrap textarea {
  resize: vertical;
  height: 122px;

}

/* Theme Form Style 03 */
.theme-form-style-3 .input-wrapper i {
	position: absolute;
	left: 25px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
}
.theme-form-style-3 .wpcf7-form-control-wrap {
	display: block;
	position: relative;
}
.theme-form-style-3 input:not(.wpcf7-submit){
	border-radius: 6px 6px 6px 6px;
	padding: 12px 25px 12px 55px;
}
.theme-form-style-3 textarea {
	padding-left: 55px;
}
.theme-form-style-3 .input-wrapper.textarea-wrapper i {
	top: 15px;
	transform: translateY(0);
}
.theme-form-style-3 input.wpcf7-submit,
.theme-form-style-3 .theme-button-wrapper input.wpcf7-submit {
	color: #fff;
}
.theme-form-style-3 .form-textarea {
	position: relative;
}

/* Theme Form Style 04 */
.theme-form-style-4 input[type="submit"] {
	width: 100%;
}

/* Theme Form Style 05 */
.theme-form-style-5 .input-wrapper i,
.theme-form-style-5 .input-wrapper svg {
	left: inherit;
	right: 5px;
}
.theme-form-style-5 .input-wrapper input,
.theme-form-style-5 .input-wrapper textarea {
	margin-bottom: 0;
}
.theme-form-style-5 p {
	margin-bottom: 0;
}
.theme-form-style-5 label {
	display: block;
}
.theme-form-style-5 .form-textarea .input-wrapper i,
.theme-form-style-5 .form-textarea .input-wrapper svg {
	top: 30px;
}

.theme-form-style-5 .wpcf7-form-control-wrap input[type*="text"],
.theme-form-style-5 .wpcf7-form-control-wrap input[type*="tel"],
.theme-form-style-5 .wpcf7-form-control-wrap input[type*="url"],
.theme-form-style-5 .wpcf7-form-control-wrap input[type*="email"],
.theme-form-style-5 .wpcf7-form-control-wrap textarea {
  padding: 12px 25px 12px 0px;	
	border-style: solid;
  border-width: 0px 0px 1px 0px;
  border-color: #E4E4E4;
}
.theme-form-style-5 .wpcf7-form-control-wrap textarea {
  resize: vertical;
  height: 121px;
}

/* Theme Form Style 06 */
.theme-form-style-6 .input-wrapper i,
.theme-form-style-6 .input-wrapper svg {
	font-size: 24px;
	left: inherit;
	right: 5px;
}
.theme-form-style-6 .input-wrapper svg {
	width: 1em;
	height: auto;
}
.theme-form-style-6 .wpcf7-submit {
	width: 100%;
}
.theme-form-style-6 .theme-button-wrapper p {
	margin-bottom: 0;
}

/* Theme Form Style 07 */
.theme-form-style-7 input,
.theme-form-style-7 textarea,
.theme-form-style-7 select {
	background-color: transparent;
	font-weight: 300;
	padding: 14px 28px 14px 35px;
	border-radius: 100px;
	font-size: 16px;
}
.theme-form-style-7 .theme-button-wrapper {
	margin-bottom: 20px;
}
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit,
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit:hover {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	height: 60px;
	width: 60px;
	background-color: #fff;
	color: #4c46c0;
	padding: 0;
	text-align: center;
	border-color: #fff;
	box-shadow: none;
	border-radius: 50px;
	transform: translateY(0);
}
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit i {
	font-size: 18px;
}
.theme-form-style-7 .theme-button-wrapper .wpcf7-submit:hover {
	color: var( --bs-color-secondary, #232323 );
}

/* Promo Popup */
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 > div p {
	margin-bottom: 0;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox {
	text-align: center;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox label {
	font-size: 15px;
	margin-top: 15px;
	display: block;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox label input[type="checkbox"],
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox label input[type="radio"] {
	top: 1px;
	float: none;
}
.theme-promo-popup-wrap .contact-form-wrapper .theme-form-style-3 .wpcf7-checkbox .wpcf7-list-item {
	margin: 0;
}

/* Responsive CSS Here */
@media (max-width: 767px) {
	.contact-form-wrapper .theme-button-wrapper.contact-simple {
		text-align: left;
	}
	.contact-form-wrapper .contact-form-text {
		text-align: center;
	}
	.theme-form-style-7 .theme-button-wrapper .wpcf7-submit,
	.theme-form-style-7 .theme-button-wrapper .wpcf7-submit:hover {
		width: 100%;
	}
	.theme-form-style-7 input,
	.theme-form-style-7 textarea,
	.theme-form-style-7 select {
		margin-bottom: 25px;
	}
	.theme-form-style-7 .theme-button-wrapper {
		margin-bottom: 0;
	}
	.theme-form-style-7 .theme-button-wrapper.contact-modern-only-icon .contact-wpcf7-spinner {
		width: 100%;
	}
	.contact-form-wrapper .wpcf7 form .wpcf7-response-output {
		padding: 15px 20px 18px; 
	}
}

.wpcf7-form.invalid .input-wrapper input[type*="text"].wpcf7-validates-as-required,
.wpcf7-form.invalid .input-wrapper input[type*="tel"].wpcf7-validates-as-required,
.wpcf7-form.invalid .input-wrapper input[type*="url"].wpcf7-validates-as-required,
.wpcf7-form.invalid .input-wrapper input[type*="email"].wpcf7-validates-as-required {
  border-color: #ff0202 !important;
}

/* CUSTOM BACKGROUND */
.bg-image-circle {
	background-image: url('../images/bg-circle-logo-1.jpg');
	background-position: left top !important;
	background-repeat: no-repeat !important;
	background-color: var(--very-light-gray);
	background-size: cover;
	overflow: hidden;
}

/* List style with font icon bullets (no extra <i> or <span>) */
.list-style-icon {
  list-style: none;
  padding: 0;
  margin: 0;
}

.list-style-icon li {
  position: relative;
  padding-left: 28px; /* space for icon */
  margin-bottom: 10px;

}

.list-style-icon li:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}

/* List style icon bullet */
.list-style-icon li::before {
  content: "\f00c"; /* default: fa-check */
  font-family: "Font Awesome 7 Free";
  font-weight: 900; /* solid icons usually require 900 */
  position: absolute;
  left: 0;
  top: 0;
  color: var(--base-color);
}

.list-icon-check li::before {
  content: "\f00c"; /* check */
}
.list-icon-shield li::before {
  content: "\f3ed"; /* shield-halved */
}
.list-icon-dot li::before {
  content: "\f111"; /* circle */
	font-size: 6px; /* make it look like a dot */
}

/* List style counter */
.list-style-counter {
  counter-reset: li;
  list-style-type: none;
  padding-left: 0;
}

.list-style-counter li {
  position: relative;
  padding: 0 0 0 38px;
  margin: 0 0 9px 0;
}

.list-style-counter li::before {
  content: counter(li, decimal-leading-zero) ".";
  counter-increment: li;
  display: inline-block;
  position: absolute;
  left: 0;
}

/* Footer sticky */
.main-content {
  position: relative;
  z-index: 2;
  background: var(--white);
}
.footer-sticky {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  overflow: hidden;
}
/* Landing page footer */
.footer-demo ul li {
  margin-bottom: 0;
  line-height: 30px;
}
.footer-demo a:hover {
  color: #fff;
}
.footer-demo img {
  max-height: 55px !important;
}

.btn-group .btn {
  border-radius: 8px;
  padding: 15px 20px;
}

.btn-check:checked + .btn {
  background-color: var(--dark-gray);
  color: #fff;
}
.btn-check {
  position: absolute !important;
  clip: rect(0,0,0,0);
  pointer-events: none;
}

/* PROPERIES FORM FILTER */
#price-slider {
  margin-top: 10px;
}

.noUi-target {
  background: #e9ecef;
  border: none;
  height: 6px;
  border-radius: 10px;
}

.noUi-connect {
  background: #198754; 
}

.noUi-horizontal .noUi-handle {
	height: 18px;
	width: 18px;
	top: -5px;
	right: -9px;
	border-radius: 9px;
	cursor: pointer;
}

.noUi-handle::after, .noUi-handle::before {
	display:none;
}

.cover-background.inline-bg-image {
    background-image: var(--inline-bg-image) !important;
}

/* PROFILE LIST */
.profile-list-image img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
}

.profile-list-item {
    gap: 15px;
}

.profile-list-item:hover .profile-list-details {
    opacity: 0.85;
}

@media (max-width: 575px) {
    .profile-list-image img {
        width: 70px;
        height: 70px;
    }
}

.legal-page {
    /*max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;*/
    font-family: var(--primary-font)
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

.legal-page h1 {
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.2;
}

.legal-page .last-updated {
    color: #777;
    font-size: 14px;
    margin-bottom: 35px;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 20px;
}

.legal-page h2 {
    font-size: 24px;
    font-weight: 600;
    margin-top: 40px;
    margin-bottom: 15px;
    line-height: 1.4;
}

.legal-page h3 {
    font-size: 18px;
    font-weight: 600;
    margin-top: 25px;
    margin-bottom: 12px;
}

.legal-page p {
    margin-bottom: 18px;
}

.legal-page ul,
.legal-page ol {
    margin-bottom: 20px;
    padding-left: 25px;
}

.legal-page li {
    margin-bottom: 10px;
}

.legal-page a {
    color: var(--base-color);
    text-decoration: none;
}

.legal-page a:hover {
    text-decoration: underline;
}

.legal-page hr {
    border: 0;
    border-top: 1px solid #e5e5e5;
    margin: 35px 0;
}

.legal-page address {
    font-style: normal;
    padding-top: 20px;
}

.legal-page strong {
    font-weight: 600;
}

.legal-page table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.legal-page table th {
    background: #f8f9fa;
    color: #1B4CAD;
    font-weight: 600;
}

.legal-page table th,
.legal-page table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
}

.legal-page table tr:nth-child(even) {
    background: #fafafa;
}

.legal-page ul {
    margin: 15px 0 25px;
    padding-left: 0;
    list-style: none;
}

.legal-page ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
}

.legal-page ul li:before {
    content: "•";
    position: absolute;
    left: 8px;
    top: 0;
    color: var(--dark-gray);
    font-weight: bold;
    font-size: 18px;
}

@media (max-width: 768px) {
    .legal-page {
        padding: 25px 15px;
        font-size: 15px;
    }

    .legal-page h1 {
        font-size: 32px;
    }

    .legal-page h2 {
        font-size: 22px;
    }
}

/* =========================================================
   Testimonials Shortcode
   Desktop: Masonry layout
   Mobile: Normal stacked layout
========================================================= */
/* =========================================================
   Testimonials
========================================================= */

.js-testimonials {
    position: relative;
}

/* Masonry Container */
.testimonials-grid {
    position: relative;
    width: 100%;
}

/* Masonry Items */
.testimonial-item {
    width: 31%;
    margin-bottom: 30px;
    transition:
        opacity .35s ease,
        transform .35s ease;
}

/* Card */
.testimonial-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 10px 25px rgba(0,0,0,.05);
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.testimonial-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.testimonial-card {
    position: relative;
}

.testimonial-card::before {
    content: "❝";
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 60px;
    line-height: 1;
    opacity: .08;
    font-family: Georgia, serif;
}

/* Rating */
.testimonial-rating {
    color: #f5b03d;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 3px;
    margin-bottom: 18px;
}

/* Content */
.testimonial-text {
    color: #444;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.testimonial-text p:last-child {
    margin-bottom: 0;
}

/* Author */
.testimonial-author,
.testimonial-card .d-flex {
    display: flex;
    align-items: center;
    gap: 15px;
}

/* Avatar */
.testimonial-avatar,
.testimonial-img {
    width: 60px;
    height: 60px;
    min-width: 60px;
    border-radius: 50%;
    object-fit: cover;
}

/* Name */
.testimonial-card h5,
.testimonial-author strong {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: #222;
}

/* Meta */
.testimonial-card .small,
.testimonial-author div div {
    font-size: 13px;
    color: #777;
    line-height: 1.5;
}

/* =========================================================
   Loader
========================================================= */

.testimonial-loader {
    display: none;
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 14px;
}

.testimonial-loader.is-loading::before {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 12px;
    border: 3px solid #ddd;
    border-top-color: #111;
    border-radius: 50%;
    animation: testimonialSpin .8s linear infinite;
}

.testimonial-end {
    display: none;
    text-align: center;
    padding: 30px 20px;
    color: #666;
    font-size: 14px;
}

@keyframes testimonialSpin {
    to {
        transform: rotate(360deg);
    }
}

/* =========================================================
   Tablet
========================================================= */

@media (max-width: 991px) {

    .testimonial-item {
        width: 48%;
    }

    .testimonial-card {
        padding: 24px;
    }
}

/* =========================================================
   Mobile
========================================================= */

@media (max-width: 767px) {

    .testimonials-grid {
        display: block;
    }

    .testimonial-item {
        width: 100%;
        margin-bottom: 20px;
    }

    .testimonial-card {
        padding: 22px;
    }

    .testimonial-rating {
        font-size: 16px;
        letter-spacing: 2px;
    }

    .testimonial-text {
        font-size: 14px;
        line-height: 1.7;
    }

    .testimonial-avatar,
    .testimonial-img {
        width: 52px;
        height: 52px;
        min-width: 52px;
    }
}

/* =========================================================
   Small Mobile
========================================================= */

@media (max-width: 480px) {

    .testimonial-card {
        padding: 18px;
    }

    .testimonial-text {
        font-size: 13.5px;
    }
}

.testimonial-trigger {
    height: 1px;
}
/*
.testimonials-layout-carousel .testimonials-grid {
    position: static;
}

.testimonials-layout-carousel .testimonial-item {
    width: auto;
    margin-bottom: 0;
}

.testimonial-swiper {
    padding: 10px 5px 55px;
}

.testimonial-swiper .swiper-button-next,
.testimonial-swiper .swiper-button-prev {
    color: #111;
}

.testimonial-swiper .swiper-pagination-bullet-active {
    background: #111;
}*/
/* =========================================================
   PROPERTY 
========================================================= */
.is-sold img{
	/*opacity: 0.85;
	filter: grayscale(20%);*/
	filter: grayscale(100%);
	opacity: 0.7;
	transition: all 0.3s ease;
}

.is-sold:hover img {
	filter: grayscale(0);
	opacity: 1;
}

/* Pagination style 01 */
.pagination-style-01 .page-item.active .page-link {
    background: var(--dark-gray) !important;
    color: var(--white);
    box-shadow: 0 0 10px rgba(23, 23, 23, 0.15) !important;
}

/* =========================================================
   QR CODE
========================================================= */
.profile-qr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 18px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
  line-height: 0;
}

.profile-qr svg,
.profile-qr canvas {
  display: block;
  max-width: 100%;
  height: auto;
}
.grecaptcha-badge {
    visibility: hidden !important;
}
.cmplz-manage-consent {
    display: none !important;
}