:root {
    --ei-p-gray-1: #42526B;
    --ei-slide-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
}

/* Banner */
.ei-wb-banner, .ei-slide-item, .ei-slide-content {
	position: relative;
}
.ei-wb-slides, .ei-slide-item {
	overflow: hidden;
}
.ei-wb-slides {
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.ei-slide-item {
	flex: 0 0 auto;
    width: 100%;
    height: auto;
}
.ei-slide-bg, .ei-slide-bg-overlay {
	position: absolute;
	top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.ei-slide-bg {
    background-repeat: no-repeat;
    background-size: cover;
}
.ei-slide-bg-overlay {
	z-index: 1;
}
.ei-slide-content {
	z-index: 2;
}
.ei-slide-heading, .ei-slide-description {
	margin-top: 0;
}
.ei-slide-image-wrap {
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
}
.ei-slide-text, .ei-slide-image {
	flex: 0 0 auto;
}
.ei-slide-text {
	width: 60%;
}
.ei-slide-image {
	display: -ms-flexbox;
    display: flex;
    width: 40%;
}
.ei-slide-image>img {
	width: 100%;
}
.ei-slide-btn-wrap {
	display: inline-flex;
	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.ei-slide-btn {
	display: inline-block;
    line-height: 1;
	border-style: solid;
	-webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.ei-scroll-down {
	position: absolute;
    width: max-content;
    top: 50%;
    transform: translate(0, -50%) rotate(270deg);
    left: -48px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: 18px;
    z-index: 3;
}
body .ei-scroll-down .ei-text {
	font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: unset !important;
    word-spacing: unset !important;
}

.ei-scroll-down>span, body .slick-track {
	display: -ms-flexbox;
    display: flex;
}
body .slick-slide {
	height: auto;
}
body .slick-slide>.ei-container {
	align-content: center;
    height: 100%;
}

.ei-fade-up {
  	opacity: 0;
  	transform: translateY(20px);
  	transition: all 0.3s ease;
}
.ei-fade-up.ei-show {
  	opacity: 1;
  	transform: translateY(0);
}

/* Widget Heading */
body .ei-widget-heading span {
	color: var(--ei-primary);
}

/* Widget Text */
body .ei-widget-text p:first-child {
    margin-top: 0;
}
body .ei-widget-text p:last-child {
    margin-bottom: 0;
}

/* Widget Image Box */
.ei-widget-image-box .elementor-image-box-img {
	flex: 0 0 auto;
}
.ei-widget-image-box img {
    width: 100%;
	margin-top: 5px;
}

/* Widget Counter */
.ei-widget-counter .elementor-counter-title {
    text-align: center;
}

/* Breadcrumbs */
.ei-wbc .breadcrumbs {
    border: 0;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
    margin: 0;
}

/* Service Slider */
.ei-grid-wrap.wsp-carousel, .ei-grid-wrap.wps-carousel, .ei-grid-wrap.wts-carousel.ei-grid-style-4 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 0;
    overflow: hidden;
}
.ei-grid-wrap.wsp-carousel, .ei-grid-wrap.wps-carousel {
    margin: 0 -12px;
}
.ei-grid-wrap.wts-carousel.ei-grid-style-4 {
    margin: 0 -22px;
}
.wsp-carousel.slick-slider, .wps-carousel.slick-slider, .wts-carousel.ei-grid-style-4.slick-slider {
    overflow: unset;
    backface-visibility: hidden;
}
.wsp-carousel .ei-slide, .wps-carousel .ei-slide, .wts-carousel .ei-slide {
    flex: 0 0 auto;
}
.wsp-carousel .ei-slide, .wps-carousel .ei-slide {
    padding: 0 12px;
}
.wts-carousel .ei-slide {
    padding: 0 22px;
}
.wsp-carousel .ei-slide {
    width: 33.3333%;
}
.wps-carousel .ei-slide {
    width: 50%;
}
.wts-carousel .ei-slide {
    width: 20%;
}
.wsp-carousel .ei-slide .ei-grid, .wps-carousel .ei-slide .ei-grid, .wts-carousel .ei-slide .ei-grid {
    height: 100%;
}
.ei-slide .ei-grid {
    box-shadow: var(--ei-slide-box-shadow);
}

.ei-view-all {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 !important;
}
.ei-view-all>a {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 180px;
    border: 2px dashed var(--ei-primary);
    border-radius: 100%;
    padding: 25px;
    z-index: 0;
}
.wts-carousel .ei-view-all>a {
    left: 0;
    top: 0;
    transform: none;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
}
.ei-view-all>a:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background: var(--ei-btn-bg);
    opacity: 0.1;
    z-index: -1;
}
.ei-view-all>a, .ei-view-all span {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
}
.ei-view-all>a>span {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
}
.ei-view-all .ei-text {
    flex: 0 0 auto;
    width: 100%;
    font-size: var(--ei-btn-lg-fs);
    line-height: 1.4;
    font-weight: bold;
    text-transform: uppercase;
    color: var(--ei-primary);
}
.ei-grid-style-3 .ei-grid .ei-view-all .ei-text {
    margin: 0;
}
.ei-view-all .ei-icon svg {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.ei-view-all .ei-icon svg rect {
    fill: var(--ei-btn-bg);
}
.ei-view-all .ei-icon svg path {
    fill: var(--ei-btn-text);
    stroke: var(--ei-btn-text);
}

/* List */
.ei-list-style-1 {
    counter-reset: post-counter;
}
.ei-list-style-1 .ei-item {
    position: relative;
}
.ei-list-style-1 .ei-item:before {
    content: '';
    position: absolute;
    top: 50px;
    left: 25px;
    width: 1px;
    height: calc(100% - 50px);
}
.ei-list-style-1 .ei-item:last-child:before {
    display: none;
}
.ei-list-style-1 .ei-title:before, .ei-list-style-1 .ei-title:after {
    position: absolute;
    border-radius: 100%;
}
.ei-list-style-1 .ei-title:before {
    top: 8px;
    left: 8px;
    width: 34px;
    height: 34px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    justify-content: center;
    counter-increment: post-counter;
    content: counter(post-counter);
    line-height: 1 !important;
    z-index: 1;
}
.ei-list-style-1 .ei-title:after {
    content: '';
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    opacity: 0.2;
}
.ei-list .ei-description {
    margin: 0;
}
.ei-list .ei-item:last-child .ei-description {
    padding-bottom: 0 !important;
}

/* Post Title */
.ei-post-tw-wrap .ei-title {
    font-size: var(--ei-banner-title-fs);
    line-height: var(--ei-banner-title-lh);
    font-weight: var(--ei-banner-title-fw);
    margin: -5px 0 0;
}
.ei-post-tw-wrap .ei-date {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    gap: 9px;
    margin-top: 15px;
}
.ei-post-tw-wrap .ei-date svg {
    width: 13px;
    height: auto;
    margin-top: -1px;
}
.ei-post-tw-wrap .ei-date>span {
    font-size: var(--ei-small-fs);
}

/* Featured Image */
.ei-single-fi-image {
    position: relative;
    display: -ms-flexbox;
    display: flex;
}
.ei-single-fi-image, .ei-single-fi-image img {
    max-width: 100%;
}
.ei-single-fi-image img {
    width: 100%;
    object-fit: cover;
    object-position: top;
    border-radius: var(--ei-radius-m);
}

/* Project Overview */
.ei-project-overview, .ei-project-overview .ei-overview .ei-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.ei-project-overview>div {
    position: relative;
    flex: 0 0 auto;
}
.ei-project-overview .ei-single-po-image {
    display: flex;
    width: 70%;
}
.ei-project-overview .ei-overview {
    width: 30%;
    color: var(--ei-btn-text);
    background-color: var(--ei-btn-bg);
    border-radius: var(--ei-radius);
    padding: 30px;
}
.ei-project-overview .ei-single-po-image img {
    position: absolute;
    width: calc(100% - 24px);
    height: 100%;
    object-fit: cover;
    border-radius: var(--ei-radius);
}
.ei-project-overview .ei-overview a {
    color: var(--ei-btn-text);
}
.ei-project-overview .ei-overview .ei-title-o, .ei-project-overview .ei-overview .ei-list .ei-title {
    font-weight: bold;
}
.ei-project-overview .ei-overview .ei-list {
    gap: 10px;
}
.ei-project-overview .ei-overview .ei-list .ei-item {
    width: 100%;
}
.ei-project-overview .ei-overview .ei-list .ei-description p:first-of-type, .ei-project-overview .ei-overview .ei-description-o p:first-of-type {
    margin-top: 0;
}
.ei-project-overview .ei-overview .ei-list .ei-description p:last-of-type, .ei-project-overview .ei-overview .ei-description-o p:last-of-type {
    margin-bottom: 0;
}
.ei-project-overview .ei-overview .ei-description-o {
    margin-bottom: 24px;
}

/* Team Profile */
.ei-team-profile .ei-banner-wrap, .ei-team-profile .ei-profile {
    position: relative;
}
.ei-team-profile .ei-banner-wrap>.ei-container {
    height: 350px;
}
.ei-team-profile .ei-banner-wrap:before {
    opacity: 0.1;
}
.ei-team-profile .ei-banner-wrap .ei-banner, .ei-team-profile .ei-banner-wrap>.ei-container, .ei-team-profile .ei-profile .ei-image-text .ei-image {
    z-index: 1;
}
.ei-team-profile .ei-profile .ei-image-text {
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    margin-top: -55px;
}
.ei-team-profile .ei-profile .ei-image-text .ei-image {
    flex: 0 0 auto;
    width: 220px;
}
.ei-team-profile .ei-profile .ei-image-text .ei-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    border: 6px solid #ffffff;
    border-radius: 100%;
}
.ei-team-profile .ei-profile .ei-title {
    font-family: var(--ei-font-family-h);
    font-size: var(--ei-banner-title-fs);
    line-height: var(--ei-banner-title-lh);
    font-weight: var(--ei-banner-title-fw);
    margin-top: 85px;
    margin-bottom: 8px;
}
.ei-team-profile .ei-profile .ei-subtitle {
    font-size: var(--ei-archive-post-title-fs);
    line-height: var(--ei-archive-post-title-lh);
    font-weight: var(--ei-archive-post-excerpt-fw);
    margin: 0;
}

/* Testimonial */
.ei-testimonial .ei-grid {
    border: 0;
    background-color: var(--ei-section-bg);
    box-shadow: none;
}
.ei-testimonial .ei-grid .ei-content-wrap {
    text-align: left;
    padding: 40px;
}
.ei-testimonial .ei-profile, .ei-testimonial .ei-icon {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}
.ei-testimonial .ei-profile>img, .ei-testimonial .ei-profile>.ei-text {
    flex: 0 0 auto;
}
.ei-testimonial .ei-profile>img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 100%;
}
.ei-testimonial .ei-profile>.ei-text {
    width: calc(100% - 48px);
    padding-left: 14px;
}
.ei-testimonial .ei-profile>.ei-text>span {
    display: block;
    font-size: 14px;
}
.ei-testimonial .ei-profile>.ei-text>span.ei-name {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}
.ei-testimonial .ei-profile>.ei-text>span:last-child {
    color: var(--ei-p-gray-1);
    margin-top: 2px;
}
.ei-testimonial .ei-icon {
    gap: 5px;
    margin: 27px 0 20px;
}
.ei-testimonial .ei-icon svg {
    width: 16px;
    height: auto;
}
.ei-testimonial .ei-description p:first-child {
    margin: 0;
}
.ei-testimonial .ei-description p, .ei-testimonial .ei-description p:last-child {
    margin-bottom: 0;
}

.ei-top-right.slick-slider .slide-arrow {
    top: -72px;
}
.ei-top-right.slick-slider .prev-arrow {
    left: unset;
    right: 58px;
}
.ei-top-right.slick-slider .next-arrow {
    right: var(--ei-padding-container);
    margin-right: -5px;
}

.wps-carousel .next-arrow.slick-disabled, .wts-carousel .next-arrow.slick-disabled {
    opacity: 0.5;
    visibility: visible;
    cursor: unset;
}
.wps-carousel .next-arrow.slick-disabled svg, .wts-carousel .next-arrow.slick-disabled svg {
    border: 1px solid var(--ei-btn-bg);
    border-radius: 100%;
}
.wps-carousel .next-arrow.slick-disabled svg rect, .wts-carousel .next-arrow.slick-disabled svg rect {
    fill: transparent;
}
.wps-carousel .next-arrow.slick-disabled svg path, .wts-carousel .next-arrow.slick-disabled svg path {
    fill: var(--ei-btn-bg);
    stroke: var(--ei-btn-bg);
}

/* Price Table */
.ei-price-table {
    position: relative;
    height: 100%;
    border-style: solid;
    border-width: 0;
}
.ei-price-table .ei-pt-ribbon {
    position: absolute;
    width: 150px;
    height: 150px;
    inset-block-start: 0;
    inset-inline: auto 0;
    transform: rotate(90deg);
    overflow: hidden;
    z-index: 1;
}
.ei-price-table .ei-pt-ribbon-inner {
    width: 200%;
    font-size: 14px;
    text-align: center;
    color: var(--ei-btn-text);
    background-color: var(--ei-btn-bg);
    padding: 6px 0;
    margin-block-start: 35px;
    transform: translateY(-50%) translateX(-50%) translateX(35px) rotate(-45deg);
}
.ei-price-table .ei-pt-title {
    font-size: var(--ei-h3-fs);
    line-height: var(--ei-h3-lh);
    font-weight: 600;
    margin: 0 0 4px;
}
.ei-price-table .ei-pt-price, .ei-price-table .ei-pt-regular {
    display: -ms-flexbox;
    display: flex;
}
.ei-price-table .ei-pt-price {
    gap: 4px;
}
.ei-price-table .ei-pt-pricing>div:not(:last-child) {
    text-decoration: line-through;
}
.ei-price-table .ei-pt-pricing>div:not(:first-child) {
    font-size: var(--ei-h1-fs);
    line-height: var(--ei-h1-lh);
    font-weight: var(--ei-h1-fw);
    margin: 20px 0;
}
.ei-price-table .ei-pt-pricing>div:not(:first-child) .ei-pt-currency {
    font-size: 58%;
    font-weight: 600;
    margin-top: 3px;
}
.ei-price-table .ei-pt-btn {
    text-align: center;
    border-style: solid;
    margin: 30px 0;
    transition: all 0.3s ease;
}
.ei-price-table .ei-pt-features, .ei-price-table .ei-pt-features .ei-pt-feature {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.ei-price-table .ei-pt-label {
    font-weight: 600;
    margin-top: 3px;
    margin-bottom: 14px;
}
.ei-price-table .ei-pt-features {
    list-style-type: none;
    padding: 0;
    margin: 7px 0 0;
    gap: 12px;
}
.ei-price-table .ei-pt-features .ei-pt-feature {
    width: 100%;
}
.ei-price-table .ei-pt-features .ei-pt-feature svg {
    width: 20px;
    height: 20px;
    margin-top: 3px;
    overflow: unset;
}
.ei-price-table .ei-pt-features .ei-pt-feature .ei-pt-feature-label {
    display: block;
    width: calc(100% - 20px);
    padding-left: 10px;
}

/* Contact Info */
.ei-widget-contact-info .ei-contact-info {
    gap: 24px;
    margin-top: 0;
}
.ei-widget-contact-info .ei-contact-info .ei-contact-icon:before {
    opacity: 0.2;
}
.ei-widget-contact-info .ei-contact-info .ei-contact-item.ei-phone .ei-contact-icon>svg path, .ei-widget-contact-info .ei-contact-info .ei-contact-item.ei-envelope .ei-contact-icon>svg path {
    fill: transparent !important;
}
.ei-widget-contact-info .ei-contact-info .ei-contact-item.ei-address .ei-contact-icon>svg {
    width: 18px;
}
.ei-widget-contact-info .ei-contact-info .ei-contact-item.ei-clock .ei-contact-icon>svg path {
    stroke-width: 0.1px;
}

/* FAQ */
.ei-faq>.ei-item {
    border: 1px solid var(--ei-grid-border);
    border-radius: var(--ei-radius);
    background-color: #FFFFFF;
    transition: background-color .4s ease, border-color .4s ease;
}
.ei-faq>.ei-item:not(:last-child) {
    margin-bottom: 22px;
}
.ei-faq>.ei-item.ei-active {
    border-color: var(--ei-secondary-bg);
    background-color: var(--ei-secondary-bg);
}
.ei-faq>.ei-item.ei-active>div {
    color: var(--ei-secondary-text);
}
.ei-faq>.ei-item.ei-active .ei-title::before, .ei-faq>.ei-item.ei-active .ei-title::after {
    background-color: var(--ei-secondary-text);
}
.ei-faq>.ei-item>div {
    transition: all 0.4s ease;
}
.ei-faq .ei-title {
    position: relative;
    font-family: var(--ei-font-family-h);
    font-size: var(--ei-archive-post-title-fs);
    line-height: var(--ei-archive-post-title-lh);
    font-weight: var(--ei-archive-post-title-fw);
    cursor: pointer;
    padding: 24px 48px 26px 24px;
    margin: 0;
}
.ei-faq .ei-title::before,  .ei-faq .ei-title::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 24px;
    width: 16px;
    height: 2px;
    background-color: var(--ei-black);
    transform-origin: center;
    transition: transform .4s ease, opacity .4s ease;
}
.ei-faq .ei-title::before {
    transform: translateY(-50%) rotate(0deg);
}
.ei-faq .ei-title::after {
    transform: translateY(-50%) rotate(90deg);
    opacity: 1;
}
.ei-faq>.ei-item.ei-active .ei-title::before {
    transform: translateY(-50%) rotate(45deg);
}
.ei-faq>.ei-item.ei-active .ei-title::after {
    transform: translateY(-50%) rotate(-45deg);
    opacity: 1;
}
.ei-faq .ei-description {
    padding: 0px 24px;
    transition: height 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    overflow: hidden;
}
.ei-faq .ei-description>div {
    position: relative;
    padding: 30px 0;
}
.ei-faq .ei-description>div::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 0%;
    height: 1px;
    background: var(--ei-secondary-text);
    transition: width .5s ease;
    opacity: 0.2;
    z-index: 1;
}
.ei-faq>.ei-item.ei-active .ei-description>div::before {
    width: 100%;
}
.ei-faq .ei-description p:first-of-type {
    margin-top: 0;
}
.ei-faq .ei-description p:last-of-type {
    margin-bottom: 0;
}

/* Responsive */
@media only screen and (min-width: 1200px) {

    .wsp-carousel.ei-grid-few .ei-slide {
        width: 33.3333% !important;
    }
    .wps-carousel.ei-grid-few .ei-slide {
        width: 50% !important;
    }
    .wts-carousel.ei-grid-few .ei-slide {
        width: 20% !important;
    }
    .ei-grid-wrap.ei-grid-few .slick-list, .ei-grid-wrap.ei-grid-few .slick-track {
        width: 100% !important;
    }

}

@media only screen and (max-width: 1199px) {

    .ei-scroll-down, .ei-slide-heading br, .ei-slide-description br {
        display: none;
    }

    .ei-project-overview {
        flex-direction: column;
        gap: 24px;
    }
    .ei-project-overview .ei-single-po-image, .ei-project-overview .ei-overview, .ei-project-overview .ei-single-po-image img {
        width: 100% !important;
    }
    .ei-project-overview .ei-single-po-image img {
        position: relative;
    }

    .ei-team-profile .ei-page-banner .ei-breadcrumb-wrap {
        max-width: calc(100% - 300px);
    }

}

@media only screen and (max-width: 767px) {

    .ei-slide-image-wrap.ei-hide-image .ei-slide-image {
        display: none;
    }
    .ei-slide-image-wrap {
        -ms-flex-align: flex-start;
        align-items: flex-start;
        flex-direction: column-reverse;
    }
    .ei-slide-text, .ei-slide-image {
        width: 100%;
    }

    .ei-grid-wrap.wsp-carousel .slick-list, .ei-grid-wrap.wps-carousel .slick-list, .ei-grid-wrap.wts-carousel .slick-list {
        padding-right: 40px;
    }
    .ei-grid-wrap.wsp-carousel, .ei-grid-wrap.wps-carousel, .ei-grid-wrap.wts-carousel {
        margin: 0 -23px;
    }
    .wsp-carousel .ei-slide, .wps-carousel .ei-slide, .wts-carousel .ei-slide {
        padding: 0 0 0 var(--ei-padding-container);
    }

    .ei-view-all>a {
        width: 150px;
        height: 150px;
    }

    .ei-list-style-1 .ei-title:before {
        width: 30px;
        height: 30px;
    }
    .ei-list-style-1 .ei-title:after {
        width: 46px;
        height: 46px;
    }
    .ei-list-style-1 .ei-item:before {
        top: 46px;
        left: 23px;
        height: calc(100% - 46px);
    }

    .ei-project-overview {
        gap: 23px;
    }

    .ei-widget-image-gallery .gallery.gallery-columns-4 .gallery-item, .ei-widget-image-gallery .gallery.gallery-columns-3 .gallery-item {
        max-width: 50% !important;
    }

    .ei-team-profile .ei-page-banner .ei-breadcrumb-wrap {
        left: unset;
        right: var(--ei-padding-container);
        max-width: calc(100% - 183px);
        margin: 0;
    }

    .ei-widget-contact-info .ei-contact-info {
        text-align: center;
    }
    .ei-widget-contact-info .ei-contact-text .ei-label {
        font-weight: 300;
    }

}
