/* === General Reset === */ @import url("../csstyles/header.css"); @import url("../csstyles/footer.css"); body { background-image: url("./signup-page-images/testingimage.png"); overflow: hidden; background-repeat: no-repeat; background-position: center; background-size: cover; background-attachment: fixed; } a { text-decoration: none; color: inherit; } /* === Signup Form Section === */ .signup { flex: 1; } /* === Updated Container for 3 Cards === */ .signup__container { display: flex; justify-content: center; align-items: center; gap: 0; /* Remove gap to allow overlapping */ flex-wrap: nowrap; width: 100%; position: relative; max-width: 1400px; margin: 0 auto; padding: 50px 20px; } @keyframes rotate { to { transform: rotate(360deg); } } /* === Enhanced Info Cards === */ .info-card { width: 425px; background: #ffd7d7; border-radius: 20px; padding: 20px 20px; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.993); text-align: center; animation: slideUp 1.5s ease; overflow: hidden; position: relative; height: 550px; display: flex; flex-direction: column; } /* Position info cards behind signup card */ .info-card--left { margin-right: -5px; /* Negative margin to create overlap */ z-index: 0; transform: translateY(30px); /* Push down slightly */ animation: slideUp 1.5s ease, float 6s ease-in-out infinite; } .info-card--right { margin-left: -5px; /* Negative margin to create overlap */ z-index: 0; transform: translateY(30px); /* Push down slightly */ animation: slideUp 1.5s ease, float 6s ease-in-out infinite; } /* === Enhanced Signup Card === */ .signup__card { width: 440px; border-radius: 20px; background-color: #FFD7D7; padding: 40px; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.993); text-align: center; animation: slideUp 1.5s ease; overflow: hidden; /* Keep this as hidden */ position: relative; z-index: 2; } /* === Glowing Border Effect for ALL Cards === */ .info-card::before, .signup__card::before{ content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: conic-gradient(#FF5C3B, #FFD7D7, #FF5C3B); transform-origin: center; animation: rotate 2s linear infinite; z-index: -2; } @keyframes rotate-reverse { to { transform: rotate(-360deg); } } /* Enhanced background pattern for all cards */ .info-card--left::after, .info-card--right::after, .signup__card::after { content: ""; position: absolute; top: 4px; left: 4px; right: 4px; bottom: 4px; background: radial-gradient(circle at 50% 20%, rgba(255, 92, 59, 0.1) 0%, transparent 40%), radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.1) 0%, transparent 40%), radial-gradient(circle at 20% 60%, rgba(255, 92, 59, 0.05) 0%, transparent 50%), #ffd7d7f5; border-radius: 20px; z-index: -1; } /* Enhanced title with gradient for info cards */ .info-card__title { font-size: 32px; background: linear-gradient(45deg, #FF5C3B, #272626, #FF5C3B); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-shadow: none; margin-bottom: 25px; letter-spacing: 2px; font-weight: bold; animation: shimmer 3s linear infinite; } /* Enhanced title with gradient and emoji for signup card */ .signup__title { font-size: 50px; background: linear-gradient(45deg, #FF5C3B, #272626, #FF5C3B); background-size: 200% auto; -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-bottom: 30px; letter-spacing: 2px; font-weight: bold; animation: shimmer 3s linear infinite; display: flex; align-items: center; justify-content: center; gap: 15px; } /* Beer pong emoji with special effects */ .signup__title::after { -webkit-text-fill-color: initial; font-size: 45px; display: inline-block; animation: bounce 2s ease-in-out infinite, rotate-cup 4s ease-in-out infinite; filter: drop-shadow(0 0 10px rgba(255, 92, 59, 0.5)); } @keyframes rotate-cup { 0%, 100% { transform: rotate(-10deg) scale(1); } 25% { transform: rotate(10deg) scale(1.1); } 50% { transform: rotate(-10deg) scale(1); } 75% { transform: rotate(10deg) scale(0.9); } } @keyframes shimmer { to { background-position: 200% center; } } /* === LEFT CARD: What is UniLink === */ .info-card--left .info-card__content { gap: 18px; } /* Feature items with icons */ .feature-item { display: flex; align-items: center; gap: 15px; padding: 12px 15px; background: rgba(255, 255, 255, 0.5); border-radius: 15px; transition: all 0.3s ease; cursor: pointer; } .feature-item:hover { background: rgba(255, 92, 59, 0.2); transform: translateX(10px); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); } .feature-icon { font-size: 28px; min-width: 40px; text-align: center; animation: bounce 2s ease-in-out infinite; animation-delay: calc(var(--index) * 0.1s); } @keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } } .feature-text { font-size: 16px; color: #111; text-align: left; font-weight: 500; letter-spacing: 0.5px; } /* === RIGHT CARD: Featured Colleges === */ .colleges-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 10px; } /* Enhanced college badges */ .college-badge { background: linear-gradient(135deg, #ff5c3b 0%, #ff7b5f 100%); color: white; padding: 12px 15px; border-radius: 15px; font-size: 14px; font-weight: bold; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); transition: all 0.3s ease; cursor: pointer; position: relative; overflow: hidden; } .college-badge::before { content: ""; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent); transform: rotate(45deg); transition: all 0.5s; opacity: 0; } .college-badge:hover { transform: scale(1.1) rotate(-2deg); box-shadow: 0 6px 20px rgba(255, 92, 59, 0.4); } .college-badge:hover::before { animation: shine 0.5s ease-in-out; } @keyframes shine { 0% { transform: rotate(45deg) translateX(-100%); opacity: 0; } 50% { opacity: 1; } 100% { transform: rotate(45deg) translateX(100%); opacity: 0; } } /* Stats section */ .stats-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 20px; padding: 20px 10px; background: rgba(255, 255, 255, 0.3); border-radius: 15px; } .stat-item { text-align: center; } .stat-number { font-size: 28px; font-weight: bold; color: #FF5C3B; display: block; animation: countUp 2s ease-out; } .stat-label { font-size: 12px; color: #666; text-transform: uppercase; letter-spacing: 1px; } /* Footer with animation */ .info-card__footer { margin-top: 20px; font-size: 18px; color: #FF5C3B; font-weight: bold; text-align: center; animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.8; transform: scale(1.05); } } /* Floating animation */ @keyframes float { 0%, 100% { transform: translateY(30px); } 50% { transform: translateY(20px); } } /* === Enhanced Signup Form === */ .signup__form { display: flex; flex-direction: column; gap: 18px; padding: 20px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; backdrop-filter: blur(5px); } /* Enhanced labels */ .signup__label { font-size: 16px; color: #111; text-shadow: 1px 1px #fff, 1px 1px 3px rgba(0,0,0,0.2); letter-spacing: 2px; text-align: left; font-weight: 600; display: flex; align-items: center; gap: 8px; } /* Add icons to labels */ .signup__label:nth-of-type(1)::before { font-size: 20px; } .signup__label:nth-of-type(2)::before { font-size: 20px; } .signup__label:nth-of-type(3)::before { font-size: 20px; } /* Enhanced input fields */ .signup__input { padding: 14px 20px; border-radius: 999px; border: 2px solid #000000; outline: none; background: linear-gradient(to right, #fffaf8, #fff5f3); font-size: 14px; font-family: "Inter", sans-serif; transition: all 0.3s ease; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05); } .signup__input:focus { border-color: #FF5C3B; box-shadow: 0 0 0 3px rgba(255, 92, 59, 0.2), inset 0 2px 4px rgba(0, 0, 0, 0.05); background: #ffffff; } .signup__input:hover { box-shadow: 0 0 15px rgba(255, 107, 107, 0.6); transform: translateY(-1px); } /* Enhanced button with pulsing glow */ .signup__button { position: relative; z-index: 1; padding: 15px 10px; text-transform: uppercase; font-size: 18px; font-weight: bold; color: #ffffff; background: transparent; border: none; outline: none; cursor: pointer; transition: color 0.5s; border-radius: 30px; width: 60%; align-self: center; margin-top: 10px; letter-spacing: 2px; } /* Add pulsing glow to button */ .signup__button::before { content: ""; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; border: 2px solid #ffcbcb; border-radius: 30px; box-shadow: 0 0 20px rgba(255, 92, 59, 0.3); animation: pulse-glow 2s ease-in-out infinite; } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 20px rgba(255, 92, 59, 0.3); } 50% { box-shadow: 0 0 30px rgba(255, 92, 59, 0.5); } } /* the "under" layer that slides out */ .signup__button::after { content: ""; position: absolute; z-index: -2; top: 3px; left: 3px; width: 100%; height: 100%; border-radius: 30px; transition: all 0.3s 0.2s; background: #ffffff; } /* on hover, text turns white, and the after-layer moves */ .signup__button:hover { color: #FFFFFF; } .signup__button:hover::after { top: 0; left: 0; transition: all 0.3s; } /* blob container */ .signup__button-inner { position: absolute; z-index: -1; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border-radius: 30px; background: #000000; } /* blobs wrapper with goo filter */ .signup__button-blobs { position: relative; display: block; width: 100%; height: 100%; filter: url('#goo'); } /* each blob */ .signup__button-blob { position: absolute; top: 2px; width: 25%; height: 100%; background: #FF5C3B; border-radius: 100%; transform: translate3d(0,150%,0) scale(1.7); transition: transform 0.45s; } /* stagger their left positions & delays */ .signup__button-blob:nth-child(1) { left: 0%; transition-delay: 0s; } .signup__button-blob:nth-child(2) { left: 30%; transition-delay: 0.08s; } .signup__button-blob:nth-child(3) { left: 60%; transition-delay: 0.16s; } .signup__button-blob:nth-child(4) { left: 90%; transition-delay: 0.24s; } /* on hover, blobs shoot up */ .signup__button:hover .signup__button-blob { transform: translateZ(0) scale(1.7); } /* Enhanced bottom text */ .signup__bottom-text { margin-top: 25px; font-size: 14px; font-weight: bold; letter-spacing: 0.5px; color: #111; transition: transform 0.2s; padding: 10px; background: rgba(255, 255, 255, 0.3); border-radius: 10px; display: inline-block; } .signup__bottom-text:hover { transform: scale(1.05); } .signup__login-link { color: inherit; text-decoration: none; } /* Add decorative elements */ /* Add another party emoji */ .signup__card .party-emoji-right { position: absolute; top: 20px; right: 20px; font-size: 30px; opacity: 0.3; animation: float 4s ease-in-out infinite; animation-delay: 2s; } /* === Animations === */ @keyframes slideUp { from { transform: translateY(200%); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes fadeInUp { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } } @keyframes fadeOutDown { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(20px); } } .signup__message { display: none; margin-top: 1rem; font-family: 'Oswald', sans-serif; padding: 1rem; font-size: 1rem; text-align: center; pointer-events: none; background: rgba(236, 95, 67, 0.1); border: 3px solid var(--clr-1); border-radius: 16px; box-shadow: 0 0 15px var(--clr-1); backdrop-filter: blur(6px); opacity: 0; transform: translateY(20px); } .fade-in { display: block; animation: fadeInUp 0.5s ease forwards; } .fade-out { animation: fadeOutDown 0.5s ease forwards; } /* === Updated Responsive Design === */ /* Base mobile styles */ @media only screen and (max-width: 1200px) { .signup__container { flex-direction: column; gap: 30px; padding: 30px 20px; } /* Card ordering for mobile */ .info-card--left { order: 1; /* What is UniLink - First */ margin: 0; transform: translateY(0); width: min(380px, calc(100vw - 40px)); animation: slideUp 1.5s ease; } .info-card--right { order: 2; /* Featured Colleges - Second */ margin: 0; transform: translateY(0); width: min(380px, calc(100vw - 40px)); animation: slideUp 1.6s ease; /* Slightly delayed */ } .signup__card { order: 3; /* Sign Up Form - Third */ animation: slideUp 1.7s ease; /* More delayed */ } } @media only screen and (max-width: 768px) { /* Enhance mobile card spacing and appearance */ .signup__container { gap: 25px; padding: 20px 15px; } .info-card, .signup__card { width: calc(100vw - 30px); padding: 30px 20px; margin: 0 auto; /* Add subtle animation on scroll */ opacity: 0; animation: fadeInUp 0.8s ease forwards; } /* Stagger the animations */ .info-card--left { animation-delay: 0.1s; } .info-card--right { animation-delay: 0.3s; } .signup__card { animation-delay: 0.5s; } /* Optimize info cards for mobile */ .info-card { height: auto; min-height: auto; padding: 25px 20px; } .info-card__title { font-size: 26px; margin-bottom: 20px; } /* Make feature items more compact on mobile */ .feature-item { padding: 10px 12px; gap: 12px; } .feature-icon { font-size: 24px; min-width: 35px; } .feature-text { font-size: 14px; line-height: 1.4; } /* Optimize colleges grid for mobile */ .colleges-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 8px; } .college-badge { font-size: 13px; padding: 10px 12px; } /* Stats container optimization */ .stats-container { gap: 8px; padding: 15px 8px; margin-top: 15px; } .stat-number { font-size: 24px; } .stat-label { font-size: 11px; } /* Signup form optimizations */ .signup__title { font-size: 34px; margin-bottom: 20px; } .signup__title::after { font-size: 30px; } .signup__form { padding: 15px; gap: 12px; } .signup__label { font-size: 14px; } .signup__input { padding: 12px 18px; font-size: 16px; /* Prevents zoom on iOS */ } .signup__button { width: 85%; font-size: 16px; padding: 12px 8px; margin-top: 8px; } .signup__bottom-text { font-size: 13px; margin-top: 20px; padding: 8px 15px; } /* Reduce decorative effects on mobile for performance */ .info-card::before, .signup__card::before { animation: none; background: linear-gradient(135deg, #FF5C3B, #FFD7D7); } /* Simplify hover effects on touch devices */ @media (hover: none) { .feature-item:hover { transform: none; } .college-badge:hover { transform: scale(1.05); } } } /* Small phones (< 375px) */ @media only screen and (max-width: 374px) { .signup__container { gap: 20px; padding: 15px 10px; } .info-card, .signup__card { width: calc(100vw - 20px); padding: 20px 15px; } .info-card__title, .signup__title { font-size: 28px; } .colleges-grid { grid-template-columns: 1fr; gap: 8px; } .signup__button { width: 100%; } /* Hide less important elements on very small screens */ .info-card__footer { font-size: 14px; } } /* iPhone SE and similar small devices */ @media only screen and (max-width: 320px) { .header__container { padding: 5px; height: 45px; } .header__logo { font-size: 24px; } .header__menu { font-size: 10px; gap: 5px; } .signup__title { font-size: 24px; } .signup__title::after { display: none; /* Hide emoji on very small screens */ } .feature-item { gap: 8px; padding: 8px; } .feature-icon { font-size: 20px; min-width: 25px; } .feature-text { font-size: 12px; } } /* Smooth fade-in animation for mobile */ @keyframes fadeInUp { 0% { opacity: 0; transform: translateY(30px); } 100% { opacity: 1; transform: translateY(0); } } /* Landscape orientation adjustments */ @media only screen and (orientation: landscape) and (max-height: 600px) { .signup__container { gap: 20px; padding: 15px; } .info-card, .signup__card { padding: 20px; } .info-card__title { font-size: 22px; margin-bottom: 15px; } .signup__title { font-size: 28px; margin-bottom: 15px; } .signup__form { gap: 8px; padding: 10px; } .signup__input { padding: 8px 15px; } .signup__button { padding: 10px; margin-top: 5px; } .feature-item { padding: 6px 10px; } .stats-container { display: none; /* Hide stats in landscape to save space */ } } /* Ensure smooth scrolling on mobile */ @media only screen and (max-width: 768px) { html { scroll-behavior: smooth; } body { overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; } .page { min-height: 100vh; overflow: visible; } /* Add padding at bottom for better scroll experience */ .signup__container { padding-bottom: 50px; } }