@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");



@keyframes flipOnce {
    0% {
        transform: rotateY(0deg);
    }

    50% {
        transform: rotateY(180deg);
    }

    100% {
        transform: rotateY(0deg);
    }
}

.flip-animation {
    animation: flipOnce 0.6s ease;
}


:root {
    --primary_color: #8A1377;
    --secondary_color: #3792D4;
    --text_dark_color: #202020;
    --text_light_color: #fff;
    --hover: #b8b8b8;
    --description_p_color: #606060;
    --white: #fafafa;
}

.rounded-12px {
    border-radius: 12px;
}

.rounded-25px {
    border-radius: 25px;
}

.text-12px {
    font-size: 12px;
}

.text-14px {
    font-size: 14px;
}

.text-16px {
    font-size: 16px;
}

.text-18px {
    font-size: 18px;
}

.text-20px {
    font-size: 20px;
}

.text-22px {
    font-size: 22px;
}

.text-24px {
    font-size: 24px;
}

body {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 14px;
    background: #F4F1F8;
    color: var(--text_dark_color);
}

.btn-custom {
    background: var(--primary_color) !important;
    color: var(--white) !important;
    border-radius: 12px !important;
}

.btn-custom-2 {
    background: var(--secondary_color) !important;
    color: var(--white) !important;
    border-radius: 12px !important;
}

.btn-custom-gradient {
    background: #D64248;
    background: linear-gradient(90deg, rgba(214, 66, 72, 1) 0%, rgba(161, 30, 35, 1) 100%);
    color: var(--white) !important;
    border-radius: 12px !important;
    transition: all 0.3s linear;
}

.btn-custom-gradient:hover {
    background: #D64248;
    background: linear-gradient(90deg, rgba(161, 30, 35, 1) 0%, rgba(214, 66, 72, 1) 100%);
    color: var(--white) !important;
    border-radius: 12px !important;
}

.bg-custom {
    background: var(--primary_color) !important;
}

.bg-custom-2 {
    background: var(--secondary_color) !important;
}

.text-custom {
    color: var(--primary_color) !important;
}

.text-custom-2 {
    color: var(--text_dark_color) !important;
}

.text-custom-3 {
    color: var(--description_p_color) !important;
}

a {
    text-decoration: none;
    transition: all 0.3s linear;
    font-family: "Inter", sans-serif;
}

a:hover {
    text-decoration: none;
    color: var(--hover);
}

.clear {
    clear: both;
}


header {
    width: 100%;
    top: 0px;
}

header.homepage {
    position: absolute;
    z-index: 2;
}

.nav {
    --bs-nav-link-padding-y: 1.2rem;
}

.navbar a {
    color: #202020;
    font-weight: 600;
}

.navbar a:hover {
    color: var(--secondary_color);
}

.nav-link:focus,
.nav-link:hover {
    color: var(--secondary_color);
}

.navbar a.nav-link-top {
    color: var(--secondary_color);
    font-weight: 400;
    font-size: 12px;
}

#sliders {
    width: 100%;
    margin: 0px 0px;
    background: url(../images/sliderBg.png) no-repeat bottom center;
}

#sliders .swiper-slide {
    width: 100%;
    padding-top: 120px;
}


#sliders .swiper-slide h2 {
    font-size: 32px;
    color: #202020;
    font-weight: 500;
}

#sliders .swiper-slide h2 span {
    display: block;
    font-size: 50px;
    font-weight: 600;
}


#sliders .swiper-slide .sliderImg {
    padding: 0px 120px;
}


#sliders .sliderSkills {
    position: absolute;
    font-size: 28px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    width: 96px;
    background: #6D75CA;
    background: linear-gradient(90deg, rgba(109, 117, 202, 1) 0%, rgba(42, 48, 117, 1) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

#sliders .sliderSkills.feature-1 {
    top: 70px;
    left: 130px;
}

#sliders .sliderSkills.feature-2 {
    top: 195px;
    left: 25px;
}

#sliders .sliderSkills.feature-3 {
    top: 350px;
    left: 0px;
}

#sliders .sliderSkills.feature-4 {
    top: 70px;
    right: 130px;
}

#sliders .sliderSkills.feature-5 {
    top: 195px;
    right: 25px;
}

#sliders .sliderSkills.feature-6 {
    top: 350px;
    right: 0px;
}

#whoAmI {
    width: 100%;
    padding: 40px 0px;
}

#whoAmI img {
    padding: 30px;
    width: 100%;
}

#whoAmI h1 {
    font-size: 32px;
    color: #202020;
    font-weight: 500;
}

#whoAmI h2 {
    font-size: 16px;
    color: #202020;
    font-weight: 600;
}

#whoAmI .whoAmIFeature {
    font-size: 16px;
    font-weight: 600;
    flex: 0 0 calc(25% - 20px);
    width: 100%;
    background: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: start;
    padding: 10px 20px;
    color: #808080;
    transition: all 0.3s linear;
}

#whoAmI .whoAmIFeature:hover {
    color: #202020;
}

#whoAmI .whoAmIFeature i {
    font-size: 40px;
    margin-right: 20px;
}

#contactBanner {
    width: 100%;
    background: #F7F8FA;
    padding-top: 40px;
    margin: 40px 0px;
    text-align: center;
}

#contactBanner img {
    max-width: 100%;
    height: auto;
}

#portfolios {
    width: 100%;
    margin: 40px 0px;
}

.custom-tabs {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.custom-tabs .tab-btn {
    border: none;
    background: transparent;
    font-weight: 500;
    padding: 0.5rem 1.2rem;
    border-radius: 25px;
    transition: all 0.3s ease;
    color: #202020;
}

.custom-tabs .tab-btn.active {
    background-color: #fff;
    border: 1px solid #000;
    color: #202020;
}

.tab-pane {
    animation: fadeIn 0.4s ease-in-out;
}

.tab-pane-2 {
    animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.portfolio-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background-color: #f8f9fa;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    display: block;
}

.portfolio-card img {
    border-radius: 16px;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.portfolio-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: flex;
    gap: 5px;
}

.portfolio-badges .badge {
    font-size: 0.75rem;
    border-radius: 0.5rem;
    padding: 0.4em 0.8em;
}

.portfolio-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    color: white;
}

.portfolio-title {
    font-weight: 600;
    font-size: 1rem;
}

.portfolio-location {
    font-size: 0.85rem;
}

.portfolio-details {
    font-size: 0.85rem;
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portfolio-icons span {
    margin-right: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.portfolio-price {
    font-weight: bold;
}


#testimonials {
    width: 100%;
    margin: 80px 0px;
}

.testimonial-card {
    background-color: #fff;
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    flex: 0 0 calc(33% - 20px);
}

.testimonial-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
}

.testimonial-user {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.testimonial-user img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-user-name {
    font-weight: bold;
    margin-bottom: 0;
}

.testimonial-user-title {
    font-size: 0.9rem;
    color: #666;
    margin: 0;
}

.testimonial-quote {
    font-size: 2rem;
    color: #000;
}

.testimonial-text {
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
}

#articles {
    width: 100%;
    margin: 40px 0px;
}

#articles h2 {
    width: 100%;
    text-align: center;
    font-size: 32px;
    color: #202020;
}

#articles p.description {
    text-align: center;
    padding: 10px 50px;
}

.blog-card {
    max-width: 400px;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    background-color: #fff;
    margin: auto;
}

.blog-card img {
    width: 100%;
    aspect-ratio: 3/2;
    height: auto;
    object-fit: cover;
}

.blog-card-body {
    padding: 1.5rem;
    text-align: center;
}

.blog-meta {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 0.5rem;
}

.blog-title {
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 1rem;
}

.blog-link {
    font-weight: 500;
    color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
}

.blog-link:hover {
    color: #0d6efd;
}


#services {
    width: 100%;
    margin: 80px 0px;
}

#services h2 {
    width: 100%;
    text-align: center;
    font-size: 32px;
    color: #202020;
}

#services p.description {
    text-align: center;
    padding: 10px 50px;
}


.service-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background-color: #f8f9fa;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    display: block;
}

.service-card img {
    border-radius: 16px;
    width: 100%;
    aspect-ratio: 4 / 2;
    object-fit: cover;
    display: block;
}

.service-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1rem;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    color: white;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.service-title {
    font-weight: 600;
    font-size: 1.2rem;
}

/* 
.service-card {
    display: flex;
    align-items: flex-start;
    background: #fff;
    padding: 20px;
    max-width: 350px;
    font-family: sans-serif;
    border-radius: 12px;
    height: 100%;
}

.service-number {
    font-size: 40px;
    font-weight: bold;
    color: #c02026;
    margin-right: 15px;
    line-height: 1;
}

.service-content h4 {
    margin: 0;
    font-size: 18px;
    font-weight: bold;
    color: #1f2532;
}

.service-content p {
    margin-top: 8px;
    font-size: 14px;
    color: #777;
    line-height: 1.4;
} */

.footer-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    margin: 30px auto;
    font-family: sans-serif;
    gap: 20px;
}

.footer-card-content h3 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #1e1e1e;
}

.footer-card-content p {
    font-size: 15px;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.6;
}

.footer-card-icon {
    padding: 30px;
}

.footer-card-icon i {
    font-size: 64px;
}


footer {
    background-color: #1A1A1A;
    color: #fff;
    padding: 40px 20px;
    font-family: sans-serif;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.footer-top .logo {
    height: 100px;
}

.footer-top .socials {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 14px;
}

.footer-top .socials a {
    color: #fff;
    font-size: 18px;
    transition: color 0.3s;
}

.footer-top .socials a:hover {
    color: #ccc;
}

.footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 30px;
}

.footer-box {
    flex: 1 1 150px;
    min-width: 150px;
}

.footer-box.subscribe {
    flex: 1 1 300px;
    min-width: 180px;
}

.footer-box h4 {
    font-size: 16px;
    margin-bottom: 15px;
    font-weight: 600;
}

.footer-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-box ul li {
    margin-bottom: 8px;
}

.footer-box ul li a {
    color: #ccc;
    text-decoration: none;
    font-size: 14px;
}

.footer-box ul li a:hover {
    text-decoration: underline;
}

.footer-box p {
    font-size: 14px;
    color: #aaa;
    margin-top: 10px;
}

.subscribe form {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.subscribe input[type="email"] {
    flex: 1;
    padding: 10px;
    border-radius: 20px;
    border: none;
    font-size: 14px;
}

.subscribe button {
    background: #333;
    color: #fff;
    border: none;
    padding: 10px 14px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
}

.subscribe button:hover {
    background: #444;
}

.footer-bottom {
    border-top: 1px solid #333;
    padding-top: 15px;
    text-align: center;
    font-size: 13px;
    color: #aaa;
}

.footer-bottom img {
    filter: brightness(0) invert(1);
    width: 120px;
}