@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&display=swap");

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --navy: #0d3b5e;
    --navy-dark: #09294a;
    --navy-mid: #16527a;
    --teal-hero: #1a6e9e;
    --green-btn: #4a9e5c;
    --green-acc: #5cb86a;
    --green-text: #4caf50;
    --white: #ffffff;
    --off-white: #f2f5f7;
    --light-bg: #eef2f5;
    --border: #d8e3ea;
    --text-dark: #1a2e3b;
    --text-mid: #3a5060;
    --text-muted: #6a8494;
    --shadow-card: 0 2px 16px rgba(13, 59, 94, 0.09);
    --shadow-hover: 0 6px 28px rgba(13, 59, 94, 0.16);
}

body {
    font-family: 'DM Sans', sans-serif;
    background: var(--off-white);
    color: var(--text-dark);
    min-height: 100vh;
    font-size: 14px;
    line-height: 1.5;
    background: #ffffff !important;
}

html,
body{
    height:100%;
}

body{
    display:flex;
    flex-direction:column;
}

.uv-body{
    flex:1;
}

.uv-footer{
    margin-top:auto !important;
}

.uv-header,
.uv-header .uv-header-lt,
.uv-header .uv-header-lt .uv-logo {
    height: 50px;
}


.uv-header .uv-header-rt ul li a:link,
.uv-header .uv-header-rt ul li a:hover,
.uv-header .uv-header-rt ul li a:active,
.uv-header .uv-header-rt ul li a:visited {
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-mid) !important;
    text-transform: uppercase;
    padding: 7px 11px;
    border-radius: 5px;
    letter-spacing: 0.03em;
    transition: color .18s, background .18s;
    white-space: nowrap;
}

.uv-header .uv-header-rt ul li a:hover {
    color: var(--navy);
    background: var(--light-bg);
}

.uv-header .uv-header-rt ul li a.active {
    color: var(--navy);
    font-weight: 700;
}

.uv-header .uv-header-rt ul li a.uv-btn-small {
    display: inline-flex !important;
    align-items: center !important;
    background: var(--navy) !important;
    color: var(--white) !important;
    padding: 8px 18px !important;
    border-radius: 7px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
    letter-spacing: 0.04em;
    transition: background .18s !important;
    margin-left: 6px;
}

.mangal-home {
    max-width: 100% !important;
    margin: auto !important;
    padding: 0px !important;
}

.mangal-banner h1 {
    font-size: clamp(24px, 3.8vw, 42px) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 800 !important;
    color: var(--white) !important;
    line-height: 1.18 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.01em !important;
}

.mangal-banner h2 {
    font-size: clamp(16px, 2vw, 21px) !important;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    color: var(--green-text) !important;
    margin-bottom: 14px !important;
}

.mangal-banner p {
    font-size: 13.5px !important;
    font-family: 'DM Sans', sans-serif !important;
    color: rgba(255, 255, 255, 0.68) !important;
    margin-bottom: 30px !important;
}



.mangal-search input {
    flex: 1 !important;
    border: none !important;
    outline: none !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13.5px !important;
    color: var(--text-dark) !important;
    padding: 15px 8px 15px 15px !important;
    background: var(--white) !important;
    border-radius: 7px 0 0 7px !important;
    box-shadow: var(--shadow-card) !important;
    height: auto !important;
}

.mangal-search input::placeholder {
    color: #b0c4cf;
}

.mangal-search button {
    background: var(--green-btn) !important;
    color: var(--white) !important;
    border: none !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.09em !important;
    padding: 0 30px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background .18s !important;
    border-radius: 0 7px 7px 0 !important;
    text-transform: uppercase !important;
}

.mangal-search button:hover {
    background: var(--green-acc) !important;
}

.mangal-grid {
    max-width: 1240px;
    margin: 0 auto;
}

.mangal-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 9px 18px !important;
    border-radius: 7px !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border: none !important;
    width: fit-content !important;
    transition: opacity .18s, transform .18s !important;
    background: var(--navy) !important;
    color: var(--white) !important;
}

.mangal-btn:hover {
    opacity: 0.86 !important;
    transform: translateY(-1px) !important;
}

.mangal-btn.mangal-btn-green {
    background: var(--green-btn) !important;
    color: var(--white) !important;
}

.mangal-box h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--navy) !important;
    margin-bottom: 7px !important;
    text-align: left !important;
}
.mangal-box p {
    font-size: 16px !important;
    color: var(--text-muted) !important;
    line-height: 1.55 !important;
    flex: 1 !important;
    text-align: left !important;
}

a.mangal-btn:not(.uv-btn):not(.uv-btn-small):not(.uv-btn-social):not(.uv-table):not(.not-shiny) {
    color: var(--white) !important;
}
a.mangal-btn:hover:not(.uv-btn):not(.uv-btn-small):not(.uv-table td a) {
    color: var(--white) !important;
}

.mangal-contact-grid > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0px 20px !important;
    gap: 6px !important;
    border-right: 1px solid var(--border) !important;
}
.mangal-contact h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--navy) !important;
}
.mangal-contact p {
    font-size: 16px !important;
    color: var(--text-muted) !important;
}

.uv-footer {
    background: #0c3555 !important;
    color: rgba(255,255,255,0.6) !important;
    text-align: center !important;
    padding: 20px 32px 18px !important;
    font-size: 13px !important;
    margin: 0 !important;
}
.uv-footer-wrapper {
    border-top: solid 0px #D3D3D3 !important;
    padding-top: 0px !important;
    font-size: 0 !important;
}
.uv-footer-credit {
    padding: 10px 0 0 0 !important;
}
.uv-footer-credit .uv-credit-text {
    font-size: 12px !important;
    color: #5BC46D !important;
}
.uv-footer-wrapper .uv-footer-lt ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    margin-top: 9px !important;
}

.uv-footer-wrapper .uv-footer-lt ul li {
    display: flex !important;
    align-items: center !important;
}

.uv-footer-wrapper .uv-footer-lt ul li a {
    font-size: 12.5px !important;
    color: rgba(255,255,255,0.55) !important;
    text-decoration: none !important;
    padding: 2px 12px !important;
    transition: color .18s !important;
}

.uv-footer-wrapper .uv-footer-lt ul li a:not(.uv-btn):not(.uv-btn-small):not(.uv-table td a) {
    color: rgba(255,255,255,1) !important; 
}

.uv-cta-wrapper {
    width: 1240px;
    margin: 0px auto;
    max-width: 100%;
    padding: 50px 20px;
}
.uv-cta-wrapper .uv-cta-lt {
    width: auto !important;
}

/* LOGIN PAGE FINAL */

.uv-large-box-lt{
    background: linear-gradient(
        180deg,
        #0d3b5e 0%,
        #16527a 65%,
        #1a6e9e 100%
    ) !important;

    position: relative;
    overflow: hidden;
}

.uv-large-box-lt:after{
    content:'';
    position:absolute;
    right:-100px;
    bottom:-100px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:rgba(92,196,109,.25);
    filter:blur(70px);
}

.mangal-branding{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    height:100%;
    padding:50px 30px;

    position:relative;
}

.mangal-logo{
    width:220px;
    filter: brightness(0) invert(1);
    align-self:flex-start;
    margin-left:20px;
    margin-bottom:40px;
}

.support-icon{
    margin-bottom:25px;
}

.support-icon img{
    width:110px;
    filter: brightness(0) invert(1);
}

.mangal-branding h2{
    color:#fff !important;
    font-size:42px;
    font-weight:700;
    margin-bottom:15px;
}

.branding-text{
    color:#fff;
    font-size:16px;
    margin-bottom:40px;
}

.feature-row{
    display:flex;
    justify-content:center;
    gap:30px;
    margin-top:auto;
}

.feature-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    color:#fff;
    font-size:12px;
}

.feature-icon{
    font-size:18px;
    margin-bottom:6px;
}

.copyright{
    margin-top:35px;
    color:#5BC46D !important;
    font-size:13px;
    font-weight:600;
}

.uv-large-box-lt h2{
    color:#fff !important;
}

.mangal-branding h2,
.uv-large-box-lt h2{
    color:#fff !important;
}

/* ERROR PAGE FOOTER */

.uv-box-footer p{
    color:#5BC46D !important;
    font-size:13px;
    font-weight:600;
    text-align:center;
}

/* KNOWLEDGE BASE POPUP EFFECT */

html{
    scroll-behavior:smooth;
}

#knowledge-base-section{
    scroll-margin-top:120px;
}

#knowledge-base-section:target{

    animation:kbPopup 1.5s ease;

}

#knowledge-base-section:target .mangal-box{

    transform:translateY(-8px);

    box-shadow:
    0 0 35px rgba(91,196,109,.45),
    0 15px 40px rgba(0,95,139,.15);

    border-top:4px solid #5BC46D;

}

@keyframes kbPopup{

    0%{
        opacity:.4;
        transform:scale(.97);
    }

    50%{
        opacity:1;
        transform:scale(1.02);
    }

    100%{
        opacity:1;
        transform:scale(1);
    }

}

/* CONTACT SECTION SPACING */

.mangal-contact{
    margin-bottom:80px !important;
}