/* Common CSS */
.navbar a:hover,
.navbar .active,
.navbar li:hover > a {
    color: #106eea;
}

section {
    padding: 100px 0;
}

.section-title {
    padding-bottom: 50px;
}

.section-title h2 {
    font-size: 16px;
    color: #106eea;
}

.section-title h3 {
    font-size: 40px;
}

.section-title h3 span {
    color: #106eea;
}

.y-center-contant {
    display: flex;
    align-items: center;
}

.error {
    color: #f00;
    font-size: 15px;
}

/* preloader CSS */
#preloader:before {
    border: 6px solid #106eea;
    border-top-color: #e2eefd;
}

/* Type Number arrow remove */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* Button css */
.btn-primary:hover {
    background-color: transparent;
}

.my-btn-primary {
	padding: 10px 15px !important;
	border-radius: 5px;
    border: 0;
	font-size: 16px;
    display: inline-block;
    position: relative;
    color: #fff !important;
    background-color: transparent;
    display: flex;
    align-items: center;
    z-index: 1;
}

.my-btn-primary::after {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	height: 100%;
	width: 100%;
	background-image: linear-gradient(to right, #106eea,  #3097e6, #106eea) !important;
	z-index: -1;
	border-radius: 5px;
	transition: all 0.35s ease-in-out;
	-webkit-transition: all 0.35s ease-in-out;
	-moz-transition: all 0.35s ease-in-out;
	-ms-transition: all 0.35s ease-in-out;
	-o-transition: all 0.35s ease-in-out;
	background-size: 220% 150%;
}

.my-btn-primary:hover::after, 
.my-btn-primary:active {
    background-position: -70% 0;
    background-color: transparent;
}

.my-btn-primary i {
    font-size: 20px;
    margin-left: 5px;
}

.counts {
    padding: 0px;
}


/* TopBar Section Start */
#topbar {
    font-size: 16px;
    background: #106eea;
}

#topbar .contact-info i a {
    color: #ececec;
}

#topbar .contact-info i a:hover {
    text-decoration: none;
}

#topbar .container {
    display: flex;
    justify-content: space-between;
}



/* Header Section Start */
.navbar a {
    font-size: 17px;
}

#header .logo img {
    max-height: 60px;
}

#header.fixed-top {
    height: 80px
}

.navbar > ul > li {
    padding: 5px;
    margin: 0 12px;
}
.navbar > ul > li:last-child {
    margin-right: 0;
}

.navbar > ul > li > a:before {
    content: none;
}

.navbar a:hover {
    color: #222222;
}

.navbar > ul > li:hover a {
    color: #222222;
}

.navbar > ul > li > a {
    position: relative;
    overflow: hidden;
}

.navbar > ul > li > a span {
    display: block;
    transition: all 0.4s;
}

.navbar > ul > li > a::after {
    content: attr(data-title);
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-100%);
    padding: 0 6px;
    width: 100%;
    white-space: nowrap;
    transition: all 0.4s;
}

.navbar > ul > li > a:hover span {
    transform: translateY(100%);
}

.navbar > ul > li > a:hover::after {
    transform: translateY(0%);
}


/* Hiro Section Start */

#hero {
    height: 85vh;
    background-position-x: center;
}

#hero:before {
    content: none;
}

#hero h1 {
    font-size: 39px;
    margin-bottom: 15px;
    color: #444444;
}

#hero h1 span {
    color: #106eea;
}

#hero p {
    color: gray;
    font-size: 20px;
    margin-bottom: 15px;
}


#hero .my-btn-primary {
    border: 1px solid #7e96ff;
}

#hero.hiro-second {
    background: url(../img/hero-second-bg.webp) center bottom;
    background-size: cover;
    background-repeat: no-repeat;
    height: 40vh;
}

#hero.hiro-second h1 {
    color: #636263;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 0;
}

.hiro-img img {
    width: 100%;
}


/* Featured Services Section start */
.featured-services .title {
    font-size: 22px;
}
.featured-services .icon i {
    color: #106eea;
}
.featured-services .icon-box:hover::before {
    background: #106eea;
}


/* About us section start */
.about .content h3 {
    font-weight: 600;
    font-size: 38px;
}
.about-home-img {
    width: 100%;
    margin-top: 55px;
    margin-bottom: -100px;
}

.our-perpose-and-perspective h3 {
    font-size: 32px !important;
}

.our-perpose-and-perspective .img-fluid {
    border-radius: 8px;
}


/* Services section start */
.services .icon-box {
    padding: 50px 30px;
    border-radius: 0.5rem;
}

.service-bg-icon {
    position: absolute;
    bottom: 0px;
}

.service-bg-icon i { 
    font-size: 100%;
}

.services .icon-box .icon {
    border-radius: 50%;
    margin-bottom: 30px;
}

.services .icon-box .icon i {
    color: #106eea;
}

.services .icon-box:hover .icon {
    border-color: #106eea;
    box-shadow: #e7f1fd 0px 1px 5px, #e7f1fd 0px 0px 0px 5px;
}

.services .icon-box h4 {
    margin-bottom: 20px;
}

.services .icon-box:hover h4 a {
    color: #106eea;
}

.services .service-page-title {
    list-style: none;
    display: flex;
    max-width: 750px;
    margin: 15px auto 0;
    padding: 0;
}

.services .service-page-title li {
    margin: 0 25px;
}

.services .service-page-title li i {
    color: #106eea;
    margin-right: 10px;
}

/* Testimonial Section Start */

.testimonials .testimonial-item h3 {
    font-size: 24px;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #106eea;
}


/* Portfolio Section Start */
/* .portfolio .portfolio-item .portfolio-info .details-link {
    right: 20px;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
    font-size: 28px;
}

.portfolio .portfolio-item .portfolio-info .preview-link {
    right: 55px;
}

.portfolio .portfolio-item .portfolio-info h4 {
    margin-bottom: 3px;
}

.glightbox-clean .gslide-title {
    margin-bottom: 0;
} */

.portfolio #portfolio-flters {
    margin-bottom: 20px;
}
.portfolio #portfolio-flters li {
    text-transform: capitalize;
}

.portfolio #portfolio-flters li:hover,
.portfolio #portfolio-flters li.filter-active {
    color: #106eea;
}

.portfolio .portfolio-item .portfolio-info .preview-link {
    display: none;
}

.portfolio .portfolio-container .portfolio-item .portfolio-item-wrap {
    height: 280px;
    border-radius: 0.5rem;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center 0;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    -webkit-transition: background-position 2s ease-out 0s;
}

.portfolio .portfolio-container .portfolio-item .portfolio-item-wrap:hover {
    background-position: center 100%;
}

.portfolio .portfolio-item .portfolio-info {
    border-radius: 0.5rem;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
    font-size: 28px;
}

.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
    color: #106eea;
}



/* Call Button Section start */
.consultation {
    background-image: url(../img/consultation-bg.webp);
    background-size: cover;
    background-attachment: fixed;
    color: #fff;
    position: relative;
}

.consultation::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0;
    background: #0000002e;
}
  
.consultation-content {
    position: relative;
    z-index: 1;
}

.consultation-content h2 {
    font-size: 39px;
    max-width: 635px;
    margin-bottom: 15px;
}

.consultation-content h2 span {
    color: #fff;
}

.consultation-content p {
    font-size: 18px;
    margin-bottom: 0;
}


/* Why Choose Us Start */
.why-choose-us .content {
    display: flex;
    align-items: center;
}

.why-choose-us .content h3 {
    font-size: 38px;
}

.why-choose-us .section-title {
    text-align: left;
    padding-bottom: 0;
}

.why-choose-us .section-title p {
    width: 100%;
    margin-bottom: 20px;
}

.why-choose-us .section-title a {
    display: inline-block;
}


/* Frequently Asked Questions Start */
.faq {
    padding: 100px 0;
}

.faq .section-title {
    text-align: left;
    padding-bottom: 0%;
}

.faq .section-title p {
    width: 100%;
    margin-bottom: 20px;
}

.faq .faq-list i {
    left: auto;
    right: 0;
}

.faq .faq-list .question {
    color: #106eea;
}

.faq .faq-list .question.collapsed {
    color: #000;
}

.faq .faq-list .collapsed:hover {
    color: #106eea;
}


/* Career Section Start */
.career .section-title h3 {
    font-size: 35px;
    max-width: 400px;
    margin: auto;
}

.career .section-title p span {
    color: #106eea;
    font-weight: 600;
}

.career .section-title p .applyNow {
    cursor: pointer;
    transition: all 0.5s;
}

.career .section-title p .applyNow:hover {
    text-decoration: underline;
}

.career.services .icon-box .icon {
    margin: 0;
    margin-bottom: 24px;
}

.career.services .icon-box {
    text-align: left;
}

.career.services .icon-box h4 {
    margin-bottom: 10px;
}

.career.services .icon-box p {
    margin-bottom: 15px;
}


/* Career Modal CSS */
.careerFormModal .modal-header {
    background-color: #f6f9fe;
}

.careerFormModal .modal-footer {
    background-color: #f6f9fe;
}

.careerFormModal .modal-footer .closeModal {
    font-size: 16px;
    padding: 9px 15px;
    border-radius: 5px;
}

.careerFormModal .modal-body .container {
    max-width: 1024px;
}

.careerFormModal .career-form input,
.careerFormModal .career-form select {
    padding: 10px 15px;
}

.careerFormModal .career-form input,
.careerFormModal .career-form textarea,
.careerFormModal .career-form select {
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
    border-radius: 0.3rem;
}

.careerFormModal .career-form input:focus,
.careerFormModal .career-form select:focus,
.careerFormModal .career-form textarea:focus {
    border-color: #106eea;
}

.careerFormModal .career-form .form-select.error {
    color: #212529;
}

.careerFormModal .career-form .other-position-field {
    display: none;
}

.careerFormModal .career-msg {
    display: block;
    margin-top: 5px;
    margin-right: auto;
}

.careerFormModal .career-msg .snippet {
    margin-left: 20px;
    display: none;
}


/* Contact Section Start */
.contact .js-email-form {
    border-radius: 0.5rem;
}

.contact .js-email-form button[type="submit"] {
    background: transparent;
}

.contact .js-email-form button[type="submit"]:hover {
    background-color: transparent;
}

.contact-details {
    height: 100%;
}

.contact .info-box {
    height: 86%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.5rem;
}

.contact .info-box i {
    color: #106eea;
}

.contact-msg {
    margin-left: 10px;
}

.contact-msg .snippet {
    margin-left: 20px;
}

.contact-msg .snippet {
    display: none;
}

.contact .js-email-form input:focus,
.contact .js-email-form textarea:focus {
    border-color: #106eea;
}

.contact .js-email-form input,
.contact .js-email-form textarea {
    border-radius: 0.3rem;
}


/* Maps Section Start */
.maps {
    padding-bottom: 100px;
}

.maps iframe {
    border-radius: 0.5rem;
}


/* Three Dots CSS */
.dot-elastic {
    position: relative;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #106eea;
    color: #9880ff;
    animation: dotElastic 1s infinite linear;
}
  
.dot-elastic::before, .dot-elastic::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
}

.dot-elastic::before {
    left: -15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #106eea;
    color: #9880ff;
    animation: dotElasticBefore 1s infinite linear;
}
  
.dot-elastic::after {
    left: 15px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #106eea;
    color: #9880ff;
    animation: dotElasticAfter 1s infinite linear;
}

@keyframes dotElasticBefore {
    0% {
      transform: scale(1, 1);
    }
    25% {
      transform: scale(1, 1.5);
    }
    50% {
      transform: scale(1, 0.67);
    }
    75% {
      transform: scale(1, 1);
    }
    100% {
      transform: scale(1, 1);
    }
}

@keyframes dotElastic {
    0% {
      transform: scale(1, 1);
    }
    25% {
      transform: scale(1, 1);
    }
    50% {
      transform: scale(1, 1.5);
    }
    75% {
      transform: scale(1, 1);
    }
    100% {
      transform: scale(1, 1);
    }
}

@keyframes dotElasticAfter {
    0% {
      transform: scale(1, 1);
    }
    25% {
      transform: scale(1, 1);
    }
    50% {
      transform: scale(1, 0.67);
    }
    75% {
      transform: scale(1, 1.5);
    }
    100% {
      transform: scale(1, 1);
    }
}

/* Tools Section Start */
.tools img {
    max-width: 55%;
}

/* Footer Section Start */
#footer{
    padding: 0%;
    background: #1f1f1f;
}

#footer .footer-top {
    padding: 100px 0 70px 0;
}

#footer .footer-top {
    background: #252525;
}

.footer-logo {
    max-height: 70px;
}

#footer .footer-top h4 {
    color: #ffffff;
}

#footer .footer-top .footer-contact p {
    color: #e2e2e2;
}

#footer .footer-top .footer-links ul a {
    color: #e2e2e2;
}

#footer .footer-top .footer-links ul a:hover {
    color: #e2e2e2;
}

#footer .footer-top .footer-links ul li {
    padding: 7px 0;
}
#footer .footer-top .footer-links ul li a {
    position: relative;
    overflow: hidden;
    padding: 5px 0;
}
#footer .footer-top .footer-links ul  li i {
    color: #106eea;
}

#footer .footer-top .footer-links ul li a span {
    display: block;
    transition: all 0.4s;
}
#footer .footer-top .footer-links ul li a::after {
    content: attr(data-title);
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-200%);
    padding: 5px 0;
    width: 100%;
    white-space: nowrap;
    transition: all 0.4s;
}
#footer .footer-top .footer-links ul li:hover a span {
    transform: translateY(150%);
}
#footer .footer-top .footer-links ul li:hover a::after {
    transform: translateY(0%);
}
#footer .footer-newsletter {
    background: none;
    padding: 0px;
}

#footer .footer-newsletter form input[type="email"] {
    outline: none;
}

#footer .footer-newsletter form {
    border-right: none;
}

.social-link i {
    width: 22px;
}

.social-links .facebook {
    background: #1877f2 !important;
}

.social-links .twitter {
    background: #55acee !important;
}

.social-links .instagram {
    background: linear-gradient(29.61deg, #f38334 0%, #da2e7d 50.39%, #6b54c6 100%) !important;
}

.social-links .skype {
    background: #1877f2 !important;
}

.social-links .linkedin {
    background: #0a66c2 !important;
}

#footer .footer-top .social-links a {
    padding: 10px 0;
}

#footer .footer-top .social-links a:hover {
   background: #106eea !important;
}

.copyright-footer {
    color: #e2e2e2;
}

.back-to-top {
    background: #106eea;
}

.footer-newsletter {
    display: none;
}


/* Chat whatsapp/skype */
.fabWidget {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 1000;
    transition: all 0.3s;
}
  
.fabWidget .fabTrigger .background {
    background-color: #106eea;
    border-radius: 50%;
    box-shadow: 0 2.1px 1.3px rgba(0, 0, 0, 0.044), 0 5.9px 4.2px rgba(0, 0, 0, 0.054), 0 12.6px 9.5px rgba(0, 0, 0, 0.061), 0 25px 20px rgba(0, 0, 0, 0.1);
    height: 60px;
    left: 10px;
    position: absolute;
    top: 10px;
    width: 60px;
}
  
.fabWidget .fabList {
    visibility: hidden;
    opacity: 1;
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
  
.fabWidget .fabButton {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 12px 6px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    transform: translateY(50px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.fabWidget .fabButton:hover {
    cursor: pointer;
}

.fabWidget .fabButton.active {
    transform: translateY(0px);
    opacity: 1;
}

.fabWidget .fabButton svg {
    width: 100%;
    height: 100%;
}
  
.fabWidget.active .fabButton {
    visibility: visible;
    opacity: 1;
    transform: translateY(-15px);
}
  
.fabWidget .fabOverlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.25s;
}

.fabWidget .fabOverlay.active {
    opacity: 1;
    visibility: visible;
}
  
.fabWidget [data-tooltip] {
    position: relative;
}

.fabWidget [data-tooltip]::before {
    content: attr(data-tooltip);
    display: block;
    position: absolute;
    top: 50%;
    right: 100%;
    padding: 7px;
    text-align: center;
    border-radius: 4px;
    background: #106eea;
    color: #fff;
    font-size: 0.8em;
    white-space: nowrap;
    transform: translateY(-50%);
    opacity: 0;
    visibility: hidden;
    cursor: default;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
}

.fabWidget [data-tooltip]:hover::before {
    opacity: 1;
    visibility: visible;
    right: 120%;
}
  
.fabWidget .chat-bubble {
    cursor: pointer;
    position: relative;
}

.fabWidget .chat-bubble .bubble {
    transform-origin: 50%;
    transition: transform 500ms cubic-bezier(0.17, 0.61, 0.54, 0.9);
}

.fabWidget .chat-bubble .line {
    fill: none;
    stroke: #ffffff;
    stroke-width: 2.75;
    stroke-linecap: round;
    transition: stroke-dashoffset 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

.fabWidget .chat-bubble .line1 {
    stroke-dasharray: 60 90;
    stroke-dashoffset: -20;
}

.fabWidget .chat-bubble .line2 {
    stroke-dasharray: 67 87;
    stroke-dashoffset: -18;
}

.fabWidget .chat-bubble .circle {
    fill: #ffffff;
    stroke: none;
    transform-origin: 50%;
    transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
}
  
.fabWidget .active .bubble {
    transform: translateX(24px) translateY(4px) rotate(45deg);
}

.fabWidget .active .line1 {
    stroke-dashoffset: 21;
}

.fabWidget .active .line2 {
    stroke-dashoffset: 30;
}

.fabWidget .active .circle {
    transform: scale(0);
}


/* 404 error section start */
.page-not-found .btn {
    display: inline-block;
    margin-top: 20px;
}

.page-not-found .image-wrap {
    max-width: 800px;
    margin: 0 auto;
}

.page-not-found .image-wrap img {
    width: 100%;
}


@media only screen and (max-width: 1400px) {

    #hero h1 {
        font-size: 36px;
    }

}


@media only screen and (max-width: 1200px) {

    #hero h1 {
        font-size: 32px;
        line-height: 45px;
    }

    #hero p {
        font-size: 16px;
    }
    
    .about .content h3 {
        font-size: 35px;
    }

    .consultation-content h2 {
        font-size: 36px;
        max-width: 575px;
    }

}


@media only screen and (max-width: 1024px) {
    
    .about .content h3 {
        font-size: 33px;
    }

}


@media only screen and (max-width: 992px) {

    #topbar {
        display: none !important;
    }

    .navbar > ul > li > a::after {
        padding: 10px 20px;
        transform: translateY(-120%);
    }
    .navbar > ul > li > a:hover span {
        transform: translateY(120%);
    }

    .hiro-img img {
        display: none;
    }

    #hero h1 {
        max-width: 560px;
    }

    #hero p {
        max-width: 435px;
    }

    #hero.hiro-second  h1 {
        max-width: 100%;
    }

    .about .content h3 {
        font-size: 40px;
    }
    
    .services .service-page-title li {
        margin: 0 15px;
    }

    .why-choose-us .section-title {
        text-align: center;
        padding-bottom: 0px;
    }
    
    .error {
        font-size: 13px;
    }

    .consultation-content h2 {
        font-size: 28px;
        max-width: 445px;
    }

}


@media only screen and (max-width: 768px) {
    
    section {
        padding: 80px 0;
    }
    
    #hero.hiro-second {
        height: 30vh;
    }
    
    #hero.hiro-second h1 {
        font-size: 28px;
    }

    #hero h1 {
        font-size: 30px;
    }

    .consultation-content {
        text-align: center;
    }

    .consultation-content p {
        font-size: 17px;
        margin-bottom: 12px;
    }

    .consultation-content h2 {
        margin: 0 auto 10px;
    }

    .services .service-page-title {
        display: block;
        max-width: 260px;
        text-align: left;
    }
    .services .service-page-title li {
        margin: 0;
    }

}


@media only screen and (max-width: 576px) {

    .careerFormModal .modal-footer {
        justify-content: center;
    }
    .careerFormModal .career-msg {
        width: 100%;
        margin: 0;
        text-align: center;
        margin-bottom: 8px;
    }
    .careerFormModal .career-msg .snippet {
        margin: 0;
    }
    .careerFormModal .career-msg .snippet .stage .dot-elastic {
        margin: 0 auto;
    }

}


@media only screen and (max-width: 480px) {
    
    #topbar {
        height: 60px;
    }

    .contact-info {
        display: block !important;
        line-height: 20px !important;
        padding-left: 5px;
    }

    #topbar .contact-info i {
        margin: 10px 0px;
        margin-left: 0 !important;
    }

    #hero h1 {
        font-size: 26px;
        line-height: 36px;
    }

    .consultation-content p {
        font-size: 16px;
        margin-bottom: 12px;
    }

}

@media only screen and (max-width: 400px) {

    #hero h1 {
        font-size: 21px;
        line-height: 30px;
    }

    .careerFormModal .career-msg .career-result-text {
        font-size: 14px;
    }

}