.elementor-kit-9{--e-global-color-primary:#00311E;--e-global-color-secondary:#164600;--e-global-color-text:#FFFFFF;--e-global-color-accent:#7CC745;--e-global-color-69212c3:#00311E;--e-global-color-0911365:#164600;--e-global-color-78435aa:#004C2F;--e-global-color-334931f:#7CC745;--e-global-color-f000f0a:#535353;--e-global-color-a058973:#D9D9D9;--e-global-color-1ddb5d4:#000000;--e-global-color-230caca:#FFFFFF;--e-global-color-986c231:#00000000;--e-global-typography-primary-font-family:"Bold Heading Font";--e-global-typography-primary-font-size:32px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Heading Font";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Body Copy Font";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Body Copy Font";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-f000f0a );color:var( --e-global-color-text );font-family:"Body Copy Font", Sans-serif;font-weight:400;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-334931f );}.elementor-kit-9 a:hover{color:var( --e-global-color-a058973 );}.elementor-kit-9 h1{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );}.elementor-kit-9 h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );}.elementor-kit-9 h3{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );}.elementor-kit-9 h4{font-family:"Heading Font", Sans-serif;font-size:20px;font-weight:800;text-transform:uppercase;line-height:1em;}.elementor-kit-9 h5{font-family:"Body Copy Font", Sans-serif;font-size:18px;font-weight:800;text-transform:uppercase;line-height:1em;}.elementor-kit-9 button,.elementor-kit-9 input[type="button"],.elementor-kit-9 input[type="submit"],.elementor-kit-9 .elementor-button{font-weight:bold;border-radius:999px 999px 999px 999px;padding:8px 15px 8px 15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{--lightbox-ui-color:var( --e-global-color-accent );--lightbox-ui-color-hover:var( --e-global-color-78435aa );}@media(max-width:1366px){.elementor-kit-9 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h3{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:1024px){.elementor-kit-9 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h3{font-size:var( --e-global-typography-primary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h3{font-size:var( --e-global-typography-primary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}@media(min-width:2400px){.elementor-kit-9 h1{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h2{font-size:var( --e-global-typography-primary-font-size );}.elementor-kit-9 h3{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS *//* PADDING ALL SIDES */
.pad-s{padding: clamp(1rem, 0.7692rem + 1.0256vw, 1.5rem);}
.pad-m{padding: clamp(1.5rem, 1.2692rem + 1.0256vw, 2rem);}
.pad-l{padding: clamp(2rem, 1.5385rem + 2.0513vw, 3rem);}
/* PADDING TOP & BOTTOM */
.pad-tb-s{padding: clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem) 0;}
.pad-tb-m{padding: clamp(4rem, 3.5385rem + 2.0513vw, 5rem) 0;}
.pad-tb-l{padding: clamp(7rem, 6.5385rem + 2.0513vw, 8rem) 0;}
/* PADDING TOP */
.pad-t-s{padding-top: clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem);}
.pad-t-m{padding-top: clamp(4rem, 3.5385rem + 2.0513vw, 5rem);}
.pad-t-l{padding-top: clamp(7rem, 6.5385rem + 2.0513vw, 8rem);}
/* PADDING BOTTOM */
.pad-b-s{padding-bottom: clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem);}
.pad-b-m{padding-bottom: clamp(4rem, 3.5385rem + 2.0513vw, 5rem);}
.pad-b-l{padding-bottom: clamp(7rem, 6.5385rem + 2.0513vw, 8rem);}

/* MARGIN ALL SIDES */
.mg-s {margin: clamp(1rem, 0.7692rem + 1.0256vw, 1.5rem);}
.mg-m {margin: clamp(1.5rem, 1.2692rem + 1.0256vw, 2rem);}
.mg-l {margin: clamp(2rem, 1.5385rem + 2.0513vw, 3rem);}
/* MARGIN TOP & BOTTOM */
.mg-tb-s {margin: clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem) 0;}
.mg-tb-m {margin: clamp(4rem, 3.5385rem + 2.0513vw, 5rem) 0;}
.mg-tb-l {margin: clamp(7rem, 6.5385rem + 2.0513vw, 8rem) 0;}
/* MARGIN TOP */
.mg-t-s {margin-top: clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem); }
.mg-t-m {margin-top: clamp(4rem, 3.5385rem + 2.0513vw, 5rem);}
.mg-t-l {margin-top: clamp(7rem, 6.5385rem + 2.0513vw, 8rem);}
/* MARGIN BOTTOM */
.mg-b-s {margin-bottom: clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem);}
.mg-b-m {margin-bottom: clamp(4rem, 3.5385rem + 2.0513vw, 5rem);}
.mg-b-l {margin-bottom: clamp(7rem, 6.5385rem + 2.0513vw, 8rem);}
/* ============================================================
   CMR Improvements — "Get a Quote" contact form skin
   Built 2026-08-13 from the mockup. Pairs with
   Extras/contact-form-cf7.txt

   WHERE THIS GOES
   Elementor → Site Settings → Custom CSS. Everything is scoped to
   .cmr-form-grid, so it is safe to load site-wide — it cannot reach
   another form on another page.

   TUNING
   Every colour and radius is a variable in the block below. The values
   are read off the mockup by eye, so expect to nudge the green and the
   button radius once it is on a real screen. Change them in one place;
   nothing below hard-codes a colour.
   ============================================================ */

.cmr-form-grid {
  /* palette */
  --cmr-green:        #6cbf45;  /* labels + button */
  --cmr-green-hover:  #5da838;
  --cmr-field-bg:     #d0d0d0;
  --cmr-field-text:   #1c1c1c;
  --cmr-placeholder:  #6b6b6b;
  --cmr-on-green:     #ffffff;
  --cmr-error:        #ff6b6b;  /* readable on the dark panel; CF7 red is not */

  /* shape */
  --cmr-radius-input:  999px;   /* pill */
  --cmr-radius-area:   14px;
  --cmr-radius-button: 12px;

  /* rhythm */
  --cmr-gap-x: 20px;
  --cmr-gap-y: 18px;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cmr-gap-y) var(--cmr-gap-x);
}

/* Fields span the full row by default… */
.cmr-form-grid .cmr-field,
.cmr-form-grid .cmr-submit {
  grid-column: 1 / -1;
  margin: 0;
}
/* …except the paired ones (first/last, phone/city). */
.cmr-form-grid .cmr-field-half {
  grid-column: auto / span 1;
}

/* CF7 writes a <br> from the newline between the label text and the tag.
   Without this the input sits a stray line-height below its label. */
.cmr-form-grid br {
  display: none;
}

/* ---- labels ---- */

.cmr-form-grid .cmr-field > label {
  display: block;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-left: 0px;
  text-indent: 20px;
  text-transform: uppercase;
  color: var(--cmr-green);
  line-height: 1.2;
}

.cmr-form-grid .cmr-optional {
  font-weight: 600;
  text-transform: none;
  opacity: 0.75;
}

/* CF7 wraps every control in this span; it must not break the block flow. */
.cmr-form-grid .wpcf7-form-control-wrap {
  display: block;
}

/* ---- inputs ---- */
.cmr-form-grid input[type="text"],
.cmr-form-grid input[type="tel"],
.cmr-form-grid input[type="email"],
.cmr-form-grid textarea {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 10px 20px;
  font-family: inherit;
  font-size: 16px;   /* 16px minimum — anything smaller makes iOS Safari
                        zoom the whole page when the field is focused */
  line-height: 1;
  color: var(--cmr-field-text);
  background: var(--cmr-field-bg);
  border: 2px solid transparent;
  border-radius: var(--cmr-radius-input);
  box-sizing: border-box;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.cmr-form-grid textarea {
  padding: 15px 20px;
  border-radius: var(--cmr-radius-area);
  min-height: 145px;
  resize: vertical;
}

.cmr-form-grid ::placeholder {
  color: var(--cmr-placeholder);
  opacity: 1;   /* Firefox dims placeholders by default */
}

/* ---- focus ----
   The mockup shows the browser's default blue ring. Replaced with the brand
   green, but kept as a VISIBLE ring rather than removed — never ship
   `outline: none` with no substitute, keyboard users lose their place. */
.cmr-form-grid input:focus,
.cmr-form-grid textarea:focus {
  outline: none;
  border-color: var(--cmr-green);
  box-shadow: 0 0 0 3px rgba(108, 191, 69, 0.30);
}

/* ---- submit ---- */
.cmr-form-grid .cmr-submit {
  margin-top: 4px;
}

.cmr-form-grid .wpcf7-submit {
  display: block;
  width: 100%;
  padding: 16px 24px;
  font-family: inherit;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--cmr-on-green);
  background: var(--cmr-green);
  border: 0;
  border-radius: var(--cmr-radius-button);
  cursor: pointer;
  transition: background-color .15s ease, transform .05s ease;
}

.cmr-form-grid .wpcf7-submit:hover {
  background: var(--cmr-green-hover);
}
.cmr-form-grid .wpcf7-submit:active {
  transform: translateY(1px);
}
.cmr-form-grid .wpcf7-submit:focus-visible {
  outline: 3px solid var(--cmr-on-green);
  outline-offset: 2px;
}
.cmr-form-grid .wpcf7-submit:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* ---- CF7 feedback ----
   CF7 ships dark-red text and a red-bordered box, both of which vanish
   against this panel. These rules are the reason to paste the whole file
   rather than just the layout part. */
.cmr-form-grid .wpcf7-not-valid-tip {
  display: block;
  margin-top: 7px;
  padding-left: 4px;
  font-size: 13px;
  font-weight: 600;
  color: var(--cmr-error);
}

.cmr-form-grid input.wpcf7-not-valid,
.cmr-form-grid textarea.wpcf7-not-valid {
  border-color: var(--cmr-error);
}

/* The response banner sits outside .cmr-form-grid in CF7's markup, so it is
   scoped to the form instead. */
.wpcf7 form .wpcf7-response-output {
  grid-column: 1 / -1;
  margin: 18px 0 0;
  padding: 13px 18px;
  border-width: 2px;
  border-radius: var(--cmr-radius-area, 14px);
  font-size: 15px;
  color: #ffffff;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ff6b6b;
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #6cbf45;
}

.cmr-form-grid .wpcf7-spinner {
  margin: 12px auto 0;
  display: block;
}

/* ---- mobile ---- */
@media (max-width: 640px) {
  .cmr-form-grid {
    grid-template-columns: 1fr;
  }
  /* Paired fields stop pairing — a half-width phone field on a 360px screen
     is unusable. */
  .cmr-form-grid .cmr-field-half {
    grid-column: 1 / -1;
  }
  .cmr-form-grid textarea {
    min-height: 140px;
  }
}

/* ---- optional: the dark card itself ----
   The mockup's dark panel is presumably the Elementor section background.
   If you'd rather the form carry it, add class `cmr-form-card` to the
   containing widget and uncomment.

.cmr-form-card {
  background: #1c1c1c;
  padding: 32px;
  border-radius: 18px;
}
*//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Bold Heading Font';
	font-display: auto;
	src: url('https://cmrremodel.com/wp-content/uploads/2026/08/BarlowCondensed-ExtraBold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Heading Font';
	font-display: auto;
	src: url('https://cmrremodel.com/wp-content/uploads/2026/08/BarlowCondensed-SemiBold.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Body Copy Font';
	font-display: auto;
	src: url('https://cmrremodel.com/wp-content/uploads/2026/08/OpenSans-VariableFont_wdthwght.ttf') format('truetype');
}
/* End Custom Fonts CSS */