:root {
    --pc: rgb(8, 56, 138);
    --sc: rgb(237, 10, 10);
    --black: rgb(0, 0, 0);
    --white: rgb(255, 255, 255);
    --gradient: linear-gradient(180deg, #FFFFFF 0%, #F2FAF8 100%);
    --text-muted: rgb(104 99 99);
    --border-color: rgb(219, 219, 219);
    --default-font: 'Outfit', Arial, sans-serif;
    --heading-font: 'Bricolage Grotesque', Arial, sans-serif;
    --rad-sm: 10px;
    --rad-md: 90px;
    --rad-lg: 50%;
    --medium: 500;
    --semibold: 600;
    --bold: 700;
    --fs-1: 22px;
    --fs-2: 18px;
    --fs-3: 14px;
    scroll-behavior: smooth;
}

a {
    color: var(--pc);
    transition: all 0.3s;
    text-decoration: none;
}

ul li {
    list-style: none;
}

li,
p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--text-muted);
}

/* ------------------------Headings-size**********----------------- */

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--semibold);
    line-height: 1.3;
    margin-bottom: 20px;
    text-transform: capitalize;
}

.h1,
h1 {
    font-size: calc(1.5rem + 0.25vw);
}

@media (min-width:1200px) {

    .h1,
    h1 {
        font-size: 44px;
    }
}

.h2,
h2 {
    font-size: calc(1.3rem + 0.9vw);
}

@media (min-width:1200px) {

    .h2,
    h2 {
        font-size: 32px;
    }
}

.h3,
h3 {
    font-size: calc(1.4rem + 0.7vw);
}

@media (min-width:1200px) {

    .h3,
    h3 {
        font-size: 28px;
    }
}

.h4,
h4 {
    font-size: calc(1.3rem + 0.5vw);
}

@media (min-width:1200px) {

    .h4,
    h4 {
        font-size: 24px;
    }
}

.h5,
h5 {
    font-size: calc(1.1rem + 0.2vw);
}

@media (min-width:1200px) {

    .h5,
    h5 {
        font-size: 18px;
    }
}

.h6,
h6 {
    font-size: calc(1rem + 0.1vw);
}

button {
    background: unset;
    border: 0;
}

.img-placeholder {
    background-color: #c7c7c7;
    transition: all 0.3s ease-in-out;
}

/* site-btns */

[class*="flex-btn"] {
    font-size: 16px;
    font-weight: var(--medium);
    border-radius: var(--rad-sm);
    color: var(--white);
    cursor: pointer;
    padding: 13px 20px;
    transition: all 0.3s ease-in-out;
}

.btn-border {
    border: 2px solid var(--white);
}

.btn-border:hover {
    border: 2px solid var(--sc);
    background: var(--sc);
}

.btn-primary {
    background: var(--sc);
}

.btn-primary:hover {
    background: var(--pc);
}

.btn-gradient {
    background: linear-gradient(90deg, #195dfa 0%, #e42527 50%, #195dfa 100%);
    background-size: 200% 100%;
    will-change: background-position;
}


/* site-animations */

.btn-gradient:hover,
header .btn-gradient {
    animation: gradient-move 2s linear infinite;
}

@keyframes gradient-move {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}

.moveAnimate {
    animation: moveAnimate 3s ease-in-out infinite;
    transition: transform 0.3s ease;
}

@keyframes moveAnimate {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0);
    }
}

.animate-pulse {
    animation: topPulse 1.5s infinite;
}

@keyframes topPulse {
    0% {
        box-shadow: 0 0 0 0 var(--box-shadow-color);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(218, 103, 68, 0);
    }

    to {
        box-shadow: 0 0 0 0 rgba(218, 103, 68, 0);
    }
}

/* section-texture */

[class*="-texture"] {
    position: relative;
}

[class*="-texture"]:after,
[class*="-texture"]:before {
    content: "";
    position: absolute;
}

.half-ellipse-texture:after {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="179" height="349" viewBox="0 0 179 349" fill="none"><path d="M-16.002 214.851H33.4163V349H-16.002V214.851Z" fill="%2308388a" fill-opacity="0.10"/><path d="M-182.498 180.549C-182.498 131.131 -165.347 87.7483 -130.048 52.4496C-94.7498 17.1509 -52.3777 0 -1.94899 0C47.4692 0 90.8517 17.1509 126.15 52.4496C161.449 87.7483 178.6 130.12 178.6 180.549C178.6 215.848 168.509 249.139 149.351 279.399C130.192 309.659 104.971 330.838 72.6903 344.958V247.118C89.8412 227.96 98.922 205.77 98.922 180.549C98.922 153.321 88.8308 129.11 69.6726 109.938C50.5143 90.7661 26.3036 80.6886 -0.938538 80.6886C-28.1807 80.6886 -52.3777 90.7798 -71.5496 109.938C-90.7215 129.096 -100.799 153.307 -100.799 180.549C-100.799 210.809 -89.6974 236.03 -66.5108 256.199V349C-100.799 335.891 -128.041 313.701 -150.231 283.441C-171.41 252.171 -182.512 218.893 -182.512 180.563" fill="%2308388a" fill-opacity="0.10"/></svg>') no-repeat;
    height: 350px;
    width: 180px;
    background-size: contain;
    left: 0;
    top: -170px;
    transform: rotate(90deg);
}

.half-ellipse-texture:before {
    background: url(https://cdn-icons-png.flaticon.com/512/13219/13219099.png) no-repeat;
    height: 150px;
    width: 150px;
    background-size: contain;
    right: 50px;
    top: -20px;
    opacity: 0.1;
    animation: moveAnimate 2s ease-in-out infinite;
}

.logo-texture:after {
    background: url(../img/logo-texture.webp) no-repeat center center / cover;
    height: 170px;
    width: 200px;
    right: 0;
    top: 0;
    transform: scale(1, -1);
    opacity: 0.1;
}

/* site section bg */

.bg-lighty {
    background: url(https://devicefixes.com/wp-content/uploads/2026/01/purple-bg.svg) no-repeat center center / cover;
    padding-block: 50px;
}

.bg-primary-texture:before {
    height: 350px;
    width: 100%;
    z-index: -1;
    inset: 0;
    background: linear-gradient(90deg, #0B1C3E 0%, #0875AA 100%);
}

.bg-primary {
    background: linear-gradient(90deg, #0B1C3E 0%, #0875AA 100%);
    padding-block: 50px;
}

.border-container {
    border-top: 1px solid var(--border-color);
    padding-top: 70px;
}

/* form - elemens */

form :is(input, textarea, select) {
    border-radius: var(--rad-sm);
    color: var(--text-muted);
    border: 1px solid var(--border-color);
    background-color: var(--white);
    font-size: 16px;
    transition: .4s cubic-bezier(0, 0, .3642, 1);
}

form :is(input, textarea, select):not(input[type="checkbox"]):focus {
    outline: none;
    border: 1px solid var(--sc);
    box-shadow: 0 5px 0 0 rgb(255 197 197);
}

input[type="checkbox"],
form label {
    cursor: pointer;
    color: var(--text-muted);
}

/* Topbar-Start */

.topbar {
    background-color: var(--pc);
    color: var(--white);
    padding: 10px;
    font-weight: 500;
    font-size: 16px;
}

/* ------------------------Header-start-**********----------------- */

header {
    background: var(--white);
    transition: all 0.3s ease-in-out;
}

header li a {
    color: var(--black);
}

:is(header, footer) li a:hover,
nav ul li .active,
:is(.footer-info, .copyright) a:hover {
    color: var(--sc);
}

nav ul li .active {
    font-weight: 600;
}

.dropdown ul {
    background: var(--white);
    border: 1px solid var(--border-color);
}

.sticky-header {
    transition: all 0.7s ease;
    background: var(--white) !important;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
    transform: translateY(0);
    animation: smoothSticky 0.7s ease;
}

@keyframes smoothSticky {
    0% {
        transform: translateY(-100%);
    }

    100% {
        transform: translateY(0);
    }
}

/* ------------------------Homepage-Hero-start-**********----------------- */

.homepage-hero h1 {
    font-size: 4rem;
}

.homepage-hero .hero-content {
    transition: all .5s ease-in-out;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
}

.homepage-hero .swiper-slide-active .hero-content {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%);
}

.homepage-hero .hero-content span {
    color: var(--sc);
}

.homepage-hero .hero-content .flex-pair .animate-pulse {
    height: 55px;
    width: 55px;
    border-radius: var(--rad-lg);
    --box-shadow-color: var(--sc);
    background-color: var(--box-shadow-color);
}

/* header-marquee */

.moving-wrapper:hover .moving-track {
    animation-play-state: paused
}

.moving-item {
    color: var(--sc);
    text-decoration: none;
}

@keyframes scroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}


/* category-cards */

.course-card {
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(240, 242, 255) 100%);
    border: 1px solid var(--border-color);
    border-radius: var(--rad-sm);
    padding: 20px;
    transition: all 0.3s ease-in-out;
    color: var(--black);
    border-bottom: 5px solid var(--border-color);
}

.course-card:hover {
    transform: translateY(-10px);
    border-bottom: 5px solid var(--pc);
}

.course-card span {
    border-radius: var(--rad-lg);
    background: var(--white);
    box-shadow: -6px 1px 4px 0 rgb(0 0 0 / 4%);
    border: 1px solid var(--border-color);
    border-left: 0;
}

/* heading-seprator */

.heading-seprator h2 span {
    color: var(--sc);
}

.heading-seprator .sub-ttl {
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--rad-md);
    padding: 10px 20px 10px 35px;
    line-height: 1;
    position: relative;
    color: #707070;
    margin-left: 15px;
}

.heading-seprator .sub-ttl:after,
.heading-seprator .sub-ttl:before {
    transform: translateY(-50%);
    top: 50%;
    content: '';
    position: absolute;
}

.heading-seprator .sub-ttl:after {
    height: 40px;
    width: 40px;
    background: var(--pc);
    border-radius: var(--rad-lg);
    left: -15px;
}

.heading-seprator .sub-ttl:before {
    height: 20px;
    width: 20px;
    background: url('data:image/svg+xml,<svg width="20" height="20" viewBox="-0.5 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 19.045V8.795m-9.5 9.26V4.105c0-.34.33-.58.65-.48l8.7 2.75q.15.045.3 0l8.7-2.75c.32-.1.65.14.65.48v13.95c0 .22-.14.41-.35.48l-9 2.84q-.15.045-.3 0l-9-2.84a.51.51 0 0 1-.35-.48m2.38-10.89 4.75 1.5m-4.75 1.5 3.23 1.02m-3.23 1.98 2.05.65m-2.05 2.35 4.75 1.5m9.5-10.5-4.75 1.5m3.42 1.92-3.42 1.08m2.69 2.15-2.69.85m4.75 1.5-2.15.68" stroke="%23fff" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat;
    left: -5px;
    z-index: 999;
}

.light-seprator :is(h2, p) {
    color: var(--white);
}

.light-seprator h2 span {
    color: rgb(255 200 200);
}

.light-seprator .sub-ttl:after {
    background-color: var(--sc);
}

/* main courses card */

.course-content-card {
    background-color: var(--white);
    overflow: hidden;
    border-radius: var(--rad-sm);
    border: 1px solid var(--border-color);
}

.course-content-card .course-content .card-title {
    color: var(--black);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    font-family: var(--heading-font);
}

.course-content-card .course-content .card-title:hover {
    color: var(--sc);
}

.course-content-card .course-content .category {
    background: rgb(237 10 10 / 16%);
    color: var(--sc);
    border-radius: 90px;
    padding: 5px 20px;
    margin-bottom: 5px;
}

/* form-container */

.form-wrapper {
    background: linear-gradient(90deg, rgb(255, 255, 255) -60%, rgb(249 249 249) 100%);
    border: 1px solid rgb(219 219 219 / 31%);
    border-left: 0;
    border-radius: 0 var(--rad-sm) var(--rad-sm) 0;
}

.all-page .form-wrapper {
    border: 1px solid var(--border-color);
    border-radius: var(--rad-sm);
}

.form-wrapper .form-ttl {
    font-size: 50px;
    line-height: 75px;
    font-weight: 600;
    font-family: var(--heading-font);
    background: linear-gradient(110deg, #224581 6.59%, #264680 54.63%, #0f3474 50%);
    -webkit-background-clip: text;
}

/*  ribbon-cards */

.ribbon-card {
    border: 1px solid var(--border-color);
    background: #fcfcfc;
    border-radius: 20px;
}

.ribbon-card .ribbon-strip {
    color: var(--white);
    border-radius: 0 0 20px 20px;
}

.ribbon-card .ribbon-strip::before {
    left: -30px;
}

.ribbon-card .ribbon-strip::before,
.ribbon-card .ribbon-strip::after {
    content: '';
    position: absolute;
    top: -1px;
    width: 32px;
    height: 29px;
    background: var(--ribbon-svg) no-repeat center / contain;
}

.ribbon-card .ribbon-strip::after {
    transform: scale(-1, 1);
    right: -30px;
}

/* cta-container */

.cta-wrapper {
    padding: 50px;
    border-radius: var(--rad-sm);
    background: linear-gradient(90deg, #0d0421 0%, #12062b 35%, #14072e 75%, rgba(20, 7, 46, .95) 78%, rgba(20, 7, 46, .75) 88%, rgba(20, 7, 46, .35) 96%, rgba(20, 7, 46, 0) 100%), url("https://png.pngtree.com/thumb_back/fh260/background/20230704/pngtree-stack-of-law-books-with-courtroom-scales-image_3721829.jpg") no-repeat center right / contain;
}

.all-page .cta-wrapper {
    padding: 30px !important;
}

.cta-wrapper .flex-cta h2 {
    color: var(--white);
}

.cta-wrapper .flex-cta h2 span {
    color: var(--sc);
}

.cta-wrapper .flex-icon {
    height: 90px;
    width: 90px;
    background-color: var(--white);
    border-radius: var(--rad-lg);
    outline: 3px solid #f5f5f5;
    outline-offset: 5px;
}

.cta-texture:after,
.cta-texture:before {
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="349" height="362" viewBox="0 0 349 362" fill="none"><path d="M180.549 361.098C131.131 361.098 87.7483 343.947 52.4496 308.649C17.1509 273.35 -5.68834e-06 230.978 -7.89265e-06 180.549C-1.00528e-05 131.131 17.1509 87.7484 52.4496 52.4497C87.7483 17.151 130.12 3.24852e-07 180.549 -1.87945e-06C215.848 -3.42241e-06 249.139 10.0912 279.399 29.2494C309.659 48.4077 330.838 73.6289 344.958 105.91L247.118 105.91C227.96 88.7589 205.77 79.6781 180.549 79.6781C153.321 79.6781 129.11 89.7693 109.938 108.928C90.7661 128.086 80.6886 152.297 80.6886 179.539C80.6886 206.781 90.7798 230.978 109.938 250.15C129.096 269.322 153.307 279.399 180.549 279.399C210.809 279.399 236.03 268.297 256.199 245.111L349 245.111C335.891 279.399 313.701 306.641 283.441 328.831C252.171 350.01 218.893 361.112 180.563 361.112" fill="%23ed0a0a" fill-opacity="0.1"/></svg>') no-repeat center center / contain;
    z-index: -1;
    opacity: 0.4;
}

.cta-texture:before {
    height: 290px;
    width: 340px;
    left: -120px;
    top: -40px;
}

.cta-texture:after {
    height: 70px;
    width: 70px;
    right: -30px;
    bottom: -40px;
    transform: rotate(-120deg);
}

/* site-accordians */

details summary {
    padding: 12px 20px;
    background: #f5f5f5;
    list-style: none;
    font-weight: 500;
    font-size: 16px;
    border: 1px solid var(--border-color);
    line-height: 1.7;
    cursor: pointer;
}

details[open] summary {
    background-color: var(--pc);
    color: var(--white);
}

details .content {
    position: relative;
    background: #eeeeee3b;
    border-right: 1px solid var(--border-color);
    padding: 15px 20px;
}

details .content:after,
details .content:before {
    content: '';
    position: absolute;
    background-color: var(--sc);
    left: 0;
    bottom: 0;
}

details .content:after {
    height: 100%;
    width: 2px;
}

details .content::before {
    height: 2px;
    width: 100%;
}


/* footer - start */

footer {
    padding-block: 50px 30px;
    background: transparent linear-gradient(120deg, #000 0, #03202e 100%) 0 0 no-repeat padding-box;
}

footer .menu-wrap .menu-ttl {
    color: var(--white);
    font-size: var(--fs-1);
    font-weight: 600;
    font-family: var(--heading-font);
}

footer img {
    filter: brightness(0) invert(1);
}

:is(footer, .footer-info, .copyright) :is(a, strong, p) {
    color: #e2e2e2;
}

.flex-social li a {
    fill: var(--pc);
    background-color: var(--white);
    border: 1px solid var(--white);
    border-radius: 50%;
    align-items: center;
    display: flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.flex-social li a:hover {
    background-color: var(--pc);
    fill: var(--white);
}

.footer-info {
    background-color: var(--black);
    padding-block: 40px;
}


.footer-info .flex-icon span {
    height: 50px;
    width: 50px;
    background: var(--white);
    border-bottom: 2px solid var(--sc);
    border-radius: var(--rad-lg);
}

.copyright {
    background: transparent linear-gradient(120deg, #000 0, #03202e 100%) 0 0 no-repeat padding-box;
    padding: 10px;
}

.copyright p {
    font-size: 14px;
}

/* useful objects for site  */

#backToTop {
    background: var(--pc);
    border-radius: var(--rad-lg);
    cursor: pointer;
}

.whatsapp-text {
    background-color: #f1f1f1;
    color: #000;
    padding: 10px 14px;
    font-size: 16px;
    margin-right: 8px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
    text-decoration: none;
    border-radius: 50px;
    border: 1px solid #cccccc5c;
}

.whatsapp-icon {
    background-color: #25d366;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s;
}

@keyframes floatUpDown {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-6px);
    }
}

/* single page css also table*/

.flex-wrap-breadcurmbs a {
    position: relative;
}

.flex-wrap-breadcurmbs a:after {
    content: ' » ';
    position: absolute;
    font-size: 20px;
    color: #4b4949;
    right: -25px;
    line-height: 1;
    top: 0;
}

.all-page ul li {
    list-style: disc;
}

.all-page ol li {
    list-style: decimal;
}

.all-page .table-responsive table th {
    background: var(--pc);
    color: var(--white);
}

.all-page .table-responsive table tr:nth-child(even) {
    background: #fafafa;
}

.all-page .table-responsive table tr:hover {
    background: #f1f1f1;
}

.sub-caption {
    margin-top: 15px;
    font-size: 14px;
}

main .course-details h1 {
    background: linear-gradient(90deg, #195dfa 0%, #e42527 50%, #195dfa 100%);
    -webkit-text-fill-color: transparent;
    background-clip: text;
}


/* notify-scrolleer */

.notification-card {
    background: var(--white);
    border-radius: 8px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, .08);
}

.notification-card .card-title {
    padding-block: 18px;
    text-align: center;
    background: #1b212c;
    color: var(--white);
    font-size: 18px;
    font-weight: var(--bold);
}

.notification-card .ticker-list {
    animation: scrollUp 18s linear infinite;
}

.notification-card .ticker-wrap:hover .ticker-list {
    animation-play-state: paused;
}

.notification-card .ticker-list li {
    border-bottom: 1px solid #ececec;
}

.notification-card .ticker-list li a {
    color: var(--text-muted);
    font-size: var(--fs-2);
    font-weight: 500;
    line-height: 1.6;
    transition: .3s;
}

.notification-card .ticker-list li a:hover {
    color: var(--sc);
}

.notification-card .blog {
    background-color: var(--sc);
}

.notification-card .exam {
    background-color: var(--pc);
}

@keyframes scrollUp {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-50%);
    }
}