.text-cust-primary{
    color: #570004;
}

.text-tetso-blue{
    color: #08445e;
}
.text-tetso-yellow{
    color: #f1971f;
}
.scho-btn{
    border-radius: 30px;
    color: #fff;
    background-color: #f1971f;
}
.yellow-btn{
    color: #fff;
    background-color: #f1971f;
}
.scho-btn:hover{
    color: #fff;
}
.contact-badge{
    background: #f6f6f6;
  padding: 50px;
  margin: 20px 0px;
  font-size: large;
  display: flex;
  flex-direction: column;
}
.contact-link{
    color: #570004;
}

.qualification-section ul{
    margin: 0;
    padding: 0 0 0 1rem;
    list-style-type: none !important;
}

.timeline ul li, .timeline ol li{
    list-style: none;
}
.events-content ul li, .events-content ol li{
    list-style: none;
}

.cd-horizontal-timeline {
  opacity: 0;
  margin: 2em auto;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.cd-horizontal-timeline::before {
  /* never visible - this is used in jQuery to check the current MQ */
  content: 'mobile';
  display: none;
}
.cd-horizontal-timeline.loaded {
  /* show the timeline after events position has been set (using JavaScript) */
  opacity: 1;
}
.cd-horizontal-timeline .timeline {
  position: relative;
  height: 100px;
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}
.cd-horizontal-timeline .events-wrapper {
  position: relative;
  height: 100%;
  margin: 0 40px;
  overflow: hidden;
}
.cd-horizontal-timeline .events-wrapper::after, .cd-horizontal-timeline .events-wrapper::before {
  /* these are used to create a shadow effect at the sides of the timeline */
  content: '';
  position: absolute;
  z-index: 2;
  top: 0;
  height: 100%;
  width: 20px;
}
.cd-horizontal-timeline .events-wrapper::before {
  left: 0;
  background-image: -webkit-linear-gradient( left , #f8f8f8, rgba(248, 248, 248, 0));
  background-image: linear-gradient(to right, #f8f8f8, rgba(248, 248, 248, 0));
}
.cd-horizontal-timeline .events-wrapper::after {
  right: 0;
  background-image: -webkit-linear-gradient( right , #f8f8f8, rgba(248, 248, 248, 0));
  background-image: linear-gradient(to left, #f8f8f8, rgba(248, 248, 248, 0));
}
.cd-horizontal-timeline .events {
  /* this is the grey line/timeline */
  position: absolute;
  z-index: 1;
  left: 0;
  top: 49px;
  height: 2px;
  /* width will be set using JavaScript */
  background: #dfdfdf;
  -webkit-transition: -webkit-transform 0.4s;
  -moz-transition: -moz-transform 0.4s;
  transition: transform 0.4s;
}
.cd-horizontal-timeline .filling-line {
  /* this is used to create the green line filling the timeline */
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #570004;
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -ms-transform: scaleX(0);
  -o-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -ms-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  -webkit-transition: -webkit-transform 0.3s;
  -moz-transition: -moz-transform 0.3s;
  transition: transform 0.3s;
}
.cd-horizontal-timeline .events a {
  position: absolute;
  bottom: 0;
  z-index: 2;
  text-align: center;
  font-size: 1.3rem;
  padding-bottom: 15px;
  color: #383838;
  /* fix bug on Safari - text flickering while timeline translates */
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
}
.cd-horizontal-timeline .events a::after {
  /* this is used to create the event spot */
  content: '';
  position: absolute;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: -5px;
  height: 12px;
  width: 12px;
  border-radius: 50%;
  border: 2px solid #dfdfdf;
  background-color: #f8f8f8;
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  -moz-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s;
}
.no-touch .cd-horizontal-timeline .events a:hover::after {
  background-color: #7b9d6f;
  border-color: #7b9d6f;
}
.cd-horizontal-timeline .events a.selected {
  pointer-events: none;
}
.cd-horizontal-timeline .events a.selected::after {
  background-color: #570004;
  border-color: #570004;
}
.cd-horizontal-timeline .events a.older-event::after {
  border-color: #7b9d6f;
}
@media only screen and (min-width: 1100px) {
  .cd-horizontal-timeline {
    margin: 2em auto;
  }
  .cd-horizontal-timeline::before {
    /* never visible - this is used in jQuery to check the current MQ */
    content: 'desktop';
  }
}

.cd-timeline-navigation a {
  /* these are the left/right arrows to navigate the timeline */
  position: absolute;
  z-index: 1;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 34px;
  width: 34px;
  border-radius: 50%;
  border: 2px solid #dfdfdf;
  /* replace text with an icon */
  overflow: hidden;
  color: transparent;
  text-indent: 100%;
  white-space: nowrap;
  -webkit-transition: border-color 0.3s;
  -moz-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.cd-timeline-navigation a::after {
  /* arrow icon */
  content: '';
  position: absolute;
  height: 16px;
  width: 16px;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  background: url(../images/svgs/arrow-right.svg) no-repeat 0 0;
}
.cd-timeline-navigation a.prev {
  left: 0;
  background-color: #570004;
  -webkit-transform: translateY(-50%) rotate(180deg);
  -moz-transform: translateY(-50%) rotate(180deg);
  -ms-transform: translateY(-50%) rotate(180deg);
  -o-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}
.cd-timeline-navigation a.next {
  right: 0;
  background-color: #570004;
}
.no-touch .cd-timeline-navigation a:hover {
  border-color: #7b9d6f;
}
.cd-timeline-navigation a.inactive {
  cursor: not-allowed;
  background-color: rgb(170, 170, 170);
}
.cd-timeline-navigation a.inactive::after {
  background-position: 0 -16px;
}
.no-touch .cd-timeline-navigation a.inactive:hover {
  border-color: #dfdfdf;
}

.cd-horizontal-timeline .events-content {
  position: relative;
  width: 100%;
  margin: 1rem 0 2em 0;
  overflow: hidden;
  -webkit-transition: height 0.4s;
  -moz-transition: height 0.4s;
  transition: height 0.4s;
}
.cd-horizontal-timeline .events-content li {
  position: absolute;
  z-index: 1;
  width: 100%;
  left: 0;
  top: 0;
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
  padding: 0 5%;
  opacity: 0;
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-timing-function: ease-in-out;
  -moz-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
.cd-horizontal-timeline .events-content li.selected {
  /* visible event content */
  position: relative;
  z-index: 2;
  opacity: 1;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}
.cd-horizontal-timeline .events-content li.enter-right, .cd-horizontal-timeline .events-content li.leave-right {
  -webkit-animation-name: cd-enter-right;
  -moz-animation-name: cd-enter-right;
  animation-name: cd-enter-right;
}
.cd-horizontal-timeline .events-content li.enter-left, .cd-horizontal-timeline .events-content li.leave-left {
  -webkit-animation-name: cd-enter-left;
  -moz-animation-name: cd-enter-left;
  animation-name: cd-enter-left;
}
.cd-horizontal-timeline .events-content li.leave-right, .cd-horizontal-timeline .events-content li.leave-left {
  -webkit-animation-direction: reverse;
  -moz-animation-direction: reverse;
  animation-direction: reverse;
}
.cd-horizontal-timeline .events-content li > * {
  max-width: 800px;
  margin: 0 auto;
}
.cd-horizontal-timeline .events-content h2 {
  font-weight: bold;
  font-size: 2.6rem;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  line-height: 1.2;
}
.cd-horizontal-timeline .events-content em {
  display: block;
  font-style: italic;
  margin: 10px auto;
}
.cd-horizontal-timeline .events-content em::before {
  content: '- ';
}
.cd-horizontal-timeline .events-content p {
  font-size: 1.4rem;
  color: #959595;
}
.cd-horizontal-timeline .events-content em, .cd-horizontal-timeline .events-content p {
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .cd-horizontal-timeline .events-content h2 {
    font-size: 7rem;
  }
  .cd-horizontal-timeline .events-content em {
    font-size: 2rem;
  }
  .cd-horizontal-timeline .events-content p {
    font-size: 1.8rem;
  }
}

@-webkit-keyframes cd-enter-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
  }
}
@-moz-keyframes cd-enter-right {
  0% {
    opacity: 0;
    -moz-transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0%);
  }
}
@keyframes cd-enter-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
  }
}
@-webkit-keyframes cd-enter-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
  }
}
@-moz-keyframes cd-enter-left {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -moz-transform: translateX(0%);
  }
}
@keyframes cd-enter-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
  }
}

.testmonial-img-section{
    min-width: 250px;
    height: 300px;
}
.testmonial-img-section img{
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.disc_list li{
    list-style: disc;
}

.custom_heading_badge{
    background-color: #f6f6f6;
    padding: 30px;
    color: #000000;
    font-size: 20px;
    font-weight: bold;
}

.admission_steps li{
    font-size: 20px;
    color: #000;
    font-weight: bold;
}

.campus-tour-badge{
    padding: 25px 26px;
    background-color: #f6f6f6;
    border: 1px solid #890C25;
    color: #890C25;
}

.campus-tour-badge ol li {
    color: #890C25;
}

.campus-tour-badge img{
    min-width: 100px;
    height: 100px;
}

.clubs-section{
    display: flex;
    align-items: center;
}

.clubs-section img{
    min-width: 200px;
    height: 200px;
    object-fit: contain;
    padding: 0 10px;
}

@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
  .clubs-section img{
    display: none;
  }
}

.publication_card{
    background: #fff;
    box-shadow: 7px 7px 60px rgba(22,23,26,0.06);
    margin-bottom: 30px;
    padding:30px;
}

.project_card{
    background: #fff;
    box-shadow: 7px 7px 60px rgba(22,23,26,0.06);
    margin-bottom: 30px;
}

.project_card .project_header {
    background-color: #570004;
    color: #fff;
    padding: 15px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    font-size: 16px;
    border-bottom: 2px solid #f1971f;
    position: relative;
}

.project_card .project_desc{
    padding: 0 20px 20px 10px;
}

.project_status{
    position: absolute;
    right: 0;
    bottom: 0;
    -webkit-transform: translate(-20%, 50%) !important;
    -ms-transform: translate(-20%, 50%) !important;
    transform: translate(-20%, 50%) !important;
    background-color: #f1971f;
    border-radius: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

.sticky-notification {
    position: fixed;
    bottom: 0;
    width: 100%;
    background: #08445e;
    z-index: 999;
    height: 50px;
    display: flex;
    align-items: center;
}

.notificationSwiper {
    width: 100%;
}

.sticky-notification .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
    height: 50px;
}

.sticky-notification .swiper-slide a {
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    text-align: center;

    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;   /* 👈 limit to 2 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
    max-width: 90%
}

.sticky-notification .swiper-button-prev,
.sticky-notification .swiper-button-next {
    color: #fff;
    scale: 0.4;
}

@media (max-width: 768px) {
    .sticky-notification .swiper-button-prev,
    .sticky-notification .swiper-button-next {
        display: none !important;
    }
    .notificationSwiper {
        padding: 0 10px;
    }
}


.fab-wrapper {
    position: fixed;
    bottom: 90px;
    right: 30px;
    display: flex;
    align-items: center;
    z-index: 999;
}

/* Container for items */
.fab-items {
    display: flex;
    gap: 5px;
    margin-right: 5px;
}

/* Individual white boxes */
.fab-item {
    width: 50px;
    height: 50px;
    background: #eee;
    border-radius: 6px;
    border: 1px solid #000;
    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

/* Main black button */
.fab-main {
    width: 50px;
    height: 50px;
    background: #570004;
    color: #fff;
    border-radius: 6px;

    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Hover trigger */
.fab-wrapper:hover .fab-item {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger animation (delay each box) */
/* .fab-wrapper:hover .fab-item:nth-child(1) { transition-delay: 0.05s; }
.fab-wrapper:hover .fab-item:nth-child(2) { transition-delay: 0.1s; }
.fab-wrapper:hover .fab-item:nth-child(3) { transition-delay: 0.15s; }
.fab-wrapper:hover .fab-item:nth-child(4) { transition-delay: 0.2s; }
.fab-wrapper:hover .fab-item:nth-child(5) { transition-delay: 0.25s; } */

.fab-wrapper.active .fab-item {
    opacity: 1;
    transform: translateY(0);
}
.sticky-float-container{
    position: fixed;
    bottom: 90px;
    right: 30px;
    z-index: 999;
}
.sticky-float{
    cursor: pointer;
    background: #570004;
    padding: 8px;
    display: inline-block;
    position: relative;
    border-radius: 50%;
}
.sticky-float img{
    height: 40px;
    width: 40px;
}
/* Tooltip */
.fab-item a::before, .fab-main a::before {
    content: attr(data-label);
    position: absolute;
    bottom:52px;
    right: -10px;

    background: #000;
    color: #fff;
    font-size: 12px;
    padding: 5px 8px;
    border-radius: 5px;
    white-space: nowrap;

    opacity: 0;
    transform: translateX(10px);
    transition: 0.2s;
}
.fab-item a:hover::before, .fab-main a:hover:before {
    opacity: 1;
    transform: translateX(0);
}

a.whatsapp-btn:hover,
a.whatsapp-btn:active,
a.whatsapp-btn:visited{
    color: #fff;
}

/* -------------------------------------------------------Chatbot CSS Start */
#chat-widget {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9999;
}

/* Floating Button */
#chat-toggle {
    width: 60px;
    height: 60px;
    background: #570004;
    color: #fff;
    font-size: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* Chat Box */
#chat-box {
    width: 340px;
    height: 460px;
    background: #ECE5DD;
    border-radius: 12px;
    display: none;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.3);
    margin-bottom: 10px;
}

/* Header */
#chat-header {
    background: #570004;
    color: white;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.avatar {
    width: 35px;
    height: 35px;
    /* background: #ccc; */
    /* border-radius: 50%; */
}
.avatar i {
    align-items: center;
    justify-content: center;
}

.title {
    font-size: 14px;
    font-weight: bold;
}

.status {
    font-size: 11px;
    opacity: 0.8;
}

/* Messages */
#chat-messages {
    flex: 1;
    padding: 10px;
    overflow-y: auto;
}

/* Message bubbles */
.user-msg, .bot-msg {
    display: flex;
    margin: 6px 0;
}

.user-msg {
    justify-content: flex-end;
}

.bot-msg {
    justify-content: flex-start;
}

.user-msg span {
    background: #f1971f;
    padding: 8px 12px;
    border-radius: 8px;
    max-width: 70%;
    color: #fff;
}

.bot-msg span {
    background: white;
    padding: 8px 12px;
    border-radius: 8px;
    max-width: 70%;
}

/* Input FIXED */
#chat-input-area {
    display: flex;
    align-items: center;
    padding: 8px;
    background: #f0f0f0;
    gap: 8px;
}

#chat-input {
    flex: 1;
    padding: 10px;
    border-radius: 20px;
    border: 1px solid #ccc;
    outline: none;
}

/* Button FIXED (no more 95% issue) */
#chat-input-area button {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: #570004;
    color: white;
    cursor: pointer;
}
.dots::after {
    content: '';
    animation: dots 1.5s steps(3, end) infinite;
}

@keyframes dots {
    0% { content: ''; }
    33% { content: '.'; }
    66% { content: '..'; }
    100% { content: '...'; }
}
#chat-header span:hover{
cursor: pointer;
}
/* ------------------------------------------------------------Chatbot CSS End */
/* Card layout */
.video-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: #959595;
}

/* Video container */
.course-video {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
}

/* Image styling */
.course-video img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* Zoom effect on hover */
.video-card:hover .course-video img {
    transform: scale(1.08);
}

/* Play button center */
.video-play {
    position: absolute;
    inset: 0; /* shorthand for top:0; left:0; right:0; bottom:0 */
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-play .play-icon {
    width: 20px;
    height: 20px;
    position: absolute;
}
.video-play .round {
    width: 60px;
    height: 60px;
    animation: rotateCircle 8s linear infinite;
}

@keyframes rotateCircle {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

/* Content alignment */
.video-card .content {
    flex-grow: 1;
}

/* Responsive heights */
@media (max-width: 992px) {
    .course-video {
        height: 200px;
    }
}

@media (max-width: 576px) {
    .course-video {
        height: 180px;
    }
}

.course-video-img{
    height: 40rem;
    display: block;
    margin: 0 auto;
}
