.wa-button {
  border-radius: var(--radius-xs);
  transition: all 0.4s ease-in-out;
  font-weight: 700;
  overflow: hidden;
  position: relative;
  width: fit-content;
  display: flex;
  justify-content: center;
  flex-direction: row;
  cursor: pointer;
  align-items: center;
}
.wa-button::after {
  background-color: transparent;
  border-radius: 50%;
  content: "";
  display: block;
  height: 8rem;
  width: 8rem;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(100%, 100%);
  transform-origin: bottom right;
  transition: 0.4s all ease-in-out;
  z-index: -1;
}
.wa-button:hover::after {
  right: 40%;
  transform: translate(0, 0) scale(7);
  transform-origin: center center;
}
.wa-button:hover {
  transform: scale(1);
  color: var(--primary);
}
.wa-button__icon {
  margin-right: var(--space-xs);
}
.wa-button__text {
  line-height: 1;
  font-weight: 700;
}
.wa-button--s {
  font-size: var(--text-s);
  padding-inline: var(--space-s);
  padding-block: calc(var(--space-xs) * 0.5);
}
.wa-button--m {
  font-size: var(--text-m);
  padding-inline: var(--space-m);
  padding-block: calc(var(--space-s) * 0.7);
}
.wa-button--m .wa-button__arrow {
  height: 18px;
  width: auto;
}
.wa-button--m .wa-button__text {
  font-size: var(--text-m);
}
.wa-button--l {
  font-size: var(--text-m);
  padding-inline: var(--space-l);
  padding-block: calc(var(--space-s) * 1);
}
.wa-button__conversion {
  color: var(--white);
  background-color: var(--action);
}
.wa-button__conversion:hover {
  color: var(--white);
  background-color: transparent;
}
.wa-button__conversion::after {
  background-color: var(--action-medium);
}
.wa-button__conversion--alt {
  color: var(--base);
  background-color: var(--action-trans-20);
}
.wa-button__conversion--alt:hover {
  background-color: transparent;
  color: var(--white);
}
.wa-button__conversion--alt::after {
  background-color: var(--action-medium);
}
.wa-button__conversion--outline {
  border: 1px solid var(--action);
  color: var(--base);
  background-color: transparent;
}
.wa-button__conversion--outline:hover {
  background-color: transparent;
  border-color: var(--action-medium);
  color: var(--white);
}
.wa-button__conversion--outline::after {
  background-color: var(--action-medium);
}
.wa-button__primary {
  color: var(--base);
  background-color: var(--primary-trans-20);
}
.wa-button__primary:hover {
  background-color: transparent;
  color: var(--white);
}
.wa-button__primary::after {
  background-color: var(--primary);
}
@media (max-width: 767px) {
  .wa-button {
    text-align: center;
    font-size: calc(var(--text-m) * 0.9) !important;
    padding-inline: calc(var(--space-m) * 0.7);
    padding-block: calc(var(--space-s) * 0.5);
  }
}
.wa-button--alt {
  width: 100%;
  font-size: var(--text-m) !important;
  padding-inline: var(--space-m);
  padding-block: calc(var(--space-s) * 0.7);
}
@media (min-width: 487px) {
  .wa-button--alt {
    display: none !important;
  }
}

body .woocommerce input[type=text]:focus, body .woocommerce input[type=textarea]:focus, body .woocommerce input[type=email]:focus, body .woocommerce input[type=tel]:focus, body .woocommerce input[type=number]:focus, body .woocommerce input[type=password]:focus {
  border-color: var(--secondary) !important;
}

body select {
  border-radius: var(--radius-xs);
}
body input[type=text], body input[type=textarea], body input[type=email], body input[type=tel], body input[type=number], body input[type=password] {
  border-width: 1px;
  border-radius: var(--radius-xs);
}
body input[type=text]:focus, body input[type=textarea]:focus, body input[type=email]:focus, body input[type=tel]:focus, body input[type=number]:focus, body input[type=password]:focus {
  border-color: var(--secondary) !important;
  outline: none;
}
body .wpcf7-form label {
  color: var(--base);
  font-weight: 700;
  font-size: calc(var(--text-s) * 1.1);
  margin-bottom: 2px;
}
body .wpcf7-form input[type=submit] {
  background-color: var(--action);
  padding: var(--space-xs) var(--space-m);
  color: var(--white);
  transition: 0.2s all ease-in-out;
  font-weight: 700;
  border-radius: var(--radius-xs);
  border: none !important;
}
body .wpcf7-form input[type=submit]:hover {
  background-color: var(--action-medium);
}
body .wpcf7-form input[type=checkbox] {
  display: none;
}
body .wpcf7-form input[type=checkbox] ~ span {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  column-gap: calc(var(--space-xs) * 0.7);
}
@media (max-width: 767px) {
  body .wpcf7-form input[type=checkbox] ~ span {
    column-gap: var(--space-s);
  }
}
body input[type=checkbox] ~ span {
  display: block;
  line-height: 1;
  font-weight: 400;
}
body input[type=checkbox] ~ span:before {
  content: "";
  min-height: 1.5rem;
  min-width: 1.5rem;
  display: block;
  outline: 1px solid var(--secondary) !important;
  border-radius: 1px !important;
  justify-self: flex-end;
}
body input[type=checkbox]:checked ~ span:before {
  background-color: var(--secondary) !important;
  border-color: var(--base);
  background: url(/wp-content/uploads/2024/02/check.svg);
  background-repeat: no-repeat;
  background-position: center center;
  pointer-events: all;
}
body textarea {
  border-width: 1px;
  border-radius: var(--radius-xs);
}
body textarea:focus {
  border-color: var(--secondary) !important;
  outline: none;
}

.wa-form {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-s);
}
.wa-form__single-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-s);
}
.wa-form__half-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-s);
}
@media (max-width: 767px) {
  .wa-form__half-row {
    grid-template-columns: 1fr !important;
  }
}
.wa-form__shortcode {
  padding: var(--space-l);
  background-color: var(--accent);
  border-radius: var(--radius-m);
}
.wa-form__important {
  color: red;
}
.wa-form__submit-wrapper {
  width: fit-content;
  position: relative;
  overflow: hidden;
}

.wpcf7-not-valid-tip {
  display: none;
}

.wpcf7-form a {
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: 0.2s all ease-in-out;
  color: var(--base);
}
.wpcf7-form a:hover {
  color: var(--primary);
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-form-control-wrap .wpcf7-list-item {
  margin: 0;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 formpayment-required .wpcf7-response-output {
  animation: pulse-error 2s infinite;
  box-shadow: 0 0 0 rgba(255, 233, 233, 0.95);
  background: #ffe9e9 !important;
  color: #a92f2f;
  margin-bottom: var(--space-m) !important;
  border-radius: var(--radius-s);
  border: none !important;
  padding: 1.2em 2em 1.2em 2em;
  margin: 1.6rem 0rem;
  position: relative;
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
  z-index: 300;
}
@media (max-width: 767px) {
  .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 formpayment-required .wpcf7-response-output {
    width: 90%;
  }
}

.wpcf7 form.sent .wpcf7-response-output {
  animation: pulse-message 2s infinite;
  box-shadow: 0 0 0 rgba(242, 250, 228, 0.95);
  background: #f7ffea !important;
  color: #7fa92f;
  margin-bottom: var(--space-m) !important;
  border-radius: var(--radius-s);
  border: none !important;
  padding: 1.2em 2em 1.2em 2em;
  margin: 1.6rem 0rem;
  position: relative;
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
  z-index: 300;
}
@media (max-width: 767px) {
  .wpcf7 form.sent .wpcf7-response-output {
    width: 80%;
  }
}

:root {
  --shade-ultra-light: #FAFAFA !important;
}

body a {
  cursor: pointer !important;
}

.cf7-cf-turnstile {
  position: absolute;
  bottom: 3px;
  right: 0px;
}

.wa-form__single-row {
  position: relative;
}
.wa-form__single-row p {
  margin: 0px;
}

.brxe-dropdown:not([data-toggle=click]):hover:before {
  content: "";
  height: 100%;
  min-height: 60px;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 1;
}

@media (min-width: 768px) {
  body .wa-topless {
    padding-top: 0 !important;
  }
  body .wa-topless--xxl {
    padding-top: var(--space-xxl) !important;
  }
  body .wa-topless--xl {
    padding-top: var(--space-xl) !important;
  }
  body .wa-topless--l {
    padding-top: var(--space-l) !important;
  }
  body .wa-topless--m {
    padding-top: var(--space-m) !important;
  }
  body .wa-topless--s {
    padding-top: var(--space-s) !important;
  }
  body .wa-topless--xs {
    padding-top: var(--space-xs) !important;
  }
  body .wa-bottomless {
    padding-bottom: 0 !important;
  }
  body .wa-bottomless--xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  body .wa-bottomless--xl {
    padding-bottom: var(--space-xl) !important;
  }
  body .wa-bottomless--l {
    padding-bottom: var(--space-l) !important;
  }
  body .wa-bottomless--m {
    padding-bottom: var(--space-m) !important;
  }
  body .wa-bottomless--s {
    padding-bottom: var(--space-s) !important;
  }
  body .wa-bottomless--xs {
    padding-bottom: var(--space-xs) !important;
  }
}
@media (max-width: 767px) {
  body .wa-mobile-topless {
    padding-top: 0 !important;
  }
  body .wa-mobile-topless--xxl {
    padding-top: var(--space-xxl) !important;
  }
  body .wa-mobile-topless--xl {
    padding-top: var(--space-xl) !important;
  }
  body .wa-mobile-topless--l {
    padding-top: var(--space-l) !important;
  }
  body .wa-mobile-topless--m {
    padding-top: var(--space-m) !important;
  }
  body .wa-mobile-topless--s {
    padding-top: var(--space-s) !important;
  }
  body .wa-mobile-topless--xs {
    padding-top: var(--space-xs) !important;
  }
  body .wa-mobile-bottomless {
    padding-bottom: 0 !important;
  }
  body .wa-mobile-bottomless--xxl {
    padding-bottom: var(--space-xxl) !important;
  }
  body .wa-mobile-bottomless--xl {
    padding-bottom: var(--space-xl) !important;
  }
  body .wa-mobile-bottomless--l {
    padding-bottom: var(--space-l) !important;
  }
  body .wa-mobile-bottomless--m {
    padding-bottom: var(--space-m) !important;
  }
  body .wa-mobile-bottomless--s {
    padding-bottom: var(--space-s) !important;
  }
  body .wa-mobile-bottomless--xs {
    padding-bottom: var(--space-xs) !important;
  }
}
body.bricks-is-frontend :focus {
  outline: none !important;
}

section {
  padding-bottom: calc(var(--space-xl) * 1.2) !important;
}

html, body {
  scroll-padding-top: 300px !important;
}

.wa-breadcrumbs {
  width: 100%;
  font-size: calc(var(--text-s) * 1.1) !important;
  margin-bottom: var(--space-s);
}
.wa-breadcrumbs .separator * {
  height: 1.2rem;
}
.wa-breadcrumbs a:first-child {
  font-size: 0;
  line-height: 1;
}
.wa-breadcrumbs a:first-child:before {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(/wp-content/uploads/2024/03/home-ico.svg);
  display: inline-block;
  transition: 0.2s;
}
@media (max-width: 767px) {
  .wa-breadcrumbs {
    flex-direction: row !important;
    flex-wrap: nowrap;
    white-space: nowrap;
    position: relative;
    padding-bottom: var(--space-xs) !important;
    overflow-y: hidden;
    overflow-x: auto;
    padding-right: var(--section-padding-x) !important;
  }
}

body.page-id-78:after {
  content: url(/wp-content/uploads/2024/02/pipecontrolbg.svg);
  width: auto;
  height: 100%;
  position: absolute;
  z-index: -60;
  top: 190%;
  right: 0;
  object-fit: contain;
}
@media (max-width: 991px) {
  body.page-id-78:after {
    content: none !important;
  }
}

.wa-primary-heading {
  position: relative;
}
.wa-primary-heading:after {
  position: absolute;
  content: "";
  width: 5rem;
  height: 4px;
  background-color: var(--primary-light);
  left: 0;
  border-radius: var(--radius-l);
  bottom: -7px;
}
.wa-primary-heading__text {
  font-weight: 700;
  font-size: calc(var(--text-l) * 1.2);
  color: var(--secondary) !important;
  line-height: 1.4;
}
.wa-primary-heading-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 487px) {
  .wa-primary-heading-wrapper .wa-button {
    display: none;
  }
}

h1 span {
  color: var(--primary);
}

.wa-hero-section {
  background-color: #fafafa;
  position: relative;
  padding-block: var(--space-m);
  padding-bottom: var(--space-xl) !important;
  margin-bottom: var(--section-space-s);
  margin-top: calc(var(--space-xxl) * -1);
  padding-top: calc(var(--space-xxl) * 1.2);
  overflow: hidden;
}
.wa-hero-section:after {
  position: absolute;
  background: url(/wp-content/uploads/2024/02/herobg.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
  content: "";
  width: 50%;
  height: 101%;
  right: 0;
  bottom: -5px;
}
.wa-hero-section--left .wa-hero-content-left {
  width: 90ch;
}
.wa-hero-section--service .wa-hero-content {
  gap: var(--space-m);
}
.wa-hero-section--service .wa-hero-content-right {
  overflow: hidden;
  margin-right: var(--space-xxl);
}
@media (max-width: 991px) {
  .wa-hero-section--service .wa-hero-content-right {
    margin-bottom: calc(var(--space-xl) * -1);
  }
}

@media (min-width: 992px) {
  .postid-634 .wa-hero-content-right, .postid-623 .wa-hero-content-right, .postid-627 .wa-hero-content-right, .postid-1793 .wa-hero-content-right, .postid-1798 .wa-hero-content-right, .postid-1803 .wa-hero-section--service .wa-hero-content-right {
    margin-right: 0;
    margin-bottom: calc(var(--space-xxl) * -1.8);
  }
}
.wa-hero-content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: var(--space-m);
}
@media (min-width: 768px) {
  .wa-hero-content {
    gap: var(--space-xxl);
  }
}
.wa-hero-content__heading, .wa-hero-content__subheading {
  position: relative;
  z-index: 10;
}
.wa-hero-content-left {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.wa-hero-content-right {
  position: relative;
}
.wa-hero-content-right img {
  max-height: 220px;
  object-fit: contain;
}

body .wpgb-facet.wpgb-facet-7 button {
  text-transform: uppercase;
  padding-block: 12px !important;
}
body .wpgb-facet.wpgb-facet-7 button:hover {
  background-color: var(--secondary) !important;
}

body .wpgb-facet .wpgb-pagination li:last-child a, body .wpgb-facet .wpgb-pagination li:first-child a {
  border: none !important;
  font-size: 40px !important;
  color: var(--secondary) !important;
  line-height: 31px !important;
}
body .wpgb-facet .wpgb-pagination li:last-child a:hover, body .wpgb-facet .wpgb-pagination li:first-child a:hover {
  background-color: transparent !important;
  color: var(--secondary-hover) !important;
}
body .wpgb-facet .wpgb-pagination li:last-child a[aria-current], body .wpgb-facet .wpgb-pagination li:first-child a[aria-current] {
  background-color: var(--secondary) !important;
  color: var(--white) !important;
  border-color: var(--secondary) !important;
  transition: 0.3s all ease-in-out !important;
  border-radius: var(--radius-xs) !important;
  padding: 0 var(--space-xs) !important;
  line-height: 33px !important;
  font-size: var(--text-m) !important;
  border: 2px solid var(--secondary) !important;
}
body .wpgb-facet .wpgb-pagination li .wpgb-dots-page {
  color: var(--base) !important;
  transition: 0.3s all ease-in-out;
  border-radius: var(--radius-xs);
  padding: 0 var(--space-xs) !important;
  line-height: 33px !important;
  font-size: var(--text-m) !important;
  border: 2px solid var(--secondary) !important;
}
body .wpgb-facet .wpgb-pagination li .wpgb-dots-page:hover {
  background-color: transparent !important;
  color: var(--base) !important;
}
body .wpgb-facet .wpgb-pagination li a {
  color: var(--base) !important;
  transition: 0.3s all ease-in-out;
  border-radius: var(--radius-xs);
  padding: 0 var(--space-xs) !important;
  line-height: 33px !important;
  font-size: var(--text-m) !important;
  border: 2px solid var(--secondary) !important;
}
body .wpgb-facet .wpgb-pagination li a[aria-current] {
  background-color: var(--secondary);
  color: var(--white) !important;
  border-color: var(--secondary);
}
body .wpgb-facet .wpgb-pagination li a:hover {
  background-color: var(--secondary);
  color: var(--white) !important;
}

.wpgb-facet.wpgb-facet-2 fieldset {
  margin-bottom: calc(var(--space-xs) * 0.5) !important;
}
.wpgb-facet.wpgb-facet-2 fieldset .wpgb-search-facet .wpgb-input {
  padding: var(--space-xs) var(--space-xs);
  background-color: var(--white);
  border: 1px solid var(--shade-ultra-light);
  height: unset !important;
}
.wpgb-facet.wpgb-facet-2 fieldset .wpgb-search-facet .wpgb-input:focus {
  border-color: var(--secondary);
  color: var(--secondary) !important;
}
.wpgb-facet.wpgb-facet-2 fieldset .wpgb-search-facet svg {
  display: none;
}

.wpgb-facet.wpgb-facet-3 .wpgb-button.wpgb-apply {
  width: 100%;
  display: flex;
  justify-content: center;
  background-color: var(--secondary);
  padding-block: calc(var(--space-xs) * 1.2);
  margin-bottom: 0 !important;
  transition: 0.2s all ease-in-out;
}
.wpgb-facet.wpgb-facet-3 .wpgb-button.wpgb-apply[disabled] {
  opacity: 1;
  cursor: pointer !important;
}
.wpgb-facet.wpgb-facet-3 .wpgb-button.wpgb-apply:hover {
  background-color: var(--secondary-hover);
}

.wa-map-section {
  padding-inline: 0 !important;
}

.wa-float-button {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: var(--space-s);
  border-radius: 50%;
  background-color: var(--action);
  color: var(--white);
  position: fixed;
  right: var(--space-xs);
  justify-content: center;
  top: 50%;
  min-width: 5.6rem;
  min-height: 5.6rem;
  height: 5.6rem;
  z-index: 100;
  transition: 0.2s all ease-in-out;
}
@media (max-width: 767px) {
  .wa-float-button {
    top: 85%;
  }
}
.wa-float-button__icon {
  width: 1.8rem;
  height: 1.8rem;
}
.wa-float-button__text {
  transition: 0.2s all ease-in-out;
  color: var(--white) !important;
  font-weight: 700;
  font-size: 0;
}
.wa-float-button:hover {
  border-radius: var(--radius-xxl);
}
.wa-float-button:hover .wa-float-button__text {
  margin-left: var(--space-xs);
  font-size: var(--text-m);
  width: fit-content;
  height: auto;
}

.wa-legal-content {
  width: 100%;
}
.wa-legal-content p {
  width: 100%;
  max-inline-size: unset !important;
}
.wa-legal-content a {
  color: var(--primary);
}
.wa-legal-content .table-wrapper {
  overflow-x: auto;
}

body .wa-reviews {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
body .wa-reviews-section {
  padding-bottom: var(--space-xl) !important;
}
body .wa-reviews-content .grw-header-inner {
  margin-left: 0 !important;
  padding-left: 0 !important;
  font-family: Montserrat !important;
}
body .wa-reviews-content .wp-google-left img {
  object-fit: cover !important;
}
body .wa-reviews-content .wp-google-wr a {
  font-weight: 700 !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: calc(var(--space-xs) * 0.5) !important;
  width: fit-content !important;
  border-radius: var(--radius-xs) !important;
  background-color: #4285F4 !important;
  padding: var(--space-xs) !important;
  transition: 0.2s all ease-in-out !important;
}
body .wa-reviews-content .rpi-dots .rpi-dot {
  margin-inline: calc(var(--space-xs) * 0.5) !important;
  height: 8px !important;
  width: 8px !important;
}
body .wa-reviews-content .rpi-dots .active {
  background-color: var(--shade-medium) !important;
}
@media (max-width: 991px) {
  body .wa-reviews-content .rpi-dots {
    display: none !important;
  }
}
body .wa-reviews-content .grw-review .wp-google-name {
  color: var(--base) !important;
  font-family: Montserrat !important;
}
body .wa-reviews-content .grw-review .wp-google-text, body .wa-reviews-content .grw-review .wp-google-time {
  font-family: Montserrat !important;
}
body .wa-reviews-content .grw-review .wp-google-stars svg {
  display: inline-block !important;
}
body .wa-reviews-content .grw-review svg {
  display: none !important;
}

@media (max-width: 1750px) {
  .wa-hero-section:after {
    background: url(/wp-content/uploads/2024/02/herobgsmall.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
  }
}
@media (max-width: 991px) {
  .wa-hero-section {
    padding-top: calc(var(--space-xxl) * 1.8) !important;
    margin-top: calc(var(--space-xxl) * -1.6);
  }
  .wa-hero-section--contact .wa-hero-content {
    flex-direction: row;
  }
  .wa-hero-content {
    flex-direction: column;
  }
  .wa-hero-content-left {
    width: 100%;
  }
  .wa-hero-content-right {
    width: unset;
    max-height: 220px;
  }
  .wa-hero-content-right img {
    object-position: center;
  }
}
@media (max-width: 767px) {
  .wa-hero-content__subheading {
    font-size: calc(var(--text-s) * 1.1);
    max-width: 90%;
  }
  .wa-hero-section--contact .wa-hero-content-right {
    width: 100%;
    height: 200px;
    position: relative;
    overflow: visible;
  }
  .wa-hero-section--contact .wa-hero-content-right__mobile {
    position: absolute;
    right: -3%;
    top: 0%;
    height: 200px;
    z-index: 5;
  }
}
@media (max-width: 487px) {
  .wa-hero-content-right {
    max-height: 150px;
  }
  .wa-hero-content-right img {
    max-height: 150px;
    object-position: center left;
  }
  .wa-hero-section:after {
    background: url(/wp-content/uploads/2024/02/hero-bg-mobile.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right bottom;
    height: 70%;
  }
}
