login.scss 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. $bg: #edf2f0;
  2. $neu-1: #ecf0f3;
  3. $neu-2: #d1d9e6;
  4. $white: #f9f9f9;
  5. $gray: #a0a5a8;
  6. $black: #181818;
  7. $purple: #4b70e2;
  8. $transition: 1.25s;
  9. *,
  10. *::after,
  11. *::before {
  12. margin: 0;
  13. padding: 0;
  14. box-sizing: border-box;
  15. user-select: none;
  16. }
  17. /* Generic */
  18. body {
  19. width: 100%;
  20. height: 100vh;
  21. display: flex;
  22. justify-content: center;
  23. align-items: center;
  24. font-family: 'Montserrat', sans-serif;
  25. font-size: 12px;
  26. background-color: $neu-1;
  27. color: $gray;
  28. }
  29. /**/
  30. .main {
  31. position: relative;
  32. width: 1000px;
  33. min-width: 1000px;
  34. min-height: 600px;
  35. height: 600px;
  36. padding: 25px;
  37. background-color: $neu-1;
  38. box-shadow:
  39. 10px 10px 10px $neu-2,
  40. -10px -10px 10px $white;
  41. border-radius: 12px;
  42. overflow: hidden;
  43. @media (max-width: 1200px) {
  44. transform: scale(0.7);
  45. }
  46. @media (max-width: 1000px) {
  47. transform: scale(0.6);
  48. }
  49. @media (max-width: 800px) {
  50. transform: scale(0.5);
  51. }
  52. @media (max-width: 600px) {
  53. transform: scale(0.4);
  54. }
  55. }
  56. .container {
  57. display: flex;
  58. justify-content: center;
  59. align-items: center;
  60. position: absolute;
  61. top: 0;
  62. width: 600px;
  63. height: 100%;
  64. padding: 25px;
  65. background-color: $neu-1;
  66. transition: $transition;
  67. }
  68. .form {
  69. display: flex;
  70. justify-content: center;
  71. align-items: center;
  72. flex-direction: column;
  73. width: 100%;
  74. height: 100%;
  75. &__icon {
  76. object-fit: contain;
  77. width: 30px;
  78. margin: 0 5px;
  79. opacity: 0.5;
  80. transition: 0.15s;
  81. &:hover {
  82. opacity: 1;
  83. transition: 0.15s;
  84. cursor: pointer;
  85. }
  86. }
  87. &__input {
  88. width: 350px;
  89. height: 40px;
  90. margin: 4px 0;
  91. padding-left: 25px;
  92. font-size: 13px;
  93. letter-spacing: 0.15px;
  94. border: none;
  95. outline: none;
  96. font-family: 'Montserrat', sans-serif;
  97. background-color: $neu-1;
  98. transition: 0.25s ease;
  99. border-radius: 8px;
  100. box-shadow:
  101. inset 2px 2px 4px $neu-2,
  102. inset -2px -2px 4px $white;
  103. &:focus {
  104. box-shadow:
  105. inset 4px 4px 4px $neu-2,
  106. inset -4px -4px 4px $white;
  107. }
  108. }
  109. &__span {
  110. margin-top: 30px;
  111. margin-bottom: 12px;
  112. }
  113. &__link {
  114. color: $black;
  115. font-size: 15px;
  116. margin-top: 25px;
  117. border-bottom: 1px solid $gray;
  118. line-height: 2;
  119. }
  120. }
  121. .title {
  122. font-size: 34px;
  123. font-weight: 700;
  124. line-height: 3;
  125. color: $black;
  126. }
  127. .description {
  128. font-size: 14px;
  129. letter-spacing: 0.25px;
  130. text-align: center;
  131. line-height: 1.6;
  132. }
  133. .button {
  134. width: 180px;
  135. height: 50px;
  136. border-radius: 25px;
  137. margin-top: 50px;
  138. font-weight: 700;
  139. font-size: 14px;
  140. letter-spacing: 1.15px;
  141. background-color: $purple;
  142. color: $white;
  143. box-shadow:
  144. 8px 8px 16px $neu-2,
  145. -8px -8px 16px $white;
  146. border: none;
  147. outline: none;
  148. }
  149. /**/
  150. .a-container {
  151. z-index: 100;
  152. left: calc(100% - 600px);
  153. }
  154. .b-container {
  155. left: calc(100% - 600px);
  156. z-index: 0;
  157. }
  158. .switch {
  159. display: flex;
  160. justify-content: center;
  161. align-items: center;
  162. position: absolute;
  163. top: 0;
  164. left: 0;
  165. height: 100%;
  166. width: 400px;
  167. padding: 50px;
  168. z-index: 200;
  169. transition: $transition;
  170. background-color: $neu-1;
  171. overflow: hidden;
  172. box-shadow:
  173. 4px 4px 10px $neu-2,
  174. -4px -4px 10px $white;
  175. &__circle {
  176. position: absolute;
  177. width: 500px;
  178. height: 500px;
  179. border-radius: 50%;
  180. background-color: $neu-1;
  181. box-shadow:
  182. inset 8px 8px 12px $neu-2,
  183. inset -8px -8px 12px $white;
  184. bottom: -60%;
  185. left: -60%;
  186. transition: $transition;
  187. &--t {
  188. top: -30%;
  189. left: 60%;
  190. width: 300px;
  191. height: 300px;
  192. }
  193. }
  194. &__container {
  195. display: flex;
  196. justify-content: center;
  197. align-items: center;
  198. flex-direction: column;
  199. position: absolute;
  200. width: 400px;
  201. padding: 50px 55px;
  202. transition: $transition;
  203. }
  204. &__button {
  205. cursor: pointer;
  206. &:hover {
  207. box-shadow:
  208. 6px 6px 10px $neu-2,
  209. -6px -6px 10px $white;
  210. transform: scale(0.985);
  211. transition: 0.25s;
  212. }
  213. &:active,
  214. &:focus {
  215. box-shadow:
  216. 2px 2px 6px $neu-2,
  217. -2px -2px 6px $white;
  218. transform: scale(0.97);
  219. transition: 0.25s;
  220. }
  221. }
  222. }
  223. /**/
  224. .is-txr {
  225. left: calc(100% - 400px);
  226. transition: $transition;
  227. transform-origin: left;
  228. }
  229. .is-txl {
  230. left: 0;
  231. transition: $transition;
  232. transform-origin: right;
  233. }
  234. .is-z200 {
  235. z-index: 200;
  236. transition: $transition;
  237. }
  238. .is-hidden {
  239. visibility: hidden;
  240. opacity: 0;
  241. position: absolute;
  242. transition: $transition;
  243. }
  244. .is-gx {
  245. animation: is-gx $transition;
  246. }
  247. @keyframes is-gx {
  248. 0%,
  249. 10%,
  250. 100% {
  251. width: 400px;
  252. }
  253. 30%,
  254. 50% {
  255. width: 500px;
  256. }
  257. }