.heartbeat-icon {
    width: 18px;
    height: 18px;
    color: red;
    animation: heartbeat 1.5s infinite;
}

@keyframes heartbeat {

    0%,
    100% {
        transform: scale(1);
    }

    20% {
        transform: scale(1.1);
    }

    40% {
        transform: scale(1);
    }

    60% {
        transform: scale(1.1);
    }

    80% {
        transform: scale(1);
    }
}

.manan {
    font-family: "Noto Sans Bengali", sans-serif;
    /*    font-weight: bold;*/
    /*    color: #00899e;*/
    position: relative;
}

.galada-regular {
    font-family: "Galada", serif;
    font-weight: 400;
    font-style: normal;
}

.tiro-bangla-regular {
    font-family: "Tiro Bangla", serif;
    font-weight: 400;
    font-style: normal;
}

.tiro-bangla-regular-italic {
    font-family: "Tiro Bangla", serif;
    font-weight: 400;
    font-style: italic;
}

.dm-serif-text-regular {
    font-family: "DM Serif Text", serif;
    font-weight: 400;
    font-style: normal;
}

.dm-serif-text-regular-italic {
    font-family: "DM Serif Text", serif;
    font-weight: 400;
    font-style: italic;
}

.text-wbpta {
    color: #02899E;
}

.customBG {
    background-image: url(../images/whitediamond.png);
}

.vert {
    vertical-align: middle !important;
}

.text-justify {
    text-align: justify !important;
}

/* Home Page Specific Styles */
.home-hero {
    min-height: 90vh;
    padding-top: 80px;
}

.hero-bg-overlay {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    z-index: -1;
}

.hero-bg-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(0,0,0,0.85) 0%, rgba(20,20,20,0.6) 100%);
    z-index: 1;
}

.hero-shape-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 500px;
    height: 500px;
    transform: translate(30%, -30%);
    z-index: 0;
}

.hero-animated-shape {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    filter: blur(80px);
}

.hero-logo-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 280px;
    opacity: 0.85;
    z-index: 1;
    background: rgba(255, 255, 255, 0.9);
    padding: 35px;
    border-radius: 50%;
    box-shadow: 0 0 40px rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.hero-title {
    line-height: 1.3;
}

.hero-lead {
    max-width: 800px;
}

.hero-description {
    max-width: 700px;
}

.ticker-container {
    height: 50px;
}

.ticker-content-static {
    white-space: nowrap;
    animation-duration: 60s;
}

.ticker-content {
    animation: scrollTicker 60s linear infinite;
}

.ticker-content:hover {
    animation-play-state: paused;
}

@keyframes scrollTicker {
    0% { transform: translateX(100%); }
    100% { transform: translateX(-100%); }
}

.scrolling-content-vertical {
    animation: scrollUp 25s linear infinite;
}

.scrolling-content-vertical:hover {
    animation-play-state: paused;
}

@keyframes scrollUp {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

.about-offset-bg {
    transform: translate(-15px, -15px);
    z-index: 0;
}

.about-img-wrapper img {
    transition: transform 0.5s ease;
}

.about-img-wrapper:hover img {
    transform: scale(1.05);
}

.about-list-item {
    transition: transform 0.3s ease, color 0.3s ease;
}

.about-list-item:hover {
    transform: translateX(10px);
    color: var(--wb-primary);
}

.leadership-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .175) !important;
}

.stats-bg-overlay {
    background: linear-gradient(45deg, #0b0f19 0%, #1a1a2e 100%);
}

.stats-pulse-effect {
    width: 600px;
    height: 600px;
    filter: blur(100px);
}

.stats-item:hover .stats-icon {
    transform: scale(1.3);
    transition: transform 0.3s;
}

.stats-item {
    transition: transform 0.3s;
    cursor: default;
}

.cta-pulse-effect {
    width: 800px;
    height: 800px;
    filter: blur(120px);
}

.cta-lead {
    max-width: 700px;
}

.cta-btn .cta-glow {
    transform: skewX(-20deg) translateX(-150%);
    transition: transform 0.5s;
}

.cta-btn:hover .cta-glow {
    transform: skewX(-20deg) translateX(150%);
    transition: transform 0.5s;
}

.py-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.wsborder {
    border-collapse: collapse;
    border: 1px solid #dee2e6;
}

/* CAROUSAL GALLERY */
.carousel-item img {
    border-radius: 10px;
    transition: transform 0.3s ease;
    max-height: 500px;
    /* Set a max height for images */
    object-fit: cover;
    /* Maintain aspect ratio */
}

.carousel-item:hover img {
    transform: scale(1.05);
}

.gallery-title {
    position: absolute;
    bottom: 20px;
    left: 20px;
    color: white;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px 10px;
    border-radius: 5px;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: invert(1);
    /* Change the icon color to white */
}

/* MASONARY GRID GALLERY */
.masonry {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    /* Space between items */
}

.masonry-item {
    flex: 1 1 calc(33.333% - 15px);
    /* Three items per row with spacing */
    margin-bottom: 15px;
    /* Space below each item */
}

.masonry-item img {
    transition: transform 0.3s ease;
}

.masonry-item:hover img {
    transform: scale(1.05);
}

@media (max-width: 768px) {
    .masonry-item {
        flex: 1 1 calc(50% - 15px);
        /* Two items per row on small screens */
    }
}

@media (max-width: 576px) {
    .masonry-item {
        flex: 1 1 100%;
        /* One item per row on extra small screens */
    }
}

.text-blue {
    color: #0d0085 !important;
}

.rts-section-gap2 {
    padding: 50px 0;
}

@font-face {
    font-family: 'CooperBlack';
    src: url('../fonts/COOPBL.TTF') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.cooper-black-text {
    font-family: 'CooperBlack', sans-serif;
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Magneto';
    src: url('../fonts/MAGNETOB.TTF') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.magneto-text {
    font-family: 'Magneto', sans-serif;
    font-weight: normal;
    font-style: normal;
}

.text-justify {
    text-align: justify !important;
}