.navbar {
    --bs-navbar-toggler-icon-bg:url('../images/hamburger.svg');
}
.navbar-toggler {
    border:none;
    border-radius:0;
    padding: 0.25rem;
}
.site-logo {
    width:calc(100% - 20px);
    height:auto;
}
.main-nav {
    width:100%;
}
.nav-link {
    font-weight:400;
    color:var(--bs-blue)
}

.top-nav .nav-item {
    margin: 0 0.5rem;
}

.main-nav .nav-item {
    margin: 0.25rem 0.5rem;
    text-transform: uppercase;
}

@media screen and (max-width: 991px) {
    #MainNavbar.navbar-collapse {
        position:absolute;
        z-index:999;
        width:100%;
        left:0;
        background:var(--nzbarGrey);
    }
    #MainNavbar.navbar-collapse > div > .main-nav {
        background:white;
        width:100%;
    }
    #MainNavbar.navbar-collapse > div > .top-nav {
        order:4;
        background-color:var(--nzbarGrey);
        width:100%;
    }
    .navbar-nav.search-and-login,
    .navbar-nav.join-us-button {
        flex-direction:row;
        padding: 0.5rem
    }
}

.banner {
    min-height: 250px;
    position:relative;
    display:flex;
    align-items:center;
    background-image: url('../images/supremecourt.jpg');
    background-size:cover;
    background-position: 50% 50%;
    overflow:hidden;
}

.banner::before {
    content:'';
    position:absolute;
    background-color: white;
    opacity: 0.8;
    width: 200vw;
    bottom: -0;
    left: -80vw;
    height: 200vw;
    transform: rotate(60deg);
}
.banner>* {
    position:relative;
}

.banner .page-banner-heading {
    width:48%;
    height:100%;
    /*display:flex;*/
    /*align-items:center;*/
}

.banner .page-banner-heading > h1 {
    font-size: 2.8rem;
    color:var(--nzbar);
    font-weight: 400
}

.banner .banner-badge {
    position: absolute;
    width: 280px;
    height: 80px;
    padding-left:0.25rem;
    top: 0;
    left: 0;
    clip-path: polygon(0px 0%, 100% 0px, 50% 100%);
    background-color: var(--nzbarlightBlue);
}
.banner .banner-badge > span {
    position: absolute;
    font-weight:500;
    top: 12px;
    text-align:center;
    text-transform: uppercase;
    color: white;
    width:100%;
}



/*carousel*/
.carousel-inner {
    height:600px;
}

.carousel-inner::before {
    content:'';
    background:white;
    opacity:0.8;
    clip-path: polygon(0 0, 86% 0, 17% 100%, 0 72%);
    width:1600px;
    height:600px;
    position:absolute;
    top:0;
    left:0;
    z-index:1;
}

.carousel-item {
    height:100%;
    background-image: url('../images/supremecourt.jpg');
    background-size:cover;
    background-position: 50% 50%;
    overflow:hidden;
}
.carousel-item .carousel-body {
    position:relative;
    z-index:2;
    width:400px;
    margin-top: 5.8rem;
}
.carousel-item .carousel-content {
    font-size: 1.2rem;
    margin-top: 2rem;
    color:var(--nzbar)
}

.carousel-item .carousel-cta,
.banner .banner-cta {
    font-size: 1.4rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 2.8rem;
}
.banner .banner-cta {
    margin-top: 1rem;
}
.carousel-item .carousel-cta > a,
.banner .banner-cta > a {
    color: var(--nzbar);
    text-decoration: none;
}
.carousel-item .carousel-cta > a::after,
.banner .banner-cta > a::after {
    content:'';
    display:inline-block;
    margin-left:0.5rem;
    /*margin-bottom:0.15rem;*/
    width:1rem;
    height:1rem;
    background-image:url('../images/dropdown-icon.svg');
    transform:rotate(-90deg);
    transition:all 0.2s;
}
.carousel-item .carousel-cta > a:hover::after,
.banner .banner-cta > a:hover::after {
    transform:rotate(-90deg) translateY(0.15rem);
}

.carousel-indicators [data-bs-target] {
    width:16px;
    height:16px;
    border-radius: 50%;
}

@media screen and (min-width: 768px) {
    .site-logo {
        width:auto;
        height:80px;
    }
}


@media screen and (max-width: 768px) {
    .banner .page-banner-heading {
        width: 80%;
    }
    .carousel-inner::before {
        left: -80px;
    }

}
@media screen and (max-width: 576px) {
    .carousel-inner::before {
        left: -120px;
    }
    .carousel-item .carousel-body {
        width:100%;
    }
}

@media screen and (min-width: 992px) {
    .banner .banner-badge {
        position: absolute;
        width: 100%;
        height: 100%;
        color: white;
        top: 0;
        left: 0;
        clip-path: polygon(0 0, 0% 100%, 4rem 50%);
        background-color: var(--nzbarlightBlue);
    }

    .banner .banner-badge > span {
        position: absolute;
        padding-left:0.25rem;
        writing-mode: sideways-lr;
        font-weight:500;
        top: 0;
        left:0;
        width:100%;
        height: 100%;
    }


}
