/** banner-section **/

.banner-section {
    position: relative;
    overflow: hidden;
    background-color: #fff;
}

.banner-section .pattern-layer {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;

    object-fit: cover;
    background-position: bottom center;
}

.banner-carousel .slide-item {
    position: relative;
    padding: 280px 0px 255px 0px;
}

.banner-carousel .slide-item:before {
    position: absolute;
    content: '';
    background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 51.77%);
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    z-index: 1;
}

.banner-carousel .content-box {
    max-width: 550px;
 
}

.banner-carousel .slide-item .bg-layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;

    background-position: left center;

    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 8000ms linear;
    -moz-transition: all 8000ms linear;
    -ms-transition: all 8000ms linear;
    -o-transition: all 8000ms linear;
    transition: all 8000ms linear;
}

.banner-carousel .active .slide-item .bg-layer {
    -webkit-transform: scale(1.25);
    -ms-transform: scale(1.25);
    transform: scale(1.25);
}

.banner-carousel .content-box .sub-title {
    margin-bottom: 20px;
    opacity: 0;
    -webkit-transform: translateY(-50px);
    -moz-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    -o-transform: translateY(-50px);
    transform: translateY(-50px);
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 1000ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease;
}

.banner-carousel .active .content-box .sub-title {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1000ms;
    -moz-transition-delay: 1000ms;
    -ms-transition-delay: 1000ms;
    -o-transition-delay: 1000ms;
    transition-delay: 1000ms;
}

.banner-carousel .content-box h2 {
    font-size: 80px;
    line-height: 70px;
    font-weight: 600;
    margin-bottom: 20px;
    opacity: 0;
    -webkit-transform: translateY(50px);
    -moz-transform: translateY(50px);
    -ms-transform: translateY(50px);
    -o-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 1000ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease;
}

.banner-carousel .active .content-box h2 {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1000ms;
    -moz-transition-delay: 1000ms;
    -ms-transition-delay: 1000ms;
    -o-transition-delay: 1000ms;
    transition-delay: 1000ms;
}

.banner-carousel .content-box h2 span {
    display: block;
    font-size: 64px;
    font-weight: 400;
}

.banner-carousel .content-box p {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 40px;
    opacity: 0;
    -webkit-transform: translateY(50px);
    -moz-transform: translateY(50px);
    -ms-transform: translateY(50px);
    -o-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 1000ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease;
}

.banner-carousel .active .content-box p {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1200ms;
    -moz-transition-delay: 1200ms;
    -ms-transition-delay: 1200ms;
    -o-transition-delay: 1200ms;
    transition-delay: 1200ms;
}

.banner-carousel .content-box .btn-box {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -moz-transform: translateY(50px);
    -ms-transform: translateY(50px);
    -o-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 1000ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease;
}

.banner-carousel .active .content-box .btn-box {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 1400ms;
    -moz-transition-delay: 1400ms;
    -ms-transition-delay: 1400ms;
    -o-transition-delay: 1400ms;
    transition-delay: 1400ms;
}

.banner-section .slide-item .pattern-layer {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 476px;
    height: 100%;
    background-repeat: no-repeat;
    z-index: 1;
}


/** banner-style-two **/

.banner-style-two {
    position: relative;
    padding: 280px 0px 245px 0px;
}

.banner-style-two .bg-layer {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.banner-style-two .bg-layer:before {
    position: absolute;
    content: '';
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #000000 0%, rgba(0, 0, 0, 0) 51.77%);
}

.banner-style-two .bg-color {
    position: absolute;
    left: 0px;
    top: 0px;
    width: calc(50% - 235px);
    height: 100%;
    background: var(--secondary-color);
}

.banner-style-two .content-box {
    position: relative;
    display: block;
    max-width: 600px;
}

.banner-style-two .content-box h2 {
    font-size: 80px;
    line-height: 80px;
    color: #fff;
    margin-bottom: 20px;
}

.banner-style-two .content-box h2 span {
    display: block;
    font-size: 64px;
    font-weight: 400;
}

.banner-style-two .content-box p {
    font-size: 20px;
    line-height: 32px;
    color: #fff;
    margin-bottom: 40px;
}

.banner-style-two .pattern-layer {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 449px;
    height: 795px;
    background-repeat: no-repeat;
}

.banner-style-two .content-box .theme-btn:hover {}

.banner-style-two .content-box .theme-btn span {
    background: #fff;
}


/** banner-style-three **/

.banner-style-three {
    position: relative;
    background: linear-gradient(102.73deg, #37AA67 0.76%, #08349E 99.64%);
    overflow: hidden;
}

.banner-style-three .inner-box {
    position: relative;
    padding: 280px 0px 255px 0px;
}

.banner-style-three .content-box {
    position: relative;
    display: block;
}

.banner-style-three .content-box .sub-title {
    color: #fff !important;
}

.banner-style-three .content-box .sub-title:before {
    background: rgba(255, 255, 255, 1) !important;
}

.banner-style-three .content-box h2 {
    position: relative;
    display: block;
    font-size: 80px;
    line-height: 70px;
    color: #fff;
    margin-bottom: 22px;
}

.banner-style-three .content-box h2 span {
    display: block;
    font-size: 64px;
    font-weight: 400;
}

.banner-style-three .content-box p {
    font-size: 20px;
    line-height: 32px;
    color: #fff;
    max-width: 620px;
    margin-bottom: 41px;
}

.banner-style-three .content-box .theme-btn {
    background: #fff !important;
}

.banner-style-three .content-box .theme-btn:hover {
    color: #fff !important;
}

.banner-style-three .image-box {
    position: absolute;
    right: 0px;
    bottom: 0px;
}

.banner-style-three .image-box .support-box {
    position: absolute;
    left: -70px;
    bottom: 125px;
    width: 330px;
    background: #fff;
    border-radius: 120px;
    padding: 26px 30px 27px 110px;
}

.banner-style-three .image-box .support-box .icon-box {
    position: absolute;
    display: inline-block;
    left: 20px;
    top: 20px;
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    border-radius: 50%;
    font-size: 30px;
    z-index: 1;
}

.banner-style-three .image-box .support-box .icon-box:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    border-radius: 50%;
    z-index: -1;
    opacity: 0.14;
}

.banner-style-three .image-box .support-box span {
    position: relative;
    display: block;
    font-size: 18px;
    line-height: 28px;
    font-family: var(--title-font);
    font-weight: 600;
}

.banner-style-three .image-box .support-box a {
    position: relative;
    display: inline-block;
    font-size: 24px;
    line-height: 28px;
    font-family: var(--title-font);
    font-weight: 700;
    color: var(--title-color);
}

.banner-style-three .image-box .support-box a:hover {}

.banner-style-three .pattern-layer .pattern-1 {
    position: absolute;
    left: 0px;
    bottom: 90px;
    width: 711px;
    height: 811px;
    background-repeat: no-repeat;
}

.banner-style-three .pattern-layer .pattern-2 {
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 1389px;
    height: 718px;
    background-repeat: no-repeat;
    opacity: 0.07;
}

.banner-style-three .pattern-layer .pattern-3 {
    position: absolute;
    right: 0px;
    bottom: 0px;
    width: 1278px;
    height: 900px;
    background-repeat: no-repeat;
}

.banner-style-three .pattern-layer .pattern-4 {
    position: absolute;
    top: 268px;
    right: 300px;
    width: 166px;
    height: 166px;
    background-repeat: no-repeat;
}

.banner-style-three .pattern-layer .pattern-5 {
    position: absolute;
    top: 390px;
    right: 745px;
    width: 209px;
    height: 209px;
    background-repeat: no-repeat;
}


/** banner-style-four **/

.banner-style-four {
    position: relative;
    background-color: #fff;
    padding: 300px 0px 127px 0px;
}

.banner-style-four .content-box {
    position: relative;
    display: block;
}

.banner-style-four .content-box h2 {
    display: block;
    font-size: 80px;
    line-height: 70px;
    margin-bottom: 22px;
}

.banner-style-four .content-box h2 span {
    display: block;
    font-size: 64px;
    font-weight: 400;
}

.banner-style-four .content-box p {
    font-size: 20px;
    line-height: 32px;
    color: var(--title-color);
    max-width: 540px;
    margin-bottom: 40px;
}

.banner-style-four .content-box .funfact-inner {
    position: relative;
    display: flex;
    align-items: center;
}

.banner-style-four .content-box .funfact-inner .single-item {
    position: relative;
    display: block;
    width: 135px;
    text-align: center;
    margin-right: 100px;
}

.banner-style-four .content-box .funfact-inner .single-item:last-child {
    margin: 0px !important;
}

.banner-style-four .content-box .funfact-inner .single-item .count-outer {
    position: absolute;
    display: inline-block;
    left: 0px;
    top: 5px;
    width: 100%;
    text-align: center;
    font-size: 128px;
    line-height: 80px;
    font-family: var(--title-font);
    color: var(--title-color);
    font-weight: 500;
    opacity: 0.05;
}

.banner-style-four .content-box .funfact-inner .single-item h3 {
    position: relative;
    display: block;
    font-size: 24px;
    line-height: 30px;
    text-transform: uppercase;
}

.banner-style-four .image-layer {
    position: absolute;
    top: -74px;
    right: 0px;
    width: 967px;
    height: 967px;
    border-radius: 500px 0px 500px 500px;
    overflow: hidden;
}

.banner-style-four .image-layer .bg-layer {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 500px 0px 500px 500px;
}

.banner-style-four .image-layer .bg-layer:before {
    position: absolute;
    content: '';
    background: linear-gradient(-45deg, rgba(56, 171, 104, 0.8) 10.1%, rgba(6, 65, 195, 0.8) 89.76%);
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
}

.banner-style-four .image-layer .image {
    position: absolute;
    left: 100px;
    bottom: -30px;
}

.banner-style-four .pattern-layer {
    position: absolute;
    left: 0px;
    top: 160px;
    width: 265px;
    height: 736px;
    background-repeat: no-repeat;
}


/** banner-style-five **/

.banner-style-five {
    position: relative;
    padding: 195px 0px 125px 0px;
    background: linear-gradient(180deg, rgba(55, 170, 103, 0.5) 0%, rgba(227, 255, 233, 0) 94.78%);
}

.banner-style-five .content-box {
    position: relative;
    display: block;
}

.banner-style-five .content-box h2 {
    display: block;
    font-size: 80px;
    line-height: 70px;
    margin-bottom: 22px;
}

.banner-style-five .content-box h2 span {
    display: block;
    font-size: 64px;
    font-weight: 400;
}

.banner-style-five .content-box p {
    font-size: 20px;
    line-height: 32px;
    color: var(--title-color);
    margin-bottom: 40px;
}

.banner-style-five .image-box {
    position: relative;
    display: block;
    margin-left: 53px;
    margin-right: 29px;
}

.banner-style-five .image-box img {
    width: 100%;
}

.banner-style-five .image-box .image-shape .shape-1 {
    position: absolute;
    left: -83px;
    top: 114px;
    width: 242px;
    height: 244px;
    background-repeat: no-repeat;
}

.banner-style-five .image-box .image-shape .shape-2 {
    position: absolute;
    left: -96px;
    bottom: 25px;
    width: 203px;
    height: 228px;
    background-repeat: no-repeat;
}

.banner-style-five .image-box .image-shape .shape-3 {
    position: absolute;
    top: 142px;
    right: -100px;
    width: 179px;
    height: 199px;
    background-repeat: no-repeat;
}

.banner-style-five .pattern-layer .pattern-1 {
    position: absolute;
    left: 0px;
    top: 170px;
    width: 265px;
    height: 736px;
    background-repeat: no-repeat;
}

.banner-style-five .pattern-layer .pattern-2 {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 547px;
    height: 448px;
    background-repeat: no-repeat;
}
