.elementor-917 .elementor-element.elementor-element-20ce17c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-917 .elementor-element.elementor-element-fc98bc2{width:100%;max-width:100%;}.elementor-917 .elementor-element.elementor-element-c9b55c4{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-917 .elementor-element.elementor-element-6023e2e{padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-6023e2e *//* =========================================================
   IO SYSTEMS - SOLUTIONS
   ========================================================= */

.io-solutions {
    padding: 90px 6% 100px;
    background: #f5f5f5;
}

.io-solutions-head {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.io-section-kicker {
    display: block;
    margin-bottom: 13px;

    color: #ed1c24;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.io-solutions-head h2 {
    margin: 0 0 18px !important;

    color: #242424 !important;

    font-size: clamp(38px, 4vw, 54px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;

    letter-spacing: -1.5px;
}

.io-solutions-head p {
    margin: 0 !important;

    color: #6d6d6d !important;

    font-size: 17px !important;
    line-height: 1.65 !important;
}


/* GRID */

.io-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    max-width: 1320px;
    margin: 0 auto;

    gap: 24px;
}


/* CARD */

.io-solution-card {
    display: flex;
    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e8e8e8;
    border-radius: 6px;

    text-decoration: none !important;

    box-shadow: 0 6px 20px rgba(0,0,0,.04);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.io-solution-card:hover {
    transform: translateY(-5px);

    border-color: rgba(237,28,36,.35);

    box-shadow: 0 18px 45px rgba(0,0,0,.10);
}


/* IMAGE */

.io-solution-image {
    height: 270px;

    overflow: hidden;

    background: #111820;
}

.io-solution-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform .45s ease;
}

.io-solution-card:hover .io-solution-image img {
    transform: scale(1.04);
}


/* CONTENT */

.io-solution-content {
    display: flex;
    flex: 1;
    flex-direction: column;

    padding: 28px 28px 30px;
}

.io-solution-content h3 {
    margin: 0 0 12px !important;

    color: #242424 !important;

    font-size: 25px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;

    letter-spacing: -.4px;
}

.io-solution-content p {
    margin: 0 0 25px !important;

    color: #707070 !important;

    font-size: 15px !important;
    line-height: 1.6 !important;
}

.io-solution-link {
    margin-top: auto;

    color: #ed1c24 !important;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.io-solution-card:hover .io-solution-link {
    color: #c9151c !important;
}


/* TABLET */

@media (max-width: 1000px) {

    .io-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .io-solutions {
        padding: 65px 20px 70px;
    }

    .io-solutions-head {
        margin-bottom: 34px;
        text-align: left;
    }

    .io-solutions-head h2 {
        font-size: 38px !important;
    }

    .io-solutions-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .io-solution-image {
        height: 225px;
    }

    .io-solution-content {
        padding: 24px;
    }

}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   IO SYSTEMS HERO TYPOGRAPHY
   ========================================================= */

.io-hero-copy {
    position: relative;
    z-index: 5;

    width: 100%;
    max-width: 760px;
}


/* Eyebrow */

.io-hero-eyebrow {
    margin: 0 0 20px;

    color: #ed1c24;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: 2px;
    text-transform: uppercase;
}


/* Main heading */

.io-hero-title {
    max-width: 760px;

    margin: 0 0 25px !important;

    color: #ffffff !important;

    font-size: clamp(48px, 4.8vw, 72px) !important;
    font-weight: 700 !important;
    line-height: 1.02 !important;

    letter-spacing: -2.5px !important;
}


/* Red highlighted line */

.io-hero-title span {
    display: block;

    color: #ed1c24 !important;
}


/* Supporting copy */

.io-hero-text {
    max-width: 610px;

    margin: 0 0 32px !important;

    color: rgba(255,255,255,.84) !important;

    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}


/* Buttons */

.io-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}


.io-hero-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 52px;

    padding: 14px 24px;

    border-radius: 4px;

    font-size: 15px;
    font-weight: 700;
    line-height: 1;

    text-decoration: none !important;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .2s ease;
}


/* Primary */

.io-hero-btn--primary {
    border: 2px solid #ed1c24;

    background: #ed1c24;

    color: #ffffff !important;
}


.io-hero-btn--primary:hover {
    border-color: #c9151c;

    background: #c9151c;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* Secondary */

.io-hero-btn--secondary {
    border: 2px solid rgba(255,255,255,.7);

    background: rgba(0,0,0,.12);

    color: #ffffff !important;
}


.io-hero-btn--secondary:hover {
    border-color: #ffffff;

    background: #ffffff;

    color: #202020 !important;

    transform: translateY(-2px);
}


/* Tablet */

@media (max-width: 1024px) {

    .io-hero-copy {
        max-width: 620px;
    }

    .io-hero-title {
        font-size: 54px !important;
    }

}


/* Mobile */

@media (max-width: 767px) {

    .io-hero-eyebrow {
        margin-bottom: 14px;

        font-size: 11px;
        letter-spacing: 1.4px;
    }


    .io-hero-title {
        margin-bottom: 20px !important;

        font-size: 40px !important;
        line-height: 1.06 !important;
        letter-spacing: -1.5px !important;
    }


    .io-hero-text {
        margin-bottom: 25px !important;

        font-size: 16px !important;
        line-height: 1.6 !important;
    }


    .io-hero-actions {
        flex-direction: column;

        align-items: flex-start;
    }


    .io-hero-btn {
        width: 100%;

        max-width: 320px;
    }

}/* End custom CSS */