/*========= New Css Created by DesignG =========*/
:root {
    --color-red: #de424a;
    --color-reddark: #dc353e;
    --color-grey: #303031;
    --color-lightgrey: #bfbfbf;
    --color-darkgrey: #858585;
    --color-black: #000000;
    --color-white: #ffffff;
    --color-lightergrey: #eeeeee;
    --color-pantone: #303032;
    --color-blue: #0c213c;
    --color-thin-lightgrey: #e7e7e7;
    --color-lightwhite: #f0f0f0;
    --color-lightblue: #2980b9;
    --fs-family-body: "Roboto", sans-serif;
    --fw-medium: 500;
}

body {
    overflow-x: hidden;
    font-family: var(--fs-family-body) !important;
}

.fw-medium {
    font-weight: var(--fw-medium) !important;
}

.fs-12 {
    font-size: 0.75rem;
}

.fs-14 {
    font-size: 0.875rem;
}

.fs-18 {
    font-size: 1.125rem;
}

.h1,
h1 {
    font-size: clamp(30px, 1rem + 2vw, 50px);
    font-weight: 700;
}

.h2,
h2 {
    font-size: clamp(26px, 1rem + 2vw, 40px);
    font-weight: 700;
}

.pt-6 {
    padding-top: 5rem !important;
}

.pb-6 {
    padding-bottom: 5rem !important;
}

.py-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.mt-6 {
    margin-top: 5rem !important;
}

.mb-6 {
    margin-bottom: 5rem !important;
}

.my-6 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
}

a {
    color: var(--color-reddark);
    transition: all ease-in-out 0.2s;
    text-decoration: none;
}

a:hover {
    color: var(--color-reddark);
}

/*======= Text Colors ==========*/
.text-white {
    color: var(--color-white);
}

.text-red {
    color: var(--color-red);
}

.text-reddark {
    color: var(--color-reddark);
}

.text-grey {
    color: var(--color-grey);
}

.text-lightgrey {
    color: var(--color-lightgrey);
}

.text-black {
    color: var(--color-black);
}

.text-blue {
    color: var(--color-blue);
}

.text-lightblue {
    color: var(--color-lightblue);
}

.text-color1 {
    color: #00bffc;
}

.text-color2 {
    color: #00ddb4;
}

.text-color3 {
    color: #c7e271;
}

.text-color4 {
    color: #ff93d6;
}

.text-color5 {
    color: #ff7178;
}

.text-color6 {
    color: #ffbb64;
}

/*======= Background Colors ==========*/
.bg-red {
    background: var(--color-red) !important;
}

.bg-reddark {
    background: var(--color-reddark) !important;
}

.bg-grey {
    background: var(--color-grey);
}

.bg-black {
    background: var(--color-black);
}

.bg-darkgrey {
    background: var(--color-darkgrey);
}

.bg-lightergrey {
    background: var(--color-lightergrey);
}

.bg-lightwhite {
    background: var(--color-lightwhite);
}

/*======= Buttons ==========*/
.btn {
    text-transform: uppercase;
    font-weight: 600;
    padding: 0.5rem 1.875rem !important;
    border-radius: 0px;
}

.btn:focus,
.btn:active {
    box-shadow: none
}

.btn-red {
    background-color: var(--color-reddark) !important;
    color: var(--color-white) !important;
    border: 2px solid var(--color-reddark) !important;
}

.btn-red:hover {
    background-color: transparent !important;
    color: var(--color-red) !important;
    text-decoration: none !important;
}

.btn:disabled {
    pointer-events: auto !important;
    opacity: 1 !important;
}

.btn-black-border {
    background-color: var(--color-white) !important;
    color: var(--color-black) !important;
    border: 2px solid var(--color-black) !important;
    padding: 15px 35px !important;
    border-radius: 0 !important;
}

.btn-black-border:hover {
    background-color: var(--color-red) !important;
    color: var(--color-white) !important;
    border: 2px solid var(--color-red) !important;
    text-decoration: none;
}

.btn-black-border:hover img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(6%) saturate(26%) hue-rotate(231deg) brightness(106%) contrast(106%);
}

/* ============== Header Nav Css Start Here =========== */
.offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem;
}

.nav-item .dropdown:hover .dropdown-toggle {
    display: block;
}

.offcanvas-body {
    flex-grow: 1;
    padding: 1rem 1rem;
    overflow-y: auto;
}

.z-index-9 {
    z-index: 9;
}

/* ============== Header Nav Css End Here =========== */
.banner-bg {
    background: rgba(0, 0, 0, .8) !important;
    position: relative;
    z-index: 0;
    height: 100%;
    min-height: 610px;
    display: flex;
    align-items: center;
    padding: 80px 17% 80px 50px;
}

.banner-bg::before {
    content: "";
    position: absolute;
    top: 95px;
    left: 45px;
    background: url(https://www.teslaoutsourcingservices.com/images/banner-bubble.webp) top left no-repeat;
    background-size: 100% 100%;
    width: 460px;
    height: 316px;
    z-index: -1;
}

.banner-image {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    height: 100%;
    width: 100%;
}

/* ========== Home Page Project Slider Css End ============*/
/* Home Page and Staff Page CSS Start */
.section-xl {
    max-width: 1920px;
    width: 100%;
    margin: 0 auto;
    padding: 0px 15px;
    margin-bottom: 120px;
}

.section-lg {
    max-width: 1600px;
    width: 100%;
    margin: 0 auto;
    padding: 0px 15px;
    margin-bottom: 120px;
}

.mt-120 {
    margin-top: 120px;
}

.mb-120 {
    margin-bottom: 120px;
}

.mtn-70 {
    margin-top: -70px;
}

.bg-light-white {
    background-color: var(--color-lightwhite);
}

.cursor-pointer {
    cursor: pointer;
}

.subtitle {
    display: inline-block;
    background-color: var(--color-reddark);
    color: var(--color-white);
    text-transform: uppercase;
    font-weight: 600;
    padding: 7px 15px;
    position: relative;
}

.subtitle::after {
    position: absolute;
    content: "";
    height: 38px;
    width: 60px;
    background-color: var(--color-reddark);
    display: block;
    top: 0;
    right: -59px;
    clip-path: polygon(100% 0, 0 0, 0 100%);
}

.hm-counter {
    display: flex;
    width: 100%;
    max-width: 235px;
    align-items: flex-start;
}

.mt-84 {
    margin-top: 84px;
}

.project-btn:has(.btn-grey) {
    padding: 0px !important;
}

.btn-grey {
    background-color: var(--color-lightwhite);
    line-height: 35px;
}

.btn-grey:hover {
    background-color: var(--color-red);
    color: var(--color-white);
}

.project-btn:hover .btn-grey {
    background-color: var(--color-red);
    color: var(--color-white);
}

.project-btn img {
    width: auto;
}

.project-btn::after {
    content: "";
    background: url(https://www.teslaoutsourcingservices.com/images/up-right.webp) no-repeat top left;
    background-size: 100% 100%;
    height: 55px;
    width: 55px;
}

.header-menu .navbar-brand {
    max-width: 240px;
    width: 100%;
    display: flex;
    justify-content: center;
}
.header-menu .navbar-services-brpd{
    width: 100%;
    max-width: 1440px;
    left: 0;
    border-radius: 0;
}
.header-menu .dropdown-item{font-weight: 500; padding: 2px 15px;}
.header-menu .offcanvas-body{position: relative;}
.header-menu .menu-services{border-right: 1px solid #ccc; height: 100%;}

.nav-link {
    color: var(--color-black);
}

.service-img {
    clip-path: polygon(0 0, 80% 0, 100% 30%, 100% 100%, 0 100%);
    position: relative;
}

.service-title {
    position: absolute;
    top: -1px;
    left: 0;
    width: 65%;
    background-color: var(--color-lightwhite);
    padding: 10px 10px 10px 20px;
}

.services-list::after {
    content: "";
    position: absolute;
    top: -25px;
    left: -50px;
    width: 124%;
    height: 1px;
    background-color: #00000030;
}

.services-list::before {
    content: "";
    position: absolute;
    top: -25px;
    right: -50px;
    width: 25%;
    height: 1px;
    background-color: var(--color-red);
}

.project-slider {
    display: flex;
    position: relative;
    padding-left: 90px;
}

.project-slider .owl-nav {
    width: 90px !important;
    height: 100% !important;
    position: absolute;
    left: 0;
    top: 0;
    margin: 0px;
    display: block !important;
}

.project-slider .owl-nav .owl-next,
.project-slider .owl-nav .owl-prev {
    position: initial !important;
    margin: 0px;
    background-color: var(--color-red) !important;
    display: inline-flex;
    width: 100%;
    height: 50%;
    justify-content: center;
    align-items: center;
    color: var(--color-white) !important;
    transition: all ease-in-out 0.5s;
}

.project-slider .owl-nav .owl-next {
    margin-top: 2px;
}

.project-slider .owl-nav .owl-next:hover,
.project-slider .owl-nav .owl-prev:hover {
    background-color: var(--color-black) !important;
}

.years-experience-card {
    position: absolute;
    left: calc(32% - 109px);
    top: calc(47% - 146.5px);
}

.nav-item .btn-red-new {
    padding: 32px 55px !important;
}

.btn-red-new {
    background-color: var(--color-reddark) !important;
    color: var(--color-white) !important;
    border: 2px solid var(--color-reddark) !important;
    padding: 15px 35px !important;
    border-radius: 0 !important;
}

.btn-red-new:hover {
    background-color: transparent !important;
    color: var(--color-red) !important;
    text-decoration: none !important;
}

.btn-red-new img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(123deg) brightness(108%) contrast(103%);
}

.btn-red-new:hover img {
    filter: brightness(0) saturate(100%) invert(36%) sepia(34%) saturate(4308%) hue-rotate(333deg) brightness(90%) contrast(92%);
}

.drawing-bg {
    background-image: url(https://www.teslaoutsourcingservices.com/images/bg-drawing-img.webp);
    background-size: 40% auto;
    background-position: bottom right;
    background-repeat: no-repeat;
}

.drawing-bg {
    background-image: url(https://www.teslaoutsourcingservices.com/images/bg-drawing-img.webp);
    background-size: 40% auto;
    background-position: bottom right;
    background-repeat: no-repeat;
}

.choose-us-card-hover {
    position: absolute;
    bottom: -100%;
    transition: 1s ease-in-out;
}

.choose-us-card:hover .choose-us-card-hover {
    bottom: 0;
}

.choose-us-card-hover img {
    filter: brightness(0) saturate(100%) invert(98%) sepia(100%) saturate(7%) hue-rotate(120deg) brightness(104%) contrast(102%);
}

.list-style-arrow>li {
    position: relative;
    padding-left: 2rem;
}

.list-style-arrow>li::before {
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -12px;
    left: 0px;
    height: 20px;
    width: 20px;
    background: url(https://www.teslaoutsourcingservices.com/images/icons/list-arrow.svg) no-repeat;
    background-size: 100%;
}

.list-style-arrow.list-style-arrow-box>li {
    padding-left: 65px !important;
}

.list-style-arrow.list-style-arrow-box>li::before {
    left: 25px;
}

.list-style-circle-chevron>li {
    position: relative;
    padding-left: 2rem;
}

.list-style-circle-chevron>li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0px;
    height: 20px;
    width: 20px;
    background: url(https://www.teslaoutsourcingservices.com/images/icons/circle-chevron.svg) no-repeat;
    background-size: 100%;
}

.software-bg {
    background: url(https://www.teslaoutsourcingservices.com/images/construction-drawing-bg.webp) no-repeat;
    background-size: cover;
    background-position: top left;
}

.software-container {
    max-width: 1750px;
    width: 100%;
    margin-left: auto;
    padding-left: 15px;
}

.border-top-left-radius-0 {
    border-top-left-radius: 0 !important;
}

.border-bottom-right-radius-0 {
    border-bottom-right-radius: 0 !important;
}

.cities-list {
    column-count: 4;
    list-style: none;
}

.cities-list li {
    position: relative;
    width: 100%;
    margin-bottom: 16px;
}

.cities-list li.state {
    padding-left: 27px;
}

.cities-list>li.state::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 6px;
    height: 7px;
    width: 7px;
    background: var(--color-black);
    border-radius: 100%;
}

.footer-cities {
    margin-top: -250px;
    background-color: #f0f0f0;
}

.container-fluid:has(.footer-cities) {
    margin-top: 290px;
}

.slider {
    margin: auto;
    overflow: hidden;
    position: relative;
    width: auto;
}

.slide-track {
    animation: scroll linear infinite 30s;
    display: flex;
    gap: 20px;
}

input,
select,
textarea {
    border-radius: 0 !important;
}

.staff-aug-info-img::after {
    content: "";
    height: 100%;
    width: 100%;
    background-color: var(--color-grey);
    position: absolute;
    bottom: -18%;
    left: -12%;
    z-index: -1;
}

html:has(#scrollable-content) {
    scrollbar-gutter: stable;
}

#scrollable-content {
    overflow-y: auto;
    height: 500px;
    overscroll-behavior: contain;
}

.staf-choose-mn {
    height: 500px;
    overflow-y: scroll;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.staf-choose-mn::-webkit-scrollbar {
    width: 4px;
}

.staf-choose-mn::-webkit-scrollbar-track {
    background: var(--color-lightwhite);
}

.staf-choose-mn::-webkit-scrollbar-thumb {
    background: var(--color-red);
}

.augmentation-models-outer-1::after,
.augmentation-models-outer-2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: var(--color-grey);
    width: 75%;
    height: 100%;
    z-index: -1;
    border-radius: 15px;
}

.augmentation-models-outer-2::after {
    left: auto;
    right: 0;
}

.client-testimony-icons::after {
    content: "";
    position: absolute;
    right: 10%;
    bottom: 8%;
    background-image: url(https://www.teslaoutsourcingservices.com/images/icons/testimonial-icon.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 65px;
    width: 65px;
    rotate: 180deg;
}

.client-testimony-icons::before {
    content: "";
    position: absolute;
    left: 0;
    top: -8%;
    background-image: url(https://www.teslaoutsourcingservices.com/images/icons/testimonial-icon.svg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 100%;
    width: 33%;
    z-index: -1;
    opacity: 0.2;
}

.accordion-button::after {
    background-color: var(--color-red);
    border-radius: 50%;
    padding: 10px;
    height: 25px;
    width: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: 50% 50%;
    background-position: center;
    background-image: url(https://www.teslaoutsourcingservices.com/images/icons/arrow-down-navigate.svg) !important;
}

#milestone-chart {
    max-width: 800px;
    width: 100%;
    height: 500px;
}

#chart-container {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto
}

#chart {
    width: 100%;
    height: 100%
}

button.cta {
    width: fit-content;
}

/* Portfolio CSS Start */
a:has(.portfolio){
    display: block;
    overflow: hidden;
     height: 480px;
    border-radius: 20px;
    position: relative;
}

.portfolio>img {
    transition: all .5s;
    transform: translateX(-20px);
}

.portfolio:hover>img {
    transform: translateX(0px);
}

.portfolio:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 46.5%, #000000 100%);
    opacity: 0.9;
    border-radius: 30px;
    z-index: 1;
}

.portfolio-content {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: end;
    color: var(--color-white);
    z-index: 9;
}

.portfolio:hover h3 {
    transition: all ease-in .3s;
}

.portfolio:hover h3 {
    color: var(--color-red);
}

.portfolio-title {
    backdrop-filter: blur(15px);
    padding: 25px;
    border-radius: 15px;
}

.portfolio-title span {
    display: block;
    font-size: 0.8rem;
    line-height: 1.4;
    margin-top: 6px;
    opacity: 0.9;
}

.portfolio-grid .grid {
    margin: 40px 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
}

.portfolio-grid .grid>li {
    width: calc(100% / 4 - 30px);
    margin: 0px 15px;
    margin-bottom: 30px;
    overflow: hidden;
}

.portfolio-filters .filters {
    margin-top: 40px;
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    justify-content: center;
}

.portfolio-filters .filters .button {
    padding: 10px 25px;
    margin: 5px;
    background-color: #121212;
    border: none;
    border-radius: 10px;
    transition: 150ms;
    color: var(--color-white);
    font-size: 16px;
    line-height: 25px;
    font-weight: 700;
    position: relative;
    outline: none;
    cursor: pointer;
}

.portfolio-filters .filters .button.is-checked,
.portfolio-filters .filters .button.active {
    background-color: var(--color-red);
}
.portfolio-card{height: 100%;min-height: 400px;}
.portfolio-card-effect {
    cursor: pointer;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    background-color: var(--color-red);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    rotate: -45deg;
    opacity: 0;
    transition: all .3s ease-in-out;
}

.portfolio-card:hover .portfolio-card-effect {
    opacity: 1;
}

.portfolio-card-effect:hover {
    background-color: var(--color-grey);
}

.portfolio-card img {
    height: 250px;
    width: 100%;
}

.list-style-double-arrow li {
    position: relative;
    padding-left: 1.5rem;
}

.list-style-double-arrow li::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 0px;
    height: 15px;
    width: 15px;
    background: url(https://www.teslaoutsourcingservices.com/images/icons/list-arrow.svg) no-repeat;
    background-size: 100%;
}

/* Home Page and Staff Page CSS END */
.after-boxshadow {
    position: relative !important;
}

.after-boxshadow::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(rgba(45, 45, 45, 0) 0%, rgba(45, 45, 45, 0.7) 100%);
    pointer-events: none
}
.after-black-film {
    position: relative !important;
}

.after-black-film::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(0, 0, 0, .65);
    pointer-events: none
}

.section {
    padding-left: 10rem;
    padding-right: 10rem;
}

/* .section-xl{max-width: 1920px;width: 100%;margin: 0 auto;padding: 0px 15px;} */
.counter-number {
    transition: 1s;
    height: 100%
}

.counter-number:hover {
    box-shadow: none !important;
    transition: 1s;
}

.blackcounter-number {
    border: 4px solid #9da5ac;
    border-radius: 16px;
}

.separator {
    position: relative;
}

.separator:before {
    content: "";
    position: absolute;
    width: 154px;
    height: 4px;
    left: 0;
    bottom: 0px;
    background: var(--color-red);
}

.separator:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 4px;
    bottom: 0px;
    background: var(--color-white);
    -webkit-animation: section-title-run 5s infinite linear;
    animation: section-title-run 5s infinite ease-in-out;
    animation-direction: alternate-reverse;
}

.service-btn {
    position: relative;
    overflow: hidden;
}

.service-btn:hover::after {
    opacity: 1;
}

.service-btn::after {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0%;
    top: 0;
    content: "";
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--color-white);
    text-indent: 7px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.4);
    transition: ease-in-out 0.4s;
    opacity: 0;
}

.service-btn:hover img {
    transform: scale(1.1);
}

.service-btn img {
    height: 320px;
    transform: scale(1);
    transition: ease-in-out 0.4s;
}

.service-btn span {
    position: absolute;
    bottom: 0px;
    left: 0px;
    background: var(--color-grey);
    width: 100%;
    color: var(--color-white);
    padding: 10px;
    z-index: 9
}

.border-radius {
    border-radius: 1rem;
}

.social-link {
    border: 1px solid var(--color-white);
    border-radius: 100%;
    height: 45px;
    width: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 10px;
    margin-bottom: 10px;
    transition: all ease-in-out 0.3s;
}

.social-link:first-child {
    margin-left: 0px;
}

.social-link i {
    color: var(--color-white);
    font-size: 16px;
    transition: all ease-in-out 0.3s;
}

.social-link:hover {
    background-color: var(--color-red);
}

.architectural-design-banner {
    background: url("https://www.teslaoutsourcingservices.com/images/bannerimg.webp") center no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.archi-design-banner {
    width: 100%;
    backdrop-filter: blur(27px);
    border-radius: 42px;
    padding: 45px 30px;
    border: 2px ridge var(--color-white);
}

.three-d-rendering-banner {
    background: linear-gradient(#2f2f31cc, #2f2f31cc), url(https://www.teslaoutsourcingservices.com/images/3d-rendering-services-banner-image-2.webp) center center no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.career-banner {
    background: url(https://www.teslaoutsourcingservices.com/images/contact-us.webp) top center no-repeat;
    background-size: cover;
    min-height: 400px;
}

.contact-banner {
    background: url(https://www.teslaoutsourcingservices.com/images/contact-us-banner.webp) top center no-repeat;
    background-size: cover;
}

/*Banners END For Inner pages*/
.bg-whyus {
    background: url(https://www.teslaoutsourcingservices.com/images/tos-bim-services-banner-10.webp) center left no-repeat;
    background-size: contain;
}

.content-listitem li {
    margin-bottom: 1.5rem;
    line-height: 2;
    position: relative;
    padding-left: 2rem;
}

.content-listitem li::before {
    content: "";
    width: 14px;
    height: 14px;
    background: var(--color-grey);
    display: block;
    border-radius: 3px;
    position: absolute;
    top: 11px;
    left: 0;
}

.scanbim-listitem li {
    margin-bottom: 1.5rem;
    line-height: 2;
    position: relative;
    padding-left: 2rem;
}

.scanbim-listitem li::before {
    content: "";
    width: 14px;
    height: 14px;
    background: var(--color-red);
    display: block;
    border-radius: 3px;
    position: absolute;
    top: 16px;
    left: 0;
}

.why-listitem li {
    margin-bottom: 1.5rem;
    line-height: 2;
    position: relative;
    padding-left: 2rem;
    color: var(--color-white);
}

.why-listitem li::before {
    content: "";
    width: 14px;
    height: 14px;
    background: var(--color-red);
    display: block;
    border-radius: 3px;
    position: absolute;
    top: 21px;
    left: 0;
}

.ms-150 {
    margin-left: -9.625rem;
}

.shadow-white {
    box-shadow: rgb(255 255 255 / 46%) 0px 0px 5px;
}

.top-120 {
    top: 120px;
}

.accordion-button:focus {
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    color: var(--color-black);
    background-color: var(--color-white);
    box-shadow: none;
}

.title-border-effect {
    position: relative;
}

.title-border-effect::before {
    content: '';
    border: 12px solid var(--color-red);
    border-radius: 12px;
    padding: 75px;
    position: absolute;
    left: 0;
    top: 28px;
    bottom: 28px;
}

.title-border-effect-right {
    position: relative;
    text-align: right;
}

.title-border-effect-right::before {
    content: '';
    border: 12px solid var(--color-red);
    border-radius: 12px;
    padding: 75px;
    position: absolute;
    right: 0;
    top: 28px;
    bottom: 28px;
}

.list-black-bg {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.list-black-bg li {
    background: var(--color-grey);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--color-white);
    padding: 0.5rem 1rem 0.5rem 2.5rem;
    border-radius: 5px;
    position: relative;
}

.list-black-bg li::before {
    content: '';
    background-image: url(https://www.teslaoutsourcingservices.com/images/icons/check-mark.svg);
    background-position: center left;
    width: 15px;
    height: 15px;
    position: absolute;
    top: 13px;
    left: 14px;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.list-black-bg li a {
    color: var(--color-white);
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.tab-forarchicad-page .accordion-item {
    background: transparent;
}

.tab-bggrey {
    background: #e3e3e3;
    top: -60px;
    border-radius: 4px;
    max-width: 170px;
}

.tabs .nav-tabs .nav-link {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    width: 100%;
    border: 5px solid #e3e3e3;
}

.tabs .nav-link {
    color: var(--color-grey);
}

.tabs .nav-tabs .nav-link.active {
    border: 5px solid var(--color-red);
}

.tabimgfilter img {
    filter: invert(100%) sepia(2%) saturate(7442%) hue-rotate(229deg) brightness(115%) contrast(101%);
}

.ol-list-style {
    list-style: none;
    counter-reset: item;
    padding-left: 0;
}

.ol-list-style li {
    font-size: 1.125rem;
    margin-bottom: 2rem;
    counter-increment: item;
    position: relative;
    padding-left: 2.75rem;
}

.ol-list-style li::before {
    content: "0" counter(item)".";
    color: var(--color-red);
    position: absolute;
    left: 0;
    top: -5px;
    font-size: 1.5rem;
    font-weight: 600;
}

.ol-list-style li:nth-child(n+10)::before {
    content: counter(item)".";
    color: var(--color-red);
    position: absolute;
    left: 0;
    top: -5px;
    font-size: 1.5rem;
    font-weight: 600;
}

.liststyle-arrow li {
    font-size: 1.125rem;
    color: var(--color-white);
    border-bottom: 1px solid var(--color-white);
    padding-bottom: 5px;
    position: relative;
    padding-left: 25px;
}

.liststyle-arrow li::before {
    content: '';
    width: 16px;
    height: 16px;
    background: url(https://www.teslaoutsourcingservices.com/images/icons/arrow-white.svg) bottom left no-repeat;
    background-size: 16px;
    position: absolute;
    left: 0;
    top: 3px;
}

.liststyle-arrow li a {
    color: var(--color-white);
}

.checklist-item li {
    position: relative;
    padding-left: 35px;
    font-size: 1.125rem;
    margin-bottom: 1.785rem;
}

.checklist-item li::before {
    content: '\2713';
    font-size: 1.5rem;
    position: absolute;
    left: 0;
    top: -4px;
    color: var(--color-red);
}

.grid-coloumn-2 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid-col-2 {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* Core Values */
.ol-cards>li {
    border-radius: 1rem 5rem 5rem 1rem;
    background-image: linear-gradient(to bottom right, #e9eaec, var(--color-white));
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.25));
    box-shadow: inset 2px 2px 2px white, inset -1px -1px 1px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 2rem 2rem 2rem 0;
}

.ol-cards>li>.icon {
    width: 150px;
    border-radius: 0 5rem 5rem 0;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
    position: relative;
    padding: 20px 0;
    text-align: center;
}

.ol-cards>li>div {
    width: calc(100% - 200px);
}

.ol-cards .icon img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(123deg) brightness(108%) contrast(103%);
}

/*Core Values*/
.pricelist li {
    position: relative;
    border-bottom: 1px solid #e3e3e3;
    padding: 15px 0 15px 25px;
}

.pricelist li::before {
    content: '\2713';
    position: absolute;
    font-size: 18px;
    color: #00ddb4;
    left: 0;
}

.threeD-images {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 16px;
}

.threeD-images img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    width: 100%;
    height: 100%;
}

.threeD-images:hover img {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.threeeD-bg {
    padding: 60px;
    background: linear-gradient(#2f2f31cc, #2f2f31cc), url(https://www.teslaoutsourcingservices.com/images/3d-rendering-services-image-2.webp);
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.figures-img {
    aspect-ratio: 25 / 20;
    border-radius: 43px;
    box-shadow: 0 17px 5px rgba(0, 0, 0, 0.16);
    overflow: hidden;
    max-width: 70%;
}

.figures-img img {
    height: 100%;
    width: 100%;
    animation: 8s ease-in-out infinite alternate imgAnime;
}

.border-red-bottom {
    border-bottom: 5px solid var(--color-red) !important;
}

.border-red-right {
    border-right: 5px solid var(--color-red) !important;
}

.border-red-left {
    border-left: 5px solid var(--color-red) !important;
}

/* Timeline Design Css From Codepen */
/* ================ The Timeline ================ */
.timeline {
    position: relative;
    margin: 0 auto;
    margin-top: 20px;
    padding: 1em 0;
    list-style-type: none;
}

.timeline:before {
    position: absolute;
    left: 50%;
    top: 0;
    content: "";
    display: block;
    width: 6px;
    height: 100%;
    margin-left: -3px;
    background: rgb(80, 80, 80);
    background: -moz-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
    background: -webkit-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
    background: -o-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
    background: linear-gradient(to bottom, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
    z-index: 5;
}

.timeline li {
    padding: 1em 0;
}

.timeline li:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.direction-l {
    position: relative;
    width: 47.3%;
    float: left;
    text-align: right;
}

.direction-r {
    position: relative;
    width: 47.3%;
    float: right;
}

.flag-wrapper {
    position: relative;
    display: inline-block;
    text-align: center;
}

.flag {
    position: relative;
    display: inline;
    background: rgb(248, 248, 248);
    padding: 6px 10px;
    border-radius: 5px;
    font-weight: 600;
    text-align: left;
}

.direction-l .flag {
    -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
}

.direction-r .flag {
    -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
}

.direction-l .flag:before,
.direction-r .flag:before {
    position: absolute;
    top: 50%;
    right: -40px;
    content: ' ';
    display: block;
    width: 12px;
    height: 12px;
    margin-top: -10px;
    background: var(--color-white);
    border-radius: 10px;
    border: 4px solid rgb(255, 80, 80);
    z-index: 10;
}

.direction-r .flag:before {
    left: -40px;
}

.direction-l .flag:after {
    content: "";
    position: absolute;
    left: 100%;
    top: 50%;
    height: 0;
    width: 0;
    margin-top: -8px;
    border: solid transparent;
    border-left-color: rgb(248, 248, 248);
    border-width: 8px;
    pointer-events: none;
}

.direction-r .flag:after {
    content: "";
    position: absolute;
    right: 100%;
    top: 50%;
    height: 0;
    width: 0;
    margin-top: -8px;
    border: solid transparent;
    border-right-color: rgb(248, 248, 248);
    border-width: 8px;
    pointer-events: none;
}

.time {
    display: inline-block;
    padding: 4px 6px;
    background: rgb(248, 248, 248);
}

.desc {
    margin: 1em 0.75em 0 0;
    line-height: 1.5em;
}

.direction-r .desc {
    margin: 1em 0 0 0.75em;
}

/* ================ Timeline Media Queries ================ */
/* US MAP 50 State section */
.systems-img {
    height: 100px;
    width: 134px;
    border-radius: 25%;
    background: var(--color-white);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
}

/* US MAP 50 State section */
/*Thank you page Css Start*/
.thank-you-page h1 {
    font-size: calc(3.5rem + 1.5vw) !important;
}

/*Thank you page Css End*/
/* Samples Page Css start */
.titleportfolio {
    background-color: var(--color-grey);
    color: var(--color-white);
    text-align: center;
    padding: 10px;
}

.titleportfolio+a {
    display: block;
    text-align: center;
    overflow: hidden;
}

.clash {
    background: linear-gradient(90deg, #303031 40%, var(--color-white)00), url(https://www.teslaoutsourcingservices.com/images/all-banner/bim.webp) center right no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

.samples-slider .item img {
    max-width: 500px;
    margin: 0 auto;
}

.service-btn.samples-mn img {
    height: 300px;
}

/* Samples Page Css End */
/*Everett Alvarez Page CSS Start*/
.project-details {
    border: 1px solid #12223B30;
    padding: 30px;
}

.project-details ul li {
    border-bottom: 1px solid #12223B30;
}

.project-details ul li:last-child {
    border-bottom: none;
}

/*Everett Alvarez Page CSS End*/
/* BIM Services Page CSS Start */
.bim-blog-card-img {
    margin-top: -50px;
}

.we-serve {
    transition: all ease-in-out 0.5s;
    position: relative;
    overflow: hidden;
}

.we-serve:after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(0deg, transparent, transparent 30%, #de424a8e);
    transform: rotate(-45deg);
    transition: all 0.8s ease;
    opacity: 0;
}

.we-serve:hover {
    box-shadow: 0px 0px 20px #de424a8e;
    transform: scale(1.03);
}

.we-serve:hover::after {
    opacity: 1;
    transform: rotate(-45deg) translateY(100%);
}

/* BIM Services Page Css End */
/* Architectural CAD Drafting Services Page Css Start */
.choose-us-icon {
    width: 110px;
    height: 90px;
    box-shadow: 2px 2px 2px 2px var(--color-red);
    margin-right: 25px;
    margin-bottom: 25px;
    background: var(--color-white);
    display: flex;
    justify-content: center;
    transition: all ease-in-out 0.5s;
}

.choose-us-icon img {
    transition: 0.5s;
}

.choose-us-icon:hover img {
    transform: rotatey(180deg);
    transition: 0.5s;
}

.border-red {
    border-color: var(--color-red) !important;
}

/* Architectural CAD Drafting Services Page Css End */
/* Management Tesla CSS Start */
.social-ld {
    border: 1px solid var(--color-red);
    border-radius: 100%;
    height: 35px;
    width: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bg-style-partner {
    background: linear-gradient(-30deg, rgba(173, 173, 173, 1) 0%, rgba(94, 96, 95, 1) 100%);
}

.bg-style01 {
    background: linear-gradient(-45deg, rgba(216, 216, 216, 1) 0%, rgba(116, 117, 118, 1) 100%);
}

.bg-style02 {
    background: linear-gradient(-50deg, rgba(132, 132, 132, 1) 0%, rgba(171, 171, 171, 1) 100%);
}

/* Management Tesla CSS End */
/* Scan to BIM Services Css Start */
/* Scan to BIM Services Css End */
/* Timeline Design Css END */
/* 3d Rendering Samples css Start*/
.tab_btn {
    border: none;
    outline: none;
    padding: 12px 14px;
    background-color: var(--color-lightergrey);
    cursor: pointer;
    font-weight: 700;
    width: 100%;
    max-width: 300px;
    color: var(--color-black);
    margin: -1px 2px;
    border-radius: 50px;
}

.tab_btn.active {
    background-color: var(--color-black);
    color: var(--color-white);
}

.outer {
    margin: 0 auto;
    max-width: 900px;
}

.outer .big .item {
    width: 80%;
    display: flex;
    justify-content: center;
}

.outer .big .item {
    height: auto;
    width: auto;
    max-width: 100%;
    vertical-align: top;
}

.owl-theme .owl-next,
.owl-theme .owl-prev {
    position: absolute;
    text-align: center;
    top: 50%;
    margin-top: -60px;
    font-size: 80px !important;
}

.owl-theme .owl-prev {
    left: -3%;
}

.owl-theme .owl-next {
    right: -3%;
}

.owl-theme.samples-slider .owl-prev {
    left: 0%;
}

.owl-theme.samples-slider .owl-next {
    right: 0%;
}

.thumbs .owl-item,
.thumbs-2 .owl-item,
.thumbs-3 .owl-item {
    padding: 15px 0px;
    border: 1px solid var(--color-lightgrey);
    border-radius: 5px;
    opacity: 0.4;
}

.thumbs .owl-item.active.current,
.thumbs-2 .owl-item.active.current,
.thumbs-3 .owl-item.active.current {
    opacity: 1;
}

.case-study,
.samples {
    display: none;
}

.case-study.active,
.samples.active {
    display: block;
}

/* Construction Documentation Hotel Css */
.border-lg-right {
    border-right: 3px solid rgb(121, 115, 115);
}

.border-sm-right {
    border-right: 5px solid #dee2e6;
}

/* background section */
.background {
    background-color: rgb(53, 53, 53);
    border-radius: 2em;
    color: white;
}

/* background section img  */
.la-quinta-jackson-background-section-bg {
    background: url("https://www.teslaoutsourcingservices.com/images/case-study/la-quinta-jackson/jackson_4.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 75vh;
}

/* first table */
.unit-breakdown table {
    border-collapse: separate;
    border-spacing: 0 2px;
}

.unit-breakdown th,
.unit-breakdown td {
    padding: 9px 0;
    width: 1%;
    font-size: 18px;
    border: 1px solid #afafaf;
    background: var(--color-white);
}

.unit-breakdown th {
    width: 8%;
    padding-left: 20px;
    line-height: normal;
    text-transform: capitalize;
    background-color: #d1d1d1;
    color: black;
}

.unit-breakdown th:last-child,
.unit-breakdown td:last-child {
    width: 6%;
}

.unit-breakdown th:hover {
    background-color: #929090;
}

.unit-breakdown td {
    text-align: center;
    font-weight: 500;
}

.unit-breakdown td:hover {
    background: #ebf4ff1c;
}

.unit-breakdown thead th:not(:first-child) {
    font-weight: 500;
    text-align: center;
    padding-left: 0;
}

/* first table &*/
/* seconde table */
.compliance-table th,
.compliance-table td {
    border: 2px solid #616161;
    border-left-width: 1px;
}

.compliance-table tr td {
    width: 70%;
    padding-left: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 500;
}

.compliance-table tr td:not(:last-child) {
    width: 30%;
    padding-left: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
    font-weight: 700;
    font-size: 19px;
    border-right: 1px solid #c3c5c9;
}

.compliance-table tr:hover {
    background: #2222221c;
}

.compliance-table td:hover {
    background: #1d375a1c;
}

.compliance-table table table td {
    border: 0;
}

.compliance-table table table tr:first-child {
    border-bottom: 2px solid #616161;
}

/* seconde table &*/
/* swiper section */
/* event Slider css */
/*Bim modeling hospital Css*/
.memorial-hospital-project-details {
    box-shadow: inset 0px 0px 28px 0px #fafaff;
}

.memorial-hospital-project-details>span {
    height: 4px;
    border-radius: 5px;
}

.structure-slider.owl-carousel a {
    display: flex;
    height: 320px;
    align-items: center;
    border-radius: 4px;
    background-color: var(--color-white);
}

.structure-slider.owl-carousel a img {
    height: 100%;
}

/* border and background section for mobile view */
.form-groups {
    width: 48%;
    padding: 0 1%;
    float: left;
    margin-bottom: 10px;
}

/* Contact Us CSS Start */
.form-control:focus,
.form-select:focus {
    border-color: #000000 !important;
    box-shadow: none !important;
}

.captcha-input {
    height: 85px;
}

.form-floating>.form-control:not(:placeholder-shown)~label::after {
    background-color: transparent !important;
}

/* Contact Us CSS End */
/* Contact Us Page CSS Start */
.contact-us-form::before {
    content: "";
    position: absolute;
    height: 50%;
    width: 100%;
    top: 0;
    background-color: #f5f5f5;
    z-index: -1;
}

.contact-us-form::after {
    content: "";
    position: absolute;
    height: 50%;
    width: 100%;
    bottom: 0;
    background-color: black;
    z-index: -1;
}

.contact-us-form {
    padding-bottom: 200px;
}

.contact {
    background: #f5f5f5;
    border-top: 5px solid var(--color-red);
    border-bottom: 5px solid var(--color-red);
}

.mt-160 {
    margin-top: -160px;
}

/* Contact Us Page CSS End */
/* Cookie Modal */
.siteConsentContainer {
    z-index: 999;
    width: 350px;
    min-height: 20px;
    box-sizing: border-box;
    padding: 30px 30px 30px 30px;
    overflow: hidden;
    position: fixed;
    bottom: 30px;
    left: 30px;
    display: none;
    border-radius: 15px;
    box-shadow: rgb(0 0 0 / 46%) 0px 0px 5px;
    background: var(--color-white);
}

.siteConsentContainer .siteTitle {
    font-family: sans-serif;
    color: var(--color-red);
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
    display: block;
}

.siteConsentContainer .siteDesc p {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    color: #000000;
    font-size: 18px;
    line-height: 20px;
    display: block;
    margin-top: 10px;
}

.siteConsentContainer .siteDesc a {
    font-family: sans-serif;
    color: var(--color-reddark);
    text-decoration: underline;
}

.siteConsentContainer .siteDesc a:hover {
    color: #000000;
}

.siteConsentContainer .siteButton a {
    display: inline-block;
    font-family: sans-serif;
    color: var(--color-white) !important;
    font-size: 16px;
    font-weight: 500;
    margin-top: 18px;
    background: var(--color-reddark);
    box-sizing: border-box;
    padding: 8px 28px;
    text-align: center;
    transition: background 0.5s;
    border-radius: 100px;
    letter-spacing: 1px;
    border: 1px solid var(--color-white);
}

.siteConsentContainer .siteButton a:hover {
    cursor: pointer;
    background: var(--color-grey);
    color: var(--color-white);
}

/*DMCA badge CSS*/
.dmca-badge {
    font-size: 12px !important
}

/* Team events */
.events {
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
}

.events #big .item img {
    height: 450px;
    border-radius: 10px;
    object-fit: cover;
}

.events #thumbs {
    position: absolute;
    bottom: -6%;
    max-width: 500px;
}

.events #thumbs .item img {
    height: 70px;
    width: 70px;
    transform: scale(0.8);
    border-radius: 50%;
    object-fit: cover;
}

.events #thumbs .current .item img {
    transition: .3s all ease;
    object-fit: cover;
    border: 4px solid #2c2c2c;
    transform: scale(1.0);
}

/* Home page Client Testimonial Css Start */
/* Hidden Text for Social Icons in the footer */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap
}

/* Mep BIM Co-ordination Services Page CSS */
.bordered-number {
    font-size: 60px;
    -webkit-text-stroke: 1px var(--color-white);
    color: transparent;
    transition: 0.4s ease-in-out;
    font-weight: 700;
}

.ol-cards.commercial-benefits li {
    width: 48%;
}

.ol-cards.commercial-benefits {
    display: flex;
    justify-content: space-between;
}

/* project carousel */
.owl-projects-gallery .owl-item img {
    height: 350px !important
}

.owl-projects-card {
    overflow: hidden;
}
.owl-projects-card .title{
    display: block;    
    width: 100%;
    background: var(--color-red);
    padding: 15px;
    text-align: center;
    color: var(--color-white);
    font-weight: 700;
    position: relative;
    z-index: 2;
}
 
.owl-projects-card-img{
    position: relative;
}
/* .owl-projects-card-img img{
    height: 200px;
} */
.owl-projects-card .info {
    position: absolute;
    bottom: -100%;
    left: 0;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.7);
    transition: .5s ease-in-out;
    padding: 15px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
}
.owl-projects-card:hover .info {
    bottom: 0;
    opacity: 1;
    visibility: visible;
}

/* project carousel END*/
/* video CSS */
.bim-coordination-video .video-wrapper {
    position: relative;
    width: 100%;
    cursor: pointer;
}

.bim-coordination-video video {
    width: 100%;
    display: block;
}

.bim-coordination-video .custom-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background-color: rgba(255, 0, 0, 0.8);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.3s;
}

.bim-coordination-video .custom-play-btn::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 20px solid white;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
}
.bim-coordination-video .custom-play-btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(255, 0, 0, 0.5);
    border-radius: 100%;
    transform: scale(1);
    transition: .5s ease-in-out;
    animation: scale-btn 1.1s infinite;
    z-index: -1;
}

@keyframes scale-btn {
    0% {
        transform: scale(1);
    }
  
    100% {
        transform: scale(1.8);
    }
}

.bim-coordination-video .custom-play-btn.hide {
    opacity: 0;
    pointer-events: none;
}

/* video CSS END*/
/* BIM Services */
.bim-services-information-modeling {
    position: relative;
    overflow: hidden;
    height: 410px !important;
}

.bim-services-information-modeling .service-info {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    transition: all .5s ease-in-out;
    backdrop-filter: blur(10px);
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
}

.bim-services-information-modeling .service-name {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    transition: all .5s ease-in-out;
    background: var(--color-red);
}

.bim-services-information-modeling .service-info {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.bim-services-information-modeling .service-info a {
    width: fit-content;
    margin-top: 15px;
}

.bim-services-information-modeling:hover .service-name {
    opacity: 0;
}

.bim-services-information-modeling:hover .service-info {
    opacity: 1;
}

/* BIM Services END */
/* Case Study Css Start */
.fs-12 {
    font-size: 12px;
}

.project-circle {
    height: 62px;
    width: 62px;
    border-radius: 100%;
    border: 1px solid #E0E0E0;
}

.list-style-red-circle>li {
    position: relative;
    padding-left: 2rem;
}

.list-style-red-circle>li::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0px;
    height: 10px;
    width: 10px;
    background: url(https://www.teslaoutsourcingservices.com/images/icons/new-moon.svg) no-repeat top left;
    background-size: 100% 100%;
}

.project-hl-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    width: 70px;
    border-radius: 100%;
    border: 1px solid var(--color-black);
    margin-bottom: 20px;
}

.project-hl-icon.project-hl-icon-white {
    border-color: var(--color-white);
}

.roofing-pj-list li>span {
    width: 50%;
}

.india-bazar-banner {
    background: url(https://www.teslaoutsourcingservices.com/images/case-study/3d-rendering-of-india-bazaar.webp) no-repeat top left;
    background-size: 100% 100%;
    padding: 150px 40px 50px 40px;
}

.img-output-frem {
    position: relative;
    padding: 50px 0px 50px 50px;
}

.img-output-frem::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 50%;
    background: var(--color-grey);
    z-index: -1;
}

.drawing-white-bg {
    background-image: url(https://www.teslaoutsourcingservices.com/images/bg-drawing-white-img.webp);
    background-size: 40% auto;
    background-position: bottom right;
    background-repeat: no-repeat;
}

/* Neearaj ase Study css */
.w-90 {
    width: 90%;
}

.vertical-border::after {
    content: "";
    position: absolute;
    height: 70%;
    width: 100%;
    border-radius: 16px;
    border-left: 4px solid var(--color-red);
    border-top: 4px solid var(--color-red);
    border-bottom: 4px solid var(--color-red);
    z-index: -1;
}

.info-border::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    background: var(--color-red);
    z-index: -1;
    left: 0;
}

.workflow-list>li {
    position: relative;
    padding-left: 36px;
    cursor: pointer;
}

.workflow-list>li::after {
    content: "";
    position: absolute;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--color-red);
    left: 0;
    top: 0;
    transition: 0.5s ease-in-out;
    border: 1px solid var(--color-grey)
}

.workflow-list>li:hover:after {
    box-shadow: 0px 0px 10px 2px var(--color-grey);
}

.workflow-list>li::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 4px;
    background: var(--color-grey);
    left: 8px;
    top: 0;
}

.workflow-list>li:last-child::before {
    height: 0;
}

.workflow-number {
    height: 50px;
    width: 50px;
    background: var(--color-grey);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 30px;
    flex-shrink: 0;
}

.workflow-detail#scrollable-content {
    height: 455px;
    -webkit-overflow-scrolling: touch;
}

.workflow-detail::-webkit-scrollbar {
    width: 4px;
}

.workflow-detail::-webkit-scrollbar-track {
    background: var(--color-lightwhite);
}

.workflow-detail::-webkit-scrollbar-thumb {
    background: var(--color-red);
}

.ordered-list {
    counter-reset: number;
}

.ordered-list>li {
    position: relative;
    counter-increment: number;
    padding-left: 70px;
}

.ordered-list>li::before {
    content: "0" counter(number);
    position: absolute;
    height: 50px;
    width: 50px;
    background: var(--color-grey);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 0;
    color: var(--color-red);
    font-size: 24px;
    font-weight: bold;
}

.list-style-arrow-circle>li {
    position: relative;
    padding-left: 2rem;
}

.list-style-arrow-circle>li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0px;
    height: 20px;
    width: 20px;
    background: var(--color-red);
    border-radius: 100%;
}

#manmonth-chart {
    width: 100%;
    height: 500px;
}

#cost-chart {
    width: 100%;
    height: 100%;
}

.chart-container {
    width: 100%;
    height: 300px;
    margin: 0 auto;
    position: relative;
    background: transparent;
}

#donutchart {
    width: 100%;
    height: 100%;
}

#center-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    font-weight: bold;
    color: var(--color-red);
    pointer-events: none;
    z-index: 10;
}

.btn.btn-cta {
    background-color: var(--color-red);
    color: white;
}

a:hover .btn.btn-cta {
    background-color: var(--color-lightwhite) !important;
    color: black !important;
}

a:has(.btn-cta) {
    width: fit-content;
}

a:has(.btn-cta):hover {
    text-decoration: none !important;
}

.border-sm-end {
    border-right: 1px solid var(--color-lightgrey);
}

.border-bottom-grey {
    border-bottom: 1px solid var(--color-lightgrey);
}

.dotted-line>li {
    padding-left: -10px;
}

.dotted-line>li>span {
    height: 80px;
    width: 80px;
    border-radius: 50%;
    background-color: var(--color-grey);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 24px;
    flex-shrink: 0;
    z-index: 999;
}

.dotted-line>li>span>img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(121deg) brightness(106%) contrast(101%);
}

.dotted-line::before {
    content: "";
    position: absolute;
    height: 100%;
    width: 40px;
    border-right: 3px dotted var(--color-red);
    z-index: 0;
}

.btn.btn-red-new {
    width: fit-content;
}

.project-btn:has(.btn-white) {
    padding: 0px !important;
}

.btn-white {
    background-color: var(--color-white) !important;
    line-height: 30px !important;
}

.btn-white:hover {
    background-color: var(--color-red);
    color: var(--color-white);
}

.project-btn:hover .btn-white {
    background-color: var(--color-red) !important;
    color: var(--color-white) !important;
}

/* Neearaj ase Study css */
/* Service Box Css Start */
.service-box {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    position: sticky;
    top: 120px;
}

.service-header {
    background-color: var(--color-red);
    color: var(--color-white);
    font-weight: bold;
    padding: 12px 16px;
    font-size: 16px;
}

.service-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.service-list li {
    border-bottom: 1px solid #eee;
    background-color: var(--color-white);
    transition: background-color 0.3s;
}

.service-list li:last-child {
    border-bottom: none;
}

.service-list li a {
    display: flex !important;
    align-items: center;
    padding: 12px 16px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s;
}

.service-list li a i {
    margin-right: 10px;
    min-width: 18px;
    text-align: center;
}

.service-list li:hover,
.service-list li.active {
    background-color: #f9f9f9;
}

.service-list li:hover a,
.service-list li.active a {
    color: var(--color-red);
    font-weight: bold;
}

.service-list-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    list-style: none;
    margin: 0;
    padding: 0
}

.service-list-row a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px 0 10px;
    height: 44px;
    border-radius: 999px;
    background: var(--color-white);
    color: #0B1020;
    text-decoration: none;
    border: 1.5px solid #E6E9EF;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.service-list-row a:hover {
    border-color: var(--brand-accent);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .06)
}

.service-list-row a:active {
    transform: translateY(1px)
}

.service-list-row a:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--ring)
}

.service-list-row-icon {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    border: 1.5px solid var(--color-red);
    color: var(--color-red);
    flex: 0 0 auto;
    background: var(--color-white);
}

.service-list-row-label {
    font-weight: 500;
}

/* Service Box Css End */
/* Country Page Css Start */
.bim-service-img {
    top: 60%;
    right: 45%;
    border: 7px solid var(--color-white);
}

.bim-services-box {
    top: 12%;
    left: 10%;
    width: 250px;
    height: 230px;
}

.portfolio-country-card img {
    height: 350px;
}

.portfolio-main-icon {
    cursor: pointer;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 0;
    display: flex;
    justify-content: end;
    padding: 20px;
    transition: all .3s ease-in-out;
}

.portfolio-main-icon:hover {
    opacity: 1;
}

.portfolio-icon-list {
    background-color: var(--color-white);
    color: var(--color-black);
    width: 55px;
    height: 55px;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease-in-out 0.3s;
}

.portfolio-icon-list:hover {
    color: var(--color-red);
}

.portfolio-icons a:hover {
    text-decoration: none !important;
}

/* Country Page Css End */
.process-card {
    background: var(--color-white);
    border: none;
    border-radius: 16px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    position: relative;
    height: 100%;
}

.process-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(222, 66, 74, 0.15);
}

.icon-wrap {
    width: 80px;
    height: 80px;
    background: var(--color-red);
    color: var(--color-white);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin: 0 auto 20px;
}

/* Scan To Bim Page Css Start */
.arrow-link {
    transition: all ease-in-out 0.3s;
}

.arrow-link::after {
    font-family: "Font Awesome 5 Free";
    content: "\f061";
    display: inline-block;
    vertical-align: middle;
    font-weight: 900;
    margin-left: 5px;
    vertical-align: middle;
    transform: rotate(300deg);
    font-size: 18px;
    color: var(--color-red);
}

.arrow-link:hover {
    color: var(--color-red) !important;
    text-decoration: none !important;
}

.card-slider {
    padding-bottom: 30px;
}

.card-slider .swiper-button-next,
.card-slider .swiper-button-prev {
    color: var(--color-red);
}

.card-slider .swiper-button-next:after,
.card-slider .swiper-button-prev:after {
    font-size: 25px;
}

.card-slider .swiper-pagination-bullet-active {
    background: var(--color-red)
}

.card-slider .swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, -4px);
    right: auto;
}

.card-slider .swiper-button-next {
    right: var(--swiper-navigation-sides-offset, -4px);
    left: auto;
}

.nav-tabs .nav-link {
    background-color: var(--color-white);
    color: var(--color-black);
    border: 1px solid #dee2e6;
    border-radius: 0;
    padding: 0.6rem 1.2rem;
    font-weight: 500;
    transition: background-color 0.3s, color 0.3s;
}

.nav-tabs .nav-link.active {
    background-color: var(--color-red);
    color: var(--color-white);
    font-weight: 700;
}

.nav-tabs .nav-link:hover:not(.active) {
    background-color: #f5f5f5;
    color: var(--color-black);
}

.tab-pane {
    transition: opacity 0.3s ease-in-out;
    border-bottom: 1px solid #dee2e6;
}

.bim-process {
    transition: box-shadow 0.3s;
}

.process-title {
    z-index: 2;
    transition: transform 0.3s cubic-bezier(.4, 0, .2, 1);
}

.bim-process:hover .process-title {
    transform: translateY(-40px) scale(0.95);
}

.process-description {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    pointer-events: none;
    padding: 0 10px 20px 10px;
    color: var(--color-black);
    font-size: 1rem;
    transition: opacity 0.35s cubic-bezier(.4, 0, .2, 1), transform 0.35s cubic-bezier(.4, 0, .2, 1);
    transform: translateY(30px);
    z-index: 3;
}

.bim-process:hover .process-description {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.concern-icon {
    width: 50px;
    height: 50px;
    background: var(--color-red);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
}

.section-subtitle {
    font-size: 1.125rem;
    color: #576574;
    max-width: 65ch;
    margin: 1rem auto 0;
}

.chart-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    height: 300px;
    max-height: 40vh;
}

.lod-tab {
    background: none;
    border: none;
    padding: 20px;
    width: 100%;
    text-align: left;
    font-weight: 600;
    cursor: pointer;
}

.lod-tab.active {
    background-color: var(--color-red);
    color: var(--color-white) !important;
}

.lod-tab.active .lod-subtitle {
    color: var(--color-white) !important;
}

.lod-content {
    display: none;
}

.lod-content.active {
    display: block;
}

#project-size {
    accent-color: var(--color-red);
}

#project-complexity {
    accent-color: rgba(41, 128, 185, 1);
}

/* Scan To Bim Page Css End */
.dropdown-item:hover {
    text-decoration: underline;
}

.dropdown-item:active {
    background-color: transparent !important;
    color: var(--color-black);
    font-weight: 600;
}

.bg-green-circle {
    color: #28a745;
}

.counter-content {
    width: 100%;
    max-width: 240px;
    display: flex;
    align-items: start;
}

/* New Case Study Css Start */
::selection {
    background-color: var(--color-red);
    color: var(--color-white);
}

.pt-120 {
    padding-top: 120px;
}

.pb-120 {
    padding-bottom: 120px;
}

.crock-img-wrapper .design-line {
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 43%;
    height: 200px;
    background-color: var(--color-black);
    z-index: -1;
}

Z .model-image-box {
    transition: transform 0.3s ease;
}

.model-image-box:hover {
    transform: translateY(-5px);
}

.workflow-box {
    padding: 1.5rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.workflow-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.step-num {
    bottom: 10px;
    right: 10px;
    font-size: 2.5rem;
    color: #ffd6d6;
}

.workflow-box h3 {
    padding-bottom: 6px;
    margin-bottom: 12px;
}

.workflow-box h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 3px;
    border-radius: 2px;
    background: #ffb3b3;
}

.list-style-custom {
    list-style: none;
    padding-left: 1.5rem;
}

.list-style-custom li {
    display: flex;
}

.list-style-custom li::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    margin-right: 0.75rem;
    background-color: var(--color-red);
    border-radius: 50%;
    vertical-align: middle;
    flex-shrink: 0;
    margin-top: 8px;
}

.list-style-custom li ul {
    padding-left: 1.5rem;
}

.model-image-box img {
    border-radius: 1rem;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.project-deliveries-icon {
    height: 100px;
    width: 100px;
}

.building-area-table {
    border: 1px solid var(--color-black);
}

.building-area-table th {
    font-size: 18px;
    border: 1px solid var(--color-black);
    padding: 10px;
    background-color: #bec0bf;
}

.building-area-table td {
    border: 1px solid var(--color-black);
    padding: 10px;
    font-weight: 500;
    font-size: 18px;
}

.unit-breakdown-avid-table th {
    font-size: 18px;
    padding: 10px;
    background-color: #bec0bf;
}

.unit-breakdown-avid-table td {
    padding: 10px;
    font-weight: 500;
    font-size: 18px;
}

.unit-breakdown-avid-table tr:nth-child(even) {
    background-color: #f2f2f2;
}

.unit-breakdown-candlewood-table th {
    font-size: 18px;
    padding: 10px;
    border: 1px solid var(--color-black);
    background-color: var(--color-grey);
    color: var(--color-white);
}

.unit-breakdown-candlewood-table td {
    font-size: 18px;
    padding: 10px;
    border: 1px solid var(--color-black);
}

html:has(.scrollable-content) {
    scrollbar-gutter: stable;
}

.scrollable-content {
    overflow-y: auto;
    overscroll-behavior: contain;
}

.list-grey-bg {
    grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.list-grey-bg li {
    background: var(--color-lightwhite);
    font-size: 1.125rem;
    font-weight: 500;
    color: var(--color-black);
    padding: 0.5rem 1rem 0.5rem 2.5rem;
    border-radius: 5px;
    position: relative;
}

.list-grey-bg li::before {
    content: "";
    background-image: url(.https://www.teslaoutsourcingservices.com/images/icons/check-circle.svg);
    background-position: center left;
    background-size: 100%;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 10px;
    left: 14px;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.list-grey-bg li a {
    color: var(--color-black);
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
}

.list-grey-bg.list-grey-bg-deliverables {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* New Case Study Css End */
.testimonial-card {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 25px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    transition: all 0.4s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.quote-icon img {
    border-radius: 50%;
    padding: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background-color: var(--color-white);
}

.core-value-title {
    clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 95%, 0 70%);
}

.timeline-1::before {
    content: "";
    position: absolute;
    left: 45px;
    top: 100px;
    bottom: 0;
    width: 2px;
    background: var(--color-lightwhite);
    height: calc(100% - 180px);
}

.timeline-1-item {
    padding: 20px 0;
}

.timeline-1-item .icon-box {
    z-index: 100;
    width: 70px;
    height: 70px;
    border-radius: 50%;
}

.service-number-box {
    height: 50px;
    width: 50px;
}

.service-box-white {
    height: 70%;
}

.industries-card {
    padding: 25px 20px;
    box-shadow: 0 3px 18px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    text-align: left;
    border: 1px solid #eee;
}

.industries-card-icon {
    height: 80px;
    width: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--color-lightwhite);
}

.industries-card h3 {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.company-vision-mission-tabs .nav-item {
    width: 100%;
}

.company-vision-mission-tabs .nav-tabs .nav-link {
    background-color: #f7f7f7;
    color: #616161;
    border: none;
    border-top: 2px solid transparent;
    font-size: 20px;
    width: 100%;
}

.company-vision-mission-tabs .nav-tabs .nav-link.active {
    color: var(--color-red);
    border-top-color: var(--color-red);
}

.cm-counter {
    position: absolute;
    bottom: -0px;
    right: 30px;
    width: 100%;
    max-width: 270px;
    backdrop-filter: blur(30px);
    background: var(--color-red);
}

.cm-accordion .accordion-header+.accordion-collapse.show {
    background: var(--color-lightwhite);
}

.cm-role {
    padding-top: 130px;
    position: relative;
}

.cm-role::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: var(--color-lightwhite);
    max-width: 570px;
    z-index: -1;
}

/* .quality-confidentiality-content{padding: 10% 0 6% 16%;} */
/* infographics css start  */
.infographics-banner-img img {
    border: 8px solid var(--color-white);
}

.infographics-card-img {
    margin-top: -60px;
}

.infographics-title,
.infographics-content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.infographics-title {
    -webkit-line-clamp: 2;
}

.infographics-content {
    -webkit-line-clamp: 3;
}

/* infographics css end  */
/*  company page css start   */
.company-banner {
    background: url(https://www.teslaoutsourcingservices.com/images/company-banner-bg.webp) no-repeat;
    background-size: 100% contain;
    background-position: bottom left;
    animation-duration: 5s;
    animation-delay: 1000ms;
    animation-fill-mode: forwards;
    height: 550px;
    animation-name: bgPositionBottomToTop;
    animation-timing-function: linear;
    transform-origin: right;
}

.company-banner::before {
    position: absolute;
    content: '';
    background: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.what-sets-us-Apart-card-container {
    padding: 0 80px;
}

.what-sets-us-Apart-card-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    counter-reset: card;
}

.what-sets-us-Apart-card {
    padding: 30px 60px 30px 30px;
    counter-increment: card;
    height: 92%;
}

.what-sets-us-Apart-card::after {
    content: counter(card, decimal-leading-zero);
    position: absolute;
    top: 40px;
    right: -85px;
    width: 120px;
    height: 80px;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    font-size: 40px;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-white);
    z-index: 1;
}

.what-sets-us-Apart-card-grid>div:nth-child(1) .what-sets-us-Apart-card::after {
    background: #9FD440;
}

.what-sets-us-Apart-card-grid>div:nth-child(2) .what-sets-us-Apart-card::after {
    background: #44D0A1;
}

.what-sets-us-Apart-card-grid>div:nth-child(3) .what-sets-us-Apart-card::after {
    background: #3BCFDD;
}

.what-sets-us-Apart-card-grid>div:nth-child(4) .what-sets-us-Apart-card::after {
    background: #4184DD;
}

.what-sets-us-Apart-card-grid>div:nth-child(5) .what-sets-us-Apart-card::after {
    background: #5371A9;
}

.industry-we-support {
    transition: all 0.3s ease;
}

.industry-we-support:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}

.industry-we-support img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.company-project-slider .swiper {
    position: static !important;
}

.company-project-slider .swiper-button-next,
.company-project-slider .swiper-button-prev {
    position: static !important;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    color: var(--color-white);
    background: var(--color-red);
    border: none;
}

.company-project-slider .swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 20px;
    font-weight: 700;
}

.company-project-slider .swiper-button-next {
    left: 53%;
}

.company-project-slider .swiper-button-prev {
    left: 48%;
}

.company-project-slider .project-card h3 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.core-values-icon {
    width: 72px;
    height: 72px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-red);
}

/*  company page css end   */
.project-highlight .icon-box {
    width: 50px;
    height: 50px;
}

.client-requirement .icon-box {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
}

.bim-simulation-video {
    background: url('https://www.teslaoutsourcingservices.com/images/case-study/4d-bim-simulation-for-a-commercial-building-02.webp') no-repeat center center;
    background-size: cover;
    width: 100%;
    padding: 8% 0px;
    position: relative;
    background-attachment: fixed;
}

.bim-simulation-video::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 0;
}

.bim-simulation-video-content {
    display: inline-block;
    backdrop-filter: blur(20px);
    background: linear-gradient(209deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.09) 100%);
    padding: 30px;
    position: relative;
    z-index: 1;
    color: var(--color-white);
}

ul.footer-links {
    display: grid;
    grid-auto-rows: 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px
}

ul.footer-links li img {
    height: 280px;
}

@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}

.cs-list-style-arrow.list-style-arrow>li::before {
    left: 20px;
}

/* offcanvas css for mobile view  */
.offcanvas.offcanvas-end {
    transform: translateX(100%);
    transition: transform 0.25s ease-in-out;
}

.offcanvas.offcanvas-end.show {
    transform: translateX(0);
}

/* Years Counter Css Start */
#counter .counter-number {
    font-size: clamp(30px, 1rem + 2vw, 40px);
    line-height: 1;
    margin-bottom: 7px !important;
}

/* Staff augmentation Css Start */
.calculator-section {
    display: flex;
    align-items: center;
    margin-bottom: 120px;
}

.calculator-section .calculator-wrapper {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    background: var(--color-white);
    transition: all 0.3s ease;
}

.calculator-section .hidden {
    display: none !important;
}

.calculator-section .results-card {
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    transform: translateY(10px);
    opacity: 0;
    display: block !important;
    height: 0;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
}

.calculator-section .results-card.visible-result {
    transform: translateY(0);
    opacity: 1;
    height: auto;
    padding: 2rem !important;
    margin-top: 1rem !important;
    background: var(--color-white);
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 2;
}

.calculator-section .form-select,
.calculator-section .form-control {
    box-shadow: none !important;
    border: 2px solid transparent !important;
    transition: all 0.2s ease;
}

.calculator-section .form-select:focus,
.calculator-section .form-control:focus {
    background-color: var(--color-white) !important;
    border-color: #eeeeee !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.calculator-section .hover-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.calculator-section .hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(220, 53, 62, 0.15) !important;
}

.calculator-section .letter-spacing-1 {
    letter-spacing: 1px;
}

.calculator-section .info-panel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.1), transparent 60%);
    pointer-events: none;
    z-index: 1;
}

.calculator-section .opacity-10 {
    opacity: 0.1;
    pointer-events: none !important;
    z-index: 0;
}

.calculator-section .info-panel .opacity-10 {
    top: 80px !important;
}

.calculator-section .opacity-75 {
    opacity: 0.75;
}

.calculator-section .manager-review-panel {
    border-left: 1px dashed #dee2e6;
    background-color: #f8f9fa;
    transition: all 0.3s ease;
}

.calculator-section .fs-12 {
    font-size: 0.75rem !important;
}

.calculator-section .tooltip-trigger {
    position: relative;
    cursor: help;
    text-decoration: underline;
    text-decoration-style: dotted;
}

.calculator-section .tooltip-trigger:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: var(--color-white);
    padding: 10px;
    border-radius: 4px;
    font-size: 12px;
    width: 250px;
    text-align: center;
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    white-space: normal;
    line-height: 1.4;
    margin-bottom: 5px;
}

.calculator-section .col-lg-4,
.calculator-section .col-lg-6 {
    transition: width 0.3s ease;
}

.calculator-section .manager-toggle-btn {
    top: 0 !important;
    right: 0 !important;
    border-radius: 0 0 0 12px;
    border-top: 0;
    border-right: 0;
    padding: 0.5rem 1rem;
    z-index: 1050 !important;
    cursor: pointer;
    background: var(--color-white);
    transition: all 0.2s ease;
}

.calculator-section .manager-toggle-btn:hover {
    background: var(--color-red);
    color: var(--color-white);
    border-color: var(--color-red);
}

.calculator-section .stepper-wrapper {
    display: flex;
    align-items: center;
    background: #f8f9fa;
    border-radius: 0.5rem;
    padding: 0.25rem;
}

.calculator-section .stepper-btn {
    width: 40px;
    height: 40px;
    border-radius: 0.375rem;
    border: none;
    background: var(--color-white);
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    cursor: pointer;
    transition: all 0.2s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.calculator-section .stepper-btn:hover {
    background: #e9ecef;
    transform: translateY(-1px);
}

.calculator-section .stepper-btn:active {
    transform: translateY(0);
}

.calculator-section .stepper-input {
    flex: 1;
    text-align: center;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 1.2rem;
    font-weight: 700;
    color: #000;
    padding: 0;
    margin: 0;
    -moz-appearance: textfield;
    appearance: textfield;
}

.calculator-section .stepper-input::-webkit-outer-spin-button,
.calculator-section .stepper-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.calculator-section .text-dark {
    color: #343a40 !important;
}


/* Stepper Input Styling */
.stepper-wrapper {
    display: flex;
    align-items: stretch;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: #fff;
    width: fit-content;
    overflow: hidden;
}

.stepper-wrapper .form-control.stepper-input {
    border: none;
    border-radius: 0;
    text-align: center;
    width: 60px;
    padding: 0.375rem 0.25rem;
    margin: 0;
    box-shadow: none;
}

/* Remove spin buttons from number input */
.stepper-wrapper .form-control.stepper-input::-webkit-outer-spin-button,
.stepper-wrapper .form-control.stepper-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.stepper-wrapper .form-control.stepper-input {
    -moz-appearance: textfield;
}

.btn-stepper {
    border: none;
    background-color: #f8f9fa;
    color: #de424a;
    /* Using brand red color for icons */
    padding: 0 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
    font-size: 0.9rem;
}

.btn-stepper:hover {
    background-color: #e9ecef;
    color: #b92b32;
    /* Darker red on hover */
}

.btn-stepper:active {
    background-color: #dee2e6;
}

.btn-stepper:focus {
    outline: none;
}

/* Custom Styles for Staff Augmentation Page */
/*======= keyframes For Animations =========*/
@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-294px * 6))
    }
}

@keyframes staff-scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-366px * 5))
    }
}

@keyframes section-title-run {
    0% {
        transform: translateX(0px);
    }

    100% {
        transform: translateX(144px);
    }
}

@keyframes anime1 {
    from {
        background-size: 100%;
    }

    to {
        background-size: 110%;
    }
}

@keyframes imgAnime {
    50% {
        height: 110%;
        width: 110%;
    }
}

@-moz-keyframes squares {
    0% {
        -moz-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }

    20% {
        -moz-transform: scale(1.24);
        transform: scale(1.24);
        opacity: 1
    }

    100% {
        -moz-transform: scale(2.1);
        transform: scale(2.1);
        opacity: 0
    }
}

@-o-keyframes squares {
    0% {
        -o-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }

    20% {
        -o-transform: scale(1.24);
        transform: scale(1.24);
        opacity: 1
    }

    100% {
        -o-transform: scale(2.1);
        transform: scale(2.1);
        opacity: 0
    }
}

@keyframes squares {
    0% {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }

    20% {
        -webkit-transform: scale(1.24);
        -moz-transform: scale(1.24);
        -o-transform: scale(1.24);
        transform: scale(1.24);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(2.1);
        -moz-transform: scale(2.1);
        -o-transform: scale(2.1);
        transform: scale(2.1);
        opacity: 0
    }
}

@keyframes bgPositionBottomToTop {
    0% {
        background-position: bottom left;
    }

    100% {
        background-position: top left;
    }
}

/*======= Mobile Responsiv CSS =========*/
@media screen and (min-width: 1930px) {
    .section {
        width: 100%;
        max-width: 1580px;
        margin: 0 auto;
        padding: 0px 15px
    }

    .software-container {
        max-width: 1600px;
        width: 100%;
        margin: 0 auto;
        padding: 0 15px;
    }
}

@media screen and (max-width:1650px) {
    .what-sets-us-Apart-card-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1400px) {
    .dropdown:hover .dropdown-menu {
        display: block !important;
    }
}

@media screen and (min-width:768px) and (max-width:1024px) {
    .company-banner {
        height: 400px;
    }
}

@media (min-width: 768px) and (max-width: 1320px) {
    .section {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@media (min-width: 992px) {
    .min-height452 {
        min-height: 452px;
    }

    .min-height420 {
        min-height: 420px;
    }

    .fs-500 {
        font-size: 31.25rem;
        color: rgba(255, 255, 255, 0.06);
    }

    .w-80 {
        width: 80%;
    }

    .ms-200 {
        margin-left: 12.5rem;
    }

    .min-height540 {
        min-height: 540px;
    }

    .min-height-700 {
        min-height: 700px;
    }

    .min-height-400 {
        min-height: 400px;
    }

    .min-height-100 {
        min-height: 100vh;
    }

    .architectural-design-banner {
        animation-name: anime1;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        animation-direction: alternate;
        animation-duration: 10s;
        background: url("https://www.teslaoutsourcingservices.com/images/bannerimg.webp") center no-repeat;
        background-size: cover;
        background-attachment: fixed;
    }

    .borderred-5 {
        border: 5px solid var(--color-red) !important;
    }

}

@media screen and (max-width: 1680px) {
    .section-lg {
        max-width: 1300px;
    }
        .portfolio-grid .grid>li {
        width: calc(100% / 3 - 30px);
    }
}

@media screen and (max-width:1581px) {
    .footer-email {
        word-break: break-all;
    }
}

@media screen and (max-width:1400px) {
    .banner-bg {
        height: 100%;
    }

    .header-menu .dropdown-menu {
        box-shadow: none !important;
        background-color: #f3f3f3;
    }

    .offcanvas-body {
        height: calc(100vh - 95px) !important;
    }

    .nav-item .btn-red-new {
        padding: 32px 35px !important;
    }

    .mt-84 {
        margin-top: 70px !important;
    }

    .header-menu .navbar-brand {
        max-width: auto;
        width: auto;
    }

    /* .quality-confidentiality-content { padding-left: 10%;} */
}

@media screen and (max-width: 1200px) {
    .services-list::before {
        right: -24px;
    }

    .services-list::after {
        left: -24px;
        width: 100%;
    }

    .nav-item .btn-red-new {
        padding: 10px 15px !important;
    }

    .portfolio-grid .grid>li {
        width: calc(100% / 2 - 30px);
    }

    .portfolio {
        display: flex;
        justify-content: center;
    }

    .portfolio>img {
        transform: translateX(0px);
        width: 100%;
    }

    .bim-services-box {
        width: 200px;
        height: 180px;
    }

    .software-container {
        padding-left: 0px;
        padding-right: 15px;
    }

    /* .quality-confidentiality-content { padding: 48px 0 0 4%;} */
    .cm-role {
        padding-top: 0;
    }

    .cm-role::after {
        display: none;
    }

    .what-sets-us-Apart-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (min-width: 1025px) {
    .workflow-box::after {
        content: "→";
        position: absolute;
        top: 50%;
        right: -25px;
        transform: translateY(-50%);
        font-size: 2rem;
        font-weight: bold;
        color: #ffb3b3;
    }

    .row .col-lg-6:last-child .workflow-box::after {
        content: none;
    }
}

@media screen and (max-width:1024px) {
    .structure-slider.owl-carousel a {
        height: 200px;
    }

    .owl-theme .owl-prev {
        left: -2%;
    }

    .owl-theme .owl-next {
        right: -2%;
    }
}

@media (max-width: 991px) {
    .px-10 {
        padding-left: 2rem;
        padding-right: 1rem;
    }

    .tab-content>.tab-pane {
        display: block;
        opacity: 1;
    }

    .m-banner-bg {
        background: linear-gradient(90deg, #303031 40%, #303031);
    }

    .archi-design-banner {
        backdrop-filter: none;
        background: #303032ed;
    }

    .border-lg-right {
        border: none !important;
    }

    .background {
        background-color: rgba(53, 53, 53, 0.7);
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
    }

    .siteConsentContainer {
        bottom: 0px !important;
        left: 0px !important;
        width: 100% !important;
    }

    .accordion-button {
        padding: 5px;
        margin-bottom: 5px;
        border: none
    }

    .accordion-button.collapsed {
        padding: 5px;
        margin-bottom: 5px;
        color: var(--color-black);
        background-color: var(--color-white);
        box-shadow: none
    }

    .ol-cards.commercial-benefits li {
        width: 100%;
    }

    .ol-cards.commercial-benefits {
        flex-direction: column;
    }

    .banner-bg::before {
        top: 10px;
        height: 250px;
        width: 404px;
    }

    .augmentation-models-outer-1::after,
    .augmentation-models-outer-2::after {
        width: 100%;
    }

    .staff-aug-info-img::after {
        display: none;
    }

    .company-project-slider .swiper-button-next,
    .company-project-slider .swiper-button-prev {
        position: absolute !important;
        top: 109%;
        bottom: -23px !important;
    }

    .company-project-slider .swiper-button-next {
        left: 51%;
    }

    .company-project-slider .swiper-button-prev {
        left: 43%;
    }

    .twin-towers-cs.drawing-white-bg {
        background-image: none;
    }

    ul.footer-links {
        grid-template-columns: 1fr 1fr;
    }

    .calculator-section .manager-review-panel {
        border-left: none;
        border-top: 1px dashed #dee2e6;
    }

    .calculator-section .manager-toggle-btn {
        top: 10px !important;
        right: 10px !important;
    }

}

@media (max-width: 767px) {
    .section {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .px-10 {
        padding-left: 0;
        padding-right: 0;
    }

    .service-btn img {
        height: auto;
    }

    .owl-theme .owl-next {
        right: -1%;
    }

    .owl-theme .owl-prev {
        left: -1%;
    }

    .events #thumbs {
        bottom: -9%;
    }

    .section-lg,
    .section-xl {
        margin-bottom: 70px;
    }

    .mt-120 {
        margin-top: 70px;
    }

    .mb-120 {
        margin-bottom: 70px;
    }

    .banner-bg {
        height: auto !important;
    }

    .portfolio-filters .filters .button {
        padding: 5px 10px;
    }

    .portfolio-grid .grid>li {
        width: 100%;
        margin: 0px 0px 30px 0px;
    }

    .element-item p {
        font-size: 16px;
        line-height: 22px;
    }

    .container-fluid:has(.footer-cities) {
        margin-top: 240px;
    }

    .pt-6 {
        padding-top: 3rem !important;
    }

    .process-description {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        top: 150px;
    }

    .process-title {
        transform: translateY(-40px) scale(0.95);
    }

    .chart-container {
        height: 400px;
    }

    .lod-border {
        border: none;
    }

    .cities-list {
        column-count: 3;
        list-style: none;
    }

    .pt-120 {
        padding-top: 70px;
    }

    .pb-120 {
        padding-bottom: 70px;
    }

    .service-box-white {
        height: auto;
    }

    .what-sets-us-Apart-card-grid {
        grid-template-columns: repeat(1, 1fr);
    }

    .what-sets-us-Apart-card-container {
        padding: 0 20px;
    }

    .what-sets-us-Apart-card::after {
        display: none;
    }

    .company-project-slider .swiper-button-prev {
        left: 40%;
    }

    .py-6 {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }

    ul.footer-links {
        grid-template-columns: 1fr;
    }

    ul.footer-links li img {
        height: auto;
    }

    .company-banner {
        height: 450px;
    }

    .calculator-section {
        margin-bottom: 80px;
    }
    .home-project-card .project-card {
    height: 370px !important;
    }
}

@media screen and (max-width: 660px) {
    .timeline {
        width: 100%;
    }

    .timeline li {
        padding: 0.8em 0;
    }

    .timeline:before {
        position: inherit !important;
    }

    .direction-l,
    .direction-r {
        float: none;
        width: 100%;
        text-align: left;
    }

    .flag-wrapper {
        text-align: left;
    }

    .flag {
        background: rgb(255, 255, 255);
        z-index: 15;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .desc {
        position: relative;
        z-index: 15;
    }

    .direction-l .desc,
    .direction-r .desc {
        position: relative;
        z-index: 15;
    }

    .direction-r .desc {
        margin-left: 0 !important;
    }

    .direction-l .flag:before,
    .direction-r .flag:before {
        display: none !important;
    }
}

@media (max-width:576px) {
    .service-btn.samples-mn img {
        height: 200px;
    }

    .captcha-input {
        width: 52%;
    }

    .ol-cards>li>div {
        width: 100%;
        padding: 30px 0px 0px 30px;
    }

    .list-black-bg {
        grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    }

    .grid-col-2,
    .grid-coloumn-2 {
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }

    .border-sm-right {
        border-right: none;
    }

    .banner-bg {
        padding: 60px 15px 60px 15px;
        min-height: auto;
    }

    .banner-bg::before {
        display: none
    }

    .project-slider {
        padding-left: 0px;
        margin-bottom: 110px !important;
    }

    .project-slider .owl-nav {
        width: 100% !important;
        height: 50px !important;
        top: 102%;
        display: flex !important;
    }

    .project-slider .owl-nav .owl-next,
    .project-slider .owl-nav .owl-prev {
        height: auto !important;
    }

    .project-slider .owl-nav .owl-next {
        margin-top: 0px;
        margin-left: 2px;
    }

    .project-slider .owl-item img {
        height: 250px;
    }

    .cities-list {
        column-count: 2;
        list-style: none;
    }

    .india-bazar-banner {
        padding: 150px 0px 50px 0px;
    }

    .roofing-pj-list li>span {
        width: 100%;
    }

    .info-second-border::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 4px;
        background: var(--color-red);
        z-index: -1;
        left: 0;
    }

    .border-sm-end {
        border-right: none;
    }

    .border-sm-grey {
        border-bottom: 1px solid var(--color-lightgrey);
    }

    .bim-services-information-modeling {
        position: relative;
        overflow: visible;
        height: 100% !important;
    }

    .bim-services-information-modeling img.h-100 {
        height: auto !important;
    }

    .bim-services-information-modeling .service-name,
    .bim-services-information-modeling .service-info {
        position: initial;
    }

    .bim-services-information-modeling .service-info {
        opacity: 1;
        height: auto;
    }

    .bim-services-information-modeling:hover .service-name {
        opacity: 0;
    }

    .bim-services-information-modeling .service-name {
        display: none !important;
    }
    .owl-projects-card .info {
    position: inherit;
    bottom: -100%;
    left: 0;
    transition: .5s ease-in-out;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.7);
    transition: .5s ease-in-out;
    padding: 15px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    opacity: 1;
    visibility: visible;
}

    span.counter-value {
        font-size: 30px !important;
    }

    .mobile-content {
        display: none;
    }

    .mobile-con-btn.active {
        display: none !important;
    }

    .mtn-70 {
        margin-top: 0px;
    }

    .lh-lg {
        line-height: 1.5 !important;
    }

    .la-quinta-jackson-background-section-bg {
        height: auto;
        padding: 60px 15px;
    }

    .list-grey-bg {
        grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    }

    .list-grey-bg.list-grey-bg-deliverables {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .company-project-slider .swiper-button-prev {
        left: 31%;
    }

    .pb-6 {
        padding-bottom: 2rem !important;
    }
    .btn-red-new {
    padding: 10px 20px !important;
    font-size: 14px;
}
}


.team-banner {
    background: url(https://www.teslaoutsourcingservices.com/images/team-banner-bg.webp);
    background-position: bottom center;
    animation-name: bgPositionteambanner;
}

.our-team-number {
    width: 50px;
    height: 50px;
}

.team-tesla-slider {
    padding: 120px 0 0;
    min-height: 600px;
}

.fixed-content {
    inset: 0;
    pointer-events: none;
}

.event-title-number {
    position: absolute;
    top: -5%;
    left: 22%;
}

.event-title-number .number {
    position: absolute;
    left: 0;
    font-size: 160px;
    font-weight: 800;
    color: var(--color-red);
    opacity: 0.15;
    transform: translateY(100%);
    transition: transform 0.6s ease, opacity 0.6s ease;
}

.number.enter {
    transform: translateY(-100%);
    opacity: 0;
}

.number.current {
    transform: translateY(0);
    opacity: 0.15;
}

.number.exit {
    transform: translateY(-100%);
    opacity: 0;
}

.event-title {
    position: absolute;
    top: 73%;
    left: 15%;
    width: 30%;
    min-height: 130px;
    z-index: 9;
    background-color: rgba(222, 66, 74, 0.9);
    overflow: hidden;
}

.event-title .title {
    position: absolute;
    left: 0;
    width: 100%;
    padding: 20px;
}

.event-title .title-text {
    line-height: 1.4;
    transition: transform 0.6s ease, opacity 0.6s ease;
    transform: translateY(100%);
}

.title.enter .title-text {
    transform: translateY(-100%);
    opacity: 0;
}

.title.current .title-text {
    transform: translateY(0);
    opacity: 1;
}

.title.exit .title-text {
    transform: translateY(-100%);
    opacity: 0;
}

.team-tesla-slider .swiper {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1560px;
    margin: 0 auto;
    overflow: hidden;
    padding-bottom: 50px;
}

.team-tesla-slider .swiper-slide {
    display: flex;
    justify-content: center;
    transition: all 0.7s ease;
    overflow: hidden;
}

.team-tesla-slider img {
    height: 450px;
    object-fit: cover;
}

.team-tesla-slider .swiper .swiper-pagination {
    display: flex;
    gap: 10px;
    width: 185px;
    overflow-x: auto;
    overflow-y: hidden;
    margin: 20px auto 0;
    scroll-behavior: smooth;
    scrollbar-width: none;
    bottom: 0;
    left: 70%;
}

.team-tesla-slider .swiper-pagination-bullet {
    flex: 0 0 auto;
    width: 30px;
    height: 3px;
    background: rgba(222, 66, 74, 0.3);
    border-radius: 2px;
    opacity: 1;
    transition: all 0.3s ease;
}

.team-tesla-slider .swiper-pagination-bullet-active {
    background: var(--color-red);
}

@media screen and (max-width:1200px) {
    .event-title {
        width: 45%;
        top: 73%;
        left: 0%;
        min-height: 140px;
    }

    .event-title-number {
        top: -5%;
        left: 18%;
    }
}

@media screen and (max-width:768px) {
    .team-tesla-slider .swiper {
        padding-bottom: 100px;
    }

    .team-tesla-slider {
        padding: 120px 20px 0;
    }

    .event-title {
        width: 55%;
        left: 2%;
        min-height: 140px;
    }

    .event-title-number {
        top: 3%;
        left: 8%;
    }

    .event-title-number .number {
        font-size: 100px;
    }

    .team-tesla-slider .swiper .swiper-pagination {
        left: 40% !important;
    }
}

@media screen and (max-width:576px) {
    .team-tesla-slider .swiper {
        padding-bottom: 160px;
    }

    .event-title {
        width: 81%;
        left: 10%;
        top: 60%;
        min-height: 180px;
    }

    .team-tesla-slider img {
        height: 300px;
    }

    .team-tesla-slider .swiper .swiper-pagination {
        left: 20% !important;
    }
    .siteConsentContainer {
    padding: 20px;
}
.siteConsentContainer .siteTitle {
    font-size: 18px;
    line-height: 26px;
}
.siteConsentContainer .siteDesc p {
    font-size: 14px;
    line-height: 20px;
    margin-top: 5px;
}
.siteConsentContainer .siteButton a {  
    font-size: 12px;
    margin-top: 10px;
    padding: 8px 18px;
}
}

@keyframes bgPositionteambanner {
    0% {
        background-position: bottom center;
    }

    100% {
        background-position: top center;
    }
}



/* career page css  */
.career-tab {
    background: none;
    padding: 30px;
    margin-bottom: 30px;
    border: 1px solid #E4E4ED;
    border-radius: 12px;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.career-tab:hover {
    border-color: #0A2540;
}

.career-tab.active {
    border-color: #0A2540;
    box-shadow: 0 6px 25px 0 rgba(10, 37, 64, 0.05);
    -webkit-box-shadow: 0 6px 25px 0 rgba(10, 37, 64, 0.12);
}

.icon-circle {
    padding: 5px;
    border: 1px solid #E4E4ED;
    border-radius: 50%;
}

.career-icon {
    width: 60px;
    height: 60px;
}

.career-content-icon {
    width: 80px;
    height: 80px;
}

.job-info {
    margin-top: 30px;
}

.job-border {
    position: relative;
    padding-left: 10px;
}

.job-border::before {
    content: '';
    position: absolute;
    left: 0;
    width: 1px;
    height: 16px;
    background: #E4E4ED;
}

.job-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    /* transform: translateY(10px); */
    transition: all 0.6s ease;
}

.job-content.active {
    max-height: 1500px;
    opacity: 1;
    overflow-y: auto;
    padding: 40px;
    border: 1px solid #E4E4ED;
    border-radius: 12px;
    box-shadow: 0px 6px 25px 0px rgba(10, 37, 64, 0.05);
}

.job-qualification-btn {
    text-transform: uppercase;
    font-weight: 600;
    padding: 0.5rem 1rem !important;
    border: 0;
    background: var(--color-lightwhite);
}

.job-qualification-btn:hover {
    background: var(--color-red);
    color: var(--color-white);
}

.career-filter-btn {
    border: none;
    background: none;
    padding: 5px 10px;
    cursor: pointer;
    position: relative;
}

.career-filter-btn.active {
    color: #0A2540;
    font-weight: 600;
}

.career-filter-btn.active::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 2px;
    background: #0A2540;
}

/* harshil css start  */
.client-value-icon{background: rgba(222, 66, 74, 0.2);border-radius: 50%;flex-shrink: 0;height: 72px;width: 72px;}


/* harshil solar css start  */


.solar-client-summary img {
	max-height: 350px;
    height: 100%;
	border-radius: 30px;
}

.solar-client-summary-box {
	background: var(--color-white);
	position: absolute;
	height: 80px;
	width: 80px;
	border-radius: 0px 0px 30px 0px;
	top: -1px;
	left: -1px;
}

.solar-client-summary-box-1,
.solar-client-summary-box-2 {
	position: absolute;
	height: 30px;
	width: 30px;
	border-radius: 30px 0px 0px 0px;
	box-shadow: -5px -5px 0px 5px var(--color-white);
	bottom: -30px;
    left: 0;
}

.solar-client-summary-box-2 {
	top: 0;
	left: 100%;
}
.solar-study-detail-bg{
    padding-top: 150px;
    position: relative;

}
.solar-study-detail-bg::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: url(https://www.teslaoutsourcingservices.com/images/case-study/pembina-canada-birds-eye-view.webp) no-repeat top left;
    background-size: cover;
    background-position: center;
    z-index: -1;
}
.solar-study-detail-bg::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: rgba(0, 0, 0, .6);
    background-size: cover;
    background-position: center;
    z-index: -1;
}

.solar-introduction-bg{    position: absolute;
    top: -3%;
    left: -3%;
    background: var(--color-red);
    height: 100%;
    width: 95%;
    z-index: -1;}

/* mep shop drawing page css start */
.tos-differently-img{ margin-top: -170px;}    

.deliver-card {
  position: relative;
  padding: 28px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e7e7e7;
  box-shadow: 0 14px 35px rgba(7, 20, 38, 0.06);
  overflow: hidden;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.deliver-card::after {
  content: '';
  position: absolute;
  right: -42px;
  top: -42px;
  width: 130px;
  height: 130px;
  border: 1px solid rgba(222, 66, 74, 0.16);
  transform: rotate(45deg);
}

.deliver-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 50px rgba(7, 20, 38, 0.11);
}

.deliver-card-top {
  position: relative;
  z-index: 1;
}

.deliver-count {
  color: var(--color-lightwhite);
  font-size: 44px;
  font-weight: 900;
}

.deliver-icon {
  width: 62px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-lightergrey);
  border: 1px solid #e2e2e2;
  transition: background 0.28s ease, transform 0.28s ease;
}

.deliver-card:hover .deliver-icon {
  background: rgba(222, 66, 74, 0.1);
  transform: rotate(-4deg);
}

.deliver-card h3 {
  margin-bottom: 14px;
  color: var(--color-black);
  font-size: 22px;
  font-weight: 700;
}

.deliver-card p {
  margin: 0;
}

@media (max-width: 575px) {
  .deliver-card {
    padding: 24px;
  }
}


.workflow {
  position: relative;
  padding-right: 90px;
  color: var(--color-lightergrey);
  transition: color 0.3s ease;
}

.workflow::before {
  position: absolute;
  right: 0;
  top: 35%;
  content: '';
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid var(--color-lightergrey);
  background: var(--color-white);
  z-index: 3;
  transition: all 0.3s ease;
}


.workflow-item.active .workflow::before {
  border-color: var(--color-red);
}

/* grey timeline */
.workflow-list {
  position: relative;
  --timeline-top: 0px;
  --timeline-full-height: 0px;
  --timeline-height: 0px;
}

.workflow-list::before,
.workflow-list::after {
  content: '';
  position: absolute;
  left: 27.35%;
  top: var(--timeline-top);
  width: 3px;
}

.workflow-list::before {
  height: var(--timeline-full-height);
  background: var(--color-lightergrey);
}

.workflow-list::after {
  height: var(--timeline-height);
  background: var(--color-red);
  transition: height 0.2s linear;
}



.mep-cta {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
  min-height: 360px;
  background: #fff;
  border: 1px solid var(--color-lightergrey);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.mep-cta-content {
  padding: 72px 64px;
}

.mep-cta-label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
  color: var(--color-red);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.mep-cta-label::before {
  content: '';
  width: 34px;
  height: 2px;
  margin-right: 12px;
  background: var(--color-red);
}

.mep-cta h2 {
  max-width: 650px;
  margin-bottom: 18px;
  font-weight: 800;
  line-height: 1.08;
}

.mep-cta p {
  max-width: 620px;
  margin-bottom: 34px;
  color: #2d333a;
  font-size: 18px;
  line-height: 1.65;
}

.mep-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 30px;
  background: var(--color-red);
  color: #fff;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.mep-cta-btn:hover {
  color: #fff;
  background: #c9343d;
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(222, 66, 74, 0.28);
}

.mep-cta-visual {
  position: relative;
  height: 100%;
  min-height: 360px;
  background:
    linear-gradient(rgba(222, 66, 74, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(222, 66, 74, 0.07) 1px, transparent 1px),
    #f4f4f4;
  background-size: 28px 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.mep-model-svg {
  width: 88%;
  max-width: 620px;
  height: auto;
}

.mep-slab,
.mep-grid,
.mep-block,
.mep-block-side,
.mep-block-top,
.mep-note {
  stroke: rgba(7, 20, 38, 0.28);
  stroke-width: 1.5;
}

.mep-slab,
.mep-block,
.mep-block-side,
.mep-block-top {
  fill: rgba(255, 255, 255, 0.35);
}

.mep-grid,
.mep-note {
  fill: none;
}

.mep-duct {
  stroke: #717a85;
  stroke-width: 16;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.85;
  filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.12));
}

.mep-pipe,
.mep-drop {
  fill: none;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 900;
  stroke-dashoffset: 900;
  animation: mepLineDraw 4s ease-in-out infinite;
}

.pipe-red {
  stroke: var(--color-red);
  animation-delay: 0.1s;
}

.pipe-green {
  stroke: #18b879;
  animation-delay: 0.45s;
}

.pipe-blue {
  stroke: #2378d3;
  animation-delay: 0.8s;
}

.pipe-yellow {
  stroke: #d9a21b;
  animation-delay: 1.15s;
}

.mep-drop {
  stroke: var(--color-red);
  stroke-width: 4;
  animation-delay: 1.4s;
}

.mep-node {
  fill: #fff;
  stroke: var(--color-red);
  stroke-width: 4;
  opacity: 0;
  animation: mepNodePulse 4s ease-in-out infinite;
}

.node-1 {
  animation-delay: 0.8s;
}

.node-2 {
  animation-delay: 1.1s;
}

.node-3 {
  animation-delay: 1.5s;
}

.node-4 {
  animation-delay: 1.9s;
}
.mobile-slider-mn .swiper-pagination{
    display: none !important;
}

@keyframes mepLineDraw {
  0% {
    stroke-dashoffset: 900;
    opacity: 0.25;
  }

  35% {
    stroke-dashoffset: 0;
    opacity: 1;
  }

  78% {
    stroke-dashoffset: 0;
    opacity: 1;
  }

  100% {
    stroke-dashoffset: 0;
    opacity: 0.45;
  }
}

@keyframes mepNodePulse {
  0%,
  25% {
    opacity: 0;
    transform: scale(0.8);
  }

  40%,
  80% {
    opacity: 1;
    transform: scale(1);
  }

  55% {
    transform: scale(1.3);
  }

  100% {
    opacity: 0.45;
    transform: scale(1);
  }
}

@media (max-width: 991px) {
  .mep-cta-visual {
    min-height: 300px;
  }

  .mep-model-svg {
    width: 92%;
  }
}

@media (max-width: 575px) {
  .mep-cta-visual {
    min-height: 250px;
  }
}
/* mep shop drawing page css end */
/* home page project card css start */
.project-card{position: relative; overflow: hidden;border-radius: 20px;}
.project-card img{transition: 0.45s ease;}
.project-card:hover img{transform: scale(1.08);}
.project-card::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  /* background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100% ); */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0) 100% );
  pointer-events: none;
  z-index: 1;
}
.company-project-slider .project-card::before{
    z-index: -1;
}
.project-card-box{position: absolute;bottom: 2%;z-index: 2;padding: 20px;color: var(--color-white);}
@media screen and (max-width:576px) {
    .mobile-slider-mn{padding-bottom: 48px;}
    .mobile-slider-mn .swiper-pagination{
    display: flex !important;
    justify-content: center;
}
}
/* home page project card css end */
/* client logo strip css start */
.logo-strip-wrap {
      position: relative;
      overflow: hidden;
    }

    .logo-strip-wrap::before,
    .logo-strip-wrap::after {
      content: "";
      position: absolute;
      top: 0;
      z-index: 2;
      width: 120px;
      height: 100%;
      pointer-events: none;
    }

    .logo-strip-wrap::before {
      left: 0;
      background: linear-gradient(90deg, #f7f9fc, transparent);
    }

    .logo-strip-wrap::after {
      right: 0;
      background: linear-gradient(270deg, #f7f9fc, transparent);
    }

    .logo-track {
      display: flex;
      gap: 18px;
      width: max-content;
      animation: logoScroll 30s linear infinite;
    }

    .logo-strip-wrap:hover .logo-track {
      animation-play-state: paused;
    }

    .client-logo-box {
      width: 300px;
      height: 160px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid rgba(15, 23, 42, 0.2);
      background: rgba(255, 255, 255, 0.78);
    }

    .client-logo-box img {
      max-width: 210px;
      max-height: 90px;
      width: auto;
      height: auto;
      object-fit: contain;
    }


    @keyframes logoScroll {
      from {
        transform: translateX(0);
      }
      to {
        transform: translateX(-50%);
      }
    }

    @media (max-width: 767px) {
      .client-logo-section {
        padding: 48px 0;
      }

      .client-logo-box {
        width: 200px;
        height: 120px;
        padding: 18px;
      }

      .client-logo-box img {
        max-width: 140px;
        max-height: 65px;
      }

      .logo-strip-wrap::before,
      .logo-strip-wrap::after {
        width: 54px;
      }
    }
/* client logo strip css end */
/* bim services project card css start */
.bim-services-project-card {
  height: 100%;
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: 0.3s ease;
}

.bim-services-project-card-media {
  position: relative;
  overflow: hidden;
}

.bim-services-project-card-media img {
  transition: 0.45s ease;
}

.bim-services-project-card-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 58%;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.8) 100%
  );
}

.bim-services-project-card-overlay {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 22px;
  z-index: 2;
}

.bim-services-project-card-overlay span {
  display: inline-block;
  color: var(--color-black);
  background: var(--color-lightergrey);
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 12px;
}

.bim-services-project-card-content {
   color: var(--color-black); 
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bim-services-project-card:hover {
  transform: translateY(-6px);
}

.bim-services-project-card:hover .bim-services-project-card-media img {
  transform: scale(1.06);
}

/* bim services project card css end */
/* testimonial section css start  */
.testimonial {
  position: relative;
  overflow: hidden;
  padding: 52px;
  background: #f7f9fc;
}

.testimonial-media {
  position: relative;
  overflow: hidden;
  /* border-radius: 40px 40px 40px 8px; */
}

.testimonial-media::after {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 15px;
  pointer-events: none;
}
/* .testimonial-slider-mn {
    position: relative;
} */
.testimonial-slider {
    padding-bottom: 70px;
    
    position: relative;
}
.testimonial-slider .swiper-button-mn {
    position: absolute;
    bottom: 0;
    right: 3%;
    display: flex;
    gap: 25px;
}
.testimonial-slider .swiper-button-next, .testimonial-slider .swiper-button-prev {
    position: relative;
    height: 50px;
    width: 50px;
    background-color: var(--color-red);
    border-radius: 5px;
    top: 0;
    right: 0;
    left: 0;
    margin-top: 0px;
    font-size: 20px;
    color: var(--color-white);
}
.testimonial-slider .swiper-button-next:after, .testimonial-slider .swiper-button-prev:after {
        font-size: 20px;
        font-weight: 700;

}
.swiper-slide:has(.testimonial-content) {
  height: auto;
}
.testimonial-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 20px;
  background: var(--color-white);
  height: 100%;
}

/* .testimonial-label {
  display: inline-flex;
  color: var(--color-red);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 13px;
  margin-bottom: 8px;
} */

.testimonial-content p {
  /* font-size: 18px; */
  opacity: 0.72;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: 16px;
}

.testimonial-avatar {
  width: 58px;
  height: 58px;
  background: var(--color-lightergrey);
  color: var(--color-black);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  border-radius: 10px;
}

.testimonial-author span {
  display: block;
  font-size: 20px;
  /* margin-bottom: 2px; */
}

.testimonial-author small {
  opacity: 0.58;
  font-weight: 600;
}


        
.wrapper {
  display: inline-block;
  /* position: absolute; */
  /* top: 50%;
  left: 50%; */
  transform: translate(0,0)
}

.video-main {
  position: relative;
  display: inline-block;
}

.video {
  height: 50px;
  width: 50px;
  line-height: 1;
  text-align: center;
  border-radius: 100%;
  background: transparent;
  color: var(--color-black);
  display: inline-block;
  background: var(--color-white);
  z-index: 999;
}

@keyframes waves {
  0% {
    -webkit-transform: scale(0.2, 0.2);
    transform: scale(0.2, 0.2);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  50% {
    opacity: 0.9;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  }
  100% {
    -webkit-transform: scale(0.55, 0.55);
    transform: scale(0.55, 0.55);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
}

.fa-play:before {
  content: "\f04b";
}

.waves {
  position: absolute;
  width: 150px;
  height: 150px;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  border-radius: 100%;
  right: -50px;
  bottom: -50px;
  z-index: -1;
   -webkit-animation: waves 3s ease-in-out infinite;
  animation: waves 3s ease-in-out infinite;
}
        
.wave-1 {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.wave-2 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.wave-3 {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}
.norberto-leon-ply-title{
    /* display: flex;
    gap: 2px;
    flex-direction: column; */
    line-height: 1.2;
    justify-content: space-between !important;
    width: 100%;
}
.norberto-leon-ply-title i {
    color: rgba(0, 0, 0, 0.7);
}
.norberto-leon-ply-title strong {
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 1px;
}







@media (max-width: 991px) {
  .testimonial {
    padding: 40px;
  }
}

@media (max-width: 575px) {
  .testimonial {
    padding: 24px;
  }

  /* .testimonial-media {
    border-radius: 32px 32px 32px 6px;
  } */

  .testimonial-media::after {
    inset: 12px;
    border-radius: 24px 24px 24px 4px;
  }

  .testimonial-author {
  flex-direction: column;
  align-items: start;
}
.project-card img {
    height: 100%;
}
}
/* testimonial section css end  */

/* ===================================================
   claude.css — Custom additions (do not edit style.css)
   =================================================== */

/* BIM Parent CTA Banner
   -------------------------------------------------- */
.bim-parent-cta {
    background: #ffffff;
    /* padding-top: 4rem; */
    /* padding-bottom: 5rem; */
    /* horizontal padding intentionally omitted — inherited from .section-lg (15px each side) */
    overflow-x: hidden;
    /* prevent row negative-margin bleed */
}

/* Tablet (768–991px) */
@media (max-width: 991.98px) {
    .bim-parent-cta {
        padding-top: 3rem;
        padding-bottom: 3.5rem;
    }
}

/* Mobile (< 768px) */
@media (max-width: 767.98px) {
    .bim-parent-cta {
        padding-top: 2.5rem;
        padding-bottom: 3rem;
    }
}


/* BIM USA City Cards
   -------------------------------------------------- */
.bim-usa-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bim-usa-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.bim-usa-abbr {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #de424a;
    color: #ffffff;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(222, 66, 74, 0.35);
}

/* BIM Parent CTA image */
.bim-cta-img {
    max-width: 100%;
    border-radius: 12px;
}


/* BIM Outsourcing Cost Estimator
   -------------------------------------------------- */
.ce-summary {
    font-size: 1.05rem;
    line-height: 1.6;
    padding: 0.75rem 1.25rem;
    border-radius: 0.5rem;
}

.ce-summary--savings {
    background: rgba(222, 66, 74, 0.07);
    border: 1px solid rgba(222, 66, 74, 0.22);
}

.ce-summary--neutral {
    background: rgba(41, 128, 185, 0.07);
    border: 1px solid rgba(41, 128, 185, 0.22);
}

.ce-disclaimer {
    font-size: 0.82rem;
    color: #888;
    line-height: 1.55;
}

#ce-resources {
    accent-color: var(--color-red);
    height: 6px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(to right, var(--color-red) 0%, var(--color-red) 10%, #ddd 10%, #ddd 100%);
    border-radius: 4px;
    outline: none;
}

#ce-resources::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--color-red);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(222, 66, 74, 0.4);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#ce-resources::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border: none;
    border-radius: 50%;
    background: var(--color-red);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(222, 66, 74, 0.4);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#ce-resources::-webkit-slider-thumb:hover,
#ce-resources:active::-webkit-slider-thumb {
    transform: scale(1.2);
    box-shadow: 0 3px 10px rgba(222, 66, 74, 0.55);
}

#ce-resources::-moz-range-thumb:hover,
#ce-resources:active::-moz-range-thumb {
    transform: scale(1.2);
    box-shadow: 0 3px 10px rgba(222, 66, 74, 0.55);
}


/* Testimonial Carousel Counter
   -------------------------------------------------- */
.testimonial-counter {
    position: absolute;
    right: 0;
    bottom: 76px;
    /* clears the 58px buttons + 14px gap + 4px breathing room */
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #aaa;
    user-select: none;
}

@media (max-width: 991px) {
    .testimonial-counter {
        left: 0;
        right: auto;
    }
}