@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; background-color: #fff; @media(max-width:768px) { // height: 48px; } .logo { width: 100px; display: flex; z-index: 999; cursor: pointer; background-color: #fff; img { width: 100%; height: 100%; } } nav { display: flex; position: relative; z-index: -1; @media(max-width:768px) { top: -200%; display: flex; flex-direction: column; position: absolute; opacity: 0; transition: all 0.3s; &.open { top: 99%; left: 0; width: 100%; transition: all 0.3s; // padding: 5px 10px; background-color: #fff; height: auto; z-index: -1; opacity: 1; transition: all 0.3s; box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.12); a { padding: 7px 10px; font-size: 16px; } } } .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: #{map-get($colors, primary)}; transform: scaleX(0); transform-origin: left; transition: transform 0.3s; } &:hover { color: #{map-get($colors, primary)}; cursor: pointer; } &:hover::after { transform: scaleX(1); } } } .mobile-toggler { background-color: #fff; border: none; font-size: 18px; @media(min-width: 769px) { display: none; } } } .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; &.no-height{ height: auto !important; } @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; width: 100%; } 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; } &.kissing-banner { background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url('/rss/img/couple-kissing.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; transform: translateY(50px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; } .section-animation.visible { opacity: 1; transform: translateY(0); } .user-container { width: 100%; height: calc(100vh - 110px); // background-image: url('/rss/img/happy-kissing.jpg'); background-position: center; background-repeat: no-repeat; background-size: cover; display: flex; justify-content: center; align-items: center; @media(max-width: 768px) { height: auto; padding: 20px 0px; } &.alt { // background-image: url('/rss/img/happy-kissing-2.jpg') !important; .user-card { @media(max-width: 768px) { display: flex; flex-direction: column-reverse; } } } .user-card { border-radius: 12px; background-color: #ffffffe7; // box-shadow: #{map-get($shadows, 3)}; display: flex; // min-height: 60vh; // height: 60vh; width: 100%; flex-direction: row; // overflow: hidden; @media(max-width: 768px) { flex-direction: column; height: auto; } .form { background-color: #FFF; padding: 20px 0px; // height: 100%; flex: 40%; max-width: 40%; display: flex; align-items: center; box-shadow: #{map-get($shadows, 3)}; border-radius: 12px; @media(max-width: 768px) { flex: 100%; max-width: 100%; border-radius: 12px; box-shadow: #{map-get($shadows, 2)}; } .user-form { padding: 10px 15px; width: 100%; } } .text-col { flex: 60%; max-width: 60%; padding: 30px 20px; @media(max-width: 768px) { flex: 100%; max-width: 100%; } .logo { display: flex; flex-direction: row; justify-content: center; img { width: 180px; } } .text { margin-top: 20px; } } } } @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; } }