/*
Theme Name: Refined Impact
Author: Refined Impact
Author URI: https://refinedimpact.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/



/* makes text wrap nicely at breaks instead of widows */
.balance-text {
text-wrap: balance;
}


/* --- Google badge placeholder --- */
.AA-badge-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #e0dede;
  padding: 28px 40px;
}

.AA-badge-number {
  font-family: 'Exo 2', sans-serif;
  font-weight: 900;
  font-style: italic;
  font-size: 64px;
  color: #f47001;
  line-height: 1;
  display: block;
}

.AA-badge-label {
  font-family: 'Exo 2', sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1e1e1e;
  display: block;
}


/* HEADER REVIEWS STYLE CODE =============================================================== */

.review-badge .wpsr-reviews-badge-btn {
    box-shadow:none !important;
    background-color:rgba(0,0,0,0) !important;
	padding:0 !important;
}

.review-badge .wpsr-total-reviews {
    display:none;
}

/* adds shadow to stars */
.review-badge .wpsr-star-container {
    filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0));
}

.review-badge .wpsr-total-rating {
    color:#fff !important;
    font-family:"Exo 2";
    font-weight:900;   
    padding-top:0px;
    margin-top:-45px;
}

.review-badge .wpsr-reviews-badge-title {
display:none;
  }



/* sets the size of the stars */
    .review-badge .wpsr-star-container {
    width:1.5em !important;
    height:1.5em !important;
    margin-bottom:6px;
        
}
  
  
    /* styles the size of the review average number */
.review-badge .wpsr-total-rating {
    font-size:1em !important;
}




/* FOOTER REVIEWS STYLE CODE =============================================================== */

/* code for managing the review template in the header */
.footer-review .wpsr-business-info-logo img {
    margin-bottom:-15px;
}

.footer-review .wpsr-business-info-logo {
    margin-bottom:15px;
}

.footer-review .wpsr-reviews-badge-btn {
    box-shadow:none !important;
    padding: 10px 30px !important;
    background-color:rgba(0,0,0,1) !important;
}

.footer-review .wpsr-total-reviews {
    font-weight:800;
    text-transform:uppercase;
    text-shadow: 2px 2px 5px #000; 
    margin-bottom:10px;
    color:#fff !important;
    font-family:"Exo 2";
    font-weight:700;
    letter-spacing:0.05em;
}

/* adds shadow to stars */
.footer-review .wpsr-star-container {
    filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.7));
}

.footer-review .wpsr-total-rating {
    text-shadow: 2px 2px 5px #000;
    margin-top:-10px !important;
        color:#fff !important;
    font-family:"Exo 2" !important;
    font-weight:700 !important;
}

.footer-review .wpsr-reviews-badge-title {
    font-size:1em !important;
    margin-bottom:10px;
    margin-top:20px;
    color:#fff !important;
    text-transform:uppercase;
    font-weight:700 !important;
    font-family:"Exo 2";
    letter-spacing:0.05em;
  }


@media screen and (min-width:1025px) {
/* sets the size of the stars */
    .footer-review .wpsr-star-container {
    width:1em!important;
    height:1em;
    margin-bottom:5px;
        
}
  
    /* styles the read our X reviews text */
 .footer-review .wpsr-total-reviews { 
	display: none; /* Added to hide count text*/
    font-size:1em !important;
    margin-top:10px;
}
  
    /* styles the size of the review average number */
.footer-review .wpsr-total-rating {
    font-size:1em !important;
}
}

/* styles google logo */
.footer-review .wpsr-reviews-badge-wrapper .wpsr-reviews-badge-wrapper-inner .wpsr-business-info-logo img {
    min-width:75px;
    height:auto;
    max-height:30px;
    margin-top:-5px;
}



/* REVIEW BOX STYLE CODE =============================================================== */

/* Hide elements not in target style */
.AA-reviews .wpsr-review-platform,
.AA-reviews .wpsr-reviewer-image,
.AA-reviews .wpsr-review-date {
  display: none !important;
}

/* Card */
.AA-reviews .wpsr-review-template {
  background: #f6f6f6 !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 36px 32px !important;
  box-shadow: none !important;
}

/* Review text */
.AA-reviews .wpsr-review-content p {
  font-style: italic !important;
  font-size: 16px !important;
  line-height: 1.78 !important;
  color: #747474 !important;
  margin-bottom: 0px !important;
    margin-top:15px !important;
}

/* Opening quote mark */
.AA-reviews .wpsr-review-content p::before {
  content: '\201C';
}

/* Closing quote mark */
.AA-reviews .wpsr-review-content p::after {
  content: '\201D';
}

/* Reviewer name */
.AA-reviews .wpsr-reviewer-name {
  font-family: 'Exo 2', sans-serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #1e1e1e !important;
  display: block !important;
  margin-bottom: 4px !important;
}

/* Source label replacing role */
.AA-reviews .wpsr-review-info {
  display: flex !important;
  flex-direction: column !important;
}

.AA-reviews .wpsr-reviewer-name-url {
  order: 1;
}

/* Google source label styled as orange eyebrow */
.AA-reviews .wpsr-review-template::after {
  content: 'Google Review';
  font-family: 'Exo 2', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #f47001;
  display: block;
  margin-top: 4px;
}

/* Move header below content */
.AA-reviews .wpsr-review-template {
  display: flex !important;
  flex-direction: column !important;
}

.AA-reviews .wpsr-rating-wrapper {
  order: 1;
}

.AA-reviews .wpsr-review-content {
  order: 2;
}

.AA-reviews .wpsr-review-header {
  order: 3;
}


/* Large 5.0 Rating in reviews area ================================================================= */
/* Hide everything except the number */
.AA-rating-badge .wpsr-business-info-logo,
.AA-rating-badge .wpsr-rating,
.AA-rating-badge .wpsr-total-reviews {
  display: none !important;
}

/* Remove badge default styling */
.AA-rating-badge .wpsr-reviews-badge-btn {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
}

.AA-rating-badge .wpsr-reviews-badge-wrapper-inner {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.AA-rating-badge .wpsr-rating-and-count {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Big orange number */
.AA-rating-badge .wpsr-total-rating {
  font-family: 'Exo 2', sans-serif !important;
  font-weight: 900 !important;
  font-style: italic !important;
  font-size: 72px !important;
  line-height: 1 !important;
  color: #f47001 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Google Rating label */
.AA-rating-badge .wpsr-rating-and-count::after {
  content: 'Google Rating';
  font-family: 'Exo 2', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1e1e1e;
  display: block;
  margin-top: 8px;
}

.AA-rating-badge .wpsr-total-rating {
  -webkit-text-stroke: 6px #fff;
  paint-order: stroke fill;
}



/* =============================================
   ADVANCED ASPHALT — AA
   Custom CSS v2
   ============================================= */

/* --- Diagonal speed-line pattern for dark sections --- */
.AA-pattern-diagonal {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cline x1='0' y1='60' x2='60' y2='0' stroke='%23f47001' stroke-width='0.6' stroke-opacity='0.09'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
  background-size: 60px 60px !important;
}

/* --- Dot grid pattern for off-white sections --- */
.AA-pattern-dots {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='14' cy='14' r='1.2' fill='%23c8c6c0'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
  background-size: 28px 28px !important;
}

/* --- Horizontal line pattern for charcoal sections --- */
.AA-pattern-lines {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='8'%3E%3Cline x1='0' y1='4' x2='80' y2='4' stroke='%23ffffff' stroke-width='0.5' stroke-opacity='0.05'/%3E%3C/svg%3E") !important;
  background-repeat: repeat !important;
}

/* --- Nav orange gradient accent line --- */
.fusion-header-wrapper::after {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, #d84900 0%, #f47001 60%, transparent 100%);
  position: relative;
  z-index: 999;
}

/* --- Service list row borders --- */
.AA-service-list .fusion-text {
  padding-bottom: 18px !important;
  margin-bottom: 0 !important;
}

.AA-service-list-top .fusion-text {
  padding-top: 18px !important;
}

/* --- Why Us pillar borders and orange accent --- */
.AA-pillar-col {
  position: relative;
  border-right: 1px solid #e0dfdb;
  border-top: 3px solid #f47001;
}

.AA-pillar-col:last-child {
  border-right: none;
}

/* --- Review card hover --- */
.AA-review-col .fusion-column-wrapper {
  transition: background 0.2s;
}

.AA-review-col .fusion-column-wrapper:hover {
  background: #f0ede8 !important;
}

.AA-area-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px;
}

.AA-area-cell {
  background: rgba(0,0,0,0.65);
  padding: 24px 28px;
}

.AA-area-city {
  font-family: 'Exo 2', sans-serif;
  font-weight: 700;
  font-size: 1em;
    line-height:1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #ffffff;
  display: block;
  margin-bottom: 0px;
}

.AA-area-state {
  font-size: 13px;
  color: #f47001;
  text-transform: uppercase;
  letter-spacing: 0.08em;
    font-weight:600;
}

@media (max-width: 799px) {
  .AA-area-grid { grid-template-columns: 1fr; }
}
}

@media (min-width: 1025px) {
.push-right  div {
    text-align:right !important;
}
.push-left div {
  text-align:left !important;
}
}

.push-right-more  div {
    text-align:right !important;
}
.push-left-more div {
  text-align:left !important;
}

/* MIN BUTTON */
@media only screen and (min-width: 400px) {.min-300 {min-width: 335px;}}

/* TEXT */
.white-text, .white-text h1, .white-text h2, .white-text h3, .white-text h4, .white-text h5, .white-text h6 {color: #ffffff !important;}

/* TITLE BAR */
.fusion-page-title-bar {background-size: cover !important;}


/* MENU */
.fusion-mobile-nav-item {margin-bottom: 10px;}


/* FOOTER  */
.fusion-footer-widget-area {background-size: cover !important;}	
.fusion-footer .fusion-text p {margin-top: 0px; margin-bottom: 15px;}

/* FIX TOP HEADER BAR */
@media only screen and (max-width: 1024px) {.fusion-contact-info {padding: 10px 30px 10px 30px !important;} .fusion-social-links-header {display: none;}}
@media only screen and (max-width: 800px) {.fusion-contact-info {padding-left: 3px !important; padding-right: 3px !important;} .fusion-header-separator, .header-email {display:none;}}
@media only screen and (max-width: 350px) {.fusion-contact-info {display:none;}}


/* GFORMS */
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label {font-size: 18px;}
.gform_wrapper .top_label .gfield_label {}
.gform_wrapper .gfield_required {font-size: inherit;}
h2.gsection_title, h3.gsection_title {font-size: 1.4em !important;}
.gform_wrapper .gfield select {font-size: inherit !important;}
.gform_wrapper .gform_button, .gform_wrapper .gform_page_footer input[type=button] {padding: 13px 25px !important; line-height: 1.1em !important; font-size: 1.5em !important; min-width: 100%;}
.gform_next_button, .gform_prev_button {-moz-appearance: none; -webkit-appearance: none;}
.partial_entry_warning, .gform_required_legend {display: none;}
.gfield_label {font-family: inherit; font-weight: 500 !important;}
body .gform_wrapper .gform_heading .gform_description {font-weight: 500; text-align: center;}

/* GFORM ERRORS */
body .gform_wrapper .gfield_error, body .gform_wrapper .validation_error, .gform_wrapper .gform_validation_errors {color: #e50f2b; background-color: transparent !important; border: 0px !important; margin-bottom: 0px !important; padding: 0px !important; box-shadow: none !important;}
.gform_wrapper .gfield_error .gfield_label, .gform_wrapper .validation_message {color: #e50f2b !important; background: transparent !important; border: 0px !important; padding-top: 5px !important;}
.gfield_error select, .gfield_error input, .gfield_error textarea {border: 1px solid #e50f2b !important;}
.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {border: 1px solid #ccc;}
.gform_legacy_markup_wrapper.gf_browser_chrome .gfield_error .ginput_complex.ginput_container.has_first_name.has_middle_name.has_last_name span.name_last, .gform_legacy_markup_wrapper.gf_browser_chrome .gfield_error .ginput_complex.ginput_container.has_first_name.has_middle_name.has_last_name span.name_middle {margin-left: 0px !important;}
.gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_legacy_markup_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {margin-top: 0px !important;}
.gform_legacy_markup_wrapper li.gfield.gfield_error table.gfield_list thead th {color: #e50f2b !important;}

/* STYLE POWERED BY RI */

#ri img {-webkit-filter: grayscale(100%); filter: grayscale(100%);-webkit-transition: .3s ease-in-out; transition: .3s ease-in-out; vertical-align: middle; margin: auto;}
#ri img:hover {-webkit-filter: grayscale(0); filter: grayscale(0);}
#ri {margin-top: 3px;}
#footer-copyright {line-height: 40px !important;}
@media only screen and (max-width: 500px){#footer {min-height: 130px}}
@media only screen and (min-width: 1024px){#footer-copyright {float: left;} #ri {float: right;}}
@media only screen and (max-width: 1024px) {#ri img {margin-top: 10px}}
@media only screen and (min-width: 1024px){.fusion-copyright-content {width: 80%; margin: auto;}}