/*
Theme Name: My Theme
*/

@import url('front/css/all.min.css');
@import url('front/css/fontawesome.min.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:wght@400;500;600;700&display=swap');
@import url('front/css/slick.css');
@import url('front/css/slick-theme.css');
@import url('front/css/cssanimation.min.css');
@import url('front/js/lordicon.js');
@import url('front/css/aos.css');
@import url('front/css/bootstrap-icons.min.css');
@import url('front/css/bootstrap.min.css');
@import url('front/css/style.min.css?ver=20260922-fonts');
@import url('front/css/custom.css?ver=20260922-fonts');

.clc-news-viewport { max-height: 300px; overflow-y: auto; }
.clc-news-track .whats-new-list { display: flow-root; }
.clc-news-scrolling { height: var(--news-height, 300px); overflow: hidden; }
.clc-news-scrolling .clc-news-track {
    animation: clc-news-marquee var(--news-duration, 25s) linear infinite;
}
.clc-news-viewport:hover .clc-news-track,
.clc-news-viewport:focus-within .clc-news-track { animation-play-state: paused; }
.clc-news-viewport:focus-visible { outline: 2px solid #162f6a; outline-offset: 3px; }
@keyframes clc-news-marquee {
    to { transform: translateY(var(--news-distance)); }
}
@media (prefers-reduced-motion: reduce) {
    .clc-news-scrolling { overflow-y: auto; }
    .clc-news-scrolling .clc-news-track { animation: none; }
    .clc-news-copy { display: none; }
}

:root {
    --bs-font-sans-serif: "Noto Sans", sans-serif;
    --bs-body-font-family: "Noto Sans", sans-serif;
}
body {
    font-family: "Noto Sans", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}
button, input, select, textarea, .btn, .tooltip, .popover {
    font-family: "Noto Sans", sans-serif;
}
body h1 { font-size: clamp(26px, 2.5vw, 36px); line-height: 1.3; font-weight: 700; }
body h2 { font-size: clamp(22px, 2vw, 28px); line-height: 1.35; font-weight: 700; }
body h3 { font-size: 24px; line-height: 1.4; font-weight: 600; }
body h4 { font-size: 22px; line-height: 1.4; font-weight: 600; }
body h5 { font-size: 20px; line-height: 1.4; font-weight: 600; }
body h6 { font-size: 18px; line-height: 1.4; font-weight: 600; }
body p { font-size: 16px; line-height: 1.6; }
body table, body .form-control, body .form-select { font-size: 16px; line-height: 1.5; }
header .home-one .navbar-details .navigation-link .navbar-nav .nav-item .nav-link {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600 !important;
}
body footer p, body footer li, body footer a { font-size: 14px; line-height: 1.6; }
@media (max-width: 767px) {
    body h3 { font-size: 21px; }
    body h4 { font-size: 20px; }
    body h5 { font-size: 18px; }
    body h6 { font-size: 16px; }
}

.clc-partner-section { padding: 20px 0; background: #fff; }
.clc-partner-strip {
    display: flex;
    align-items: center;
    gap: 24px;
    overflow-x: auto;
    padding: 8px 4px 12px;
    scroll-snap-type: x proximity;
}
.clc-partner-item { flex: 0 0 140px; scroll-snap-align: start; }
.clc-partner-item a { display: block; }
.clc-partner-item img { display: block; width: 140px; height: 80px; object-fit: contain; }
.clc-partner-strip:focus-visible,
.clc-partner-item a:focus-visible { outline: 2px solid #162f6a; outline-offset: 2px; }

header .clc-utility-panel { background: #fff; border: 0; border-radius: 0; }
header .clc-utility-controls { display: flex; align-items: center; }
header .clc-utility-controls > * + * { position: relative; }
header .clc-utility-controls > * + *::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 32px;
    background-color: #162f6a;
    pointer-events: none;
    z-index: 1051;
}
header .clc-utility-controls .nav-link,
header .clc-utility-button,
header #bhashini-translation .bhashini-dropdown-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 44px;
    padding: 6px;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #162f6a !important;
    box-shadow: none;
    text-decoration: none;
}
header .clc-utility-controls .nav-link:focus-visible,
header .clc-utility-button:focus-visible,
header #bhashini-translation button:focus-visible { outline: 2px solid #162f6a; outline-offset: -3px; }
header #clc-bhashini-control { position: relative; }
header #bhashini-translation {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0;
    z-index: 1050;
}
header #bhashini-translation .bhashini-dropdown-btn > * { display: none; }
header #bhashini-translation .bhashini-dropdown-btn::before {
    content: "अ\a A";
    white-space: pre;
    font: 18px/17px "Noto Sans", sans-serif;
}
header .clc-language-placeholder { font: 18px/17px "Noto Sans", sans-serif; }
header #bhashiniLanguageDropdown {
    top: calc(100% + 8px) !important;
    bottom: auto !important;
    right: 0 !important;
    left: auto !important;
    width: 260px;
    max-width: calc(100vw - 24px);
    max-height: min(360px, 50vh);
    overflow-y: auto;
    text-align: left;
}
@media (max-width: 991px) {
    header #bhashiniLanguageDropdown { left: -50px !important; right: auto !important; }
}

header .home-one .top-header .top-header-content {
    height: auto;
    min-height: 132px;
    padding: 12px 0;
}

header .clc-brand-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px minmax(0, 1fr);
    align-items: center;
}

header .clc-brand-row > div {
    width: auto;
    min-width: 0;
}

header .clc-header-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

header .clc-header-center a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 100%;
    text-align: center;
    color: #162f6a;
    text-decoration: none;
}

header .clc-header-title {
    display: block;
    margin-top: 2px;
    font-family: "Noto Sans", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
}

header .clc-header-title span {
    display: block;
    font-size: 20px;
    font-weight: 400;
    margin-top: 1px;
}

header .clc-header-center a:hover,
header .clc-header-center a:focus-visible {
    color: #0b5cab;
}

header .clc-header-logo {
    display: block;
    width: 90px;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}

header .logo.ministry-logo {
    max-width: 100%;
    gap: 10px;
    align-items: flex-end;
    color: #000;
    text-decoration: none;
    font-family: "Noto Sans", sans-serif;
}

/* Reuse the original emblem at its native resolution as a CSS sprite. */
header .ministry-emblem {
    display: block;
    flex: 0 0 58px;
    width: 58px;
    height: 100px;
    background: url('front/images/multiple-use/header/logo.png') no-repeat -16px -11px;
}

header .ministry-name {
    display: block;
    min-width: 0;
    padding-bottom: 7px;
    line-height: 1.2;
}

header .ministry-government {
    display: block;
    font-size: 13px;
    font-weight: 400;
}

header .ministry-name strong {
    display: block;
    font-size: 20px;
    font-weight: 700;
}

@media (max-width: 1199px) {
    header .ministry-government { font-size: 13px; }
    header .ministry-name strong { font-size: 15px; }
}

@media (max-width: 575px) {
    header .logo.ministry-logo { justify-content: flex-start; }
    header .ministry-government { font-size: 12px; }
    header .ministry-name strong { font-size: 14px; }
}

@media (max-width: 991px) and (min-width: 768px) {
    header .clc-brand-row {
        grid-template-columns: minmax(0, 1fr) 330px minmax(0, 1fr);
    }
    header .clc-header-title { font-size: 20px; }
    header .clc-header-title span { font-size: 17px; }
}

@media (max-width: 767px) {
    header .home-one .top-header .top-header-content {
        min-height: 0;
        padding: 10px 0;
    }
    header .clc-brand-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 6px;
    }
    header .clc-brand-row > .clc-header-partners { display: none !important; }
    header .logo.ministry-logo {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
    }
    header .ministry-emblem {
        flex-basis: 44px;
        width: 44px;
        height: 76px;
        background-size: 238px 88px;
        background-position: -12px -8px;
    }
    header .ministry-name { padding-bottom: 0; }
    header .ministry-government { font-size: 12px; }
    header .ministry-name strong { font-size: 14px; line-height: 1.25; }
    header .clc-header-center { padding-bottom: 0; }
    header .clc-header-logo { width: 76px; }
    header .clc-header-title { font-size: 20px; margin-top: 0; }
    header .clc-header-title span { font-size: 16px; }
}

@media (max-width: 991px) {
    header .top-header > hr { margin: 0; }
    header .home-one .navbar-details {
        height: auto;
        min-height: 60px;
        padding: 6px 0;
    }
    header .navbar-details .accessibility-panel {
        position: static;
        padding: 0 !important;
        margin: 0;
        box-shadow: none !important;
        flex-shrink: 0;
    }
    header .accessibility-panel .nav-link {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 6px;
    }
    header .navbar-toggler { min-width: 44px; min-height: 44px; }
}
