/* =========================================================
   RESET
========================================================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
}


/* =========================================================
   ROOF BANNER
========================================================= */

.roof-banner {
    position: relative;
    width: 100%;
    min-height: 414px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    isolation: isolate;
}

#bgheroservices{
    background-image: url("/assets/imgs/heros/heroservices.png");
}

#bgherocontact{
    background-image: url("/assets/imgs/heros/herocontact.png");
}

#bgheroprojects{
    background-image: url("/assets/imgs/heros/heroprojects.png");
}

#bgherobout{
    background-image: url("/assets/imgs/heros/heroabout.png");
}

/* =========================================================
   DARK OVERLAY
========================================================= */

.roof-banner-overlay {
    position: absolute;
    inset: 0;

    z-index: -1;

    background: rgba(0, 0, 0, 0.699);
}


/* =========================================================
   BOOTSTRAP CONTAINER
========================================================= */

.roof-banner-container {
    position: relative;
    z-index: 5;

    min-height: 414px;

    display: flex;
    align-items: center;
}


/* =========================================================
   CONTENT
========================================================= */

.roof-banner-content {
    position: relative;

    padding-top: 5px;
}


/* =========================================================
   TITLE
========================================================= */

.roof-banner-title {
    margin: 0;

    color: #ffffff;

    font-size: 54px;
    font-weight: 700;
    line-height: 1.1;

    letter-spacing: -1px;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.roof-breadcrumb {
    margin-top: 12px;
}

.roof-breadcrumb-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    list-style: none;

    margin: 0;
    padding: 0;

    font-size: 16px;
    font-weight: 600;
}


/* Home */

.roof-breadcrumb-item a {
    color: #ffffff;

    text-decoration: none;

    transition: color 0.25s ease;
}

.roof-breadcrumb-item a:hover {
    color: #ff1d2d;
}


/* Separator */

.roof-breadcrumb-separator {
    margin: 0 9px;

    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
}


/* Current page */

.roof-breadcrumb-current {
    color: #ff1d2d;
}


/* =========================================================
   DECORATIVE RED SHAPES
========================================================= */

.roof-decoration {
    position: absolute;

    border: 2px solid #ff1528;

    border-radius: 50px;

    pointer-events: none;

    z-index: 2;
}


/* Small horizontal shape */

.roof-decoration-one {
    width: 116px;
    height: 27px;

    top: 175px;
    left: 42.4%;
}


/* Large upper shape */

.roof-decoration-two {
    width: 248px;
    height: 57px;

    top: 144px;
    left: 51.2%;
}


/* Large lower shape */

.roof-decoration-three {
    width: 248px;
    height: 57px;

    top: 219px;
    left: 40.8%;
}


/* =========================================================
   RESPONSIVE - LARGE DESKTOP
========================================================= */

@media (min-width: 1400px) {

    .roof-banner {
        min-height: 414px;
    }

    .roof-banner-container {
        min-height: 414px;
    }

    .roof-banner-title {
        font-size: 56px;
    }

}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 991.98px) {

    .roof-banner {
        min-height: 380px;

        background-position: center center;
    }

    .roof-banner-container {
        min-height: 380px;
    }

    .roof-banner-content {
        padding-left: 15px;
    }

    .roof-banner-title {
        font-size: 46px;
    }


    /* Decorative elements */

    .roof-decoration-one {
        top: 155px;
        left: 55%;
    }

    .roof-decoration-two {
        top: 125px;
        left: 65%;
    }

    .roof-decoration-three {
        top: 205px;
        left: 55%;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .roof-banner {
        min-height: 330px;

        background-position: 65% center;
    }

    .roof-banner-container {
        min-height: 330px;
    }

    .roof-banner-content {
        padding-left: 5px;
    }

    .roof-banner-title {
        font-size: 40px;
        letter-spacing: -0.5px;
    }

    .roof-breadcrumb {
        margin-top: 10px;
    }

    .roof-breadcrumb-list {
        font-size: 14px;
    }


    /* Decorative shapes */

    .roof-decoration-one {
        width: 85px;
        height: 23px;

        top: 130px;
        left: 57%;
    }

    .roof-decoration-two {
        width: 170px;
        height: 45px;

        top: 105px;
        left: 68%;
    }

    .roof-decoration-three {
        width: 175px;
        height: 45px;

        top: 170px;
        left: 53%;
    }

}


/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .roof-banner {
        min-height: 280px;

        background-position: 67% center;
    }

    .roof-banner-container {
        min-height: 280px;
    }

    .roof-banner-title {
        font-size: 34px;
    }

    .roof-breadcrumb-list {
        font-size: 13px;
    }

    .roof-breadcrumb-separator {
        margin: 0 6px;
    }


    .roof-decoration-one {
        width: 65px;
        height: 19px;

        top: 112px;
        left: 58%;
    }

    .roof-decoration-two {
        width: 130px;
        height: 37px;

        top: 90px;
        left: 68%;
    }

    .roof-decoration-three {
        width: 135px;
        height: 37px;

        top: 145px;
        left: 51%;
    }

}