.navbar-expand-lg {
    padding: 5px 0;
    transition: 0.3s ease-in;
}

header {
    /* box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; */
    background: transparent;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.navbar-brand img {
    height: 55px;
    transition: 0.3s ease-in;
}

.navbar-expand-lg .navbar-nav .nav-link {
    font-weight: 400;
    color: var(--white);
    position: relative;
    padding: 0;
    font-size: 14px;
    transition: 0.3s ease-in;
    text-transform: uppercase;
}

.navbar-nav .dropdown-menu,
.inner-header .sub-menu {
    box-shadow: 0px 8px 32px 0px #00000026;
    border: none;
    border-radius: 16px;
    padding: 17px 0;
    margin: 0;
    display: block;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in;
    transform: translateY(15px);
    top: 200%;
    position: absolute;
    z-index: 9999;
    background: #fff;
    padding-left: 0;
    list-style: none;
    margin-bottom: 0;
    top: 42px;
    min-width: 10rem;
    width: max-content;
}

.navbar-nav .nav-item.dropdown:hover .dropdown-menu,
.navbar-nav .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.navbar .dropdown-toggle::after,
.menu-item-has-children>a:after {
    display: inline-block;
    margin-left: 5px;
    vertical-align: middle;
    font-family: 'fontAwesome';
    content: "\f078";
    font-weight: 900;
    border: none;
    font-size: 10px;
}

.sticky-header {
    background: #272727;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.sticky-header .navbar-brand img {
    height: 40px;
}

.sticky-header .navbar-collapse {
    padding-top: 0;
}

.sticky-header .nav-wrap {
    padding: 0;
    border-radius: 0;
}

.sticky-header .navbar {
    align-items: center !important;
}

.sticky-header .navbar-brand {
    /* padding: 0; */
}

.topbar-ul li {
    color: var(--white);
    font-size: 14px;

}

.topbar-ul {
    gap: 15px;
    padding: 5px 0;
    align-items: center;
}

.topbar-ul li a {
    color: var(--white);
}

.topbar-ul li a svg {
    width: 16px;
    vertical-align: bottom;
}

.header {
    /* background: #ffffffcf; */
    border-top: 1px solid #ffffff6b;
    border-bottom: 1px solid #ffffff6b;
}

main {
    /* padding-top: 110px; */
}

.banner-text {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    /* background: linear-gradient(139deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.1) 100%); */
    display: flex;
    justify-content: end;
    align-items: end;
    padding-bottom: 90px;
}

.banner-img {
    height: 80dvh;
    overflow: hidden;
}

.banner-img img {
    height: 100%;
    object-fit: cover;
}

.banner-text h2 {
    color: var(--white);
    filter: drop-shadow(0 0 0.75rem #011e496b);
    line-height: 1;
    margin-bottom: 0;
    font-weight: 700;
    font-size: 80px;
    letter-spacing: 1px;
}

.hero-diagonal {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 70px;
    z-index: 3;width:100%
}

.tomorrow-lockup {
    text-align: right;
}

.tomorrow-lockup .t-label {
    font-weight: 800;
    font-size: clamp(28px, 3.5vw, 44px);
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.5px;
}

.tomorrow-lockup .t-dash-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.tomorrow-lockup .t-dash {
    width: 32px;
    height: 3px;
    background: rgba(255, 255, 255, .75);
    border-radius: 2px;
    flex-shrink: 0;
}

.banner-text .sub-title {
    color: var(--accent-color);
    margin-bottom: 0;
}

.banner-text p {
    font-size: 22px;
    color: var(--white);
    margin-bottom: 35px;
    filter: drop-shadow(0 0 0.75rem #00000094);
}

.banner-swiper .swiper-button-next,
.banner-swiper .swiper-button-prev {
    transform: none;
    top: unset;
    bottom: 60px;
    width: 45px;
    height: 45px;
    border: 2px solid var(--white);
    right: 55px;
}

.banner-swiper .swiper-button-prev {
    left: unset;
    right: 110px;
}

.banner-swiper .swiper-button-next:after,
.banner-swiper .swiper-button-prev:after {
    color: var(--white);
    font-size: 16px;
}

.banner-swiper .swiper-pagination-bullet {
    border-radius: 0;
    background: transparent;
}

.banner-swiper .swiper-pagination {
    width: auto;
    left: unset;
    right: 85px;
    bottom: 105px;
    font-size: 20px;
    color: #ffffff8c;
}

.banner-swiper .swiper-pagination-current {
    color: var(--white);
    font-size: 35px;
}

.login-btn {
    display: flex;
    padding: 3px 13px;
    background: var(--accent-color);
    border-radius: 50px;
    gap: 5px;
    align-items: center;
}

.banners-btn {
    width: 100%;
    background: var(--accent-color);
    border-radius: 10px;
    padding: 15px 25px;
    display: flex;
    align-items: center;
    gap: 25px;
    color: var(--white);
    font-weight: 600;
}

.banners-btn i {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    background: var(--white);
    color: var(--primary-color);
    font-size: 22px;
}

.banners-btn svg {
    font-size: 16px;
}

.banner-btm {
    margin-top: -35px;
    position: relative;
    z-index: 1;
}

.about-paragraph {
    padding-top: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #e0e0e0;
    border-top: 1px solid #e0e0e0;
}

.theme-btn-s {
    padding: 0;
    background: transparent;
    color: var(--accent-color);
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    text-decoration: underline;
    gap: 10px;
}

.theme-btn-s svg {
    width: 16px;
}

.about-img-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    background: var(--primary-color);
    border-radius: 8px;
}

.about-img-wrapper {
    padding-top: 15px;
    padding-left: 15px;
}

.about-img-wrapper img {
    /* height: 500px; */
    object-fit: cover;
    border-radius: 50%;
    border: 8px solid var(--accent-color);
}


.main-curriculum-text {
    position: absolute;
    padding: 50px;
    top: 0;
    left: 0;
    background: #032c60c4;
    width: 30%;
    color: var(--white);
    height: 100%;
}

.main-curriculum-text .main-title,
.main-curriculum-text h3 {
    color: var(--white);
}

.main-curriculum-text p {
    color: #ffffffc7;
    margin-bottom: 0;
    font-size: 14px;
}

.main-curriculum-text h3 {
    font-size: 20px;
    /* margin-top: 10px; */
    margin-bottom: 15px;

}

.main-curriculum-text .main-title {
    font-weight: 400;
    font-size: 40px;
}

.top-line {
    width: 1px;
    background: rgb(255 255 255 / 30%);
    height: 25px;
}

.number-section {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.numbers {
    padding:64px 48px;
    position: relative;
}
.col-lg-3:first-child .numbers {
        background-color: #f7e8ea;
}
.col-lg-3:nth-child(2) .numbers {
     background-color: #f6f7e8;
}.col-lg-3:nth-child(3) .numbers {
 background-color: #e8eaf7;
}
.col-lg-3:last-child .numbers {
      background-color: #e8f7f5;
}
.col-lg-3:first-child .numbers h3 {
           color: #ec1c44;
}
.col-lg-3:nth-child(2) .numbers h3 {
      color: #fbb414;
}.col-lg-3:nth-child(3) .numbers h3{
    color: #0371d2;
}
.col-lg-3:last-child .numbers h3{
      color: #1c8749;
}

.numbers p {
    font-size: 16px;
    color: var(--primary-color);
    line-height: 16px;
    text-transform: uppercase;margin-bottom:0
}

.numbers h3 {
    font-size: 60px;
    font-weight: 700;
    line-height: 65px;
    margin-bottom: -5px;
}
.dropdown-item.active, .dropdown-item:active{
	background: var(--primary-color);color: #fff
}
.qlink-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .1);
    transition: background .2s, border-color .2s;
}

.qlink-pill.active {
    background: var(--accent-color);
    border-color: var(--accent-color);
}

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

.about-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--primary-color);
    color: #fff;
    padding: 1.25rem 1.75rem;
    border-radius: 14px;
    text-align: center;
    position: absolute;
    top: -20px;
    right: -20px;
}

.about-badge .badge-num {
    font-weight: 900;
    font-size: 22px;
    line-height: 1;
}

.about-badge .badge-txt {
    font-size: 10px;
    color: var(--accent-color);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 2px;
}

.abt-left {
    border-radius: 30px;
    overflow: hidden;
}


.main-curriculum-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.15);
}

.abt-top {
    background: var(--primary-color);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top left;
    filter: grayscale(1);
}

.gallery-item {
    height: 450px;
    position: relative;

}

.gallery-btn {
    display: block;
    height: 100%;
}

.g-height {
    height: 100%;
}

.gallerySwiper .swiper-button-prev,
.gallerySwiper .swiper-button-next {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    padding: 10px;
    background: var(--accent-color);
}

.gallerySwiper .swiper-button-prev:after,
.gallerySwiper .swiper-button-next:after {
    font-size: 20px;
    color: var(--white);
}

.gallerySwiper .swiper-slide-active .gallery-item img {
    filter: grayscale(0);
}

.gallery-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    background: linear-gradient(0deg, rgba(0, 0, 0, .83) 0%, rgba(0, 0, 0, 0) 100%);
    padding-top: 70px;
    color: var(--white);
}

.gallery-caption p {
    margin-bottom: 0;
}

.gallery-caption h3 {
    color: var(--white);
}

.footer {
    border-top: 16px solid var(--accent-color);
    background: var(--primary-color);
    padding-top: 70px;
}

.footer-right {}

.footer-widget ul {
    padding-left: 0;
    margin-bottom: 0;
}

.footer-widget ul li {
    list-style: none;
    margin-top: 10px;
}

.footer-widget ul li a {
    color: var(--white);
}

.footer-widget h4 {
    color: var(--accent-color);
    font-weight: 700;
    font-size: 22px;
}

.social-ul li a {
    border-radius: 50%;
    display: flex;
    width: 40px;
    background: transparent;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--white);
    color: var(--white);
    font-size: 16px;
    height: 40px;
}

.social-ul ul li a svg {
    background: transparent;
    width: auto;
    height: auto;
    color: var(--white);
}

.address-widget ul li a {
    display: flex;
    gap: 10px;
    font-size: 14px;
}

.address-widget ul li a svg {
    flex-shrink: 0;
    width: 18px;
}

.address-widget ul li {
    color: var(--white);
    font-size: 14px;
    margin-top: 10px;
}

.footer-left p {
    color: var(--white);
    margin-top: 25px;
    font-size: 14px;
}

.footer-left,
.footer-right {
    margin-bottom: 70px;
}

.footer-left {
    padding-right: 100px;
    border-right: 1px solid hsla(0, 0%, 100%, .2);
}

.social-ul {
    margin-top: 40px;
}

.footer-right {
    padding-left: 100px;
}

.footer-logo img {
    width: 100px;
}

.copyright p {
    margin-bottom: 0;
    display: flex;
    gap: 10px;
    align-items: center;
}

.copyright {
    padding: 10px 0;
    background: #272727;
    color: var(--white);
    font-size: 14px;
}

.copyright p a {
    color: var(--accent-color);
}

.news-img img {
/*     height: 400px;
    object-fit: cover; */width:100%
}

.news-text {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    text-align: center;
    color: var(--white);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.7) 20%, rgba(0, 0, 0, 0.85) 80%, rgba(0, 0, 0, 1) 100%);
}

.news-text h3 a {
    font-size: 27px;
    font-weight: 700;
    color: var(--white);display:block
}

.news-text h3 {
    padding: 10px 0px;
    border-bottom: 2px solid var(--white);
    border-top: 2px solid var(--white);
}

.news-text p {
    font-size: 14px;
    display: none;
}

.news-text time {
    font-size: 14px;
    color: var(--accent-color);
}

.news-swiper {
    padding-bottom: 70px;
}

.news-swiper .swiper-pagination-bullet {
    background: var(--primary-color);
    width: 0.8rem;
    height: 0.8rem;
    transition: 0.7s all ease;
    border-radius: 2rem;
}

.masonry {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 1em;
    -moz-column-gap: 1em;
    column-gap: 1em;
    padding: 0;
    -moz-column-gap: 1.5em;
    -webkit-column-gap: 1.5em;
    column-gap: 1.5em;
    font-size: 0.85em;
    position: relative;
}

@media only screen and (max-width: 320px) {
    .masonry {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1;
    }
}

@media only screen and (min-width: 321px) and (max-width: 768px) {
    .masonry {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1200px) {
    .masonry {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }
}

@media only screen and (min-width: 1201px) {
    .masonry {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }
}

.masonry .gallery-items {
    width: 100%;
    transition: 0.3s ease-in-out;
    /* box-shadow: 0 22px 30px -10px rgb(0 0 0 / 40%); */
    /* padding: 5px; */
    /* margin-top: 25px; */
    /* background: #fecb6a; */
    margin-bottom: 23px;
    position: relative;
    border: 5px solid var(--green3);
    border-radius: 30px;
    overflow: hidden;
}

@media (max-width: 991px) {
    .masonry .gallery-items {
        margin-bottom: 1.5em;
    }
}

.gallery-text {
    position: absolute;
    top: 50%;
    display: flex;
    width: 70px;
    height: 70px;
    left: 50%;
    background: #ffffff;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease-in;
    transform: translate(-50%, -50%);
}

.gallery-text i {
    color: var(--primary-color);
    font-size: 20px;
}

.gallery-img-wrap:hover .gallery-text {
    opacity: 1;
    visibility: visible;
}

.curriculum-text {
    position: absolute;
    bottom: -30%;
    left: 0;
    text-align: center;
    padding: 25px;
    color: var(--white);
    background: #032C60;
    background: linear-gradient(0deg, rgba(3, 44, 96, 0.8) 0%, rgba(3, 44, 96, 0) 100%);
    transition: 0.3s ease-in;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.col-lg-4:first-child .curriculum-card .curriculum-text{
	 background: linear-gradient(0deg, rgba(236, 28, 68, 0.8) 0%, rgba(3, 44, 96, 0) 100%);
}
.col-lg-4:nth-child(2) .curriculum-card .curriculum-text{
	 background: linear-gradient(0deg, rgb(251 180 20 / 80%) 0%, rgba(3, 44, 96, 0) 100%);
}
.col-lg-4:last-child .curriculum-card .curriculum-text{
	 background: linear-gradient(0deg, rgb(3 113 210 / 80%) 0%, rgba(3, 44, 96, 0) 100%);
}
.curriculum-img {
    aspect-ratio: 1;
}

.curriculum-img img {
    height: 100%;
    object-fit: cover;
}

.curriculum-text p {
    font-size: 14px;
    margin-bottom: 0;
}

.curriculum-text h3 {
    font-weight: 700;
    font-size: 24px;
    color: var(--white);
}

.curriculum-text h4 {
    font-size: 20px;
    font-weight: 600;
    color: var(--white);
    font-family: var(--subtitle-font);
    font-style: italic;
    margin-bottom: 25px;
}

.curriculum-img::before {
    content: '';
    position: absolute;
    bottom: 0;
    height: 200px;
    background: linear-gradient(0deg, rgba(3, 44, 96, 0.8) 0%, rgba(3, 44, 96, 0) 100%);
    left: 0;
    width: 100%;
}

.curriculum-card:hover .curriculum-text {
    bottom: 0;
    height: 100%;
    background: #032C60;
}
.col-lg-4:first-child .curriculum-card:hover .curriculum-text{
	 background: rgba(236, 28, 68, 1);
}
.col-lg-4:nth-child(2) .curriculum-card:hover .curriculum-text{
	 background:rgb(251 180 20);
}
.col-lg-4:last-child .curriculum-card:hover .curriculum-text{
	 background: rgb(3 113 210);
}
.curriculum-card {
    border-radius: 50% 50% 0 0;
}

.bg-img {
    background-image: url("../images/1.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.bg-img::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: var(--black2);
    opacity: 0.8;
}

.top-hover-sec a {
    padding: 5px 10px;
    border: 1px solid var(--white);
    margin-top: 25px;
    display: inline-block;
}

.custom-container2 {
    padding: 0 12px;
    padding-left: 150px;
}

.bg-pattern {
    background-image: url(../images/sm-bg-grid.png);
    background-repeat: repeat;
    background-attachment: scroll;
    background-size: auto auto;
    background-position: center center;
}

.abt-right {
    padding-left: 40px;
}

.clubs-pill {
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 999px;
    padding: 14px 22px;
    color: #fff;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}

.clubs-pill .pill-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.clubs-pill .pill-name {
    font-weight: 700;
    font-size: 14px;
}

.clubs-pill .pill-desc {
    font-size: 11px;
    color: var(--lightgrey);
    margin-top: 1px;
}

.clubs-pill.accent {
    background: var(--accent-color);
    border-color: var(--accent-color);
}

.big-heading h2 {
    background: var(--primary-color);
    width: fit-content;
    padding: 10px 50px;
    color: var(--white);
    font-weight: 600;
    text-align: center;
    margin-bottom: 0;
    font-size: 3.5dvw;
}

.big-heading h2:nth-child(even) {
    font-family: var(--subtitle-font);
    font-style: italic;
    background: var(--accent-color);
    font-weight: 500;
}

.notice-board {
    width: 100%;
    height: 50dvh;
    background: #fff;
    display: flex;
    border-radius: 0;
    flex-direction: column;
    margin-top: 25px;
    background: var(--primary-color);
    border-radius: 0 0 30px 30px;
    overflow: hidden;

}

.notice-container {
    flex: 1;
    overflow: hidden;
    border-bottom: 1px solid #E5E7EB;
    position: relative;
}

.notices {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #E5E7EB;
    border-bottom: 1px solid #E5E7EB;
    border-left: 1px solid #E5E7EB;
    animation: scroll-up 55s linear infinite;
}

.notice-board:hover .notices {
    animation-play-state: paused
}

.notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background-color: #f9fafb;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #E5E7EB;
}

.notice-icon {
    font-size: 1.2em;
    color: var(--primary-color);
    margin-top: 4px
}

.notice-content {
    display: flex;
    flex-direction: column
}

.notice-text {
    color: var(--primary-color);
    font-size: 20px;
    text-shadow: none;
    font-weight: 700;
}

.notice-content p {
    font-size: 14px;
    line-height: 1.2;
    color: var(--black);
    text-shadow: none;
}

.attachment-link {
    font-size: .9em;
    color: var(--accent-color);
    font-weight: 600;
    text-decoration: underline
}

.attachment-link:hover {
    text-decoration: underline
}

@keyframes scroll-up {
    0% {
        transform: translateY(0)
    }

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

.notice time {
    background: var(--accent-color);
    padding: 5px;
    color: var(--white);
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    border-radius: 8px;
    line-height: 1;
    font-size: 20px;
}

.notice time span {
    font-size: 12px;
}

.notice-wrap {
    background: var(--primary-color);
    padding-top: 15px;
    border-radius: 30px;
}

.notice-wrap h3 a {
    color: var(--white);
}

.inner-text {

    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgb(21 34 95 / 50%);
    /* background: linear-gradient(139deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.1) 100%); */
    display: flex;
    justify-content: end;
    align-items: end;
    padding-bottom: 40px;
}

.innerpage-img {
    height: 370px;
}

.innerpage-img img {
    height: 100%;
    object-fit: cover;
}

.inner-text h2 {
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.5px;
    font-size: 55px;
    margin-bottom: 0;
}

.breadcrumb {
    padding: 5px 15px;
    background: #ffffffe6;
    border-radius: 50px;
}

.breadcrumb li {
    font-weight: 600;
}

.breadcrumb .breadcrumb-item.active, .breadcrumb-item+.breadcrumb-item::before {
    color: var(--accent-color);
}

.breadcrumb li a {
    color: var(--primary-color);
}

.inner-text .t-dash {
    width: 150px;
    height: 3px;
    background: rgba(255, 255, 255, .75);
    border-radius: 2px;
    flex-shrink: 0;
}

.principal-message h3 {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 18px;
    margin-top: 15px;
    margin-bottom: 10px;
    position: relative;
    display: flex;
    gap: 8px;
    align-items: center;
}

.principal-message h3::before {
    content: '\f621';
    font-family: fontAwesome;
    font-size: 14px;
    color: var(--primary-color);

}

.principal-message {
    padding: 25px;
    border-radius: 30px;
    background-color: var(--lightgrey);
}

.principal-message p, .principal-message ul li {
    font-size: 14px;
    line-height: 1.3;
}

.principal-img {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
    background: rgb(255, 255, 255);
    padding: 20px;
    border-width: 10px;
    border-style: solid;
    border-color: var(--accent-color);
    border-image: initial;
    border-radius: 50%;
    margin-bottom: 25px;
}

.principal-img img {
    border-radius: 50%;
    aspect-ratio: 1;
    width: 100%;
    object-fit: cover;
}

.ribbon {
    --s: 70px;
    --d: 20px;
    --c: 20px;
    padding: 5px calc(var(--s) + var(--d)) var(--d);
    background: conic-gradient(at left var(--s) bottom var(--d), #0000 25%, #0008 0 37.5%, #0004 0) 0 / 50% no-repeat, conic-gradient(at right var(--s) bottom var(--d), #0004 62.5%, #0008 0 75%, #0000 0) 100% / 50% no-repeat;
    clip-path: polygon(0 var(--d), var(--s) var(--d), var(--s) 0, calc(100% - var(--s)) 0, calc(100% - var(--s)) var(--d), 100% var(--d), calc(100% - var(--c)) calc(50% + var(--d) / 2), 100% 100%, calc(100% - var(--s) - var(--d)) 100%, calc(100% - var(--s) - var(--d)) calc(100% - var(--d)), calc(var(--s) + var(--d)) calc(100% - var(--d)), calc(var(--s) + var(--d)) 100%, 0 100%, var(--c) calc(50% + var(--d) / 2));
    background-color: var(--primary-color);
    text-align: center;
    color: #fff;
    font-size: 25px;
    line-height: 2;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.ribbon h2 {
    font-size: 25px;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 0;
}

.ribbon p {
    margin-bottom: 0;
    font-size: 16px;
}

.infra-box {
    /* border-radius: 30px;
    overflow: hidden;
    background: var(--primary-color); */
    /* color: var(--white); */
}

.infra-text {
    /* padding: 25px;
    min-height:330px; */
}

.infra-text h3 {
    font-weight: 700;
    color: var(--accent-color);
    font-size: 25px;
    margin-bottom: 15px;padding: 10px;background: var(--primary-color);text-align: center;margin-top: 15px;border-radius: 50px;
}

.infra-text ul {
    margin-bottom: 0;
    padding-left: 1rem;
}

.infra-text ul li {
    margin-bottom: 8px;
    /* color: var(--lightgrey); */
}

.infra-text ul li::marker {
    color: var(--accent-color);
}
.infra-img {
padding: 0 35px;
}.infra-img img{
      aspect-ratio: 1; height: 100%;object-fit: cover; border-radius:50%;overflow: hidden;border: 5px solid var(--primary-color);
}
.infra-text ul li strong {
    /* color: var(--white); */ color: var(--accent-color);
}

/* .infra-img::before {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    height: 50px;
    background: var(--primary-color);
    bottom: -1px;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);z-index: 2;
}
.infra-img::after {
    content: '';
    position: absolute;
    width: 100%;
    left: 0;
    height: 60px;
    background: var(--accent-color);
    bottom: 0;
  clip-path: polygon(0 88%, 0 100%, 100% 100%, 100% 88%, 50% 0);z-index: 1;
} */
.cite{
       color: var(--accent-color);
    position: relative;
    font-weight: 600;
    font-size: 25px;
    font-family: var(--subtitle-font);
    /* display: block; */
    line-height: 1.2;
    font-style: italic;margin-top: 35px;text-align: center;padding: 35px;border: 1px solid var(--accent-color);
}.cont-info2 {
    padding: 25px;
    background: var(--lightgrey);
   height: 100%;
    border-radius: 30px;
}.cont-icn {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 15px;
    font-size: 30px;
    font-weight: 600;
}.cont-icn i {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    border: 1px solid var(--primary-color);
    border-radius: 50%;
    color: var(--primary-color);
}.cont-info2 h5 {
    color: var(--primary-color);
    margin-bottom: 0;
    font-size: 25px;
    font-weight: 700;
}.cont-info2 p{
    font-size: 14px;margin-bottom: 0;
}.cont-info2 p a {
    color: var(--black);
}.contact-form-wrapper2 {
   
    padding: 46px 30px 30px;
    background: var(--accent-color);
    border-radius: 30px;
}.contact-form-wrapper2 label {
    font-size: 14px;
    color: var(--white);
    margin-bottom: 5px;
}.contact-form-wrapper2 input, .contact-form-wrapper2 textarea, .contact-form-wrapper2 select
{
    height: 45px;
    padding: 0 30px 0 30px;
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
    border-radius: 10px;
    font-size: 16px;
    width: 100%;
}.contact-form-wrapper2 textarea{
    height: 100px;
}.contact-form-wrapper2 input:focus, .contact-form-wrapper2 textarea:focus {
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
}.cont-map{
    border-radius: 30px;overflow: hidden;
}.contact-form-wrapper2 input.theme-btn{
	background: #152256;
    border: #152256;
    border-radius: 50px;
}
.single-team-style1 {
    position: relative;
    display: block;
    transition: all 100ms linear;
    transition-delay: 0.1s;
    margin-bottom: 25px;
    overflow: hidden;
}.single-team-style1 .img-box {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 30px;
}.single-team-style1 .img-box img {
    width: 100%;
    transition: all 200ms linear;
    transition-delay: 0.1s;
}.single-team-style1 .img-box .title-box {
    position: absolute;
    left: 25px;
	right:25px;
    bottom: 25px;
    padding: 25px;border-radius:10px;
    z-index: 3;
    background: var(--primary-color);
}.single-team-style1 .img-box .title-box h3 {
    font-size: 21px;
    line-height: 20px;
    font-weight: 700;
    margin-bottom: 0;
    color: var(--white);text-align:center;
}.single-team-style1 .img-box .title-box span {
    color: var(--accent-color);
    font-size: 13px;
    line-height: 20px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;text-align:center;
}.single-team-style1 .img-box .title-box span p{margin-bottom:0}

.profile-card {
  background: var(--primary-color);color:#fff;
    border-radius: 25px;
    padding: 50px 60px;
    position: relative;    padding-left: 165px;
}

.profile-img {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    border: 8px solid var(--accent-color);
    overflow: hidden;
    position: absolute;
    left: -130px;
    top: 50%;
    transform: translateY(-50%);
    background: #b57b7b;
}

.profile-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.vision-text {
    font-style: italic;
    font-weight: 600;
    margin-bottom: 30px; color:var(--accent-color);font-size:22px;    line-height: 1.3;
}

.profile-header {
    text-align: right;
    margin-bottom: 15px;
}

.profile-header h6 {
    margin: 0;
    font-weight: 700;    font-size: 25px;
    color: #fff;
}

.profile-header small {
    color:var(--accent-color);
}

.profile-content {
    display: flex;
    gap: 20px;
}

.left-bar {
    width: 6px;
    background: var(--accent-color);flex-shrink: 0;
}
.profile-content p {
    margin: 0;
  font-size:14px
}
.prof-2 .profile-img{
	    left: unset;
    right: -130px;
}.prof-2 .profile-card{
	    padding: 50px 60px;
    padding-right: 165px;
}
.prof-2 .profile-header {
    text-align: left;
}.blog-card-five {
    position: relative;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    border-radius: 0;
    background: #fff;    padding: 15px;
    border: 1px solid #959595;
    border-bottom: 8px solid var(--accent-color);    margin-right: 0;
    margin-left: 0;
    width: 100%;
    margin-bottom: 25px;
}.blog-img-five {
    position: relative;
    overflow: hidden;
    border-radius: 0;
}.blog-img-five img {
    transition: all 0.3s ease;
    height: 235px;
    object-fit: cover;
    width: 100%;
    object-position: top;
}.blog-content5 {
    position: relative;
    padding-top: 15px;
/*        min-height: 150px; */
}.blog-meta-five {
    list-style: none;
    padding: 0;
    margin-bottom: 10px;
    font-size: 14px;
}.blog-meta-five li {
    color: var(--accent-color);
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
}.blog-meta-five li:last-child i {
    margin-right: 3px;
}.blog-content5 .title {
    font-size: 20px;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 0;color:var(--primary-color)
}.awards-pills {
     background: var(--primary-color);
    border-radius: 40px;
    padding: 10px;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2), -2px -2px 5px rgba(255, 255, 255, 0.6);
    display: inline-flex !important;
    gap: 10px;
}.list-inline-item {
    display: inline-block;
}.list-inline-item:not(:last-child) {
    margin-right: .5rem;
}.awards-pills.nav-pills .nav-link {
    border: 1px solid var(--accent-color);
    border-radius: 30px;
    transition: all 0.2s ease-in-out;
    padding: 5px 35px;
    color:var(--accent-color);
}.awards-pills.nav-pills .nav-link.active, .awards-pills.nav-pills .nav-link:hover {
    background:var(--accent-color);
    color: #ffffff;
}.new-notice-box-inner{
	border: 1px solid #eee;
    background: #fff;
    border-radius: 30px;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    margin-bottom: 35px;padding:35px
}.notice-top-left h4{
	    font-size: 30px;
    font-weight: 800;
    margin-bottom: 0;color:var(--primary-color);
}.notice-bottom p{
	font-size:14px
}.new-notice-box-inner time{
	padding:25px; background:var(--accent-color);display: block;color:#fff;border-radius:10px;
	text-align:center;font-weight:700;font-size:35px;
}.new-notice-box-inner time span{
	font-size:20px;display:block
}.banner-boxes{position:relative;z-index:1; margin-top:-50px}.banner-boxes:before{
	    position: absolute;
    content: '';
    bottom: -1px;
    width: 100%;
    background: var(--primary-color);
    height: 85%;
}.faq-accordion .accordion-button{
	    font-weight: 700;
    background: var(--primary-color);font-size:22px;color: var(--white);border-radius:50px !important;
}.faq-accordion .accordion-item{
    margin-bottom: 10px;
    border: none;
      border-radius: 45px !important;
}.faq-accordion .accordion-body{padding:25px;}.faq-accordion .accordion-button::after{filter:invert(1)}.faq-accordion .accordion-button:not(.collapsed){ color: var(--accent-color);}.faq-accordion .accordion-body ul li:marker{color: var(--accent-color);}
  .blog-card {
      border-radius:20px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 8px 30px rgba(13,46,94,.13), 0 2px 8px rgba(13,46,94,.08);
      transition: transform .28s ease, box-shadow .28s ease;
      cursor: pointer;
    }
    .blog-card:hover {
      transform: translateY(-5px);
      box-shadow: 0 18px 48px rgba(13,46,94,.18), 0 4px 14px rgba(13,46,94,.10);
    }

    /* ── Header banner ── */
    .card-banner {
      position: relative;

      overflow: hidden;
    }

    .banner-photo-wrap {
     position: relative;
    }

 

    /* Date pill */
    .date-pill {
      position: absolute;
      bottom: 14px;
      left: 14px;
      background: var(--accent-color);
      color: #fff;
      font-size: .72rem;
      font-weight: 600;
      letter-spacing: .04em;
      padding: 5px 12px;
      border-radius: 4px;
      text-transform: uppercase;
    }

    /* ── Body ── */
    .card-body-custom {
      padding: 20px 20px 22px;
    }

    .card-title-custom {
      font-size: 1.18rem;
      font-weight: 700;
      color: var(--primary-color);
      line-height: 1.38;
      margin: 0 0 14px;
      letter-spacing: -.01em;
    }


    .read-more {
      margin-top: 18px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: .8rem;
      font-weight: 600;
      color: var(--primary-color);
      text-decoration: none;
      letter-spacing: .02em;
      transition: gap .2s ease, color .2s ease;
    }
    .read-more:hover {
      gap: 10px;
      color: var(--accent-color);
    }
    .read-more svg {
      transition: transform .2s ease;
    }
    .read-more:hover svg {
      transform: translateX(3px);
    }.card-body-custom p{
    font-size: .75rem;
      font-weight: 500;
    }
  article.blog-details {
        background: var(--white);
        border-radius: 30px;
        padding: 48px 52px;
        box-shadow: 0 4px 24px rgba(13, 46, 94, .07);
    }

    /* ── All heading tags ── */
    article.blog-details h1 {

        font-size: 2rem;
        font-weight: 800;
        color: var(--primary-color);
        line-height: 1.22;
        margin: 0 0 24px;
        border-left: 5px solid var(--accent-color);
        padding-left: 18px;
    }

    article.blog-details h2 {

        font-size: 1.52rem;
        font-weight: 700;
        color: var(--primary-color);
        margin: 44px 0 16px;
        position: relative;
        padding-bottom: 10px;
    }

    article.blog-details h2::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 48px;
        height: 3px;
        background: var(--accent-color);
        border-radius: 2px;
    }

    article.blog-details h3 {

        font-size: 1.22rem;
        font-weight: 700;
        color: var(--primary-color);
        margin: 32px 0 12px;
        font-style: italic;
    }

    article.blog-details h4 {

        font-size: 1rem;
        font-weight: 700;
        color: var(--primary-color);
        margin: 26px 0 10px;
        text-transform: uppercase;
        letter-spacing: .07em;
        font-style: normal;
    }

    article.blog-details h5 {

        font-size: .9rem;
        font-weight: 700;
        color: var(--accent-color);
        margin: 20px 0 8px;
        letter-spacing: .05em;
    }

    article.blog-details h6 {

        font-size: .8rem;
        font-weight: 700;

        margin: 16px 0 6px;
        text-transform: uppercase;
        letter-spacing: .1em;
    }

    /* ── Paragraph & text ── */
    article.blog-details p {
        margin-bottom: 1.3em;
    }

    article.blog-details strong {
        font-weight: 700;
        color: var(--primary-color);
        background: #ffddd6;
        padding: 1px 4px;
        border-radius: 3px;
    }

    article.blog-details em {
        font-style: italic;
        color: var(--primary-color);
    }

    /* ── Anchor ── */
    article.blog-details a {
        color: var(--primary-color);
        text-decoration: underline;
        text-decoration-color: rgba(42, 109, 191, .35);
        text-underline-offset: 3px;
        font-weight: 700;
        transition: color .2s, text-decoration-color .2s;
    }

    article.blog-details a:hover {
        color: var(--accent-color);
        text-decoration-color: var(--accent-color);
    }

    /* ── UL ── */
    article.blog-details ul {
        list-style: none;
        padding: 0;
        margin: 0 0 1.4em;
    }

    article.blog-details ul li {
        position: relative;
        padding-left: 22px;
        margin-bottom: 8px;
    }

    article.blog-details ul li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 10px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--accent-color);
        box-shadow: 0 0 0 2px var(--orange-lt);
    }

    /* ── OL ── */
    article.blog-details ol {
        padding-left: 0;
        margin: 0 0 1.4em;
        counter-reset: ol-counter;
        list-style: none;
    }

    article.blog-details ol li {
        counter-increment: ol-counter;
        position: relative;
        padding-left: 38px;
        margin-bottom: 10px;

    }

    article.blog-details ol li::before {
        content: counter(ol-counter);
        position: absolute;
        left: 0;
        top: 2px;
        width: 24px;
        height: 24px;
        background: var(--primary-color);
        color: #fff;

        font-size: .72rem;
        font-weight: 700;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }

    /* ── Blockquote ── */
    article.blog-details blockquote {
        border: none;
        background: var(--lightgrey);
        border-left: 5px solid var(--primary-color);
        border-radius: 0 10px 10px 0;
        padding: 24px 28px;
        margin: 32px 0;
        font-style: italic;
        font-size: 1.08rem;
        color: var(--primary-color);
        position: relative;
    }

    article.blog-details blockquote::before {
        content: '\201C';

        font-size: 4rem;
        color: var(--primary-color);
        opacity: .3;
        position: absolute;
        top: -8px;
        left: 12px;
        line-height: 1;
    }

    article.blog-details blockquote cite {
        display: block;
        margin-top: 10px;
        font-style: normal;

        font-size: .78rem;

        letter-spacing: .04em;
    }



    /* ─── SIDEBAR ─── */
    aside {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }

    .sidebar-widget {
        background: var(--white);
        border-radius: 30px;
        padding: 28px 26px;
        box-shadow: 0 4px 18px rgba(13, 46, 94, .06);
    }

    .widget-title {

        font-size: 1.05rem;
        font-weight: 800;
        color: var(--primary-color);
        margin: 0 0 20px;
        padding-bottom: 12px;
        border-bottom: 2px solid var(--accent-color);
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .widget-title .dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--accent-color);
        display: inline-block;
    }

    /* Latest blogs list */
    .blog-list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .blog-list li {
        padding: 14px 0;
        border-bottom: 1px solid var(--lightgrey);
    }

    .blog-list li:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .blog-list a {
        text-decoration: none;
        display: block;
    }

    .blog-list .bl-date {

        font-size: .68rem;
        font-weight: 700;
        color: var(--accent-color);
        letter-spacing: .07em;
        text-transform: uppercase;
        margin-bottom: 4px;
    }

    .blog-list .bl-title {
        font-size: .92rem;
        line-height: 1.42;
        font-weight: 700;
        transition: color .2s;
        color: var(--primary-color);
    }

    .blog-list a:hover .bl-title {
        color: var(--primary-color);
    }

    .blog-list .bl-cat {
        display: inline-block;

        font-size: .64rem;
        background: var(--lightgrey);
        color: var(--primary-color);
        padding: 2px 8px;
        border-radius: 10px;
        margin-top: 6px;
        font-weight: 700;
    }.blog-img{
        margin-left: -52px;margin-right: -52px;margin-bottom: 25px;border-radius: 30px;overflow: hidden;margin-top: -48px;
    }.gallery-style1.layout2 .gallery-btn {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: linear-gradient(0deg, rgba(0, 64, 28, .8), rgba(0, 64, 28, .8)), linear-gradient(0deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .15)); */
    /* z-index: -1; */
    background: transparent;
    transition: all .5s;
    opacity: 1;
    visibility: visible;
    border-radius: 0;
    top: unset;
    transform: unset;
}.gallery-style1.layout2 {
    position: relative;
}.gallery-style1 .gallery-img {
    overflow: hidden;
    position: relative;
    border-radius: 30px;
}.gallery-style1 .gallery-img img {
    width: 100%;
    transform: scale(1.001);
    transition: all ease 0.4s;
    height: 245px;
    object-fit: cover;
}.gallery-style1:hover .gallery-img img {
    transform: scale(1.15);
}.float-whatsapp {
    position: fixed;
    width: 50px;
    height: 50px;
    bottom: 50px;
    right: 30px;
    background-color: #25d366;
    color: #fff;
    border-radius: 50px;
    font-size: 30px;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}.float-whatsapp:hover {
    background-color: #158740;
    color: #fff !important;
}.privacy-policy-wrapper a{
	font-weight:600;color:var(--accent-color)
}.privacy-policy-wrapper ul li:marker{
	color:var(--accent-color)
}.wpcf7-not-valid-tip, .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    color: #f1ffda!important;
}.small-h1{
	    font-size: 20px;
    font-weight: 700;
    color: var(--accent-color);
}