@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');

* { 
    margin: 0px; 
    padding: 0px; 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
}

/*================ Layout Start Here ================*/
.wrapper { width: 100%; display: flex; flex-direction: column; align-items: center; }
.page-container { width: 100%; max-width: 1200px; padding: 0 20px; display: flex; flex-direction: column; }

.btn-primary {
    border-color: #4f57c5;
    background: #4f57c5;
}
.btn-primary:hover, .btn-primary:focus {
    border-color: #4f57c5;
    background: #4f57c5;
}
/*================ Layout End Here ==================*/

/*================ Common Style Start Here ==========*/
.go-icon {
    width: 29px;
    height: 29px;
    border-radius: 100%;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border:2px solid #4f57c5;
    font-size: 14px;
    color: #4f57c5;
    display: inline-block;
    text-align: center;
    padding-top: 3px;
    vertical-align: top;
}
/*================ Common Style End Here ============*/

/*================ Header Start Here ================*/
.header { 
    width: 100%; 
    display: flex; 
    flex-direction: column; 
    align-items: center; 
    background: #ffffff; 
    box-shadow: 0 0 5px rgba(0,0,0,0.1); 
    -moz-box-shadow: 0 0 5px rgba(0,0,0,0.1); 
    -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.1); 
    position: sticky;
    top: 0px;
    z-index: 100;
}

.header .inner-header {
    width: 100%;
    display: flex;
    align-items: center;
    min-height: 90px;
    justify-content: space-between;
}

@media screen and (max-width: 1023px) {
    .header .inner-header {
        min-height: 70px;
    }
}

.header nav.navigation { height: 24px; }
.header nav.navigation ul { list-style: none; display: inline-block; margin: 0px; padding: 0px; }
.header nav.navigation ul li { list-style: none; margin: 0px 22px; padding: 0px; float: left; position: relative; }
.header nav.navigation ul li a { text-decoration: none; font-size: 18px; font-weight: 500; color: #333333; }
.header nav.navigation ul li:hover a { color: #4f57c5; }
.header nav.navigation ul li.active a { color: #4f57c5; }
.header nav.navigation ul li:after {
    content: "";
    position: absolute;
    right: 0px;
    width: 18px;
    height: 2px;
    background: #4f57c5;
    bottom: -4px;
    display: none;
}
.header nav.navigation ul li.active:after {
    display: inline-block;
}

.header nav.navigation .navigation-btn {
    font-size: 22px;
    color: #333333;
    position: relative;
    z-index: 100;
    display: none;
}

.header nav.navigation .backdrop {
    display: none;
    content: "";
    position: fixed;
    background: rgba(0,0,0,0.5);
    z-index: 98;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

@media screen and (max-width: 767px) {
    .header nav.navigation .backdrop {
        display: inline-block;
    }

    .header nav.navigation { height: auto; } 
    .header nav.navigation .navigation-btn {
        display: flex;
    }

    .header nav.navigation ul {
        position: fixed;
        right: 0px;
        top: 0px;
        background: #ffffff;
        box-shadow: 0 0 10px rgb(0 0 0 / 20%);
        left: 0px;
        z-index: 99;
    
    }

    .header nav.navigation.show-mobile-nav ul {
        display: none;
    }

    .header nav.navigation.show-mobile-nav .backdrop {
        display: none;
    }

    /* .header nav.navigation.show-mobile-nav:after {
        display: none;
    } */

    .header nav.navigation ul li {
        width: 100%;
        border-bottom: 1px solid #cdcdcd;
        padding: 8px 20px;
        margin: 0px;
    }

    .header nav.navigation ul li:first-child {
        margin-top: 70px;
        border-top: 1px solid #cdcdcd;
    }
 
    .header nav.navigation ul li:after { display: none !important;}
}
/*================ Header End Here ==================*/

/*================ Banner Section Start Here ================*/
.banner-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: url("../images/banner-bg.png") no-repeat;
    background-size: cover;
}

.banner-section .inner-banner {
    width: 100%;
    display: flex;
    align-items: center;
    min-height: 538px;
    justify-content: space-between;
}

@media screen and (max-width: 1023px) {
    .banner-section .inner-banner {
        min-height: 460px;
    }
}

@media screen and (max-width: 767px) {
    .banner-section .inner-banner {
        min-height: 460px;
        flex-direction: column;
    }
}

.banner-section .banner-desc {
    max-width: 500px;
    width: 50%;
}

@media screen and (max-width: 767px) {
    .banner-section .banner-desc {
        max-width: 100%;
        width: 100%;
        padding-top: 30px;
    }
}

.banner-section .banner-image {
    width: auto;
    padding-left: 20px;
}

@media screen and (max-width: 767px) {
    .banner-section .banner-image {
        width: 100%;
        padding: 30px;
        text-align: center;
    }
}

.banner-section .banner-image img {
    max-width: 100%;
}


.banner-section h2 {
    font-size: 40px;
    line-height: 50px;
    color: #333333;
    font-weight: 500;
    margin: 0px;
    padding-bottom: 30px;
}

.banner-section p {
    font-size: 18px;
    line-height: 28px;
    color: #333333;
    font-weight: 400;
    margin: 0px;
    padding-bottom: 30px;
}

.banner-section a {
    font-size: 20px;
    color: #4f57c5;
    text-decoration: none;
}

.banner-section a span {
    margin-left: 10px;
}


/*================ Banner Section End Here ==================*/


/*================ About Us Section Start here ==============*/
.about-us-section {
    width: 100%;
    background: #f5f5f5;
    padding: 0px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.about-us-section .inner-about-us {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 50px 0px;
}

@media screen and (max-width: 1023px) {
    .about-us-section .inner-about-us {
        padding: 30px 0px;
    }
}

@media screen and (max-width: 768px) {
    .about-us-section .inner-about-us {
        flex-direction: column;
    }
}

.about-us-section .inner-about-us .about-image {
    min-width: 50%;
    max-width: 50%;
    padding-right: 20px;
}

@media screen and (max-width: 768px) {
    .about-us-section .inner-about-us .about-image {
        order: 2;
        min-width: 100%;
        max-width: 100%;
        padding-right: 0px;
        padding-top: 40px;
    }
}

.about-us-section .inner-about-us .about-desc {
    padding-left: 20px;
}

@media screen and (max-width: 768px) {
    .about-us-section .inner-about-us .about-desc {
        padding-left: 0px;
    }
}

.about-us-section .inner-about-us .about-image img {
    width: 100%;
}

.about-us-section .inner-about-us .section-title {
    padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .about-us-section .inner-about-us .section-title {
        padding-bottom: 20px;
    }
}

/*================ About Us Section End Here ================*/

/*================ Section Header Start Here ================*/
.section-title {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.section-title h2 {
    font-size: 40px;
    font-weight: 500;
    margin: 0px;
    width: 100%;
    padding-bottom: 5px;
    color: #333333;
}
.section-title h6 {
    font-size: 22px;
    font-weight: 300;
    color: #666666;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .section-title h2 {
        font-size: 30px;
    }
    .section-title h6 {
        font-size: 16px;
    }
}

.general-desc p {
    font-size: 18px;
    color: #333333;
    margin: 0px;
    width: 100%;
    padding-bottom: 30px;
    line-height: 28px;
}

.general-desc a {
    font-size: 20px;
    color: #4f57c5;
    text-decoration: none;
}

.general-desc a span {
    margin-left: 10px;
}
/*================ Section Header End here ==================*/

/*================ Services Section Start Here ==============*/
.services-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.services-list { width: 100%; padding: 50px 0px; display: flex; flex-direction: column; }

@media screen and (max-width: 1023px) {
    .services-list {
        padding: 30px 0px;
    }
}

.services-list .section-title {
    padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
    .services-list .section-title {
        padding-bottom: 20px;
    }
}

.services-list .service-block {
    width: 100%;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    background: #f5f5f5;
    padding: 30px;
    position: relative;
    overflow: hidden;
    min-height: 100%;
}

.services-list .service-block h1 {
    font-size: 20px;
    color: #333333;
    font-weight: 600;
    margin: 0px;
    line-height: 24px;
    padding-top: 15px;
    padding-bottom: 20px;
    position: relative;
    z-index: 1;
}

.services-list .service-block p {
    font-size: 16px;
    line-height: 22px;
    color: #333333;
    font-weight: 400;
    margin: 0px;
    position: relative;
    z-index: 1;
    
}

.services-list .service-block .service-icon {
    width: 60px;
    height: 60px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #626262;
    color: #ffffff;
    font-size: 30px;
    position: relative;
    z-index: 1;
}

.services-list .service-block .service-count {
    font-size: 100px;
    color: #e9e9e9;
    font-weight: 600;
    position: absolute;
    right: -12px;
    top: -39px;
    z-index: 0;
}

.services-list .service-block:hover {
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2);
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.services-list .service-block:hover .service-icon {
    background: #4f57c5;
}

.services-list .service-block:hover h1 {
    color: #4f57c5;
}
/*================ Services Section End Here ================*/


/*================ Project Start Here =======================*/
.project-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #f5f5f5;
}

.project-section .project-slider-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 50px 0px;
}

@media screen and (max-width: 1023px) {
    .project-section .project-slider-container {
        padding: 30px 0px;
    }
}

.project-section .d-flex {
    padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .project-section .d-flex {
        padding-bottom: 0px;
    }
}

.project-section .project-slider {
    margin-left: -20px;
    margin-right: -20px;
    
}

.project-section .project-slider > div {
    padding-top: 20px;
    padding-bottom: 20px;
}

.project-section .project-thumb {
    width: calc(100% - 40px);
    margin: 0px 20px;
    box-shadow: 0 0 20px rgba(0,0,0, 0.3);
    -moz-box-shadow: 0 0 20px rgba(0,0,0, 0.3);
    -webkit-box-shadow: 0 0 20px rgba(0,0,0, 0.3);
    background: #ffffff;
    display: flex;
    overflow: hidden;
    position: relative;
}

.project-section .project-thumb.green-bg { background: #56b66a; }
.project-section .project-thumb.blue-bg { background: #008ebc; }

.project-section .project-thumb .project-desc {
    min-width: 50%;
    max-width: 50%;
    padding: 30px;
    min-height: 100%;
}

.project-section .project-thumb .project-desc h2 {
    font-size: 30px;
    line-height: 30px;
    color: #ffffff;
    font-weight: 500;
    margin: 0px;
    padding: 0px 0 20px 0px;
    width: 100%;
}

.project-section .project-thumb .project-desc p {
    font-size: 16px;
    line-height: 22px;
    color: #ffffff;
    margin: 0px;
    padding: 0px;
}

.project-section .project-thumb .project-image {
    min-width: 50%;
    max-width: 50%;
    min-height: 100%;
    display: flex;
    align-items: flex-end;
    padding-top: 30px;
}

.project-section .project-thumb .project-image img {
    width: 100%;
    box-shadow: 0 0 50px rgba(0,0,0,0.3);
    -moz-box-shadow: 0 0 50px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0 0 50px rgba(0,0,0,0.3);
}

/*================ Project End Here =========================*/

/*================ Slick Dots Start Here ====================*/
.slick-dots {
    list-style: none;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 0px;
    padding-top: 20px;
    padding-left: 0px;
}
.slick-dots li {
    width: 20px;
    height: 20px;
    border: none;
    outline: none;
    border-radius: 100%;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    border: 2px solid #cdcdcd;
    list-style: none;
    cursor: pointer;
    margin: 0 5px;
}
.slick-dots li button {
    display: none;
}
.slick-dots li.slick-active {
    border-color: #888888;
    background: #888888;
}
/*================ Slick Dots End Here ======================*/

/*================ Client Section Start Here ================*/
.client-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.client-list { width: 100%; padding: 50px 0px; display: flex; flex-direction: column; }

@media screen and (max-width: 1023px) {
    .client-list {
        padding: 30px 0px;
    }
}

.client-list .section-title {
    padding-bottom: 40px;
}
.client-list .client-block {
    width: 100%;
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    padding: 20px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}
/*================ Client Section End Here ==================*/


/*================ Contact Us Start Here ====================*/
.contact-us-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #f5f5f5;
}
.contact-us-section .inner-contact-us {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 50px 0px;
}
@media screen and (max-width: 1023px) {
    .contact-us-section .inner-contact-us {
        padding: 30px 0px;
    }
}
.contact-us-section .inner-contact-us .section-title {
    padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
    .contact-us-section .inner-contact-us .section-title {
        padding-bottom: 20px;
    }
}


.contact-us-section .white-container {
    width: 100%;
    padding: 50px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    background: #ffffff;
    min-height: 100%;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 991px) {
    .contact-us-section .white-container {
        padding: 30px;
    }
}

.contact-us-section form {
    width: 100%;
    display: flex;
    padding: 0px;
    flex-direction: column;
    position: relative;
}

.contact-us-section form .form-field {
    width: 100%;
    padding-bottom: 10px;
    display: flex;
}

.contact-us-section form .form-field input,
.contact-us-section form .form-field textarea {
    background: #f5f5f5;
    border: 2px solid transparent;
    width: 100%;
    padding: 15px 20px;
    font-size: 18px;
    color: #333333;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.contact-us-section form .form-field input:focus,
.contact-us-section form .form-field textarea:focus {
    outline: none;
    border:2px solid #cdcdcd;
}

.contact-us-section form button {
    width: 60px;
    height: 60px;
    border: none;
    outline: none;
    border-radius: 100%;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    background: #4f57c5;
    color: #ffffff;
    font-size: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: -28px;
    bottom: -12px;
}

.contact-us-section .address-details {
    width: 100%;
    padding: 0px;
    display: flex;
    flex-direction: column;
}

.contact-us-section .address-details .address-row {
    width: 100%;
    padding: 0px;
    display: flex;
    flex-direction: column;
    padding-bottom: 20px;
}

.contact-us-section .address-details .address-row label {
    font-size: 16px;
    color: #999999;
    margin: 0px;
    font-weight: 400;
    padding-bottom: 0px;
}

.contact-us-section .address-details .address-row a,
.contact-us-section .address-details .address-row p {
    color: #333333;
    font-size: 20px;
    font-weight: 400;
    line-height: 30px;
    margin: 0px;
    padding: 0px;
}

.contact-us-section .address-details .address-row a {
    color: #4f57c5;
    text-decoration: none;
    word-wrap: break-word;
}
/*================ Contact Us End Here ======================*/


/*================ Footer Start Here ========================*/
.footer {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #4f57c5;
}

.footer .footer-top {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer .footer-bottom {
    width: 100%;
    background: #464eb6;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer .footer-container {
    width: 100%;
    padding: 30px 0px;
}

@media screen and (max-width: 767px) {
    .footer .footer-container [class*="col-"] {
        margin-bottom: 30px;
    }

    .footer .footer-container [class*="col-"]:last-child {
        margin-bottom: 0px;
    }

    .footer .footer-container [class*="col-"] [class*="col-"] {
        margin-bottom: 0px;
    }

    .footer .footer-container [class*="col-"] [class*="col-"] ul {
        margin: 0px;
        padding: 0px;
    }
}

@media screen and (max-width: 991px) {
    .service-col {
        margin-bottom: 40px;
    }
}

.footer h4 {
    font-size: 22px;
    color: #ffffff;
    font-weight: 500;
    margin: 0px;
    padding-bottom: 10px;
    border-bottom: 2px solid #464eb7;
}

.footer ul {
    list-style: none;
    width: 100%;
    margin: 0px;
    padding: 10px 0px 0px;
}

.footer ul li {
    list-style: none;
    width: 100%;
    padding: 5px 0px;
    
}

.footer ul li a {
    font-size: 16px;
    color: #ffffff;
    text-decoration: none;
}

.footer ul li i {
    margin-right: 7px;
}

.footer .footer-top p {
    font-size: 16px;
    color: #ffffff;
    padding: 20px 0px 0px;
    margin: 0px;
    display: flex;
    align-items: center;
}

.footer .footer-top p + p {
    padding-top: 10px;
}

.footer .footer-top p i {
    margin-right: 7px;
}

.footer .footer-top p a {
    color: #ffffff;
    text-decoration: none;
    display: flex;
    align-items: center;
}

.footer .footer-top p span {
    word-break: break-all;
    line-height: 18px;
}

.footer .footer-bottom {
    width: 100%;
    padding: 0px;
    display: flex;
    flex-direction: column;
    padding: 15px 0px;
}

.footer .footer-bottom p {
    font-size: 16px;
    color: #bbbee5;
    margin: 0px;
    padding: 0px;
}

.footer .footer-bottom .copyright {
    text-align: right;
}

.footer .footer-bottom span {
    font-size: 16px;
    color: #bbbee5;
}


.footer .footer-bottom p a {
    color: #bbbee5;
    text-decoration: none;
}

.footer .footer-bottom p a:hover {
    color: #ffffff;
}
/*================ Footer End Here ==========================*/