/*
 Theme Name:   eLearning Child
 Description:  eLearning Child Theme
 Template:     eLearning
 Version:      1.0.0
*/

/* Add your custom CSS below */

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/
/* Bootstrap Breadcrumb */

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "//")
}

/* bootstrap breadcrumb end */

/* ==========================================================================
   1. CSS Variables & Custom Properties
   ========================================================================== */
:root {
    /* Colors */
    --primary-color: #0C3788;
    --secondary-color: #616C80;
    --paragraph-color: #8792A8;
    --body-text-color: #18305E;
    --accent-color: #0C8837;
    --footer-bg: #2C4B77;
    --link-bg-chip: #1F2937;
    --link-icon-color: #9CA3AF;
    --card-text-dark: #1E1E1E;
    --background-color: #f0f3fa;
    --white: #ffffff;
    --border-color: #E5E7EB;
    --divider-color: #E0E4ED;
    --section-divider-color: #F12B00;

    /* Typography */
    --font-heading: 'Inter', sans-serif !important;
    --font-body: 'Inter', sans-serif !important;
    --font-footer: 'Alata', sans-serif !important;

    /* Spacing */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 40px;
    --spacing-xxl: 60px;

    /* Border Radius */
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-pill: 99px;

    /* Shadows */
    --shadow-card: 0px 0px 4px 0px rgba(0, 0, 0, 0.16), 0px 0px 24px 0px rgba(0, 0, 0, 0.08);
    --shadow-navbar: 0px 4px 12px 0px rgba(0, 0, 0, 0.08);
}

/* ==========================================================================
   2. Base & Reset Styles
   ========================================================================== */
body {
    font-family: 'Inter', sans-serif !important;
    color: var(--body-text-color);
    background-color: var(--background-color);
    overflow-x: hidden;
    line-height: 1.6;
}

/* ==========================================================================
   3. Typography
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif !important;
    color: var(--body-text-color);
}

.h2,
.page-title {
    font-size: 38px;
    font-weight: 600;
    color: #0C3788;
    padding-bottom: var(--spacing-sm);
    margin-bottom: 6px;
}

.title-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.cards-title {
    font-size: 32px;
    font-weight: 600;
    color: var(--primary-color);
    line-height: 36px;
}

.subtitle {
    font-size: 1rem;
    color: var(--paragraph-color);
    font-weight: 400;
}

/* ==========================================================================
   4. Layout - Main Structure
   ========================================================================== */
.row {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}

.main-container {
    /*max-height: 360dvh;*/
    overflow-y: visible;
 
    width: 1124px;
    padding-left: 0 !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: 4rem;
    margin-top: 21px;
}

.main-container::-webkit-scrollbar {
    display: none;
}

main {
    border-radius: var(--radius-lg);
    max-width: 979px;
    padding: 0 min(0px, 10%);
    margin-top: 20px;
}

/*ol {
    padding: 0 15px !important;
}*/
ol.breadcrumb:first-child li a {color: #9C9FA3 !important;}
.breadcrumb-item.active{ color: #1A1A2C !important;}
ol.breadcrumb{font-size: 12px; line-height: 18px; font-weight: 400;}

/* Main Content Cards Container */
.main-content-with-cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: var(--white);
    padding: 40px 50px 183px !important;
    border-radius: var(--radius-lg);
    /*margin-bottom: 30px;*/
}

.main-content-with-cards .row {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}

.main-content-with-cards h1 {
    margin-bottom: 43px !important;
}

.main-content-with-cards .card {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.main-content-with-cards .card .card-body {
    padding: 32px 24px 24px;
}

.main-content-with-cards .card .card-body .card-title {
    font-size: 24px;
    font-weight: 500;
}
.main-content-with-cards .card .card-body .card-title a {color: #0C3788 !important;}
.single-course .article-card{padding: 0px !important;}
.content-section-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: clamp(20px, 80px, 80px);
}

/* ==========================================================================
   5. Navbar
   ========================================================================== */
.navbar {
    -webkit-box-shadow: var(--shadow-navbar);
    box-shadow: var(--shadow-navbar);
    background-color: var(--background-color) !important;
    padding: 12px 30px;
}

.nav-link {
    color: var(--body-text-color);
    font-size: 18px;
    -webkit-transition: color 0.2s ease;
    -o-transition: color 0.2s ease;
    transition: color 0.2s ease;
    position: relative;
    padding-bottom: 8px;
}

.nav-link:hover {
    color: var(--primary-color);
}

.nav-link.active {
    color: var(--primary-color) !important;
    font-weight: 600;
}

.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: var(--primary-color);
    border-radius: 2px;
}

.nav-link:not(.active) {
    color: var(--paragraph-color) !important;
    font-weight: 400 !important;
}

#tvs-logo {
    height: 36px;
    width: auto;
    margin-right: 100px;
}

/* Search Bar */
.search-bar {
    width: 203px;
    height: 38px;
    gap: var(--spacing-sm);
    padding: 4px 16px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-color);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: var(--white);
    -webkit-transition: border-color 0.2s ease;
    -o-transition: border-color 0.2s ease;
    transition: border-color 0.2s ease;
}

.search-bar:focus-within {
    border-color: var(--primary-color);
}

.search-bar input {
    border: none;
    outline: none;
    width: 100%;
    font-size: 14px;
    color: var(--body-text-color);
    background: transparent;
}

.search-bar input::-webkit-input-placeholder {
    color: var(--paragraph-color);
}

.search-bar input::-moz-placeholder {
    color: var(--paragraph-color);
}

.search-bar input:-ms-input-placeholder {
    color: var(--paragraph-color);
}

.search-bar input::-ms-input-placeholder {
    color: var(--paragraph-color);
}

.search-bar input::placeholder {
    color: var(--paragraph-color);
}

.header-right-icon {
    height: 36px;
    width: auto;
}

/* ==========================================================================
   6. Sidebar
   ========================================================================== */
.sidebar {
    margin-left: 50px;
}

#sidebar {
    border-right: none;
    min-height: auto;
    width: 350px;
    margin-left: 50px;
    /*background-color: var(--background-color);*/
}

/*#sidebar .nav-link {
    color: var(--body-text-color) !important;
}*/
ul#sidebar-nav li a {
    color: #18305E !important;
}
.account-nav li:first-of-type a span {
    color: #8792A8 !important;
    font-size: 16px !important;
    line-height: 16px !important;
    font-weight: 600;
}

.account-nav li a span {
    color: #364679 !important;
}
#sidebar .nav-link:hover {
    font-weight: 600 !important;
}
.account-nav li:not(:first-child) {
    margin-left: 12px;
}

.sidebar-inner {
    margin: 35px 20px 20px 30px;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: -webkit-fill-available;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.page-id-3715{
    font-family: 'Inter', sans-serif;
    background-repeat: no-repeat;
    background: url('https://tvs-iql.verifinow.in/wp-content/uploads/2026/01/Gemini_Generated_Image_ruvsfmruvsfmruvs-1.png');
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100dvh;
}
.page-id-3715 #primary{position: relative;
    z-index: 999;}
.page-id-3715::before
 {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    background: rgba(176, 187, 209, 0.5);
}
.page-id-3715 nav, .page-id-3715 footer, .page-id-3715 .entry-title{
    display:none;
} 
.lesson-template-default ol.breadcrumb, .lesson-template-default nav.mb-4  {
    padding: 0px !important;
    margin-bottom: 0px !important;
}
.lesson-template-default  .sidebar-inner{margin:10px 20px 20px 40px;}
.course-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e5e7eb;
    padding: 16px 0;
    margin-top: 30px;
}

/* Sidebar Logo */
.sidebar-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    margin-bottom: 69px;
}

.ade-logo {
    width: 140px;
    height: auto;
    margin-left: 6px;
}

.logo-text {
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 500;
    color: var(--body-text-color);
    letter-spacing: 0.5px;
    line-height: 1.4;
}

/* Sidebar Heading */
.sidebar-heading {
    font-size: 14px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 1px;
    color: var(--paragraph-color);
    margin-bottom: 25px;
    padding: 0 12px;
}

/* Sidebar Navigation */
.sidebar-nav {
    padding: 0;
}

#sidebar-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow-y: visible;
    /* Changed from scroll to visible */
    overflow-x: hidden;
    height: 150px !important;
    /* Changed from 160px to auto */
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

#sidebar-nav::-webkit-scrollbar,
.sidebar-nav::-webkit-scrollbar {
    display: none;
}

/* Hidden items for "See More" */
.nav-item-hidden {
    display: none !important;
}

/* See More Button Styling */
.see-more-btn {
    color: var(--primary-color);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    padding: 8px 12px;
    display: block;
    -webkit-transition: color 0.2s ease;
    -o-transition: color 0.2s ease;
    transition: color 0.2s ease;
}

.see-more-btn:hover {
    color: #002a5c;
    text-decoration: underline;
}

/*.sidebar-nav .nav-item {
    margin-bottom: var(--spacing-xs);
}*/

.sidebar-nav .nav-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 8px 0px 8px 12px;
    color: var(--body-text-color);
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    border-radius: var(--radius-sm);
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.sidebar-nav .nav-link:hover {
    font-weight: 600;
}

li.nav-item {
    padding: 8px 12px;
}   

.sidebar-nav .nav-link.active {
    font-weight: 700 !important;
    background-color: var(--white) !important;
   /* -webkit-box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);*/
    /*box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;*/
    color: #18305E !important;
    border-radius: var(--radius-sm);
    margin: 0 -12px 0 0;
    padding: 12px;
}

.sidebar-nav .nav-link.active::after {
    display: none !important;
}

.sidebar-nav .nav-link.disabled {
    color: #B0B8C9;
    pointer-events: auto;
    /* Allow hover events */
    cursor: default;
    /* Not clickable but allows hover */
}

.sidebar-nav .nav-link.disabled:hover {
    background-color: #F8FAFC;
    color: var(--primary-color);
}

.sidebar-nav .nav-link:hover .nav-arrow {
    color: var(--primary-color);
}

.sidebar-nav .nav-link.disabled:hover .coming-soon-item small {
    color: var(--primary-color);
}

.nav-arrow {
    color: #B0B8C9;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* Coming Soon Items */
.coming-soon-item {
    line-height: 1.3;
}

.coming-soon-item small {
    font-size: 9px;
    color: #B0B8C9;
    font-weight: 400;
    letter-spacing: 0.5px;
}

/* Sidebar Divider */
/*.sidebar-divider {
    border: none;
    border-top: 1px solid var(--divider-color);
    margin: auto;
}*/

/* Account Navigation */
.account-nav {
    margin-top: 0;
    overflow-y: hidden;
}

.account-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

.nav-link.account-link {
    font-size: 15px;
    font-weight: 400;
    color: var(--body-text-color);
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.account-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}

.logout-link {
    color: var(--body-text-color) !important;
}

/* ==========================================================================
   7. View Toggle
   ========================================================================== */
.container-view-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 6px;
    border: 1.5px solid #C5D0E6;
    border-radius: var(--radius-pill) !important;
    background: var(--white);
}

.container-view-toggle button {
    padding: 8px 30px !important;
}

.view-icons button {
    width: 36px;
    height: 36px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: none;
    background: transparent !important;
    border-radius: var(--radius-sm) !important;
    color: #C5D0E6;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    padding: 8px 12px !important;
}

.view-icons button img {
    width: 20px;
    height: 20px;
}

/* Load More Section */
.load-more-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 20px;
}

.load-more-btn {
    background: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    padding: 12px 36px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.load-more-btn:hover {
    background: var(--primary-color);
    color: var(--white);
}

.course-card-hidden {
    display: none !important;
}

.view-icons button:hover img {
    opacity: 1;
}

.view-icons button.active {
    background-color: #E8EDF7 !important;
}

.view-icons button.active img {
    opacity: 1;
    -webkit-filter: brightness(0) saturate(100%) invert(18%) sepia(34%) saturate(3821%) hue-rotate(204deg) brightness(88%) contrast(97%);
    filter: brightness(0) saturate(100%) invert(18%) sepia(34%) saturate(3821%) hue-rotate(204deg) brightness(88%) contrast(97%);
}

.view-icons button:hover {
    color: var(--primary-color);
}

/* ==========================================================================
   8. Cards
   ========================================================================== */
.card {
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
    width: 470px !important;
}

/*.cards-grid {
    margin-top: 1rem;
}*/

.course-card {
    border-radius: var(--radius-sm);
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    background: var(--white);
    -webkit-box-shadow: var(--shadow-card);
    box-shadow: var(--shadow-card);
    -webkit-transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
    transition: -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
    -o-transition: transform 0.2s, box-shadow 0.2s;
    transition: transform 0.2s, box-shadow 0.2s;
    transition: transform 0.2s, box-shadow 0.2s, -webkit-transform 0.2s, -webkit-box-shadow 0.2s;
}

/* Card Image */
.card-img-wrapper {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.card-img-top {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.card-gradient-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.64) 85%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(85%, rgba(0, 0, 0, 0.64)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.64) 85%);
    pointer-events: none;
}

/* Card Body */
.card-body {
    padding: var(--spacing-lg);
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

/* Card Meta */
.card-meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 23px;
    margin-bottom: 20px;
    color: #1E1E1E;
    font-size: 14px;
    line-height: 24px;
}
#navbarContent ui li .me-3{margin:0 !important;}
.card-meta .meta-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
}

.card-meta .meta-icon {
    width: 18px;
    height: 18px;
    opacity: 0.6;
}

/* Card Content */
.card-title {
    font-size: 28px;
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: var(--spacing-sm);
}

.card-text {
    font-size: 18px;
    line-height: 26px;
    color: #616C80;
    margin-bottom: 20px;
}

/* ==========================================================================
   9. Article Section (Inside Cards)
   ========================================================================== */
.article-section {
    margin-bottom: 20px;
}

.article-label{
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #8792A8 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 14px !important;
}

.article-title {
    color: #616C80 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}

.article-excerpt {
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
    color: #5D647A;
    margin-bottom: var(--spacing-lg);
}

.article-excerpt .bookmark-page {
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    color: #5D647A;
    margin-bottom: var(--spacing-lg);
}

.article-excerpt {
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
    color: #5D647A !important;
    margin-bottom: var(--spacing-lg);
}

/* ==========================================================================
   10. Progress Bar
   ========================================================================== */
.progress-bar-container {
    width: 100%;
    height: 8px;
    background: #E0E0E0;
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: var(--spacing-sm);
}

.progress-bar-container .progress-bar {
    height: 100%;
    background: var(--primary-color);
    -webkit-transition: width 0.3s ease;
    -o-transition: width 0.3s ease;
    transition: width 0.3s ease;
}

.progress-labels {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 12px;
    color: #8792A8;
    line-height: 14px;
}

/* Legacy Progress */
.progress {
    background-color: #E0E0E0;
    border-radius: 2px;
    height: 4px;
}

/* ==========================================================================
   11. Card Footer
   ========================================================================== */
.card-footer-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: auto;
}

.footer-not-started {
    background-color: #F4F7FE;
    padding: 16px 22px;
    border-radius: var(--radius-md);
    margin-top: auto;
}

.footer-finished {
    background-color: var(--background-color);
    color: var(--accent-color) !important;
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--radius-md);
    margin-top: auto;
}

.footer-finished span {
    color: var(--accent-color) !important;
}

.footer-finished .resume-button {
    background: var(--accent-color) !important;
}

.footer-not-started .resume-button {
    padding: 10px 20px;
    width: 100px;
    display: flex;
    justify-content: center;
}
nav.navbar {height: 70px !important;}
#sidebar {position: sticky; top: 10px; height: 100%;}
 
/* Percentage Display */
.percentage-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    line-height: 1;
}

.progress-percentage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.percentage-number {
    font-size: 37px;
    font-weight: 700;
    color: var(--primary-color);
    line-height: 24px;
}
.clsredingcount {
    gap: 12px;
}
.percentage-symbol {
    font-size: 16px;
    font-weight: 400;
    color: var(--primary-color);
    line-height: 16px;
}

.progress-text {
    font-size: 14px;
    color: var(--body-text-color);
    margin-top: 0;
    line-height: 1.4;
}

.progress-label {
    color: var(--primary-color);
    font-weight: 400;
    font-size: 14px;
}

.articles-count {
    color: var(--paragraph-color);
    font-size: 12px;
    line-height: 14px;
}

.vertical-divider {
    width: 1px;
    height: 40px;
    background-color: #D1D5DB;
    margin: 0 var(--spacing-xs);
}

       .article-header-section .main-page-title {
    color: #0C3788;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 8px;
}
 
.article-header-section .breadcrumb-text {
    font-size: 14px;
    color: #9CA3AF;
}
 
.article-header-section .active-breadcrumb {
    color: #4B5563;
    font-weight: 500;
}
 
.article-layout-container {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}
 
.article-card {
    flex: 1;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.05);
}
 
.article-title {
    color: #0C3788;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 0;
}
 
/* Controls */
.font-size-controls {
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 100px;
    padding: 4px 12px;
    gap: 12px;
}
 
.control-btn {
    border: none;
    background: none;
    color: #6B7280;
    font-size: 18px;
    cursor: pointer;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
 
.font-label {
    color: #111827;
    font-weight: 600;
}
 
.small-a {
    font-size: 12px;
}
 
.large-a {
    font-size: 16px;
}
 
.bookmark-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    background: #FFFFFF;
    color: #0C3788;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}
 
.bookmark-btn:hover {
    background: #F9FAFB;
}
 
/* Progress Sidebar */
.progress-sidebar {
    width: 60px;
    position: sticky;
    top: 100px;
}
 
.progress-tracker-card {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 0 0 40px 0;
    overflow: hidden;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
 
.tracker-header {
    background: #E5E7EB;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
 
.tracker-action-btn {
    border: none;
    background: none;
    color: #4B5563;
    padding: 0;
}
 
.progress-steps-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative;
}
 
.progress-steps-container::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background: #E5E7EB;
    z-index: 0;
}
 
.progress-step {
    position: relative;
    z-index: 1;
    background: #FFFFFF;
    padding: 2px;
}
 
.step-dot {
    width: 12px;
    height: 12px;
    border: 2px solid #D1D5DB;
    border-radius: 50%;
    background: #FFFFFF;
}
 
.progress-step.active .step-dot {
    background: #10B981;
    border-color: #10B981;
    cursor: pointer;
}
 
.article-banner img {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
}
 
.section-heading {
    color: #0C3788;
    font-size: 22px;
    font-weight: 700;
}
 
/* ==========================================================================
   Responsive Styles - Progress Tracker
   ========================================================================== */
 
@media (max-width: 1200px) {
    .article-layout-container {
        flex-direction: column;
    }
 
    .progress-sidebar {
        width: 100%;
        position: static;
        order: -1;
        margin-bottom: 20px;
    }
 
    .progress-tracker-card {
        flex-direction: row;
        justify-content: center;
        width: fit-content;
        margin: 0 auto;
    }
 
    .progress-steps-container {
        flex-direction: row;
    }
 
    .progress-steps-container::before {
        width: 100%;
        height: 1px;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
}
/* ==========================================================================
   12. Buttons
   ========================================================================== */
.resume-button {
    padding: 14px 32px;
    background: var(--primary-color);
    color: var(--white);
    border: none;
    border-radius: 24px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    -webkit-transition: background 0.3s ease, -webkit-transform 0.2s ease;
    transition: background 0.3s ease, -webkit-transform 0.2s ease;
    -o-transition: background 0.3s ease, transform 0.2s ease;
    transition: background 0.3s ease, transform 0.2s ease;
    transition: background 0.3s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}

.resume-button:hover {
    background: #002a5c;
    color: var(--white);
}

.resume-button:active {
    -webkit-transform: scale(0.98);
    -ms-transform: scale(0.98);
    transform: scale(0.98);
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    border-radius: 24px;
    padding: 14px 32px;
    font-size: 16px;
    font-weight: 500;
}

.btn-primary:hover {
    background-color: #002a5c;
    border-color: #002a5c;
}

.btn-outline-primary {
    color: var(--primary-color);
    border-color: var(--primary-color);
    border-radius: 24px;
    padding: 14px 32px;
}

.btn-outline-primary:hover {
    background-color: var(--primary-color);
    color: var(--white);
}

/* ==========================================================================
   13. Footer
   ========================================================================== */
.footer {
    background: var(--footer-bg);
    padding: 60px 120px 40px;
    color: rgba(255, 255, 255, 0.8);
}

.footer-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.5fr 60px 1fr 60px 1fr 60px 1.2fr;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 60px;
    margin-bottom: 50px;
}

.footer-section h3 {
    font-family: var(--font-footer);
    font-size: 18px;
    font-weight: 400;
    color: var(--white);
    margin-bottom: 16px;
    line-height: 28px;
}

.footer-description {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 16px;
    color: #9CA3AF;
    font-weight: 400;
}

/* Social Links */
.social-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
}

.social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--link-bg-chip);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--white);
    text-decoration: none;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    font-size: 16px;
}

.social-icon:hover {
    background: rgba(255, 255, 255, 0.2);
    color: var(--white);
    -webkit-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    transform: translateY(-2px);
}

/* Footer Links */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 8px;
}

.footer-links a {
    color: #9CA3AF;
    text-decoration: none;
    font-size: 16px;
    -webkit-transition: color 0.3s ease;
    -o-transition: color 0.3s ease;
    transition: color 0.3s ease;
    font-family: 'Alata', sans-serif !important;
}

.footer-links a:hover {
    color: var(--white);
}

/* Contact Info */
.contact-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.6;
}
footer span.contact-text a {
    color: #9CA3AF !important;
    text-decoration: none !important;
}
.contact-icon {
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    margin-top: 2px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.contact-text {
    color: #9CA3AF;
}

/* Footer Bottom */
.footer-bottom {
    border-top: 1px solid var(--link-bg-chip);
    padding-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 20px;
}

.copyright {
    font-size: 14px;
    line-height: 20px;
    color: #9CA3AF;
    margin: 0;
}

.footer-bottom-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-bottom-links a {
    color: #9CA3AF;
    text-decoration: none;
    font-size: 14px;
    line-height: 20px;
    -webkit-transition: color 0.3s ease;
    -o-transition: color 0.3s ease;
    transition: color 0.3s ease;
}

.footer-bottom-links a:hover {
    color: var(--white);
}

/* ==========================================================================
   14. Responsive Styles
   ========================================================================== */

/* Extra Large Devices (1400px and below) */
@media (max-width: 1400px) {
    .main-container {
        width: 100%;
        max-width: 1124px;
    }

    .main-content-with-cards {
        padding: 30px 40px;
    }

    #sidebar {
        width: 300px;
        margin-left: 30px;
    }

    .sidebar {
        margin-left: 30px;
    }
}

/* Large Devices (1200px and below) */
@media (max-width: 1200px) {

    .h2,
    .page-title {
        font-size: 32px;
        padding-bottom: var(--spacing-xl);
    }

    .cards-title {
        font-size: 28px;
    }

    .card {
        width: 100% !important;
    }

    .main-content-with-cards .row {
        gap: 20px;
    }

    .footer-content {
        -ms-grid-columns: 1fr var(--spacing-xl) 1fr;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-xl);
    }
}

/* Medium-Large Devices (1024px and below) */
@media (max-width: 1024px) {
    .row {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }

    #sidebar {
        width: 100%;
        margin-left: 0;
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
    }

    .sidebar {
        margin-left: 0;
    }

    .main-container {
        width: 100%;
        max-height: none;
        overflow-y: visible;
        padding: 0;
    }

    main {
        max-width: 100%;
        padding: 30px;
        margin-top: 10px;
    }

    .main-content-with-cards {
        padding: 25px 30px;
    }
}

/* Medium Devices - Tablets (991.98px and below) */
@media (max-width: 991.98px) {
    #tvs-logo {
        height: 26px;
        width: auto;
        margin-right: 100px;
    }

    #sidebar {
        height: auto;
        border-right: none;
        border-bottom: 1px solid var(--border-color);
        padding-bottom: 20px;
    }

    .sidebar-inner {
    padding: 50px 20px 20px;
    height: -moz-max-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
    .sidebar-logo {
        margin-bottom: 0;
    }

    #sidebar-nav {
        height: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: visible;
        gap: 10px;
    }

    .sidebar-nav .nav-item {
        margin-bottom: 0;
    }

    .sidebar-divider {
        border: none;
        border-top: 2px solid #8792a8;
    }

    .account-nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 10px;
    }

    .search-bar {
        width: 100%;
        max-width: 300px;
    }

    .navbar-nav {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 10px;
    }

    .cards-title {
        font-size: 24px;
    }

    .card-title {
        font-size: 24px;
    }

    .card-text {
        font-size: 16px;
    }

    .percentage-number {
        font-size: 40px;
    }

    .percentage-symbol {
        font-size: 20px;
    }

    .resume-button {
        padding: 12px 24px;
        font-size: 14px;
    }
}

/* Small-Medium Devices (768px and below) */
@media (max-width: 768px) {

    .h2,
    .page-title {
        font-size: 28px;
        padding-bottom: var(--spacing-lg);
    }

    .cards-title {
        font-size: 22px;
    }

    main {
        padding: 20px;
        margin-top: 10px;
    }

    .main-content-with-cards {
        padding: 20px;
        margin-bottom: 20px;
    }

    .card-img-wrapper {
        height: 180px;
    }

    .card-body {
        padding: 16px;
    }

    .card-title {
        font-size: 20px;
        margin-bottom: 12px;
    }

    .card-text {
        font-size: 14px;
        margin-bottom: 16px;
    }

    .card-footer-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 16px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .footer-not-started {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 16px;
    }

    .footer-not-started .d-flex {
        width: 100%;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .resume-button {
        width: 100%;
        text-align: center;
    }

    .percentage-number {
        font-size: 36px;
    }

    .percentage-symbol {
        font-size: 18px;
    }

    .vertical-divider {
        height: 30px;
    }

    /* Footer */
    .footer {
        padding: 40px 30px 30px;
    }

    .footer-content {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .footer-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .footer-bottom-links {
        gap: 20px;
    }

    /* View Toggle */
    .container-view-toggle {
        padding: 0 4px;
    }

    .container-view-toggle button {
        padding: 6px 20px !important;
    }

    .view-icons button {
        width: 32px;
        height: 32px;
        padding: 6px !important;
    }

    .view-icons button img {
        width: 16px;
        height: 16px;
    }
}

/* Small Devices - Mobile (576px and below) */
@media (max-width: 576px) {

    .h2,
    .page-title {
        font-size: 24px;
        padding-bottom: var(--spacing-md);
    }

    .cards-title {
        font-size: 20px;
    }

    main {
        padding: 15px;
        border-radius: var(--radius-sm);
    }

    .main-content-with-cards {
        padding: 15px;
        border-radius: var(--radius-sm);
    }

    .navbar {
        padding: 10px 0px;
    }

    .search-bar {
        width: 100%;
        height: 36px;
    }

    .header-right-icon {
        height: 28px;
    }

    #sidebar {
        padding: 15px;
    }

    .sidebar-inner {
        padding: 15px;
    }

    .ade-logo {
        width: 100px;
    }

    .sidebar-heading {
        font-size: 10px;
    }

    .sidebar-nav .nav-link {
        font-size: 14px;
        padding: 10px;
    }

    .card-img-wrapper {
        height: 150px;
    }

    .card-body {
        padding: 12px;
    }

    .card-meta {
        gap: 12px;
        font-size: 12px;
        margin-bottom: 12px;
    }

    .card-title {
        font-size: 18px;
        margin-bottom: 10px;
    }

    .card-text {
        font-size: 13px;
        line-height: 1.4;
        margin-bottom: 12px;
    }

    .article-section {
        margin-bottom: 15px;
    }

    .article-label {
        font-size: 10px;
    }

    .article-title {
        font-size: 14px;
    }

    .progress-labels {
        font-size: 11px;
        margin-bottom: 16px;
    }

    .percentage-number {
        font-size: 32px;
    }

    .percentage-symbol {
        font-size: 16px;
    }

    .progress-label {
        font-size: 12px;
    }

    .articles-count {
        font-size: 11px;
    }

    .vertical-divider {
        height: 24px;
        margin: 0 2px;
    }

    .resume-button {
        padding: 10px 20px;
        font-size: 13px;
    }

    .footer-not-started {
        padding: 12px 16px;
    }

    .footer-not-started .resume-button {
        padding: 10px 20px;
    }

    /* Footer */
    .footer {
        padding: 30px 20px 20px;
    }

    .footer-section h3 {
        font-size: 20px;
    }

    .footer-description {
        font-size: 14px;
    }

    .footer-links a {
        font-size: 14px;
    }

    .contact-item {
        font-size: 14px;
    }

    .copyright {
        font-size: 12px;
    }

    .footer-bottom-links {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 10px;
    }

    .footer-bottom-links a {
        font-size: 12px;
    }
}

/* Extra Small Devices (400px and below) */
@media (max-width: 400px) {

    .h2,
    .page-title {
        font-size: 20px;
        padding: 0 0.8rem;
    }

    .cards-title {
        font-size: 18px;
    }

    .card-title {
        font-size: 16px;
    }

    .percentage-number {
        font-size: 28px;
    }

    .percentage-symbol {
        font-size: 14px;
    }

    .container-view-toggle button {
        padding: 4px 15px !important;
    }

    .d-flex.justify-content-between.flex-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 15px;
        -webkit-box-align: start !important;
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
}

/* ==========================================================================
   15. Utility Classes
   ========================================================================== */
.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

/* Hide scrollbar utility */
.no-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

/* ==========================================================================
   16. Print Styles
   ========================================================================== */
@media print {

    .navbar,
    #sidebar,
    .footer {
        display: none;
    }

    main {
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    .course-card {
        -webkit-column-break-inside: avoid;
        -moz-column-break-inside: avoid;
        break-inside: avoid;
        -webkit-box-shadow: none;
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

/* ==========================================================================
   14. Listing Page Styles (New)
   ========================================================================== */
.section-main-title {
    color: var(--primary-color);
    font-weight: 600;
    font-size: 32px;
    /*margin-bottom: 35px !important;*/
    line-height: 36px;
}

.section-subtitle {
    color: var(--primary-color);
    font-weight: 500;
    font-size: 24px;
}

.section-divider {
    width: 40px;
    border: 2px solid var(--section-divider-color);
    border-radius: 2px;
    margin: 10px 0 18px 0 !important;
}

.section-divider-orange {
    width: 40px;
    height: 4px;
    background-color: #F97316;
    border-radius: 2px;
}

.section-description {
    font-size: 18px;
    line-height: 26px;
    width: min(600px, 100%);
    font-weight: 400 !important;
    margin-bottom: 28px;
    color: #5D647A !important;
}

.bg-light-blue {
    background-color: #F8FAFC !important;
    border-color: #E2E8F0 !important;
}

.article-card {
    background-color: #fff;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    border: 1px solid #E5E7EB;
}

.article-card:hover {
    -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-color: var(--primary-color);
}

.article-heading {
    font-weight: 600 !important;
    color: var(--body-text-color);
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 12px;
    color: #5D647A !important;
}

.article-meta {
    font-size: 14px !important;
    letter-spacing: 0.8px !important;
    color: #5D647A !important;
    line-height: 14px;
    font-weight: 400 !important;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.status-badge-success {
    background-color: #ECFDF5;
    color: #059669;
    padding: 6px 12px;
    border-radius: 99px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* Circular Progress */
.circular-progress {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    /* Default to 0% if JS fails, override with inline style or JS */
    background: conic-gradient(var(--accent-color) var(--progress, 0deg), #E2E8F0 0deg);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.circular-progress::before {
    content: '';
    position: absolute;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #fff;
}

.bg-light-blue .circular-progress::before {
    background-color: #F8FAFC;
}

.circular-progress .progress-value {
    position: relative;
    font-size: 11px;
    font-weight: 700;
    color: var(--primary-color);
}

.action-btn {
    font-size: 14px;
    font-weight: 500;
    padding: 8px 24px;
    line-height: 22px;
    width: 133px;
}

/* ==========================================================================
   15. Article Card Redesign (New)
   ========================================================================== */
.article-left-col {
    background-color: #F8FAFC;
    /* Light gray/blue */
    border-right: 1px solid #E5E7EB;
    position: relative !important;
    /* Ensure positioning context for image/badge */
    padding: 0 !important;
    /* Remove padding so image hits edges */
    overflow: hidden;
    /* rounded corners handled by container */
}

/* New Image Styling */
.article-thumb {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    /* Behind other elements */
}

.percentage-badge {
    position: relative;
    z-index: 2;
    /* On top of image */

    font-size: 14px;
    min-width: 60px;
    text-align: center;
    font-weight: 400 !important;
}
.contact-text, footer span.contact-text a, .footer-description {'Alata', sans-serif !important}
.show-more-container a{font-weight: 700 !important; font-size: 16px !important; line-height:22px;}
.copyright, .footer-bottom-links a {'Alata', sans-serif !important}
.title-container .mb-4{margin-bottom:21px !important;}
#menu-primary ui li .me-3{margin:0 !important;}

.bookmark-btn svg {
    width: 20px;
    height: 20px;
    color: #94A3B8;
    /* Muted color for bookmark */
}

.bookmark-btn:hover svg {
    color: var(--primary-color);
    fill: var(--primary-color);
}

/* Adjust card hover effect */
.article-card:hover {
    -webkit-box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    border-color: var(--primary-color) !important;
}

/* Ensure progress bar is visible */
.article-left-col .progress {
    background-color: #B0BBD1;
    /* Higher opacity for clear track visibility */
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 2;
    position: absolute !important;
    bottom: 8px !important;
    /* Floating effect */
    width: 90% !important;
    /* Not full width */
    height: 6px;
    border-radius: 10px !important;
    /* Rounded tube shape */
    -webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    /* Subtle shadow for depth */
}

/* Ensure inner bar is also rounded */
.article-left-col .progress .progress-bar {
    border-radius: 10px !important;
}


/* ==========================================================================
   16. Completed Article Card State (New)
   ========================================================================== */

/* 
 * Class: .article-card-completed
 * Usage: Add this class to the main .article-card container to apply the 'Completed' state.
 * Description: Overrides colors for the badge, progress bar, and button to indicate completion.
 * Ensuring no conflicts by using specific descendant selectors.
 */

/* Badge Styling for Completed State */
.article-card-completed .percentage-badge {
    background-color: #10B981 !important;
    /* Green-500 */
    color: #ffffff !important;
    font-size: 11px;
    letter-spacing: 0.5px;
    padding: 6px 16px !important;
    text-transform: uppercase;
    width: auto;
    min-width: unset;
}

/* Progress Bar Styling for Completed State */
.article-card-completed .progress-bar {
    background-color: #10B981 !important;
    /* Green-500 */
    opacity: 1;
}

/* Button Styling for Completed State */
.article-card-completed .action-btn {
    background-color: #10B981;
    /* Green-500 */
    border-color: #10B981;
    color: #ffffff;
}

.article-card-completed .action-btn:hover {
    background-color: #059669;
    /* Green-600 */
    border-color: #059669;
}

/* Responsive Adjustments for Article Cards */


/* ==========================================================================
   17. 3-Section Article Card Layout (New)
   ========================================================================== */

/* Middle Column: Text Content */
.article-content-col {
    padding-left: 20px;
    padding-top: 30px;
    padding-bottom: 30px;
    /* p-4 equivalent */
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* Right Column: Actions (Bookmark + Button) */
.article-action-col {
    padding: 1.5rem;
    /* p-4 equivalent */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    min-width: 200px;
    /* Ensure space for button */
    border-left: 1px solid #E5E7EB;
    /* Optional separation? Image implies separation by space or border, checking... image shows light blue outline for sections. I will stick to clean layout first */
    border-left: none;
    /* Let's keep it clean */
}

.articles-list {
    gap: 20px;
}

/* Updated Bookmark Button (Bordered + CSS Mask Icon) */
.article-action-col .bookmark-btn,
.bookmark-header-row .bookmark-btn {
    border: 1px solid #DEE2E6;
    border-radius: 6px;
    padding: 8px 10px;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: transparent;
}

.article-action-col .bookmark-btn:hover,
.bookmark-header-row .bookmark-btn:hover {
    border-color: var(--primary-color);
    background-color: var(--primary-color);
}

.bookmark-icon {
    display: inline-block;
    width: 9px;
    height: 10px;
    background-color: #9CA3AF;
    /* Default gray */
    -webkit-mask: url('../images/bookmark.svg') no-repeat center;
    mask: url('../images/bookmark.svg') no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-transition: background-color 0.2s ease;
    -o-transition: background-color 0.2s ease;
    transition: background-color 0.2s ease;
}

.article-action-col .bookmark-btn:hover .bookmark-icon,
.article-action-col .bookmark-btn.active .bookmark-icon,
.bookmark-header-row .bookmark-btn:hover .bookmark-icon,
.bookmark-header-row .bookmark-btn.active .bookmark-icon {
    background-color: #ffffff;
    /* White icon on hover/active (assuming blue background) */
}

/* Responsive Stacking */
/* Responsive Stacking */
@media (max-width: 992px) {

    /* Stack columns on Tablet/Mobile */
    .article-card,
    .article-card-completed {
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }

    .article-left-col,
    .article-content-col,
    .article-action-col {
        width: 100% !important;
        min-width: 100% !important;
        border-right: none !important;
        border-left: none !important;
    }

    .article-content-col,
    .article-action-col {
        padding: 1.5rem !important;
    }

    .article-left-col {
        border-bottom: 1px solid #E5E7EB;
        min-height: 200px;
        /* Ensure height for image */
        padding: 0 !important;
        /* Keep padding 0 for image */
    }

    .article-action-col {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        border-top: 1px solid #E5E7EB;
    }

    .content-section-wrapper {
        gap: 40px;
        /* Smaller gap on mobile */
    }
}

/* Fix Mobile Center Alignment for Main Content */
@media (max-width: 767.98px) {
    .main-content-with-cards {
        padding: 20px !important;
        /* Reduce padding from 30px 60px */
    }
}

/* Progress Bar Float Fix - Ensure Inner Bar is Rounded */
.article-left-col .progress .progress-bar {
    border-radius: 10px !important;
    /* Match floating tube radius */
}

/* ==========================================================================
   18. Bookmark Page Styles (New)
   ========================================================================== */

/* Bookmark content wrapper (Right column) */
.article-bookmark-content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* Header Row: Meta | Date + Bookmark */
.bookmark-header-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 0.5rem;
}

.article-date {
    font-size: 14px;
    color: #9C9FA3;
    font-weight: 500 !important;
    margin-right: 12px;
    letter-spacing: 0.5px;
    line-height: 14px;
    text-transform: uppercase;
}

/* Subheading */
.article-subheading {
    color: var(--primary-color) !important;
    /* Blue-ish tone from image */
    font-size: 16px;
    line-height: 22px !important;
    font-weight: 400;
    margin-bottom: 12px;
    margin-top: 8px;
}

/* Plain Bookmark Button (Top Right) */
.bookmark-btn-plain {
    border: 1px solid #E5E7EB;
    background: transparent;
    padding: 4px 6px;
    border-radius: 4px;
    line-height: 0;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.bookmark-btn-plain:hover {
    background-color: #F3F4F6;
    border-color: #D1D5DB;
}

.bookmark-btn-plain .bookmark-icon {
    width: 14px;
    height: 14px;
    -webkit-mask-size: cover;
    mask-size: cover;
}

/*CSS FOR M*/
.card-footer-content.is-completed {background: #F4F7FE;}
.card-footer-content.is-completed .percentage-number,
.card-footer-content.is-completed .percentage-symbol {color: #16A34A;}
.resume-button.is-completed-btn {background-color: #16A34A; color: #ffffff;}
.resume-button.is-completed-btn:hover {background-color: #15803D;}
/* Center COMPLETED badge perfectly */
.article-left-col .percentage-badge.completed {position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #16a34a !important;
    color: #ffffff !important;
    font-size: 11px;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 20px;
    letter-spacing: 0.6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    z-index: 10;
}
    /* Default – In progress (BLUE) */
.article-section .progress-bar {
    height: 6px;
    background-color: #0C3788;
    border-radius: 4px;
    transition: width 0.4s ease, background-color 0.3s ease;
}

.progress-bar.progress-active {
    background-color: #0C3788; /* blue */
}

.progress-bar.progress-not-started {
    background-color: #cbd5e1; /* gray */
}
.clsleftsection {position: sticky; top: 0px; height: 600px;}


/* ✅ COMPLETED */
.progress-bar.progress-complete {
    background-color: #16a34a !important; /* GREEN */
}

/* Completed only */
.article-left-col .progress-bar.completed {
    background-color: #16a34a; /* green */
}
h2.card-title a {
    text-decoration: none;
}

    .pagination-navigation {
            background: #F3F3F3;
            width: 100%;
            max-width: 100%;
            min-height: 104px;
            padding: 24px;
            border-radius: 8px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 20px;
            margin-top: 50px;
        }
 
        .pagination-item {
            display: flex;
            align-items: center;
            gap: 16px;
            flex: 1;
            cursor: pointer;
            transition: all 0.3s ease;
        }
 
        .pagination-item:hover .pagination-btn {
            transform: scale(1.05);
        }
 
        .pagination-item:hover .pagination-title {
            color: #0a2d6e;
        }
 
        .pagination-prev {
            text-align: left;
        }
 
        .pagination-next {
            justify-content: flex-end;
            text-align: right;
        }
 
        .pagination-btn {
            width:  32px;
            height: 32px;
            border: none;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            flex-shrink: 0;
        }
 
        .pagination-content {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
 
        .pagination-label {
            font-family: 'Inter', sans-serif;
            font-size: 14px;
            line-height: 20px;
            font-weight: 500;
            color: #6B7280;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
 
        .pagination-title {
            font-family: 'Roboto', sans-serif;
            font-size: 18px;
            font-weight: 600;
            color: #0C3788;
            line-height: 1.4;
            transition: color 0.3s ease;
        }
 
        .pagination-icon {
            width: 100%;
            height: 100%;
        }
 
        @media (max-width: 768px) {
            .pagination-navigation {
                padding: 16px;
                gap: 12px;
            }
 
            .pagination-btn {
                width: 40px;
                height: 40px;
            }
 
            .pagination-title {
                display: none;
            }
 
            .pagination-label {
                font-size: 14px;
            }
        }

.main-container{ margin-bottom: 2rem;}
.navbar {
    -webkit-box-shadow: var(--shadow-navbar);
    box-shadow: var(--shadow-navbar);
    background-color: var(--background-color) !important;
    /*padding: 12px 30px;*/
}
 footer span.contact-text a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
}
.nav-link {
    color: var(--body-text-color);
    font-size: 16px;
    -webkit-transition: color 0.2s ease;
    -o-transition: color 0.2s ease;
    transition: color 0.2s ease;
    position: relative;
    padding-bottom: 8px;
    line-height: 20px;
}
ul#menu-primary {
    margin-left: 104px;
}
div#navbarContent>.gap-3 {
    gap: 48px !important;
}
.nav-link:hover {
    color: var(--primary-color);
}
.navbar{padding: 16px 32px !important;}
.nav-link.active {
    color: var(--primary-color) !important;
    font-weight: 600;
}
 
.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    height: 3px;
    background-color: var(--primary-color);
    border-radius: 2px;
}
 
.nav-link:not(.active) {
    color: #8792A8 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 16px !important;
}

.course-nav-item .nav-link:not(.active) {
    color: #364679 !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 16px !important;
}
/* Article Layout */
.article-header-section .main-page-title {
    color: #0C3788;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 8px;
}
 
.article-header-section .breadcrumb-text {
    font-size: 14px;
    color: #9CA3AF;
}
 
.article-header-section .active-breadcrumb {
    color: #4B5563;
    font-weight: 500;
}
 
.article-layout-container {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}
 
.article-card {
    flex: 1;
    background: #FFFFFF;
    border-radius: 16px;
    padding: 0px !important;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.05);
}
 
.article-title {
    color: #0C3788;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 0;
}
 
/* Controls */
.font-size-controls {
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 100px;
    padding: 4px 12px;
    gap: 12px;
}
 
.control-btn {
    border: none;
    background: none;
    color: #6B7280;
    font-size: 18px;
    cursor: pointer;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
 
.font-label {
    color: #111827;
    font-weight: 600;
}
 
.small-a {
    font-size: 12px;
}
 
.large-a {
    font-size: 16px;
}
 
.bookmark-btn {
    width: 35px !important;
    height: 35px !important;
    padding: 5.5px 11px !important;
    min-width: unset !important;
    min-height: unset !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.bookmark-btn .bookmark-icon {
    width: 12px;
    height: 18px;
    display: inline-block;
}

.bookmark-btn:hover .bookmark-icon::before {
    content: "☆";
    font-size: 18px;
    color: #fff !important;
    background: #fff !important;
}

.bookmark-icon::before {
    content: "☆";
    font-size: 18px;
    color: #000 !important;
    background: #000 !important;
}

.bookmark-btn:hover {
    background: var(--primary-color) !important;
}
 
/* Progress Sidebar */
.progress-sidebar {
    width: 60px;
    position: absolute;
top: -30%;transform: translateY(-25%);
}
.clsmainprogresssec{height: 100% !important;}
 
.progress-tracker-card {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 0 0 40px 0;
    overflow: hidden;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
 .clsscrolldown{
    top: -140px !important;
}
.tracker-header {
    background: #E5E7EB;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
 
.tracker-action-btn {
    border: none;
    background: none;
    color: #4B5563;
    padding: 0;
}
 
.progress-steps-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative;
}
 
.progress-steps-container::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    background: #E5E7EB;
    z-index: 0;
}
 
.progress-step {
    position: relative;
    z-index: 1;
    background: #FFFFFF;
    padding: 2px;
}
 
.step-dot {
    width: 12px;
    height: 12px;
    border: 2px solid #D1D5DB;
    border-radius: 50%;
    background: #FFFFFF;
}
 
.progress-step.active .step-dot {
    background: #10B981;
    border-color: #10B981;
}
 
.article-banner img {
    width: 100%;
    max-height: 450px;
    object-fit: cover;
}
 
.section-heading {
    color: #0C3788;
    font-size: 22px;
    font-weight: 700;
}
 
/* ==========================================================================
   Responsive Styles - Progress Tracker
   ========================================================================== */
 
@media (max-width: 1200px) {
    .article-layout-container {
        flex-direction: column;
    }
 
    .progress-sidebar {
        width: 100%;
        position: static;
        order: -1;
        margin-bottom: 20px;
    }
 
    .progress-tracker-card {
        flex-direction: row;
        justify-content: center;
        width: fit-content;
        margin: 0 auto;
    }
 
    .progress-steps-container {
        flex-direction: row;
    }
 
    .progress-steps-container::before {
        width: 100%;
        height: 1px;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
}


 
/* new classes added Date: 6/1/2026 */
 
a.nav-link.account-link>img {
    border-radius: 50px !important;
}
 
.clsmainprogresssec {
    position: relative !important;
}

.clsprocessorbar {
    position: fixed !important;
    top: 17.5rem !important;
}
 
.sidebar-divider { 
 border-top: 3px solid var(--e-global-color-elearningcolor7) !!important; 
 margin-top: 45px !important;
 /*margin-bottom: 30px !important;*/
}

  .clsleftsection {position: sticky; top: 10px; height: 100%;}
 .font-size-controls {
    gap: 14px;
    padding: 0px 6px;
    border: 1.5px solid #d9dfe7;
    border-radius: 999px;
}

.control-btn {
    background: none;
    border: none;
    font-size: 18px;
    color: #4b5563;
    cursor: pointer;
    padding: 4px 8px;
}

.font-label.small-a {
    font-size: 12px;
    color: #1f2937;
}

.font-label.large-a {
    font-size: 16px;
    font-weight: 700;
    color: #1f2937;
}


.reset-btn-text {
    border: 1px solid #E5E7EB;
    background: #FFFFFF;
    color: #6B7280;
    font-size: 14px;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 100px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: 'Handlee', cursive;
    font-family: inherit;
    display: flex;
    align-items: center;
    gap: 4px;
}

.reset-btn-text:hover {
    background: #F9FAFB;
    color: #0C3788;
    border-color: #0C3788;
}


/*new class added on - 20-01-2.26 */

[data-id="c0c5697"] {
    margin-top: 0 !important;
    grid-gap: 0 !important;
    column-gap: 0px !important;
}
[data-id="6f162ea2"] {
    margin-bottom: 14px !important;
}
[data-id="9eb902e"]{
    align-items: end !important;
    width: 96% !important;
}
[data-id="56218300"]{
    margin-bottom: 30px !important;
}
.postid-3092 .elementor-heading-title {
    font-family: "Inter", sans-serif;
    font-size: 24px !important;
    font-weight: 500 !important;
    color: #0C3788;
}
.elementor-3092 .elementor-element.elementor-element-62c74c4b{
    padding: 0 !important;
}
[data-id="216e9841"]{
    padding: 20px 0 30px !important;
}
[data-id="1181b667"]{
    padding: 30px 80px !important;
}
.elementor-3092 .elementor-element.elementor-element-3c31eac9{
    padding: 20px 0 30px !important;
}
.elementor-3092 .elementor-element.elementor-element-65018798{
    padding: 20px 0 30px;
}
.elementor-heading-title{
    font-size: 32px !important;
    font-weight: 600 !important;
    line-height: 36px !important;
    color: var(--primary-color);
}
[data-id="5d9ea882"], [data-id="65018798"], [data-id="65018798"], [data-id="5d74e68b"], [data-id="5e2bac71"], [data-id="3b11460e"], [data-id="58fc8537"]{
    padding: 20px 0 30px !important;
}
.elementor-3092{
    padding-top: 10px !important;
}
.elementor-divider{
    text-align: center;
    padding-block-start: 0px !important; 
    padding-block-end: 0px !important;
}
.elementor-3092 .elementor-element.elementor-element-5be1731 .elementor-heading-title {
    font-family: "Inter", Sans-serif;
    font-size: 33px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    color: #0C3788 !important;
}
.elementor-3092 .elementor-element.elementor-element-6f162ea2 .elementor-heading-title {
    font-family: "Inter", Sans-serif;
    font-size: 33px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    color: #0C3788 !important;
}

.elementor-3092 .elementor-element.elementor-element-498a53ad{
    padding-top: 10px !important;
}

