/* Centered 900px container */html, body {  height: auto;  margin: 0;}body {    font-family: 'Edwardian Script ITC', cursive;    color: #6b4c4c;    margin: 0;    padding: 0;    /*background: #fffde6;*/    background: linear-gradient(to bottom, #fffde6, white);}.container {  max-width: 900px;  width: 90%;  margin: 0 auto;  background-image: url('images/background1.JPG');  background-size: 100%;  position: relative;  display: flex;  flex-direction: column;  overflow-x: visible;  overflow-y: hidden;  justify-content: center;}@media (max-width: 768px) {  .container {    background-size: 150%; /* zoom in 1.5x */    background-position: center; /* keep it centered */  }}/* Gradient vertical borders on left + right */.container::before,.container::after {  content: "";  position: absolute;  top: 0;  bottom: 0;  width: 7px;}.container::before {  left: 0;  background: linear-gradient(to right, #ffaab5, white, #ffaab5);  z-index: 15; /* on top of everything */}.container::after {  right: 0;  background: linear-gradient(to left, #ffaab5, white, #ffaab5);  z-index: 15; /* on top of everything */}/* Banner on top */.header {    width: 100%;    max-width: 900px;    position: relative;    height: 120px;    text-align: center;    padding: 20px 0;    overflow: visible;  /* critical: allow content to escape */    z-index: 12;}.teddy-bear {    width: 200px;    position: absolute;    left: -30px;    bottom: -25px;    transform: rotate(16deg);    z-index: 20;          /* higher than scroll box (10) */}.teddy-bear1 {    width: 130px;    position: absolute;    left: 95px;    bottom: -16px;    transform: rotate(16deg);    z-index: 20;          /* higher than scroll box (10) */}.teddy-bear3 {    width: 80px;    position: absolute;    left: 185px;    bottom: -10px;    transform: rotate(16deg);    z-index: 20;          /* higher than scroll box (10) */}.header-logo {  width: 300px;  max-width: 80%;  position: absolute;  left: 50%;  top: 50%;  transform: translate(-50%, -50%); /* center both horizontally and vertically */  cursor: pointer;}.pincushion {    width: 180px;    margin-top: 20px;    position: absolute;    right: 10px;    bottom: 0px;    transform: none;      filter:     drop-shadow(0 0 3px #C23D2B)    drop-shadow(0 0 5px #C23D2B)    drop-shadow(0 0 10px white);  box-shadow: 0 0 0px rgba(255, 182, 193, 0.4);}.pincushion:hover {  transition: 0s ease;  filter:     drop-shadow(0 0 3px pink)    drop-shadow(0 0 5px pink)    drop-shadow(0 0 10px white);}@media (min-width: 700px) and (max-width: 900px) {.bears {    transform: scale(0.9);    position: absolute;    bottom: 0px;    z-index: 20;          /* higher than scroll box (10) */}}@media (max-width: 700px) {    /*.pincushion {*/    /*    transform: scale(0.95);*/    /*    right: -5px;*/    /*    bottom: -25px;*/    /*}*/       .teddy-bear1 {  display: none;           }  .teddy-bear3 {  display: none;     }}@media (max-width: 500px) {    .teddy-bear {        width: 140px;        left: -20px;        bottom: -15px;        transform: rotate(0deg);    }    .header-logo {        width: 270px;}    .pincushion {        width: 130px;        right: -5px;        bottom: -20px;    }}.scroll-box {  width: 100%;  max-width: 900px;  height: 30px;  overflow-x: hidden;  /* hide horizontal scrollbar */  overflow-y: visible; /* allow vertical overflow if needed */  background: linear-gradient(to bottom, #ffaab5, white, #ffaab5);  display: flex;  align-items: center;  box-shadow: 0 4px 6px rgba(0,0,0,0.2);   z-index: 10;}.scroll-wrapper {  display: flex;  width: max-content;  animation: scroll 20s linear infinite;}.scrolling-image {  height: 40px;   /* smaller than the scroll box */  width: auto;    /* maintain aspect ratio */  margin-right: 400px;  overflow: visible;}@keyframes scroll {  from { transform: translateX(0%); }  to   { transform: translateX(-50%); }}.scroll-box::-webkit-scrollbar {  display: none;  /* hide scrollbar in WebKit browsers (Chrome, Safari) */}/* Sidebar + main next to each other */.content {  display: flex;  align-items: stretch;  position: relative;  min-height: 700px;}/* Gradient divider between sidebar + main */.content::before {  content: "";  position: absolute;  top: 0;  bottom: 0;  left: 180px; /* matches sidebar width */  width: 7px;  background: linear-gradient(to right, #ffaab5, white, #ffaab5);  z-index: 10; /* on top of everything */}/* Sidebar */.sidebar-content {  display: flex;  flex-direction: column;  justify-content: space-between; /* page counter at top, contact at bottom */  flex: 1;}.sidebar {  display: flex;                    /* ⬅️ Add this */  flex-direction: column;           /* ⬅️ Stack content vertically */  justify-content: space-between;  /* ⬅️ Push top & bottom apart */  flex: 0 0 180px;  box-sizing: border-box;  margin: 0 0 0 0;  z-index: 2;  padding: 0 10px;    position: relative; /* container for pseudo-element */  background: linear-gradient(to bottom, #fff9e6, #ffffff); /* main gradient */  overflow: hidden; /* ensures pseudo-element stays inside *//* Optional: adds horizontal padding if needed */}/* Search bar flush to edges */.search-bar {  position: relative;  width: 110%;         left: -7px; /* full width of sidebar */  margin: 0 0 20px 0;       /* no margin */  height: 35px;  display: flex;  border: 1px solid #ccc;  background: white;  border-radius: 0;       /* no rounding */}/* Input fills space, leaves room for button */.search-bar input {  flex: 1;  border: none;  padding: 0 10px;  height: 100%;  box-sizing: border-box;  outline: none;  padding-right: 40px;     /* space for circular button */  border-radius: 0;  margin: 0;    font-family: "Times New Roman", Times, serif;  /* change to any font */  font-size: 16px;      /* adjust size */  font-style: italic;   /* optional */  color: #333;          /* text color */}/* Circular pink button flush right */.search-bar button {  position: absolute;  right: 2px;               /* flush right */  top: 50%;  transform: translateY(-50%);  width: 30px;  height: 30px;  border: none;  border-radius: 50%;  background: #ffc0cb;  cursor: pointer;  display: flex;  align-items: center;  justify-content: center;  z-index: 10;}.search-bar button svg {  width: 16px;  height: 16px;  stroke: #fff;}.nav-buttons {    list-style: none;    padding-left: 8px;    margin: 0;    display: flex;    flex-direction: column;    align-items: center;}.nav-buttons li {    margin-bottom: 10px;}.nav-buttons a {    display: flex;                 /* center text */    justify-content: center;       /* horizontal center */    align-items: center;           /* vertical center */    width: 160px;                  /* 80% of 200px sidebar */    height: 35px;                 /* taller for ellipse shape */    border-radius: 50%;            /* makes it a true ellipse */    text-align: center;    text-decoration: none;    font-size: 18px;    font-family: "Times New Roman", Times, serif;    font-style: italic;    padding: 0;                    background: linear-gradient(        to bottom,        #ffffff 0%,        #ffddde 70%,        #ffc0cb 90%    );    border: 2px solid #fa8fa1;    box-shadow:         2px 2px 5px rgba(0,0,0,0.1),         0 0 8px rgba(245, 54, 88, 0.8),        inset 2px 3px 2px #FACDD1,        inset 4px 5px 2px rgba(255, 255, 255, 0.6),               inset -2px -3px 2px rgba(110, 11, 17, 0.15);    text-shadow: 1px 1px 2px rgba(120, 0, 0, 0.15);        color: #FF83a0;    transition:         font-size 0s ease,         color 0s ease,         background 0s ease,         text-shadow 0s ease;}/*.nav-buttons li:nth-child(odd) a {*//*    background: linear-gradient(*//*        to bottom,*//*        #ffffff 0%,*//*        #ffddde 70%,*//*        #ffc0cb 90%*//*    );*//*    border: 2px solid #fa8fa1;*//*    box-shadow: *//*        2px 2px 5px rgba(0,0,0,0.1),*//*        inset 2px 3px 2px #FACDD1,*//*        inset 4px 5px 2px rgba(255, 255, 255, 0.6),*//*        inset -2px -3px 2px rgba(110, 11, 17, 0.15);*//*    text-shadow: 1px 1px 2px rgba(120, 0, 0, 0.15);*//*        color: #FF83a0;*//*}*//*.nav-buttons li:nth-child(even) a {*//*    background: linear-gradient(*//*        to bottom,*//*        #ffffff 0%,*//*        #b3e5ff 70%,   *//*        #73b9ff 90%   *//*    );*//*    border: 2px solid #73b9ff; *//*    box-shadow: *//*        2px 2px 5px rgba(0,0,0,0.15),*//*        inset 2px 3px 2px #ccecff, *//*        inset 4px 5px 2px rgba(255, 255, 255, 0.6),*//*        inset -2px -3px 2px rgba(0, 70, 139, 0.2);*//*    text-shadow: 1px 1px 2px rgba(0, 70, 139, 0.3); *//*    color: #2683ed; *//*}*/.nav-buttons a:hover {    background: linear-gradient(to bottom, #FFC7D5, #FF9EB6);    box-shadow: 0 0 8px rgba(245, 54, 88, 0.8), 0 0 15px rgba(255, 255, 255, 1),             inset 2px 3px 4px rgba(255, 255, 255, 0.6), /* highlight top-left */        inset -2px -3px 4px rgba(0, 0, 0, 0.15); color: #FBEAED;    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);  /* shadow bottom-right */}.choco {    display: block;         /* ensures margin auto works */    margin: 3px 10% 3px 12%;    /* top 0, bottom 15px spacing */    width: 80%;    max-width: 180px;      height: auto;           /* maintain aspect ratio */}.page-counter {  display: flex;  justify-content: center;  /* center row */  gap: 0px;               /* spacing between hearts */  margin: 0 8% 0 11%;          /* optional spacing */}.heart {  width: 30px;             /* adjust as needed */  height: 30px;  flex: 0 0 auto;  background: url('images/heart.png') no-repeat center/cover;  display: flex;  align-items: center;  justify-content: center;  font-family: "Times New Roman", Times, serif;  font-weight: bold;  font-size: 15px;  color: white;  text-align: center;  line-height: 0;     cursor: pointer;  user-select: none;  transition: transform 0.2s;}.heart:hover {  transform: scale(1.1);  /* optional hover effect */}.header{  position: relative; /* container for pseudo-element */  background: linear-gradient(to bottom, #fff9e6, #ffffff); /* main gradient */  overflow: visible; /* ensures pseudo-element stays inside */}.contact-section {  display: flex;  flex-direction: column;  margin-top: auto;  align-items: center;  margin-bottom: 10px;}.contact-icon {  position: relative;  display: inline-block; /* shrink to image size */  width: fit-content;    /* ensures container fits the image */}.contact-icon img {  width: 130px;  height: auto;  margin-bottom: 8px;  margin-left: 3px;  transition: transform 0.2s;  position: relative;  display: block; }.contact-icon img:hover {  transform: scale(1.05);}.contact-text {  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -150%);  color: white;  font-size: 17px;  font-weight: bold;  text-align: center;  pointer-events: none;  text-shadow:     0 0 5px #ffaab5,    0 0 10px #ffaab5;}.social-row {  display: flex;  gap: 6px;}.social-row a img {  width: 22px;  height: 22px;  transition: transform 0.2s;}.social-row a img:hover {  transform: scale(1.2);}@media (max-width: 768px) {    /* Hide the gradient divider when sidebar collapses */    .content::before {        display: none;    }}.header::after {  content: "";  position: absolute;  top: 0; left: 0; right: 0; bottom: 0;  pointer-events: none; /* allow clicks through */  background-image:    radial-gradient(circle, #ffc0cb 2px, transparent 2px),    radial-gradient(circle, #ffc0cb 2px, transparent 2px);  background-size: 15px 15px;       /* spacing of dots */  background-repeat: repeat;  background-position: 0 0, 7.5px 7.5px; /* offset second layer for stagger */  z-index: -1; /* keep behind content but above gradient */}.sidebar::after {  content: "";  position: absolute;  top: 0; left: 0; right: 0; bottom: 0;  pointer-events: none;    background-image:     radial-gradient(circle, #ffc0cb 0%, transparent 30%),    radial-gradient(circle, #ffc0cb 0%, transparent 30%);   background-size: 30px 30px;  background-repeat: repeat;  background-position: 0 0, 15px 15px;  z-index: -1; }.responsive-wrapper {  width: 100%;  display: flex;  justify-content: center; /* center main horizontally */  min-height: 100vh;}/* Scale main for screens smaller than 900px, but above mobile (450px) */@media (max-width: 980px) and (min-width: 451px) {  .main {    width: 780px;     transform-origin: top center;    transform: scale(calc(100vw / 900));  }  .main .top-section {    transform-origin: top center;    transform: scale(calc(100vw / 900));  } }  /* Main content */.main {  display: flex;  flex-direction: column;  align-items: center; /* center frame + buttons horizontally */  width: 100%;  max-width: 700px;  min-height: 0;  box-sizing: border-box;  padding: 2%;  background: transparent;}/* Top section containing frame + ribbon + buttons */.top-section {  display: flex;  max-width: 700px;  flex-direction: row;  align-items: flex-start;  justify-content: center; /* center horizontally */  gap: 2%;  transform-origin: top center; /* scale from top center */  overflow: visible;}/* Big Ribbon: top-right of frame, scales proportionally */.big-ribbon {    position: absolute;    width: 44%;           /* relative to frame width (was 250px) */    top: 0%;             /* relative to frame height, slightly above top */    right: 0%;            /* align with right edge of frame */    transform: translate(26%, -26%) rotate(16deg); /* keep fine-tune */    z-index: 15;}/* Steffs Overlay: bottom center of frame, overlapping */.steffs-overlay {    position: absolute;    width: 40%;           /* relative to frame width (was 230px) */    left: 50%;            /* center horizontally */    bottom: -12%;          /* negative to overlap frame (was -55px) */    transform: translateX(-50%);    z-index: 10;    pointer-events: none; /* optional: allow clicks through */}/* Frame container */.frame {  position: relative;  width: 85%;      /* Default width */  max-width: 90vw;   /* Scales for smaller screens */}/* Frame image */.frame-img {  width: 100%;  display: block;  height: auto;}/* Photo box sits inside white area */.photo-box {  position: absolute;  top: 12%;     /* leave space for lace */  left: 9%;  width: 82%;  height: 76%;  overflow: hidden;}.photo-box img {  width: 100%;  height: 100%;  object-fit: cover;  border-radius: 15px;}.edge-fade {  width: 100%;  height: 100%;  object-fit: cover;  border-radius: 15px;  -webkit-mask-image: linear-gradient(white 90%, transparent 100%);  -webkit-mask-repeat: no-repeat;  -webkit-mask-size: 100% 100%;  -webkit-mask-position: center;  mask-image: linear-gradient(white 90%, transparent 100%);  mask-repeat: no-repeat;  mask-size: 100% 100%;  mask-position: center;  /* For fading on all sides, use inset box-shadow trick */  position: relative;}.photo-box::after {  content: "";  position: absolute;  inset: 0;  pointer-events: none;  box-shadow:    inset 0 9px 20px rgba(255,255,255,1),    inset 9px 0 10px rgba(255,255,255,1),    inset -9px 0 10px rgba(255,255,255,1),    inset 0 -9px 10px rgba(255,255,255,1);  border-radius: 15px;}/* Buttons styling */.buttons {  display: flex;  flex-direction: column; /* stack vertically */  justify-content: center;  gap: 6px;  margin-top: 11vw; /* 20% of viewport height */}.buttons button {  width: 4.5vw;  height: 4.5vw;  min-width: 30px;  min-height: 30px;  max-width: 40px;  max-height: 40px;  border-radius: 50% / 50%;         cursor: pointer;/*  font-family: "Times New Roman", Times, serif;  font-style: italic;  font-weight: bold;  color: #6face8;  font-size: 18px;            display: flex;  justify-content: center;  align-items: center;  background: linear-gradient(to bottom, white, #bae7ff);  border: 1px solid #6face8;  box-shadow:       2px 2px 5px rgba(0,0,0,0.1),      inset 1px 1px 1px #bae7ff,      inset 4px 5px 2px rgba(255, 255, 255, 0.6),             inset -2px -3px 2px rgba(110, 11, 17, 0.15),      0 5px 5px rgba(0, 0, 0, 0.25);  text-shadow: 1px 1px 2px rgba(120, 0, 0, 0.15);*/    background: linear-gradient(        to bottom,        rgba(255, 255, 255, 1) 0%,     /* top highlight */        #d9f2ff 100%                    /* deeper blue at bottom */    );    border: 1px solid white;    box-shadow:         2px 2px 8px rgba(140, 69, 69, 0.3),         0px 0px 7px rgba(140, 69, 69, 0.3), /* outer blue shadow */        inset 1px 2px 1px #ffffff,                /* top-left highlight */        inset 3px 4px 3px rgba(139,200,246,0.25), /* inner soft blue tint */        inset -2px -3px 2px rgba(40,114,208,0.2); /* bottom inner shadow */    font-family: "Times New Roman", Times, serif;    font-style: italic;    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);    color: #6face8;   /* strong deep blue text */    display: flex;    align-items: center;    justify-content: center;    font-size: 20px;    position: relative;    overflow: hidden;}/* Gradient border effect */.buttons button::before {    content: '';    position: absolute;    inset: 0;    border-radius: inherit;    padding: 2px; /* border thickness */    background: linear-gradient(        to bottom,        #ffffff 0%,         #bae7ff 70%    );    -webkit-mask:         linear-gradient(#fff 0 0) content-box,         linear-gradient(#fff 0 0);    -webkit-mask-composite: xor;            mask-composite: exclude;    z-index: 2;}.buttons .big-left {  font-size: 20px; /* big number */  font-weight: bold;}.buttons .right-wrapper {  display: flex;  flex-direction: column; /* stack two small texts */  align-items: flex-end;  /* align to right */}.buttons .small-right {  font-size: 8px; /* smaller label */  color: #d65c7b;  font-weight: bold;  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.25);}.buttons .small-right-bottom {  font-size: 7px; /* bottom small label */  margin-top: -2px; /* optional: tighten spacing */  margin-right: -3px;  font-family: "arial";  font-style: normal;  color: #fa98ae;  text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.25);}/* Optional hover effect */.buttons button:hover {    /* Move slightly down */    transform: translateY(2px);     /* Make it brighter */    filter: brightness(1.02);    /* Add bottom shadow and white glow */    box-shadow:         -2px -2px 8px rgba(84, 26, 30,0.3),         inset 1px 2px 1px #ffffff,        inset 3px 4px 3px rgba(80,120,150,0.12),        inset -2px -3px 2px rgba(0,0,0,0.08);}.middle-wrapper {    position: relative;   /* anchor for absolutely positioned notes */    width: 100%;    max-width: 700px;     /* match your main container width */    margin-top: 3vw;    height: 30%;   }@media (min-width: 1400px){  .middle-wrapper {    margin-top: 50px;  }    .buttons {  margin-top: 10vw; /* 20% of viewport height */  }   .cushionslide.slide2 { width: 60%; margin-top: -5%; animation-delay: 5s; }  .cushionslide.slide3 { width: 60%; margin-top: -6%; animation-delay: 10s; }}@media (max-width: 500px) {  .middle-wrapper {    height: 220px; /* shrink for phones */  }}.middle-section {  background: url('images/background2.JPG') top center / cover no-repeat;  -webkit-mask-image: url('images/middleframe.png');  -webkit-mask-repeat: no-repeat;  -webkit-mask-position: top center;  -webkit-mask-size: contain;  mask-image: url('images/middleframe.png');  mask-repeat: no-repeat;  mask-position: top center;  mask-size: contain;  position: relative;  width: 100%;  aspect-ratio: 3/2;  overflow: visible;  z-index: 3;}.girlssitting {  position: absolute;       /* position relative to middle-wrapper */  top: 26%;                   /* flush with top of container */  left: 15%;                /* center horizontally */  transform: translateX(-50%);  width: 70%;             /* fixed width for easy control */  max-width: 400px;           /* scale down on small screens */  height: auto;  z-index: 10;              /* above the background mask */}@media (min-width: 500px) and (max-width: 1024px) {  .girlssitting {    width: 70%;     /* adjust as needed */    top: 30%;      /* adjust vertical position */  }}@media (max-width: 500px) {  .girlssitting {    width: 70%;      top: 22%;                   /* flush with top of container */    left: 15%;  }}.img1997 {  position: absolute;  top: 60%;  right: -5%; /* adjust as needed */  width: 70%;  max-width: 470px;  height: auto;  z-index: 9;}@media (min-width: 500px) and (max-width: 870px) {  .img1997 {    width: 70%;      top: 50%;                     right: -9%;  }}@media (max-width: 500px) {  .img1997 {    width: 70%;      top: 55%;                      right: -9%;  }}.logo-sticker-img {  position: absolute;  top: 7%;  right: 15%;  z-index: 20;  width: 23%;  max-width: 160px;  height: auto;}@media (max-width: 500px) {  .logo-sticker-img {    width: 23%;      top: 8%;                      right: 15%;  }}.ribbon-img {  position: absolute;  top: 7%;  left: 13%;  transform: scaleX(-1) rotate(58deg);  width: 43%;  max-width: 300px;  height: auto;  z-index: 9;}@media (min-width: 500px) and (max-width: 870px) {  .ribbon-img {    width: 50%;      top: 5%;                     left: 13%;  }}.cushionslide {  position: absolute;  top: 0;              left: 50%;           transform: translateX(-50%);  width: 100%;           height: auto;  overflow: hidden;  z-index: 0;           opacity: 0;         animation: fadeSlide 15s infinite;  animation-fill-mode: both; /* keep opacity at start/end */}/* Individual slides offsets */.cushionslide.slide1 { width: 90%; top: 3%; animation-delay: 0s; }  .cushionslide.slide2 { width: 60%; top: 5vw; animation-delay: 5s; }  .cushionslide.slide3 { width: 60%; top: 5vw; animation-delay: 10s; }/* Fade animation for equal durations */@keyframes fadeSlide { 0% { opacity: 0; } /* start hidden */ 20% { opacity: 1; } /* fade in longer */ 50% { opacity: 1; } /* hold fully visible */ 70% { opacity: 0; } /* fade out longer */ 100% { opacity: 0; } /* stay hidden until next cycle */ }.notes-container {    position: absolute;    top: 8vw;    left: 0;    width: 100%;    height: auto;    pointer-events: none;    z-index: 15;}@media (min-width: 500px) and (max-width: 870px) {  .notes-container {    top: 19vw;                   }}@media (max-width: 500px) {  .notes-container {    top: 23%;                   }}.note {    position: absolute;    top: 0px;    opacity: 0;    background-image: url('images/musicnote.PNG');    background-size: contain;    background-repeat: no-repeat;    animation: fall linear infinite;}.note:nth-child(1)  { left: 10%; animation-duration: 10s; animation-delay: 0s;  width: 70px; height: 70px; }.note:nth-child(2)  { left: 20%; animation-duration: 8s;  animation-delay: 1s;  width: 60px; height: 60px; }.note:nth-child(3)  { left: 30%; animation-duration: 12s; animation-delay: 2s;  width: 50px; height: 50px; }.note:nth-child(4)  { left: 40%; animation-duration: 7s;  animation-delay: 3s;  width: 35px; height: 35px; }.note:nth-child(5)  { left: 50%; animation-duration: 9s;  animation-delay: 4s;  width: 45px; height: 45px; }.note:nth-child(6)  { left: 60%; animation-duration: 11s; animation-delay: 0.5s; width: 30px; height: 30px; }.note:nth-child(7)  { left: 70%; animation-duration: 8s;  animation-delay: 1.5s; width: 40px; height: 40px; }.note:nth-child(8)  { left: 80%; animation-duration: 13s; animation-delay: 2.5s; width: 70px; height: 70px; }.note:nth-child(9)  { left: 90%; animation-duration: 6s;  animation-delay: 3.5s; width: 55px; height: 55px; }.note:nth-child(10) { left: 5%;  animation-duration: 10s; animation-delay: 4.5s; width: 35px; height: 35px; }.note:nth-child(11) { left: 85%; animation-duration: 9s;  animation-delay: 5s;  width: 60px; height: 60px; }.note:nth-child(12) { left: 45%; animation-duration: 11s; animation-delay: 2s;  width: 25px; height: 25px; }.note:nth-child(13) { left: 15%; animation-duration: 7s;  animation-delay: 1s;  width: 45px; height: 45px; }.note:nth-child(14) { left: 75%; animation-duration: 10s; animation-delay: 3s;  width: 30px; height: 30px; }.note:nth-child(15) { left: 65%; animation-duration: 8s;  animation-delay: 5s;  width: 50px; height: 50px; }@keyframes fall {    0% {        opacity: 0.9;        transform: translateY(-20vh) rotate(0deg);    }    100% {        opacity: 0.9;        transform: translateY(120vh) rotate(360deg);    }}.lovely-section {  max-width: 700px;  width: 100%;  height: 5vw;  margin-top: 50px;  margin-bottom: 50px;  gap:0;  position: relative;  display: flex;  flex-direction: row;  align-items: flex-start;  overflow: visible;  justify-content: center;}.lovelyday2 {  width: 80%;   z-index: 1;  }.lovely-section::before {  content: "";  position: absolute;  width: 100%;  max-height: 70px;  min-height: 40px;  height: 11vw;  background: white;  filter: blur(8px);  z-index: 0;  }.bottom-section {  max-width: 700px;  width: 100%;  aspect-ratio: 4/2.7;  gap:0;  position: relative;  display: flex;  flex-direction: row;  align-items: flex-start;  overflow: visible;  justify-content: center;  background-image: url('images/background3.JPG');  background-size: 130%;  background-position: center;  box-shadow: 0 0 6px 3px #cee9fd;    /*border: 2px solid lightblue;*/}    .frame2 {  position: relative;  width: 65%;  max-width: 90vw;  transform: rotate(-15deg); /* Tilt left by 5 degrees */  transform-origin: center center; /* Rotate around the center */  top: 12%;   /* Negative moves it up */  left: -70px; }@media (max-width: 500px) {  .frame2 {    left: -30px;     /* not pushed as far left */    top: 10%;        /* a little lower */    width: 70%;      /* shrink slightly for small screens */  }}/* Frame image */.frame-img2 {  width: 100%;  display: block;  height: auto;}/* Photo box inside frame */.photo-box2 {  position: absolute;  top: 12%;  left: 9%;  width: 82%;  height: 76%;  overflow: hidden;}.photo-box2 img {  width: 100%;  height: 100%;  object-fit: cover;  border-radius: 15px;}.edge-fade2 {  width: 100%;  height: 100%;  object-fit: cover;  border-radius: 15px;  -webkit-mask-image: linear-gradient(white 90%, transparent 100%);  -webkit-mask-repeat: no-repeat;  -webkit-mask-size: 100% 100%;  -webkit-mask-position: center;  mask-image: linear-gradient(white 90%, transparent 100%);  mask-repeat: no-repeat;  mask-size: 100% 100%;  mask-position: center;  /* For fading on all sides, use inset box-shadow trick */  position: relative;}.photo-box2::after {  content: "";  position: absolute;  inset: 0;  pointer-events: none;  box-shadow:    inset 0 9px 20px rgba(255,255,255,1),    inset 9px 0 10px rgba(255,255,255,1),    inset -9px 0 10px rgba(255,255,255,1),     inset 0 -9px 10px rgba(255,255,255,1);  border-radius: 15px;}.bottomlogo {  position: absolute;  top: 5%;   /* distance from bottom of section */  right: 12%;      /* adjust horizontal placement */  width: 36%;   /* adjust size */  transform: rotate(15deg); /* tilt it */  z-index: 10;    /* make sure it sits above frame2 */}.teddybear2 {  position: absolute;  bottom: 6%;   /* slightly higher than logo */  right: 0%;      /* adjust horizontal placement */  width: 40%;   /* adjust size */  transform: rotate(20deg); /* tilt in opposite direction */  z-index: 11;    /* on top of logo if needed */}@media (max-width: 500px) {  .teddybear2 {    right: -2%;  }}  .thankyou {  position: absolute;  bottom: 3%;  width: 50%;   /* adjust size */  z-index: 11;    /* on top of logo if needed */}  @media (max-width: 500px) {  .thankyou {    bottom: 0;  }}/* Mobile view */@media (max-width: 450px) {  .top-section {    flex-direction: column;        align-items: center;           transform: scale(1.1);        gap: 8px;              padding-bottom: 6vw;/* slightly larger gap between frame + buttons */  }  .frame {    margin-top: 11px;           /* add space between top of main and frame */  }  .buttons {    flex-direction: row;           justify-content: center;    margin-top: 12px;          transform: scale(0.8);     gap: 6px;  }  .big-ribbon {    transform: translate(20%, -20%) rotate(16deg);   }}@media (min-width: 500px) and (max-width: 870px){  .middle-wrapper {    height: 40%; /* shrink for phones */  }    .buttons {  margin-top: 17vw; /* 20% of viewport height */  }    .lovely-section {  margin-top: 100px;}}/* Calendar container */#sidebar-calendar {    width: 130px;    height: 150px;    background-color: #fff9c4; /* light yellow */    color: #6b4c4c; /* subtle brown */    font-family: 'Times New Roman', serif;    padding: 5px; /* more padding around entire calendar */    border-radius: 5px;    box-shadow: 1px 1px 5px rgba(0,0,0,0.1);    overflow: hidden;}#calendar-header {    display: flex;    justify-content: space-between;    align-items: center;    font-size: 10px;    margin-bottom: 2px;    background-color: transparent; /* month transparent */}#calendar-header button {    background: transparent;    border: none;    color: #6b4c4c; /* subtle brown */    font-size: 12px;    cursor: pointer;}#calendar-grid table {    width: 100%;    border-collapse: collapse;    table-layout: fixed; /* keeps 7 equal columns */    font-size: 9px;}#calendar-grid th {    font-weight: bold;    color: #6b4c4c;    background: linear-gradient(to bottom, #87CEFA, #ffffff); /* sky blue → white */    padding: 2px 0;}#calendar-grid td {    background: linear-gradient(to bottom, #FACDD1, #ffffff); /* light pink → white */    text-align: center;    vertical-align: middle;    border-radius: 3px;    border: 1px solid #ddd;    aspect-ratio: 1 / 1; /* makes the cells square */    padding: 0; }#calendar-grid .current-day {    background-color: #FF69B4; /* solid pink */    color: #fff;    font-weight: bold;}#sidebar-toggle {  display: none;}/* Hamburger button only on small screens */@media (max-width: 768px) {  #sidebar-toggle {    display: block;    position: fixed;    top: 10px;    left: 10px;    z-index: 20;    width: 35px;    height: 35px;    background: #ffc0cb;    border: none;    border-radius: 5px;    font-size: 24px;    color: white;    cursor: pointer;  }  .sidebar {    position: fixed;       /* sit above main content */    top: 0;    left: -220px;          /* hidden to the left */    width: 160px;  /* same as current width */    height: 100%;    z-index: 15;    transition: left 0.3s ease; /* slide in animation */    align-items: center;    overflow-y: auto;    overflow-x: hidden;    justify-content: center;        padding-right: 20px;  /*background-image: url('images/sideback.png');*/  /*background-size: 100%;*/  /*background-position: center;*/  }  /* When button clicked, slide sidebar in */  .sidebar.show {    left: 0;  }.sidebar::before {  content: "";  position: absolute;  top: 0; left: 0; right: 0; bottom: 0;  pointer-events: none; /* allow clicks through */  background-image:     radial-gradient(circle, #ffc0cb 0%, transparent 30%),    radial-gradient(circle, #ffc0cb 0%, transparent 30%);   background-size: 30px 30px;  background-repeat: repeat;  background-position: 0 0, 15px 15px;  z-index: -1; /* keep behind content but above gradient */      height: 100vh;}.sidebar::after {    content: "";    position: absolute;    top: 0;    left: 153px;          /* aligns to the right edge of sidebar */    width: 7px;        /* your desired thickness */    height: 100vh;    background: linear-gradient(to right, #ffaab5, white, #ffaab5);    z-index: 20;       /* above sidebar content */    pointer-events: none; /* so it doesn't block clicks */    opacity: 0;        /* initially hidden */}.sidebar.show::after {    opacity: 1;}  .content {    flex-direction: column;  }  .nav-buttons {    list-style: none;    padding-right: 7px; }      .nav-buttons a {        width: 120px;      /* narrower for mobile */        height: 30px;      /* shorter height */        font-size: 16px;   /* smaller font */        margin: 0;        justify-content: center;    }        .nav-buttons li {    margin-bottom: 4px;    }    .search-bar {        width: 100%;       /* full width of sidebar */        left: 0;        margin-top: 70px;        margin-bottom: 10px;        max-height: 30px;    }    .search-bar input {        font-size: 14px;        padding-right: 35px;    }    .search-bar button {        width: 28px;        height: 28px;    }    .choco {    transform: scale(0.8);    margin: -5px 0 0 0;    }  .page-counter {    transform: scale(0.8);  }    .heart {    margin: 0;      }  .contact-icon img {    transform: scale(0.8);    margin: -5px;  }  .social-row a img {    transform: scale(0.8);  }}      /* Resize calendar widget proportionally on smaller screens */@media (max-width: 768px) {  #calendar-widget-container {    width: 90%;           /* take most of the screen width */    margin: 0 0 -45px 0;    transform: scale(0.7); /* shrink to 80% of original size */    transform-origin: top center; /* scale from top center */  }  /* Adjust calendar table for scaling */  #calendar-grid table {    width: 100%;          /* fill container */    transform: scale(1);  /* keep inner table normal for proportional scaling */    transform-origin: top left;  }  /* Table cells */  #calendar-grid th,  #calendar-grid td {    padding: 3px;         /* reduce padding proportionally */    font-size: 80%;       /* smaller font for mobile */  }  /* Month-year display */  #month-year-display {    font-size: 1em;       /* scale down text */  }}.credit-section {  text-align: center;           /* Center all text */  margin-top: 20px;               /* Space above and below the section */ /* Choose your preferred font */  color: #333;                  /* Dark gray text color */}.credit-section h2 {  margin: 0;           /* Space below the heading */  font-size: 20px;              /* Adjust size as needed */  font-weight: normal;           /* Optional: make it less bold */}.credit-section p {  margin: 4px 0;    font-family: 'Times New ROman', sans-serif;/* Smaller spacing between paragraphs */  font-size: 14px;       color: brown; /* Slightly smaller text */  line-height: 1.2;             /* Tighter line height */}