.elementor-277 .elementor-element.elementor-element-f2a592c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-a0515a0 */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Roboto:wght@400;500&display=swap');

:root {
    --rs-sky-blue: #2980b9;
    --rs-accent-blue: #e3f2fd;
    --rs-text-light: #ffffff;
    --rs-text-dark: #34495e;
    --rs-border-color: #d6eaf8;
    --rs-hero-font: 'Montserrat', sans-serif;
    --rs-body-font: 'Roboto', sans-serif;
    
    /* New color variable for 2-color headings */
    --rs-red-custom: #ff3333; 
}

/* GLOBAL */
.roadmax-sustainability-wrapper {
    font-family: var(--rs-body-font);
    color: var(--rs-text-dark);
    line-height: 1.8;
    background-color: var(--rs-accent-blue);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* HERO SECTION */
.rs-hero {
    position: relative;
    width: 100%;
    height: 60vh;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: flex;
    align-items: center;
}

.rs-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Background darkened slightly to make text stand out */
    z-index: 1;
}

.rs-hero-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    color: var(--rs-text-light);
}

.rs-top-label {
    font-size: 14px;
    color: #ffffff;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: 700;
}

/* HERO H1 - HALF RED & HALF WHITE */
.rs-hero-content h1 {
    font-family: var(--rs-hero-font);
    font-size: 52px;
    margin: 0;
    font-weight: bold !important;
    color: var(--rs-red-custom) !important; /* First part Red */
}

.rs-hero-content h1 span {
    display: block;
    font-weight: bold !important;
    color: var(--rs-text-light) !important; /* Second part White */
}

/* MAIN CONTENT */
.rs-container {
    max-width: 1050px;
    margin: 0 auto;
    padding: 80px 20px;
}

.rs-section-label {
    color: var(--rs-sky-blue);
    margin-bottom: 40px;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 16px;
}

/* CONTENT BLOCK */
.rs-block {
    background-color: #ffffff; /* Background darkened to make white text easier to read */
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: box-shadow 0.3s ease;
}

.rs-block:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}

/* BLOCK H2 - HALF RED & HALF WHITE */
.rs-block h2 {
    font-family: var(--rs-hero-font);
    font-size: 28px;
    margin: 0 0 10px 0;
    font-weight: bold !important;
    color: var(--rs-red-custom) !important; /* First part Red */
}

.rs-block h2 span {
    color: var(--rs-text-light) !important; /* Second part White */
}

/* Legacy rules for hiding numbers or icons */
.rs-block h2 span.rs-block-number {
    display: none;
}

.rs-block h2 span.rs-block-icon {
    font-size: 32px;
    color: var(--rs-red-custom) !important;
    margin-right: 15px;
}

.rs-block p {
    font-size: 16px;
    color: #000000 /* Paragraph text set to white/off-white */
    margin-bottom: 20px;
}

/* FEATURE LIST */
.rs-feature-list li {
    font-size: 16px;
    color: #000000;
}

.rs-feature-list li div.rs-list-icon {
    display: none;
}

.rs-feature-list li div.rs-list-item-icon {
    font-size: 18px;
    color: var(--rs-red-custom);
    margin-right: 10px;
    display: none;
}

/* FOOTER */
.rs-footer {
    height: 50vh;
    position: relative;
    display: flex;
    align-items: center;
    color: var(--rs-text-light);
    overflow: hidden;
}

.rs-footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.rs-footer-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1;
}

.rs-footer-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

.rs-footer-content blockquote {
    font-size: 28px;
    color: var(--rs-text-light);
    margin: 0 0 10px 0;
    font-family: var(--rs-hero-font);
}

/* RESPONSIVE */
@media(max-width:768px){
    .rs-hero-content h1 { font-size: 40px; }
    .rs-block { padding: 30px; }
}/* End custom CSS */