login-register.less 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. @brand-ieee-color: #00629b;
  2. @brand-google-color: #276fea; // Not the "official" color but modified for a11y
  3. @brand-twitter-color: #1da1f2;
  4. @brand-orcid-color: #a6ce39;
  5. .login-register-container {
  6. max-width: 400px;
  7. margin: 0 auto;
  8. padding-bottom: @line-height-computed * 5;
  9. }
  10. .login-register-header {
  11. padding-top: @line-height-computed;
  12. padding-bottom: @line-height-computed - 5;
  13. border-bottom: solid 1px @hr-border;
  14. }
  15. .login-register-header-heading {
  16. margin: 0;
  17. color: @text-color;
  18. }
  19. .login-register-card {
  20. padding-top: 0;
  21. padding-bottom: 0;
  22. text-align: center;
  23. }
  24. .login-register-form {
  25. padding: @line-height-computed;
  26. border-bottom: solid 1px @hr-border;
  27. &:last-child {
  28. border-bottom-width: 0;
  29. }
  30. }
  31. .login-register-text,
  32. .login-register-hr-text-container {
  33. margin: 0;
  34. }
  35. .login-register-text {
  36. padding-bottom: 25px;
  37. font-size: 90%;
  38. &:last-child {
  39. padding-bottom: 0;
  40. }
  41. }
  42. .login-register-hr-text-container {
  43. line-height: 1;
  44. position: relative;
  45. padding: @line-height-computed 0;
  46. &::before {
  47. content: '';
  48. position: absolute;
  49. height: 1px;
  50. background-color: @hr-border;
  51. top: 50%;
  52. left: 0;
  53. right: 0;
  54. }
  55. }
  56. .login-register-hr-text {
  57. position: relative;
  58. background-color: #fff;
  59. padding: 0 (@line-height-computed / 2);
  60. }
  61. .login-btn-icon {
  62. position: absolute;
  63. top: 4px;
  64. left: 4px;
  65. background: #fff url(../../../public/img/brand/lion.svg) center/20px no-repeat;
  66. border-radius: 99999px;
  67. width: 26px;
  68. height: 26px;
  69. &::before {
  70. content: '\00a0'; // Non-breakable space. A non-breakable character here makes this icon work like font-awesome.
  71. }
  72. }
  73. .website-redesign {
  74. .login-register-container {
  75. max-width: 320px;
  76. }
  77. .login-register-text {
  78. font-size: 0.875rem;
  79. line-height: 1.4;
  80. text-align: left;
  81. &.login-register-text-center {
  82. text-align: center;
  83. }
  84. }
  85. .login-register-hr-text-container {
  86. padding: @line-height-computed 0 calc(@line-height-computed / 2) 0;
  87. &::before {
  88. top: calc(@line-height-computed + @line-height-computed / 4);
  89. }
  90. }
  91. .login-register-error-container {
  92. padding-bottom: calc(@line-height-computed / 2);
  93. }
  94. .login-register-other-links {
  95. padding: @line-height-computed 0;
  96. a {
  97. color: var(--green-50);
  98. text-decoration: underline;
  99. // text-decoration-;skip-ink is for letter with descender (like 'g' and 'y')
  100. // this will force underline to not skip the descender
  101. text-decoration-skip-ink: none;
  102. &:hover {
  103. color: var(--green-60);
  104. }
  105. // for accessibility with keyboard navigation
  106. &:focus {
  107. outline: 2px solid var(--green-50);
  108. outline-offset: 1px;
  109. }
  110. }
  111. }
  112. .flex-center {
  113. display: flex;
  114. justify-content: center;
  115. }
  116. .login-btn {
  117. display: flex;
  118. align-items: center;
  119. justify-content: center;
  120. padding: 4px 0;
  121. }
  122. .login-btn-icon {
  123. position: relative;
  124. top: unset;
  125. left: unset;
  126. background: unset;
  127. border-radius: unset;
  128. width: 20px;
  129. height: 20px;
  130. margin-right: 5px;
  131. &::before {
  132. content: unset;
  133. }
  134. }
  135. .form-group {
  136. text-align: left;
  137. position: relative;
  138. label {
  139. font-size: @font-size-small;
  140. }
  141. }
  142. .form-group-password {
  143. display: flex;
  144. position: relative;
  145. flex-direction: column;
  146. .form-group-password-input {
  147. input.form-control {
  148. padding-right: 35px;
  149. }
  150. }
  151. .visibility-toggle {
  152. position: absolute;
  153. right: 0;
  154. top: 0;
  155. width: @input-height-base;
  156. height: @input-height-base;
  157. display: flex;
  158. align-items: center;
  159. justify-content: center;
  160. border: unset;
  161. background-color: unset;
  162. #visibility-icon-off {
  163. margin-top: 2px; // workaround for the icon not having the same center as the non-slashed one
  164. }
  165. }
  166. }
  167. .top-padding-computed-2 {
  168. padding-top: @line-height-computed * 2;
  169. }
  170. .form-group-password-input {
  171. display: flex;
  172. flex-direction: column;
  173. width: 100%;
  174. }
  175. .register-container {
  176. .register-content-container {
  177. display: flex;
  178. background-color: #f2f4f7;
  179. min-height: 100vh;
  180. }
  181. .register-form {
  182. width: 100%;
  183. height: 100%;
  184. display: flex;
  185. justify-content: center;
  186. padding-top: @line-height-computed * 2;
  187. background-color: @white;
  188. @media (max-width: @screen-sm-max) {
  189. height: 100%;
  190. }
  191. .login-register-card {
  192. max-width: 320px;
  193. padding-bottom: @line-height-computed * 5; // for cookie banner
  194. }
  195. }
  196. .register-illustration-container {
  197. height: 100%;
  198. display: flex;
  199. align-items: center;
  200. .register-illustration {
  201. position: absolute;
  202. left: 80px;
  203. top: 100px;
  204. // for wide screen
  205. @media (min-width: 1700px) {
  206. position: relative;
  207. left: unset;
  208. top: unset;
  209. display: flex;
  210. align-items: center;
  211. justify-content: center;
  212. width: 100%;
  213. }
  214. .register-main-image {
  215. max-width: 850px;
  216. @media (max-width: 1350px) {
  217. max-width: 750px;
  218. }
  219. @media (max-width: 1150px) {
  220. max-width: 670px;
  221. }
  222. }
  223. .sticky-tags {
  224. position: absolute;
  225. height: 210px;
  226. bottom: -135px;
  227. right: 130px;
  228. // for wide screen
  229. @media (min-width: 1700px) {
  230. right: calc(50% - 300px);
  231. }
  232. }
  233. }
  234. }
  235. }
  236. .tos-agreement-notice {
  237. text-align: left;
  238. font-size: 12px;
  239. a {
  240. color: var(--green-50);
  241. text-decoration: underline;
  242. // text-decoration-;skip-ink is for letter with descender (like 'g' and 'y')
  243. // this will force underline to not skip the descender
  244. text-decoration-skip-ink: none;
  245. &:hover {
  246. color: var(--green-60);
  247. }
  248. // for accessibility with keyboard navigation
  249. &:focus {
  250. outline: 2px solid var(--green-50);
  251. outline-offset: 1px;
  252. }
  253. }
  254. }
  255. .register-header-logo {
  256. &:focus {
  257. outline: 2px solid var(--green-50);
  258. }
  259. }
  260. }