:root,
[data-bs-theme=light] {
    --tyn-font-sans-serif: "DM Sans", sans-serif !important;
    --tyn-primary: #222651;
    --tyn-primary-rgb: 34, 38, 81;
    --tyn-primary-text-emphasis: #090d38;
    --tyn-primary-bg-subtle: #e9e9ee;
    --tyn-primary-border-subtle: #d3d4dc;
    --tyn-whitesmoke-bg-rgb: 249, 249, 249;
}

[data-bs-theme="dark"] {
    --tyn-primary-text-emphasis: #151944;
    --tyn-primary-bg-subtle: #191e29;
    --tyn-primary-border-subtle: #1a1f2e;
}

:root,
[data-bs-theme="light"] {
    --tyn-secondary: #b57e10;
    --tyn-secondary-rgb: 181, 126, 16;
    --tyn-secondary-text-emphasis: #9c6500;
    --tyn-secondary-bg-subtle: #f8f2e7;
    --tyn-secondary-border-subtle: #f0e5cf;
}

[data-bs-theme="dark"] {
    --tyn-secondary-text-emphasis: #a87103;
    --tyn-secondary-bg-subtle: #282723;
    --tyn-secondary-border-subtle: #373021;
}

.bg-white-smoke {
    --tyn-bg-opacity: 1;
    background-color: rgba(var(--tyn-whitesmoke-bg-rgb), var(--tyn-bg-opacity)) !important;
}


.btn-primary {
    --tyn-btn-bg: #222651;
    --tyn-btn-border-color: #222651;
    --tyn-btn-hover-bg: #090d38;
    --tyn-btn-hover-border-color: #090d38;
    --tyn-btn-active-bg: #090d38;
    --tyn-btn-active-border-color: #090d38;
    --tyn-btn-disabled-bg: #222651;
    --tyn-btn-disabled-border-color: #222651;
}

.btn-outline-primary {
    --tyn-btn-color: #222651;
    --tyn-btn-border-color: #222651;
    --tyn-btn-hover-bg: #222651;
    --tyn-btn-hover-border-color: #222651;
    --tyn-btn-active-bg: #222651;
    --tyn-btn-active-border-color: #222651;
    --tyn-btn-disabled-color: #222651;
    --tyn-btn-disabled-border-color: #222651;
}

.btn-secondary {
    --tyn-btn-bg: #b57e10;
    --tyn-btn-border-color: #b57e10;
    --tyn-btn-hover-bg: #9c6500;
    --tyn-btn-hover-border-color: #9c6500;
    --tyn-btn-active-bg: #9c6500;
    --tyn-btn-active-border-color: #9c6500;
    --tyn-btn-disabled-bg: #b57e10;
    --tyn-btn-disabled-border-color: #b57e10;
}

.btn-outline-secondary {
    --tyn-btn-color: #b57e10;
    --tyn-btn-border-color: #b57e10;
    --tyn-btn-hover-bg: #b57e10;
    --tyn-btn-hover-border-color: #b57e10;
    --tyn-btn-active-bg: #b57e10;
    --tyn-btn-active-border-color: #b57e10;
    --tyn-btn-disabled-color: #b57e10;
    --tyn-btn-disabled-border-color: #b57e10;
}


.navbar-sticky.navbar-stuck.navbar {
    background: white;
}

.navbar-sticky.navbar-stuck.navbar .nav-item a {
    color: var(--tyn-dropdown-link-color) !important;
}

.navbar-sticky.navbar-stuck.navbar a[href="/3d-kartela"] svg path[fill="#fff"] {
    fill: #000 !important;
}

.navbar-sticky.navbar-stuck.navbar [data-dark-logo] {
    display: block;
}

.navbar-sticky [data-dark-logo] {
    display: none;
}

.navbar-sticky [data-light-logo] {
    display: block;
}

.navbar-sticky.navbar-stuck.navbar [data-light-logo] {
    display: none;
}

.navbar-sticky.navbar-stuck.navbar a.btn-light {
    --tyn-btn-color: #fff !important;
    --tyn-btn-bg: #222934 !important;
    --tyn-btn-border-color: #222934 !important;
    --tyn-btn-hover-color: #fff !important;
    --tyn-btn-hover-bg: #434952 !important;
    --tyn-btn-hover-border-color: #383e48 !important;
}

@media(max-width: 992px) {
    .navbar-sticky .nav-item a {
        color: var(--tyn-dropdown-link-color) !important;
    }
}


.about-left-line {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 190px;
    background: #e0e5eb;
}


.home-slide {
    height: calc(67vh - 40px);
}

.home-slide .swiper {
    height: calc(67vh - 40px);
}

@media(min-width: 1200px) {
    .home-slide .swiper .container {
        padding-top: 7rem !important;
    }
}

.home-slide .swiper-pagination-bullet-active {
    width: 36px !important;
}

.home-slide .swiper-pagination-bullet {
    width: 18px;
    height: 10px;
    border-radius: 100px;
    transition: width .3s ease-in-out, background-color 0.2s ease-in-out !important;
}

.breadcrumb-section {
    margin-top: -101px;
}

.breadcrumb-section .container {
    padding-top: 7rem !important;
}

.home-product {
    white-space-collapse: preserve-breaks;
    height: 320px;
    object-fit: cover;
    background: #0000007a;
    display: flex;
    justify-content: flex-end;
}


.line {
    width: 20%;
    height: 2px;
    background-color: var(--tyn-primary);
    margin-top: 5px;
}

.fade-lr {
    position: relative;
    mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 80%, transparent 100%);
}

.fade-l {
    position: relative;
    mask-image: linear-gradient(90deg, transparent 0%, #000 20%);
}

.fade-r {
    position: relative;
    mask-image: linear-gradient(90deg, #000 80%, transparent 100%);
}

.tyn-higlight {
    font-weight: 700;
    color: var(--tyn-primary);
    font-style: italic;
    font-family: 'Playfair Display', serif;
}

.footer-contact-icon {
    color: white;
    padding: 4px;
    display: inline-flex;
    width: 20px !important;
    height: 20px;
    border-radius: 4px;
    font-size: 12px;
    margin-right: 5px;
}

.bg-grey {
    background: #f5f5f5;
    border-radius: 10px;
}

.pulse i {
    position: relative;
    z-index: 20;
    font-size: 23px;
}

.pulse {
    position: fixed;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px !important;
    height: 60px;
    bottom: 40px;
    right: 40px;
    background-color: rgba(0, 200, 0, 1);
    color: white;
    border-radius: 50px;
    text-align: center;
    transition-duration: 0.5s;
    animation: pulse-btn 3s infinite;
    z-index: 9000;
}

.pulse:hover {
    background-color: rgba(0, 150, 0, 1);
    color: white;
}


@-webkit-keyframes pulse-btn {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(0, 200, 0, 1);
    }

    70% {
        -webkit-box-shadow: 0 0 0 20px rgba(0, 200, 0, 0);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(0, 200, 0, 0);
    }
}

.pulse a {
    color: #fff;
}


.tyn-service-box {
    background-color: #f9f9f9;
    transition: transform .3s, box-shadow .3s;
    transform: translateY(0);
    border-radius: 15px;
    position: relative;
}

.tyn-service-box:hover img {
    transform: scale(1.05);
}

.tyn-service-box:hover .service-btn {
    background-color: #000;
    color: #fff;
}

.tyn-service-box img {
    transition: transform .3s;
    transform: scale(1);
}

.tyn-service-box .card-body .card-title {
    padding-right: 50px !important;
}

.tyn-service-box::before {
    content: '';
    position: absolute;
    width: 119px;
    height: 112px;
    top: auto;
    left: auto;
    bottom: -1px;
    right: -1px;
    z-index: 1;
    background-color: #ffffff;
    mask: url(/assets/img/shape-bottom.png) bottom right no-repeat;
    -webkit-mask: url(/assets/img/shape-bottom.png) bottom right no-repeat;
}

.tyn-service-box .service-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    background-color: #f9f9f9;
    line-height: 50px;
    font-size: 12px;
    text-align: center;
    transform: translate3d(0px, 0px, 0px) rotateZ(0deg);
    transform-style: preserve-3d;
    border-radius: 50%;
    transition: all 0.5s ease-in-out 0s;
    z-index: 2;
}

.tyn-sticky-corner {
    position: absolute;
    z-index: 9999;
    width: 30px;
    height: 30px;
}

.tyn-top-right-corner {
    top: 1px;
    right: -30px;
    transform: rotate(-180deg);
}

.tyn-footer-left-bottom-corner {
    bottom: 0px;
    left: -30px;
}

.tyn-footer-right-top-corner {
    top: -30px;
    right: 16px;
}

.tyn-bottom-left-corner {
    bottom: -20px;
    left: 0;
    transform: rotate(-180deg);
    position: relative;
}

.tyn-bottom-right-corner {
    bottom: -30px;
    right: 0;
    transform: rotate(-180deg);
}

.logo-wrap {
    border-bottom-right-radius: 30px;
}

.logo-wrap,
.hero-slider-wrap {
    position: relative;
    background: #fff;
    z-index: 1;
}

.logo-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 100%;
    width: 100vw;
    background: #fff;
}

.hero-slider-wrap {
    position: relative;
    width: fit-content;
    margin-left: auto;
    border-top-left-radius: 30px;
    margin-top: -80px;
    padding: 24px 40px;
}

.hero-slider-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 100vw;
    background: #fff;
}

header {
    z-index: 1031 !important;
}

@media(max-width: 768px) {
    header .navbar-brand img {
        width: 130px !important;
    }

    .home-slide {
        margin-top: -91px !important;
        height: 80vh !important;
    }

    .breadcrumb-section {
        margin-top: -91px !important;
    }

    .breadcrumb-section .container {
        padding-bottom: 2rem !important;
    }

    .home-slide .swiper {
        height: 80vh !important;
    }

    .logo-wrap::before,
    .hero-slider-wrap::after {
        display: none;
    }
}

.marquee {
    overflow: hidden;
    color: #000;
    font-weight: 700;
    white-space: nowrap;
}

.marquee-track {
    display: inline-flex;
    gap: 20px;
    animation: marqueeMove 25s linear infinite;
}



@keyframes marqueeMove {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.marquee-title {
    font-size: 50px;
    display: flex;
    text-shadow: 1px 1px 0 rgba(0,0,0, .2), -1px -1px 0 rgba(0,0,0, .2), 1px -1px 0 rgba(0,0,0, .2), -1px 1px 0 rgba(0,0,0, .2), 1px 1px 0 rgba(0,0,0, .2);
    -webkit-text-fill-color: #fff;
    -webkit-text-stroke-width: 0px;
    color: transparent;
    letter-spacing: -1px;
    line-height: 120px !important;
    position: relative !important;
    overflow: visible !important;
}

.marquee-title {
    line-height: normal;
    width: auto;
    position: relative;
    overflow: hidden;
    transition: transform 1s cubic-bezier(.22, .61, .36, 1);
    margin: 0;
    padding: 0;
}

.marquee-title:hover {
    text-shadow: 1px 1px 0 rgba(26,25,25, .2), -1px -1px 0 rgba(26,25,25, .2), 1px -1px 0 rgba(26,25,25, .2), -1px 1px 0 rgba(26,25,25, .2), 1px 1px 0 rgba(26,25,25, .2);
}

.marquee-title:hover::before {
    max-width: 100%;
}

.marquee-title::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    content: attr(data-text);
    transition: max-width .8s cubic-bezier(.22, .61, .36, 1);
    -webkit-text-fill-color: #1a1919;
    -webkit-text-stroke: transparent;
    max-width: 0;
}

.marquee .tag-wrapper {
    position: relative;
}
.marquee .tag-wrapper {
    padding-left: 100px;
    margin-left: 50px;
    position: relative;
}

.marquee .tag-wrapper::before {
    content: "+";
    position: absolute;
    left: 0px;
    top: 50%;
    font-size: 90px;
    line-height: 90px;
    transform: translateY(-50%);
    color: var(--tyn-secondary);
    opacity: 0.5;
}

.service-detail  h1, .service-detail  h2, .service-detail  h3, .service-detail  h4, .service-detail  h5, .service-detail  h6 {
    font-size: 21px;
    font-weight: 600;
}