// Pretendard Font Face @font-face { font-family: 'Pretendard'; font-weight: 100; font-style: normal; font-display: swap; src: url('/font/Pretendard-Thin.woff2') format('woff2'), url('/font/Pretendard-Thin.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 200; font-style: normal; font-display: swap; src: url('/font/Pretendard-ExtraLight.woff2') format('woff2'), url('/font/Pretendard-ExtraLight.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 300; font-style: normal; font-display: swap; src: url('/font/Pretendard-Light.woff2') format('woff2'), url('/font/Pretendard-Light.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 400; font-style: normal; font-display: swap; src: url('/font/Pretendard-Regular.woff2') format('woff2'), url('/font/Pretendard-Regular.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 500; font-style: normal; font-display: swap; src: url('/font/Pretendard-Medium.woff2') format('woff2'), url('/font/Pretendard-Medium.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 600; font-style: normal; font-display: swap; src: url('/font/Pretendard-SemiBold.woff2') format('woff2'), url('/font/Pretendard-SemiBold.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 700; font-style: normal; font-display: swap; src: url('/font/Pretendard-Bold.woff2') format('woff2'), url('/font/Pretendard-Bold.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 800; font-style: normal; font-display: swap; src: url('/font/Pretendard-ExtraBold.woff2') format('woff2'), url('/font/Pretendard-ExtraBold.woff') format('woff'); } @font-face { font-family: 'Pretendard'; font-weight: 900; font-style: normal; font-display: swap; src: url('/font/Pretendard-Black.woff2') format('woff2'), url('/font/Pretendard-Black.woff') format('woff'); } html, body, button, input, select, textarea { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; } .ico, ::before, ::after{ display: inline-block; background-repeat: no-repeat; background-position: center; background-size: 100%; } .btn--border--blue{ border-radius: 10px; border: 1px solid #2f6fe0; color: #2f6fe0; font-size: 13px; font-weight: 600; display: flex; align-items: center; justify-content: center; text-align: center; } .user--main{ .input--wrap{ label{ color: #8a8f9a; font-size: 13px; margin-bottom: 6px; line-height: 1; display: block; font-weight: 400; } .required{ color: #2f6fe0; font-size: 13px; font-weight: 500; } input{ height: 52px; border-radius: 12px; line-height: 1; border: 1px solid #e3e6eb; width: 100%; padding: 0 16px; font-size: 14px; font-weight: 400; &::placeholder{ color: #b0b5bf; } } &.pw--input--wrap{ position: relative; input{ padding-right: 48px; } .pw--toggle--btn{ display: flex; justify-content: center; align-items: center; position: absolute; right: 0px; width: 48px; height: 52px; bottom: 0; } } .input--inner--wrap{ display: flex; gap: 8px; &.gap--4{ gap: 4px; align-items: center; font-size: 14px; input{ text-align: center; } span{ color: #b0b5bf; } } } &+.input--info{ margin-top: 6px; color: #9aa0ac; font-size: 12px; font-weight: 400; } } button, input[type=radio], input[type=checkbox]{ cursor: pointer; } .float--btn--wrap{ position: fixed; bottom: 32px; padding: 0 25px; left: 0; width: 100%; z-index: 100; a{ display: flex; justify-content: center; align-items: center; text-align: center; line-height: 1; background-color: #2f6fe0; border-radius: 12px; color: #fff; height: 52px; font-size: 16px; font-weight: 700; width: 100%; &.disabled{ color: #9aa0ac; pointer-events: none; background-color: #e5e7eb; } } } .color--blue{ color: #2f6fe0!important; } } .join--container{ padding: 60px 25px 100px; min-height: 100vh; .title--wrap{ h1{ color: #1a1d29; font-size: 24px; font-weight: 800; letter-spacing: -0.3px; } h2{ color: #1a1d29; font-size: 22px; font-weight: 800; letter-spacing: -0.3px; } p{ color: #8a8f9a; font-size: 14px; font-weight: 400; } } .login--wrap{ .auto--login--wrap{ display: flex; justify-content: space-between; align-items: center; line-height: 1; .auto--login{ label{ display: flex; align-items: center; gap: 8px; color: #6b7280; font-size: 13px; line-height: 1; font-weight: 500; input[type=checkbox]{ appearance: none; width: 18px; height: 18px; border-radius: 5px; border: 1px solid #cfd4dc; background: #fff; background-image: none; background-repeat: no-repeat; background-position: center; background-size: 12px 12px; cursor: pointer; &:checked { border-color: #2f6fe0; background-color: #2f6fe0; background-image: url('/img/ico--check.svg'); } } } } .find--pw--btn{ color: #2f6fe0; font-size: 13px; font-weight: 500; } } .login--btn--wrap{ display: flex; justify-content: center; button{ width: 100%; height: 52px; font-size: 16px; font-weight: 700; color: #fff; border-radius: 12px; background-color: #2f6fe0; } } .social--login--wrap{ .social--login--txt{ display: flex; align-items: center; justify-content: center; position: relative; &::before{ content: ''; background-color: #e3e6eb; height: 1px; width: 100%; position: absolute; z-index: -1; top: 50%; } span{ color: #b0b5bf; text-align: center; background-color: #fff; font-size: 12px; font-weight: 500; padding: 0 16px; } } .social--login--list{ display: flex; align-items: center; justify-content: space-between; gap: 12px; li{ display: flex; width: 33.3333%; align-items: center; justify-content: center; a{ height: 52px; background-repeat: no-repeat; background-position: center; border-radius: 12px; font-size: 0; line-height: 0; background-size: 24px 24px; width: 100%; &.kakao{ background-image: url(/img/ico--kakao.svg); background-color: #fee500; } &.naver{ background-image: url(/img/ico--naver.svg); background-size: 20px 20px; background-color: #0f874f; } &.apple{ background-image: url(/img/ico--apple.svg); background-color: #0f1938; } } } } } .join--btn--wrap{ text-align: center; color: #8a8f9a; font-size: 13px; font-weight: 500; a{ color: #2f6fe0; font-weight: 700; } } } .join--step--wrap{ .step--txt{ color: #8a8f9a; font-size: 12px; font-weight: 600; line-height: 1; } .step--bar{ margin-top: 10px; display: flex; gap: 8px; justify-content: space-between; span{ width: 33.3333%; height: 4px; background-color: #e3e6eb; border-radius: 2px; transition: backgroundColor 0.3s; &.active{ background-color: #2f6fe0; } } } } .join--wrap{ .all--check--wrap{ label{ display: flex; gap: 12px; background-color: #f4f8ff; padding: 18px 16px; border-radius: 12px; border: 1px solid #bbd2f7; align-items: center; color: #1a1d29; font-size: 15px; font-weight: 700; input[type=checkbox]{ appearance: none; min-width: 24px; width: 24px; height: 24px; border-radius: 5px; border: 1px solid #cfd4dc; background: #fff; background-image: none; background-repeat: no-repeat; background-position: center; background-size: 16px 16px; cursor: pointer; &:checked { border-color: #2f6fe0; background-color: #2f6fe0; background-image: url('/img/ico--check.svg'); } } } } .each--check--wrap{ .each--wrap{ padding: 12px 0px 12px 16px; display: flex; label{ display: flex; color: #3d4250; font-size: 14px; font-weight: 500; align-items: center; gap: 10px; width: 100%; input[type=checkbox]{ appearance: none; width: 22px; min-width: 22px; height: 22px; border-radius: 5px; border: 1px solid #cfd4dc; background: #fff; background-image: none; background-repeat: no-repeat; background-position: center; background-size: 14px 14px; cursor: pointer; &:checked { border-color: #2f6fe0; background-color: #2f6fe0; background-image: url('/img/ico--check.svg'); } } span{ font-weight: 600; color: #9aa0ac; font-size: 11px; margin-left: -4px; } } button{ width: 30px; min-width: 30px; color: #b0b5bf; font-size: 18px; margin-left: auto; font-weight: 400; } } } .join--btn{ width: 86px; min-width: 86px; } .join--bubble--wrap{ display: flex; flex-wrap: wrap; gap: 8px; .area--bubble{ border-radius: 18px; border: 1px solid #d6dae1; background-color: #fff; padding: 10px 20px; color: #4b5563; font-size: 13px; font-weight: 500; &.active{ border: 1px solid #2f6fe0; background-color: #2f6fe0; color: #fff; font-weight: 600; } } } } .join--complete--wrap{ text-align: center; .ico{ width: 80px; height: 80px; background-color: #19941b; border-radius: 50%; background-image: url(/img/ico--join--complete--check.svg); background-position: center; background-size: 30px 30px; } h2{ color: #1a1d29; font-size: 20px; font-weight: 800; } p{ color: #8a8f9a; font-size: 14px; font-weight: 400; } } .join--benefit--wrap{ border-radius: 14px; background-color: #f4f8ff; border: 1px solid #bbd2f7; padding: 20px 16px; line-height: 1.4; h3{ font-size: 13px; font-weight: 700; } p{ color: #1a1d29; font-size: 18px; font-weight: 800; } span{ display: block; font-size: 12px; color: #8a8f9a; font-weight: 400; } } } .modal--dim{ position: fixed; background-color: rgba(15,19,32,0.55); top: 0; left: 0; width: 100%; height: 100vh; padding: 36px; opacity: 0; transition: all 0.3s; z-index: 1000; display: flex; align-items: center; justify-content: center; pointer-events: none; &.active{ opacity: 1; pointer-events: all; } .alert--wrap{ background-color: #fff; min-width: 288px; max-width: 400px; width: 100%; border-radius: 20px; background: #FFF; box-shadow: 0 12px 32px 0 rgba(15, 23, 41, 0.22); padding: 32px 24px 24px 24px; // 기본 상태: 살짝 아래 + 투명 opacity: 0; transform: translateY(24px); transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1); // 활성 상태: 제자리 + 보임 (살짝 튀어오르며 fade-in) &.active{ opacity: 1; transform: translateY(0); } &.center{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; } .error--ico{ width: 56px; height: 56px; border-radius: 28px; display: flex; align-items: center; justify-content: center; font-size: 30px; font-weight: 800; margin-bottom: 16px; // 기본 (error: 빨강) background-color: #fee4e2; color: #e5484d; &.error--ico--success{ background-color: #d1fae5; color: #059669; } &.error--ico--info{ background-color: #dbeafe; color: #2563eb; } } .modal--tit{ margin-bottom: 16px; h2{ color: #1a1d29; font-size: 17px; font-weight: 700; letter-spacing: -0.3px; } } .modal--cont{ p{ color: #6b7280; font-size: 14px; font-weight: 400; line-height: 1.5; } } .modal--btn{ margin-top: 32px; width: 100%; display: flex; gap: 8px; button{ color: #fff; background-color: #2f6fe0; border-radius: 12px; width: 100%; height: 48px; font-size: 15px; font-weight: 700; transition: opacity 0.15s ease; &:hover{ opacity: 0.9; } &.cancel{ background-color: #f3f4f6; color: #6b7280; } } } } } .user--header{ height: 60px; position: fixed; top: 0; left: 0; width: 100%; background-color: #fff; z-index: 100; padding: 0 20px; .header--wrap{ display: flex; align-items: center; height: 100%; .header--logo{ display: flex; align-items: center; gap: 8px; .logo{ width: 30px; height: 30px; border-radius: 9px; background-image: url(/img/ico--logo.svg); } h1{ color: #1a1d29; font-size: 18px; font-weight: 800; letter-spacing: -0.18px; } } } } .home--wrap{ background-color: #F6F7F9; padding-top: 60px; padding-bottom: 76px; min-height: calc(100vh); .home--tab--wrap{ padding: 0 8px; background-color: #fff; border-bottom: 1px solid #eceef1; display: flex; overflow-x: auto; button{ white-space: nowrap; height: 50px; padding: 0 12px; color: #8a8f9a; font-weight: 500; font-size: 15px; span{ position: relative; } &.active{ color: #1a1d29; font-weight: 700; span{ &::before{ content: ''; position: absolute; background-color:#fc801c; display: inline-block; bottom: -11px; width: 100%; height: 2px; border-radius: 2px; } } } } } .home--container{ padding: 20px 20px 25px 20px; } } footer{ position: fixed; bottom: 0; left: 0; width: 100%; border-top: 1px solid #eceef1; background-color: #fff; .footer--wrap{ display: flex; .ico{ width: 24px; height: 24px; &.ico1{ background-image: url(/img/ico--footer1.svg); } &.ico2{ background-image: url(/img/ico--footer2.svg); } &.ico3{ background-image: url(/img/ico--footer3.svg); } &.ico4{ background-image: url(/img/ico--footer4.svg); } } a{ width: 25%; display: flex; align-items: center; justify-content: center; flex-direction: column; height: 76px; font-size: 11px; font-weight: 500; gap: 5px; color: #9aa0ac; &.active{ font-weight: 700; color: #FC801C; .ico{ &.ico1{ background-image: url(/img/ico--footer1--on.svg); } &.ico2{ background-image: url(/img/ico--footer2--on.svg); } &.ico3{ background-image: url(/img/ico--footer3--on.svg); } &.ico4{ background-image: url(/img/ico--footer4--on.svg); } } } } } }