/*----------------------------------------------
  🎨 Global Styles
----------------------------------------------*/
:root {
  --primary: #dc3545; /* Red */
  --highlight: #ffffff; /* White */
  --contrast: #000000; /* Black */
  --neutral: #f8f9fa; /* Light gray */
  --background: #ffffff;
  --accent:#dc3545;
    --line:#e5e7eb;
    --asico-red: #dc3545;
      --dark-bg: #0a0a0a;
      --glass-bg: rgba(255, 255, 255, 0.08);
    --muted: #555;
    --red:         #dc3545;
      --red-dark:    #dc3545;
      --text:        #111827;
      --muted:       #4b5563;
      --bg:          #f9fafb;
      --card:        #ffffff;
      --shadow:      0 30px 60px rgb(0 0 0 / 20%);;
      --radius:      18px;
      --icon-size:   28px;
      --ascored:      #dc3545;
      --ascored-dark: #dc3545;
      --light-bg:     #f9fafb;
      --card-bg:      rgba(255,255,255,0.82);
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--background);
  color: var(--contrast);
font-family: 'Outfit', system-ui, -apple-system, sans-serif;
  margin: 0;
}
.text-left{text-align: left;}
p, li {
  color: #555;
  font-size: 1rem;
  line-height: 1.8;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--primary);
}

.daysfive{    border: 2px solid #dc3545;    background: #dc3545;
    border-radius: 33px;
    color: #fff;font-weight: 700;
  }
   .countbox   {background: #fff;
    height: 120px;
    width: 140px;
    padding-top: 20px;
    border-radius: 20px;    margin-right: 40px;}
     .countbox .small{color:#dc3545;} 
div.bottom:before {
  content : "";
  position: absolute;
  left    : 25px;
  bottom  : 0;
  height  : 15px;
  width   : 70%;
  border-bottom:5px solid #dc3545;
}
.keydates_section .timeline-row.third_row{
            margin-bottom: 10px !important;
        }
.tag , .eyebrow , .registration-page small , .housing-page small{
    display: inline-block;
    padding: 8px 24px;
    border-radius: 40px;
       background: linear-gradient(90deg, #dc3545, #dc3545);
    color: white;
    font-weight: 700;
    letter-spacing: 3px;
    font-size: 14px;
}
.timeline-row h6{color: #666;}
 .tag{
    background: #dc3545;
    color: white;
    padding: 15px 24px;
    border-radius: 9999px;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 1.5px;
}

.title{
 font-size: 40px;
    font-weight: 900;
    margin-top: 0px;
}
/*----------------------------------------------
  🎞 Animations
----------------------------------------------*/
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes type {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes cursor {
  50% { border-color: transparent; }
}

@keyframes rotateBounce {
  0% { transform: scale(1) rotate(0deg); }
  30% { transform: scale(1.2) rotate(15deg); }
  60% { transform: scale(0.95) rotate(-10deg); }
  100% { transform: scale(1) rotate(0deg); }
}

/*----------------------------------------------
  🎨 Navbar
----------------------------------------------*/
/* PROGRESS BAR */

.progress-bar{
position:fixed;
top:0;
left:0;
height:4px;
background:linear-gradient(90deg,#e63946,#ff6b6b);
width:0%;
z-index:2000;
}

/* HEADER */

header{
position:fixed;
top:20px;
left:0;
width:100%;
display:flex;
justify-content:center;
z-index:1000;
}

/* NAVBAR */

.navbar{
width:86%;
background:rgba(255,255,255,0.75);
backdrop-filter:blur(14px);
border-radius:60px;
padding:14px 30px;
display:flex;
align-items:center;
justify-content:space-between;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
border:1px solid rgba(255,255,255,.5);
}

/* LOGO */

.logo a{
font-size:28px;
font-weight:800;
color:#e63946;
letter-spacing:1px; text-decoration: none;
}
a.logoa{font-size:28px;
font-weight:800;
color:#e63946;
letter-spacing:1px; text-decoration: none;}
/* MENU */

.menu{
display:flex;
align-items:center;
gap:35px;
position:relative;
}

.menu a{
text-decoration:none;
color:#333;
font-weight:500;
display:flex;
align-items:center;
gap:8px;
padding:8px 4px;
transition:.3s;
position:relative;
}

/* ICON ANIMATION */

.menu a i{
transition:.3s;
}

.menu a:hover i{
transform:translateY(-2px);
color:#dc3545;
}

.menu a:hover{
color:#dc3545;
}

/* ACTIVE INDICATOR */

.indicator{
position:absolute;
bottom:-8px;
height:3px;
width:60px;
background:#dc3545;
border-radius:10px;
transition:.35s;
left:0;
}

/* CTA BUTTON */

.cta{
padding:12px 26px;
border-radius:40px;
background:linear-gradient(45deg,#dc3545,#dc3545);
color:white;
font-weight:600;
display:flex;
align-items:center;
gap:10px;
box-shadow:0 8px 25px rgba(230,57,70,.35);
transition:.3s;
}

.cta:hover{
transform:translateY(-2px);
box-shadow:0 15px 40px rgba(230,57,70,.45);
}

/* MEGA MENU */

.dropdown{
position:relative;
}

.mega{
position:absolute;
top:50px;
left:-100px;
background:white;
width:300px;
padding:25px;
border-radius:15px;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
display:none;
flex-direction:column;
gap:10px;
}

.dropdown:hover .mega{
display:flex;
}

.mega a{
color:#333;
padding:8px 0;
}

/* MOBILE */

.menu-toggle{
display:none;
font-size:22px;
cursor:pointer;
}

/* RESPONSIVE */

@media(max-width:900px){

.menu{
position:absolute;
top:80px;
left:0;
width:100%;
flex-direction:column;
background:white;
padding:30px;
display:none;
border-radius:20px;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

.menu.active{
display:flex;
}

.menu-toggle{
display:block;
}

.indicator{
display:none;
}

}

/*----------------------------------------------
  🎨 Hero Section (#topform-section)
----------------------------------------------*/
#topform-section {
  position: relative;
  background-size: cover;
  background-position: top;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
  z-index: 9;
}

#about h4 {
  color:#000;
  font-size: 27px;
  padding-top: 5px;
  padding-bottom: 5px;
}

#about img {
  height:600px;
}

.bgslido {
  background: url('../img/slider.jpg') center/cover fixed;
  background-size: cover;
  background-attachment: fixed;
  background-blend-mode: multiply;
  display: flex;
  align-items: center;
  background-color: #b1b3b5;
  min-height: 350px;
  background-position: bottom;
  min-height: 100vh;
}


 .hero{
padding: 130px 0px 30px;
  align-items:center;
  position:relative;
  overflow:hidden;    justify-content: center;
}

        
    .hero::before {
            content: '';
            position: absolute;
            inset: 0;
            background: 
                linear-gradient(rgba(0, 245, 212, 0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 245, 212, 0.08) 1px, transparent 1px);
            background-size: 60px 60px;
            pointer-events: none;
            z-index: 1;
        }

        .content {
            position: relative;
            z-index: 2;
            max-width: 680px;
        }

        .location-badge {
            background: rgba(255,255,255,0.15);
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255,255,255,0.3);
            color: white;
            font-weight: 600;
            letter-spacing: 2px;
            padding: 14px 36px;
            border-radius: 60px;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            font-size: 1.05rem;
            box-shadow: 0 8px 32px rgba(0,0,0,0.3);
        }

        .main-title {
            font-family: 'Playfair Display', serif;
            font-size: clamp(3.8rem, 9vw, 6.5rem);
            font-weight: 800;
            line-height: 1.05;
            margin: 30px 0 20px;
            text-shadow: 0 10px 30px rgba(0,0,0,0.6);
        }

        .title-year {
            color: var(--red);
            font-weight: 800;
        }

        .subtitle {
            font-size: 1.45rem;
            opacity: 0.92;
            line-height: 1.4;
        }

        /* Advanced Glowing Button */
        .btn-register {
            position: relative;
               background: linear-gradient(90deg, #dc3545, #dc3545);
            color: white;
              padding: 11px 50px;
    font-size: 18px;
            font-weight: 700;
            border: none;
            border-radius: 9999px;
            display: inline-flex;
            align-items: center;
            gap: 15px;
            overflow: hidden;
            box-shadow: 0 15px 40px -10px rgba(255, 51, 102, 0.6);
            z-index: 1;
        }

        .btn-register:hover {
            transform: scale(1.05) translateY(-4px);
            box-shadow: 0 25px 50px -12px rgba(255, 51, 102, 0.75);
        }

        .btn-register::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -100%;
            width: 40%;
            height: 300%;
            background: linear-gradient(
                120deg,
                transparent,
                rgba(255,255,255,0.6),
                transparent
            );
            animation: shimmer 2.8s linear infinite;
        }

        @keyframes shimmer {
            0%   { transform: translateX(-150%); }
            100% { transform: translateX(400%); }
        }

        /* Glassmorphic Countdown */
        .countdown-box {
               margin-top: 50px;

        }

        .count-item {
            background: rgba(255,255,255,0.95);
            color: #0a1f38;
            border-radius: 20px;
            padding: 20px 16px;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0,0,0,0.2);
        }

        .count-number {
            font-size: 2.2rem;
            font-weight: 800;
            line-height: 1;
        }

        .count-label {
            font-size: 0.85rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1.5px;
            margin-top: 6px;
            opacity: 0.8;
        }

        .info-bar {
                margin-top: 60px;
    display: flex
;
    gap: 50px;
    flex-wrap: wrap;
    justify-content: center;
        }

        .info-item {
            display: flex;
            align-items: center;
            gap: 16px;
        }

        .info-icon {
            width: 58px;
            height: 58px;
                border: 2px solid rgb(220 53 69);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8rem;
        }
a{text-decoration:none;}
        /* Floating subtle elements */
        .floating-dot {
            position: absolute;
           background: rgb(220 53 69);
            border-radius: 50%;
            animation: floatParticle 15s linear infinite;
            z-index: 1;
            pointer-events: none;
        }

        @keyframes floatParticle {
            0% { transform: translateY(0) rotate(0deg); opacity: 0.6; }
            100% { transform: translateY(-800px) rotate(360deg); opacity: 0; }
        }
/*----------------------------------------------
  🎨 Nav Pills / Tabs
----------------------------------------------*/
.nav-pills {
  overflow-x: auto;
  flex-wrap: nowrap;
  width: 100%;
}

.nav-pills .nav-item {
  flex: 0 0 auto;
  width: 47%;
  margin-right: 10px;
}

.nav-pills .nav-link {
  background: var(--highlight);
  color: var(--primary);
  font-size: 0.875rem;
  width: 80%;
}

.nav-pills .nav-link.active {
  background-color: var(--primary);
  color: #fff !important;
  font-weight: bold;
}

.nav-link:focus,
.nav-link:hover {
  color: #000000;
}

/*----------------------------------------------
  📝 Form Inputs with Icons
----------------------------------------------*/
/* ================= FORM WRAPPER ================= */
.form-section{
  background:#ffffff;
  border-radius:28px;
  padding:34px 30px 40px;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* ================= TABS (APPLE SEGMENTED) ================= */
#appointmentTabs{
  background:#f4f6fa;
  border-radius:16px;
  padding:6px;
}

#appointmentTabs .nav-link{
  border-radius:12px;
  font-weight:600;
  font-size:14px;
  color:#6b7280;
  border:none;
  background:transparent;
  transition:all .25s ease;
}

#appointmentTabs .nav-link i{
  font-size:13px;
}

#appointmentTabs .nav-link.active{
  background:#ffffff;
  color:#b1121a!important;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* ================= HEADINGS ================= */
.form-section h4{
  font-size:24px;
  font-weight:700;
  margin-bottom:30px;
  color:#0f172a;
}

/* ================= INPUT WRAPPER ================= */
.input-wrapper{
  position:relative;
      width: 100%;
    margin-bottom: 15px;
}

.form-control.with-icon,
.input-wrapper textarea{
  border-radius:14px;
  border:1px solid #e5e7eb;
  padding:14px 16px 14px 46px;
  font-size:14px;
  box-shadow:none;
  transition:.25s ease;
}

.form-control.with-icon:focus,
.input-wrapper textarea:focus{
  border-color:#b1121a;
  box-shadow:none;
}

/* ================= ICONS ================= */
.form-control-icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  color:#9ca3af;
  font-size:14px;
  pointer-events:none;
}

/* ================= SELECT ================= */
select.form-control{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #9ca3af 50%),
    linear-gradient(135deg, #9ca3af 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50%;
  background-size:6px 6px;
  background-repeat:no-repeat;
}

/* ================= TEXTAREA ================= */
textarea.form-control{
  resize:none;
}

/* ================= BUTTON ================= */
.playbtn{
  margin-top:30px;
  background:#b1121a;
  color:#fff;
  border:none;
  padding:14px 36px;
  border-radius:14px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.14em;
  transition:.3s ease;
}

.playbtn:hover{
  background:#8f0e14;
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(177,18,26,.4);
}

/* REMOVE OLD BUTTON EFFECT SPANS */
.playbtn span{
  display:none!important;
}

/* ================= VALIDATION ================= */
.invalid-feedback{
  font-size:12px;
  margin-top:6px;
}

/* ================= TAB ANIMATION ================= */
.tab-pane{
  animation:fadeUp .4s ease;
}

@keyframes fadeUp{
  from{opacity:0; transform:translateY(12px)}
  to{opacity:1; transform:none}
}

/* ================= MOBILE ================= */
@media(max-width:576px){
  .form-section{
    border-radius:0;
    padding:26px 20px;
  }
}


/*----------------------------------------------
  ⚠️ Validation
----------------------------------------------*/
.invalid-feedback {
  display: none;
}

.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-select:invalid ~ .invalid-feedback,
.was-validated textarea:invalid ~ .invalid-feedback {
  display: block;
}

/*----------------------------------------------
  📅 Calendar / Date Picker
----------------------------------------------*/
.calicon .form-control-icon {
  top: 23px;
  left: 15px;
}

.calicon textarea {
  height: 70px;
  padding-left: 50px;
  font-size: 0.8125rem;
}

/*----------------------------------------------
  📱 Forms Responsive
----------------------------------------------*/
@media (max-width: 768px) {

  .housing-page img {
    margin-top: 15px;
  }

  #topform-section {
    min-height: auto;
  }

  .hero-slide::after {
    display: none;
  }

  .hero-section {
    padding: 160px 20px 0 0;
  }

  .event-title h1 {
    font-size: 2rem;
  }

  .event-description {
    font-size: 1.4rem;
  }

  .countdown-container {
    position: absolute;
    top: 100px;
    left: 0 !important;
    width: 100%;
  }

  .countdown {
    gap: 0.5rem;
  }

  .time-box {
    padding: 0.75rem;
  }

  .form-section {
    padding: 20px;
  }

  .form-section input,
  .form-section select {
    font-size: 1rem;
  }

  .playbtn {
    width: 100%;
  }
}

/* auto slide */

/* ================= SECTION ================= */
.auto-text-section{
  position:relative;
  padding:80px 40px;
  overflow:hidden;top: 30px;
    z-index: 9;
}

/* ================= SLIDING TEXT ================= */
.auto-text-wrap{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  pointer-events:none;
  z-index:0;
}

.auto-text-track{
  display:flex;
  white-space:nowrap;
  animation: slideText 35s linear infinite;
}

.auto-text-track span{
  font-size:180px;
  font-weight:800;
  letter-spacing:-0.05em;
  color:#000;
  opacity:0.035; /* VERY IMPORTANT FOR APPLE FEEL */
  margin-right:120px;
}

/* animation */
@keyframes slideText{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(-50%);
  }
}

/* ================= CONTENT ================= */
.content{
  position:relative;
  z-index:1;
  max-width:1200px;
  margin:auto;
}

.content h1{
  font-size:60px;
  font-weight:700;
    margin-bottom: 20px;
    color: #fff;
}

.content p{
  font-size:16px;
  color:#475569;
  line-height:1.8;
  max-width:600px;
}

/* ================= RESPONSIVE ================= */
@media(max-width:768px){
  .auto-text-track span{
    font-size:90px;
  }
  .content h1{
    font-size:30px;
  }
}

  .main-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 45px;
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -0.04em;
      text-align: center;
      color: #111827;
    }

 .red-title {
      color: #dc3545;
      font-size: 1.15em;
    }

  .tagline {
      text-align: center;
      max-width: 720px;
      margin: 30px auto 0;
      font-size: 1.25rem;
      color: #475569;
    }

  .top-badge {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      background: white;
      border: 1px solid #e5e7eb;
      box-shadow: 0 4px 15px rgba(0,0,0,0.06);
      padding: 14px 32px;
      border-radius: 50px;
      font-size: 0.95rem;
      font-weight: 600;
      color: #374151;
      margin-bottom: 20px;
    }
/*----------------------------------------------
  🎨 About Section (#about)
----------------------------------------------*/
/* ======================================================
   FEATURE SECTION
====================================================== */
/* ===== SECTION ===== */
/* SECTION */
.about_hero {
  position:relative;
padding: 60px 25px;
  overflow:hidden;
}

.heading-font {
            font-family: 'Space Grotesk', sans-serif;
            letter-spacing: -2.5px;
        }

        .about_hero {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            min-height: 100vh;
            display: flex;
            align-items: center;
            position: relative;
            overflow: hidden;
        }

        .about_hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at 30% 40%, rgba(220, 53, 69, 0.08) 0%, transparent 60%);
            z-index: 1;
        }

      .about_hero  .main-title {
            font-size: 45px;
            line-height: 1.05;
            font-weight: 700;
            color: var(--contrast); text-align:left!important;
        }

      .about_hero  .subtitle {
            color: var(--primary);
            font-weight: 700;
        }

      .about_hero  .image-wrapper {
            position: relative;
            border-radius: 32px;
            overflow: hidden;
            box-shadow: 0 25px 60px -15px rgba(220, 53, 69, 0.25);
        }

      .about_hero  .image-wrapper:hover {
            transform: scale(1.03);
            box-shadow: 0 35px 80px -10px rgba(220, 53, 69, 0.35);
        }

     .about_hero   .image-wrapper img {
            width: 100%;
               height: 650px;
    display: block;
    object-fit: cover;
        }

      .about_hero  .floating-badge {
            position: absolute;
            top: 35px;
            right: 35px;
            background: var(--highlight);
            color: var(--contrast);
            font-weight: 700;
            padding: 14px 32px;
            border-radius: 50px;
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
            display: flex;
            align-items: center;
            gap: 10px;
            z-index: 20;
            border: 2px solid var(--primary);
        }

      .about_hero  .stat-card {
            position: absolute;
            bottom: 35px;
            left: 50%;
            transform: translateX(-50%);
            background: var(--highlight);
            border: 2px solid var(--primary);
            border-radius: 24px;
            padding: 22px 36px;
            width: 88%;
            max-width: 390px;
            box-shadow: 0 20px 50px -15px rgba(220, 53, 69, 0.25);
            z-index: 20;
        }
.about_hero  .badge{border: 2px solid #e63946;}
      .about_hero  .content-card {
            background: var(--neutral);
            border-radius: 24px;
             padding: 15px 30px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
            margin-bottom: 24px;
        }

     .about_hero.about_hero   .register-btn {
            background: var(--primary);
            color: white;
            border: none;
              padding: 18px 30px;
            font-size: 1.3rem;
            font-weight: 600;
            border-radius: 60px;
            box-shadow: 0 15px 35px -5px rgba(220, 53, 69, 0.4);
        }

      .about_hero  .register-btn:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 45px -5px rgba(220, 53, 69, 0.5);
        }

      .about_hero  .tagline {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 1.55rem;
            letter-spacing: -1px;
            color: #495057;
        }


/*----------------------------------------------
  📊 Stats / Highlights Section
----------------------------------------------*/


.heading-font {
            font-family: 'Space Grotesk', sans-serif;
            letter-spacing: -3px;
        }

         .hero_stats   {
            background: linear-gradient(135deg, #ffffff 0%, #fff5f5 100%);
            padding: 60px 25px 60px;
            position: relative;
            overflow: hidden;
        }

       .hero_stats    .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at 75% 25%, rgba(220, 53, 69, 0.09) 0%, transparent 65%);
            z-index: 0;
        }

       .hero_stats    .top-nav {
            background: white;
            box-shadow: 0 10px 30px rgba(0,0,0,0.08);
            border-radius: 50px;
            padding: 10px;
            display: inline-flex;
            margin-bottom: 60px;
        }

       .hero_stats    .main-title {
               font-size: 45px;
    line-height: 1.05;
    font-weight: 700;
    color: #1a1a1a;
    text-align: left;
        }

       .hero_stats    .info-card {
            background: white;
            border-radius: 28px;
            padding: 32px;
            box-shadow: 0 20px 45px -10px rgba(220, 53, 69, 0.15);
            height: 100%;
            border: 1px solid #ffebee;
        }

       .hero_stats    .stat-container {
            background: white;
            border-radius: 28px;
            padding: 40px 35px;
            box-shadow: 0 25px 60px -15px rgba(220, 53, 69, 0.22);
        }

      .hero_stats     .big-number {
            font-size: 6.2rem;
            font-weight: 700;
            line-height: 1;
            color: var(--primary);
            font-family: 'Space Grotesk', sans-serif;
        }

      .hero_stats     .stat-box {
            text-align: center;
            padding: 26px 18px;
            border-radius: 22px;
            transition: all 0.4s ease;
        }

       .hero_stats    .stat-box:hover {
            background: #fff0f0;
            transform: translateY(-8px);
        }

       .hero_stats    .stat-icon {
            width: 74px;
            height: 74px;
            background: #fff0f0;
            color: var(--primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.3rem;
            margin: 0 auto 18px;
        }

     .hero_stats   .highlight-box {
            background: linear-gradient(90deg, var(--primary), #ff6b7a);
            color: white;
            border-radius: 22px;
            padding: 22px 30px;
            box-shadow: 0 12px 35px rgba(220, 53, 69, 0.3);
        }
/*----------------------------------------------
  📅 Key Dates Section (#keydates)
----------------------------------------------*/
/* ================= SECTION ================= */
 .keydates_section{
      position:relative;
      padding:60px 35px 50px 25px;
      overflow:hidden;
      background:linear-gradient(180deg,#ffffff,#f3f6fc);
    }
.keydates_section .nav-bar {
            background: white;
            box-shadow: 0 8px 25px rgba(0,0,0,0.08);
            border-radius: 50px;
            padding: 10px 25px;
            display: inline-flex;
            align-items: center;
            gap: 18px;
            margin-bottom: 5px;
        }
       .keydates_section  .main-title {
            font-size: 45px;
            line-height: 1.1;
            font-weight: 700;
            text-align: center;
            color: #1a1a1a;
            margin-bottom: 0px;
        }

    .keydates_section     .card {
            background: white;
            border-radius: 18px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0,0,0,0.07);
            transition: all 0.3s ease;
            height: 100%; padding:0px;
        }

     .keydates_section    .card:hover {
            transform: translateY(-6px);
        }

      .keydates_section   .icon-header {
            height: 68px;
            background: var(--primary);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.1rem;
        }

       .keydates_section  .card-body {
            padding: 22px 18px;
            text-align: center;
        }

       .keydates_section  .date {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 10px;
            line-height: 1.3;
        }

       .keydates_section  .event {
            font-size: 0.98rem;
            line-height: 1.45;
            color: #333;
        }

       .keydates_section  .final-card {
            background: linear-gradient(135deg, var(--primary), #ff5e6b);
            color: white;
            border-radius: 18px;
            padding: 35px 25px;
            text-align: center;
            height: 100%;
        }
    .keydates_section .subtitle {color: var(--primary);}
       .keydates_section  .final-date {
               font-size: 18px;
            font-weight: 700;
            background: rgba(255,255,255,0.25);
            padding: 10px 30px;
            border-radius: 50px;
            display: inline-block;
            margin-bottom: 12px;
        }
/*----------------------------------------------
  🏨 Housing Section (.safe-section)
----------------------------------------------*/
.hero_house {
            color: var(--primary);
            padding: 50px 25px 50px;
            text-align: center;
            position: relative;
        }

.hero_house .heading-font {
            font-family: 'Space Grotesk', sans-serif;
            letter-spacing: -2px;
        }

     .hero_house   .nav-brand {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--primary);
        }

     .hero_house   .main-title {
            font-size: 45px;
            line-height: 1.1;
            font-weight: 700;
            color: #1a1a1a;
        }

     .hero_house   .image-sect {
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 25px 60px rgba(0,0,0,0.12);
        }

     .hero_house   .benefits-card {
            background: white;
            border-radius: 24px;
            padding: 40px;
            box-shadow: 0 20px 50px rgba(0,0,0,0.08);
        }

      .hero_house  .benefit-item {
            display: flex;
            align-items: flex-start;
            gap: 18px;
            margin-bottom: 28px;
        }

      .hero_house  .benefit-icon {
            width: 52px;
            height: 52px;
            background: #fff0f0;
            color: var(--primary);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            flex-shrink: 0;
        }

      .hero_house  .book-btn {
            background: var(--primary);
            color: white;
            border: none;
            padding: 16px 40px;
            font-size: 1.25rem;
            font-weight: 600;
            border-radius: 50px;
            box-shadow: 0 15px 35px rgba(220, 53, 69, 0.3);
            transition: all 0.3s ease;
        }

       .hero_house .book-btn:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 45px rgba(220, 53, 69, 0.4);
        }

      .hero_house  .date-badge {
            background: white;
            border: 2px solid var(--primary);
            color: var(--primary);
            padding: 8px 24px;
            border-radius: 50px;
            font-weight: 600;
        }
/* ================= FAQ SECTION ================= */
/* ===== SECTION ===== */

/* background text */
.faq::before{
    content: "ASCO";
    position: absolute;
    top: 20%;
    left: 30%;
    transform: translate(-50%, -50%) rotate(-11deg);
    font-size: 20rem;
    font-weight: 900;
    font-family: 'Playfair Display', serif;
    color: rgba(225, 29, 72, 0.03);
    pointer-events: none;
    z-index: -1;
    user-select: none;
}

.faq-illustration{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.faq-section{
padding: 50px 25px;
position:relative;
}

/* background glow */

/* header */

.header{
text-align:center;
margin-bottom:40px;
}

.label{
display:inline-block;
background:#e63946;
color:white;
padding:8px 28px;
border-radius:30px;
letter-spacing:3px;
font-size:13px;
margin-bottom:18px;
}

.subtitle{
margin-top:12px;
color:#666;font-size: 20px;
}

/* grid */

.faq-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
}

/* card */

.faq-item{
background:white;
border-radius:18px;
padding:28px 30px;
cursor:pointer;
transition:.35s;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
position:relative;
}

.faq-item:hover{
transform:translateY(-6px);
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* question */

.faq-question{
display:flex;
justify-content:space-between;
align-items:center;
font-size:18px;
font-weight:600;
}

/* icon */

.icon{
color:#e63946;
font-size:18px;
transition:.3s;
}

/* answer */

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .35s ease;
margin-top:10px;
color:#555;
line-height:1.6;
}

/* active */

.faq-item.active .faq-answer{
max-height:200px;
}

.faq-item.active .icon{
transform:rotate(45deg);
}

/* responsive */

@media(max-width:900px){
.hero_stats .big-number {
font-size: 5rem;}
.faq-grid{
grid-template-columns:1fr;
}
.faq::before {
    content: "ASCO";
    position: absolute;
    top: 20%;
    left: 46%; font-size: 5rem;}
.title{
font-size:34px;
}
.stats_section {
    padding: 0px 0;}
}
/*----------------------------------------------
  🔻 Footer
----------------------------------------------*/
/* ================= FOOTER ================= */
/* FOOTER */
.footer{
  position:relative;
  padding:50px 110px;
  overflow:hidden;
  background: radial-gradient(circle at 20% 20%, #111827, #020617);
  color:#fff;
}


/* BIG TEXT */
.bg-text{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:150px;
  font-weight:900;
  color:rgba(255,255,255,0.03);
  white-space:nowrap;
  pointer-events:none;
}

/* GRID */
.footer-container{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:60px;
  position:relative;
  z-index:2;
}

/* GLASS CARD */
.card{
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(20px);
  padding:30px;
  border-radius:20px;
  transition:0.4s;
  position:relative;
  overflow:hidden;
}

/* HOVER GLOW BORDER */
.card:hover{
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 20px 50px rgba(0,0,0,0.6);
}

/* TITLE */
.footer-left h2{
  font-size:44px;
  font-weight:800;
  background:linear-gradient(to right,#dc3545,#dc3545);
  -webkit-background-clip:text;
  color:transparent;
  margin-bottom:20px;
}

/* TEXT */
.footer-left p{
  color:#cbd5e1;
  line-height:1.7;
  margin-bottom:25px;
}

/* INFO */
.info{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:15px;
  color:#e2e8f0;
  font-size:15px;
}

.info i{
  font-size:18px;
  color:#dc3545;
}

/* HEADINGS */
.footer-col h4{
  font-size:13px;
  letter-spacing:2px;
  color:#94a3b8;
  margin-bottom:20px;
}

/* LINKS */
.footer-col ul{
  list-style:none;    padding-left: 0px;
}

.footer-col ul li{
  margin-bottom:16px;
}

.footer-col ul li a{
  text-decoration:none;
  color:#fff;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:10px;
  transition:0.3s;
}

.footer-col ul li a i{
  font-size:18px;
  transition:0.3s;
}

/* HOVER EFFECT */
.footer-col ul li a:hover{
  color:#dc3545;
  transform:translateX(6px);
}

.footer-col ul li a:hover i{
  transform:rotate(10deg) scale(1.2);
}

.scroll-top{
  position:fixed; /* IMPORTANT CHANGE */
  right:30px;
  bottom:30px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:linear-gradient(145deg,#dc3545,#dc3545);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(255,0,0,0.5);
  transition:0.3s;
  z-index:9999; /* keep above everything */

  opacity:0;        /* hidden initially */
  visibility:hidden;
}

/* SHOW WHEN SCROLLED */
.scroll-top.show{
  opacity:1;
  visibility:visible;
}

/* HOVER */
.scroll-top:hover{
  transform:scale(1.1) rotate(10deg);
}

.scroll-top i{
  font-size:22px;
  color:#fff;
}

/* RESPONSIVE */
@media(max-width:900px){
  .footer-container{
    grid-template-columns:1fr;
  }
.footer {
    position: relative;
    padding: 50px 30px;
}
  .bg-text{
    font-size:100px;
  }
}

/*----------------------------------------------
  📞 Contact Page Hero
----------------------------------------------*/
.contactpic {
  position: relative;
  background-image: url(../img/mainbanner.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-color: #898787f0;
  background-blend-mode: multiply;
  align-items: center;
  background-position: bottom;
  justify-content: center;
  display: grid;
  min-height: 300px;
  padding-top: 105px;
}

.contactpic span {
  text-transform: uppercase;
  display: block;
}
.contact-card {
    background: white;
    border-radius: 28px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.contactpic .text1 {
  color: #ffffff;
  font-size: 45px;
  font-weight: 800;
  letter-spacing: 8px;
  margin-bottom: 20px;
  position: relative;
  animation: text 2.5s 1;
  margin-top: 30px;
}

.breadcrumb {
  justify-content: center;
  display: flex;
  width: 100%;
  white-space: nowrap;
  color: #fff;
}

.breadcrumb a {
  color: #dc3545;
  text-decoration: none;
}

.breadcrumb p {
  display: ruby;
  color: #fff;
  bottom: 5px;
}

/*----------------------------------------------
  ✨ Contact Animations
----------------------------------------------*/
@keyframes text {
  0% {
    color: black;
    margin-bottom: -40px;
  }
  30% {
    letter-spacing: 25px;
    margin-bottom: -40px;
  }
}

/*----------------------------------------------
  📝 Contact Form Section
----------------------------------------------*/
.contform-section {
  flex: 1 1 50%;
  padding: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  margin-top: 60px;
  margin-bottom: 20px;
  border-radius: 15px;
}

.contform-section .form-group {
  display: flex;
  gap: 20px;
  margin-bottom: 30px;
}

.form-section {
  flex: 1 1 50%;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgb(255 255 255 / 100%);
      box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  margin-top: 20px;
  margin-bottom: 20px;
  border-radius: 10px;
}
.bgslido .form-section{           margin: 110px 15px 20px !important;}
.form-section h5 {
  font-size: 0.9rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #555;
}

.form-section h2 {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 40px;
}

.form-group {
  display: flex;
  gap: 20px;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  outline: none;
  background: #fff;
}

.form-group textarea {
  resize: none;
  height: 60px !important;
  padding: 12px 20px;
}

.btn-submit {
  background-color: #dc3545;
  color: #fff;
  padding: 16px 30px;
  border: none;
  border-radius: 12px;
  font-size: 1rem;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s ease;
}

.btn-submit:hover {
  background-color: #0d0a0a;
  color: #dc3545;
}

/*----------------------------------------------
  🖼️ Contact Image + Layout
----------------------------------------------*/



/* heading */

/* SECTION */
.contact-section{
    padding: 60px 6% 10px;
}
.contact-section .top-bar {
            background: white;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
            position: sticky;
            top: 0;
            z-index: 999;
        }
.image-section {
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.4)), url(../img/contactimg.jpg);
    background-size: cover;
    background-position: center;
    display: flex
;
    align-items: center;
    justify-content: center;
    color: white;
    position: relative;
}
.h50{height:60px;}
   .contact-section  .support-badge {
    position: absolute;
    top: 30px;
    left: 30px;
    background: rgba(255, 255, 255, 0.95);
    color: var(--primary);
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: 600;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
        /* New Hero - Full-width with subtle pattern */
   .contact-section     .hero {
            padding: 0px 0 100px;
            position: relative;
            overflow: hidden;
        }

    .contact-section    .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at 30% 70%, rgba(255,255,255,0.15) 0%, transparent 70%);
            z-index: 1;
        }

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

        /* New Main Layout - Split with modern card */
      .contact-section  .contact-wrapper {
            margin-top: -70px;
            position: relative;
            z-index: 10;
        }
  .contact-section  .hero-content span{background: #dc3545;
    color: #fff;}
     .contact-section   .contact-card {
            background: white;
            border-radius: 30px;
            box-shadow: 0 35px 80px rgba(227, 6, 19, 0.25);
            overflow: hidden;
        }

        /* Form - Completely new styling */
      .contact-section  .form-area {
            padding: 65px 55px;
        }

       .contact-section .form-control {
            transition: all 0.3s ease;
        }

     .contact-section   .form-control:focus {
            border-color: var(--red);
            box-shadow:none;
        }

        /* Visual Side - New illustration style */
       .contact-section .visual-area {
            background: linear-gradient(180deg, #1e2937, #0f172a);
            color: white;
            padding: 41px 30px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
        }

      .contact-section  .visual-area img {
            border-radius: 24px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4);height: 400px;
    width: 100%;
    object-fit: cover;
        }

        /* New Info Section - Horizontal modern cards */
      .contact-section  .info-section {
            background: white;
            margin-top: 30px;
            border-radius: 30px;
            padding: 40px 30px;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
        }

        /* Map - New clean frame */
      .contact-section  .map-frame {
            border-radius: 30px;
            overflow: hidden;
            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
        }

       .contact-section .btn-red {
            background: var(--red);
            color: white;
            border: none;
            padding: 18px 50px;
            border-radius: 60px;
            font-weight: 700;
            font-size: 1.2rem;
            box-shadow: 0 15px 40px rgba(227, 6, 19, 0.4);
        }

      .contact-section  .btn-red:hover {
            background: #b91c1c;
            transform: translateY(-5px);
        }

/*----------------------------------------------
  🧾 Form Focus / Validation
----------------------------------------------*/
.continess .form-control:focus {
  color: var(--bs-body-color);
  border-color: #dc3545;
  outline: 0;
  box-shadow: none;
}

/*----------------------------------------------
  🔁 Duplicate Contact Hero (As-is)
----------------------------------------------*/
.contactpic {
  position: relative;
  background-image: url(../img/mainbanner.jpg);
  background-size: cover;
  background-attachment: fixed;
  background-color: #898787f0;
  background-blend-mode: multiply;
  align-items: center;
  background-position: bottom;
  justify-content: center;
  display: grid;
  min-height: 300px;
  padding-top: 105px;
}

.breadcrumb a {
  text-decoration: none;
  color: #dc3545;
}

/*----------------------------------------------
  🎨 Root Overrides
----------------------------------------------*/
:root {
  --primary-red: #b91c1c;
  --text-dark: #212529;
  --text-muted: #495057;
  --bg-light: #f8f9fa;
  --shadow-soft: 0 15px 40px rgba(0,0,0,0.08);
  --shadow-hover: 0 30px 80px rgba(0,0,0,0.15);
}

.section-padding {
  padding: 60px 0;
}

.section-title {
  letter-spacing: 1px;    font-size: 42px;
    font-weight: 900;
    line-height: 1.25;
    background: linear-gradient(180deg, #dc3545, #1d1f21);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 22px;  
    color: #dc3545;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}


/*----------------------------------------------
  📞 Contact Section (Advanced)
----------------------------------------------*/
/* ================= SECTION ================= */
.section{
  padding:60px 40px;
  position:relative;
  overflow:hidden;
}
/* background typography */
.section::before {
    content: "CONTACT • VENUE • ASCO 2026";
    position: absolute;
    top: 51%;
    left: 4%;
    font-size: 100px;
    font-weight: 800;
    letter-spacing: -0.05em;
    color: #000;
    opacity: 0.03;
    white-space: nowrap;}

/* abstract medical shapes */




/* ================= HEADINGS ================= */
.eyebrow2{
  text-align:center;
  font-size:12px;
  letter-spacing:.35em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:20px;
}

/* ================= GRID ================= */
.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:start;
}

/* ================= CONTACT ================= */
.contact-panel{
  background:#fff;
  border-radius:28px;
  padding:60px;
  box-shadow:0 50px 120px rgba(0,0,0,.08);
  border:1px solid var(--line);z-index: 9;
}

.contact-panel h3{
  font-size:28px;
  font-weight:600;
  margin-bottom:36px;
}

.form-grid input,
.form-grid textarea{
  width:100%;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--line);
  font-size:14px;
  font-family:inherit;
}

.form-grid textarea{
  grid-column:1 / -1;
  resize:none;
  height:110px;
}

.form-grid input:focus,
.form-grid textarea:focus{
  outline:none;
  border-color:var(--accent);
}

.submit-btn{
  margin-top:30px;
  background:var(--accent);
  color:#fff;
  border:none;
  padding:14px 26px;
  font-size:14px;
  font-weight:600;
  border-radius:10px;
  cursor:pointer;
}

/* ================= IMAGE ================= */
.contact-image{
  border-radius:36px;
  overflow:hidden;
  box-shadow: 0 30px 60px rgba(0,0,0,0.08);z-index: 9;
}

.contact-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ================= VENUE ================= */
.venue{
  margin-top:160px;
}

.venue-grid{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:100px;
  align-items:start;
}

.venue-info{
  background:#fff;
  border-radius:28px;
  padding:60px;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  border:1px solid var(--border);
}

.venue-info h3{
  font-size:28px;
  font-weight:600;
  margin-bottom:40px;
}

.venue-item{
  display:flex;
  gap:18px;
  margin-bottom:28px;
  font-size:15px;
  color:var(--muted);
}

.venue i{
  color:var(--accent);
  font-size:18px;
  margin-top:2px;    padding-right: 10px;
}
.venue .text{font-size: 20px;}
/* ================= MAP ================= */
.map{
  border-radius:36px;
  overflow:hidden;
      box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

.map iframe{
  width:100%;
  height:420px;
  border:none;
}

/* ================= RESPONSIVE ================= */
@media(max-width:800px){
  .grid,
  .venue-grid{
    grid-template-columns:1fr;
    gap:70px;
  }
  .venue.split {
    display: block;}
  .map{margin-top: 40px;}
  .venue .text {
    font-size: 16px;
}
     .contsform   {padding: 100px 20px 50px 20px!important;}
}

@media(max-width:640px){
  .section{
          padding: 70px 20px;
  }
  .section-title{
    font-size:30px;
  }
  .contact-panel,
  .venue-info{
    padding:40px 30px;
  }
}
/*----------------------------------------------
  🧠 About Us (Advanced / Story)
----------------------------------------------*/
/* ================= SECTION ================= */

/* SECTION */

.about{
padding:60px 20px;
position:relative;
overflow:hidden;
}

/* BIG BACKGROUND TEXT */

.about::before{
content:"ASCO";
position:absolute;
font-size:260px;
font-weight:900;
color:#00000005;
top:80px;
left:50%;
transform:translateX(-50%);
letter-spacing:40px;
}

/* GRADIENT SHAPES */

.shape1{
position:absolute;
width:500px;
height:500px;
background:#e6394620;
border-radius:50%;
filter:blur(120px);
top:-200px;
left:-200px;
}

.shape2{
position:absolute;
width:500px;
height:500px;
background:#3a86ff20;
border-radius:50%;
filter:blur(120px);
bottom:-200px;
right:-200px;
}

/* CONTAINER */


/* LABEL */

.label {
display:inline-block;
background:#e63946;
color:white;
padding:8px 24px;
border-radius:40px;
font-size:13px;
letter-spacing:2px;
margin-bottom:20px;
}

/* TITLE */


/* highlight underline */

.title span::after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:100%;
height:6px;
background:#e63946;
border-radius:10px;
opacity:.3;
}

/* TEXT */

.text p{
color:#555;
line-height:1.8;
margin-bottom:20px;
font-size:16px;
}

/* IMAGE CARD */

.image-card{
position:relative;
border-radius:30px;
overflow:hidden;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
transform:rotate(-2deg);
transition:.5s;
}

.image-card img{
width:100%;
display:block;    height: 550px;
    object-fit: cover; 
}

.image-card:hover{
transform:rotate(0deg) scale(1.03);
}

/* GLASS BADGE */

.about .badge{
position:absolute;
bottom:30px;
left:50%;
transform:translateX(-50%);
background:rgba(255,255,255,0.85);
backdrop-filter:blur(10px);
padding:16px 28px;
border-radius:40px;
font-size:14px;    color: #dc3545;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

/* DECORATIVE LINES */

.line{
width:80px;
height:4px;
background:#e63946;
border-radius:20px;
margin:25px 0;
}

/* RESPONSIVE */

@media(max-width:900px){
.backconticlor {
    background: #00000075;
    position: relative;
    bottom: -130px!important;
}

.container{
grid-template-columns:1fr;
}

.title{
font-size:38px;
}

.about::before{
font-size:120px;
}
  .registration-page , .housing-page {
    padding: 0px 30px;}
}

/*----------------------------------------------
  📝 Registration / Housing Pages
----------------------------------------------*/
.registration-page {
  margin-top: 50px;
  margin-bottom: 50px;
}
.registration-page .header {
    margin-bottom: 20px;
    text-align: center;
}
.registration-page .header small {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 4px;
    font-weight: 700;
    margin-bottom: 14px;
}
.registration-page .header h1 {
    font-size: 42px;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 22px; 
    color: #dc3545;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}
.registration-page .header p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--muted);
}
.backconticlor    {background: #00000075;
    position: relative;
bottom: -190px;}
.registration-page img {
  height: 575px;
  width: 100%;
  object-fit: cover;
 margin-top: 70px;
}

.housing-page {
  margin-top: 50px;
  margin-bottom: 50px;
}
.housing-page .header {
    margin-bottom: 20px;
    text-align: center;
}
.housing-page .header small {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 4px;
    font-weight: 700;
    margin-bottom: 14px;
}
.housing-page .header h1 {
    font-size: 42px;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 22px; 
    color: #dc3545;
    text-shadow: 0 10px 30px rgba(190, 18, 60, .25);
}
.housing-page .header p {
    font-size: 16px;
    line-height: 1.8;
    color: var(--muted);
}
.housing-page img {
  height: 550px;
  width: 100%;
  object-fit: cover;
  margin-top: 70px;
}

/*----------------------------------------------
  📱 Navbar / Mobile (Duplicate As-is)
----------------------------------------------*/
.navbar.scrolled {
  background-color: #ffffff;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
}

.mobile-menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 80%;
  max-width: 300px;
  height: 100vh;
  background-color: #fff;
  z-index: 1050;
  transition: left 0.3s ease-in-out;
    box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  padding: 2rem 1.5rem;
}

.mobile-menu.active {
  left: 0;
}

.mobile-menu .close-btn {
  font-size: 30px;
  color: #333;
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 9999;
}

.mobile-menu ul {
  list-style: none;
  padding-left: 0;
  margin-top: 80px;
}

.mobile-menu ul li {
  margin: 20px 0;
}

.mobile-menu ul li a {
  color: #1d1f2b;
  font-size: 1.2rem;
  text-decoration: none;
  font-weight: 500;
}

@media (min-width: 992px) {
  .mobile-menu,
  .mobile-toggler {
    display: none !important;
  }

}

.navbar-toggler {
  border: none;
  font-size: 1.2rem;
}

.navbar-toggler:focus {
  box-shadow: none;
}

/*----------------------------------------------
  🔘 Button Slide Fill
----------------------------------------------*/

.btn-slide-fill{
  display:inline-block;
  padding:15px 35px;
  border-radius:999px;
  background:#dc3545;
  color:#fff;
  font-weight:600;
  font-size:16px;
  text-decoration:none;
  transition:.35s ease;
  box-shadow:0 18px 40px rgba(225,29,46,.35);
}

.btn-slide-fill:hover{
  transform:translateY(-4px) scale(1.03);
  box-shadow:0 26px 60px rgba(225,29,46,.45);
}


.btn-slide-fill:hover {
  color: #dc3545;
}

.btn-slide-fill:hover::before {
  width: 100%;
}

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

/*----------------------------------------------
  🔄 Rolling Text Animation
----------------------------------------------*/
.rolling-text {
  font-size: 15px;
  line-height: 50px;
  height: 60px;
  text-decoration: none;
  overflow: hidden;
  color: #ffffff;
  font-weight: 500;
}

.rolling-text:hover .letter,
.rolling-text.play .letter {
  transform: translateY(-100%);
}

.rolling-text .letter {
  display: inline-block;
  transition: transform 0.6s cubic-bezier(0.76, 0, 0.24, 1);
}

.letter:nth-child(1) { transition-delay: 0s; }
.letter:nth-child(2) { transition-delay: 0.015s; }
.letter:nth-child(3) { transition-delay: 0.03s; }
.letter:nth-child(4) { transition-delay: 0.045s; }
.letter:nth-child(5) { transition-delay: 0.06s; }
.letter:nth-child(6) { transition-delay: 0.075s; }
.letter:nth-child(7) { transition-delay: 0.09s; }
.letter:nth-child(8) { transition-delay: 0.105s; }

/*----------------------------------------------
  🧾 Modal / Group Form
----------------------------------------------*/
#groupform.modal-content {
  background: none;
  box-shadow: none;
  border: none;
}

/*----------------------------------------------
  📅 Flatpickr Overrides
----------------------------------------------*/
.flatpickr-calendar {
  border: 1px solid #dc3545;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.inRange {
  background-color: #dc3545;
  color: #fff;
}

.flatpickr-day.today {
  border-color: #dc3545;
}
    .hero-slide h1 {font-size: 65px;
    margin-bottom: 0px;}
     .hero-slide p{font-size: 50px;}
/*----------------------------------------------
  📱 Media Queries (General)
----------------------------------------------*/
@media (max-width: 768px) {

  .housing-page img {
    margin-top: 15px;
  }

  #topform-section {
    min-height: auto;
  }

  .hero-slide::after {
    display: none;
  }

  .hero-section {
    padding: 100px 15px 0;
  }

  .event-title h1 {
    font-size: 1.75rem;
    font-weight: 900;
    color: transparent;
    background: linear-gradient(58deg, #dc3545, #3e3d3f);
    -webkit-background-clip: text;
    background-clip: text;
    overflow: hidden;
    white-space: nowrap;
    animation: type 1.5s steps(90) 1.5s 1 normal both,
               cursor 1s step-end infinite;
  }

  .event-description {
    font-size: 25px;
  }

  .container h2 {
    font-size: 1.75rem;
  }

  .navbar-brand {
    font-size: 1.5rem;
  }

  .form-section h2 {
    font-size: 1.5rem;
  }

  .info-section h2 {
    font-size: 1.5rem;
  }
}

/*----------------------------------------------
  📱 Extra Small Screens
----------------------------------------------*/
@media (max-width: 576px) {

  .event-title h1 {
    font-size: 2rem;
  }

  .event-description {
    font-size: 25px;
  }

  .container h2 {
    font-size: 1.75rem;
  }

  .navbar-brand {
    font-size: 1.5rem;
  }

  .form-section h2 {
    font-size: 1.5rem;
  }

  .info-section h2 {
    font-size: 1.5rem;
  }
}

/*----------------------------------------------
  📱 Small / Medium Responsive Tweaks
----------------------------------------------*/
@media screen and (max-width: 1199px) and (max-width: 601px) {

  span.regi {
    font-size: 2rem !important;
  }

  .contactpic .text1 {
    color: #fff;
    font-size: 2.5rem;
    margin-bottom: 0px;
    margin-top: 45px;
  }

  .registration-page img {
    height: 400px;
    width: 100%;
    object-fit: cover;
    margin-top: 0px;
  }

  .form-section,
  .image-section {
    flex: 1 1 100%;
    padding: 20px 15px;
  }

  .form-group {
    flex-direction: column;
  }
}

@media screen and (max-width: 869px) and (max-width: 601px) {

  .contact-container {
    flex-direction: column;
  }

  .map-section,
  .info-section {
    flex: 1 1 100%;
  }

  .info-section {
    padding: 20px 15px;
  }
}

/*----------------------------------------------
  🧱 Containers / Shadows
----------------------------------------------*/
.shadowcont {
  padding: 50px;
  display: flex;
  margin-bottom: 50px;
  flex-direction: column;
  justify-content: center;
     box-shadow: 0 30px 60px rgb(0 0 0 / 20%);
  margin-top: 60px;
  border-radius: 15px;
}

a.navbar-brand h1 {
  font-weight: 900;
  font-family: system-ui;
}

.is-invalid ~ .invalid-feedback {
  font-weight: 700;
}

/*----------------------------------------------
  🧭 Navbar Link Effects
----------------------------------------------*/
.navbar .nav-link {
  position: relative;
  color: #000;
  padding-bottom: 5px;
  transition: color 0.3s ease;
}

.navbar .nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0;
  background-color: #dc3545;
  transition: width 0.4s ease;
}

.navbar .nav-link:hover::after {
  width: 100%;
}

.navbar .nav-link.active,
.navbar .nav-item .nav-link.active::after {
  color: #000;
}

.navbar .nav-link.active::after {
  width: 100%;
  background-color: #fff;
}

/*----------------------------------------------
  ⏳ Preloader
----------------------------------------------*/
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
}

#preloader.active {
  opacity: 1;
  visibility: visible;
}

.loader {
  position: relative;
  width: 80px;
  height: 80px;
}

/*----------------------------------------------
  ⬆️ Go To Top Button
----------------------------------------------*/
#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background: linear-gradient(45deg, #dc3545, #dc3545);
  color: white;
  cursor: pointer;
  padding: 2px 11px;
  font-size: 30px;
  border-radius: 50%;
  transition: background 0.3s ease, transform 0.3s ease;
}

#myBtn:hover {
  background: linear-gradient(45deg, #000, #dc3545);
  transform: scale(1.1);
}

/*----------------------------------------------
  📱 Final Media Queries
----------------------------------------------*/
@media (min-width: 1200px) {

  .container h2 {
    font-size: 2.5rem;
  }

  .event-title h1 {
    font-size: 3rem;
  }

  .event-description {
    font-size: 28px;
    max-width: 700px;
  }

  .time-box {
    width: 100px;
  }


  .nav-link:focus,
  .nav-link:hover {
    color: var(--primary) !important;
  }

  .navbar.scrolled .nav-link:hover {
    color: #000000 !important;
  }

  .form-section h2 {
    font-size: 2.5rem; 
  }

  .form-section h4 {
    font-size: 30px; 
  }

  .info-section h2 {
    font-size: 2rem;
  }

  .registration-page img {
    height: 575px;
    border-radius: 50px;
  }

  .housing-page img {
    height: 550px;
    border-radius: 50px;
  }
}

/*----------------------------------------------
  🧭 Final Navbar Hover Overrides
----------------------------------------------*/
.nav-link:focus,
.nav-link:hover {
  color: var(--primary) !important;
}

.navbar.scrolled .nav-link:hover {
  color: #000000 !important;
}

/*----------------------------------------------
  🌀 Loader Animations
----------------------------------------------*/
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes pulse {
  0% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.2); }
  100% { transform: translate(-50%, -50%) scale(1); }
}

/*----------------------------------------------
  📌 Misc / Utility
----------------------------------------------*/
.modal-backdrop.show {
  z-index: 9;
}

/*----------------------------------------------
  ✅ END OF STYLESHEET
----------------------------------------------*/
