.slider,
img {
    width: 100%
}

.fun-facts,
.slider,
.star-card h6,
.vm-card ul li {
    position: relative
}

.choose-card-premium,
.course-hero,
.fee-table,
.fun-facts,
.shining-stars,
.slider {
    overflow: hidden
}

.choose-card-premium,
.cta-section,
.page-header,
.practice-zone,
.star-card,
.stat-box {
    text-align: center
}

.nav-dot,
.result-tab,
.slider-arrow,
.year-btn {
    cursor: pointer
}

.download-btn,
.exam-tab,
.main-button,
.mentor-btn {
    text-decoration: none
}

#chat-header,
#chat-toggle {
    background: linear-gradient(135deg, #085255, #0f3f42)
}

.slide-track {
    display: flex;
    width: calc(250px * 14);
    animation: 40s linear infinite scroll
}

.star-card {
    width: 180px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    padding: 15px;
    margin: 0 15px;
    transition: .3s ease-in-out;
    flex-shrink: 0
}

.star-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 10px;
    transition: transform .3s
}

.zoom:hover img {
    transform: scale(1.3)
}

.star-card h6 {
    color: #085255;
    margin-top: 10px;
    transition: color .3s
}

.star-card:hover h6 {
    transform: scale(1.05);
    color: #085255
}

.star-card h6::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 0;
    height: 2px;
    background-color: #085255;
    transition: .3s;
    transform: translateX(-50%)
}

.star-card:hover h6::after {
    width: 60%
}

.star-card p {
    margin: 0;
    color: #6c757d
}

@keyframes scroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}

::selection {
    background: #085255;
    color: #fff
}

.accordion-button:not(.collapsed),
.feature-box:hover h5,
.feature-box:hover p,
.main-button a:hover,
.mentorr-box p {
    color: #fff
}

.icon-box {
    display: flex;
    align-items: center;
    justify-content: center
}

.fun-facts {
    padding: 80px 0;
    background-color: #085255
}

.fun-facts .counter,
.result-header {
    text-align: center;
    margin-bottom: 40px
}

.fun-facts h2 {
    color: #fff;
    font-size: 48px;
    font-weight: 700
}

.fun-facts p {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    margin-top: 15px
}

.course-image-section,
.vision-mission {
    padding: 80px 0;
    background-color: #f9f9f9
}

.vm-card {
    background: #fff;
    border-radius: 25px;
    padding: 50px 40px;
    height: 100%;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .05)
}

.vm-card h3 {
    color: #085255;
    font-size: 28px;
    margin-bottom: 25px
}

.doc-list,
.exam-pane ul,
.vm-card ul {
    list-style: none;
    padding: 0
}

.vm-card ul li {
    padding: 10px 0 10px 30px;
    color: #4a4a4a;
    line-height: 28px
}

.vm-card ul li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #085255;
    font-weight: 700;
    font-size: 18px
}

.mentorship-section {
    background: #fff;
    padding: 80px 0
}

.mentorship-section .section-heading p {
    color: #4a4a4a;
    max-width: 700px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 28px
}

.director-photo {
    width: 250px;
    height: 250px;
    object-fit: cover;
    border-radius: 50%;
    border: 5px solid #085255
}

.social-icons {
    display: flex;
    gap: 15px
}

.social-link {
    display: flex;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #085255;
    color: #fff;
    font-size: 18px;
    transition: .3s
}

#chat-options button,
.mentor-btn {
    background: linear-gradient(135deg, var(--accent), var(--brand))
}

.social-link:hover {
    background: #0d3c40;
    transform: translateY(-3px)
}

.mentor-btn {
    display: inline-block;
    padding: 14px 30px;
    color: #fff;
    border-radius: 30px;
    font-weight: 600;
    box-shadow: 0 10px 20px var(--shadow);
    transition: transform .3s
}

.mentor-btn:hover {
    background: linear-gradient(135deg, var(--brand), var(--accent));
    color: #e5fedd;
    transform: translateY(-3px)
}

.why-choose-us-premium {
    position: relative;
    background: #f9f9f9;
    padding: 120px 0 60px;
    overflow: hidden
}

.wave-bottom,
.wave-top {
    position: absolute;
    width: 100%;
    height: 80px;
    left: 0;
    background: #085255;
    border-radius: 50%/100%;
    z-index: 0
}

.wave-top {
    top: -40px
}

.wave-bottom {
    bottom: -40px;
    transform: rotate(180deg)
}

.choose-card-premium {
    background: #fff;
    border-radius: 40px;
    padding: 50px 30px 40px;
    transition: transform .5s, box-shadow .5s;
    position: relative
}

.choose-card-premium::before {
    content: "";
    position: absolute;
    width: 200%;
    height: 200%;
    background: #08525533;
    border-radius: 50%;
    top: -50%;
    left: -50%;
    transition: transform .5s
}

.choose-card-premium:hover::before {
    transform: scale(1.2)
}

.choose-card-premium:hover {
    transform: translateY(-15px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .15)
}

.choose-icon-premium {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #085255;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px;
    font-size: 38px;
    position: relative;
    z-index: 1
}

.choose-card-premium h4 {
    color: #085255;
    font-size: 24px;
    margin-bottom: 15px;
    position: relative;
    z-index: 1
}

.choose-card-premium p {
    font-size: 14px;
    line-height: 26px;
    color: #4a4a4a;
    position: relative;
    z-index: 1
}

.choose-rating-premium {
    margin-top: 20px;
    font-size: 18px;
    color: #fb0;
    position: relative;
    z-index: 1
}

.about-content,
.admission-content,
.faculty-section,
.page-header,
.program-highlights,
.results-section,
.testimonials-content {
    padding: 80px 0
}

.page-header {
    background: linear-gradient(135deg, #085255 0, #1a6d75 100%)
}

.page-header h1 {
    color: #fff;
    font-size: 48px;
    margin-bottom: 20px
}

.page-header p {
    color: rgba(255, 255, 255, .9);
    font-size: 18px;
    max-width: 600px;
    margin: 0 auto
}

.step-box {
    background-color: #f1f0fe;
    border-radius: 25px;
    padding: 30px;
    margin-bottom: 30px;
    border-left: 5px solid #085255;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .05)
}

.fee-table,
.form-card,
.map-card,
.overview-card,
.post-card,
.sidebar-card {
    box-shadow: 0 5px 20px rgba(0, 0, 0, .05)
}

.overview-card h4,
.step-box h4 {
    color: #085255;
    font-size: 22px;
    margin-bottom: 15px
}

.fee-table th,
.step-number {
    background-color: #085255;
    color: #fff;
    font-weight: 600
}

.step-number {
    display: inline-flex;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    margin-right: 10px
}

.fee-table {
    background-color: #fff;
    border-radius: 18px
}

.feature-box,
.main-button a {
    border-radius: 25px;
    transition: .3s
}

.fee-table td,
.fee-table th {
    vertical-align: middle;
    padding: 14px 16px
}

.fee-table tr:nth-child(2n) {
    background-color: #f9f9f9
}

.doc-list li {
    padding: 8px 0 8px 25px;
    position: relative;
    color: #4a4a4a
}

.doc-list li:before {
    content: "📄";
    position: absolute;
    left: 0
}

@media (max-width:991px) {
    .header-area .main-nav ul.nav {
        display: none
    }

    .vision-mission {
        padding: 60px 0;
        background-color: #f9f9f9
    }

    .fun-facts p {
        color: #fff;
        font-size: 15px;
        font-weight: 500;
        margin-bottom: 15px
    }

    .menu-trigger {
        display: block !important;
        cursor: pointer;
        position: absolute;
        top: 20px;
        right: 20px;
        width: 32px;
        height: 40px
    }

    .menu-trigger span {
        display: block;
        background: #fff;
        width: 30px;
        height: 2px;
        position: relative;
        top: 16px
    }

    .menu-trigger span:after,
    .menu-trigger span:before {
        content: "";
        display: block;
        background: #fff;
        width: 30px;
        height: 2px;
        position: absolute
    }

    .menu-trigger span:before {
        top: -10px
    }

    .menu-trigger span:after {
        top: 10px
    }

    .choose-card-premium {
        padding: 35px 20px 25px
    }
}

.main-button a {
    display: inline-block;
    background-color: #085255;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    height: 50px;
    line-height: 50px;
    padding: 0 35px
}

.category-badge,
.contact-cta a,
.main-button,
.read-more,
.tag {
    font-weight: 600
}

.main-button a:hover {
    background-color: #1a6d75;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(21, 83, 89, .3)
}

.menu-trigger,
.result-content {
    display: none
}

.course-hero {
    background: radial-gradient(circle at 20% 30%, #e8fff5 0, #fff 80%);
    padding: 80px 0 80px;
    position: relative
}

.course-hero::before {
    content: "";
    background: url("<?= base_url('assets/images/NEET banner.jpg') ?>") center/cover no-repeat;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    opacity: .1
}

.course-hero h1 {
    color: #085255;
    font-size: 48px;
    margin-bottom: 20px;
    line-height: 60px
}

.course-hero h1 em {
    color: gold;
    font-style: normal
}

.course-hero p {
    color: #085255;
    font-size: 18px;
    line-height: 32px;
    margin-bottom: 30px
}

.feature-box {
    background-color: #d7f0e7;
    padding: 35px 30px;
    height: 100%;
    display: flex;
    align-items: start;
    gap: 20px
}

.feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff
}

.feature-icon:hover {
    background-color: #fff
}

.category-list a:hover,
.culture-list h5,
.feature-box:hover .feature-icon i,
.form-control-underline:focus+.form-icon,
.post-title a:hover,
.value-card-modern:hover h5 {
    color: #085255
}

.notes-section ul li {
    padding: 0 0 5px 30px;
    position: relative;
    color: #4a4a4a;
    line-height: 26px;
    font-size: 14px
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

.blog-content {
    padding: 80px 0
}

.post-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform .2s, box-shadow .2s
}

.hover14 figure,
.post-thumb {
    position: relative;
    overflow: hidden
}

.post-thumb img {
    transition: transform .4s
}

.category-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: #085255;
    color: #fff;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px
}

.post-content {
    padding: 18px 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.post-title {
    font-size: 20px;
    line-height: 1.3;
    color: #1e1e1e
}

.post-title a {
    color: inherit
}

.post-excerpt {
    color: #555;
    margin-bottom: 6px
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 12px;
    color: #777
}

.post-meta i {
    color: #085255;
    margin-right: 6px
}

.read-more {
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #085255;
    text-decoration: underline
}

.read-more:hover {
    color: #1a6d75
}

.sidebar-card {
    background: #fff;
    border-radius: 20px;
    padding: 24px;
    margin-bottom: 22px
}

.sidebar-card h5 {
    color: #085255;
    margin-bottom: 16px
}

.search-input .form-control {
    border-radius: 12px 0 0 12px;
    border: 1px solid #e5e5e5;
    padding: 10px 14px
}

.search-input .btn {
    border-radius: 0 12px 12px 0;
    background: #085255;
    color: #fff;
    border: none;
    padding: 10px 14px
}

.search-input .btn:hover {
    background: #1a6d75
}

.category-list,
.popular-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0
}

.category-list li,
.popular-list li {
    padding: 8px 0;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.category-list a {
    color: #1e1e1e
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.tag {
    display: inline-block;
    background: #f1f0fe;
    color: #085255;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px
}

.contact-cta a:hover,
.pagination .page-item.active .page-link,
.tag:hover {
    background: #085255;
    color: #fff
}

.newsletter .form-control {
    border-radius: 12px
}

.pagination .page-link {
    color: #085255;
    border: none;
    border-radius: 10px;
    margin: 0 4px
}

.pagination .page-link:hover {
    background: #f1f0fe;
    color: #085255
}

.practice-zone {
    padding: 100px 15px;
    color: #fff;
    position: relative
}

.practice-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

.practice-item {
    background: #085255;
    border-radius: 15px;
    padding: 30px 20px;
    transition: .3s
}

.practice-item:hover {
    transform: translateY(-10px);
    background: #1a6d75
}

.practice-item h4 {
    color: #fff;
    margin-bottom: 12px;
    font-weight: 600
}

.practice-item p {
    color: #e0f7f7;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 22px
}

.main-button {
    display: block;
    width: max-content;
    margin: 0 auto;
    background: #fff;
    color: #085255 !important;
    border-radius: 30px;
    transition: .3s
}

.main-button:hover {
    background: #085255;
    color: #fff !important;
    transform: translateY(-2px)
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(30px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.animate-fade-up {
    opacity: 0;
    animation: 1s forwards fadeUp
}

@keyframes float {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-8px)
    }
}

.animate-float {
    animation: 4s ease-in-out infinite float, 1s forwards fadeUp
}

@media (max-width:767px) {

    .wave-bottom,
    .wave-top {
        display: none
    }

    .why-choose-us-premium {
        padding: 80px 0 40px
    }

    .why-choose-us {
        padding-top: 30px;
        padding-bottom: 0
    }

    .why-choose-us .row.align-items-center {
        margin-top: 0
    }

    .why-choose-us .row.gy-4 {
        --bs-gutter-y: .75rem;
        margin-top: 0
    }

    .why-card {
        padding: 1.2rem 1rem !important;
        min-height: auto
    }

    .why-card p {
        font-size: .9rem;
        line-height: 1.5
    }

    .highlights-table td,
    .highlights-table th {
        padding: 15px 20px;
        font-size: 13px
    }

    .course-hero {
        background: radial-gradient(circle at 20% 30%, #e8fff5 0, #fff 80%);
        padding: 60px 0;
        position: relative;
        overflow: hidden
    }

    .highlights-table {
        overflow-x: auto
    }

    .feature-box {
        flex-direction: column;
        text-align: center;
        align-items: center
    }

    .cta-section h2,
    .page-header h1 {
        font-size: 32px
    }

    .section-heading h2 {
        font-size: 28px
    }

    .practice-item {
        padding: 25px 15px
    }

    .practice-item p {
        font-size: 13px;
        line-height: 20px
    }

    .main-button {
        padding: 8px 20px;
        font-size: 14px
    }
}

.about-box {
    background-color: #cce5dc;
    border-radius: 25px;
    padding: 40px;
    margin-bottom: 30px;
    transition: .3s;
    height: 100%
}

.about-box:hover,
.faculty-card:hover,
.gallery-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .1)
}

.about-box h4,
.qualified-info h4 {
    color: #085255;
    font-size: 24px;
    margin-bottom: 15px
}

.about-box p,
.testimonial-card .author-role,
.testimonial-card .star-rating {
    margin-bottom: 0
}

.icon-box {
    width: 80px;
    height: 80px;
    background-color: #085255;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px
}

.icon-box i,
.overview-card .icon i {
    font-size: 32px;
    color: #fff
}

.form-card,
.map-card {
    background: #fff;
    border-radius: 25px;
    padding: 30px 25px;
    height: 100%
}

.form-card h3 {
    font-size: 26px
}

.form-card p.lead {
    font-size: 14px;
    color: #666;
    margin-bottom: 25px
}

.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
    border-color: #085255;
    box-shadow: 0 0 0 .2rem rgba(21, 83, 89, .1)
}

#chat-close,
.accordion-button:focus {
    box-shadow: none
}

.map-card iframe {
    width: 100%;
    height: 380px;
    border: 0;
    border-radius: 18px
}

.contact-cta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 20px;
    background: rgba(21, 83, 89, .1);
    color: #085255;
    transition: .2s
}

.accordion-button:not(.collapsed) {
    background-color: #f1f0fe
}

@media (max-width:991px) {
    .course-hero h1 {
        font-size: 36px;
        line-height: 48px
    }

    .highlights-table td:first-child {
        width: 45%
    }

    .practice-zone {
        padding: 80px 15px
    }

    .header-area .main-nav ul.nav {
        display: none
    }

    .menu-trigger {
        display: block !important;
        cursor: pointer;
        position: absolute;
        top: 20px;
        right: 20px;
        width: 32px;
        height: 40px
    }

    .menu-trigger span {
        display: block;
        background: #fff;
        width: 30px;
        height: 2px;
        position: relative;
        top: 16px
    }

    .menu-trigger span:after,
    .menu-trigger span:before {
        content: "";
        display: block;
        background: #fff;
        width: 30px;
        height: 2px;
        position: absolute
    }

    .menu-trigger span:before {
        top: -10px
    }

    .menu-trigger span:after {
        top: 10px
    }
}

.course-hero-content {
    position: relative;
    z-index: 2
}

.course-badge {
    display: inline-block;
    background-color: rgba(255, 255, 255, .2);
    color: #fff;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 20px
}

.course-overview {
    background-color: #f9f9f9;
    padding: 80px 0
}

.overview-card {
    background: #fff;
    border-radius: 25px;
    padding: 40px;
    height: 100%;
    transition: .3s
}

.overview-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, .1)
}

.culture-card:hover,
.feature-box:hover,
.feature-item:hover,
.resource-card:hover {
    transform: translateY(-5px)
}

.overview-card .icon {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #085255 0, #1a6d75 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px
}

.overview-card p {
    margin: 0;
    line-height: 26px
}

.highlights-table {
    background-color: #f1f0fe;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 5px 30px rgba(0, 0, 0, .08)
}

.highlights-table table {
    width: 100%;
    margin: 0
}

.highlights-table th {
    background-color: #085255;
    color: #fff;
    padding: 20px 30px;
    font-size: 16px;
    font-weight: 600;
    text-align: left;
    border: none
}

.highlights-table td {
    padding: 20px 30px;
    border-bottom: 1px solid rgba(21, 83, 89, .1);
    font-size: 15px;
    color: #4a4a4a
}

.highlights-table tr:last-child td {
    border-bottom: none
}

.highlights-table tr:hover {
    background-color: rgba(255, 255, 255, .5)
}

.highlights-table td:first-child {
    font-weight: 600;
    color: #085255;
    width: 35%
}

.features-section {
    padding: 80px 0;
    background-color: #fff
}

.feature-box:hover {
    background-color: #085255;
    box-shadow: 0 10px 30px rgba(21, 83, 89, .2)
}

.feature-box:hover .feature-icon {
    background-color: #fff;
    color: #085255
}

.feature-icon {
    width: 60px;
    height: 60px;
    background-color: #085255;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: .3s
}

.feature-icon i,
.stat-box .icon i {
    font-size: 24px;
    color: #fff
}

.feature-content h5 {
    color: #085255;
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: 600;
    transition: .3s
}

.feature-content p {
    margin: 0;
    font-size: 14px;
    line-height: 24px;
    transition: .3s
}

.course-image-wrapper {
    position: relative;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 15px 50px rgba(0, 0, 0, .15)
}

.form-card,
.resource-card {
    box-shadow: 0 5px 20px rgba(0, 0, 0, .05)
}

.course-image-wrapper img {
    width: 100%;
    display: block;
    transition: .5s
}

.alumni-card-3:hover .alumni-photo-3 img,
.course-image-wrapper:hover img,
.culture-card:hover .culture-img {
    transform: scale(1.05)
}

.cta-section {
    background: linear-gradient(135deg, #085255 0, #1a6d75 100%);
    padding: 80px 0;
    color: #fff
}

.cta-section h2 {
    color: #fff;
    font-size: 42px;
    margin-bottom: 20px
}

.cta-section p {
    color: rgba(255, 255, 255, .9);
    font-size: 18px;
    margin-bottom: 40px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto
}

.cta-section .main-button a {
    background-color: #fff;
    color: #085255;
    font-size: 16px;
    height: 55px;
    line-height: 55px;
    padding: 0 45px
}

.cta-section .main-button a:hover {
    background-color: gold;
    color: #085255
}

.notes-section {
    background-color: #fff5e6;
    border-left: 5px solid #085255;
    padding: 30px;
    border-radius: 15px;
    margin-top: 40px
}

.notes-section h5 {
    color: #085255;
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 600
}

.notes-section ul {
    list-style: none;
    padding: 0;
    margin: 0
}

.form-card h3,
.resource-card h5 {
    color: #085255;
    margin-bottom: 15px
}

.notes-section ul li:before {
    content: "•";
    position: absolute;
    left: 10px;
    color: #085255;
    font-weight: 700;
    font-size: 20px
}

.resource-card {
    background: #fff;
    border-radius: 20px;
    padding: 25px;
    transition: .3s;
    height: 100%
}

.resource-card h5 {
    font-weight: 600
}

.resource-card p {
    font-size: 14px
}

.btn-theme {
    background-color: #085255;
    color: #fff;
    border-radius: 25px;
    padding: 12px 24px;
    border: none;
    font-weight: 600;
    transition: .2s
}

.btn-theme:hover {
    color: #fff;
    background-color: #1a6d75;
    transform: translateY(-1px)
}

.form-card {
    background: #fff;
    padding: 30px;
    border-radius: 25px
}

.faculty-card,
.gallery-card {
    box-shadow: 0 5px 15px rgba(0, 0, 0, .05);
    transition: .3s
}

.form-control,
.form-select,
textarea.form-control {
    border-radius: 12px;
    border: 1px solid #e5e5e5;
    padding: 10px 14px
}

.form-control:focus {
    box-shadow: 0 0 0 .2rem rgba(21, 83, 89, .1)
}

.result-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 60px
}

.result-tab {
    background-color: #f1f0fe;
    border: none;
    padding: 15px 30px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    color: #1e1e1e;
    transition: .3s
}

.result-tab.active,
.result-tab:hover {
    background-color: #085255;
    color: #fff;
    transform: translateY(-3px)
}

.result-content.active {
    display: block;
    animation: .5s fadeIn
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.year-selector {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-wrap: wrap
}

.year-btn {
    background-color: #fff;
    border: 2px solid #085255;
    padding: 10px 25px;
    border-radius: 20px;
    font-size: 15px;
    font-weight: 500;
    color: #085255;
    transition: .3s
}

.year-btn.active,
.year-btn:hover {
    background-color: #085255;
    color: #fff
}

.result-card {
    background-color: #085255;
    border-radius: 25px;
    padding: 40px;
    display: none
}

.result-card.active {
    display: block;
    animation: .4s slideIn
}

@keyframes slideIn {
    from {
        transform: translateX(-20px);
        opacity: 0;
        transform: translateY(10px)
    }

    to {
        transform: translateX(0);
        opacity: 1;
        transform: translateY(0)
    }
}

.result-header h3 {
    font-size: 32px;
    color: #085255;
    margin-bottom: 20px
}

.result-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    margin-top: 30px
}

.stat-box {
    background-color: #fff;
    border-radius: 20px;
    padding: 30px;
    transition: .3s;
    border: 2px solid transparent
}

.achievement-highlight,
.qualified-info {
    border-radius: 20px;
    margin-bottom: 30px;
    text-align: center
}

.stat-box:hover {
    transform: translateY(-5px);
    border-color: #085255;
    box-shadow: 0 10px 30px rgba(21, 83, 89, .1)
}

.stat-box .icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #085255 0, #1a6d75 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px
}

.stat-box h4 {
    font-size: 28px;
    color: #085255;
    margin-bottom: 10px
}

.stat-box p {
    font-size: 14px;
    color: #4a4a4a;
    margin: 0;
    line-height: 22px
}

.culture-list p,
.mentor-box p {
    line-height: 1.6
}

.qualified-info {
    background-color: #fff;
    padding: 25px
}

.qualified-info .numbers {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap
}

.qualified-info .numbers span {
    font-size: 16px;
    color: #4a4a4a
}

.qualified-info .numbers strong {
    color: #085255;
    font-size: 20px
}

.achievement-highlight {
    background: linear-gradient(135deg, #085255 0, #1a6d75 100%);
    padding: 30px;
    color: #fff
}

.achievement-highlight h4 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 15px
}

.achievement-highlight p {
    color: rgba(255, 255, 255, .9);
    font-size: 16px;
    margin: 0
}

.faculty-card {
    background: #fff;
    border-radius: 25px;
    padding: 30px;
    margin-bottom: 30px
}

.faculty-img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 20px;
    border: 5px solid #085255
}

.faculty-name {
    color: #085255;
    font-size: 22px;
    margin-bottom: 10px;
    text-align: center
}

.faculty-position {
    color: #4a4a4a;
    font-size: 16px;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 500
}

.faculty-description {
    text-align: center;
    margin-top: 20px
}

.faculty-qualification {
    color: #085255;
    font-weight: 600;
    margin-bottom: 10px
}

.faculty-experience {
    color: #4a4a4a;
    margin-bottom: 15px
}

.faculty-subjects {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px
}

.subject-tag {
    background-color: #f1f0fe;
    color: #085255;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500
}

.gallery-section {
    padding: 80px 0;
    background-color: #f8f9fa
}

.gallery-card {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    height: 100%
}

.image-slider {
    position: relative;
    height: 250px;
    overflow: hidden
}

.slider-container {
    display: flex;
    transition: transform .5s;
    height: 100%
}

.hover-title,
.nav-dot,
.slider-arrow,
.view-all-btn,
.why-card {
    transition: .3s
}

.slider-image {
    min-width: 100%;
    height: 100%;
    object-fit: cover
}

.slider-nav {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10
}

.nav-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .5)
}

.nav-dot.active {
    background-color: #fff;
    width: 25px;
    border-radius: 5px
}

.slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(21, 83, 89, .7);
    color: #fff;
    border: none;
    padding: 10px 15px;
    font-size: 18px;
    z-index: 10
}

.slider-arrow:hover {
    background-color: rgba(21, 83, 89, .9)
}

.slider-arrow.prev {
    left: 10px
}

.slider-arrow.next {
    right: 10px
}

.gallery-card .card-body {
    padding: 20px;
    text-align: center
}

.gallery-card .card-title {
    color: #085255;
    font-weight: 600;
    margin: 0;
    font-size: 16px
}

.view-all-btn {
    background-color: #085255;
    color: #fff;
    padding: 8px 20px;
    border-radius: 20px;
    font-size: 13px;
    margin-top: 10px;
    display: inline-block
}

.view-all-btn:hover {
    background-color: #1a6d75;
    color: #fff;
    transform: translateY(-2px)
}

.testimonial-card {
    background: #f1f0fe;
    border-radius: 25px;
    padding: 15px 30px 30px;
    margin-bottom: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
    position: relative;
    min-height: 220px
}

.testimonial-card .quote {
    color: #085255;
    font-size: 32px;
    position: absolute;
    top: 20px;
    left: 25px;
    opacity: .2
}

.testimonial-card .testimonial-text {
    font-size: 16px;
    color: #333;
    margin-bottom: 20px
}

.testimonial-card .testimonial-author {
    display: flex;
    align-items: center;
    gap: 15px
}

.testimonial-card .author-img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 8px rgba(21, 83, 89, .08);
    background: #fff
}

.testimonial-card .author-name {
    font-weight: 600;
    color: #085255;
    font-size: 16px
}

.testimonial-card .author-role {
    font-size: 13px;
    color: #666
}

.testimonial-card .star-rating {
    color: #f7b731;
    font-size: 16px
}

.testimonial-card .batch {
    font-size: 13px;
    color: #888;
    margin-top: 2px;
    margin-bottom: 0
}

.testimonial-card .fa-quote-left {
    font-size: 28px;
    color: #085255;
    opacity: .18;
    position: absolute;
    top: 18px;
    left: 18px
}

.testimonial-card .fa-quote-right {
    font-size: 28px;
    color: #085255;
    opacity: .18;
    position: absolute;
    bottom: 18px;
    right: 18px
}

.testimonial-card .testimonial-text {
    margin-top: 10px
}

.testimonial-card .author-info {
    line-height: 1.2
}

.cta-banner {
    background: #f1f0fe;
    border-radius: 20px;
    padding: 40px 20px;
    margin-top: 40px
}

.cta-banner h3 {
    color: #085255;
    margin-bottom: 10px
}

.cta-banner .main-button {
    margin: 0 10px 0 0
}

.student-reels {
    background: #f4f9f7
}

.why-choose-us .bg {
    background: linear-gradient(135deg, #085255, #1c7b81);
    border-radius: 25px;
    color: #fff
}

.admission-section .text-primary,
.text-main {
    color: #085255 !important
}

.why-choose-us .section-heading h2 {
    color: #222
}

.why-card {
    border: 1px solid #e7f2f3
}

.why-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 20px rgba(21, 83, 89, .15);
    border-color: #085255
}

.hover-title {
    color: #085255;
    position: relative;
    font-weight: 500 !important
}

.why-card:hover .hover-title {
    color: #1c7b81
}

.animate-icon {
    transition: transform .4s, color .4s
}

.why-card:hover .animate-icon {
    transform: scale(1.1);
    color: #1c7b81
}

.mentor-box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 15px rgba(0, 0, 0, .1);
    padding: 40px 20px 20px;
    position: relative;
    transition: transform .3s, box-shadow .3s;
    cursor: default;
    overflow: hidden
}

.mentor-icon-circle,
.mentor-title {
    color: #fff;
    transition: transform .3s, background .3s
}

.mentor-box:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 15px 30px rgba(0, 0, 0, .2)
}

.mentor-icon-circle {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #085255;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .1)
}

.mentor-box:hover .mentor-icon-circle {
    transform: rotate(15deg) scale(1.1);
    background: #1a736e
}

.mentor-title {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 700;
    background-color: #085255;
    padding: 8px 20px;
    border-radius: 50px;
    margin-bottom: 15px
}

.mentor-box:hover .mentor-title {
    transform: scale(1.05);
    background-color: #1a736e
}

.mentor-box p {
    font-size: 1rem;
    color: #555;
    transition: color .3s
}

.mentor-box:hover p {
    color: #333
}

.animate__animated {
    visibility: visible !important
}

.about__institute .subtitle {
    background-color: rgba(21, 83, 89, .1);
    color: #085255;
    display: inline-block;
    padding: 5px 12px;
    border-radius: 7px;
    font-weight: 600;
    font-size: .75rem;
    margin-bottom: 10px
}

.about__institute .features li .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    background-color: #085255;
    color: #fff;
    text-align: center;
    font-size: .75rem
}

.about__institute .mission-statement {
    background-color: #085255;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
    flex-wrap: wrap;
    color: #fff
}

.about__institute .mission-icon {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    background-color: rgba(255, 255, 255, .2);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%
}

.about__institute .mission-icon i {
    color: #ffc107;
    font-size: 1.5rem
}

.about__institute .mission-text h3 {
    font-size: 1rem;
    color: #ffc107;
    margin-bottom: 5px
}

.about__institute .mission-text p {
    font-size: .95rem;
    color: #fff;
    margin-bottom: 0;
    line-height: 1.4
}

@media (max-width:575px) {
    .about__institute .subtitle {
        font-size: .7rem;
        padding: 4px 10px
    }

    .about__institute .mission-icon {
        width: 40px;
        height: 40px
    }

    .about__institute .mission-text h3 {
        font-size: .8rem
    }

    .about__institute .mission-text p {
        font-size: .85rem
    }
}

#chat-form,
#chat-header,
.blog-highlight-block .blog-content {
    padding: 15px
}

.mentorr-box {
    background-color: #085255;
    border-radius: 25px;
    padding: 40px 30px;
    transition: .3s;
    height: 100%
}

.mentorr-box h4 {
    color: #fff;
    margin-bottom: 10px
}

.stories-insights {
    background-color: #f7f7f7;
    padding: 80px 0
}

.shining-stars,
.swiper-slide {
    background: #fff;
    text-align: center
}

.stories-insights .section-heading h2 {
    color: #085255;
    font-weight: 700;
    margin-bottom: 10px
}

.stories-insights .section-heading p {
    color: #555;
    font-size: .95rem
}

.section-heading p {
    color: #666;
    width: 100%;
    margin: auto
}

.blog-highlight-block,
.insta-review-block {
    background-color: #fff;
    border-radius: 1rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
    padding: 25px;
    transition: transform .3s, box-shadow .3s
}

.blog-highlight-block:hover,
.insta-review-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, .15)
}

.blog-highlight-block .block-title,
.insta-review-block .block-title {
    font-weight: 600;
    color: #085255;
    margin-bottom: 20px;
    display: flex;
    align-items: center
}

.owl-insta-reviews {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 5px
}

.owl-insta-reviews::-webkit-scrollbar {
    display: none
}

.insta-review-card {
    flex: 0 0 calc((100% / 3) - 15px);
    max-width: calc((100% / 3) - 15px);
    border-radius: 1rem;
    overflow: hidden;
    scroll-snap-align: start
}

.insta-review-card blockquote,
.insta-review-card iframe {
    width: 100% !important;
    min-height: 320px;
    display: block
}

.insta-nav-arrows {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
    gap: 10px
}

.insta-nav-arrows button {
    width: 40px;
    height: 40px;
    background: #085255;
    border: none;
    color: #fff;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: .3s
}

.insta-nav-arrows button:hover {
    background: #0e3c41;
    transform: scale(1.1)
}

.insta-nav-arrows button:active {
    transform: scale(.95)
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
}

.blog-highlight-block .blog-card {
    display: flex;
    align-items: center;
    background-color: #f9f9f9;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 0;
    transition: transform .3s
}

.blog-highlight-block .blog-card:hover {
    transform: scale(1.02)
}

.blog-highlight-block .blog-card img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    border-right: 3px solid #085255
}

.blog-highlight-block .blog-content h4 {
    color: #085255;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 8px
}

.blog-highlight-block .read-more {
    color: #ffc107;
    font-weight: 600;
    text-decoration: none;
    font-size: .9rem
}

@keyframes fadeInLeft {
    0% {
        opacity: 0;
        transform: translateX(-30px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(30px)
    }

    100% {
        opacity: 1;
        transform: translateX(0)
    }
}

.fadeInLeft {
    animation: 1s forwards fadeInLeft
}

.fadeInRight {
    animation: 1s forwards fadeInRight
}

@media (max-width:991px) {

    .cta-section,
    .program-highlights,
    .results-section {
        padding: 60px 0
    }

    .header-area .main-nav ul.nav {
        display: none
    }

    .cta-section {
        background: linear-gradient(135deg, #085255 0, #1a6d75 100%);
        text-align: center;
        color: #fff
    }

    .course-hero h1 {
        font-size: 36px;
        line-height: 48px
    }

    .highlights-table td:first-child {
        width: 45%
    }

    .result-card {
        border-radius: 25px;
        padding: 40px;
        margin-bottom: 0;
        display: none
    }

    .result-stats {
        grid-template-columns: 1fr
    }

    .menu-trigger {
        display: block !important;
        cursor: pointer;
        position: absolute;
        top: 20px;
        right: 20px;
        width: 32px;
        height: 40px
    }

    .menu-trigger span {
        display: block;
        background: #fff;
        width: 30px;
        height: 2px;
        position: relative;
        top: 16px
    }

    .menu-trigger span:after,
    .menu-trigger span:before {
        content: "";
        display: block;
        background: #fff;
        width: 30px;
        height: 2px;
        position: absolute
    }

    .menu-trigger span:before {
        top: -10px
    }

    .menu-trigger span:after {
        top: 10px
    }

    .section-heading.bg {
        text-align: center;
        padding: 20px
    }

    .main-button a {
        display: inline-block
    }

    .about__institute .mission-statement {
        position: relative;
        transform: none;
        bottom: 0;
        left: auto;
        width: 100%;
        margin-top: 20px
    }

    .about__institute .features {
        flex-direction: column;
        gap: 10px
    }

    .insta-review-card {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px)
    }

    .blog-highlight-block,
    .insta-review-block {
        height: auto
    }
}

@media (max-width:767px) {

    .highlights-table td,
    .highlights-table th {
        padding: 15px 20px;
        font-size: 13px
    }

    .highlights-table {
        overflow-x: auto
    }

    .feature-box {
        flex-direction: column;
        text-align: center;
        align-items: center
    }

    .cta-section h2 {
        font-size: 28px
    }

    .result-card {
        padding: 25px
    }

    .result-tab {
        padding: 12px 20px;
        font-size: 14px
    }

    .stat-box {
        padding: 20px
    }

    .stat-box h4 {
        font-size: 24px
    }

    .slider-arrow {
        padding: 5px 10px;
        font-size: 14px
    }

    .testimonial-card {
        padding: 25px 12px 20px
    }

    .blog-grid {
        grid-template-columns: 1fr
    }

    .blog-highlight-block .blog-card img {
        width: 100px;
        height: 100px
    }
}

.shining-stars {
    padding: 80px 0
}

@media (max-width:767.98px) {

    .shining-stars,
    .topper-section-1,
    .culture-section,
    .blog-content,
    .about-content,
    .gallery-section,
    .section,
    .wmud-section,
    .program-highlights,
    .urg-section,
    .results-section,
    .methodology-ladder,
    .campus-culture,
    .contact-us,
    .course-hero,
    .results-section,
    .testimonials-content {
        padding: 60px 0 !important
    }
}

.section-heading h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 40px;
    color: #222;
    text-transform: uppercase
}

.swiper {
    width: 100%;
    padding-top: 50px;
    padding-bottom: 50px
}

.swiper-slide {
    border-radius: 20px;
    box-shadow: 0 6px 6px rgba(0, 0, 0, .1);
    transition: transform .4s, box-shadow .4s;
    width: 220px !important
}

.swiper-slide img {
    border-radius: 20px 20px 0 0;
    object-fit: cover
}

.swiper-slide h6 {
    font-weight: 700;
    margin-top: 10px;
    font-size: 1rem;
    color: #111
}

.swiper-slide p {
    margin: 3px 0;
    font-size: .9rem;
    color: #666
}

.swiper-slide-active {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .15)
}

.text-light-green {
    color: #409a51
}

.admission,
.admission-hero,
.counselling-section,
.course-dates,
.culture-section,
.program-fee-structure,
.program-highlights,
.student-reviews,
.upcoming-course-dates,
.vision-mission,
.why-tts {
    background: #f4f9f7
}

.culture-section,
.campus-section,
.about__institute {
    padding: 80px 0
}

@media (max-width:767.98px) {

    .culture-section,
    .campus-section,
    .about__institute,
    .mentorship-section {
        padding: 60px 0
    }
}

.benefit-card {
    transition: .3s;
    border-top: 4px solid #1e888e
}

.benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .1);
    border-top-color: #0d5e63
}

.section-heading h2 em {
    color: #1e888e;
    font-style: normal
}

.custom-rounded {
    border-radius: 50% 0;
    border: 2px solid #085255
}

.culture-card,
.culture-img,
.overlay {
    border-radius: 10px
}

.culture-card {
    position: relative;
    cursor: pointer;
    transition: transform .4s
}

.culture-img {
    display: block;
    width: 60%;
    height: auto;
    transition: transform .5s
}

.overlay {
    position: absolute;
    bottom: 0;
    left: 100%;
    right: 0;
    background: linear-gradient(to right, rgba(0, 168, 107, .9), rgba(0, 168, 107, .6), rgba(0, 168, 107, .4));
    width: 0;
    height: 100%;
    transition: .6s
}

.culture-card:hover .overlay {
    width: 100%;
    left: 0
}

.overlay-text {
    color: #fff;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity .4s, transform .4s
}

.culture-card:hover .overlay-text {
    opacity: 1;
    transform: translateY(0)
}

.text-white-50 {
    color: rgba(255, 255, 255, .85) !important
}

.facility-card {
    transition: .4s;
    border: 1px solid #e9f4f0
}

.facility-icon,
.icon-circle {
    border-radius: 50%;
    color: #fff;
    display: flex
}

.facility-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0, 168, 107, .15);
    border-color: #00a86b
}

.facility-icon {
    background: linear-gradient(135deg, #00a86b 0, #00c98d 100%);
    font-size: 28px;
    width: 70px;
    height: 70px;
    align-items: center;
    justify-content: center;
    transition: .4s
}

.facility-card:hover .facility-icon {
    background: linear-gradient(135deg, #00c98d 0, #00a86b 100%);
    transform: scale(1.1)
}

.icon-wrapper {
    position: relative;
    margin-right: 20px;
    display: flex;
    flex-direction: column;
    align-items: center
}

.icon-circle {
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #00a86b, rgba(0, 168, 107, .6));
    justify-content: center;
    align-items: center;
    font-size: 18px;
    box-shadow: 0 4px 10px rgba(0, 168, 107, .25);
    z-index: 2
}

.line {
    content: "";
    position: absolute;
    top: 55px;
    width: 2px;
    height: calc(100% - 55px);
    background: rgba(0, 168, 107, .25);
    z-index: 1
}

.culture-list li:last-child .line {
    display: none
}

.admission-section .process-card {
    position: relative;
    transition: .3s
}

.admission-section .process-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .1)
}

.admission-section .process-number {
    width: 50px;
    height: 50px;
    font-size: 1.2rem;
    margin: -35px auto 0;
    border: 3px solid #fff
}

.admission-section .process-icon {
    font-size: 2.5rem
}

.admission-section .form-card .btn-primary {
    background-color: #085255;
    border: none
}

.admission-section .bg-primary,
.nots {
    background-color: #085255 !important
}

.admission-steps ol {
    counter-reset: step;
    list-style: none;
    padding-left: 0
}

.admission-steps ol li {
    position: relative;
    padding-left: 2rem
}

.admission-steps ol li::before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: #085255;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    font-weight: 600
}

.admission-highlight {
    border-bottom: 4px solid #085255
}

.topper-section-1 {
    padding: 80px 0;
    overflow: hidden
}

.topper-section-1 .wmud-title {
    color: #00a86b;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 15px
}

.topper-section-1 h2 {
    color: #085255;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 15px
}

.topper-section-1 h2 em {
    color: #b4ffd8;
    font-style: normal
}

.topper-section-1 .section-description {
    color: rgba(255, 255, 255, .9);
    font-size: 18px;
    max-width: 700px;
    margin: 0 auto
}

.topper-card-1 {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    transition: .4s;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .15);
    height: 100%
}

.topper-card-1:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .25)
}

.topper-card-1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: linear-gradient(90deg, #00a86b, #409a51, #085255)
}

.topper-photo-1 {
    width: 140px;
    height: 140px;
    margin: 30px auto 20px;
    border-radius: 5%;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 168, 107, .3)
}

.alumni-photo-3,
.topper-photo-2 {
    margin: 0 auto 20px;
    overflow: hidden
}

.topper-photo-1 img,
.topper-photo-2 img {
    width: 100%;
    height: 100%
}

.topper-info-1 {
    padding: 0 25px 30px;
    text-align: center
}

.topper-info-1 h5 {
    font-size: 14px;
    font-weight: 500;
    color: #085255;
    margin-bottom: 8px;
    text-transform: uppercase
}

.topper-info-1 .exam-badge {
    display: inline-block;
    background: linear-gradient(135deg, #00a86b, #085255);
    color: #fff;
    padding: 6px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 10px
}

.topper-info-1 .rank {
    font-size: 24px;
    font-weight: 600;
    color: #00a86b
}

.topper-info-1 .college {
    color: #6c757d;
    font-size: 14px
}

.topper-info-1 .year-badge {
    display: inline-block;
    background: #085255;
    color: #f7fafc;
    padding: 4px 12px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600
}

.topper-section-2 {
    background: #fff;
    padding: 80px 0;
    position: relative
}

.topper-section-2 .wmud-title {
    color: #00a86b;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 14px
}

.alumni-section-3 h2,
.topper-section-2 h2 {
    color: #085255;
    font-size: 42px;
    font-weight: 800
}

.topper-section-2 h2 em {
    color: #00a86b;
    font-style: normal
}

.topper-section-2 .section-description {
    color: #4a5568;
    font-size: 18px;
    max-width: 700px;
    margin: 0 auto
}

.topper-card-2 {
    background: #f8fdfb;
    border: 1px solid #d9f5e6;
    border-radius: 20px;
    padding: 35px 25px;
    transition: .4s;
    height: 100%
}

.topper-card-2:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 30px rgba(21, 83, 89, .15)
}

.topper-photo-2 {
    width: 130px;
    height: 130px;
    border-radius: 5%;
    box-shadow: 0 8px 25px rgba(0, 168, 107, .3)
}

.coming-features,
.topper-info-2 {
    text-align: center
}

.topper-info-2 h5 {
    font-size: 22px;
    font-weight: 500;
    color: #085255;
    margin-bottom: 10px
}

.topper-info-2 .score-badge {
    background: #00a86b;
    color: #fff;
    padding: 8px 20px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 700;
    margin: 10px 0
}

.topper-info-2 .college {
    color: #555;
    font-size: 15px
}

.topper-info-2 .year-badge {
    display: inline-block;
    background: #e6f9f0;
    color: #085255;
    padding: 5px 15px;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 600;
    margin-top: 12px
}

.alumni-section-3 {
    padding: 80px 0;
    position: relative
}

.alumni-section-3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #085255, transparent)
}

.alumni-section-3 .wmud-title {
    color: #085255;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px
}

.alumni-section-3 h2 em {
    color: #1e7a80;
    font-style: normal
}

.alumni-card-3 {
    padding: 30px 20px;
    transition: .4s;
    height: 100%;
    border: 1px solid #00a86b;
    border-radius: 5px;
    background-color: #fff
}

.alumni-card-3:hover {
    transform: translateY(-10px);
    border-color: #085255;
    box-shadow: 0 15px 40px rgba(21, 83, 89, .25)
}

.alumni-photo-3 {
    width: 120px;
    height: 150px;
    border-radius: 15px;
    border: 1px solid #085255;
    box-shadow: 0 8px 25px rgba(21, 83, 89, .2)
}

.alumni-photo-3 img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: .4s
}

.alumni-info-3 h5 {
    font-size: 20px;
    font-weight: 500;
    color: #085255;
    margin-bottom: 8px;
    text-transform: uppercase
}

.alumni-info-3 .details {
    display: flex;
    justify-content: space-around;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(21, 83, 89, .2)
}

.alumni-info-3 .detail-label {
    color: #777;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px
}

.alumni-info-3 .detail-value {
    color: #085255;
    font-size: 15px;
    font-weight: 700
}

.downloads-section {
    background: linear-gradient(135deg, #0f2f31 0, #085255 100%);
    color: #fff;
    border-radius: 12px
}

.download-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, .1);
    padding: 20px;
    border-radius: 12px;
    color: #085255;
    transition: .3s
}

.download-btn:hover {
    transform: translateY(-5px) scale(1.05);
    background: rgba(255, 255, 255, .2)
}

.download-icon {
    font-size: 2rem;
    margin-bottom: 10px
}

.download-label {
    font-weight: 600;
    font-size: .95rem
}

.exam-tab-list {
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 15px
}

.exam-tab-list li {
    margin: 5px
}

.exam-tab {
    display: inline-block;
    color: #085255;
    background: #f8f9fa;
    padding: 10px 25px;
    border-radius: 50px;
    font-weight: 600;
    transition: .3s;
    border: 2px solid transparent
}

.exam-tab.active {
    background: linear-gradient(135deg, #085255, #1e7a80);
    color: #fff;
    box-shadow: 0 4px 10px rgba(21, 83, 89, .3);
    border-color: transparent
}

.exam-tab:hover {
    color: #1e7a80;
    border-color: #1e7a80;
    background-color: #e6f4f4
}

.exam-pane {
    display: none;
    background: #fff;
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    animation: .4s ease-in-out fadeIn
}

#chat-toggle,
.coming-icon {
    animation: 2s infinite pulse
}

.exam-pane.active {
    display: block
}

.exam-pane h4 {
    color: #085255;
    font-weight: 500;
    margin-bottom: 15px
}

.exam-pane ul li {
    padding: 6px 0;
    border-bottom: 1px solid #eee
}

.exam-pane .tips {
    background: #f8f9ff;
    border-left: 4px solid #085255;
    padding: 12px 15px;
    margin-top: 20px;
    border-radius: 8px;
    font-style: italic
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.coming-soon-section {
    background: #fff;
    position: relative
}

.coming-card {
    background: #f4f9f7;
    border: 1px solid rgba(21, 83, 89, .1);
    max-width: 700px;
    transition: .3s
}

.coming-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(21, 83, 89, .15)
}

.coming-icon {
    font-size: 60px;
    color: #085255
}

.coming-soon-section h2 {
    color: #085255;
    font-weight: 700;
    font-size: 1.9rem
}

.coming-soon-section h2 span {
    color: #1e7a80
}

.coming-soon-section p {
    color: #444;
    max-width: 600px;
    margin: 0 auto;
    font-size: 1.05rem
}

.feature-item {
    text-align: center;
    color: #085255;
    transition: .3s
}

.feature-item i {
    font-size: 32px;
    margin-bottom: 8px;
    color: #1e7a80
}

.feature-item p {
    font-size: 14px;
    font-weight: 600;
    margin: 0
}

.btn-gradient {
    background: linear-gradient(135deg, #085255, #1e7a80);
    color: #fff;
    border: none;
    box-shadow: 0 4px 10px rgba(21, 83, 89, .3)
}

#chat-messages p,
.value-card-modern {
    background: radial-gradient(circle at 20% 30%, #e8fff5 0, #fff 80%) !important
}

.btn-gradient:hover {
    background: linear-gradient(135deg, #1e7a80, #085255);
    color: #fff
}

.value-card-modern {
    border-radius: 16px;
    padding: 28px;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .05);
    transition: transform .3s, box-shadow .3s, background .3s;
    cursor: default;
    outline: 0
}

.value-card-modern h5 {
    font-weight: 500;
    font-size: 18px;
    color: #085255;
    margin: 0;
    letter-spacing: .3px;
    transition: color .25s
}

.value-card-modern:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(21, 83, 89, .18);
    background: linear-gradient(135deg, #085255, #1c7b81);
    color: #fff
}

.value-card-modern:focus,
.value-card-modern:focus-within {
    box-shadow: 0 12px 28px rgba(21, 83, 89, .18);
    transform: translateY(-4px)
}

.hover14 figure::before {
    position: absolute;
    top: 0;
    left: -75%;
    z-index: 2;
    display: block;
    content: "";
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, .3) 100%);
    transform: skewX(-25deg)
}

.hover14 figure:hover::before {
    animation: .75s shine
}

@keyframes shine {
    100% {
        left: 125%
    }
}

.custom-select-wrapper,
.modern-form .form-group {
    position: relative
}

.custom-select-icon {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("https://cdn-icons-png.flaticon.com/512/32/32195.png");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    padding-right: 40px !important
}

.nots1 {
    background-color: #d7f0e7 !important
}

.date-card,
.process-card {
    transition: transform .3s, box-shadow .3s
}

.process-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, .15) !important
}

.date-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .2) !important
}

.form-card {
    border: 1px solid #e0e0e0;
    transition: .3s
}

.form-control:focus,
.form-select:focus {
    border-color: #085255;
    box-shadow: 0 0 0 .2rem rgba(102, 126, 234, .25)
}

.form-label {
    font-weight: 500;
    color: #333;
    font-size: .9rem
}

.form-control-underline {
    width: 100%;
    border: none;
    border-bottom: 2px solid #ddd;
    padding: 10px 35px 8px 0;
    outline: 0;
    transition: .3s;
    font-size: 1rem;
    background: 0 0
}

.form-control-underline:focus {
    border-color: #085255;
    box-shadow: 0 2px 0 0 #085255
}

.form-icon {
    position: absolute;
    right: 10px;
    bottom: 10px;
    color: #999;
    font-size: 1rem;
    pointer-events: none;
    transition: color .3s
}

.btn-enroll {
    background-color: #085255;
    border: none;
    transition: .3s
}

.btn-enroll:hover {
    background-color: #0f3d41;
    transform: translateY(-2px)
}

textarea.form-control-underline {
    border-bottom: 2px solid #ddd;
    resize: none
}

textarea.form-control-underline:focus {
    border-color: #085255
}

#counsellingModal .modal-content {
    border-radius: 1rem
}

#counsellingModal .form-control,
#counsellingModal .form-select {
    padding: 12px 14px;
    font-size: 15px
}

@media (max-width:576px) {
    .insta-review-card {
        flex: 0 0 calc(100% - 10px);
        max-width: calc(100% - 10px)
    }

    #counsellingModal .modal-body {
        padding: 1.25rem
    }

    #counsellingModal .btn {
        width: 100%
    }
}

.required-star {
    color: red
}

#chatbot-widget {
    position: fixed;
    bottom: 80px;
    right: 20px;
    z-index: 9999
}

#chat-toggle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    font-size: 28px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
    transition: transform .3s;
    color: #fff
}

@keyframes pulse {

    0%,
    100% {
        opacity: .9;
        transform: scale(1)
    }

    50% {
        opacity: 1;
        transform: scale(1.05)
    }
}

#chat-toggle:hover {
    transform: scale(1.1)
}

#chat-container {
    position: absolute;
    bottom: 70px;
    right: 0;
    width: 350px;
    max-height: 500px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .2);
    overflow: hidden;
    display: flex;
    flex-direction: column
}

#chat-header {
    color: #fff;
    font-weight: 700;
    display: flex;
    justify-content: space-between;
    align-items: center
}

#chat-messages {
    padding: 15px;
    max-height: 300px;
    overflow-y: auto;
    background: #f3fbf9;
    flex: 1
}

#chat-messages p {
    padding: 10px 15px;
    border-radius: 12px;
    margin-bottom: 10px;
    word-wrap: break-word;
    animation: .3s slideIn;
    color: #085255;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08)
}

#chat-close,
#chat-options button {
    border: none;
    color: #fff;
    cursor: pointer
}

#chat-messages p.bot-msg {
    margin-right: 50px
}

#chat-messages p.user-msg {
    margin-left: 50px;
    text-align: right;
    background: linear-gradient(135deg, #085255, #0f3f42) !important;
    color: #fff
}

#chat-options {
    padding: 10px 15px;
    background: #fff;
    display: flex;
    gap: 5%
}

#chat-close {
    background: 0 0;
    font-size: 24px
}

#chat-options button {
    display: block;
    width: 50%;
    padding: 12px;
    margin-bottom: 8px;
    border-radius: 8px;
    transition: .3s;
    font-size: 14px
}

#chat-options button:hover {
    background: #0f3f42;
    transform: translateX(5px)
}

#chat-form {
    background: #fff
}

#chat-form input {
    width: 100%;
    padding: 12px;
    margin-bottom: 10px;
    border: 1px solid rgba(21, 83, 89, .35);
    border-radius: 8px;
    font-size: 14px
}

#chat-form input:focus {
    outline: 0;
    border-color: #085255;
    box-shadow: 0 0 0 2px rgba(21, 83, 89, .15)
}

#chat-form button {
    width: 100%;
    padding: 12px;
    background: #085255;
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700
}

#chat-form button:hover {
    background: #0f3f42
}

.marquee-container {
    width: 100%;
    overflow: hidden;
    padding: 8px 0 30px
}

.marquee-list {
    display: inline-flex;
    align-items: center;
    gap: 60px;
    padding-left: 100%;
    animation: 40s linear infinite marqueeScroll
}

.marquee-list li {
    list-style: none;
    white-space: nowrap;
    font-size: 20px;
    font-weight: 500;
    color: #085255;
    display: flex;
    align-items: center
}

.marquee-list li i {
    margin-right: 8px;
    color: #ffeb3b
}

.marquee-container:hover .marquee-list {
    animation-play-state: paused
}

@keyframes marqueeScroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

@media (max-width:768px) {
    .value-card-modern h5 {
        font-weight: 500;
        font-size: 13px;
        color: #085255;
        margin: 0;
        letter-spacing: .3px;
        transition: color .25s
    }

    .star-card {
        width: 180px;
        margin: 0 10px
    }

    .slide-track {
        width: calc(180px * 14);
        animation: 10s linear infinite scroll
    }

    .swiper-slide {
        width: 160px !important
    }

    .icon-circle {
        width: 40px;
        height: 40px;
        font-size: 16px
    }

    .line {
        top: 45px
    }

    .alumni-section-3 h2 {
        font-size: 32px
    }

    .nav-tabs .nav-link {
        padding: 8px 15px;
        font-size: 14px
    }

    .exam-pane {
        padding: 20px
    }

    .display-3 {
        font-size: 2.5rem
    }

    .display-5 {
        font-size: 2rem
    }

    .lead {
        font-size: 1rem
    }

    #chat-container {
        width: 300px
    }

    .marquee-list li {
        font-size: 16px
    }

    .marquee-container {
        width: 100%;
        overflow: hidden;
        padding: 40px 0 0
    }
}

.privacy-card {
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .08)
}

.privacy-card h5 {
    margin-top: 30px;
    margin-bottom: 15px;
    color: #155359
}

.privacy-card p {
    font-size: 16px;
    line-height: 1.9;
    color: #555;
    text-align: justify
}

.privacy-list {
    width: 85%;
    margin: 0 auto 20px
}

.privacy-list li {
    margin-bottom: 10px;
    line-height: 1.8;
    color: #555
}

@media (max-width:767px) {
    .privacy-card {
        padding: 25px
    }

    .privacy-list {
        width: 100%
    }
}

.privacy-list {
    list-style: disc !important;
    padding-left: 25px !important
}

.privacy-list li {
    list-style: disc !important
}

.privacy-list li {
    color: #555;
    margin-bottom: 10px;
    line-height: 1.8
}

.privacy-list li::marker {
    color: #155359
}

.resource-card {
    display: block;
    text-align: center;
    background: #fff;
    border-radius: 15px;
    padding: 25px 15px;
    text-decoration: none;
    height: 100%;
    border: 1px solid #e9ecef;
    transition: all .3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .05)
}

.resource-icon {
    width: 75px;
    height: 75px;
    margin: 0 auto 15px;
    background: #eef5ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.resource-icon i {
    font-size: 34px;
    color: #085255
}

@media (max-width:576px) {
    .resource-icon {
        width: 60px;
        height: 60px
    }

    .resource-icon i {
        font-size: 28px
    }
}

@media (max-width:767.98px) {
    .course-hero {
        background-image: none !important;
        background: #f8f9fa !important;
        min-height: auto
    }
}

.category-badge1 {
    display: inline-block;
    position: relative;
    margin-top: 0;
    margin-bottom: 12px;
    padding: 0 0 6px;
    color: var(--accent);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .2px;
    border-bottom: 2px solid var(--accent);
    border-radius: 0;
    background: transparent
}

.span-c {
    color: #00a86b
}

.ml-3 {
    padding-left: 20px
}

.mr-3 {
    padding-right: 10px
}

.category-card {
    position: relative;
    background: #fff;
    border-radius: 24px;
    min-height: 150px;
    padding: 5px 15px;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    transition: .4s ease
}

.category-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .12)
}

.shape-bg {
    position: absolute;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    right: -120px;
    top: 50%;
    transform: translateY(-50%)
}

.foundation-card .shape-bg {
    background: #eef3d9
}

.board-card .shape-bg {
    background: #f1f0fa
}

.upsc-card .shape-bg {
    background: #e6f1f5
}

.govt-card .shape-bg {
    background: #efefef
}

.category-content {
    position: relative;
    z-index: 2
}

.category-content h3 {
    font-size: 38px;
    font-weight: 700;
    color: #222;
    margin-bottom: 25px
}

.category-icon {
    position: relative;
    z-index: 2
}

.category-icon img {
    width: 40px;
    transition: .4s
}

.category-card:hover .category-icon img {
    transform: scale(1.1)
}

@media (max-width:991px) {
    .category-card {
        min-height: auto
    }

    .category-content h3 {
        font-size: 30px
    }

    .category-icon img {
        width: 70px
    }
}

@media (max-width:575px) {
    .category-card {
        padding: 25px
    }

    .category-content {
        width: 100%
    }

    .category-icon {
        position: absolute;
        right: 25px;
        bottom: 25px
    }

    .category-content h3 {
        font-size: 26px
    }

    .explore-btn {
        font-size: 16px
    }
}

.pagination {
    justify-content: center;
    margin-top: 40px;
    gap: 10px;
    flex-wrap: wrap
}

.pagination li {
    list-style: none
}

.pagination li a,
.pagination li span {
    width: 45px;
    height: 45px;
    border-radius: 12px !important;
    border: 1px solid #e6e6e6;
    background: #fff;
    color: #085255;
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
    transition: all .3s ease
}

.pagination li a:hover {
    background: #085255;
    color: #fff;
    border-color: #085255;
    transform: translateY(-3px)
}

.pagination li.active span,
.pagination li.active a {
    background: linear-gradient(135deg, #085255, #0a6b70);
    color: #fff;
    border-color: #085255;
    box-shadow: 0 8px 20px rgba(8, 82, 85, .25)
}

.pagination li.disabled span,
.pagination li.disabled a {
    background: #f5f5f5;
    color: #bdbdbd;
    cursor: not-allowed;
    box-shadow: none
}

.pagination li:first-child a,
.pagination li:last-child a {
    width: auto;
    padding: 0 18px
}

@media (max-width:576px) {
    .pagination {
        gap: 6px
    }

    .pagination li a,
    .pagination li span {
        width: 38px;
        height: 38px;
        font-size: 14px;
        border-radius: 10px !important
    }

    .pagination li:first-child a,
    .pagination li:last-child a {
        padding: 0 12px
    }
}

.course-video-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #f3f8f7 0%, #fff 55%, #eef6f4 100%)
}

.course-video-section .course-video-frame {
    overflow: hidden;
    border: 8px solid #fff;
    border-radius: 24px;
    background: #102f31;
    box-shadow: 0 22px 55px rgba(8, 82, 85, .18)
}

.course-video-section .course-video-cue {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin: 0 14px 12px 0;
    color: #085255
}

.course-video-section .course-video-cue span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid rgba(8, 82, 85, .12);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(8, 82, 85, .1);
    font-size: 13px;
    font-weight: 700
}

.course-video-section .course-video-cue span .fa-youtube {
    color: #e62117;
    font-size: 17px
}

.course-video-section .course-video-cue__arrow {
    color: #0a9874;
    font-size: 23px;
    animation: courseVideoArrow .9s ease-in-out infinite alternate
}

@keyframes courseVideoArrow {
    from {
        transform: translateX(4px)
    }

    to {
        transform: translateX(-5px)
    }
}

.course-video-section .course-video-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0
}

.course-video-section .course-video-copy {
    max-width: 560px;
    padding: 16px 0 16px 20px
}

.course-video-section .course-video-copy h2 {
    margin: 18px 0 14px;
    color: #173c3e;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    line-height: 1.18
}

.course-video-section .course-video-copy p {
    color: #5a6c6d;
    font-size: 16px;
    line-height: 1.75
}

.course-video-section .course-video-points {
    display: grid;
    gap: 12px;
    margin: 22px 0 26px;
    padding: 0;
    list-style: none
}

.course-video-section .course-video-points li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #2e4e50;
    font-weight: 600
}

.course-video-section .course-video-points i {
    margin-top: 4px;
    color: #0a9874
}

.course-video-section .course-video-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.course-video-section .course-video-actions .btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-weight: 700
}

@media (max-width:991px) {
    .course-video-section .course-video-copy {
        max-width: none;
        padding: 6px 0 0
    }
}

@media (max-width:575px) {
    .course-video-section .course-video-frame {
        border-width: 5px;
        border-radius: 18px
    }

    .course-video-section .course-video-cue {
        margin-right: 4px
    }

    .course-video-section .course-video-actions .btn {
        width: 100%
    }
}

@media (prefers-reduced-motion:reduce) {
    .course-video-section .course-video-cue__arrow {
        animation: none
    }
}

.promo-strip {
    position: relative;
    width: 100%;
    min-height: 40px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #085255;
    color: #fff;
    isolation: isolate;
    margin-bottom: 20px;
    margin-top: 10px
}

.promo-strip::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: #085255;
    background-size: 30px 30px;
    animation: promoGridMove 8s linear infinite
}

.promo-strip::after {
    content: "";
    position: absolute;
    top: 0;
    left: -35%;
    width: 25%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .13), transparent);
    transform: skewX(-25deg);
    animation: promoShine 5s ease-in-out infinite;
    pointer-events: none
}

.promo-strip__content {
    width: 100%;
    padding: 7px 15px;
    text-align: center
}

.promo-strip__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    transition: opacity .3s ease
}

.promo-strip__link:hover {
    color: #fff;
    opacity: .9
}

.promo-strip__icon {
    color: #ffcf40;
    font-size: 20px;
    transform: rotate(-10deg);
    animation: promoMegaphone 1.8s ease-in-out infinite
}

.promo-strip__badge {
    color: #ffeb00;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .3px
}

.promo-strip__sparkle {
    color: #ffdf48;
    animation: promoSparkle 1.5s ease-in-out infinite
}

.promo-strip__message {
    color: #fff;
    font-weight: 700
}

.promo-strip__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    font-size: 14px;
    animation: promoArrowMove 1.2s ease-in-out infinite
}

@keyframes promoGridMove {
    from {
        background-position: 0 0
    }

    to {
        background-position: 30px 30px
    }
}

@keyframes promoShine {

    0%,
    65% {
        left: -35%
    }

    100% {
        left: 120%
    }
}

@keyframes promoMegaphone {

    0%,
    100% {
        transform: rotate(-10deg)
    }

    50% {
        transform: rotate(5deg)
    }
}

@keyframes promoSparkle {

    0%,
    100% {
        opacity: .5;
        transform: scale(.9)
    }

    50% {
        opacity: 1;
        transform: scale(1.15)
    }
}

@keyframes promoArrowMove {

    0%,
    100% {
        transform: translateX(0)
    }

    50% {
        transform: translateX(5px)
    }
}

@media (max-width:576px) {
    .promo-strip {
        min-height: 38px
    }

    .promo-strip__content {
        padding: 6px 8px
    }

    .promo-strip__link {
        gap: 6px;
        font-size: 11px
    }

    .promo-strip__icon {
        font-size: 15px
    }

    .promo-strip__badge {
        font-size: 10px
    }

    .promo-strip__arrow {
        font-size: 11px;
        margin-left: 1px
    }
}

@media (prefers-reduced-motion:reduce) {

    .promo-strip::before,
    .promo-strip::after,
    .promo-strip__icon,
    .promo-strip__sparkle,
    .promo-strip__arrow {
        animation: none
    }
}

#contact.tt-contact {
    display: block;
    width: 100%;
    padding: 15px 0;
    background: #fff;
    overflow: hidden
}

#contact .tt-contact-card {
    width: 100%;
    margin: 0;
    padding: 22px;
    background: #fff;
    border: 1px solid #085255;
    border-radius: 14px;
    box-shadow: 0 10px 35px rgba(8, 82, 85, .07)
}

#contact .tt-contact-card form {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0
}

#contact .tt-contact-fields {
    display: grid;
    grid-template-columns: 1fr 1.2fr 1.15fr 1.2fr auto;
    align-items: center;
    gap: 12px;
    width: 100%
}

#contact .tt-field {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0
}

#contact .tt-field input,
#contact .tt-field select {
    display: block;
    width: 100%;
    height: 50px;
    min-width: 0;
    margin: 0;
    padding: 0 13px;
    background: #fff;
    color: var(--brand);
    -webkit-text-fill-color: var(--brand);
    border: 1px solid rgba(8, 82, 85, .22);
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: normal;
    outline: none;
    opacity: 1;
    box-shadow: none;
    transition: border-color .25s ease, box-shadow .25s ease;
    box-sizing: border-box
}

#contact .tt-field input::placeholder {
    color: var(--brand);
    -webkit-text-fill-color: var(--brand);
    opacity: .68
}

#contact .tt-field select:invalid {
    color: var(--brand);
    opacity: .68
}

#contact .tt-field select.home-enquiry-select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23085255' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m1 1 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 12px 8px
}

#contact .tt-field select:valid {
    opacity: 1
}

#contact .tt-field input:focus,
#contact .tt-field select:focus {
    background: #fff;
    border-color: var(--accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 168, 107, .1)
}

#contact .tt-submit {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0
}

#contact .tt-submit button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 50px;
    min-width: 150px;
    margin: 0;
    padding: 0 18px;
    background: var(--brand);
    color: #fff;
    -webkit-text-fill-color: #fff;
    border: 1px solid var(--brand);
    border-radius: 8px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    opacity: 1;
    box-shadow: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease
}

#contact .tt-submit button:hover,
#contact .tt-submit button:focus-visible {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    -webkit-text-fill-color: #fff
}

#contact .tt-submit button:hover {
    transform: translateY(-1px)
}

#contact .tt-submit button i {
    color: inherit;
    font-size: 13px
}

@media (max-width:1199.98px) {
    #contact .tt-contact-card {
        padding: 16px
    }

    #contact .tt-contact-fields {
        gap: 8px;
        grid-template-columns: 1fr 1.1fr 1.1fr 1.1fr auto
    }

    #contact .tt-field input,
    #contact .tt-field select {
        padding: 0 9px;
        font-size: 12px
    }

    #contact .tt-submit button {
        min-width: 125px;
        padding: 0 12px;
        font-size: 12px
    }
}

@media (max-width:991.98px) {
    #contact .tt-contact-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px
    }

    #contact .tt-submit {
        grid-column: 1 / -1
    }

    #contact .tt-submit button {
        width: 100%;
        height: 48px;
        font-size: 14px
    }

    #contact .tt-field input,
    #contact .tt-field select {
        height: 48px;
        font-size: 13px
    }
}

@media (max-width:575.98px) {
    #contact.tt-contact {
        padding: 42px 0
    }

    #contact .tt-contact-card {
        padding: 15px;
        border-radius: 10px
    }

    #contact .tt-contact-fields {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px
    }

    #contact .tt-field,
    #contact .tt-message-field {
        grid-column: auto;
        width: 100%
    }

    #contact .tt-field input,
    #contact .tt-field select {
        width: 100%;
        height: 48px;
        padding: 0 12px;
        font-size: 13px
    }

    #contact .tt-submit {
        grid-column: auto;
        width: 100%
    }

    #contact .tt-submit button {
        width: 100%;
        height: 48px
    }
}

.related-blog-list img {
    border: 1px solid #eee
}

.related-blog-list a:hover {
    color: #0d6efd
}

.blog-cover-img {
    width: 100%;
    object-fit: contain;
    background: #f8f9fa
}

.about-box {
    height: 100%;
    display: flex;
    flex-direction: column
}

.about-box p {
    flex: 1
}

.contact-cta {
    margin-top: auto
}

.contact-cards-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%
}

.contact-cards-stack .about-box {
    height: auto;
    margin-bottom: 0;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid #edf1f1;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(8, 82, 85, .07);
    text-align: left;
    transition: transform .25s ease, box-shadow .25s ease
}

.contact-cards-stack .about-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 34px rgba(8, 82, 85, .12)
}

.contact-card-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px
}

.contact-card-heading .icon-box {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    margin: 0;
    background: #e6f4f1
}

.contact-card-heading .icon-box i {
    color: #078b70;
    font-size: 16px
}

.contact-cards-stack .about-box h4 {
    margin: 0;
    color: #078b70;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase
}

.contact-cards-stack .about-box p {
    flex: initial;
    margin-bottom: 14px;
    color: #292d2d;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45
}

.contact-cards-stack .contact-cta {
    margin-top: auto
}

.contact-address-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 220px;
    padding: 28px;
    border-radius: 22px;
    background: #155359;
    color: #fff
}

.contact-address-label {
    margin-bottom: 14px;
    color: #50c878;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase
}

.contact-address-card p {
    margin-bottom: 20px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7
}

.contact-address-map {
    width: 100%;
    height: 240px;
    margin-bottom: 18px;
    border: 0;
    border-radius: 14px
}

.contact-address-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.contact-address-actions a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease
}

.contact-address-actions a:hover {
    background: #fff;
    color: #155359
}

@media (max-width:575px) {
    .contact-address-card {
        min-height: 0;
        padding: 24px
    }
}

#reviewModal .modal-body::-webkit-scrollbar {
    width: 8px
}

#reviewModal .modal-body::-webkit-scrollbar-thumb {
    background-color: #155359;
    border-radius: 4px
}

#reviewModal .modal-body::-webkit-scrollbar-track {
    background: #f1f1f1
}

.green-bg {
    background-color: #155359
}

#reviewModal .modal-content:hover {
    transform: scale(1.01);
    transition: transform .2s
}

.review-card {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
    height: 100%
}

.review-avatar img {
    width: 70px;
    border-radius: 50%;
    margin-bottom: 10px
}

.stars {
    color: #fbc02d;
    font-size: 18px;
    margin-bottom: 10px
}

.review-text {
    font-size: 16px;
    color: #555;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 42px
}

.read-more {
    background: none;
    border: none;
    color: #155359;
    font-size: 14px;
    margin-top: 5px;
    cursor: pointer
}

.review-name {
    margin-top: 15px;
    color: #a8f2b6;
    font-weight: 600
}

.review-sub {
    color: #888
}

.block-title {
    margin-bottom: 0;
    font-size: 24px
}

.insta-nav-arrows {
    flex-shrink: 0
}

.insta-nav-arrows button {
    display: flex;
    align-items: center;
    justify-content: center
}

@media (max-width:576px) {
    .block-title {
        font-size: 16px
    }
}

#contact-form.contact-enquiry-card {
    height: auto;
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid #e2ece9;
    border-radius: 20px;
    background: linear-gradient(145deg, #fff 0%, #fbfefd 100%);
    box-shadow: 0 18px 48px rgba(8, 82, 85, .09)
}

.contact-enquiry-heading {
    margin-bottom: 26px
}

.contact-enquiry-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: #078b70;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase
}

#contact-form.contact-enquiry-card .contact-enquiry-heading h3 {
    margin-bottom: 8px;
    color: #085255;
    font-size: clamp(23px, 3vw, 30px);
    font-weight: 700
}

#contact-form.contact-enquiry-card .contact-enquiry-heading p.lead {
    margin-bottom: 0;
    color: #687b7a;
    font-size: 14px;
    line-height: 1.6
}

.contact-enquiry-form>.row {
    row-gap: 18px !important
}

.contact-enquiry-card .form-label {
    display: block;
    margin-bottom: 8px;
    color: #254746;
    font-size: 13px;
    font-weight: 600
}

#contact-form.contact-enquiry-card .contact-enquiry-form .form-control,
#contact-form.contact-enquiry-card .contact-enquiry-form .form-select {
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 12px 15px;
    border: 1px solid #d8e4e1;
    border-radius: 10px;
    background-color: #fff;
    color: #243b3a;
    -webkit-text-fill-color: #243b3a;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    box-shadow: 0 2px 8px rgba(8, 82, 85, .03);
    transition: border-color .2s ease, box-shadow .2s ease
}

#contact-form.contact-enquiry-card .contact-enquiry-form .form-control::placeholder {
    color: #8a9b99;
    -webkit-text-fill-color: #8a9b99;
    opacity: 1
}

#contact-form.contact-enquiry-card .contact-enquiry-form .form-control:focus,
#contact-form.contact-enquiry-card .contact-enquiry-form .form-select:focus {
    border-color: #078b70;
    background-color: #fff;
    color: #243b3a;
    -webkit-text-fill-color: #243b3a;
    box-shadow: 0 0 0 4px rgba(7, 139, 112, .12)
}

#contact-form.contact-enquiry-card .contact-enquiry-form .form-select:disabled {
    background-color: #f2f6f5;
    color: #899794;
    -webkit-text-fill-color: #899794;
    opacity: 1;
    cursor: not-allowed
}

#contact-form.contact-enquiry-card .contact-enquiry-form textarea.form-control {
    min-height: 132px;
    resize: vertical
}

#contact-form.contact-enquiry-card .contact-enquiry-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    margin: 0;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: #078b70;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease
}

#contact-form.contact-enquiry-card .contact-enquiry-submit:hover,
#contact-form.contact-enquiry-card .contact-enquiry-submit:focus-visible {
    background: #066f5c;
    color: #fff;
    box-shadow: 0 8px 20px rgba(7, 139, 112, .2);
    transform: translateY(-1px)
}

@media (max-width:575.98px) {
    #contact-form.contact-enquiry-card {
        padding: 22px 18px;
        border-radius: 16px
    }

    .contact-enquiry-form>.row {
        row-gap: 14px !important
    }

    #contact-form.contact-enquiry-card .contact-enquiry-submit {
        width: 100%
    }
}