/*=========================================================
    EVENT SECTION CSS START HERE
=========================================================*/

.event-section{
    position: relative;

    padding: 90px 0;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f8fafc 0%,
            #ffffff 50%,
            #eef4ff 100%
        );
}


/*=========================================================
    BACKGROUND SHAPES
=========================================================*/

.event-section::before,
.event-section::after{
    content: "";

    position: absolute;

    border-radius: 50%;

    z-index: 1;
}

.event-section::before{
    top: -120px;
    left: -100px;

    width: 320px;
    height: 320px;

    background: rgba(13,59,102,0.06);

    animation: floatShape 8s ease-in-out infinite;
}

.event-section::after{
    bottom: -100px;
    right: -100px;

    width: 260px;
    height: 260px;

    background: rgba(244,162,97,0.12);

    animation: floatShape 10s ease-in-out infinite;
}


/*=========================================================
    CONTAINER
=========================================================*/

.event-section .container{
    position: relative;
    z-index: 5;
}


/*=========================================================
    SECTION TITLE
=========================================================*/

.event-section h2{
    position: relative;
    font-size: 35px;
    font-weight: 800;

    color: #0d3b66 !important;

    margin-bottom: 40px;

    text-align: center;

    animation: fadeDown 1s ease;
}

.event-section h2::after{
    content: "";

    display: block;

    width: 90px;
    height: 4px;

    margin: 18px auto 0;

    border-radius: 50px;

    background:
        linear-gradient(
            to right,
            #f4a261,
            #ffbe7a
        );
}


/*=========================================================
    FILTER BUTTONS WRAPPER
=========================================================*/

.event-section .text-center.mb-4{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;

    margin-bottom: 45px !important;
}


/*=========================================================
    FILTER BUTTONS
=========================================================*/

.filter-btn{
    position: relative;

    border-radius: 50px !important;

    padding: 10px 22px !important;

    font-size: 14px;
    font-weight: 600;

    overflow: hidden;

    transition: all 0.4s ease;
}


/*=========================================================
    PRIMARY BUTTON
=========================================================*/

.filter-btn.btn-primary{
    border: none;

    background:
        linear-gradient(
            135deg,
            #0d3b66,
            #14548f
        );

    box-shadow:
        0 10px 25px rgba(13,59,102,0.20);
}


/*=========================================================
    OUTLINE BUTTON
=========================================================*/

.filter-btn.btn-outline-primary{
    border: 2px solid #0d3b66;

    color: #0d3b66;

    background: rgba(255,255,255,0.75);
}


/*=========================================================
    BUTTON HOVER
=========================================================*/

.filter-btn:hover,
.filter-btn.active{
    transform: translateY(-4px);

    background:
        linear-gradient(
            135deg,
            #f4a261,
            #ffb877
        ) !important;

    border-color: #f4a261 !important;

    color: #ffffff !important;

    box-shadow:
        0 12px 30px rgba(244,162,97,0.28);
}


/*=========================================================
    EVENT ITEM
=========================================================*/

.event-item{
    animation: fadeUp 1s ease;
}


/*=========================================================
    EVENT CARD
=========================================================*/

.event-section .card{
    position: relative;

    border: none !important;

    border-radius: 24px;

    overflow: hidden;

    background: rgba(255,255,255,0.95);

    backdrop-filter: blur(10px);

    transition: all 0.4s ease;

    box-shadow:
        0 15px 40px rgba(0,0,0,0.06);
}


/*=========================================================
    CARD HOVER
=========================================================*/

.event-section .card:hover{
    transform: translateY(-10px);

    box-shadow:
        0 25px 60px rgba(0,0,0,0.12);
}


/*=========================================================
    CARD TOP BORDER
=========================================================*/

.event-section .card::before{
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 5px;

    background:
        linear-gradient(
            to right,
            #0d3b66,
            #f4a261
        );

    z-index: 2;
}


/*=========================================================
    EVENT IMAGE
=========================================================*/

.event-img{
    position: relative;

    overflow: hidden;
}

.event-img img{
    width: 100%;
    height: 260px;

    object-fit: cover;

    transition: transform 0.6s ease;
}

.event-section .card:hover .event-img img{
    transform: scale(1.08);
}


/*=========================================================
    IMAGE OVERLAY
=========================================================*/

.event-img::before{
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(13,59,102,0.35),
            transparent
        );

    z-index: 1;
}


/*=========================================================
    CARD BODY
=========================================================*/

.event-section .card-body{
    padding: 30px;
}


/*=========================================================
    EVENT TITLE
=========================================================*/

.event-section .card-title{
    margin-bottom: 18px !important;
}

.event-section .card-title a{
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;

    color: #0d3b66 !important;

    transition: all 0.3s ease;
}

.event-section .card-title a:hover{
    color: #f4a261 !important;
}


/*=========================================================
    EVENT DATE
=========================================================*/

.event-section .small.text-muted{
    display: inline-flex;
    align-items: center;

    padding: 8px 16px;

    border-radius: 50px;

    background: rgba(13,59,102,0.08);

    color: #0d3b66 !important;

    font-size: 13px;
    font-weight: 600;

    margin-bottom: 20px !important;
}


/*=========================================================
    EVENT TAGS
=========================================================*/

.event-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.event-tags .badge{
    padding: 8px 14px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            #f4a261,
            #ffbe7a
        ) !important;

    color: #ffffff;

    font-size: 12px;
    font-weight: 600;

    transition: all 0.3s ease;
}

.event-tags .badge:hover{
    transform: translateY(-2px);
}


/*=========================================================
    ALERT BOX
=========================================================*/

.event-section .alert{
    border: none;

    padding: 18px 20px;

    border-radius: 16px;

    background: #fff3cd;

    color: #856404;

    font-weight: 600;

    box-shadow:
        0 10px 30px rgba(0,0,0,0.05);
}


/*=========================================================
    FLOAT ANIMATION
=========================================================*/

@keyframes floatShape{

    0%{
        transform: translateY(0px);
    }

    50%{
        transform: translateY(25px);
    }

    100%{
        transform: translateY(0px);
    }

}


/*=========================================================
    FADE DOWN
=========================================================*/

@keyframes fadeDown{

    from{
        opacity: 0;
        transform: translateY(-40px);
    }

    to{
        opacity: 1;
        transform: translateY(0);
    }

}


/*=========================================================
    FADE UP
=========================================================*/

@keyframes fadeUp{

    from{
        opacity: 0;
        transform: translateY(40px);
    }

    to{
        opacity: 1;
        transform: translateY(0);
    }

}


/*=========================================================
    LARGE DESKTOP
=========================================================*/

@media (min-width: 1400px){

    .event-section h2{
        font-size: 60px;
    }

    .event-section .card-title a{
        font-size: 30px;
    }

}


/*=========================================================
    DESKTOP
=========================================================*/

@media (max-width: 1199px){

    .event-section{
        padding: 80px 0;
    }

    .event-section .card-title a{
        font-size: 24px;
    }

}


/*=========================================================
    TABLET DEVICE
=========================================================*/

@media (max-width: 991px){

    .event-section{
        padding: 70px 0;
    }

    .event-section h2{
        font-size: 40px;
    }

    .event-img img{
        height: 230px;
    }

    .event-section .card-body{
        padding: 25px;
    }

    .event-section .card-title a{
        font-size: 22px;
    }

}


/*=========================================================
    MOBILE DEVICE
=========================================================*/

@media (max-width: 767px){

    .event-section{
        padding: 60px 0;
    }

    .event-section::before{
        width: 220px;
        height: 220px;
    }

    .event-section::after{
        width: 180px;
        height: 180px;
    }

    .event-section h2{
        font-size: 30px;
    }

    .event-section h2::after{
        width: 70px;
    }

    .filter-btn{
        padding: 9px 18px !important;
        font-size: 13px;
    }

    .event-img img{
        height: 220px;
    }

    .event-section .card{
        border-radius: 18px;
    }

    .event-section .card-body{
        padding: 22px;
    }

    .event-section .card-title a{
        font-size: 20px;
    }

}


/*=========================================================
    SMALL MOBILE DEVICE
=========================================================*/

@media (max-width: 575px){

    .event-section{
        padding: 50px 0;
    }

    .event-section h2{
        font-size: 24px;
        line-height: 1.4;
    }

    .event-section .text-center.mb-4{
        gap: 8px;
    }

    .filter-btn{
        width: 100%;

        padding: 10px 14px !important;

        font-size: 13px;
    }

    .event-img img{
        height: 200px;
    }

    .event-section .card-body{
        padding: 20px;
    }

    .event-section .card-title a{
        font-size: 18px;
    }

    .event-tags .badge{
        font-size: 11px;
    }

}