:root {
    --ss-color-26559: #B61622;
    --ss-color-26561: #000000;
    --ss-color-26562: #FFFFFF;
    --ss-color-26559-dark: #9d0009;
    --ss-color-26561-dark: #000000;
    --ss-color-26562-dark: #e6e6e6;
}


:root {
  --ss-title-font-family: 'Montserrat', sans-serif;
  --ss-paragraph-font-family: 'Montserrat', sans-serif;
  --ss-navigation-font-family: 'Montserrat', sans-serif;
  --ss-navigation-font-size: 17px;
}


.site-button {

    border-style: none;

  border-radius: 0px;

    box-shadow: 0px 4px 12px 1.28px rgba(0, 0, 0, 0.3);

}


body {
  background-color: #f0f0f0;
}

body:before {
    background-image: url(https://d14tal8bchn59o.cloudfront.net/UZj5fyswz9KLpEPUf7Y_Gu91H4y4ikZfoKN-oEAnqKY/w:1920/plain/https://02f0a56ef46d93f03c90-22ac5f107621879d5667e0d7ed595bdb.ssl.cf2.rackcdn.com/sites/82666/photos/21004850/asphalt-57e9d04648_1920_original20191015-20824-z96fm5_original.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Universal Typography & Text Sizing Fixes */
body, p, li, blockquote {
  font-family: 'Montserrat', sans-serif !important;
}

.copy .description,
.copy .description h1,
.copy .description h2,
.copy .description h3,
.copy .description p,
.copy .description span,
.post-body .description,
.post-body .description h1,
.post-body .description h2,
.post-body .description h3,
.post-body .description p,
.post-body .description span,
.wysiwyg-text p,
.wysiwyg-text span,
.font-size-m {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.15rem !important;
  line-height: 1.65 !important;
  color: #333333 !important;
  font-weight: 400 !important;
}

/* Ensure Headings inside .post--title are prominently sized */
.post--title h1,
.post--title h2,
.post--title h3,
.post--title .font-size-s,
.post--title .font-size-m,
.post--title .font-size-l {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.85rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.post--title h1 span,
.post--title h2 span,
.post--title h3 span {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Fix Hero & Banner Titles & Force Pure White Color */
.post-hero_image .post--title h1,
.post-hero_image .post--title h2,
.post-hero_image .post--title h3,
.post-hero_image .post--title .font-size-s,
.post-hero_image .post--title .font-size-m,
.post-hero_image .post--title .font-size-l,
.post-hero_image .post--title span,
.post-hero_image .post--title strong,
.post-hero_image .post--title * {
  font-size: 2.5rem !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85) !important;
}

/* Force Pure White Text for Bottom Call-to-Action Banners ("GET A FREE QUOTE", "Contact us today...") */
.post-hero_image .description,
.post-hero_image .description *,
.post-hero_image .description span,
.post-hero_image .description div {
  color: #ffffff !important;
  font-size: 1.15rem !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85) !important;
}

/* Force white text on OUR SERVICES section title */
#post_10458527 .post--title h2,
#post_10458527 .post--title span,
#post_10458527 .post--title strong {
  color: #ffffff !important;
}

/* Force Pure White Text on Red Backdrop Sections (e.g. GET A FREE QUOTE in contact.html) */
#post_10819135,
#post_10819135 .post--title,
#post_10819135 .post--title h2,
#post_10819135 .post--title span,
#post_10819135 .post--title strong,
#post_10819135 .description,
#post_10819135 .description *,
#post_10819135 .description span,
#post_10819135 .description div,
#post_10819135 .font-size-s,
#post_10819135 .font-size-m,
#post_10819135 .font-size-l {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
}

:root {
  --ss-footer-social-icon-background-color: transparent !important;
  --ss-footer-social-icon-color: #000000 !important;
}

.social-icons {
  margin-top: 24px !important;
  margin-bottom: 12px !important;
  clear: both !important;
}

.footer-container .social-icons__networks,
.social-icons__networks {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-container .social-icons__networks a,
.social-icons__networks a {
  background: none !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: transform 0.2s ease !important;
}

.footer-container .social-icons__networks a::before,
.footer-container .social-icons__networks a::after,
.social-icons__networks a::before,
.social-icons__networks a::after {
  display: none !important;
  content: none !important;
}

.footer-container .social-icons__networks a:hover,
.social-icons__networks a:hover {
  background: none !important;
  background-color: transparent !important;
  transform: translateY(-2px) !important;
}

.footer-container .social-icons__networks a svg,
.social-icons__networks a svg {
  width: 24px !important;
  height: 24px !important;
  display: block !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  fill: #000000 !important;
  color: #000000 !important;
}

.footer-container .social-icons__networks a svg path,
.social-icons__networks a svg path {
  fill: #000000 !important;
}

.footer-container .social-icons__networks a:hover svg,
.social-icons__networks a:hover svg,
.footer-container .social-icons__networks a:hover svg path,
.social-icons__networks a:hover svg path {
  fill: #B61622 !important;
  color: #B61622 !important;
}

.recommendation__rating,
.given-rating {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
}

/* Modern Testimonials Section */
.post-testimonial {
  padding: 70px 20px !important;
  background-color: #f8fafc !important;
}

.post-testimonial .post--title h2 {
  font-family: 'Montserrat', sans-serif !important;
  letter-spacing: 2px !important;
  margin-bottom: 4px !important;
}

.post-testimonial .title-divider {
  width: 50px !important;
  height: 4px !important;
  background-color: #B61622 !important;
  margin: 10px auto 16px auto !important;
  border-radius: 2px !important;
}

.post-testimonial .description {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  color: #4a5568 !important;
  margin-bottom: 24px !important;
}

.post-testimonial .recommendations {
  max-width: 860px !important;
  margin: 0 auto !important;
}

.post-testimonial .recommendation__content {
  background: #ffffff !important;
  border-radius: 16px !important;
  padding: 42px 36px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06) !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  text-align: center !important;
  margin: 10px auto 30px auto !important;
  max-width: 780px !important;
  position: relative !important;
}

.testimonial-quote-icon {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
}

/* Footer Location Icons (Red Phone & Red Calendar) */
.location__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #B61622 !important;
  fill: #B61622 !important;
  margin-right: 8px !important;
}

.location__icon svg,
.location__icon i {
  color: #B61622 !important;
  fill: #B61622 !important;
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
}

.location__icon svg path {
  fill: #B61622 !important;
}

.post-testimonial blockquote {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

.post-testimonial blockquote .font-size-m,
.post-testimonial blockquote div span {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
  color: #2d3748 !important;
  font-weight: 400 !important;
  display: block !important;
}

.post-testimonial .source {
  margin-top: 24px !important;
  padding-top: 16px !important;
  border-top: 1px solid #edf2f7 !important;
  display: inline-block !important;
  width: 100% !important;
}

.post-testimonial .source strong {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #B61622 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
}

/* Screenshot Example-Inspired Clean & Simple Testimonials */
.post-testimonial,
#post_10311874 {
  background-color: #ffffff !important;
  background-image: none !important;
  background: #ffffff !important;
  padding: 70px 24px 80px 24px !important;
  text-align: center !important;
  border-top: 1px solid #edf2f7 !important;
  border-bottom: 1px solid #edf2f7 !important;
}

.post-testimonial .post-body,
#post_10311874 .post-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.example-header {
  text-align: center !important;
  margin-bottom: 32px !important;
}

.example-title {
  font-family: 'Oswald', 'Montserrat', sans-serif !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  color: #B61622 !important;
  margin: 0 0 14px 0 !important;
  text-transform: uppercase !important;
}

.example-divider {
  width: 46px !important;
  height: 3px !important;
  background-color: #B61622 !important;
  margin: 0 auto 18px auto !important;
  border-radius: 2px !important;
}

.example-subtitle {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.05rem !important;
  color: #64748b !important; /* Darker gray for white background */
  margin: 0 !important;
}

/* Clean Unboxed Quote Block */
.example-quote-block {
  max-width: 780px !important;
  margin: 0 auto !important;
  text-align: center !important;
  padding: 0 20px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.example-stars {
  color: #f59e0b !important;
  font-size: 1.35rem !important;
  letter-spacing: 5px !important;
  margin-bottom: 22px !important;
  text-align: center !important;
}

.example-text {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.08rem !important;
  line-height: 1.8 !important;
  color: #334155 !important; /* Dark text for readability on white */
  font-weight: 400 !important;
  margin: 0 0 24px 0 !important;
  text-align: center !important;
}

.example-author {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #B61622 !important; /* Red author name for contrast on white */
  text-align: center !important;
}

/* NO BUTTONS */
.post-testimonial .slideshow-control-prev,
.post-testimonial .slideshow-control-next {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Swiper Slider Smooth Fade Transitions */
.post-testimonial .swiper {
  position: relative !important;
  overflow: hidden !important;
}

.post-testimonial .swiper-slide {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease-in-out !important;
}

.post-testimonial .swiper-slide-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Darken Gravel Background for Review QR Section */
#post_10408455 {
  background: linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)) !important;
  --ss-post-background-color: transparent !important;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
  position: relative !important;
}

#post_10408455 .post--title h2 span,
#post_10408455 .post--title h2 strong span {
  color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7) !important;
}

#post_10408455 .photo--inner-wrapper img {
  border: 4px solid #ffffff !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4) !important;
}

/* Fix CTA Buttons (Overriding inline styles) */
a.site-button[href="contact.html"],
.specialties-btn {
    --ss-site-button-background-color: #B61622 !important;
    --ss-site-button-text-color: #ffffff !important;
    background-color: #B61622 !important;
    color: #ffffff !important;
}

a.site-button[href="contact.html"]:hover,
.specialties-btn:hover {
    background-color: #9d0009 !important; /* Darker red on hover */
}

/* Force dark asphalt background on Bottom CTA Sections to make white text readable */
#post_10311889, /* paving */
#post_10312091, /* about us */
#post_10311886, /* sealcoating (not found in grep, maybe 10312033?) */
#post_10312033, /* sealcoating */
#post_10311893, /* our work */
#post_10819135  /* contact */ {
    background-color: #0f1217 !important;
    background-image: linear-gradient(180deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.85) 100%), url('https://02f0a56ef46d93f03c90-22ac5f107621879d5667e0d7ed595bdb.ssl.cf2.rackcdn.com/sites/82666/photos/21004850/asphalt-57e9d04648_1920_original20191015-20824-z96fm5_original.jpg') !important;
    background-position: center !important;
    background-size: cover !important;
}

/* Custom Contact Form Styles */
.custom-contact-form {
    max-width: 700px;
    margin: 0 auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
}
.custom-contact-form .form-title {
    text-align: center;
    font-family: 'Oswald', sans-serif;
    color: #B61622;
    font-size: 2rem;
    margin-bottom: 30px;
    text-transform: uppercase;
}
.custom-contact-form .form-row {
    display: flex;
    gap: 20px;
}
.custom-contact-form .form-group {
    margin-bottom: 20px;
    flex: 1;
}
.custom-contact-form label {
    display: block;
    margin-bottom: 8px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    color: #334155;
    font-size: 0.95rem;
}
.custom-contact-form .required {
    color: #B61622;
}
.custom-contact-form input[type="text"],
.custom-contact-form input[type="email"],
.custom-contact-form input[type="tel"],
.custom-contact-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    background: #f8fafc;
    font-family: 'Open Sans', sans-serif;
    font-size: 1rem;
    color: #1e293b;
    box-sizing: border-box;
    transition: all 0.2s ease;
}
.custom-contact-form input:focus,
.custom-contact-form textarea:focus {
    border-color: #B61622;
    outline: none;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(182, 22, 34, 0.1);
}
.custom-contact-form .file-upload-wrapper {
    padding: 10px 0;
}
.custom-contact-form .file-upload-info {
    display: block;
    font-size: 0.85rem;
    color: #64748b;
    margin-top: 5px;
}
.custom-contact-form .form-actions {
    text-align: center;
    margin-top: 30px;
}
@media (max-width: 600px) {
    .custom-contact-form .form-row {
        flex-direction: column;
        gap: 0;
    }
    .custom-contact-form {
        padding: 25px 15px;
    }
}
/* Contact Form File Upload Drag and Drop */
.jfUpload-wrapper { position: relative !important; display: block !important; }
.jfUpload-button {
    display: flex !important; 
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px dashed #b5bcc7 !important;
    border-radius: 6px !important;
    padding: 40px !important;
    background: #f8f9fc !important;
    color: #555 !important;
    font-weight: bold !important;
    cursor: pointer !important;
    text-align: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.jfUpload-files-container, .validate\[multipleUpload\] {
    position: static !important;
}
.jfUpload-files-container input[type="file"] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
    z-index: 9999 !important;
    display: block !important;
}
.jfUpload-button:hover { background: #f1f3f7 !important; border-color: #9aa3b3 !important; }
.custom-file-list {
    margin-top: 15px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.custom-file-box {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    padding: 12px 18px !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    color: #475569 !important;
    font-family: 'Montserrat', sans-serif !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04) !important;
    cursor: pointer !important;
    transition: all 0.2s ease-in-out !important;
    position: relative !important;
    overflow: hidden !important;
}
.custom-file-box::after {
    content: "CLICK TO DELETE FILE" !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: #ef4444 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    font-size: 1rem !important;
    opacity: 0 !important;
    transition: opacity 0.2s ease-in-out !important;
    pointer-events: none !important;
}
.custom-file-box:hover {
    border-color: #ef4444 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(239,68,68,0.2) !important;
}
.custom-file-box:hover::after {
    opacity: 1 !important;
}
.custom-file-box .file-name {
    word-break: break-all !important;
    pointer-events: none !important;
}
.custom-file-box .file-remove {
    color: #cbd5e1 !important;
    font-weight: bold !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    margin-left: 15px !important;
    pointer-events: none !important;
}
