/*=========================================================
            GOVT EXAM PREP
        SSC CHSL SYLLABUS PAGE
                PART 1
=========================================================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;
background:#f5f7fb;
color:#333;
line-height:1.7;

}

/*=========================================================
                    HERO
=========================================================*/

.syllabus-hero{

position:relative;

padding:110px 20px 90px;

background:
linear-gradient(135deg,#531118,#7d2330);

overflow:hidden;

}

.syllabus-hero::before{

content:"";

position:absolute;

width:450px;
height:450px;

background:rgba(255,213,79,.08);

border-radius:50%;

top:-180px;
right:-120px;

}

.syllabus-hero::after{

content:"";

position:absolute;

width:320px;
height:320px;

background:rgba(255,255,255,.05);

border-radius:50%;

left:-120px;
bottom:-120px;

}

.hero-content{

position:relative;

z-index:2;

max-width:1200px;

margin:auto;

}

/*=========================================================
                BREADCRUMB
=========================================================*/

.breadcrumb{

display:flex;

align-items:center;

gap:10px;

flex-wrap:wrap;

margin-bottom:25px;

font-size:15px;

}

.breadcrumb a{

text-decoration:none;

color:#FFD54F;

font-weight:500;

}

.breadcrumb span{

color:#fff;

}

.breadcrumb i{

font-size:12px;

color:#ddd;

}

/*=========================================================
                BACK BUTTON
=========================================================*/

.back-btn{

display:inline-flex;

align-items:center;

gap:10px;

padding:12px 25px;

background:rgba(255,255,255,.12);

border:1px solid rgba(255,255,255,.15);

border-radius:40px;

backdrop-filter:blur(10px);

text-decoration:none;

color:white;

margin-bottom:35px;

transition:.35s;

}

.back-btn:hover{

background:#FFD54F;

color:#531118;

}

/*=========================================================
                HERO TAG
=========================================================*/

.hero-tag{

display:inline-block;

padding:10px 22px;

background:rgba(255,255,255,.10);

border-radius:40px;

color:#FFD54F;

margin-bottom:20px;

font-size:14px;

}

/*=========================================================
                HERO TITLE
=========================================================*/

.hero-content h1{

font-size:60px;

font-weight:800;

color:white;

margin-bottom:18px;

}

.hero-content h1 span{

display:block;

color:#FFD54F;

}

.hero-content p{

max-width:850px;

font-size:20px;

line-height:1.8;

color:#eee;

}

/*=========================================================
                COMMON SECTION
=========================================================*/

section{

padding:80px 20px;

}

.section-title{

text-align:center;

margin-bottom:55px;

}

.section-title h2{

font-size:42px;

color:#531118;

margin-bottom:15px;

}

.section-title p{

font-size:18px;

color:#666;

max-width:700px;

margin:auto;

}

/*=========================================================
                SUBJECT GRID
=========================================================*/

.subject-grid{

max-width:1200px;

margin:auto;

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(320px,1fr));

gap:28px;

}

/*=========================================================
                SUBJECT CARD
=========================================================*/

.subject-card{

display:flex;

align-items:center;

justify-content:space-between;

gap:20px;

background:white;

padding:28px;

border-radius:20px;

cursor:pointer;

box-shadow:

0 12px 28px rgba(0,0,0,.08);

transition:.35s;

position:relative;

overflow:hidden;

}

.subject-card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:#FFD54F;

transform:scaleX(0);

transition:.35s;

}

.subject-card:hover::before{

transform:scaleX(1);

}

.subject-card:hover{

transform:translateY(-10px);

box-shadow:

0 20px 45px rgba(83,17,24,.15);

}

/*=========================================================
                ICON
=========================================================*/

.subject-icon{

width:70px;

height:70px;

border-radius:50%;

background:#531118;

display:flex;

justify-content:center;

align-items:center;

flex-shrink:0;

}

.subject-icon i{

font-size:28px;

color:#FFD54F;

}

/*=========================================================
                SUBJECT TEXT
=========================================================*/

.subject-card h3{

font-size:24px;

color:#531118;

margin-bottom:8px;

}

.subject-card p{

font-size:15px;

color:#666;

}

/*=========================================================
                ARROW
=========================================================*/

.arrow{

font-size:22px;

color:#531118;

transition:.35s;

}

.subject-card:hover .arrow{

transform:rotate(180deg);

}

/*=========================================================
            ACCORDION SECTION
=========================================================*/

.accordion-section{

max-width:1250px;

margin:auto;

padding-top:20px;

padding-bottom:80px;

}

/*=========================================================
            ACCORDION CONTENT
=========================================================*/

.accordion-content{

display:none;

background:white;

margin-bottom:35px;

padding:40px;

border-radius:22px;

box-shadow:
0 15px 35px rgba(0,0,0,.08);

animation:fadeIn .45s ease;

border-top:6px solid #FFD54F;

}

/* when opened by JS */

.accordion-content.active{

display:block;

}

/*=========================================================
            MAIN HEADING
=========================================================*/

.accordion-content h2{

display:flex;

align-items:center;

gap:15px;

font-size:34px;

color:#531118;

margin-bottom:35px;

border-bottom:2px solid #f0f0f0;

padding-bottom:18px;

}

.accordion-content h2 i{

width:60px;

height:60px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

background:#531118;

color:#FFD54F;

font-size:24px;

}

/*=========================================================
            SUB HEADINGS
=========================================================*/

.accordion-content h3{

font-size:24px;

color:#531118;

margin-top:35px;

margin-bottom:18px;

padding-left:16px;

border-left:6px solid #FFD54F;

}

/*=========================================================
            TOPIC GRID
=========================================================*/

.topic-grid{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(250px,1fr));

gap:18px;

margin-bottom:25px;

}

/*=========================================================
            TOPIC BOX
=========================================================*/

.topic-box{

background:#fafafa;

padding:18px 22px;

border-radius:14px;

border-left:5px solid #FFD54F;

font-size:16px;

font-weight:500;

color:#444;

transition:.30s;

cursor:default;

position:relative;

overflow:hidden;

}

/* yellow line animation */

.topic-box::before{

content:"";

position:absolute;

left:0;

top:0;

height:100%;

width:4px;

background:#531118;

transform:scaleY(0);

transition:.30s;

}

.topic-box:hover::before{

transform:scaleY(1);

}

.topic-box:hover{

background:#fff8e6;

transform:translateX(8px);

border-left-color:#531118;

box-shadow:

0 12px 25px rgba(83,17,24,.10);

}

/*=========================================================
            BULLET ICON
=========================================================*/

.topic-box::after{

content:"✓";

position:absolute;

right:18px;

top:50%;

transform:translateY(-50%);

font-weight:bold;

color:#FFD54F;

font-size:18px;

transition:.3s;

}

.topic-box:hover::after{

color:#531118;

}

/*=========================================================
            FADE ANIMATION
=========================================================*/

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================================================
            EXTRA SPACING
=========================================================*/

.accordion-content:last-child{

margin-bottom:0;

}
/*=========================================================
            ACTIVE SUBJECT CARD
=========================================================*/

.subject-card.active{

background:#531118;

color:white;

box-shadow:

0 18px 40px rgba(83,17,24,.30);

}

.subject-card.active h3,

.subject-card.active p{

color:white;

}

.subject-card.active .subject-icon{

background:#FFD54F;

}

.subject-card.active .subject-icon i{

color:#531118;

}

.subject-card.active .arrow{

color:#FFD54F;

transform:rotate(180deg);

}



/*=========================================================
            HOVER EFFECTS
=========================================================*/

.subject-card:hover .subject-icon{

transform:rotateY(180deg);

transition:.5s;

}

.subject-icon{

transition:.5s;

}

.subject-card:hover h3{

color:#7b1d2b;

}

.subject-card.active:hover h3{

color:white;

}



/*=========================================================
            TABLET
=========================================================*/

@media(max-width:992px){

.hero-content h1{

font-size:48px;

}

.section-title h2{

font-size:36px;

}

.subject-grid{

grid-template-columns:1fr;

}

.topic-grid{

grid-template-columns:

repeat(2,1fr);

}

.accordion-content{

padding:30px;

}

.accordion-content h2{

font-size:30px;

}

}



/*=========================================================
            MOBILE
=========================================================*/

@media(max-width:768px){

.syllabus-hero{

padding:80px 20px;

}

.hero-content h1{

font-size:38px;

}

.hero-content p{

font-size:17px;

}

.back-btn{

width:100%;

justify-content:center;

}

.section-title h2{

font-size:30px;

}

.subject-card{

padding:22px;

}

.subject-card h3{

font-size:20px;

}

.subject-card p{

font-size:14px;

}

.subject-icon{

width:60px;

height:60px;

}

.subject-icon i{

font-size:22px;

}

.accordion-content{

padding:24px;

}

.accordion-content h2{

font-size:26px;

}

.accordion-content h3{

font-size:21px;

}

.topic-grid{

grid-template-columns:1fr;

}

.topic-box{

font-size:15px;

padding:16px;

}

}



/*=========================================================
            SMALL MOBILE
=========================================================*/

@media(max-width:480px){

.hero-content h1{

font-size:30px;

}

.hero-tag{

font-size:12px;

}

.section-title h2{

font-size:26px;

}

.accordion-content h2{

font-size:22px;

flex-direction:column;

text-align:center;

}

.accordion-content h2 i{

margin-bottom:10px;

}

.topic-box{

padding:15px;

font-size:14px;

}

}



/*=========================================================
            CUSTOM SCROLLBAR
=========================================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#ececec;

}

::-webkit-scrollbar-thumb{

background:#531118;

border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

background:#7b1d2b;

}



/*=========================================================
            SMOOTH SCROLL
=========================================================*/

html{

scroll-behavior:smooth;

}



/*=========================================================
            SELECTION COLOR
=========================================================*/

::selection{

background:#FFD54F;

color:#531118;

}



/*=========================================================
            SECTION SPACING
=========================================================*/

.tier-section,

.accordion-section{

padding-top:80px;

padding-bottom:80px;

}


/* ==========================================
        DISCLAIMER SECTION
========================================== */

.disclaimer-section{

    padding:70px 20px;

    background:#faf7f4;

}


/* ==========================================
        DISCLAIMER CARD
========================================== */

.disclaimer-card{

    max-width:1100px;

    margin:0 auto;

    padding:35px 40px;

    background:#ffffff;

    border-radius:22px;

    border:1px solid rgba(128,0,0,.08);

    box-shadow:0 15px 40px rgba(0,0,0,.07);

    position:relative;

    overflow:hidden;

}


/* Top Border */

.disclaimer-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:linear-gradient(
        90deg,
        #800000,
        #d4af37,
        #800000
    );

}


/* ==========================================
        DISCLAIMER TITLE
========================================== */

.disclaimer-card h2{

    display:flex;

    align-items:center;

    gap:10px;

    margin:0 0 18px;

    color:#800000;

    font-size:28px;

    font-weight:800;

}


/* Information Icon */

.disclaimer-card h2 i{

    font-size:22px;

    color:#ffffff;

    background:#800000;

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

}


/* ==========================================
        DISCLAIMER TEXT
========================================== */

.disclaimer-card p{

    margin:0;

    color:#555;

    font-size:17px;

    line-height:1.8;

}


/* Bold Text */

.disclaimer-card strong{

    color:#800000;

    font-weight:700;

}


/* ==========================================
        HOVER EFFECT
========================================== */

.disclaimer-card{

    transition:.35s ease;

}


.disclaimer-card:hover{

    transform:translateY(-5px);

    box-shadow:0 25px 55px rgba(128,0,0,.12);

}


/* ==========================================
        MOBILE
========================================== */

@media(max-width:768px){

    .disclaimer-section{

        padding:50px 18px;

    }

    .disclaimer-card{

        padding:28px 24px;

        border-radius:18px;

    }

    .disclaimer-card h2{

        font-size:24px;

    }

    .disclaimer-card h2 i{

        width:34px;

        height:34px;

        font-size:18px;

    }

    .disclaimer-card p{

        font-size:15px;

        line-height:1.7;

    }

}


/* ==========================================
        SMALL DEVICES
========================================== */

@media(max-width:480px){

    .disclaimer-section{

        padding:40px 15px;

    }

    .disclaimer-card{

        padding:24px 20px;

    }

    .disclaimer-card h2{

        font-size:21px;

    }

    .disclaimer-card p{

        font-size:14px;

    }

}