@charset "UTF-8";#loader{opacity:0;visibility:hidden;transition:opacity .8s ease-out,visibility 0s linear .5s;z-index:99999}#loader.show{transition:opacity .8s ease-out,visibility 0s linear 0s;visibility:visible;opacity:1}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-family:"Great Vibes",cursive;font-weight:700}.display-regular-1,.display-regular-2,.display-regular-3,.display-regular-4,.display-regular-5,.display-regular-6{font-weight:700}.wedding-logo{width:150px;height:auto;color:var(--primary);transition:color .3s ease,transform .3s ease}.back-to-top{position:fixed;right:30px;bottom:30px;display:flex;width:45px;height:45px;align-items:center;justify-content:center;transition:.5s;z-index:99}.sticky-top{transition:top .5s ease-in-out,background-color .5s ease;background-color:var(--bs-white);z-index:1050}.navbar .navbar-nav .nav-link{padding:10px 15px;font-family:"Petit Formal Script",cursive;font-weight:600;font-size:16px;transition:.5s}.navbar .navbar-nav .nav-link.active,.navbar .navbar-nav .nav-link:hover,.sticky-top.bg-white .navbar .navbar-nav .nav-link.active,.sticky-top.bg-white .navbar .navbar-nav .nav-link:hover{color:var(--bs-primary)}@media (min-width:1200px){.navbar .navbar-collapse .border-top{border-top:none!important}}.carousel-item-wedding{position:relative;min-height:100vh}.carousel-item-wedding img{position:absolute;width:100%;height:100%;object-fit:cover}.carousel-item-wedding .carousel-caption{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:end;text-align:center;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4));background-size:cover}#barCarousel .carousel-caption,#beachCarousel .carousel-caption,#churchCarousel .carousel-caption,#poolCarousel .carousel-caption{background:linear-gradient(to top,rgba(0,0,0,.6) 0,transparent 100%);left:0;right:0;bottom:0;padding-bottom:35px;width:100%}#barCarousel .carousel-caption h5,#beachCarousel .carousel-caption h5,#churchCarousel .carousel-caption h5,#poolCarousel .carousel-caption h5{color:#fff;font-weight:700;text-shadow:1px 1px 4px rgba(0,0,0,.6);letter-spacing:1px}#barCarousel .carousel-caption p,#beachCarousel .carousel-caption p,#churchCarousel .carousel-caption p,#poolCarousel .carousel-caption p{color:#f8f9fa;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.wedding-card{background-color:var(--light);background-image:url(../img/ivory-floral.jpg);background-size:cover}.divider{display:flex;justify-content:center;align-items:center;padding:10px 0 0 0;font-size:18px}.divider::after,.divider::before{content:"";background:var(--bs-primary);height:1px;flex:1}.divider::before{margin-right:20px}.divider::after{margin-left:20px}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.divider-pulse{animation:pulse 1s ease infinite;display:inline-block;line-height:0}.divider-pulse lord-icon{display:block}.wedding-date{position:relative;overflow:hidden;min-height:500px}.wedding-date-content{background:linear-gradient(to bottom,rgba(0,0,0,.4) 0,transparent 50%),url(../img/wedding-date-bg.jpg);background-repeat:no-repeat;background-size:cover;background-position:bottom center}.wedding-date-content .container{transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s ease;position:relative;z-index:10;background:rgba(253,243,231,.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:30px;padding:2rem;border:1px solid rgba(255,255,255,.3)}.is-hidden{opacity:0!important;transform:scale(.95);pointer-events:none}@media (max-width:576px){.wedding-timeline .heart-circle{display:none}}#dressCodeCarousel{max-width:400px;margin:0 auto;overflow:hidden}#dressCodeCarousel .carousel-item{text-align:center;padding-bottom:50px;min-height:480px}#dressCodeCarousel .carousel-caption{position:static;padding-top:20px;color:var(--dark);min-height:180px;display:block}#dressCodeCarousel .carousel-item img{display:block;margin:0 auto;max-height:300px;width:auto}#dressCodeCarousel .carousel-indicators button{background-color:var(--bs-info)!important}#dressCodeCarousel .carousel-indicators{bottom:0}#messagesContainer::-webkit-scrollbar{width:6px}#messagesContainer::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.wish-card{background:#fff;border-radius:20px;padding:15px 20px;margin-bottom:15px;border-left:5px solid var(--secondary);transition:transform .3s ease}.wish-card.host-message{border-left:5px solid var(--primary);background:linear-gradient(135deg,#fdf3e7 0,#fff 100%);position:relative}.wish-card.host-message::after{content:"Anfitrión";position:absolute;top:10px;right:20px;font-size:.65rem;text-transform:uppercase;background:var(--primary);color:#fff;padding:2px 8px;border-radius:10px;letter-spacing:1px}.host-img{width:55px;height:55px;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 8px rgba(0,0,0,.1)}.wish-date{font-size:.75rem;color:#888}.footer{background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),url(../img/footer-bg.jpg) right center;background-size:cover;background-repeat:no-repeat}@media (max-width:576px){.footer{background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),url(../img/footer-bg.jpg) calc(100% + 100px) center;background-size:cover;background-repeat:no-repeat}}.footer .footer-item a.btn-link,.footer .footer-item p{line-height:35px;font-size:17px;color:var(--bs-light);transition:.5s}.footer .footer-item a.btn-link:hover{color:var(--bs-primary);letter-spacing:2px}@media (max-width:992px){.footer .text-center,.footer .text-end,.footer .text-start{text-align:center!important}}.copyright{border-top:1px solid rgba(255,255,255,.08);background:var(--bs-dark)!important}