/* FONT IMPORT*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Tamil:wght@900&display=swap');
.CormorantGaramond    {font-family: "EB Garamond", serif;font-optical-sizing: auto; font-weight: 800;font-style: normal;}
.noto-serif-tamil{ font-family: "Noto Serif Tamil !important", serif; font-optical-sizing: auto;  font-weight: 900 !IMPORTANT;    font-variation-settings:    "wdth" 100;}
html {
  scroll-behavior: smooth;
}
.poppins{ font-family: "Poppins", sans-serif;}

.open-sans {
  font-family: "Open Sans" !important;
  font-optical-sizing: auto;
 
  font-variation-settings:
    "wdth" 200;
}
/* FONT IMPORT 09-11-2025*/
@font-face {
  font-family: 'MyCustomFont';
  src: url('./assets/PoynterText-Bold.ttf')
}
.displayfont{font-family:'MyCustomFont'}
.headline::before{content:'';position:absolute;left:0;right:0;top: 60%;height: 28%;background:#E6B800;z-index:-1;transform-origin:center;}
.headline{position:relative;display:inline-block;}
.headlinea::before{content:'';position:absolute;left:0;right:0;top: 60%;height: 28%;background:#72a5bc;z-index:-1;transform-origin:center;}
.headlinea{position:relative;display:inline-block;}




.navbar { box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);  z-index: 1000;  }
 .nav-link {  font-size: 17px;  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
  color: #003566 !important;
  text-decoration: none;
  padding: 10px 18px;
  transition: color 0.3s ease;}
  .nav-link:hover {
  color: #00B4D8 !important;
}
.nlcf-prbgcolor{background-color: #f4f4f4;}
.nlcf-prbgbuttontxt:hover  { background-color: #0090B5 !important;}
.nlcf-prbgbuttontxt {  background-color: #00B4D8 !important;color: #FFFFFF !important; font-weight: 600 !important; border-radius: 8px !important;  padding: 10px 18px !important;  transition: all 0.3s !important;}
.textdark{color: #003566!important;}
.textdarksec{color:#00B4D8 }
.textdarknet{color:#5A5A5A}
.textmuteblu{color:#D9EAFD}
.textmuteblu:hover{color:#00B4D8}
.bgdarkaa{background-color: #003566 !important;}


.bgdarkc{background-color:#EAEAEA !important;color:#003566 !important}
.bgdaricon{background-color:#c2dded !important;}
.whitebg {background-color: #F8F9FA;}
.whitebga {background-color: #ffffff}

/*Navbar Large screen MOVING LINE start*/
#navbarNav li { position: relative;}
.nav-item::before {content: '';position: absolute; top: 0; left: 0; width: 0; height: 2px; background-color: #4da3c9;transition: width 0.3s ease-out;  }
.nav-item:hover::before {width: 100%; }                
/*Navbar Large screen end*/                       

/*navbar small screen START*/
.navbar-container {width: 100%;padding: 28px 20px;display: flex; justify-content: space-between;box-sizing: border-box;background-color: #f4f6fc; }
.navbar-logo {display: flex; align-items: center; }
.navbar-logo img { height: 46px;   }
.menu-icon {font-size: 24px;cursor: pointer;color: #212f58; }
.material-symbols-outlined { font-variation-settings:'FILL' 0, 'wght' 1100,  'GRAD' 400,  'opsz' 24 !important}
.nav-menu { position: fixed; top: 0;right: 200%; width: 100%;height: 100%;background-color: rgba(205,212,220,0.9); display: flex;flex-direction: column;justify-content: flex-start; padding-top: 60px; transition: right 0.3s ease-in-out;  z-index: 999; }
.nav-menu.open { right: 0;}
.nav-menu ul { list-style: none;padding: 0;margin: 0;width: 100%;}       
.nav-menu ul li {text-align: center;  border-bottom: 1px solid #4da3c9; /* Separator for menu items */  }      
.nav-menu ul li a { display: block;  padding: 15px 20px; text-decoration: none;color: #003566;   font-size: 1.2em;transition: background-color 0.2s ease; }
.nav-menu ul li a:hover {background-color: #212f58; color:white}
.close-icon {  position: absolute; top: 20px;  right: 20px;font-size: 28px;cursor: pointer;color: #212f58 !important;}
/*navbar small screen end*/

/*hero section START*/
#hero{height:80vh;color:white;position:relative;}
#hero::before{content:'';position:absolute;inset:0; background: linear-gradient( rgba(0, 53, 102, 0.65),rgba(0, 180, 216, 0.35));z-index:-1} 
#herovideo{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}
@media (max-width: 768px) {#hero{height:80vh;}}
.hero-btn-primary {
 background: linear-gradient(to left, #003566, #00B4D8);
  background-size: 200% auto; /* Allows gradient movement */
  color: white;
  padding: 15px 32px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-position 0.6s ease; /* Smooth transition */box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);  letter-spacing: 0.3em
}
 
.hero-btn-primary:hover { background-position: right center !important;}
.hero-btn-outline {  border: 2px solid #FFFFFF !important;  color: #FFFFFF !important;background: transparent !important; transition: all 0.3s ease;}
.hero-btn-outline:hover {background-color: #FFFFFF !important;color: #003566 !important;}

/*animation purpose*/
.hero-text {transition: opacity 1s ease, transform 1s ease;}
.hero-text.hide {opacity: 0;transform: translateY(20px); }  

.subtitle {
  font-family: 'Open Sans', sans-serif;
  color: #6C757D;}
  .time {
  font-family: 'Poppins', sans-serif ;
  color: #00B4D8;
  font-size: 24px ;
  font-weight: 500;
  letter-spacing: 0.5px;
}

.btn-visit {
  display: inline-block;
  background-color: #00B4D8 !important;
  color: #FFFFFF !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
 
  text-decoration: none !important;
  
  letter-spacing: 0.5px;
  box-shadow: 0 2px 8px rgba(0, 180, 216, 0.3);
  transition: all 0.3s ease;
}

.btn-visit:hover {
  background-color: #0090B5 !important;
  box-shadow: 0 4px 12px rgba(0, 144, 181, 0.4) !important;
  transform: translateY(-2px) !important;
}

/*welcome*/
.shadow-box {box-shadow: 0 8px 20px rgba(33, 47, 88, 0.1); }  
.bgbluea {background: linear-gradient(to bottom, #212f58, #4da3c9);}     

/* small groups kids our team START */
.image-overlay-container { position: relative;  overflow: hidden;display: flex;  height: 65vh;}
.image-overlay-containera {  height: 30vh !important;position: relative;  overflow: hidden;display: flex; }
.image-overlay-container .img-fluid {transition: transform 0.5s ease-in-out; width: 100%;  height: 100%; object-fit: cover;}
.image-overlay-container .text-overlay {  position: absolute;left: 0;top: 0; width: 100%;  height: 100%; display: flex;align-items: center;justify-content: center;color: rgba(33, 47, 88);  z-index: 2;transition: transform 0.5s ease-in-out;  flex-direction: column;text-align: center;}

  

.image-overlay-container::before {
  content: '';/* Create the overlay layer using a pseudo-element */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0,0,0,0.5), transparent);
  /* Semi-transparent dark overlay */
  transition: background-color 0.5s ease-in-out;
  z-index: 1;
  /* Puts the overlay between the image and text */
}
.image-overlay-container:hover .img-fluid {
  transform: scale(1.05);/* --- Hover Effect --- */
  /* Zoom in the image slightly on hover */
}
.image-overlay-container:hover .text-overlay {
  transform: scale(1.2); background: linear-gradient(to top, rgba(0,0,0,0.65), transparent);color: #ffffff !important;
 }

/*events START*/
.outlined-text {
  /* Changed from 'transparent' to a semi-transparent white color */
  color: rgba(77, 163, 201, 0.2);
  -webkit-text-stroke: 1px rgba(33, 47, 88, 0.1);
  font-size: 15vw;
  font-weight: 900;
  line-height: 0.8;
  top: 90%;
  left: 50%;
  transform: translate(-50%, -100%);
  /* Add transition for a smoother effect when JS changes properties */
  transition: opacity 0.1s linear, transform 0.1s linear;
}
/*events END*/

/* groth track START*/
.program-card {background-color: #ffffff; padding: 20px; margin-bottom: 20px; display: flex;  align-items: flex-start;transition: background-color 0.5s ease-in-out; min-height: 60vh; }

.program-icon { margin-right: 20px;  text-align: center;}
.program-card:hover{background-color: #becad6; }
/* groth track END*/


.shine-container { position: relative;width: 100%;height: auto;overflow: hidden;} 
 
  
  
  

.shine-container img {
  display: block;
  width: 100%;
  height: auto;
}
.shine-effect::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.2) 50%,
      rgba(255, 255, 255, 0) 100%);
  filter: blur(20px);
  transform: skewX(-25deg);
  animation: shine 4s ease-in-out infinite;
}
@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}/* welcome section image ANIMATION END*/


.translate{translate: 5% 10%;}
.translatea{translate: 5% -15%;}


/* event hero  */

.heroa{height:42vh;color:white;position:relative; width:100}
.heroa::before{content:'';position:absolute;inset:0; background: linear-gradient( rgba(0, 53, 102, 0.08),rgba(0, 180, 216, 0.9));z-index:-1} 
.heroaimage { position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover; z-index: -2}
@media(max-width:768px) {.heroa {height: 70vh }}
.display{font-size: clamp(49px, 5cqi, 56px);}
.display-a{font-size: clamp(42px, 5cqi,48px);} 

    
 



.event{height:75vh;}
.eventfull{height:100vh; width:100%}
.eventfull>video{width:100%;object-fit: cover;}
 



.eventbox {
  container-type: inline-size; /* ✅ correct keyword (not 'inline') */
  height: 10%;
}

/* ✅ Use proper selector grouping — target only p and h2 inside .eventbox */
.eventbox > p {font-size: clamp(.8rem, 5cqi, 1rem);  --line-height: 1.4;  --max-lines: 2;  /* 👈 number of lines to show */  
  display: block;line-height: var(--line-height); max-height: calc(var(--max-lines) * 1em * var(--line-height)); overflow: hidden; position: relative;}
.eventbox>p::after{content: "";position: absolute; bottom: 0;left: 0;width: 210%;  height: calc(1em * var(--line-height));background: linear-gradient(to right, transparent, white);}
  

.eventbox > h2 {
  font-size: clamp(.9rem, 5cqi, 1.5rem);           
  --line-height: 1.4;  --max-lines: 1;  /* 👈 number of lines to show */  
  display: block;line-height: var(--line-height); max-height: calc(var(--max-lines) * 1em * var(--line-height)); overflow: hidden; position: relative;}
 .eventbox > h2::after {content: "";position: absolute; bottom: 0;left: 0;width: 100%;  height: calc(1em * var(--line-height));background: linear-gradient(to right, transparent, white);}
  .eventboxa{transition: background-color 0.4s ease;}
 .eventboxa:hover{background-color:#EAEAEA}
   
 
  /* new here



/* Style for the question header */
.accordion-header {
  letter-spacing: .3rem;
    text-transform: uppercase;
        transition: color 0.3s;
}

/* State when the question is clicked (optional hover effect) */
.accordion-header:hover .accordion-headera {
    color: #00B4D8; /* Slight color change on hover */
}

/* Style for the answer content */
.accordion-content {
    /* HIDDEN BY DEFAULT: Use height: 0 and opacity: 0 for smooth transition */
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease-out, opacity 0.4s ease-out;
    padding: 0 10px;
}

.accordion-content p {
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.5;
    font-size: 15px;
}

/* CLASS ADDED BY JAVASCRIPT: Shows the content */
.accordion-item.active .accordion-content {
    max-height: 300px; /* Needs to be larger than the content's actual height */
    opacity: 1;
    padding-top: 5px;
    padding-bottom: 15px;
}
  

/* forms */


.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

/* Name Fields Layout */
.name-fields {
    display: flex;
    gap: 20px;
}

.input-col {
    flex: 1;
}

.sub-label {
    font-weight: normal;
    font-size: 12px;
    color: #777;
    margin-top: 5px;
}

/* Input Field Styling */
input[type="text"],
input[type="email"],
input[type="date"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box; /* Ensures padding doesn't affect total width */
    font-size: 14px;
}

/* Specific styling for the date/visit input width */
#visitDate {
    max-width: 150px; /* Matches the width in the image */
}

/* Submit Button Styling (The teal/green color) */
.submit-button {
    background-color: #4CAF50; /* A darker green for visibility */
    background-color: #4da99b; /* Color closer to the image */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
}

.submit-button:hover {
    background-color: #3a8b7d;
}

/* --- POPUP (MODAL) STYLING --- */

/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 100; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 15% from the top and centered */
    padding: 30px;
    border: 1px solid #888;
    width: 80%;
    max-width: 400px;
    border-radius: 8px;
    text-align: center;
    position: relative;
    animation: fadeIn 0.3s;
}

/* The Close Button */
.close-button {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 20px;
}

.close-button:hover,
.close-button:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}  


/* watch page*/
.text-shadow {
    text-shadow: 2px 2px 10px rgba(15,203,215,0.7);
}