/*====================================================
PAGE HEADER
====================================================*/

.lib-header{

    position:relative;

    height:320px;

    overflow:hidden;

}

.lib-header img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    transform:scale(1.02);

}

.lib-header .overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(10,33,75,.92),
        rgba(10,33,75,.55),
        rgba(10,33,75,.15)
    );

}

.lib-header h1{

    position:absolute;

    left:70px;

    bottom:110px;

    color:#fff;

    max-width:700px;

    font-size:3rem;

    font-weight:800;

    text-transform:uppercase;

    line-height:1.2;

    z-index:5;

    text-shadow:0 3px 12px rgba(0,0,0,.35);

}

body{
    background:#fff;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
    background:#f7f8fb;
    color:#333;
    line-height:1.8;
}



/*====================================================
CONTENT
====================================================*/

.lib-content{

    background:#fff;

    padding:70px 0;

}

.lib-container{

    width:100%;

    max-width:1700px;

    margin:0 auto;

    padding:0 40px;

}

.lib-card{

    background:transparent;

    padding:0;

    border:none;

    box-shadow:none;

}

/*====================================================
TABS
====================================================*/

.modern-tabs{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    border:none;
	
	margin-top:5px;

    margin-bottom:50px;
	
	
}

.modern-tabs .nav-item{

    margin:0;

}

.modern-tabs .nav-link{

    border:none !important;

    background:#fff;

    color:#4A1F74;

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:.5px;

    font-size:17px;

    padding:15px 30px;

    position:relative;

    transition:.3s;

}

.modern-tabs .nav-link:hover{

    color:#F59E0B;

}

.modern-tabs .nav-link.active{

    color:#4A1F74;

    background:#fff;

}

.modern-tabs .nav-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-8px;

    transform:translateX(-50%) scaleX(0);

    width:65px;

    height:5px;

    background:linear-gradient(90deg,#4A1F74,#F59E0B);

    transition:.3s;

}

.modern-tabs .nav-link.active::after{

    transform:translateX(-50%) scaleX(1);

}


/*====================================================
LIBRARY IMAGE SLIDER
====================================================*/

body{
    background:#fff;
}

.lib-carousel{

    max-width:1000px;

    margin:0 auto 40px;

    padding:20px;

}

.lib-carousel .carousel-inner{

    border-radius:12px;

    overflow:hidden;

    box-shadow:0 10px 35px rgba(0,0,0,.15);

}

/*------------------------------------
Each Slide
------------------------------------*/

.lib-slide{

    position:relative;

    width:100%;

    height:460px;

    overflow:hidden;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#000;

}

.lib-carousel .carousel-item{

    transition:transform .4s ease-in-out;

}

/*------------------------------------
Blurred Background
------------------------------------*/

.lib-bg{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    filter:blur(22px);

    transform:scale(1.15);

    opacity:1;

    z-index:1;

}

/* Dark Overlay */

.lib-slide::after{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.18);

    z-index:2;

}

/*------------------------------------
Main Image
------------------------------------*/

.lib-main{

    position:relative;

    z-index:5;

    max-width:100%;

    max-height:100%;

    width:auto;

    height:auto;

    object-fit:contain;

}

/*------------------------------------
Caption
------------------------------------*/

.lib-caption{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    z-index:10;

    padding:16px 25px;

    background:linear-gradient(to top,
        rgba(0,0,0,.75),
        rgba(0,0,0,0));

    color:#fff;

    text-align:center;

    font-size:18px;

    font-weight:600;

    letter-spacing:.3px;

}



/*------------------------------------
Navigation
------------------------------------*/

.lib-carousel .carousel-control-prev,
.lib-carousel .carousel-control-next{

    width:8%;

    z-index:30;

}

.lib-carousel .carousel-control-prev-icon,
.lib-carousel .carousel-control-next-icon{

    background-color:rgba(15,76,129,.9);

    border-radius:50%;

    padding:20px;

}

.lib-carousel .carousel-control-prev:hover .carousel-control-prev-icon,
.lib-carousel .carousel-control-next:hover .carousel-control-next-icon{

    background:#F59E0B;

}

/*====================================================
ABOUT LAYOUT
====================================================*/

.about-layout{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:50px;

    align-items:flex-start;

}

.about-content{

    width:100%;

}

.tab-pane h2{

    color:#4A1F74;

    font-size:2rem;

    font-weight:700;

    text-transform:uppercase;

    margin-bottom:10px;

}

.about-content h3{

    color:#F59E0B;

    margin-top:40px;

    margin-bottom:18px;

    font-size:1.35rem;

    font-weight:700;

    text-transform:uppercase;

}

.about-content h3:first-child{

    margin-top:0;

}

/*====================================================
TEXT
====================================================*/

.tab-pane p{

    font-size:16px;

    line-height:1.9;

    text-align:justify;

    color:#333;

    margin-bottom:22px;

    font-weight:300;

}

.tab-pane p strong{

    color:#4A1F74;

    font-weight:700;

}

/*====================================================
LIST
====================================================*/

.tab-pane ul{

    margin:20px 0;

    padding-left:25px;

}

.tab-pane ul li{

    margin-bottom:14px;

    color:#333;

    font-size:17px;

    line-height:1.8;

    font-weight:500;

}

.tab-pane ul li::marker{

    color:#4A1F74;

}

/*====================================================
SUBHEADINGS
====================================================*/

.about-content h3{

    color:#F59E0B;

    margin-top:40px;

    margin-bottom:18px;

    font-size:1.35rem;

    font-weight:700;

    text-transform:uppercase;

}

.about-content h3:first-child{

    margin-top:0;

}

/*====================================================
LIBRARIAN PROFILE
====================================================*/

.director-card{

    display:flex;

    flex-direction:column;

    align-items:center;

    padding:90px 30px;

    border-left:3px solid #F59E0B;

}

.director-photo{

    width:180px;

    height:220px;

    object-fit:cover;

    padding:4px;

    background:#fff;

    border:1px solid #ddd;

    margin-bottom:20px;

}

.director-card h4{

    color:#4A1F74;

    font-size:26px;

    font-weight:700;

    margin-bottom:8px;

}

.director-designation{

    display:block;

    color:#F59E0B;

    font-size:18px;

    font-weight:600;

    margin-bottom:20px;

}

.director-card hr{

    width:80px;

    height:2px;

    border:none;

    background:#d4af37;

    margin:20px 0;

}

/*====================================================
PROFILE INFO
====================================================*/

.director-info{

    text-align:center;

    line-height:1.8;

    font-size:16px;

}

.director-info strong{

    display:block;

    color:#4A1F74;

    font-weight:700;

    margin:0;

    padding:1px;

    line-height:1.5;

}

.director-contact{

    display:flex;

    justify-content:center;

    align-items:flex-start;

    gap:10px;

    margin-top:15px;

    color:#4A1F74;

}

.director-contact i{

    margin-top:4px;

}

.director-contact span{

    font-size:16px;

    line-height:1.5;

    color:#333;

}

/*====================================================
TABLE
====================================================*/

.table-responsive{

    margin-top:25px;

    overflow-x:auto;

}

.admin-table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

    border:1px solid #ddd;

}

.admin-table thead{

    background:#4A1F74;

}

.admin-table th{

    color:#fff;

    padding:18px;

    text-align:left;

    font-size:15px;

    font-weight:700;

}

.admin-table td{

    padding:16px;

    border:1px solid #ddd;

    font-size:16px;

    font-weight:600;

    color:#333;

}

.admin-table tbody tr:nth-child(even){

    background:#fafafa;

}

.admin-table tbody tr:hover{

    background:#eef5ff;

    transition:.25s;

}


/*====================================================
SERVICES & RULES
====================================================*/

.rule-list{

    margin:20px 0;

    padding-left:28px;

}

.rule-list li{

    margin-bottom:22px;

    color:#333;

    font-size:17px;

    line-height:1.9;

    font-weight:500;

    text-align:justify;

}

.rule-list li::marker{

    color:#4A1F74;

    font-weight:700;

}

#services h3{

    color:#F59E0B;

    margin-top:40px;

    margin-bottom:18px;

    font-size:1.35rem;

    font-weight:700;

    text-transform:uppercase;

}

#services h3:first-of-type{

    margin-top:0;

}

#services p{

    font-size:17px;

    color:#333;

    line-height:1.9;

    text-align:justify;

    margin-bottom:20px;

    font-weight:500;

}

#services ul{

    margin:20px 0 35px;

    padding-left:25px;

}

#services ul li{

    margin-bottom:14px;

    font-size:17px;

    line-height:1.8;

    font-weight:500;

    color:#333;

}

#services ul li::marker{

    color:#4A1F74;

}

#services hr{

    margin:40px 0;

    border:0;

    border-top:1px solid #e2e2e2;

}

#services strong{

    color:#4A1F74;

    font-weight:700;

}

/*====================================================
PATRONS & POLICY
====================================================*/

#policy h3{

    color:#F59E0B;

    margin-top:40px;

    margin-bottom:18px;

    font-size:1.35rem;

    font-weight:700;

    text-transform:uppercase;

}

#policy h3:first-of-type{

    margin-top:0;

}

#policy p{

    font-size:17px;

    line-height:1.9;

    text-align:justify;

    color:#333;

    margin-bottom:20px;

    font-weight:500;

}

#policy strong{

    color:#4A1F74;

    font-weight:700;

}

/*====================================================
RULE LIST
====================================================*/

#policy .rule-list{

    margin:20px 0;

    padding-left:28px;

}

#policy .rule-list li{

    margin-bottom:20px;

    font-size:17px;

    line-height:1.9;

    color:#333;

    font-weight:500;

    text-align:justify;

}

#policy .rule-list li::marker{

    color:#4A1F74;

    font-weight:700;

}

/*====================================================
TABLE
====================================================*/

#policy .table-responsive{

    margin:25px 0 40px;

    overflow-x:auto;

}

#policy .admin-table{

    width:100%;

    border-collapse:collapse;

    border:1px solid #ddd;

}

#policy .admin-table thead{

    background:#4A1F74;

}

#policy .admin-table th{

    color:#fff;

    padding:18px;

    font-size:16px;

    font-weight:700;

    text-align:left;

}

#policy .admin-table td{

    padding:16px;

    border:1px solid #ddd;

    font-size:16px;

    font-weight:500;

    color:#333;

    vertical-align:middle;

}

#policy .admin-table tbody tr:nth-child(even){

    background:#fafafa;

}

#policy .admin-table tbody tr:hover{

    background:#eef5ff;

    transition:.25s;

}

/*====================================================
ONLINE RESOURCES
====================================================*/

#policy .admin-table a{

    color:#0f4c81;

    text-decoration:none;

    font-weight:600;

    word-break:break-all;

    transition:.3s;

}

#policy .admin-table a:hover{

    color:#F59E0B;

}

/*====================================================
STAFF
====================================================*/

.staff-photo{

    width:90px !important;

    height:110px !important;

    object-fit:cover;

    display:block;

    margin:auto;

    border:1px solid #ddd;

    border-radius:4px;

}

#staff .admin-table td:first-child{

    width:120px;

    text-align:center;

    vertical-align:middle;

}

#staff .admin-table td{

    vertical-align:middle;

}

#staff .admin-table tbody td:nth-child(2){

    font-weight:700;

    color:#4A1F74;

}

#staff .admin-table tbody td:nth-child(3){

    font-weight:600;

}
#staff h3{

    color:#F59E0B;

    font-size:1.35rem;

    font-weight:700;

    text-transform:uppercase;

    margin-top:0;

    margin-bottom:18px;

}

/*====================================================
CONTACT
====================================================*/

.contact-info{

    margin-top:25px;

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:22px;

}

.contact-item:last-child{

    margin-bottom:0;

}

.contact-item i{

    width:45px;

    height:45px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#F59E0B;

    color:#fff;

    border-radius:50%;

    font-size:18px;

    flex-shrink:0;

}

.contact-item span{

    font-size:17px;

    color:#333;

    line-height:1.8;

    font-weight:500;

}

.contact-item strong{

    color:#4A1F74;

    font-weight:700;

}

#contact h3{

    color:#F59E0B;

    font-size:1.35rem;

    font-weight:700;

    text-transform:uppercase;

    margin-top:0;

    margin-bottom:18px;

}
/*====================================================
RESPONSIVE
====================================================*/

@media (max-width:1200px){

    .lib-container{

        padding:0 30px;

    }

    .about-layout{

        grid-template-columns:1.8fr 1fr;

        gap:40px;

    }

}

/*------------------------------------
Tablet
------------------------------------*/

@media (max-width:991px){

    .lib-header{

        height:300px;

    }

    .lib-header h1{

        left:40px;

        bottom:90px;

        font-size:2.5rem;

    }

    .lib-content{

        padding:50px 0;

    }

    .lib-container{

        padding:0 25px;

    }

    .modern-tabs{

        gap:10px;

        margin-bottom:40px;

    }

    .modern-tabs .nav-link{

        font-size:15px;

        padding:12px 18px;

    }

    .lib-slide{

        height:380px;

    }

    .lib-caption{

        font-size:16px;

    }

    .about-layout{

        grid-template-columns:1fr;

        gap:40px;

    }

    .director-card{

        border-left:none;

        border-top:3px solid #F59E0B;

        padding:40px 20px;

        max-width:420px;

        margin:0 auto;

    }

    .director-photo{

        width:170px;

        height:210px;

    }

}

/*------------------------------------
Mobile
------------------------------------*/

@media (max-width:768px){

    .lib-header{

        height:250px;

    }

    .lib-header h1{

        left:25px;

        right:20px;

        bottom:70px;

        font-size:2rem;

    }

    .lib-container{

        padding:0 15px;

    }

    .lib-content{

        padding:40px 0;

    }

    .modern-tabs{

        justify-content:flex-start;

        flex-wrap:nowrap;

        overflow-x:auto;

        gap:8px;

        padding-bottom:10px;

        margin-bottom:35px;

        -webkit-overflow-scrolling:touch;

    }

    .modern-tabs::-webkit-scrollbar{

        height:5px;

    }

    .modern-tabs::-webkit-scrollbar-thumb{

        background:#4A1F74;

        border-radius:10px;

    }

    .modern-tabs .nav-link{

        white-space:nowrap;

        font-size:14px;

        padding:10px 16px;

    }

    .lib-slide{

        height:300px;

    }

    .lib-caption{

        font-size:14px;

        padding:12px;

    }

    .tab-pane h2{

        font-size:1.7rem;

    }

    .about-content h3{

        font-size:1.2rem;

    }

    .tab-pane p{

        font-size:15px;

        text-align:left;

    }

    .tab-pane ul{

        padding-left:20px;

    }

    .tab-pane ul li{

        font-size:15px;

        line-height:1.7;

    }

    .director-photo{

        width:160px;

        height:195px;

    }

    .director-card h4{

        font-size:22px;

    }

    .director-designation{

        font-size:16px;

    }

    .director-info{

        font-size:15px;

    }

    .director-contact span{

        font-size:15px;

    }

    .admin-table{

        min-width:650px;

    }

    .admin-table th,
    .admin-table td{

        padding:12px;

        font-size:14px;

    }

}

/*------------------------------------
Small Mobile
------------------------------------*/

@media (max-width:576px){

    .lib-header{

        height:220px;

    }

    .lib-header h1{

        left:20px;

        right:20px;

        bottom:55px;

        font-size:1.7rem;

    }

    .lib-slide{

        height:220px;

    }

    .lib-caption{

        font-size:13px;

        padding:10px;

    }

    .tab-pane h2{

        font-size:1.5rem;

    }

    .about-content h3{

        font-size:1.05rem;

    }

    .director-card{

        padding:30px 15px;

    }

    .director-photo{

        width:145px;

        height:180px;

    }

    .director-card h4{

        font-size:20px;

    }

    .director-designation{

        font-size:15px;

    }

    .director-info{

        font-size:14px;

    }

    .director-contact{

        gap:8px;

    }

    .director-contact span{

        font-size:14px;

    }

}





































/*------------------------------------
Responsive
------------------------------------*/

@media(max-width:992px){

    .lib-slide{

        height:380px;

    }

}

@media(max-width:768px){

    .lib-slide{

        height:300px;

    }

    .lib-caption{

        font-size:15px;

        padding:12px 15px;

    }

}

@media(max-width:576px){

    .lib-slide{

        height:220px;

    }

}

@media(max-width:768px){

    #services h3{

        font-size:1.2rem;

    }

    #services p{

        font-size:16px;

    }

    #services ul li,

    .rule-list li{

        font-size:16px;

        line-height:1.8;

    }

}

@media(max-width:576px){

    #services h3{

        font-size:1.1rem;

    }

    #services p{

        font-size:15px;

    }

    #services ul{

        padding-left:20px;

    }

    .rule-list{

        padding-left:22px;

    }

    #services ul li,

    .rule-list li{

        font-size:15px;

        margin-bottom:12px;

    }

}

@media(max-width:768px){

    #policy h3{

        font-size:1.2rem;

    }

    #policy p{

        font-size:16px;

    }

    #policy .rule-list li{

        font-size:16px;

        line-height:1.8;

    }

    #policy .admin-table{

        min-width:700px;

    }

}

@media(max-width:576px){

    #policy h3{

        font-size:1.1rem;

    }

    #policy p{

        font-size:15px;

    }

    #policy .rule-list{

        padding-left:22px;

    }

    #policy .rule-list li{

        font-size:15px;

        margin-bottom:16px;

    }

}

@media(max-width:768px){

    .staff-photo{

        width:70px;

        height:90px;

    }

}