@import 'variables'; header { display: flex; justify-content: space-between; padding: 0.7rem 2rem; background-color: #ffffff; align-items: center; box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12); position: relative; z-index: 999; font-family: "Nunito", sans-serif; .logo { width: 100px; display: flex; cursor: pointer; img { width: 100%; height: 100%; } } nav { display: flex; position: relative; .menu-item { color: #000000; font-weight: 500; margin-right: 15px; display: inline-block; position: relative; transition: color 0.3s; font-size: 16px; &.active { font-weight: bold; // color: #your-brand-color; } &::after { content: ""; position: absolute; top: 120%; left: 0; height: 2px; width: 100%; background: #B54418; transform: scaleX(0); transform-origin: left; transition: transform 0.3s; } &:hover { color: #B54418; cursor: pointer; } &:hover::after { transform: scaleX(1); } } } } .home-banner { height: calc(100vh - 55px); padding: 50px 0; display: flex; background-color: #{map-get($colors, white)}; opacity: 0; animation: slideUp 1s ease-in-out forwards; // animation-delay: 0.2s; @media(max-width:768px){ height: 100vh; } .home-banner-inner { flex: 1; display: flex; align-items: center; width: 100%; .container { height: 100%; } .inner-row { display: flex; justify-content: space-between; align-items: stretch; height: 100%; @media(max-width:768px){ flex-direction: column; } } .image-col { flex: 0 0 45%; display: flex; flex-direction: column; justify-content: center; img{ border-radius: 12px; box-shadow: #{map-get($shadows, 3)}; } } .text-col { flex: 0 0 40%; display: flex; flex-direction: column; justify-content: center; gap: 10px; @media(max-width: 768px){ flex: 0 0 100%; max-width: 100%; text-align: center; z-index: 9; } .title{ font-weight: 800; font-size: 3.7rem; line-height: 1.2; font-family: $font-family-base; @media(max-width:768px){ font-size: 3.2rem; } } .lead{ font-size: 1.6rem; font-weight: 400; @media(max-width:768px){ font-size: 1.3rem; } } .cta-btn{ padding: 10px; font-size: 1.4rem; } .login-text{ display: inline-flex; gap: 5px; font-weight: 400; .login-link{ font-weight: 500; text-decoration: underline; cursor: pointer; } } } .image-wrapper { flex: 1; display: flex; align-items: center; justify-content: center; height: 100%; @media(max-width: 768px){ position: absolute; top: 0; left: 0; z-index: 999; height: 100%; z-index: 1; opacity: 0.1; } img { height: 100%; width: 100%; object-fit: cover; display: block; } } } } // Banners .display-banner { width: 100%; padding: 120px 0px; &.wedding-banner { background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('/rss/img/wedding.jpg'); padding: 180px 0px; background-position: center center; background-size: cover; } &.moving-banner { background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('/rss/img/couple.jpg'); background-position: center 40%; background-size: cover; padding: 180px 0px; } } // Footer footer { background-color: #{map-get($colors, 'dark')}; color: #fff; display: flex; padding: 25px 0px; font-size: 14px; font-weight: 300; .logo { width: 125px; cursor: pointer; } ul { list-style: none; } } .features-section { h2 { font-size: map-get($font-sizes, xl); color: map-get($colors, dark); } .theme-card { border-radius: map-get($border-radius-sizes, md); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; .card-header { padding: #{map-get($spacing, "2")}; text-align: center; img { width: 125px; height: 125px; border-radius: 50%; box-shadow: map-get($shadows, 2); object-fit: cover; margin: 0 auto; &.object-left{ object-position: left center; } &.object-center{ object-position: center center; } &.object-bottom{ object-position: bottom center; } } } .card-body { padding: #{map-get($spacing, "3")}; text-align: center; } } } // Fix before release // Theme fonts .styled-title{ font-family: "Nunito", sans-serif; &.fw-900{ font-weight: 900; } &.fw-600{ font-weight: 600; } } .filter-section { padding: 2rem 0; } .filter-card { background-color: #{map-get($colors, white)}; border-radius: map-get($border-radius-sizes, md); box-shadow: map-get($shadows, 2); padding: #{map-get($spacing, "3")}; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; height: 100%; margin: 15px 0px; } .filter-icon { font-size: 2.5rem; margin-bottom: 1rem; color: #{map-get($colors, primary)}; } .filter-title { font-size: 1.3rem; font-weight: 500; margin-bottom: 0.5rem; color: map-get($colors, dark); } .filter-text { font-size: 1rem; color: map-get($colors, gray); line-height: 1.4; } /* Responsive adjustments */ @media (max-width: 768px) { .filter-card { margin-bottom: 1.5rem; } .filter-icon { font-size: 2rem; } .filter-title { font-size: 1.1rem; } } // Images // Rounded col images .rounded-col-image{ height: 450px; width: 450px; border-radius: 50%; overflow: hidden; display: flex; justify-content: center; align-items: center; position: relative; @media(max-width:1200px){ width: 300px; height:300px; } @media(max-width:920px){ width:225px; height: 225px; } &:before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; -webkit-box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1); -moz-box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1); box-shadow: inset 0px 0px 27px -5px rgba(2, 2, 2, 1); z-index: 1; pointer-events: none; } img{ object-fit: cover; object-position: right; width: 100%; height: 100%; } } section{ h2{ font-size: 1.8rem; font-weight: 500; } h3{ font-size: 1.6rem; font-weight: 500; } p{ font-size: 1.2rem; font-weight: 400; line-height: 1.4; } .bolder{ font-weight: 600; } } .section-animation { opacity: 0; /* Start hidden */ transform: translateY(50px); /* Slide up from 50px below */ transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Smooth transition */ } .section-animation.visible { opacity: 1; transform: translateY(0); } /* Accessibility for reduced motion */ @media (prefers-reduced-motion: reduce) { .section-animation { opacity: 1; transform: none; transition: none; } } @keyframes slideUp { from { transform: translateY(50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }