/*==================================================
COMMON STYLES
==================================================*/

:root{

    --ri-primary:#24346E;
    --ri-primary-dark:#1B2A5A;
    --ri-secondary:#EC222A;

    --ri-heading:#0F172A;
    --ri-text:#6B7280;

    --ri-bg:#F8FAFC;
    --ri-border:#E7ECF3;

    --ri-white:#ffffff;

    --ri-radius:28px;

    --ri-shadow:0 15px 45px rgba(15,23,42,.06);
    --ri-shadow-hover:0 30px 70px rgba(15,23,42,.12);

    --ri-transition:.35s ease;

}

/*-----------------------------------
Container
-----------------------------------*/

.ri-container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding-inline:24px;
}

/*-----------------------------------
Section Heading
-----------------------------------*/

.ri-section-heading{

    max-width:760px;
    margin:0 auto 70px;
    text-align:center;

}

.ri-section-subtitle,
.ri-section-heading span{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    margin-bottom:18px;

    padding:10px 18px;

    border-radius:999px;

    background:#FFF4F4;

    color:var(--ri-secondary);

    font-size:14px;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

}

.ri-section-heading h2{

    margin:0 0 22px;

    font-size:52px;

    line-height:1.15;

    font-weight:800;

    color:var(--ri-heading);

}

.ri-section-heading p{

    margin:0 auto;

    max-width:720px;

    font-size:20px;

    line-height:1.8;

    color:var(--ri-text);

}

/*-----------------------------------
Buttons
-----------------------------------*/

.ri-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-height:58px;

    padding:0 34px;

    border-radius:16px;

    font-size:17px;

    font-weight:700;

    text-decoration:none;

    transition:var(--ri-transition);

}

.ri-btn-primary{

    background:var(--ri-primary);

    color:#fff;

}

.ri-btn-primary:hover{

    background:var(--ri-primary-dark);

    transform:translateY(-2px);

}

.ri-btn-outline{

    border:2px solid var(--ri-primary);

    color:var(--ri-primary);

    background:#fff;

}

.ri-btn-outline:hover{

    background:var(--ri-primary);

    color:#fff;

}

/*-----------------------------------
Section Bottom Button
-----------------------------------*/

.ri-section-button{

    margin-top:60px;

    text-align:center;

}

/*-----------------------------------
Card Animation
-----------------------------------*/

.ri-community-card,
.ri-discussion-card,
.ri-event-card,
.ri-opinion-card,
.ri-article-card,
.ri-opinion-leader-card,
.ri-research-card,
.ri-podcast-card,
.ri-course-card{

    transition:var(--ri-transition);

}

.ri-community-card:hover,
.ri-discussion-card:hover,
.ri-event-card:hover,
.ri-opinion-card:hover,
.ri-article-card:hover,
.ri-opinion-leader-card:hover,
.ri-research-card:hover,
.ri-podcast-card:hover,
.ri-course-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--ri-shadow-hover);

}

/*-----------------------------------
Images
-----------------------------------*/

.ri-community-thumb,
.ri-article-image,
.ri-research-image,
.ri-podcast-image,
.ri-course-image,
.ri-opinion-leader-image{

    overflow:hidden;

}

.ri-community-thumb img,
.ri-article-image img,
.ri-research-image img,
.ri-podcast-image img,
.ri-course-image img,
.ri-opinion-leader-image img{

    width:100%;

    display:block;

    transition:.45s;

}

.ri-community-card:hover img,
.ri-article-card:hover img,
.ri-research-card:hover img,
.ri-podcast-card:hover img,
.ri-course-card:hover img,
.ri-opinion-leader-card:hover img{

    transform:scale(1.08);

}

/*-----------------------------------
Empty State
-----------------------------------*/

.ri-empty-state{

    text-align:center;

    padding:70px 40px;

    background:#fff;

    border-radius:24px;

    border:1px solid var(--ri-border);

}

.ri-empty-state h3{

    margin-bottom:15px;

    color:var(--ri-heading);

}

.ri-empty-state p{

    margin:0;

    color:var(--ri-text);

}

/*-----------------------------------
Responsive
-----------------------------------*/

@media(max-width:768px){

    .ri-container{

        padding:0 20px;

    }

    .ri-section-heading{

        margin-bottom:50px;

    }

    .ri-section-heading h2{

        font-size:38px;

    }

    .ri-section-heading p{

        font-size:17px;

    }

}

/*==================================================
MANNER OF DISCUSSION
==================================================*/

.ri-discussion-types{

    position:relative;

    padding:120px 0;

    background:#F8FAFC;

}

/*=========================
GRID
=========================*/

.ri-discussion-type-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-discussion-type-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    padding:38px;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

    overflow:hidden;

}

.ri-discussion-type-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:#24346E;

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.ri-discussion-type-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

.ri-discussion-type-card:hover::before{

    transform:scaleX(1);

}

/*=========================
ICON
=========================*/

.ri-discussion-type-icon{

    width:80px;

    height:80px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:22px;

    background:#EEF3FF;

    color:#24346E;

    font-size:34px;

    margin-bottom:28px;

    transition:.3s;

}

.ri-discussion-type-card:hover .ri-discussion-type-icon{

    background:#24346E;

    color:#fff;

    transform:rotate(-6deg);

}

/*=========================
TITLE
=========================*/

.ri-discussion-type-card h3{

    margin:0 0 18px;

    font-size:30px;

    font-weight:700;

    line-height:1.3;

    color:#0F172A;

}

/*=========================
DESCRIPTION
=========================*/

.ri-discussion-type-card p{

    margin:0;

    font-size:17px;

    line-height:1.8;

    color:#6B7280;

    min-height:120px;

}

/*=========================
FOOTER
=========================*/

.ri-discussion-type-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:32px;

    padding-top:22px;

    border-top:1px solid #EEF2F7;

}

.ri-discussion-type-footer span{

    color:#24346E;

    font-weight:700;

    font-size:15px;

}

.ri-discussion-type-footer a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#EC222A;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}

.ri-discussion-type-footer a:hover{

    gap:14px;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-discussion-type-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-discussion-types{

        padding:90px 0;

    }

    .ri-discussion-type-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-discussion-type-card{

        padding:30px;

    }

    .ri-discussion-type-card h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-discussion-type-card{

        padding:26px;

    }

    .ri-discussion-type-icon{

        width:68px;

        height:68px;

        font-size:28px;

    }

    .ri-discussion-type-card h3{

        font-size:24px;

    }

    .ri-discussion-type-card p{

        min-height:auto;

        font-size:16px;

    }

}

/*==================================================
UPCOMING DISCUSSIONS
==================================================*/

.ri-upcoming-discussions{

    position:relative;

    padding:120px 0;

    background:#FFFFFF;

}

/*=========================
GRID
=========================*/

.ri-upcoming-discussion-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-upcoming-discussion-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    border:1px solid #EEF2F7;

    overflow:hidden;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-upcoming-discussion-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
TOP IMAGE
=========================*/

.ri-upcoming-discussion-image{

    position:relative;

    height:230px;

    overflow:hidden;

}

.ri-upcoming-discussion-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.ri-upcoming-discussion-card:hover
.ri-upcoming-discussion-image img{

    transform:scale(1.08);

}

/*=========================
DATE BADGE
=========================*/

.ri-discussion-date{

    position:absolute;

    top:20px;

    left:20px;

    width:72px;

    height:72px;

    background:#24346E;

    color:#fff;

    border-radius:20px;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    box-shadow:0 15px 35px rgba(36,52,110,.25);

}

.ri-discussion-date strong{

    font-size:28px;

    line-height:1;

}

.ri-discussion-date span{

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:1px;

}

/*=========================
BODY
=========================*/

.ri-upcoming-discussion-content{

    padding:34px;

}

/*=========================
CATEGORY
=========================*/

.ri-discussion-category{

    display:inline-flex;

    align-items:center;

    padding:8px 18px;

    border-radius:999px;

    background:#EEF3FF;

    color:#24346E;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    margin-bottom:20px;

}

/*=========================
TITLE
=========================*/

.ri-upcoming-discussion-content h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.3;

    color:#0F172A;

}

.ri-upcoming-discussion-content h3 a{

    color:inherit;

    text-decoration:none;

}

.ri-upcoming-discussion-content h3 a:hover{

    color:#24346E;

}

/*=========================
DESCRIPTION
=========================*/

.ri-upcoming-discussion-content p{

    margin:0 0 26px;

    color:#6B7280;

    font-size:17px;

    line-height:1.8;

}

/*=========================
META
=========================*/

.ri-discussion-meta{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;

    margin-bottom:28px;

}

.ri-discussion-meta span{

    display:flex;

    align-items:center;

    gap:8px;

    font-size:15px;

    color:#475569;

}

/*=========================
FOOTER
=========================*/

.ri-upcoming-discussion-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:22px;

    border-top:1px solid #EEF2F7;

}

.ri-discussion-host{

    font-size:15px;

    color:#24346E;

    font-weight:700;

}

.ri-upcoming-discussion-footer a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#EC222A;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.ri-upcoming-discussion-footer a:hover{

    gap:14px;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-upcoming-discussion-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-upcoming-discussions{

        padding:90px 0;

    }

    .ri-upcoming-discussion-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-upcoming-discussion-content{

        padding:28px;

    }

    .ri-upcoming-discussion-content h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-upcoming-discussion-content{

        padding:24px;

    }

    .ri-upcoming-discussion-content h3{

        font-size:24px;

    }

    .ri-discussion-meta{

        grid-template-columns:1fr;

    }

    .ri-upcoming-discussion-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

}

/*==================================================
UPCOMING EVENTS
==================================================*/

.ri-upcoming-events{

    position:relative;

    padding:120px 0;

    background:#F8FAFC;

}

/*=========================
GRID
=========================*/

.ri-event-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-event-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-event-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
IMAGE
=========================*/

.ri-event-image{

    position:relative;

    height:240px;

    overflow:hidden;

}

.ri-event-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.ri-event-card:hover .ri-event-image img{

    transform:scale(1.08);

}

/*=========================
STATUS
=========================*/

.ri-event-status{

    position:absolute;

    top:20px;

    right:20px;

    padding:8px 18px;

    border-radius:999px;

    background:#22C55E;

    color:#fff;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

}

.ri-event-status.live{

    background:#EC222A;

}

/*=========================
DATE
=========================*/

.ri-event-date{

    position:absolute;

    left:20px;

    bottom:20px;

    width:78px;

    height:78px;

    background:#24346E;

    color:#fff;

    border-radius:22px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.ri-event-date strong{

    font-size:30px;

    line-height:1;

}

.ri-event-date span{

    font-size:13px;

    letter-spacing:1px;

    text-transform:uppercase;

}

/*=========================
BODY
=========================*/

.ri-event-content{

    padding:34px;

}

.ri-event-category{

    display:inline-flex;

    align-items:center;

    padding:8px 18px;

    margin-bottom:20px;

    border-radius:999px;

    background:#EEF3FF;

    color:#24346E;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

}

.ri-event-content h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.3;

    color:#0F172A;

}

.ri-event-content h3 a{

    color:inherit;

    text-decoration:none;

}

.ri-event-content h3 a:hover{

    color:#24346E;

}

.ri-event-content p{

    margin:0 0 28px;

    color:#6B7280;

    font-size:17px;

    line-height:1.8;

}

/*=========================
META
=========================*/

.ri-event-meta{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:14px;

    margin-bottom:30px;

}

.ri-event-meta span{

    display:flex;

    align-items:center;

    gap:8px;

    color:#475569;

    font-size:15px;

}

/*=========================
FOOTER
=========================*/

.ri-event-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:24px;

    border-top:1px solid #EEF2F7;

}

.ri-event-organizer{

    font-size:15px;

    font-weight:700;

    color:#24346E;

}

.ri-event-footer a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    text-decoration:none;

    color:#EC222A;

    font-weight:700;

    transition:.3s;

}

.ri-event-footer a:hover{

    gap:14px;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-event-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-upcoming-events{

        padding:90px 0;

    }

    .ri-event-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-event-content{

        padding:28px;

    }

    .ri-event-content h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-event-content{

        padding:24px;

    }

    .ri-event-content h3{

        font-size:24px;

    }

    .ri-event-meta{

        grid-template-columns:1fr;

    }

    .ri-event-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:16px;

    }

}

/*==================================================
TRENDING OPINIONS
==================================================*/

.ri-opinions{

    position:relative;

    padding:120px 0;

    background:#FFFFFF;

}

/*=========================
GRID
=========================*/

.ri-opinion-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-opinion-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    border:1px solid #EEF2F7;

    padding:35px;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

    overflow:hidden;

}

.ri-opinion-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
FEATURED BADGE
=========================*/

.ri-opinion-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    margin-bottom:24px;

    border-radius:999px;

    background:#FFF4F4;

    color:#EC222A;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

}

/*=========================
AUTHOR
=========================*/

.ri-opinion-author{

    display:flex;

    align-items:center;

    gap:16px;

    margin-bottom:24px;

}

.ri-opinion-author img{

    width:60px;

    height:60px;

    border-radius:50%;

    object-fit:cover;

    border:3px solid #EEF3FF;

}

.ri-opinion-author-info{

    display:flex;

    flex-direction:column;

}

.ri-opinion-author-info strong{

    color:#0F172A;

    font-size:18px;

    margin-bottom:4px;

}

.ri-opinion-author-info span{

    color:#6B7280;

    font-size:14px;

}

/*=========================
TITLE
=========================*/

.ri-opinion-card h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.35;

}

.ri-opinion-card h3 a{

    color:#0F172A;

    text-decoration:none;

    transition:.3s;

}

.ri-opinion-card h3 a:hover{

    color:#24346E;

}

/*=========================
CONTENT
=========================*/

.ri-opinion-card p{

    margin:0 0 28px;

    color:#6B7280;

    font-size:17px;

    line-height:1.85;

}

/*=========================
STATS
=========================*/

.ri-opinion-stats{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:28px;

    padding:18px 0;

    border-top:1px solid #EEF2F7;

    border-bottom:1px solid #EEF2F7;

}

.ri-opinion-stats span{

    display:flex;

    align-items:center;

    gap:8px;

    color:#475569;

    font-size:15px;

}

/*=========================
FOOTER
=========================*/

.ri-opinion-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.ri-opinion-footer .ri-read-more{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#24346E;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.ri-opinion-footer .ri-read-more:hover{

    gap:14px;

    color:#EC222A;

}

.ri-opinion-time{

    color:#94A3B8;

    font-size:14px;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-opinion-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-opinions{

        padding:90px 0;

    }

    .ri-opinion-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-opinion-card{

        padding:30px;

    }

    .ri-opinion-card h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-opinion-card{

        padding:24px;

    }

    .ri-opinion-card h3{

        font-size:24px;

    }

    .ri-opinion-stats{

        flex-wrap:wrap;

        gap:15px;

    }

    .ri-opinion-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

}

/*==================================================
FEATURED ARTICLES
==================================================*/

.ri-articles{

    position:relative;

    padding:120px 0;

    background:#F8FAFC;

}

/*=========================
GRID
=========================*/

.ri-article-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-article-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-article-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
IMAGE
=========================*/

.ri-article-image{

    position:relative;

    height:240px;

    overflow:hidden;

}

.ri-article-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.ri-article-card:hover .ri-article-image img{

    transform:scale(1.08);

}

/*=========================
CATEGORY
=========================*/

.ri-article-category{

    position:absolute;

    top:20px;

    left:20px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:999px;

    background:#24346E;

    color:#fff;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

}

/*=========================
BODY
=========================*/

.ri-article-content{

    padding:34px;

}

/*=========================
META
=========================*/

.ri-article-meta{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:20px;

    color:#6B7280;

    font-size:14px;

}

.ri-article-meta span{

    display:flex;

    align-items:center;

    gap:6px;

}

/*=========================
TITLE
=========================*/

.ri-article-content h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.35;

    font-weight:700;

}

.ri-article-content h3 a{

    color:#0F172A;

    text-decoration:none;

    transition:.3s;

}

.ri-article-content h3 a:hover{

    color:#24346E;

}

/*=========================
EXCERPT
=========================*/

.ri-article-content p{

    margin:0 0 30px;

    color:#6B7280;

    font-size:17px;

    line-height:1.8;

}

/*=========================
FOOTER
=========================*/

.ri-article-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding-top:22px;

    border-top:1px solid #EEF2F7;

}

.ri-article-footer a{

    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#24346E;

    font-weight:700;

    text-decoration:none;

    transition:.3s;

}

.ri-article-footer a:hover{

    gap:14px;

    color:#EC222A;

}

.ri-reading-time{

    color:#94A3B8;

    font-size:14px;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-article-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-articles{

        padding:90px 0;

    }

    .ri-article-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-article-content{

        padding:30px;

    }

    .ri-article-content h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-article-content{

        padding:24px;

    }

    .ri-article-content h3{

        font-size:24px;

    }

    .ri-article-meta{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

    .ri-article-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

}

/*==================================================
OPINION LEADERS
==================================================*/

.ri-opinion-leaders{

    position:relative;

    padding:120px 0;

    background:#FFFFFF;

}

/*=========================
GRID
=========================*/

.ri-opinion-leader-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-opinion-leader-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    border:1px solid #EEF2F7;

    overflow:hidden;

    text-align:center;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-opinion-leader-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
IMAGE
=========================*/

.ri-opinion-leader-image{

    padding:40px 40px 25px;

}

.ri-opinion-leader-image img{

    width:180px;

    height:180px;

    border-radius:50%;

    object-fit:cover;

    border:6px solid #EEF3FF;

    transition:.35s;

}

.ri-opinion-leader-card:hover .ri-opinion-leader-image img{

    border-color:#24346E;

    transform:scale(1.05);

}

/*=========================
CONTENT
=========================*/

.ri-opinion-leader-content{

    padding:0 30px 35px;

}

.ri-opinion-leader-content h3{

    margin:0 0 10px;

    font-size:28px;

    font-weight:700;

    line-height:1.3;

}

.ri-opinion-leader-content h3 a{

    color:#0F172A;

    text-decoration:none;

    transition:.3s;

}

.ri-opinion-leader-content h3 a:hover{

    color:#24346E;

}

/*=========================
DESIGNATION
=========================*/

.ri-designation{

    color:#EC222A;

    font-size:16px;

    font-weight:700;

    margin-bottom:8px;

}

/*=========================
ORGANIZATION
=========================*/

.ri-organization{

    color:#64748B;

    font-size:15px;

    margin-bottom:22px;

}

/*=========================
DESCRIPTION
=========================*/

.ri-opinion-leader-content p{

    margin:0 0 30px;

    color:#6B7280;

    font-size:16px;

    line-height:1.8;

    min-height:115px;

}

/*=========================
BUTTON
=========================*/

.ri-opinion-leader-content .ri-btn{

    width:100%;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1200px){

    .ri-opinion-leader-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-opinion-leaders{

        padding:90px 0;

    }

    .ri-opinion-leader-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-opinion-leader-image{

        padding:30px 30px 20px;

    }

    .ri-opinion-leader-image img{

        width:150px;

        height:150px;

    }

    .ri-opinion-leader-content{

        padding:0 24px 30px;

    }

    .ri-opinion-leader-content h3{

        font-size:24px;

    }

}

@media(max-width:576px){

    .ri-opinion-leader-image img{

        width:130px;

        height:130px;

    }

    .ri-opinion-leader-content p{

        min-height:auto;

        font-size:15px;

    }

}

/*==================================================
RESEARCH & REPORTS
==================================================*/

.ri-research{

    position:relative;

    padding:120px 0;

    background:#F8FAFC;

}

/*=========================
GRID
=========================*/

.ri-research-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-research-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-research-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
IMAGE
=========================*/

.ri-research-image{

    position:relative;

    height:240px;

    overflow:hidden;

}

.ri-research-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.ri-research-card:hover .ri-research-image img{

    transform:scale(1.08);

}

/*=========================
LABEL
=========================*/

.ri-research-label{

    position:absolute;

    top:20px;

    left:20px;

    display:inline-flex;

    align-items:center;

    padding:8px 18px;

    border-radius:999px;

    background:#24346E;

    color:#fff;

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

/*=========================
CONTENT
=========================*/

.ri-research-content{

    padding:34px;

}

.ri-research-content h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.35;

    font-weight:700;

}

.ri-research-content h3 a{

    color:#0F172A;

    text-decoration:none;

    transition:.3s;

}

.ri-research-content h3 a:hover{

    color:#24346E;

}

.ri-research-content p{

    margin:0 0 30px;

    color:#6B7280;

    font-size:17px;

    line-height:1.8;

}

/*=========================
META
=========================*/

.ri-research-meta{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:28px;

    color:#64748B;

    font-size:14px;

}

.ri-research-meta span{

    display:flex;

    align-items:center;

    gap:6px;

}

/*=========================
BUTTON
=========================*/

.ri-research-content .ri-btn{

    width:100%;

    justify-content:center;

}

/*=========================
HOVER
=========================*/

.ri-research-card:hover .ri-btn-primary{

    background:#1B2A5A;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-research-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-research{

        padding:90px 0;

    }

    .ri-research-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-research-content{

        padding:28px;

    }

    .ri-research-content h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-research-content{

        padding:24px;

    }

    .ri-research-content h3{

        font-size:24px;

    }

    .ri-research-meta{

        flex-direction:column;

        gap:10px;

    }

}

/*==================================================
PODCASTS & VIDEOS
==================================================*/

.ri-podcasts{

    position:relative;

    padding:120px 0;

    background:#FFFFFF;

}

/*=========================
GRID
=========================*/

.ri-podcast-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-podcast-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-podcast-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
IMAGE
=========================*/

.ri-podcast-image{

    position:relative;

    height:240px;

    overflow:hidden;

}

.ri-podcast-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.ri-podcast-card:hover .ri-podcast-image img{

    transform:scale(1.08);

}

/*=========================
PLAY BUTTON
=========================*/

.ri-play-button{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:74px;

    height:74px;

    border-radius:50%;

    background:rgba(255,255,255,.95);

    color:#24346E;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    box-shadow:0 20px 40px rgba(0,0,0,.15);

    transition:.35s;

}

.ri-podcast-card:hover .ri-play-button{

    background:#24346E;

    color:#fff;

    transform:translate(-50%,-50%) scale(1.08);

}

/*=========================
LABEL
=========================*/

.ri-podcast-label{

    position:absolute;

    top:20px;

    left:20px;

    padding:8px 18px;

    border-radius:999px;

    background:#EC222A;

    color:#fff;

    font-size:13px;

    font-weight:700;

    letter-spacing:.5px;

    text-transform:uppercase;

}

/*=========================
CONTENT
=========================*/

.ri-podcast-content{

    padding:34px;

}

.ri-podcast-content h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.35;

    font-weight:700;

}

.ri-podcast-content h3 a{

    color:#0F172A;

    text-decoration:none;

    transition:.3s;

}

.ri-podcast-content h3 a:hover{

    color:#24346E;

}

.ri-podcast-content p{

    margin:0 0 28px;

    color:#6B7280;

    font-size:17px;

    line-height:1.8;

}

/*=========================
META
=========================*/

.ri-podcast-meta{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:28px;

}

.ri-podcast-meta span{

    display:flex;

    align-items:center;

    gap:6px;

    color:#64748B;

    font-size:14px;

}

/*=========================
BUTTON
=========================*/

.ri-podcast-content .ri-btn{

    width:100%;

    justify-content:center;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-podcast-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-podcasts{

        padding:90px 0;

    }

    .ri-podcast-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-podcast-content{

        padding:28px;

    }

    .ri-podcast-content h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-podcast-content{

        padding:24px;

    }

    .ri-podcast-content h3{

        font-size:24px;

    }

    .ri-podcast-meta{

        flex-direction:column;

        gap:10px;

    }

    .ri-play-button{

        width:62px;

        height:62px;

        font-size:22px;

    }

}

/*==================================================
FEATURED COURSES
==================================================*/

.ri-courses{

    position:relative;

    padding:120px 0;

    background:#F8FAFC;

}

/*=========================
GRID
=========================*/

.ri-course-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*=========================
CARD
=========================*/

.ri-course-card{

    position:relative;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #EEF2F7;

    box-shadow:0 15px 45px rgba(15,23,42,.06);

    transition:.35s ease;

}

.ri-course-card:hover{

    transform:translateY(-12px);

    box-shadow:0 30px 70px rgba(15,23,42,.12);

}

/*=========================
IMAGE
=========================*/

.ri-course-image{

    position:relative;

    height:240px;

    overflow:hidden;

}

.ri-course-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.ri-course-card:hover .ri-course-image img{

    transform:scale(1.08);

}

/*=========================
LEVEL BADGE
=========================*/

.ri-course-level{

    position:absolute;

    top:20px;

    left:20px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:999px;

    background:#24346E;

    color:#fff;

    font-size:13px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

}

/*=========================
PRICE
=========================*/

.ri-course-price{

    position:absolute;

    right:20px;

    bottom:20px;

    background:#EC222A;

    color:#fff;

    padding:10px 18px;

    border-radius:999px;

    font-size:16px;

    font-weight:700;

}

/*=========================
CONTENT
=========================*/

.ri-course-content{

    padding:34px;

}

.ri-course-content h3{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.35;

    font-weight:700;

}

.ri-course-content h3 a{

    color:#0F172A;

    text-decoration:none;

    transition:.3s;

}

.ri-course-content h3 a:hover{

    color:#24346E;

}

.ri-course-content p{

    margin:0 0 28px;

    color:#6B7280;

    font-size:17px;

    line-height:1.8;

}

/*=========================
META
=========================*/

.ri-course-meta{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin-bottom:30px;

}

.ri-course-meta span{

    display:flex;

    align-items:center;

    gap:8px;

    color:#64748B;

    font-size:15px;

}

/*=========================
RATING
=========================*/

.ri-course-rating{

    display:flex;

    align-items:center;

    gap:8px;

    margin-bottom:30px;

    color:#F59E0B;

    font-weight:700;

    font-size:15px;

}

/*=========================
BUTTON
=========================*/

.ri-course-content .ri-btn{

    width:100%;

    justify-content:center;

}

/*=========================
HOVER
=========================*/

.ri-course-card:hover .ri-course-level{

    background:#EC222A;

}

.ri-course-card:hover .ri-course-price{

    background:#24346E;

}

/*=========================
RESPONSIVE
=========================*/

@media(max-width:1100px){

    .ri-course-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-courses{

        padding:90px 0;

    }

    .ri-course-grid{

        grid-template-columns:1fr;

        gap:28px;

    }

    .ri-course-content{

        padding:28px;

    }

    .ri-course-content h3{

        font-size:26px;

    }

}

@media(max-width:576px){

    .ri-course-content{

        padding:24px;

    }

    .ri-course-content h3{

        font-size:24px;

    }

    .ri-course-meta{

        grid-template-columns:1fr;

    }

}

/*==================================================
CALL TO ACTION
==================================================*/

.ri-cta{

    position:relative;

    overflow:hidden;

    padding:120px 0;

    background:linear-gradient(135deg,#24346E 0%,#1B2A5A 100%);

    color:#fff;

}

.ri-cta::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-180px;

    right:-150px;

}

.ri-cta::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(236,34,42,.10);

    left:-120px;

    bottom:-120px;

}

.ri-cta .container{

    position:relative;

    z-index:2;

}

.ri-cta-inner{

    max-width:900px;

    margin:0 auto;

    text-align:center;

}

.ri-cta-subtitle{

    display:inline-block;

    padding:8px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:14px;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:1px;

    margin-bottom:22px;

}

.ri-cta h2{

    color:#fff;

    font-size:56px;

    line-height:1.2;

    margin-bottom:24px;

}

.ri-cta p{

    max-width:720px;

    margin:0 auto 40px;

    font-size:19px;

    line-height:1.9;

    color:rgba(255,255,255,.82);

}

.ri-cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.ri-cta .ri-btn-primary{

    background:#EC222A;

    border-color:#EC222A;

}

.ri-cta .ri-btn-primary:hover{

    background:#fff;

    color:#24346E;

}

.ri-cta .ri-btn-outline{

    background:transparent;

    color:#fff;

    border:2px solid rgba(255,255,255,.25);

}

.ri-cta .ri-btn-outline:hover{

    background:#fff;

    color:#24346E;

}

/*==================================================
CTA STATS
==================================================*/

.ri-cta-stats{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-top:70px;

}

.ri-cta-stat{

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.10);

    border-radius:22px;

    padding:30px;

}

.ri-cta-stat h3{

    color:#fff;

    font-size:40px;

    margin:0 0 10px;

}

.ri-cta-stat p{

    margin:0;

    color:rgba(255,255,255,.75);

    font-size:15px;

    line-height:1.5;

}

/*==================================================
UTILITY CLASSES
==================================================*/

.text-center{

    text-align:center;

}

.mb-0{

    margin-bottom:0!important;

}

.mt-0{

    margin-top:0!important;

}

.d-flex{

    display:flex;

}

.align-center{

    align-items:center;

}

.justify-between{

    justify-content:space-between;

}

.w-100{

    width:100%;

}

.position-relative{

    position:relative;

}

.overflow-hidden{

    overflow:hidden;

}

/*==================================================
ANIMATIONS
==================================================*/

@keyframes riFadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes riFloat{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

.ri-animate{

    animation:riFadeUp .8s ease both;

}

.ri-float{

    animation:riFloat 4s ease-in-out infinite;

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

    .ri-cta{

        padding:90px 0;

    }

    .ri-cta h2{

        font-size:42px;

    }

    .ri-cta-stats{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .ri-cta{

        padding:80px 0;

    }

    .ri-cta h2{

        font-size:34px;

    }

    .ri-cta p{

        font-size:17px;

    }

    .ri-cta-buttons{

        flex-direction:column;

        align-items:center;

    }

    .ri-cta-buttons .ri-btn{

        width:100%;

        max-width:320px;

        justify-content:center;

    }

    .ri-cta-stat{

        padding:24px;

    }

}

@media(max-width:576px){

    .ri-cta h2{

        font-size:28px;

    }

    .ri-cta-stats{

        grid-template-columns:1fr;

    }

}