/* Importing Google Font for cursive text */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@500;700&display=swap');
/* Import decorative header font */
@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap');
/* Import Merriweather and Quicksand fonts */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;500&display=swap');

/* Center and style the main title */
header{ display:flex; justify-content:center; align-items:center; flex-direction:column; gap:0.25rem; margin-top:0.6rem }
header h1{ margin:0; font-family:'Merriweather', 'Great Vibes', 'Dancing Script', cursive; font-size:clamp(2.4rem,6vw,4.6rem); color:var(--accent-deep); text-align:center; letter-spacing:0.8px; text-shadow:0 6px 18px rgba(217,47,106,0.06); }

/* Page background: soft pastel gradient with subtle noise overlay for texture */
:root{ --accent: #ff4f8b; --accent-deep: #d92f6a; --warm-bg-1: #fff4f7; --warm-bg-2: #ffeef4; --warm-bg-3: #ffecf6; --warm-text: #3b2b2b }
html, body{
  height:100%;
}
body{
  background: linear-gradient(180deg, var(--warm-bg-1) 0%, var(--warm-bg-2) 40%, var(--warm-bg-3) 100%);
  color: var(--warm-text);
  background-attachment: fixed;
  font-family: 'Quicksand', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

/* subtle paper/noise overlay */
body::before{
  content: '';
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.06;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2P8z/C/HwAGgwJ/lp3qWQAAAABJRU5ErkJggg==");
  mix-blend-mode: multiply;
}
/* soft vignette to draw attention toward center */
body::after{
  content: '';
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.06;
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 40%, rgba(0,0,0,0.06) 100%);
}

/* Make main content appear as a warm translucent card with a pinker tint */
main{
  position:relative; z-index:1; background: rgba(255,245,247,0.96); border-radius:14px; padding:2rem 3rem; box-shadow:0 28px 70px rgba(145,55,85,0.06); backdrop-filter: blur(6px);
  max-width:1400px; margin:2rem auto; border:1px solid rgba(217,47,106,0.05);
}

/* Ensure header/hero sit above noise layer */
header, .hero{ position:relative; z-index:1 }

/* Photo gallery: flex container for thumbnails */
#photoList { display:flex; gap:1rem; align-items:flex-start; padding:0; overflow:hidden; justify-content:center }
.gallery-item { width:220px; height:380px; overflow:hidden; border-radius:12px; transition:transform .25s, box-shadow .25s; box-shadow:0 6px 18px rgba(0,0,0,0.12); flex:0 0 auto; background: linear-gradient(180deg, rgba(255,246,248,0.8), rgba(255,240,244,0.6)); }
.gallery-item:hover{ transform:scale(1.06) translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,0.18) }
.gallery-img { width:100%; height:100%; object-fit:cover; display:block }
.gallery-item:focus-within{ outline:3px solid rgba(255,107,152,0.12); outline-offset:4px }

/* responsive sizes */
@media (max-width:900px){
  .gallery-item{ width:220px; height:320px }
}
@media (max-width:600px){
  .gallery-item{ width:160px; height:260px }
  #photoList{ gap:0.5rem }
}

/* hide default file input text alignment a bit */
input[type="file"]{ display:block }

/* Layout container for readable line length (wider now) */
main{ max-width:1400px; margin:0 auto; padding:2rem 3rem; }

/* About section improvements: take up more space visually */
#about{ padding:1rem 1.25rem; background: rgba(255,235,238,0.35); border-radius:12px; margin:1rem 0 1.5rem 0 }
#about h2{ font-size:1.9rem; margin-bottom:0.6rem }
/* Make the about paragraph wider and larger */
#about p{ font-size:1.32rem; line-height:2.05; color:#342626; margin:0; max-width:none; width:100%; }

#about p::first-letter{
  float:left;
  font-size:4.6rem;
  line-height:1;
  margin-right:0.7rem;
  font-weight:700;
  color:var(--accent, #ff6b98);
  font-family: Georgia, 'Times New Roman', serif;
}

@media (max-width:900px){
  #about p{ font-size:1.12rem; line-height:1.9 }
  #about p::first-letter{ font-size:3.6rem }
}
@media (max-width:600px){
  #about p{ font-size:1rem; line-height:1.7 }
  #about p::first-letter{ font-size:2.8rem }
}

/* Compact, cursive styling for Quotes (opposite of About) */
#quotes{ text-align:center; margin:0.4rem 0 1rem 0 }
#quotes h2{ font-size:1.15rem; margin-bottom:0.2rem }
#quote{
  display:inline-block;
  font-family: 'Dancing Script', 'Brush Script MT', cursive;
  font-size:1.45rem;
  font-weight:500;
  font-style:italic;
  line-height:1.25;
  padding:0.5rem 1rem;
  border-radius:10px;
  background: rgba(250,245,250,0.65);
  color: #372323;
  margin:0;
  max-width:65ch;
  box-shadow: none;
}

#quotes blockquote{ margin:0 }

@media (max-width:600px){
  #quote{ font-size:1.15rem; padding:0.35rem 0.7rem; max-width:40ch }
}

/* Fixed countdown moved to top-right */
#countdown{
  position:fixed;
  top:20px;
  right:20px;
  left:auto;
  transform:none;
  z-index:1000;
  background: linear-gradient(90deg, rgba(255,250,252,0.98), rgba(255,241,246,0.98));
  padding:0.8rem 1.2rem;
  border-radius:999px;
  box-shadow:0 8px 28px rgba(217,47,106,0.08);
  display:flex;
  gap:0.6rem;
  align-items:center;
  backdrop-filter: blur(6px);
  border:1px solid rgba(217,47,106,0.06);
}

#timer{ color: var(--accent); font-weight:700; font-size:1.1rem }
#startDate, #setToday{ font-size:0.95rem; margin-left:0.25rem }

/* Ensure content spacing still respects hero/header; reduce main padding so hero is visible */
main{ padding-top: calc(2rem + 28px); }

@media (max-width:600px){
  #countdown{ top:12px; right:12px; padding:0.45rem 0.7rem }
  #timer{ font-size:1rem }
  #startDate, #setToday{ font-size:0.9rem }
  main{ padding-top: calc(1rem + 26px); }
}

/* Bigger hero banner under the main title */
.hero{ display:flex; justify-content:center; padding:1.8rem 0 2.2rem 0; }
.hero-inner{
  background: linear-gradient(90deg, rgba(255,241,245,0.98), rgba(255,233,240,0.96));
  padding:1.6rem 2.4rem; border-radius:18px; display:flex; align-items:center; gap:1.25rem; box-shadow:0 16px 44px rgba(217,47,106,0.06);
}
.hero-badge{ position:relative; display:flex; flex-direction:column; align-items:center; padding:0.6rem 1rem; border-radius:14px; background: linear-gradient(180deg,#fff4ee,#fff0e7); border:1px solid rgba(200,120,90,0.06); min-width:120px }
.badge-title{ font-weight:900; color:var(--accent-deep); letter-spacing:0.8px; font-size:1.05rem }
.badge-date{ font-weight:800; color: #a83a4f; margin-top:0.3rem; font-size:1.02rem }
.hero-sub{ margin:0; color:#4b2b3b; font-style:italic; font-size:1.25rem }

/* enlarge sparkle pseudo slightly to match bigger badge */
.hero-badge::after{
  content:'';
  position:absolute;
  left:-20px; top:-30px;
  width:180px; height:180px; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.65), rgba(255,255,255,0) 30%);
  opacity:0.92;
  pointer-events:none;
}

@media (max-width:900px){
  .hero-inner{ padding:1.1rem 1.6rem; gap:0.9rem }
  .hero-sub{ font-size:1.05rem }
  .badge-title{ font-size:0.98rem }
  .badge-date{ font-size:0.95rem }
}
@media (max-width:600px){
  .hero{ padding:1rem 0 1.2rem 0 }
  .hero-inner{ padding:0.8rem 1rem; gap:0.6rem }
  .hero-sub{ font-size:0.95rem }
  .badge-title{ font-size:0.9rem }
  .badge-date{ font-size:0.9rem }
  .hero-badge::after{ width:110px; height:110px; left:-12px; top:-18px; opacity:0.9 }
}

/* Video gallery: stack main video and thumbnail strip vertically (main + thumbs below) */
#videoList{ display:flex; flex-direction:column; gap:1rem; align-items:center; margin-top:0.75rem }

/* Make the main video fill the content width and occupy most of viewport height so it "covers it all" */
.video-main{ width:100%; max-width:1400px; margin:0 auto 1rem; }
.video-main .gallery-video{ width:100%; height:min(94vh,1200px); max-height:96vh; border-radius:10px; object-fit:contain; background:#000; display:block }

@media (max-width:900px){
  .video-main .gallery-video{ height:min(78vh,920px) }
}
@media (max-width:600px){
  .video-main{ max-width:100%; }
  .video-main .gallery-video{ height:min(66vh,560px) }
}

/* Thumbnails strip placed below the main video and centered */
.video-thumbs{ display:flex; gap:0.6rem; overflow-x:auto; padding:0.25rem 0; width:100%; justify-content:center }
.thumb-btn{ width:120px; height:80px; padding:0; border-radius:8px; overflow:hidden; border:none; background:transparent; cursor:pointer }
.thumb-btn.active{ box-shadow:0 12px 30px rgba(217,47,106,0.16); transform:translateY(-6px); border:2px solid rgba(255,111,150,0.14); }
.thumb-video{ width:100%; height:100%; object-fit:cover; display:block }

/* keep caption smaller if present */
.video-caption{ font-size:0.85rem; padding:0.3rem }

@media (max-width:900px){
  .video-main .gallery-video{ height:160px }
  .thumb-btn{ width:100px; height:70px }
}
@media (max-width:600px){
  .video-main{ max-width:100%; }
  .video-main .gallery-video{ height:140px }
  .thumb-btn{ width:90px; height:60px }
}

/* Apply warm fonts */
body{ font-family: 'Quicksand', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; }
header h1{ font-family: 'Merriweather', 'Great Vibes', 'Dancing Script', cursive; }

/* Decorative corner accents (simple SVG shapes via background-image) */
.decor{ position:fixed; width:160px; height:160px; z-index:0; pointer-events:none; opacity:0.9 }
.decor-top-left{ left:20px; top:20px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><defs><linearGradient id='hg2' x1='0' x2='1'><stop offset='0' stop-color='%23ffd1e6'/><stop offset='1' stop-color='%23ff6b98'/></linearGradient></defs><rect width='160' height='160' rx='12' fill='url(%23hg2)' opacity='0.98'/><g transform='translate(30,20)' fill='%23ff6b98' opacity='0.98'><path d='M50 18c-6-12-24-12-30 0-8 14 2 34 30 56 28-22 38-42 30-56-6-12-24-12-30 0z' /></g></svg>"); background-size:cover }
.decor-bottom-right{ right:20px; bottom:20px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><defs><linearGradient id='g2' x1='0' x2='1'><stop offset='0' stop-color='%23fff1e6'/><stop offset='1' stop-color='%23ffdfc9'/></linearGradient></defs><rect width='160' height='160' rx='12' fill='url(%23g2)' opacity='0.95'/><g fill='%23c85a3a' opacity='0.1'><path d='M30 90c18 6 36 4 52-6 10-7 26-10 38-4v28c-18-10-40-8-62 2z'/></g></svg>"); background-size:cover }

/* Add a subtle paper texture file: use a higher-res repeating texture for warmth (data URI small) */
body::before{ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAACXBIWXMAAAsTAAALEwEAmpwYAAABGklEQVR4nO3VMQ6CQBBG4Q9QY6p0oniEo6o3rQdIkc0mK7TgLx0fLr3n8iR8gQvE6atK1Wq1Wq9a5Zg9wXb9Qh9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4A9g4