﻿.banner-full,
.banner-container {
    position: relative;
    /*min-height: 500px;*/
}








.banner-full {
    width: 100%;
    height: 500px;
    background-size: cover;
    background-position: center;
}
.banner-item-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.banner-half-content-detail,
.banner-bottom-strip {
    position: relative;
    z-index: 2;
}

.banner-bottom-strip {
    height: 80px;
    background-color: #FFB6C1;
    width: 100%;
    z-index: 0;
    /*position: absolute;
    bottom: 0;
    z-index: 500;
    height: 80px;*/ /* Adjust height as needed */
    /*background-color: #FFB6C1;*/ /* get hex color  */
    /*width: 100%;
    border-top: 4px dashed red;*/
}
/*.banner-half,
.banner-half-centre,
.banner-half-right {
    position: relative;
    z-index: 1;*/ /* lift above the strip */
/*}
.banner-half-content-detail,
.banner-full-content-detail {
    position: relative;
    z-index: 2;
}*/


.banner-full-content-detail {
    position: relative;
    -webkit-box-shadow: 0 0 20px 0 rgb(0 0 0 / 20%);
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 20%);
    padding: 80px;
    overflow: hidden;
    z-index: 30;
    margin-top: -100px;
    margin-bottom: 20px;
    background: #ffffff;
    border-radius: 20px;
}

    .banner-full-content-detail p:nth-child(1) {
        font-size: 26px;
        font-weight: bold;
        line-height: 2rem;
    }

    .banner-full-content-detail p {
        font-size: 20px;
    }

@media screen and (max-width: 767px) {
    .banner-half:before {
        display: none;
    }

    .banner-half-right:before {
        display: none;
    }

    .banner-half-content {
        position: relative;
        width: 100%;
        z-index: 5;
    }

    .banner-half-image img {
        opacity: .2;
    }

    .banner-half:after {
        display: none !important;
    }

    .banner-full-content-detail {
        padding: 40px;
        margin-top: -100px;
    }

        .banner-full-content-detail.banner-full-left,
        .banner-full-content-detail.banner-full-centre,
        .banner-full-content-detail.banner-full-right {
            margin-top: -200px;
        }
}

.banner {
    overflow: hidden;
    position: relative;
}


.banner-half, .banner-half-centre, .banner-half-right {
    display: grid;
    grid-auto-rows: minmax(100px, auto);
    grid-gap: 0;
    align-items: start;
    margin: 0px auto;
    padding: 0;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.banner-half {
    grid-template-columns: 1.2fr 1fr;
    background-color: #f6f6f6; /*background hex shade*/
    /*background-image: linear-gradient(45deg in oklab,#002856,#d60056);*/
}

.banner-half-centre {
    grid-template-columns: 1fr;
}


.banner-half-right {
    grid-template-columns: 1fr 1.2fr;
}

.banner-overlay .banner-half, .banner-half-centre, .banner-half-right {
    min-height: 500px;
}

/*.banner-half-bg {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 80px);*/ /* extend over bottom strip */
    /*z-index: 0;
    clip-path: none;*/ /* optional if you're not using shaped images */
/*}*/

.banner-half-bg {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 80px); /* extend over bottom strip */
    z-index: 40;
    /*height: 100%;
    margin: 0;
    padding: 0;*/
    clip-path: ellipse(330px 340px at 90% 20%);
    /*clip-path: polygon(10% 20%, 0 100%, 100% 100%, 100% 100%, 100% 25%, 60% 0%);
    clip-path: polygon(10% 15%, 0 100%, 100% 100%, 100% 100%, 100% 20%, 70% -20%);*/
}

@media screen and (max-width: 767px) {
    .banner-half-bg {
        clip-path: ellipse(330px 340px at 90% 20%);
        /*clip-path: polygon(59% 0, 100% 33%, 91% 83%, 41% 100%, 0 67%, 9% 18%);*/
    }
}

.banner-half-content-detail {
    align-self: center;
    padding: 0px 10% 10% 14%;
}

.banner-half-content-detail-centre {
    align-self: center;
    padding: 0 10% 10% 10%;
}

.alignCentre {
    text-align: center !important;
}

.alignRight {
    text-align: right !important;
}

.banner-full-width .banner-half-content-detail {
    padding: 7% 10% 10% 14%;
}

    .banner-half-content-detail h1, .banner-half-content-detail-centre h1 {
        color: var(--GC-Aspire);
        font-size: 40px;
        line-height: 1.5;
    }

    .banner-half-content-detail p, .banner-half-content-detail p {
        color: black;
        font-size: 20px;
        line-height: 28px;
        /*margin: 0 0 70px 0;*/
    }

    .banner-half-content-detail .btn-primary, .banner-half-content-detail-centre .btn-primary {
        background-color: var(--GC-White);
        border: 2px solid var(--GC-White);
        padding: 1rem 1.5rem;
        font-size: 1.2rem;
    }

    .banner-half-content-detail .btn-primary:hover, .banner-half-content-detail-centre .btn-primary:hover {
        color: var(--REP-Dark-Blue);
        background-color: var(--GC-White);
        border: 2px solid var(--GC-White);
    }

@media screen and (max-width: 1200px) {
    .banner-half-content-detail {
        padding: 15%;
    }
}

@media screen and (max-width: 991px) {
    .banner-half, .banner-half-right {
        grid-template-columns: 1fr;
        grid-gap: 0;
    }

    .banner-half-content-detail {
        grid-row: 1/3 !important;
    }

    .banner-half-bg {
        height: 400px;
    }

    .banner-half-bg {
        /*grid-row: 2/3 !important;*/
    }

    .banner-half-content-detail {
        padding: 10%;
    }

    .banner-full-content-detail p:nth-child(1) {
        font-size: 20px;
    }
}

@media screen and (max-width: 767px) {
    .banner-full-content h1, .banner-full-content h2, .banner-full-content h3 {
        font-size: 30px;
        margin-bottom: 5px;
    }

    .banner-half-content-detail h1, .banner-half-content-detail-centre h1 {
        font-size: 28px;
    }
}

.banner-container .progress {
    background-image: linear-gradient(to right, var(--GC-Aspire), var(--GC-Aspire));
}

.slick-dots {
    position: absolute;
    top: 340px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
}

@media screen and (max-width: 767px) {
    .slick-dots {
        top: 45px;
        left: 10%;
        transform: translateX(0%);
    }

    .banner-half-content-detail, .banner-half-content-detail-centre {
        padding-top: 15%;
    }

    .banner-half-content-detail-centre {
        align-self: start;
    }
}

.bannerSpacer {
    height: 150px;
}

.slick-dots li button:before {
   /* color: var(--GC-aspire) !important;*/
    color: red !important;
    font-size: 60px;
}

.slick-dots li.slick-active button:before {
    color: var(--GC-Aspire) !important;
}

    .slick-dotted.slick-slider {
        margin-bottom: 0;
    }

    .banner-full-content .banner-full-content-detail {
        margin-top: -200px;
    }

    .banner-content-navy .banner-full-content-detail {
        background: #001d45;
        color: #fff;
    }

        .banner-content-navy .banner-full-content-detail h1 {
            color: #fff;
        }


    .article-wrapper .banner-half {
        min-height: 300px;
    }

    .article-wrapper.event .banner-half {
        min-height: 200px;
    }

    .article-wrapper .banner-full-content .banner-full-content-detail {
        margin-top: -100px !important;
    }

    .article-wrapper .banner-bg-pink {
        background-color: var(--bgh-pink);
    }

    .article-wrapper .banner-bg-light-blue {
        background-color: var(--bgh-light-blue);
    }

    .article-wrapper .banner-bg-navy {
        background-color: var(--GC-Navy);
    }

    .article-wrapper .banner-bg-orange {
        background-color: var(--bgh-orange);
    }

    .article-wrapper .banner-bg-green {
        background-color: var(--bgh-green);
    }

    .article-wrapper .banner-bg-purple {
        background-color: var(--bgh-purple);
    }

    .article-wrapper .banner-bg-yellow {
        background-color: var(--bgh-yellow);
    }

    .article-wrapper .banner-bg-aspire {
    background-color: var(--GC-Aspire);
    }

    .article-wrapper .banner-full-content-detail {
        background-size: cover !important;
        background-position: top center !important;
        min-height: 350px !important;
    }

        .article-wrapper .banner-full-content-detail.tender-detail {
            min-height: unset !important;
            margin-top: -60px !important;
            padding: 40px;
        }

        .article-wrapper .banner-full-content-detail.event-detail {
            min-height: unset !important;
            margin-top: -60px !important;
            padding: 40px;
        }

    .article-wrapper .banner-half {
        grid-template-columns: 100% 0;
    }

    .article-wrapper .banner-half-content-detail {
        padding: 50px 0 50px 0;
    }

    .article-wrapper.event .banner-half-content-detail {
        padding: 50px 0 100px 0;
    }

    .map .banner-full-content-detail p:nth-child(1) {
        font-weight: unset;
    }

    .map .banner-full-content-detail a {
        text-decoration: underline;
        color: var(--GC-Navy);
    }

.bannerPaddingTop {
    padding: 3% 0 1% 0;
}

.bannerCarousel-container .progress {
    display: block !important;
}

.card-image.no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px; /* IMPORTANT: keeps layout identical */
    background: #f5f5f5;
    color: #777;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
}
/* Remove button focus ring / outline globally */
.btn:focus,
.btn:active,
.btn:focus:active,
.btn:focus-visible,
a.btn:focus,
a.btn:active,
button:focus,
button:active {
    outline: none !important;
    box-shadow: none !important;
}

/* Optional: remove inner focus in Firefox */
.btn::-moz-focus-inner {
    border: 0 !important;
}
.card-image {
    height: 220px;
    position: relative;
    overflow: hidden;
}

/* actual image layer */
.card-image-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* fallback text */
.no-image-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    color: #777;
    font-size: 24px;
    font-weight: 500;
}