/* ==========================================
   RESET
========================================== */

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    background:#f5f7fb;
    color:#333;
    line-height:1.7;
}

/* ==========================================
   PAGE
========================================== */

.academics-page{
    max-width:1200px;
    margin:auto;
    padding:140px 20px 80px;
}

.page-header{
    text-align:center;
    margin-bottom:50px;
}

.page-header h1{
    font-size:clamp(2.5rem,5vw,4rem);
    color:#15396a;
    margin-bottom:12px;
}

.page-header p{
    color:#666;
    font-size:1.05rem;
    max-width:700px;
    margin:auto;
}

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

.accordion-item{
    background:#fff;
    border-radius:20px;
    margin-bottom:20px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s ease;
}

.accordion-item:hover{
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.accordion-btn{
    width:100%;
    border:none;
    background:#fff;
    cursor:pointer;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:24px 28px;

    font-size:1.15rem;
    font-weight:700;

    color:#15396a;
    text-align:left;
}

.accordion-btn span{
    font-size:1.8rem;
    font-weight:400;
    transition:.3s ease;
}

.accordion-content{
    max-height:0;
    overflow:hidden;

    padding:0 28px;

    transition:
        max-height .5s ease,
        padding .3s ease;
}

.accordion-item.active .accordion-content{
    max-height:6000px;
    padding:0 28px 28px;
}

.accordion-item.active .accordion-btn span{
    transform:rotate(45deg);
}

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

.accordion-content h3{
    color:#15396a;
    margin-top:24px;
    margin-bottom:12px;
    font-size:1.35rem;
}

.accordion-content h4{
    color:#15396a;
    margin-bottom:12px;
}

.accordion-content p{
    margin-bottom:14px;
    text-align:justify;
}

.accordion-content strong{
    color:#15396a;
}

.accordion-content ol,
.accordion-content ul{
    padding-left:24px;
    margin-bottom:20px;
}

.accordion-content li{
    margin-bottom:12px;
}

.accordion-content li p{
    margin-top:8px;
}

/* ==========================================
   TABLES
========================================== */

.table-wrapper{
    width:100%;
    overflow-x:auto;
    margin:20px 0;
}

table{
    width:100%;
    min-width:800px;
    border-collapse:collapse;
    background:#fff;
}

thead{
    background:#15396a;
    color:#fff;
}

th{
    padding:18px;
    text-align:left;
    font-weight:700;
    border:1px solid #d8dde6;
}

td{
    padding:18px;
    vertical-align:top;
    border:1px solid #d8dde6;
}

tbody tr:nth-child(even){
    background:#f8fafc;
}

/* ==========================================
   SOCIAL MEDIA NOTE
========================================== */

.social-media-note{
    margin-top:25px;
    padding:20px;

    background:#eef5ff;

    border-left:5px solid #15396a;
    border-radius:10px;
}

.social-media-note h4{
    margin-bottom:10px;
}

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

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#e6e9ef;
}

::-webkit-scrollbar-thumb{
    background:#15396a;
    border-radius:20px;
}

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

@media(max-width:768px){

    .academics-page{
        padding:110px 15px 60px;
    }

    .page-header{
        margin-bottom:35px;
    }

    .accordion-btn{
        padding:18px;
        font-size:1rem;
    }

    .accordion-content{
        padding:0 18px;
    }

    .accordion-item.active .accordion-content{
        padding:0 18px 18px;
    }

    .accordion-content h3{
        font-size:1.15rem;
    }

    th,
    td{
        padding:14px;
    }

}

@media(max-width:480px){

    .page-header h1{
        font-size:2rem;
    }

    .page-header p{
        font-size:.95rem;
    }

    .accordion-btn{
        font-size:.95rem;
    }

}