﻿/* =====================================================
   GLOBAL
===================================================== */

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
    font-family: Arial, sans-serif;
    background: #DDE8EF;
}


/* =====================================================
   APP CONTAINER
===================================================== */

.app-container {
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    background: linear-gradient( 135deg, #DDEEFF, #FFF4CC );
}




.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 15px;
    padding: 35px 14px 110px;
}


/* =====================================
   DASHBOARD CARD
===================================== */

.dashboard-card {
    position: relative;
    min-height: 145px;
    padding: 42px 12px 18px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: #fff;
    box-shadow: 7px 9px 18px rgba(0,0,0,0.16), inset 2px 2px 5px rgba(255,255,255,0.18);
    transition: 0.25s ease;
}


    /* =====================================
   ICON OVERLAP
===================================== */

    .dashboard-card .card-icon {
        position: absolute;
        top: -27px;
        left: 50%;
        transform: translateX(-50%);
        width: 58px;
        height: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 18px;
        font-size: 27px;
        z-index: 5;
        border: 4px solid #F4F8FA;
        box-shadow: 5px 6px 12px rgba(0,0,0,0.22), inset 2px 2px 4px rgba(255,255,255,0.35);
    }


    /* =====================================
   EVENTS
===================================== */

    .dashboard-card:nth-child(1) {
        background: linear-gradient( 145deg, #8E44AD, #6C3483 );
    }

        .dashboard-card:nth-child(1) .card-icon {
            background: #FF9F1C;
            color: #fff;
        }


    /* =====================================
   JOIN
===================================== */

    .dashboard-card:nth-child(2) {
        background: linear-gradient( 145deg, #008C45, #006B36 );
    }

        .dashboard-card:nth-child(2) .card-icon {
            background: #E53935;
            color: #fff;
        }


    /* =====================================
   VOLUNTEER
===================================== */

    .dashboard-card:nth-child(3) {
        background: linear-gradient( 145deg, #E53935, #B71C1C );
    }

        .dashboard-card:nth-child(3) .card-icon {
            background: #FFD21F;
            color: #7A4B00;
        }


    /* =====================================
   MEMBERSHIP
===================================== */

    .dashboard-card:nth-child(4) {
        background: linear-gradient( 145deg, #F57C00, #E65100 );
    }

        .dashboard-card:nth-child(4) .card-icon {
            background: #8E44AD;
            color: #fff;
        }


    /* =====================================
   CARD TEXT
===================================== */

    .dashboard-card h6 {
        margin: 5px 0 5px;
        font-size: 17px;
        font-weight: 800;
    }

    .dashboard-card small {
        font-size: 11px;
        opacity: 0.92;
    }


    /* =====================================
   HOVER
===================================== */

    .dashboard-card:hover {
        transform: translateY(-4px);
        box-shadow: 8px 13px 22px rgba(0,0,0,0.22);
    }

        .dashboard-card:hover .card-icon {
            transform: translateX(-50%) translateY(-3px);
        }


/* =====================================================
   DASHBOARD HEADER
===================================================== */

/* =====================================
   FIXED HEADER
===================================== */

.dashboard-header {
    position: fixed;
    top: 0;
    width: 100%;
    max-width: 430px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 18px;
    /* Yellow / Golden Header */
    background: #003D68;
    z-index: 500;
    border-bottom: 3px solid #E53935;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.18);
}


    /* Logo */

    .dashboard-header .logo {
        width: 190px;
        max-width: 70%;
        height: auto;
        object-fit: contain;
        /* Logo clearly visible */
        filter: drop-shadow( 0 2px 3px rgba(0, 0, 0, 0.30) );
    }


/* Notification */

.header-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #E53935;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.20), inset 2px 2px 4px rgba(255,255,255,0.25);
    transition: 0.25s;
}

    .header-icon:hover {
        background: #005B96;
        transform: scale(1.05);
    }

/* Logo */

.dashboard-header .logo {
    width: 190px;
    max-width: 15%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow( 0 3px 5px rgba(0, 0, 0, 0.25) );
}


.dashboard-header .logo-second {
    width: 245px;
    height: 52px;
    object-fit: contain;
    margin-left: -38px;
}

@media (max-width: 576px) {
    .dashboard-header .logo-second {
        width: 128px;
        height: 46px;
        margin-left: -100px;
    }
}

.dashboard-app {
    position: relative;
    width: 100%;
    max-width: 430px;
    min-height: 100vh;
    background: #F4F8FA;
    overflow: hidden;
    padding-top: 70px;
}

/* =====================================================
   SLIDER
===================================================== */

#carouselExampleIndicators {
    /*margin: 15px 12px 20px;

    border-radius: 18px;*/
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}


    /* Slider Image */

    #carouselExampleIndicators .carousel-item img {
        width: 100%;
        /*height: 250px;*/
        object-fit: cover;
        display: block;
    }


    /* Indicators */

    #carouselExampleIndicators .carousel-indicators {
        margin-bottom: 8px;
    }

        #carouselExampleIndicators .carousel-indicators button {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            border: 0;
            margin: 0 4px;
            background-color: #FFD21F;
            opacity: 0.65;
        }

            #carouselExampleIndicators .carousel-indicators button.active {
                opacity: 1;
                background-color: #E53935;
            }


    /* Slider Controls */

    #carouselExampleIndicators .carousel-control-prev,
    #carouselExampleIndicators .carousel-control-next {
        width: 40px;
    }

    #carouselExampleIndicators .carousel-control-prev-icon,
    #carouselExampleIndicators .carousel-control-next-icon {
        width: 25px;
        height: 25px;
    }


/* =====================================================
   DASHBOARD GRID
===================================================== */

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    padding: 0 14px 95px;
}


/* =====================================================
   DASHBOARD CARD
===================================================== */

.dashboard-card {
    min-height: 155px;
    padding: 20px 12px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    box-shadow: 6px 7px 15px rgba(0, 0, 0, 0.15), inset 2px 2px 5px rgba(255,255,255,0.25);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}


    /* Decorative shine */

    .dashboard-card::before {
        content: "";
        position: absolute;
        width: 100px;
        height: 100px;
        top: -45px;
        right: -35px;
        border-radius: 50%;
        background: rgba(255,255,255,0.12);
    }


    /* Hover */

    .dashboard-card:hover {
        transform: translateY(-5px);
        box-shadow: 8px 12px 20px rgba(0,0,0,0.22);
    }


    /* =====================================================
   CARD 1 - EVENTS
===================================================== */

    .dashboard-card:nth-child(1) {
        background: linear-gradient( 145deg, #0089D0, #005B96 );
        color: #fff;
    }

        .dashboard-card:nth-child(1) .card-icon {
            background: #FFD21F;
            color: #005B96;
        }


    /* =====================================================
   CARD 2 - JOIN
===================================================== */

    .dashboard-card:nth-child(2) {
        background: linear-gradient( 145deg, #FFD21F, #FFB300 );
        color: #005B96;
    }

        .dashboard-card:nth-child(2) .card-icon {
            background: #E53935;
            color: #fff;
        }


    /* =====================================================
   CARD 3 - VOLUNTEER
===================================================== */

    .dashboard-card:nth-child(3) {
        background: linear-gradient( 145deg, #E53935, #C62828 );
        color: #fff;
    }

        .dashboard-card:nth-child(3) .card-icon {
            background: #FFD21F;
            color: #005B96;
        }


    /* =====================================================
   CARD 4 - MEMBERSHIP
===================================================== */

    .dashboard-card:nth-child(4) {
        background: linear-gradient( 145deg, #008C45, #006B36 );
        color: #fff;
    }

        .dashboard-card:nth-child(4) .card-icon {
            background: #FFD21F;
            color: #008C45;
        }


/* =====================================================
   CARD ICON
===================================================== */

.card-icon {
    width: 58px;
    height: 58px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    font-size: 27px;
    box-shadow: 4px 5px 10px rgba(0,0,0,0.20), inset 2px 2px 4px rgba(255,255,255,0.35);
}


/* =====================================================
   CARD TEXT
===================================================== */

.dashboard-card h6 {
    margin: 3px 0 5px;
    font-size: 18px;
    font-weight: 800;
}

.dashboard-card small {
    font-size: 12px;
    font-weight: 500;
    opacity: 0.9;
}


/* =====================================================
   BOTTOM NAVIGATION
===================================================== */

/* =====================================
   FIXED BOTTOM NAVIGATION
===================================== */

.dashboard-bottom-nav {
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    max-width: 430px;
    height: 75px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    background: linear-gradient( 180deg, #005B96, #003B66 );
    border-top: 2px solid rgba(255,210,31,0.25);
    box-shadow: 0 -5px 18px rgba(0,0,0,0.20);
    z-index: 500;
}


    /* =====================================
   BOTTOM NAV LINK
===================================== */

    .dashboard-bottom-nav a {
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        color: #BFE5F5;
        text-decoration: none;
        font-size: 11px;
        font-weight: 600;
        transition: 0.25s;
    }


        /* =====================================
   ICON
===================================== */

        .dashboard-bottom-nav a i {
            font-size: 22px;
            transition: 0.25s;
        }


        /* =====================================
   ACTIVE
===================================== */

        .dashboard-bottom-nav a.active {
            color: #FFD21F;
        }

            .dashboard-bottom-nav a.active i {
                transform: translateY(-2px);
                text-shadow: 0 2px 5px rgba(0,0,0,0.25);
            }


        /* =====================================
   HOVER
===================================== */

        .dashboard-bottom-nav a:hover {
            color: #FFD21F;
        }

            .dashboard-bottom-nav a:hover i {
                transform: translateY(-2px);
            }


/* =====================================
   MOBILE
===================================== */

@media (max-width: 576px) {

    .dashboard-bottom-nav {
        width: 100%;
        max-width: 100%;
        height: 72px;
    }

        .dashboard-bottom-nav a {
            font-size: 10px;
        }

            .dashboard-bottom-nav a i {
                font-size: 21px;
            }
}

/* =====================================================
   MORE OVERLAY
===================================================== */

/* =====================================================
   MORE OVERLAY
===================================================== */

.more-overlay {
    position: absolute;
    inset: 0;
    background: rgba(30, 15, 45, 0.38);
    opacity: 0;
    visibility: hidden;
    z-index: 90;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

    .more-overlay.active {
        opacity: 1;
        visibility: visible;
    }


/* =====================================================
   MORE SIDE PANEL
===================================================== */

.more-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 88%;
    height: 100%;
    background: linear-gradient( 145deg, #F7F2FF 0%, #EEE5FF 50%, #E7D9F5 100% );
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(.4,0,.2,1);
    box-shadow: -10px 0 28px rgba(60, 25, 80, 0.25);
    overflow-y: auto;
    scrollbar-width: none;
    border-left: 3px solid #8E44AD;
}


    /* Chrome / Edge scrollbar hide */

    .more-panel::-webkit-scrollbar {
        display: none;
    }


    /* =====================================================
   OPEN
===================================================== */

    .more-panel.active {
        transform: translateX(0);
    }


/* =====================================================
   MORE HEADER
===================================================== */

.more-header {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient( 145deg, #8E44AD, #6C3483 );
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(60, 25, 80, 0.20);
    position: sticky;
    top: 0;
    z-index: 5;
}

    .more-header h5 {
        margin: 0;
        font-size: 20px;
        font-weight: 800;
    }


/* =====================================================
   CONTENT
===================================================== */

.more-content {
    padding: 20px 14px 100px;
}


/* =====================================================
   MORE ITEM
===================================================== */

.more-item {
    display: flex;
    align-items: center;
    gap: 13px;
    /*min-height: 65px;*/
    margin-bottom: 6px;
    padding: 9px 12px;
    /* background: #FFFFFF; */
    border-radius: 17px;
    /* border: 1px solid #DDCBEA; */
    color: #493451;
    text-decoration: none;
    /* box-shadow: 4px 6px 14px rgb(70 30 90 / 10%); */
    transition: 0.25s ease;
}

    .more-item span {
        flex: 1;
        font-size: 15px;
        font-weight: 700;
    }

    .more-item > i {
        color: #8E44AD;
        font-size: 16px;
    }



/* =====================================================
   LOGOUT
===================================================== */

.logout-item {
    margin-top: 20px;
    border-color: #F1BBBB;
}

    .logout-item span {
        color: #C62828;
    }

    .logout-item > i {
        color: #E53935;
    }


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 576px) {

    .more-panel {
        width: 88%;
        border-left: 3px solid #8E44AD;
    }

    .more-header {
        height: 65px;
    }

    .more-content {
        padding: 18px 12px 100px;
    }

    .more-item {
        min-height: 62px;
        border-radius: 15px;
    }

    .more-icon {
        width: 42px;
        height: 42px;
        font-size: 19px;
    }
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 576px) {

    .dashboard-app {
        max-width: 100%;
    }

    .dashboard-header {
        height: 72px;
        padding: 8px 15px;
    }

        .dashboard-header .logo {
            width: 175px;
        }

    .header-icon {
        width: 42px;
        height: 42px;
        font-size: 20px;
    }

    /*#carouselExampleIndicators {
        margin:
            12px 10px 18px;
    }*/

    #carouselExampleIndicators .carousel-item img {
        height: 250px;
    }

    .dashboard-grid {
        gap: 11px;
        padding: 0 11px 90px;
    }

    .dashboard-card {
        min-height: 145px;
        padding: 18px 9px;
        border-radius: 17px;
    }

    .card-icon {
        width: 52px;
        height: 52px;
        font-size: 24px;
        border-radius: 15px;
    }

    .dashboard-card h6 {
        font-size: 16px;
    }

    .dashboard-card small {
        font-size: 11px;
    }

    .dashboard-bottom-nav {
        height: 72px;
    }

        .dashboard-bottom-nav a {
            font-size: 10px;
        }

            .dashboard-bottom-nav a i {
                font-size: 21px;
            }

    .more-panel {
        width: 90%;
    }
}


/* =====================================================
   VERY SMALL MOBILE
===================================================== */

@media (max-width: 360px) {

    .dashboard-header .logo {
        width: 155px;
    }

    #carouselExampleIndicators .carousel-item img {
        height: 145px;
    }

    .dashboard-card {
        min-height: 135px;
    }

    .card-icon {
        width: 48px;
        height: 48px;
        font-size: 22px;
    }

    .dashboard-card h6 {
        font-size: 15px;
    }

    .dashboard-card small {
        font-size: 10px;
    }

    .dashboard-bottom-nav a i {
        font-size: 19px;
    }
}

@media (max-width: 576px) {

    .dashboard-header {
        width: 100%;
        max-width: 100%;
        height: 72px;
        padding: 8px 15px;
    }

    .dashboard-app {
        padding-top: 72px;
    }

    .dashboard-header .logo {
        width: 175px;
    }

    .header-icon {
        width: 42px;
        height: 42px;
        font-size: 20px;
    }
}
/* =====================================
   DASHBOARD GRID
===================================== */

.dashboard-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /*gap: 35px 15px;*/
    padding: 8px 15px 13px;
    /* Important */
    overflow: visible;
}

/* =====================================
   DASHBOARD CARD
===================================== */

.dashboard-card {
    position: relative;
    min-height: 110px;
    /*padding: 42px 12px 18px;*/
    border-radius: 20px;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: #fff;
}
    /* =====================================
   ICON OVERLAP
===================================== */

    .dashboard-card .card-icon {
        position: absolute;
        top: -27px;
        left: 50%;
        transform: translateX(-50%);
        width: 58px;
        height: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 18px;
        font-size: 27px;
        z-index: 20;
        /* This border creates separation */
        border: 4px solid #F4F8FA;
        box-shadow: 5px 6px 12px rgba(0,0,0,0.22), inset 2px 2px 4px rgba(255,255,255,0.35);
    }
    /* =====================================
   EVENTS
===================================== */

    .dashboard-card:nth-child(1) {
        background: linear-gradient( 145deg, #8E44AD, #6C3483 );
    }

        .dashboard-card:nth-child(1) .card-icon {
            background: #FF9F1C;
            color: #fff;
        }


    /* =====================================
   JOIN
===================================== */

    .dashboard-card:nth-child(2) {
        background: linear-gradient( 145deg, #008C45, #006B36 );
    }

        .dashboard-card:nth-child(2) .card-icon {
            background: #E53935;
            color: #fff;
        }


    /* =====================================
   VOLUNTEER
===================================== */

    .dashboard-card:nth-child(3) {
        background: linear-gradient( 145deg, #E53935, #B71C1C );
    }

        .dashboard-card:nth-child(3) .card-icon {
            background: #FFD21F;
            color: #7A4B00;
        }


    /* =====================================
   MEMBERSHIP
===================================== */

    .dashboard-card:nth-child(4) {
        background: linear-gradient( 145deg, #F57C00, #E65100 );
    }

        .dashboard-card:nth-child(4) .card-icon {
            background: #8E44AD;
            color: #fff;
        }


    /* =====================================
   CARD TEXT
===================================== */

    .dashboard-card h6 {
        margin: 5px 0 5px;
        font-size: 17px;
        font-weight: 800;
        color: white;
    }

    .dashboard-card small {
        font-size: 11px;
        opacity: 0.92;
        color: white;
    }


    /* =====================================
   HOVER
===================================== */

    .dashboard-card:hover {
        transform: translateY(-4px);
        box-shadow: 8px 13px 22px rgba(0,0,0,0.22);
    }

        .dashboard-card:hover .card-icon {
            transform: translateX(-50%) translateY(-3px);
        }
/* =====================================
   MOBILE DASHBOARD
===================================== */

@media (max-width: 576px) {

    /* App */
    .dashboard-app {
        width: 100%;
        max-width: 100%;
        min-height: 100vh;
        overflow-x: hidden;
        overflow-y: visible;
    }


    /* Grid */
    .dashboard-grid {
        grid-template-columns: repeat(2, 1fr);
        /* gap: 34px 12px; */
        /* padding: 35px 11px 105px; */
        overflow: visible;
    }


    /* Card */
    .dashboard-card {
        min-height: 135px;
        padding: 38px 8px 15px;
        border-radius: 17px;
        overflow: visible;
    }


        /* Floating Icon */
        .dashboard-card .card-icon {
            top: -25px;
            width: 54px;
            height: 54px;
            border-radius: 16px;
            font-size: 24px;
            border: 4px solid #F4F8FA;
            box-shadow: 4px 5px 10px rgba(0,0,0,0.22), inset 2px 2px 4px rgba(255,255,255,0.35);
        }


        /* Card Title */
        .dashboard-card h6 {
            margin: 5px 0 4px;
            font-size: 15px;
            font-weight: 800;
        }


        /* Card Description */
        .dashboard-card small {
            font-size: 10px;
            line-height: 1.3;
            display: block;
            max-width: 120px;
        }
}


/* =====================================
   SMALL MOBILE
===================================== */

@media (max-width: 360px) {

    .dashboard-grid {
        gap: 32px 9px;
        padding-left: 9px;
        padding-right: 9px;
    }

    .dashboard-card {
        min-height: 128px;
        padding-top: 36px;
    }

        .dashboard-card .card-icon {
            width: 50px;
            height: 50px;
            top: -23px;
            font-size: 22px;
        }

        .dashboard-card h6 {
            font-size: 14px;
        }

        .dashboard-card small {
            font-size: 9px;
        }
}
/* =====================================
   SEARCH CARD
===================================== */

.search-card {
    margin: 20px 14px;
    padding: 22px 18px 20px;
    border-radius: 22px;
    background: linear-gradient( 145deg, #F7F2FF, #E9DDF5 );
    border: 1px solid #D3BCE2;
    box-shadow: 7px 9px 18px rgba(70, 30, 90, 0.15), inset 3px 3px 7px rgba(255,255,255,0.9), inset -3px -3px 7px rgba(100,50,130,0.10);
}


/* =====================================
   HEADING
===================================== */

.search-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-bottom: 20px;
}

    .search-heading i {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 11px;
        background: linear-gradient( 145deg, #8E44AD, #6C3483 );
        color: #FFFFFF;
        font-size: 17px;
        box-shadow: 3px 4px 8px rgba(70,30,90,0.22), inset 2px 2px 4px rgba(255,255,255,0.25);
    }

    .search-heading h5 {
        margin: 0;
        color: #553064;
        font-size: 19px;
        font-weight: 800;
    }


/* =====================================
   INPUT
===================================== */

.search-input-box {
    position: relative;
    margin-bottom: 13px;
}


    .search-input-box i {
        position: absolute;
        left: 16px;
        top: 50%;
        transform: translateY(-50%);
        color: #8E44AD;
        font-size: 18px;
        z-index: 2;
    }


    .search-input-box input {
        width: 100%;
        height: 53px;
        padding: 5px 15px 5px 45px;
        border-radius: 15px;
        border: 2px solid #D4C2DE;
        outline: none;
        background: #FFFFFF;
        color: #493451;
        font-size: 15px;
        box-shadow: inset 4px 4px 8px rgba(70,30,90,0.07), 3px 4px 9px rgba(70,30,90,0.08);
        transition: 0.25s;
    }


        .search-input-box input::placeholder {
            color: #95839F;
        }


        .search-input-box input:focus {
            border-color: #8E44AD;
            box-shadow: 0 0 0 3px rgba(142,68,173,0.12), inset 4px 4px 8px rgba(70,30,90,0.07);
        }


/* =====================================
   SEARCH BUTTON
===================================== */

.search-btn {
    width: 100%;
    height: 54px;
    margin-top: 5px;
    border: none;
    border-radius: 15px;
    background: linear-gradient( 145deg, #FF9F1C, #F57C00 );
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 1px;
    box-shadow: 6px 7px 13px rgba(180,90,0,0.20), inset 2px 2px 5px rgba(255,255,255,0.40), inset -3px -3px 5px rgba(150,70,0,0.18);
    transition: 0.25s;
}


    .search-btn:hover {
        background: linear-gradient( 145deg, #8E44AD, #6C3483 );
        transform: translateY(-2px);
    }


    .search-btn:active {
        transform: translateY(1px);
        box-shadow: inset 3px 3px 7px rgba(0,0,0,0.20);
    }

.join-form {
    max-width: 1000px;
    margin: 25px auto;
    padding: 25px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.form-title {
    margin: 0 0 25px;
    padding-bottom: 12px;
    color: #337ab7;
    font-size: 24px;
    font-weight: bold;
    border-bottom: 2px solid #337ab7;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 20px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    color: #333;
    font-size: 14px;
    font-weight: bold;
}

.form-control {
    width: 100%;
    height: 40px;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 14px;
}

    .form-control:focus {
        border-color: #337ab7;
        outline: none;
        box-shadow: 0 0 4px rgba(51,122,183,.25);
    }

.profile-preview {
    width: 80px;
    height: 80px;
    object-fit: cover;
    margin-top: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

.join-btn-area {
    text-align: center;
    margin-top: 25px;
}

.join-btn {
    min-width: 180px;
    padding: 11px 30px;
    background: #337ab7;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

    .join-btn:hover {
        background: #286090;
    }

@media (max-width: 650px) {
    .join-form {
        margin: 15px 10px;
        padding: 18px;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .join-btn {
        width: 100%;
    }
}

.contact-section {
    width: 100%;
    padding: 40px 15px;
    background: #f5f7fa;
    box-sizing: border-box;
}

.contact-container {
    max-width: 900px;
    margin: auto;
}

/* CONTACT INFORMATION */

.contact-info {
    background: #337ab7;
    color: #fff;
    padding: 30px;
    border-radius: 6px 6px 0 0;
}

    .contact-info h3,
    .contact-form h3 {
        margin: 0 0 25px;
        font-size: 22px;
        font-weight: bold;
    }

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 18px 0;
    border-top: 1px solid rgba(255,255,255,.2);
}

    .contact-item i {
        width: 40px;
        height: 40px;
        min-width: 40px;
        border-radius: 50%;
        background: rgba(255,255,255,.15);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 17px;
    }

    .contact-item h4 {
        margin: 0 0 6px;
        font-size: 14px;
    }

    .contact-item p {
        margin: 0;
        font-size: 14px;
        line-height: 1.7;
    }


/* FORM */

.contact-form {
    background: #fff;
    padding: 35px 30px;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 15px rgba(0,0,0,.08);
}

    .contact-form h3 {
        color: #337ab7;
        border-bottom: 2px solid #337ab7;
        padding-bottom: 12px;
    }

.form-field {
    margin-bottom: 18px;
}

    .form-field label {
        display: block;
        margin-bottom: 7px;
        font-size: 14px;
        font-weight: bold;
        color: #333;
    }

        .form-field label b {
            color: #e22;
        }

    .form-field input,
    .form-field select,
    .form-field textarea {
        width: 100%;
        padding: 11px 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        font-size: 14px;
        outline: none;
    }

    .form-field input,
    .form-field select {
        height: 42px;
    }

    .form-field textarea {
        resize: vertical;
    }

        .form-field input:focus,
        .form-field select:focus,
        .form-field textarea:focus {
            border-color: #337ab7;
            box-shadow: 0 0 4px rgba(51,122,183,.2);
        }

.submit-btn {
    width: 150px;
    padding: 11px;
    background: #337ab7;
    color: #fff;
    border: 0;
    border-radius: 4px;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    margin-bottom: 10px;
}

    .submit-btn:hover {
        background: #286090;
    }

@media (max-width:600px) {

    .contact-section {
        padding: 20px 10px;
    }

    .contact-info,
    .contact-form {
        padding: 25px 18px;
    }

    .submit-btn {
        width: 100%;
    }
}

.donation-section {
    width: 100%;
    padding: 40px 15px;
    background: #f5f7fa;
    box-sizing: border-box;
}

.donation-container {
    max-width: 900px;
    margin: auto;
    padding: 35px 30px;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0,0,0,.08);
    box-sizing: border-box;
}

.donation-title {
    margin: 0 0 28px;
    padding-bottom: 12px;
    color: #337ab7;
    font-size: 22px;
    font-weight: bold;
    border-bottom: 2px solid #337ab7;
}

.donation-field {
    margin-bottom: 18px;
}

    .donation-field label {
        display: block;
        margin-bottom: 7px;
        color: #333;
        font-size: 14px;
        font-weight: bold;
    }

        .donation-field label b {
            color: #e22;
        }

    .donation-field input,
    .donation-field select,
    .donation-field textarea {
        width: 100%;
        padding: 11px 12px;
        border: 1px solid #ccc;
        border-radius: 4px;
        box-sizing: border-box;
        font-family: inherit;
        font-size: 14px;
        outline: none;
    }

    .donation-field input,
    .donation-field select {
        height: 42px;
    }

    .donation-field textarea {
        resize: vertical;
    }

        .donation-field input:focus,
        .donation-field select:focus,
        .donation-field textarea:focus {
            border-color: #337ab7;
            box-shadow: 0 0 4px rgba(51,122,183,.2);
        }

.amount-input {
    display: flex;
    align-items: stretch;
}

    .amount-input span {
        width: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #337ab7;
        color: #fff;
        font-size: 17px;
        font-weight: bold;
        border-radius: 4px 0 0 4px;
    }

    .amount-input input {
        border-radius: 0 4px 4px 0;
    }

.donation-submit {
    margin-top: 25px;
}

    .donation-submit button {
        width: 100%;
        padding: 12px;
        background: #337ab7;
        color: #fff;
        border: none;
        border-radius: 4px;
        font-size: 15px;
        font-weight: bold;
        cursor: pointer;
    }

        .donation-submit button:hover {
            background: #286090;
        }

    .donation-submit i {
        margin-right: 6px;
    }

@media (max-width: 600px) {

    .donation-section {
        padding: 20px 10px;
    }

    .donation-container {
        padding: 25px 18px;
    }

    .donation-title {
        font-size: 20px;
    }
}

.submenu {
    display: none;
    flex-direction: column;
    padding-left: 25px;
    margin-bottom: 5px;
}

    .submenu.show {
        display: flex;
    }

    .submenu a {
        text-decoration: none;
        color: #666;
        font-size: 14px;
        padding: 8px 0;
    }

        .submenu a:hover {
            color: #00008B;
        }

#aboutArrow {
    transition: transform 0.3s ease;
}

    #aboutArrow.rotate {
        transform: rotate(180deg);
    }

.more-section-title {
    font-size: 13px;
    font-weight: 600;
    color: #888;
    padding: 15px 15px 6px;
    text-transform: uppercase;
}

.about-content p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 18px;
    text-align: justify;
    padding: 0 20px;
}

.about-content strong {
    font-weight: 700;
}

@media (max-width: 576px) {
    .about-content p {
        font-size: 14px;
        line-height: 1.7;
    }
}

.mission-vision-wrapper {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px;
    margin: 35px 0;
    padding: 15px;
}

.mv-card {
    position: relative;
    display: flex;
    gap: 20px;
    padding: 30px;
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid #e8e8e8;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07);
    overflow: hidden;
    transition: all 0.3s ease;
}

    .mv-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 5px;
        height: 100%;
        background: #00008B;
    }

    .mv-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
    }

.mv-icon {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #00008B;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
}

.mv-content {
    flex: 1;
}

.mv-label {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #00008B;
    margin-bottom: 7px;
}

.mv-content h3 {
    margin: 0 0 13px;
    font-size: 22px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
}

.mv-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: #666;
    text-align: justify;
}


/* Mobile */
@media (max-width: 768px) {

    .mission-vision-wrapper {
        grid-template-columns: 1fr;
        gap: 18px;
        margin: 25px 0;
    }

    .mv-card {
        padding: 22px;
        gap: 15px;
    }

    .mv-icon {
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .mv-content h3 {
        font-size: 19px;
    }

    .mv-content p {
        font-size: 14px;
        line-height: 1.7;
    }
}

.documents-section {
    padding: 40px 0;
}

/* Heading */
.section-heading {
    text-align: center;
    margin-bottom: 25px;
}

    .section-heading span {
        display: block;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 2px;
        color: #00008B;
        margin-bottom: 6px;
    }

    .section-heading h2 {
        font-size: 30px;
        font-weight: 700;
        color: #222;
        margin-bottom: 8px;
    }

    .section-heading p {
        color: #777;
        margin: 0;
    }


/* Image */
.document-image {
    width: 100%;
    text-align: center;
    margin-bottom: 25px;
}

    .document-image img {
        width: 100%;
        max-width: 850px;
        height: auto;
        /*border-radius: 15px;*/
        display: inline-block;
    }


/* PDF Card */
.pdf-card {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 18px;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
    transition: 0.3s ease;
    flex-direction: column;
    margin: 5px;
}

    .pdf-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
    }


/* PDF Icon */
.pdf-icon {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border-radius: 10px;
    background: #fff0f0;
    color: #d90429;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
}


/* PDF Info */
.pdf-info {
    flex: 1;
}

    .pdf-info h5 {
        margin: 0 0 4px;
        font-size: 16px;
        font-weight: 600;
        color: #222;
    }

    .pdf-info span {
        font-size: 12px;
        color: #888;
        text-align: center;
    }


/* Download */
.download-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 14px;
    border-radius: 8px;
    background: #00008B;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    transition: 0.3s ease;
}

    .download-btn:hover {
        background: #000060;
        color: #fff;
    }


/* Mobile */
@media (max-width: 576px) {

    .documents-section {
        padding: 25px 0;
    }

    .section-heading h2 {
        font-size: 24px;
    }

    .pdf-card {
        padding: 14px;
    }

    .pdf-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
        font-size: 21px;
    }

    .pdf-info h5 {
        font-size: 14px;
    }

    .download-btn {
        padding: 8px 10px;
        font-size: 12px;
    }
}

.volunteer-section {
    padding: 60px 0;
    background: #f7f9fc;
}


/* Heading */
.volunteer-heading {
    text-align: center;
    margin-bottom: 35px;
}

    .volunteer-heading span {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 2px;
        color: #00008B;
    }

    .volunteer-heading h2 {
        margin: 7px 0 10px;
        font-size: 32px;
        font-weight: 700;
        color: #222;
    }

    .volunteer-heading p {
        max-width: 650px;
        margin: auto;
        color: #777;
        font-size: 15px;
        line-height: 1.7;
    }


/* Card */
.volunteer-card {
    max-width: 900px;
    margin: auto;
    background: #fff;
    padding: 35px;
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08);
}


    /* Labels */
    .volunteer-card label {
        display: block;
        margin-bottom: 8px;
        font-size: 14px;
        font-weight: 600;
        color: #333;
    }

        .volunteer-card label span {
            color: #dc3545;
        }


    /* Inputs */
    .volunteer-card .form-control,
    .volunteer-card .form-select {
        min-height: 46px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 14px;
        padding: 10px 13px;
    }

    .volunteer-card textarea.form-control {
        min-height: auto;
    }

    .volunteer-card .form-control:focus,
    .volunteer-card .form-select:focus {
        border-color: #00008B;
        box-shadow: 0 0 0 0.15rem rgba(0, 0, 139, 0.10);
    }


/* Checkbox */
.volunteer-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

    .volunteer-check input {
        margin-top: 4px;
        width: 16px;
        height: 16px;
    }

    .volunteer-check label {
        margin: 0;
        font-size: 13px;
        font-weight: 400;
        color: #666;
    }


/* Submit Button */
.volunteer-submit {
    border: none;
    padding: 12px 28px;
    border-radius: 8px;
    background: #00008B;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    transition: 0.3s ease;
}

    .volunteer-submit:hover {
        background: #000060;
        transform: translateY(-2px);
    }


/* Mobile */
@media (max-width: 576px) {

    .volunteer-section {
        padding: 35px 0;
    }

    .volunteer-heading h2 {
        font-size: 25px;
    }

    .volunteer-heading p {
        font-size: 14px;
    }

    .volunteer-card {
        padding: 22px 18px;
        border-radius: 12px;
    }
}
/* =========================================================
   PREMIUM ID CARD - FRONT
========================================================= */

.id-card,
.id-card-back {
    width: calc(100% - 20px);
    max-width: 850px;
    margin: 20px auto;
    position: relative;
    overflow: hidden;
    font-family: Arial, Helvetica, sans-serif;
}


/* =========================================================
   FRONT CARD
========================================================= */

.id-card {
    /*min-height: 300px;*/
    background: #fff;
    border: 2px solid #06345b;
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .18), 0 2px 5px rgba(0, 0, 0, .08);
}


/* =========================================================
   HEADER
========================================================= */

.id-card-header {
    min-height: 125px;
    display: flex;
    align-items: center;
    position: relative;
    padding: 14px 145px 14px 18px;
    background: radial-gradient( circle at 10% 20%, rgba(255,255,255,.08) 1px, transparent 1px ), linear-gradient( 135deg, #042b4d 0%, #064a78 55%, #06365e 100% );
    background-size: 12px 12px, auto;
    color: #fff;
}


/* =========================================================
   PARTY LOGO
========================================================= */

.party-logo {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /*padding: 5px;
    background: #fff;*/
    /*border: 3px solid #f3c84b;
    border-radius: 50%;*/
    /*box-shadow: 0 4px 12px rgba(0,0,0,.35);*/
}

    .party-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        border-radius: 50%;
    }


/* =========================================================
   PARTY DETAILS
========================================================= */

.party-details {
    flex: 1;
    min-width: 0;
    /*margin-left: 14px;
    text-align: center;
    color: #fff;*/
}

    .party-details img {
        width: 300px !important;
        max-width: 100%;
        height: auto;
        object-fit: contain;
    }


    /* If text is used instead of txt.png */

    .party-details h1,
    .party-details h2 {
        margin: 0;
        font-weight: 800;
        line-height: 1.05;
    }

    .party-details h1 {
        font-size: 23px;
    }

    .party-details h2 {
        font-size: 15px;
        margin-top: 4px;
    }

    .party-details p {
        margin: 6px 0 0;
        font-size: 8px;
        font-weight: 700;
    }


/* =========================================================
   PROFILE
========================================================= */

.profile-box {
    position: absolute;
    width: 105px;
    height: 105px;
    right: 14px;
    top: 10px;
    overflow: hidden;
    background: #fff;
    border: 4px solid #f3c84b;
    border-radius: 18px;
    z-index: 5;
    box-shadow: 0 5px 15px rgba(0,0,0,.35);
}

    .profile-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


/* =========================================================
   RED / GOLD LINE
========================================================= */

.orange-line {
    height: 8px;
    position: relative;
    background: linear-gradient( to right, #c9141c, #ef2028, #c9141c );
    border-bottom: 2px solid #f3c84b;
    z-index: 4;
}


/* =========================================================
   FRONT BODY
========================================================= */

.id-card-body {
    min-height: 170px;
    display: flex;
    align-items: center;
    position: relative;
    padding: 25px 25px 20px;
    background: linear-gradient( 135deg, #ffffff 0%, #f8fafc 100% );
}


    /* subtle background pattern */

    .id-card-body::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient( 135deg, rgba(6,52,91,.025) 25%, transparent 25% );
        background-size: 22px 22px;
        pointer-events: none;
    }


/* =========================================================
   MEMBER DETAILS
========================================================= */

.member-details {
    width: calc(100% - 70px);
    min-width: 0;
    position: relative;
    z-index: 2;
}


.detail-row {
    display: grid;
    grid-template-columns: 95px 18px minmax(0, 1fr);
    align-items: center;
    min-height: 45px;
    margin-bottom: 3px;
    color: #17202b;
    font-size: 17px;
    border-bottom: 1px solid #e0e6eb;
}

    .detail-row:last-child {
        border-bottom: none;
    }


    .detail-row .label {
        color: #25313d;
        font-weight: 600;
    }


    .detail-row .colon {
        color: #d71920;
        font-size: 19px;
        font-weight: 800;
        text-align: center;
    }


    .detail-row .value {
        min-width: 0;
        color: #0a3158;
        font-size: 18px;
        font-weight: 700;
        overflow-wrap: anywhere;
        word-break: break-word;
    }


.membership-row {
    align-items: center;
}


/* =========================================================
   QR CODE
========================================================= */

.qr-box {
    width: 90px;
    height: 90px;
    flex-shrink: 0;
    /* margin-left: 20px; */
    /* padding: 7px; */
    background: #fff;
    border: 3px solid #d71920;
    border-radius: 10px;
    position: relative;
    z-index: 3;
    box-shadow: 0 3px 10px rgb(0 0 0 / 12%);
}

    .qr-box img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }


/* =========================================================
   BACK CARD
========================================================= */

.id-card-back {
    min-height: 350px;
    background: linear-gradient( 135deg, #ffffff 0%, #f8fafc 100% );
    border: 2px solid #06345b;
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(0,0,0,.18), 0 2px 5px rgba(0,0,0,.08);
    /*margin-bottom: 60px;*/
}


/* =========================================================
   BACK WATERMARK
========================================================= */

.back-watermark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

    .back-watermark img {
        width: 260px;
        height: 260px;
        object-fit: contain;
        opacity: .075;
    }


/* =========================================================
   BACK ADDRESS
========================================================= */

.back-address {
    position: relative;
    z-index: 3;
    padding: 0 25px 5px;
    text-align: center;
}


    .back-address h5 {
        display: inline-block;
        margin: 0;
        padding: 11px 55px;
        min-width: 390px;
        color: #fff;
        background: linear-gradient( 135deg, #042b4d, #07527f );
        border-radius: 0 0 14px 14px;
        border-bottom: 3px solid #f3c84b;
        font-family: Georgia, serif;
        font-size: 18px;
        font-weight: 800;
        letter-spacing: .4px;
        box-shadow: 0 4px 10px rgba(0,0,0,.15);
    }


    .back-address p {
        margin: 15px 0 5px;
        color: #173c5b;
        font-family: Georgia, serif;
        font-size: 14px;
        font-weight: 600;
        text-align: left;
        overflow-wrap: anywhere;
    }


/* =========================================================
   BACK MAIN
========================================================= */

.back-main {
    position: relative;
    z-index: 3;
    width: 100%;
    display: flex;
    align-items: flex-start;
    padding: 8px 28px 65px;
    box-sizing: border-box;
}


/* =========================================================
   RULES
========================================================= */

.back-rules {
    width: 100%;
    min-width: 0;
    color: #263f55;
    font-size: 13px;
    line-height: 1.4;
}


.rule {
    position: relative;
    margin-bottom: 9px;
    padding-left: 36px;
    overflow-wrap: anywhere;
}


    .rule::before {
        content: "";
        position: absolute;
        left: 0;
        top: 1px;
        width: 25px;
        height: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: #d71920;
        border-radius: 50%;
        font-size: 12px;
        font-weight: 800;
    }


    .rule:nth-child(1)::before {
        content: "1";
    }

    .rule:nth-child(2)::before {
        content: "2";
    }

    .rule:nth-child(3)::before {
        content: "3";
    }

    .rule:nth-child(4)::before {
        content: "4";
    }


    .rule strong {
        color: #0b3158;
        font-size: 14px;
        font-weight: 800;
    }


/* =========================================================
   BACK CONTACT BAR
========================================================= */

.back-contact {
    position: absolute;
    z-index: 5;
    left: 0;
    right: 0;
    bottom: 25px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 5px;
    padding: 0 12px;
    background: linear-gradient( 135deg, #d71920, #ef3035 );
    border-top: 2px solid #f3c84b;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}


.contact-item {
    flex: 1;
    min-width: 0;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


    .contact-item + .contact-item {
        border-left: 1px solid rgba(255,255,255,.45);
    }


.contact-icon {
    margin-right: 4px;
    color: #fff;
    font-size: 10px;
}


/* =========================================================
   REGISTERED OFFICE
========================================================= */

.back-office {
    position: absolute;
    z-index: 6;
    left: 0;
    right: 0;
    bottom: 0;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    background: #06345b;
    color: #fff;
    font-family: Georgia, serif;
    font-size: 10px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 768px) {

    .id-card,
    .id-card-back {
        width: calc(100% - 16px);
        margin: 15px auto;
        border-radius: 16px;
    }


    /* FRONT */

    .id-card-header {
        min-height: 105px;
        padding: 10px 105px 15px 12px;
    }


    .party-logo {
        width: 68px;
        height: 68px;
    }


    .party-details {
        margin-left: 8px;
    }


        .party-details img {
            width: 230px !important;
        }


    .profile-box {
        width: 82px;
        height: 82px;
        right: 10px;
        top: 10px;
        border-width: 3px;
        border-radius: 14px;
    }


    .orange-line {
        height: 6px;
    }


    .id-card-body {
        min-height: 145px;
        padding: 23px 14px 14px;
    }


    .member-details {
        width: calc(100% - 110px);
    }


    .detail-row {
        grid-template-columns: 65px 10px minmax(0,1fr);
        min-height: 38px;
        font-size: 13px;
    }


        .detail-row .value {
            font-size: 14px;
        }


    .qr-box {
        width: 82px;
        height: 82px;
        margin-left: 10px;
        padding: 4px;
        border-width: 2px;
    }


    /* BACK */

    .id-card-back {
        min-height: 310px;
    }


    .back-address {
        padding: 0 16px 5px;
    }


        .back-address h5 {
            min-width: 300px;
            padding: 9px 35px;
            font-size: 14px;
        }


        .back-address p {
            margin-top: 12px;
            font-size: 11px;
        }


    .back-main {
        padding: 7px 16px 58px;
    }


    .back-rules {
        font-size: 10px;
        line-height: 1.3;
    }


    .rule {
        padding-left: 31px;
        margin-bottom: 6px;
    }


        .rule::before {
            width: 22px;
            height: 22px;
            font-size: 10px;
        }


        .rule strong {
            font-size: 11px;
        }


    .back-contact {
        height: 29px;
        bottom: 23px;
        font-size: 8px;
    }


    .back-office {
        height: 23px;
        font-size: 7px;
    }
}


/* =========================================================
   MOBILE COMPACT FIX
========================================================= */

@media (max-width: 600px) {

    .id-card,
    .id-card-back {
        width: calc(100% - 28px);
        margin: 7px auto;
        border-radius: 13px;
    }

    /* ================= FRONT HEADER ================= */

    .id-card-header {
      min-height: 82px;
    height: 82px;
    /* padding: 7px 78px 7px 8px; */
    /* gap: 5px;*/
    }

    .party-logo {
        width: 48px;
        height: 48px;
        padding: 3px;
        border-width: 2px;
    }

    .party-details {
        margin-left: 5px;
        line-height: 1;
    }

        .party-details img {
            width: 160px !important;
            max-width: 100%;
        }

    .profile-box {
        width: 60px;
        height: 60px;
        right: 7px;
        top: 7px;
        border-width: 2px;
        border-radius: 10px;
    }


    /* ================= RED LINE ================= */

    .orange-line {
        height: 5px;
        border-bottom-width: 1px;
    }


    /* ================= FRONT BODY ================= */

    .id-card-body {
        min-height: 0;
        height: auto;
        padding: 10px 9px;
        display: flex;
        align-items: center;
    }

    .member-details {
        width: calc(100% - 70px);
    }

    .detail-row {
        grid-template-columns: 48px 7px minmax(0, 1fr);
        min-height: 30px;
        margin: 0;
        padding: 2px 0;
        font-size: 9px;
        line-height: 1.15;
    }

        .detail-row .label {
            font-size: 10px;
        }

        .detail-row .colon {
            font-size: 11px;
        }

        .detail-row .value {
            font-size: 10px;
            line-height: 1.15;
        }


    /* ================= QR ================= */

    .qr-box {
        width: 60px;
        height: 60px;
        min-width: 60px;
        margin-left: 8px;
        padding: 3px;
        border-width: 2px;
        border-radius: 6px;
    }


    /* =====================================================
       BACK CARD
    ===================================================== */

    .id-card-back {
        min-height: 0;
        height: auto;
        padding-bottom: 43px;
        margin-top: 7px;
    }


    /* ================= WATERMARK ================= */

    .back-watermark img {
        width: 150px;
        height: 150px;
        opacity: .055;
    }


    /* ================= ADDRESS ================= */

    .back-address {
        padding: 0 8px;
    }

        .back-address h5 {
            width: 88%;
            min-width: 0;
            padding: 7px 5px;
            font-size: 10px;
            border-radius: 0 0 9px 9px;
            border-bottom-width: 2px;
        }

        .back-address p {
            margin: 10px 2px 5px;
            font-size: 8px;
            line-height: 1.2;
        }


    /* ================= RULES ================= */

    .back-main {
        padding: 2px 9px 5px;
    }

    .back-rules {
        width: 100%;
        font-size: 8px;
        line-height: 1.25;
    }

    .rule {
        padding-left: 27px;
        margin-bottom: 10px;
        line-height: 1.25;
    }

        .rule::before {
            width: 19px;
            height: 19px;
            top: 0;
            font-size: 8px;
        }

        .rule strong {
            font-size: 8.5px;
        }


    /* =====================================================
       CONTACT
    ===================================================== */

    .back-contact {
        left: 0;
        right: 0;
        bottom: 19px;
        height: 24px;
        padding: 0 3px;
        gap: 1px;
        font-size: 6px;
    }

    .contact-item {
        font-size: 6px;
        line-height: 1;
        padding: 0 2px;
    }


    /* =====================================================
       REGISTERED OFFICE
    ===================================================== */

    .back-office {
        bottom: 0;
        height: 19px;
        padding: 0 4px;
        font-size: 5.5px;
        line-height: 1;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 360px) {

    .id-card,
    .id-card-back {
        width: calc(100% - 8px);
        margin: 5px auto;
    }


    .id-card-header {
        height: 75px;
        min-height: 75px;
        padding: 6px 70px 6px 7px;
    }


    .party-logo {
        width: 43px;
        height: 43px;
    }


    .party-details img {
        width: 140px !important;
    }


    .profile-box {
        width: 55px;
        height: 55px;
        right: 6px;
        top: 6px;
    }


    .orange-line {
        height: 4px;
    }


    .id-card-body {
        padding: 8px 7px;
    }


    .member-details {
        width: calc(100% - 62px);
    }


    .detail-row {
        grid-template-columns: 40px 6px minmax(0, 1fr);
        min-height: 27px;
    }


        .detail-row .label {
            font-size: 8px;
        }


        .detail-row .colon {
            font-size: 9px;
        }


        .detail-row .value {
            font-size: 8px;
        }


    .qr-box {
        width: 53px;
        height: 53px;
        min-width: 53px;
        margin-left: 5px;
    }


    /* BACK */

    .id-card-back {
        padding-bottom: 40px;
    }


    .back-address h5 {
        padding: 6px 4px;
        font-size: 8.5px;
    }


    .back-address p {
        margin: 6px 2px 4px;
        font-size: 7px;
    }


    .back-main {
        padding: 1px 7px 3px;
    }


    .back-rules {
        font-size: 7px;
        line-height: 1.2;
    }


    .rule {
        padding-left: 24px;
        margin-bottom: 5px;
    }


        .rule::before {
            width: 17px;
            height: 17px;
            font-size: 7px;
        }


        .rule strong {
            font-size: 7.5px;
        }


    .back-contact {
        height: 21px;
        bottom: 18px;
        font-size: 5px;
    }


    .contact-item {
        font-size: 5px;
    }


    .back-office {
        height: 18px;
        font-size: 5px;
    }
}

.download-id-card {
    text-align: center;
    margin-bottom: 60px;
}

    .download-id-card .btn {
        padding: 11px 25px;
        border-radius: 8px;
        font-weight: 600;
        font-size: 14px;
        margin-bottom: 20px;
    }
/* Mobile */
@media (max-width: 576px) {
    .download-id-card {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        /*margin-top: 20px;*/
        margin-bottom: 60px;
    }

        .download-id-card .btn {
            display: inline-flex !important;
        }
}

#mediaSubmenu {
    display: none;
    flex-direction: column;
}

    #mediaSubmenu a {
        display: block;
        width: 100%;
    }

.press-banner {
    position: relative;
    min-height: 300px;
    display: flex;
    align-items: center;
    background: url('img/slider1.png') center center / cover no-repeat;
    overflow: hidden;
}

/* Overlay */
.press-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.58);
    z-index: 1;
}

/* Text */
.press-banner .container {
    position: relative;
    z-index: 2;
}

.press-banner-content {
    max-width: 700px;
    color: #fff;
}

.press-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ffd21f;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 12px;
}

.press-banner h1 {
    font-size: 46px;
    font-weight: 700;
    margin: 0 0 15px;
}

    .press-banner h1 span {
        color: #ffd21f;
    }

.press-banner p {
    margin: 0;
    color: rgba(255,255,255,0.9);
    font-size: 16px;
    line-height: 1.7;
}

/* Mobile */
@media (max-width: 767px) {

    .press-banner {
        min-height: 260px;
    }

    .press-banner-content {
        padding: 40px 15px;
    }

    .press-banner h1 {
        font-size: 32px;
    }

    .press-banner p {
        font-size: 14px;
    }
}



.details-row {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

.detail-item {
    padding: 15px 18px;
    background: #f8f9fa;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
}

.detail-label {
    display: block;
    font-size: 13px;
    color: #777;
    margin-bottom: 6px;
}

.detail-value {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #222;
}

.profile-preview {
    width: 90px;
    height: 90px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid #ddd;
}

@media (max-width: 768px) {
    .details-row {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width: 480px) {
    .details-row {
        grid-template-columns: 1fr;
    }
}
.profile-detail {
    text-align: center;
}

.profile-detail .profile-preview {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
    margin: 10px auto 0;
    border: 2px solid #ddd;
}
/* =====================================================
   PRESS CARD - APP STYLE
===================================================== */
/* =====================================================
   PRESS SECTION
===================================================== */

.press-list-section {
    padding: 30px 0;
    background: #f7f9fc;
}

.press-list-section .container {
    width: 100%;
    max-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}


/* =====================================================
   PRESS CARD
===================================================== */

.press-card {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;

    display: block !important;

    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;

    border: 1px solid #e8edf2;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);

    margin: 0 auto 20px;
    transition: all 0.3s ease;
}

.press-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10);
}


/* =====================================================
   IMAGE
===================================================== */

.press-image {
    width: 100%;
    height: 200px;

    display: block;

    overflow: hidden;
    margin: 0;
    padding: 0;
}

.press-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    transition: transform 0.4s ease;
}

.press-card:hover .press-image img {
    transform: scale(1.04);
}


/* =====================================================
   CONTENT
===================================================== */

.press-card-content {
    width: 100% !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    display: block !important;

    padding: 16px 18px 20px !important;

    background: #ffffff;

    position: relative !important;

    visibility: visible !important;
    opacity: 1 !important;

    overflow: visible !important;
}


/* =====================================================
   DATE
===================================================== */

.press-date {
    display: flex !important;
    align-items: center;

    gap: 5px;

    width: 100%;

    margin: 0 0 7px 0;

    font-size: 11px;
    line-height: 1.4;

    color: #777;
}

.press-date i {
    font-size: 11px;
    color: #003d68;
}


/* =====================================================
   TITLE
===================================================== */

.press-card-content h4 {
    display: block !important;

    width: 100%;

    margin: 0 0 8px 0 !important;
    padding: 0 !important;

    font-size: 18px !important;
    line-height: 1.4 !important;

    font-weight: 700;

    color: #003d68;

    visibility: visible !important;
    opacity: 1 !important;
}


/* =====================================================
   DESCRIPTION
===================================================== */

.press-card-content p {
    display: block !important;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 12px !important;
    line-height: 1.65 !important;

    color: #555;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: visible !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* =====================================================
   READ MORE
===================================================== */

.read-more {
    display: inline-flex;

    align-items: center;

    margin-top: 12px;

    color: #003d68;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;
}

.read-more:hover {
    color: #005b96;
}

.read-more i {
    margin-left: 5px;
}


/* =====================================================
   PAGINATION
===================================================== */

.press-pagination {
    position: relative !important;

    /*margin: 15px 0 20px !important;*/

    height: auto !important;
    margin-bottom:60px;
}

.press-pagination .page-link {
    color: #003d68;

    border: 1px solid #d9e1e8;

    margin: 0 3px;

    border-radius: 6px;

    min-width: 40px;
    height: 40px;

    display: flex;

    align-items: center;
    justify-content: center;
}

.press-pagination .page-item.active .page-link {
    background: #003d68;
    border-color: #003d68;
    color: #ffffff;
}

.press-pagination .page-link:hover {
    background: #003d68;
    border-color: #003d68;
    color: #ffffff;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 480px) {

    .press-list-section .container {
        padding-left: 8px;
        padding-right: 8px;
    }

    .press-card {
        height: auto !important;
    }

    .press-image {
        height: 190px;
    }

    .press-card-content {
        padding: 14px 15px 18px !important;
    }

    .press-card-content h4 {
        font-size: 17px !important;
    }

    .press-card-content p {
        font-size: 11px !important;
        line-height: 1.65 !important;
    }
}