/* Global Reset to remove default margins, padding, and box model styles */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Define primary, secondary colors, and other global styles in the :root */
:root {
  /* Primary color */
  --primary-color: #1f7a6f;
  --primary-color-light: #19aea7;
  --primary-color-dark: #185e56;
  --primary-color-dark-alpha: rgba(24, 94, 86, 0.9);
  /* secondary color */
  --secondary-color: #ffcf49;
  --secondary-color-dark: #fac22a;
  /* General text color (dark gray) */
  --text-color: #4e4e4e;
  /* Background color for body */
  --body-bg-color: #f4f4f4;
  --gray-color-light: #f5f5f5;
  --gray-color: #ececec;
  --gray-color-hover: #cfcfcf;
  /* outline color  */
  --border-color: #d6d6d6;
  /* Base font family */
  --font-family: "roboto", sans-serif;
  /* Base font size */
  --font-size-base: 18px;
  /* Large font size */
  --font-size-lg: 1.25rem;
  /* Small font size */
  --font-size-sm: 0.875rem;
}

html {
  scroll-behavior: smooth;
}

/* Apply body-level styles */
body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  color: var(--text-color);
  background-color: var(--body-bg-color);
  line-height: 1.6;
  /* Line height for readability */
  margin: 0;
}

h1,
h2,
h3,
h4,
h5 {
  color: #000000;
}

/* Button Styles */
.btna {
  display: inline-block;
  background-color: #ffffff;
  /* Primary color for buttons */
  color: #000000;
  border: none;
  padding: 8px 18px !important;
  font-size: var(--font-size-base);
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  list-style: none;
  transition: all 0.2s;
}

.btna-hover {
  background-color: var(--gray-color);
  color: #000000;
}

.btn-pri {
  background-color: var(--primary-color);
  color: #ffffff;
}

.btn-pri-hover:hover {
  background-color: var(--primary-color-dark);
  color: #ffffff;
}

.btn-sec {
  background-color: var(--secondary-color);
  color: #000000;
}

.btn-sec-hover:hover {
  background-color: var(--secondary-color-dark);
  color: #000000;
}

.btn-gray {
  background-color: var(--gray-color);
  color: #000000;
}

.btn-gray-hover:hover {
  background-color: var(--gray-color-hover);
  color: #000000;
}

.pri-color {
  color: var(--primary-color);
}

.pri-color-hover:hover {
  color: var(--primary-color-dark);
}


.sec-color {
  color: var(--secondary-color);
}

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

.pri-background-dark {
  background-color: var(--primary-color-dark);
}
.sec-background {
  background-color: var(--secondary-color);
}

.sec-color-hover:hover {
  color: var(--secondary-color);
}

.border1 {
  border: 1px solid var(--border-color);
}

.gray-color {
  color: var(--gray-color)
}

.gray-color-hover:hover {
  color: var(--gray-color-hover);
}
.gray-background {
  background-color: var(--gray-color)
}

.gray-background-hover:hover{
  background-color: var(--gray-color-hover)
}


.gray-background-light {
  background-color: var(--gray-color-light);
}

.gray-background-light-hover:hover {
  background-color: var(--gray-color-light);
}

.inputa {
  padding: 10px 15px;
  background-color: var(--gray-color-light);
  border-radius: 4px;
  border: 1px solid var(--border-color);
}

.input-focus:focus {
  border-color: var(--primary-color);
  box-shadow: none;
}

.text-color{
  color: var(--text-color);
}




/* section animation */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(50px);
  /* or whatever your animation uses */
  transition: all 0.6s ease-out;
  pointer-events: none;
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}


/*------------navbar-----------*/

.nav-list {
  gap: 6px !important;
}

.navbar {
  width: 100%;
  height: 80px !important;
}


/* Main nav items */
.navbar-nav .nav-link,
.dropdown-menu .dropdown-item {
  position: relative;
  padding-bottom: 5px;
  color: black;
  text-decoration: none;
}

/* Underline effect */
.navbar-nav .nav-link::after, .navbar-nav .dropdown::after{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: var(--secondary-color-dark);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.2s ease;
}

/* Hover effect: show underline */
.navbar-nav .nav-link:hover::after,
.navbar-nav .dropdown:hover::after{
  transform: scaleX(1);
}

/* Hover effect: change text color */
.navbar-nav .nav-link:hover,
.navbar-nav .dropdown:hover {
  color: var(--secondary-color-dark);
}





/* Custom Styles for Dropdown */

/* Dropdown menu styling */
.dropdown-menu {
.dropdown-menu {
  display: none;
  position: absolute;
  background-color: white;
  min-width: 200px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  padding: 0;
  margin: 0px;
  border: none;
  border-radius: 8px;
  overflow: hidden;

}
}

.dropdown-menu {
  margin-top: 0.2rem !important;
  /* Equivalent to Bootstrap's mt-2 */
}


/* Show dropdown on hover */
.nav-item:hover > .dropdown-menu,
.dropdown:hover > .dropdown-menu {
  display: block;
}

/* Nested dropdown positioning */
.dropdown-menu .dropdown-menu {
  position: absolute;
  left: 100%;
  top: 0;
}

/* Submenu links styling */
.dropdown-menu .dropdown-item {
  color: #333;
  padding: 10px 20px;
  border-radius: 8px;
}

/* Hover effect on submenu items */
.dropdown-item:hover {
  background-color: var(--gray-color);
  border-radius: 0px;
}

.dropdown i {
  font-size: 12px;
  margin-left: 5px !important;
}

/*------------top section-----------*/

.top-section {
  width: 100%;
  height: 18rem;
  color: #fff;
  margin-bottom: 5rem;
}



.word-english-box{
  position: relative;
  width: 100%;
  height: 18rem;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  

}

.word-english-img{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}
.word-english-text{
  z-index: 2;
}





/*------------our cource-----------*/

/* Styling for the image boxes */

.course-box {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease-in-out forwards;

}

.course-box1{
  animation-delay: 0.2s;
}

.course-box2{
  animation-delay: 0.4s;
}

.course-box3{
  animation-delay: 0.6s;
}

.course-box4{
  animation-delay: 0.8s;
}

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




.img-box {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.img-box img {
  width: 100%;
  transition: transform 0.3s ease;
}

.img-box:hover img {
  transform: scale(1.1);
}

/* Hover overlay styling */
.hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  padding: 20px;
  text-align: center;
}

.img-box:hover .hover-overlay {
  opacity: 1;
}

/*------------------why chose us ----------------- */

.why-chose-us{
  opacity: 0;
  transform: translateY(50px);
  animation: why-chose-us 0.8s ease-in-out forwards;


}

.why-chose-us-text{
  animation-delay: .2s;
  
}

.why-chose-us-pra{
  animation-delay: .4s;
}

.why-chose-btn{
  animation-delay: .6s;
}


@keyframes why-chose-us {
  to {
    opacity: 1;
    transform: translateY(0);
}
}


.why-choose-us {
  background-color: var(--primary-color-dark);
  position: relative;
  color: #fff;
  padding: 60px 0;
  overflow: hidden;
  margin-top: 6rem !important;
}

#why-choose-us {
  position: relative;
  height: 25rem;
  /* Adjust as needed */
  overflow: hidden;
}

.background-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  /* Ensures the image covers the entire section */
  z-index: 1;
}

#why-choose-us::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--primary-color-dark-alpha);
  /* Green overlay with transparency */
  z-index: 2;
}

#why-choose-us .container {
  position: relative;
  z-index: 3;
  /* Ensures content appears above the overlay and image */
}

/*----gallery--*/

.container.gallery-container {
  color: #35373a;
}

.tz-gallery {
  padding: 0;
  margin: 0;
}

.tz-gallery .row {
  margin: 0;
}

.tz-gallery .row > div {
  padding: 0;
}

/* Gallery item styling */
.tz-gallery .lightbox {
  position: relative;
  display: block;
  overflow: hidden; /* Hide overflow to prevent images spilling outside */
}

.tz-gallery .lightbox img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures images fill the container without distortion */
  transition: transform 0.3s ease-in-out; /* Smooth zoom transition */
}

/* Zoom effect on hover */
.tz-gallery .lightbox:hover img {
  transform: scale(1.1); /* Zoom in effect */
}

/* Dark overlay and icon visibility */
.tz-gallery .lightbox:before {
  content: "\f00e"; /* Font Awesome zoom icon */
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -13px;
  margin-left: -13px;
  opacity: 0; /* Hide the icon by default */
  font-family: "FontAwesome"; /* Use FontAwesome for the icon */
  font-size: 30px;
  color: #fff;
  transition: opacity 0.3s ease-in-out;
  z-index: 2; /* Make sure the icon is above the image */
}

.tz-gallery .lightbox:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* Dark overlay */
  opacity: 0; /* Hide overlay by default */
  transition: opacity 0.3s ease-in-out;
  z-index: 1;
}

/* Show dark background and zoom icon when hovering over image */
.tz-gallery .lightbox:hover:after {
  opacity: 1; /* Show dark overlay */
}

.tz-gallery .lightbox:hover:before {
  opacity: 1; /* Show zoom icon */
}

/* Optional: If you want the image to slightly zoom when hovering */
.tz-gallery .lightbox:hover img {
  transform: scale(1.1); /* Zoom the image */
}


/*-----apply now----*/

.form-container {
  max-width: 50rem;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);

}

.staric-sign::after{
  content: " *";
  color: red;
  font-size: 1rem;
  }


/* our news*/
.card-img-post{
  height: 13rem;
  width: 100%;
  object-fit: cover;
  background-position: center;
  overflow: hidden;
}


.card-img {
  opacity: 1;
  transform: scale(1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-img:hover {
  transform: scale(1.03); /* Zoom in */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}


.card-img-cover{
  height: 16rem;
  width: 100%;
  object-fit: cover;
  background-position: center;
  overflow: hidden;
}

.card-img-cover-single{
  height: 30rem;
  width: 100%;
  object-fit: cover;
  background-position: center;
  overflow: hidden;
}


/* 
.news-heading{
  display: -webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;

} */


/* .news-text{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;

} */

.dropdown-toggle::after {
  display: none;
}



.navbar-toggler,
.navbar-toggler:focus, 
.navbar-toggler:active,
.navbar-toggler:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

.post-information .post-category a{
text-align: center;
padding: 6px 8px;
}



.post-information .post-date{
  font-size: 1rem;
}









/*----footer--*/

.footer {
  width: 100% !important;
  padding-top: 4rem;
}

/* Footer menu hover effect */
.footer-menu .nav-link, .contact-info ul li h5, .footer-abouthus p {
  color: #ccc;
  /* Default text color */
  transition: all 0.3s ease;
  padding: 5px 0px;

}

.footer-menu .nav-link:hover, .contact-info ul li h5:hover, .footer-abouthus p:hover  {
  color: #fff;
  /* White text on hover */
}

/* Remove underline effect from footer menu */
.footer-menu .nav-link::after {
  content: none !important;
}


.social-icons i {
  font-size: 24px;
  margin-right: 15px;
 transition: all 0.3s ease;
  color: #ffffff;
}
.social-icons i:hover {
  color: var(--secondary-color);
}


.sub-footer {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 4rem;
  background-color: #0d4e47;
}









/* Extra small devices (XS) (default) */
@media (max-width: 576px) {

/* Already included - keeping it */
  .carousel-inner img {
    height: 12rem;
    /* Reduced for smaller screens */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 1rem;
    left: .5rem;
    text-align: left;
    padding: 0 0.8rem;
  }

  .carousel-caption h2 {
    margin-top: 1rem;
    font-size: .9rem;
    line-height: 1.2;
  }

  .carousel-caption a.btna {
    font-size: 0.65rem;
    padding: 0.4rem 0.8rem;
    margin: 0.1rem;
    display: block;
  }

  /* Optional: stack buttons vertically on very small screens */
  .carousel-caption .text-center {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }


.custom-box {
  background-color: gray;
}

.nav-btn-sm{
  margin-left: 0 !important;
  padding-left:0 !important;

}

.nav-sm{
  padding-left:.8rem !important;


}

#why-choose-us {
  height: 40rem;
}

.news-card {
  margin-bottom: 2em;
}

.r-reserved {
  font-size: .8rem;
}




.word-english-box{
  position: relative;
  width: 100%;
  height: 18rem;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  

}

.word-english-img{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: -15rem 8rem;
  z-index: 1;
}
.word-english-text{
  z-index: 2;
}




}

/* Small devices (SM) */
@media (min-width: 576px) and (max-width: 767px){


.carousel-inner img {
    height: 16rem;
    /* Reduced for smaller screens */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 1rem;
    text-align: left;
    left: 6rem;
    padding: 0 0.8rem;
  }

  .carousel-caption h2 {
    margin-top: 1rem;
    font-size: 1.2rem;
    line-height: 1.2;
  }

  .carousel-caption a.btna {
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
    margin: 0.1rem;
    display: block;
  }

    /* Optional: stack buttons vertically on very small screens */
    .carousel-caption .text-center {
      display: flex;
      flex-direction: row;
      align-items: flex-start;
    }



  .custom-box {
    background-color: red;
  }

  #why-choose-us {
    height: 35rem;
  }

  
}

/* Medium devices (MD) Tablet */
@media (min-width: 768px) and (max-width: 991px) {

.carousel-inner img {
    height: 22rem;
    /* Reduced for smaller screens */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 1rem;
    text-align: left;
    left: 7rem;
    padding: 0 0.8rem;
  }

  .carousel-caption h2 {
    margin-top: .5rem;
    font-size: 1.5rem;
    line-height: 1.2;
  }

  .carousel-caption a.btna {
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
    margin-top: 2.5rem;
    display: block;
  }

  /* Optional: stack buttons vertically on very small screens */
  .carousel-caption .text-center {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }



  .custom-box {
    background-color: yellow;
  }

  #why-choose-us {
    height: 30rem;
  }

  
}

/* Large devices (LG) Leptop Computer */
@media (min-width: 992px) and (max-width: 1199px) {


.carousel-inner img {
    height: 25rem;
    /* Reduced for smaller screens */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 1rem;
    text-align: left;
    left: 6rem;
    padding: 0 0.8rem;
  }

  .carousel-caption h2 {
    margin-top: .5rem;
    font-size: 1.8rem;
    line-height: 1.2;
  }

  .carousel-caption a.btna {
    font-size: 1rem;
    padding: 0.4rem 0.8rem;
    margin-top: 1.8rem;
    display: block;
  }

  /* Optional: stack buttons vertically on very small screens */
  .carousel-caption .text-center {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }





  .custom-box {
    background-color: blue;
  }

 
  .nav-item.dropdown:hover .dropdown-menu {
    display: block;
}


  .navbar-collapse ul li a {
    font-size: 1rem;
  }

  #why-choose-us {
    height: 26rem;
  }

  .card-img {
    height: 37rem;
  }

  .news-heading {
    height: 50px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .news-text {
    height: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 1rem;
  }

 


}

/* Extra large devices (XL)  Destop Computer */
@media (min-width: 1200px) and (max-width: 1399px) {
 
.carousel-inner img {
    height: 30rem;
    /* Reduced for smaller screens */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 1rem;
    text-align: left;
    left: 6rem;
    padding: 0 0.8rem;
  }

  .carousel-caption h2 {
    margin-top: 1rem;
    font-size: 1.9rem;
    line-height: 1.2;
  }

  .carousel-caption a.btna {
    font-size: 1.2rem;
    padding: 0.4rem 0.8rem;
    margin-top: 3rem;
    display: block;
  }

  /* Optional: stack buttons vertically on very small screens */
  .carousel-caption .text-center {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }






  .custom-box {
    background-color: rgb(8, 122, 98);
  }

  .navbar-collapse ul li a {
    font-size: 1.1rem;
  }

  .card-img {
    height: 35rem;
  }

  #why-choose-us {
    height: 24rem;
  }
 
 


}
/* Extra extra large devices (XXL) Large Destop Computer */
@media (min-width: 1400px) {

.carousel-inner img {
    height: 40rem;
    /* Reduced for smaller screens */
    object-fit: cover;
  }

  .carousel-caption {
    bottom: 1rem;
    left: 10rem;
    text-align: left;
    padding: 0 0.8rem;
  }

  .carousel-caption h2 {
    margin-top: 1rem;
    font-size: 1.9rem;
    line-height: 1.2;
  }

  .carousel-caption a.btna {
    font-size: 1.2rem;
    padding: 0.4rem 0.8rem;
    margin-top: 3rem;
    display: block;
  }

  /* Optional: stack buttons vertically on very small screens */
  .carousel-caption .text-center {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }



  .custom-box {
    background-color: rgb(81, 0, 128);
  }

  .navbar-collapse ul li a {
    font-size: 1.1rem;
  }

  .card-img {
    height: 30rem;
  }

  #why-choose-us {
    height: 28rem;
  }



}

/* Post Content Clean Formatting */
.post-content-clean {
  line-height: 1.6;
  font-size: 1rem;
  text-align: justify;
}

.post-content-clean h4 {
  color: var(--primary-color);
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.8rem;
}

.post-content-clean h4:first-child {
  margin-top: 0;
}

.post-content-clean p {
  margin-bottom: 1rem;
  color: var(--text-color);
}

.post-content-clean .list-item {
  margin-bottom: 0.5rem;
  margin-left: 1rem;
  color: var(--text-color);
}
