﻿:root {
    --hdfc-red: #eb0000;
    --hdfc-red-rgb: 235, 0, 0;
    --hdfc-red-light: #ff5151;
    --hdfc-red-light-rgb: 255, 81, 81;
    --hdfc-yellow: #F5A100;
    --hdfc-yellow-rgb: 245, 161, 0;
    --hdfc-yellow-light: #ffeb00;
    --hdfc-yellow-light-rgb: 255, 235, 0;
    --hdfc-blue: #002d97;
    --hdfc-blue-rgb: 0, 45, 151;
    --hdfc-blue-light: #004dff;
    --hdfc-blue-light-rgb: 0, 77, 255;
    --hdfc-purple: #4b0087;
    --hdfc-purple-rgb: 75, 0, 135;
    --hdfc-purple-light: #8900f7;
    --hdfc-purple-light-rgb: 137, 0, 247;
    --hdfc-cyan: #007fc9;
    --hdfc-cyan-rgb: 0, 127, 201;
    --hdfc-cyan-light: #14a9ff;
    --hdfc-cyan-light-rgb: 20, 169, 255;
    --hdfc-green: #26a300;
    --hdfc-green-rgb: 38, 163, 0;
    --hdfc-green-light: #46ff00;
    --hdfc-green-light-rgb: 70, 255, 0;
    --hdfc-orange: #ff4b00;
    --hdfc-orange-rgb: 255, 75, 0;
    --hdfc-orange-light: #ffb834;
    --hdfc-orange-light-rgb: 255, 184, 52;
    --header-height: 95px;
    --hero-overlap: 20px;
    --hero-padding: 15px;
    --custom-offcanvas-width: 240px;
    --hue: 223;
}

.loader {
    text-align: center;
    font-size: calc(16px + (24 - 16) * (100vw - 320px) / (1280 - 320));
}

    .loader .pl,
    .loader .pl__worm {
        animation-duration: 3s;
        animation-iteration-count: infinite;
    }

    .loader .pl {
        animation-name: bump;
        animation-timing-function: linear;
        width: 2.25rem;
        height: 2.25rem;
    }

    .loader .pl__ring {
        stroke: hsla(var(--hue),10%,10%,0.1);
        transition: stroke 0.3s;
    }

    .loader .pl__worm {
        animation-name: worm;
        animation-timing-function: cubic-bezier(0.42,0.17,0.75,0.83);
    }

    .loader.fixed-full {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: auto;
        backdrop-filter: blur(2px);
        z-index: 9999999;
        display: flex;
        flex-direction: column;
        gap: 5px;
        align-items: center;
        justify-content: center;
        background: rgb(203 201 215 / 90%);
    }

/* Dark theme */
@media (prefers-color-scheme: dark) {
    .loader .pl__ring {
        stroke: hsla(var(--hue),10%,90%,0.1);
    }
}

/* Animations */
@keyframes bump {
    from, 42%, 46%, 51%, 55%, 59%, 63%, 67%, 71%, 74%, 78%, 81%, 85%, 88%, 92%, to {
        transform: translate(0,0);
    }

    44% {
        transform: translate(1.33%,6.75%);
    }

    53% {
        transform: translate(-16.67%,-0.54%);
    }

    61% {
        transform: translate(3.66%,-2.46%);
    }

    69% {
        transform: translate(-0.59%,15.27%);
    }

    76% {
        transform: translate(-1.92%,-4.68%);
    }

    83% {
        transform: translate(9.38%,0.96%);
    }

    90% {
        transform: translate(-4.55%,1.98%);
    }
}

@keyframes worm {
    from {
        stroke-dashoffset: 10;
    }

    25% {
        stroke-dashoffset: 295;
    }

    to {
        stroke-dashoffset: 1165;
    }
}

.offcanvas {
    --bs-offcanvas-width: var(--custom-offcanvas-width);
}

    .offcanvas.offcanvas-start {
        top: .875rem;
        bottom: .875rem;
        left: .875rem;
        border-radius: 10px;
    }

.offcanvas-header .btn-close {
    background-color: #ffffff;
    position: absolute;
    right: -17px;
    opacity: .8;
    border-radius: 10rem;
    background-size: 10px;
    background-position: center;
    margin: 0;
}

    .offcanvas-header .btn-close:hover, .offcanvas-header .btn-close:focus {
        opacity: 1;
    }

.offcanvas-backdrop {
    background: linear-gradient(135deg, var(--hdfc-blue) 0%, #000717 100%);
}

    .offcanvas-backdrop.show {
        opacity: .875;
    }

.offcanvas-body {
    overflow-x: hidden;
}

.offcanvas .nav-link {
    --bs-nav-link-padding-y: .65rem;
    --bs-nav-link-font-size: .875rem;
    --bs-nav-link-color: #454545;
    --bs-nav-link-hover-color: #000000;
    --bs-nav-link-active-color: #ffffff;
    position: relative;
    border-radius: 4px;
}

.offcanvas .active .nav-link {
    --bs-nav-link-color: var(--bs-nav-link-hover-color);
}

.offcanvas .nav-link.active {
    --bs-nav-link-hover-color: #ffffff;
    --bs-nav-link-color: var(--bs-nav-link-active-color);
}

.offcanvas .nav-link::after {
    content: '';
    position: absolute;
    transition: all .3s ease-in-out;
    background: transparent;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transform: translateX(-100%);
    transition: all ease-in-out .3s;
    border-radius: 4px;
    transform-origin: left center;
}
/* .offcanvas .nav-link:hover, .offcanvas .nav-link.active {
    --bs-nav-link-color: #FFFFFF;
    } */

.offcanvas .nav-link:hover::after, .offcanvas .nav-link.active::after {
    background: linear-gradient(135deg, var(--hdfc-blue) 0%, #000717 100%);
    transform: translateX(0);
    opacity: .25;
}

.offcanvas .nav-link.active::after {
    opacity: .95;
}

.offcanvas .logout-menu .nav-link {
    --bs-nav-link-padding-y: .5rem;
    --bs-nav-link-color: rgba(255,0,0,0.85);
    --bs-navbar-active-color: rgba(255,0,0,1);
    --bs-nav-link-hover-color: rgba(255,0,0,1);
}

body.menuOpen header, body.menuOpen main {
    /* transform: translateX(var(--custom-offcanvas-width));
    transform-origin: right; */
    filter: blur(3px);
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.tooltip {
    --bs-tooltip-font-size: .75em;
    --bs-tooltip-padding-y: .25em;
    line-height: 1.2;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: all .3s ease-in-out;
}

    .header .header-wrapper {
        padding: 5px 0;
        display: flex;
        align-items: center;
        transition: all .3s ease-in-out;
        height: var(--header-height);
    }

main {
    transition: all .3s ease-in-out;
}

header .navbar-nav {
    --bs-nav-link-padding-y: 0;
    --bs-nav-link-font-size: 14px;
}

.header .logo {
    height: 45px;
    transition: all .3s ease-in-out;
}

.header.affixed {
    --header-height: 75px;
    background-color: white;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

    .header.affixed .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
        --bs-navbar-active-color: #000000;
    }

    .header.affixed .navbar-nav .nav-link {
        --bs-nav-link-color: rgba(0,0,0,0.55);
        --bs-nav-link-hover-color: rgba(0,0,0,0.55);
    }

    .header.affixed .navbar-nav.logout-menu .nav-link {
        --bs-nav-link-color: rgba(255,0,0,0.55);
        --bs-navbar-active-color: rgba(255,0,0,1);
        --bs-nav-link-hover-color: rgba(255,0,0,0.55);
        opacity: 1;
    }

.navbar-toggler {
    padding: 0;
    border: 0;
}

.header.affixed .logo {
    height: 40px;
}

.logo-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.error-wrapper {
    width: 100vw;
    max-width: 100%;
    min-height: calc(100dvh - 10px);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .error-wrapper > div {
        z-index: 1;
    }

    .error-wrapper::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(var(--hdfc-red-rgb),.7);
        z-index: 0;
        opacity: 0;
    }

    .error-wrapper::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../images/error-bg.jpg');
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        opacity: .25;
        filter: grayscale(1);
    }

.hero {
    background: linear-gradient(135deg, var(--hdfc-blue) 0%, #000717 100%);
    color: white;
    padding: calc(var(--header-height) + var(--hero-padding)) 0 calc(var(--hero-padding) + var(--hero-overlap));
}

.main-content {
    padding: calc(var(--hero-overlap) + 5px) 0;
    background: #ffffff;
    margin-top: calc(var(--hero-overlap) * -1);
    border-radius: 20px;
}

    .main-content.login {
        width: 400px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 30px;
        padding: 30px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.075);
    }

.custom-nav .nav-link {
    position: relative;
}

    .custom-nav .nav-link::after {
        content: '';
        display: block;
        width: 0;
        height: 3px;
        border-radius: 10px;
        margin: auto;
        background-color: currentColor;
        transition: all 0.5s ease;
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
    }

    .custom-nav .nav-link:hover::after {
        width: 100%;
        min-width: 5px;
    }

.captrcha-field-wrapper {
    position: relative;
}

    .captrcha-field-wrapper input.form-control {
        padding-right: 40px;
    }

    .captrcha-field-wrapper .refresh {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }

.captcha-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-top-right-radius: var(--bs-border-radius-sm);
    border-top-left-radius: var(--bs-border-radius-sm);
    user-select: none;
    pointer-events: none;
}

.captcha-content {
    letter-spacing: .5em;
    margin-right: -.5em;
}

.btn-refresh {
    -webkit-appearance: none;
    appearance: none;
    background: var(--bs-primary);
    display: flex;
    width: 28px;
    height: 28px;
    border-radius: 1000px;
    align-items: center;
    justify-content: center;
    padding: 0;
    outline: 0;
    border: none;
    color: #ffffff;
    position: absolute;
    top: 50%;
    right: 6px;
    margin-top: -14px
}

.product-card {
    text-decoration: none;
    border: none;
    height: 100%;
    box-shadow: rgba(13,21,55,.06) 0 5px 50px;
    text-align: center;
    border-radius: 6px;
    transition: all .3s ease;
    border: 1px solid rgba(0,0,0,0.1);
}

    .product-card .card-title {
        font-size: 1rem;
        font-weight: 500;
    }

    .product-card:hover, .product-card:focus {
        outline: none;
        background: linear-gradient(135deg, rgba(var(--hdfc-red-light-rgb), .5) 0%, rgba(var(--hdfc-red-rgb),.7) 100%);
        /* transform: translateY(-5px); */
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        color: #fff;
    }

    .product-card-wrapper:nth-child(2) .product-card:hover, .product-card-wrapper:nth-child(2) .product-card:focus, .product-card.yellow:hover, .product-card.yellow:focus {
        background: linear-gradient(135deg, var(--hdfc-yellow-light) 0%, var(--hdfc-yellow) 100%);
    }

    .product-card-wrapper:nth-child(3) .product-card:hover, .product-card-wrapper:nth-child(3) .product-card:focus, .product-card.orange:hover, .product-card.orange:focus {
        background: linear-gradient(135deg, var(--hdfc-orange-light) 0%, var(--hdfc-orange) 100%);
    }

    .product-card-wrapper:nth-child(4) .product-card:hover, .product-card-wrapper:nth-child(4) .product-card:focus, .product-card.cyan:hover, .product-card.cyan:focus {
        background: linear-gradient(135deg, var(--hdfc-cyan-light) 0%, var(--hdfc-cyan) 100%);
    }

    .product-card-wrapper:nth-child(5) .product-card:hover, .product-card-wrapper:nth-child(5) .product-card:focus, .product-card.blue:hover, .product-card.blue:focus {
        background: linear-gradient(135deg, var(--hdfc-blue-light) 0%, var(--hdfc-blue) 100%);
    }

    .product-card-wrapper:nth-child(6) .product-card:hover, .product-card-wrapper:nth-child(6) .product-card:focus, .product-card.green:hover, .product-card.green:focus {
        background: linear-gradient(135deg, var(--hdfc-green-light) 0%, var(--hdfc-green) 100%);
    }

    .product-card-wrapper:nth-child(7) .product-card:hover, .product-card-wrapper:nth-child(7) .product-card:focus, .product-card.purple:hover, .product-card.purple:focus {
        background: linear-gradient(135deg, var(--hdfc-purple-light) 0%, var(--hdfc-purple) 100%);
    }

    .product-card .product-icon {
        width: 4rem;
        height: 4rem;
        color: var(--hdfc-blue);
        margin: 0 auto 15px;
        border: 1px solid #dfdfdf;
        border-radius: 1000px;
        box-shadow: rgba(13,21,55,.06) 0 5px 10px;
        object-fit: cover;
        overflow: hidden;
    }

    .product-card .card-body {
        padding: 15px 25px;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

.lead-card {
    box-shadow: rgba(13,21,55,.06) 0 5px 50px;
    border: none;
    transition: all .3s ease;
    border: 1px solid rgba(0,0,0,0.1);
}

    .lead-card a.link {
        color: var(--bs-primary);
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: .5em;
        gap: 5px;
        font-size: .85em;
        line-height: 1.25;
        text-decoration: none;
    }

        .lead-card a.link svg {
            width: 1em;
            height: 1em;
            flex-shrink: 0;
        }

        .lead-card a.link:after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            width: 100%;
            height: 100%;
            aspect-ratio: 1;
            border-radius: 1.5em;
            background: currentColor;
            opacity: .1;
        }

    .lead-card:hover, .lead-card:focus {
        /* color: #FFFFFF;
    transform: translateY(-5px); */
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        background: linear-gradient(135deg, rgba(var(--hdfc-blue-rgb), .125) 0%, rgba(var(--hdfc-blue-rgb),.35) 100%);
        outline: none;
        z-index: 2;
    }

        .lead-card:hover .border-top, .lead-card:focus .border-top {
            --bs-border-color: #FFFFFF;
        }

        .lead-card:hover a.link, .lead-card:hover a:focus {
            color: inherit;
        }

        .lead-card:hover label, .lead-card:focus label {
            color: inherit !important;
            opacity: .75;
        }

.dots {
    height: 1.4em;
    width: 1.4em;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 1;
}

    .dots > div,
    .dots > div:after,
    .dots > div:before {
        height: 4px;
        width: 4px;
        background-color: rgba(49, 49, 49, 0.8);
        background-color: currentColor;
        border-radius: 50%;
        -webkit-transition: 0.5s;
        -o-transition: 0.5s;
        transition: 0.5s;
    }

    .dots > div {
        position: relative;
    }

        .dots > div:after {
            content: "";
            position: absolute;
            bottom: calc((1.4em / 2) - (4px / 2));
            left: 0;
        }

        .dots > div:before {
            content: "";
            position: absolute;
            top: calc((1.4em / 2) - (4px / 2));
            left: 0;
        }

.toggler {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    z-index: 2;
}

    .toggler:hover + .dots > div,
    .toggler:hover + .dots > div:after,
    .toggler:hover + .dots > div:before {
        background-color: rgba(49, 49, 49, 0.6);
    }

    .toggler:checked + .dots > div {
        -webkit-transform: translateX(calc(((1.4em / 2) - (4px / 2)) * -0.7071067812)) translateY(calc(((1.4em / 2) - (4px / 2)) * -0.7071067812));
        -ms-transform: translateX(calc(((1.4em / 2) - (4px / 2)) * -0.7071067812)) translateY(calc(((1.4em / 2) - (4px / 2)) * -0.7071067812));
        transform: translateX(calc(((1.4em / 2) - (4px / 2)) * -0.7071067812)) translateY(calc(((1.4em / 2) - (4px / 2)) * -0.7071067812));
    }

        .toggler:checked + .dots > div:after {
            -webkit-transform: translateX(calc(((1.4em / 2) - (4px / 2)) * 0.7071067812)) translateY(calc((2 * (1.4em / 2) - (4px / 2)) * 0.7071067812));
            -ms-transform: translateX(calc(((1.4em / 2) - (4px / 2)) * 0.7071067812)) translateY(calc((2 * (1.4em / 2) - (4px / 2)) * 0.7071067812));
            transform: translateX(calc(((1.4em / 2) - (4px / 2)) * 0.7071067812)) translateY(calc((2 * (1.4em / 2) - (4px / 2)) * 0.7071067812));
        }

        .toggler:checked + .dots > div:before {
            -webkit-transform: translateX( calc(2 * (((1.4em / 2) - (4px / 2)) * 0.7071067812)) ) translateY( calc(((1.4em / 2) - (4px / 2)) - (((1.4em / 2) - (4px / 2)) * 0.7071067812)) );
            -ms-transform: translateX(calc(2 * (((1.4em / 2) - (4px / 2)) * 0.7071067812))) translateY( calc(((1.4em / 2) - (4px / 2)) - (((1.4em / 2) - (4px / 2)) * 0.7071067812)) );
            transform: translateX(calc(2 * (((1.4em / 2) - (4px / 2)) * 0.7071067812))) translateY( calc(((1.4em / 2) - (4px / 2)) - (((1.4em / 2) - (4px / 2)) * 0.7071067812)) );
        }

    .toggler:checked:hover + .dots > div,
    .toggler:checked:hover + .dots > div:after,
    .toggler:checked:hover + .dots > div:before {
        background-color: rgba(49, 49, 49, 0.6);
        -webkit-transition: 0.5s;
        -o-transition: 0.5s;
        transition: 0.5s;
    }

.menu-wrap {
    position: relative;
    height: 1.4em;
    width: 1.4em;
}

.menu {
    position: absolute;
    right: 0;
    top: 100%;
    width: 0;
    background-color: #ffffff;
    padding: 10px 15px;
    -webkit-box-shadow: 2px 4px 6px rgba(49, 49, 49, 0.2);
    box-shadow: 2px 4px 6px rgba(49, 49, 49, 0.2);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

    .menu .link {
        text-decoration: none;
        color: rgba(49, 49, 49, 0.85);
        opacity: 0;
        visibility: hidden;
        display: flex;
        align-items: center;
        transform: translateY(-10px);
        gap: 5px;
        line-height: 1.2;
    }

        .menu .link:hover {
            color: var(--bs-primary) !important;
        }

.toggler:checked ~ .menu {
    opacity: 1;
    visibility: visible;
    width: 150px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    overflow-y: auto;
}

    .toggler:checked ~ .menu .link {
        opacity: 1;
        visibility: visible;
        -webkit-transition: 0.5s ease 0.3s;
        -o-transition: 0.5s ease 0.3s;
        transition: 0.5s ease 0.3s;
        transform: translateY(0);
    }

.toggler:not(:checked) ~ .menu {
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
}

    .toggler:not(:checked) ~ .menu .link {
        opacity: 0;
        visibility: hidden;
        -webkit-transition: 0.1s;
        -o-transition: 0.1s;
        transition: 0.1s;
    }

.dropdown-wrapper input:focus ~ .dropdown-list {
    display: block;
}

.footer {
    background-color: var(--hdfc-blue);
    color: white;
    padding: 40px 0 20px;
    /* margin-top: 50px; */
}

.footer-links a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    margin: 15px 0;
}

    .footer-links a:hover {
        color: white;
    }

.social-icons a {
    color: white;
    font-size: 1.2rem;
    margin: 0 10px;
}

.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
    margin-top: 30px;
}

.table-responsive {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.table td {
    overflow-wrap: break-word;
}

#toggle-filter-btn[aria-expanded="true"]:before {
    content: 'Hide ';
}

#toggle-filter-btn[aria-expanded="false"]:before {
    content: 'Show ';
}

@media (max-width: 767px) {
    :root {
        --header-height: 80px;
    }

    .header .logo {
        height: 40px;
    }

    .header.affixed {
        --header-height: 80px;
    }

    .product-card .card-body {
        padding: 15px 20px;
    }

    .main-content {
        padding: var(--hero-overlap) 0;
    }
}

@media (max-width: 575px) {
    .product-card .card-body {
        padding: 16px;
    }

    .product-card .card-title {
        font-size: .875rem;
    }

    .navbar-collapse {
        position: absolute;
        top: calc(100% + .5rem);
        background: linear-gradient(135deg, var(--hdfc-blue) 0%, #000717 100%);
        border-radius: .25rem;
    }

    header .navbar-nav {
        margin-top: 0;
        padding: 10px;
        border: 1px solid rgba(255, 255, 255, .5);
        border-radius: inherit;
    }

    .header.affixed .navbar-collapse {
        background: #eaeaea;
    }

    .header.affixed .navbar {
        --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        --bs-navbar-toggler-border-color: rgba(0,0,0,0.15);
    }
}
