.elementor-13649 .elementor-element.elementor-element-e73814d:not(.elementor-motion-effects-element-type-background), .elementor-13649 .elementor-element.elementor-element-e73814d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-thebase7 );}.elementor-13649 .elementor-element.elementor-element-e73814d > .elementor-background-overlay{opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-13649 .elementor-element.elementor-element-e73814d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0em;margin-bottom:0em;padding:150px 0px 150px 0px;}.elementor-13649 .elementor-element.elementor-element-5717819 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-13649 .elementor-element.elementor-element-5717819 > .elementor-element-populated{margin:0em 0em 0em 0em;--e-column-margin-right:0em;--e-column-margin-left:0em;padding:0px 0px 0px 0px;}.elementor-13649 .elementor-element.elementor-element-27ed5d2{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-13649 .elementor-element.elementor-element-1091e0c > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-13649 .elementor-element.elementor-element-8531db6 > .elementor-widget-container{margin:40px 0px 0px 0px;padding:0px 0px 4px 0px;}.elementor-13649 .elementor-element.elementor-element-8531db6.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-13649 .elementor-element.elementor-element-8531db6 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-13649 .elementor-element.elementor-element-8531db6 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-13649 .elementor-element.elementor-element-8531db6{--e-icon-list-icon-size:30px;--icon-vertical-offset:0px;}.elementor-13649 .elementor-element.elementor-element-8531db6 .elementor-icon-list-text{transition:color 0.3s;}.elementor-13649 .elementor-element.elementor-element-b78ce64 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-13649 .elementor-element.elementor-element-b78ce64{text-align:center;}.elementor-13649 .elementor-element.elementor-element-b78ce64 .elementor-heading-title{font-family:"Roboto Condensed", Sans-serif;line-height:51px;color:var( --e-global-color-thebase2 );}.elementor-13649 .elementor-element.elementor-element-1916865{--display:flex;--min-height:0px;--justify-content:center;--border-radius:12px 12px 12px 12px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);--padding-top:45px;--padding-bottom:45px;--padding-left:45px;--padding-right:45px;}.elementor-13649 .elementor-element.elementor-element-1916865:not(.elementor-motion-effects-element-type-background), .elementor-13649 .elementor-element.elementor-element-1916865 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-thebase9 );}.elementor-13649 .elementor-element.elementor-element-1916865.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-13649 .elementor-element.elementor-element-f7dcd6b > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-13649 .elementor-element.elementor-element-f7dcd6b{text-align:left;}.elementor-13649 .elementor-element.elementor-element-f7dcd6b img{width:16%;}@media(min-width:769px){.elementor-13649 .elementor-element.elementor-element-1916865{--width:107.544%;}}@media(max-width:1025px){.elementor-13649 .elementor-element.elementor-element-e73814d{margin-top:0em;margin-bottom:0em;padding:80px 0px 80px 0px;}}@media(max-width:768px){.elementor-13649 .elementor-element.elementor-element-e73814d{padding:50px 0px 50px 0px;}.elementor-13649 .elementor-element.elementor-element-b78ce64 .elementor-heading-title{line-height:30px;}.elementor-13649 .elementor-element.elementor-element-1916865{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:1025px) and (min-width:769px){.elementor-13649 .elementor-element.elementor-element-1091e0c{width:100%;}}/* Start custom CSS for image, class: .elementor-element-f7dcd6b *//* MIRE Built Roofing • UI Styles (primary: #354758) */

/* Card / Wrapper */
.mire-card {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  color: #354758;
  font-family: 'Roboto', sans-serif;
}

/* Title */
.mire-title {
  margin: 0 0 12px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #354758;
}

/* Help text under title */
.mire-help {
  margin: -6px 0 18px;
  font-size: 0.95rem;
  font-style: italic;
  color: #4d5f6f;
}

/* Grid Layout */
.mire-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 640px) {
  .mire-grid {
    grid-template-columns: 1fr;
  }
}

/* Labels */
.mire-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #354758;
}

/* Unified Inputs & Selects */
.mire-input,
.mire-select,
#mrc-contact input,
#mrc-contact select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #c9d0d6;
  border-radius: 8px;      /* consistent rounded corners */
  font-size: 0.95rem;
  font-family: inherit;
  color: #354758;
  background: #fafafa;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
  appearance: none;        /* normalize across browsers */
}
.mire-input:focus,
.mire-select:focus,
#mrc-contact input:focus,
#mrc-contact select:focus {
  outline: none;
  border-color: #354758;
  box-shadow: 0 0 0 2px rgba(53,71,88,0.2);
}

/* Custom select arrow (for all selects) */
.mire-select,
#mrc-contact select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23354758' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M7 8l3 3 3-3z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 28px 28px; /* make arrow larger */
  padding-right: 44px;        /* give space for arrow */
}


/* Inline input groups (width × depth) */
.mire-inline {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mire-x {
  font-weight: bold;
  color: #354758;
}

/* Subtext */
.mire-sub {
  margin-top: 4px;
  font-size: 0.8rem;
  color: #6b7a88;
}

/* Buttons */
.mire-btn {
  flex: 1;
  padding: 12px 18px;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  background: #354758;
  color: #fff;
  transition: background .2s, transform .1s;
}
.mire-btn:hover {
  background: #2a3746;
}
.mire-btn:active {
  transform: scale(0.97);
}

/* Reset button variation */
.mire-toggle {
  background: #e0e5ea;
  color: #354758;
}
.mire-toggle:hover {
  background: #c9d0d6;
}

/* Toggle Row (used for all button groups, including Save Quote) */
.mire-toggle-row {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Results */
.mire-result {
  margin-top: 20px;
  padding: 16px;
  border-radius: 12px;
  background: #f7f9fb;
  border: 1px solid #d9e0e6;
  font-size: 0.95rem;
  color: #354758;
}
.mire-result strong {
  font-weight: 700;
  color: #354758;
}

/* Contact form grid under Save Quote */
#mrc-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
#mrc-contact label {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: 0.95rem;
  color: #354758;
}

/* Full width on small screens */
@media (max-width: 640px) {
  #mrc-contact {
    grid-template-columns: 1fr;
  }
}

/* Save Quote button wrapper */
#mrc-send-row {
  display: flex !important;
  gap: 12px;
  margin-top: 30px; /* spacing under the contact grid */
  justify-content: flex-start !important;
}
#mrc-send {
  flex: 0 0 auto !important;
  width: calc((100% - 16px) / 2) !important;
  max-width: none !important;
}
/* On mobile (1 column), make it full width like the inputs */
@media (max-width: 640px) {
  #mrc-send {
    width: 100% !important;
  }
}

.req {
  color: red;
  font-weight: bold;
  margin-left: 2px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e709c49 *//* MIRE Built Roofing • UI Styles (primary: #354758) */

/* Card / Wrapper */
.mire-card {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 24px;
  border-radius: 16px;
  background: #fff;
  color: #354758;
  font-family: 'Roboto', sans-serif;
}

/* Title */
.mire-title {
  margin: 0 0 12px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #354758;
}

/* Help text under title */
.mire-help {
  margin: -6px 0 18px;
  font-size: 0.95rem;
  font-style: italic;
  color: #4d5f6f;
}

/* Grid Layout */
.mire-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 640px) {
  .mire-grid {
    grid-template-columns: 1fr;
  }
}

/* Labels */
.mire-label {
  display: block;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 0.95rem;
  color: #354758;
}

/* Unified Inputs & Selects */
.mire-input,
.mire-select,
#mrc-contact input,
#mrc-contact select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #c9d0d6;
  border-radius: 8px;      /* consistent rounded corners */
  font-size: 0.95rem;
  font-family: inherit;
  color: #354758;
  background: #fafafa;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
  appearance: none;        /* normalize across browsers */
}
.mire-input:focus,
.mire-select:focus,
#mrc-contact input:focus,
#mrc-contact select:focus {
  outline: none;
  border-color: #354758;
  box-shadow: 0 0 0 2px rgba(53,71,88,0.2);
}

/* Custom select arrow (for all selects) */
.mire-select,
#mrc-contact select {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='%23354758' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path d='M7 8l3 3 3-3z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 28px 28px; /* make arrow larger */
  padding-right: 44px;        /* give space for arrow */
}


/* Inline input groups (width × depth) */
.mire-inline {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mire-x {
  font-weight: bold;
  color: #354758;
}

/* Subtext */
.mire-sub {
  margin-top: 4px;
  font-size: 0.8rem;
  color: #6b7a88;
}

/* Buttons */
.mire-btn {
  flex: 1;
  padding: 12px 18px;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  background: #354758;
  color: #fff;
  transition: background .2s, transform .1s;
}
.mire-btn:hover {
  background: #2a3746;
}
.mire-btn:active {
  transform: scale(0.97);
}

/* Reset button variation */
.mire-toggle {
  background: #e0e5ea;
  color: #354758;
}
.mire-toggle:hover {
  background: #c9d0d6;
}

/* Toggle Row (used for all button groups, including Save Quote) */
.mire-toggle-row {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* Results */
.mire-result {
  margin-top: 20px;
  padding: 16px;
  border-radius: 12px;
  background: #f7f9fb;
  border: 1px solid #d9e0e6;
  font-size: 0.95rem;
  color: #354758;
}
.mire-result strong {
  font-weight: 700;
  color: #354758;
}

/* Contact form grid under Save Quote */
#mrc-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
#mrc-contact label {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: 0.95rem;
  color: #354758;
}

/* Full width on small screens */
@media (max-width: 640px) {
  #mrc-contact {
    grid-template-columns: 1fr;
  }
}

/* Save Quote button wrapper */
#mrc-send-row {
  display: flex !important;
  gap: 12px;
  margin-top: 30px; /* spacing under the contact grid */
  justify-content: flex-start !important;
}
#mrc-send {
  flex: 0 0 auto !important;
  width: calc((100% - 16px) / 2) !important;
  max-width: none !important;
}
/* On mobile (1 column), make it full width like the inputs */
@media (max-width: 640px) {
  #mrc-send {
    width: 100% !important;
  }
}

.req {
  color: red;
  font-weight: bold;
  margin-left: 2px;
}/* End custom CSS */