|
@@ -196,3 +196,323 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+ .login {
|
|
|
+ background-color: mc('blue', '800');
|
|
|
+ background-image: url('../../static/svg/login-bg-motif.svg');
|
|
|
+ background-repeat: repeat;
|
|
|
+ background-size: 200px;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ animation: loginBgReveal 20s linear infinite;
|
|
|
+
|
|
|
+ @include keyframes(loginBgReveal) {
|
|
|
+ 0% {
|
|
|
+ background-position-y: 0;
|
|
|
+ }
|
|
|
+ 100% {
|
|
|
+ background-position-y: -800px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ background-image: url('../../static/svg/login-bg.svg');
|
|
|
+ background-position: center bottom;
|
|
|
+ background-size: cover;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100vw;
|
|
|
+ height: 100vh;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ background-image: linear-gradient(to bottom, rgba(mc('blue', '800'), 1) 0%, rgba(mc('blue', '800'), 0) 100%);
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100vw;
|
|
|
+ height: 25vh;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-container {
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ width: 400px;
|
|
|
+ align-items: stretch;
|
|
|
+ box-shadow: 0 14px 28px rgba(0,0,0,0.2);
|
|
|
+ border-radius: 6px;
|
|
|
+ animation: zoomIn .5s ease;
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ top: 1rem;
|
|
|
+ right: 1rem;
|
|
|
+ content: " ";
|
|
|
+ @include spinner(mc('blue', '500'),0.5s,16px);
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.is-expanded {
|
|
|
+ width: 650px;
|
|
|
+
|
|
|
+ .login-frame {
|
|
|
+ border-radius: 0 6px 6px 0;
|
|
|
+ border-left: none;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.is-loading::after {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ width: 100%;
|
|
|
+ border-radius: 0;
|
|
|
+
|
|
|
+ &.is-expanded {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-providers {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ width: 250px;
|
|
|
+
|
|
|
+ border-right: none;
|
|
|
+ border-radius: 6px 0 0 6px;
|
|
|
+ z-index: 1;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ width: 50px;
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ button {
|
|
|
+ flex: 0 1 50px;
|
|
|
+ padding: 5px 15px;
|
|
|
+ border: none;
|
|
|
+ color: #FFF;
|
|
|
+ // background: linear-gradient(to right, rgba(mc('light-blue', '800'), .7), rgba(mc('light-blue', '800'), 1));
|
|
|
+ // border-top: 1px solid rgba(mc('light-blue', '900'), .5);
|
|
|
+ background: linear-gradient(to right, rgba(0,0,0, .5), rgba(0,0,0, .7));
|
|
|
+ border-top: 1px solid rgba(0,0,0, .2);
|
|
|
+ font-family: $core-font-standard;
|
|
|
+ font-weight: 600;
|
|
|
+ text-align: left;
|
|
|
+ min-height: 40px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ transition: all .4s ease;
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ outline: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background-color: rgba(0,0,0, .4);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:first-child {
|
|
|
+ border-top: none;
|
|
|
+
|
|
|
+ &.is-active {
|
|
|
+ border-top: 1px solid rgba(255,255,255, .5);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.is-active {
|
|
|
+ background-image: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,.77) 100%);
|
|
|
+ color: mc('grey', '800');
|
|
|
+ cursor: default;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background-color: transparent;
|
|
|
+ }
|
|
|
+
|
|
|
+ svg path {
|
|
|
+ fill: mc('grey', '800');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ i {
|
|
|
+ margin-right: 10px;
|
|
|
+ font-size: 16px;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ margin-right: 0;
|
|
|
+ font-size: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ svg {
|
|
|
+ margin-right: 10px;
|
|
|
+ width: auto;
|
|
|
+ height: 20px;
|
|
|
+ max-width: 18px;
|
|
|
+ max-height: 20px;
|
|
|
+
|
|
|
+ path {
|
|
|
+ fill: #FFF;
|
|
|
+ }
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ margin-right: 0;
|
|
|
+ font-size: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ span {
|
|
|
+ font-weight: 600;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-fill {
|
|
|
+ flex: 1 1 0;
|
|
|
+ background: linear-gradient(to right, rgba(mc('light-blue', '800'), .7), rgba(mc('light-blue', '800'), 1));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-frame {
|
|
|
+ background-image: radial-gradient(circle at top center, rgba(255,255,255,1) 5%,rgba(255,255,255,.6) 100%);
|
|
|
+ border: 1px solid rgba(255,255,255, .5);
|
|
|
+ border-radius: 6px;
|
|
|
+ width: 400px;
|
|
|
+ padding: 1rem;
|
|
|
+ color: mc('grey', '700');
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ flex-direction: column;
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ width: 100%;
|
|
|
+ border-radius: 0;
|
|
|
+ border: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ h1 {
|
|
|
+ font-size: 2rem;
|
|
|
+ font-weight: 600;
|
|
|
+ color: mc('light-blue', '700');
|
|
|
+ text-shadow: 1px 1px 0 #FFF;
|
|
|
+ padding: 0;
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ h2 {
|
|
|
+ font-size: 1.5rem;
|
|
|
+ font-weight: 300;
|
|
|
+ color: mc('grey', '700');
|
|
|
+ text-shadow: 1px 1px 0 #FFF;
|
|
|
+ padding: 0;
|
|
|
+ margin: 0 0 25px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ form {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ input[type=text], input[type=password] {
|
|
|
+ width: 100%;
|
|
|
+ border: 1px solid rgba(mc('blue-grey','500'), .5);
|
|
|
+ border-radius: 3px;
|
|
|
+ background-color: rgba(255,255,255,.9);
|
|
|
+ box-shadow: inset 0 0 0 3px rgba(255,255,255, .25);
|
|
|
+ padding: 0 15px;
|
|
|
+ height: 40px;
|
|
|
+ margin: 0 0 10px 0;
|
|
|
+ color: mc('grey', '700');
|
|
|
+ font-weight: 600;
|
|
|
+ font-size: .8rem;
|
|
|
+ transition: all 0.4s ease;
|
|
|
+ text-align: center;
|
|
|
+
|
|
|
+ &:focus {
|
|
|
+ outline: none;
|
|
|
+ border-color: mc('light-blue','500');
|
|
|
+ background-color: rgba(255,255,255,1);
|
|
|
+ box-shadow: inset 0 0 8px rgba(mc('light-blue','500'), .5);
|
|
|
+ color: mc('light-blue', '800');
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .button {
|
|
|
+ background-image: linear-gradient(to bottom, mc('blue', '400') 0%, mc('blue', '600') 50%, mc('blue', '700') 100%);
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-size: 100% 200%;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background-position-y: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ &-tfa {
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ width: 400px;
|
|
|
+ align-items: stretch;
|
|
|
+ box-shadow: 0 14px 28px rgba(0,0,0,0.2);
|
|
|
+ border-radius: 6px;
|
|
|
+ animation: zoomIn .5s ease;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-copyright {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ bottom: 10vh;
|
|
|
+ width: 100%;
|
|
|
+ z-index: 2;
|
|
|
+ color: mc('grey', '500');
|
|
|
+ font-weight: 400;
|
|
|
+
|
|
|
+ a {
|
|
|
+ font-weight: 600;
|
|
|
+ color: mc('blue', '500');
|
|
|
+ margin-left: .25rem;
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ color: mc('blue', '200');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @include until($tablet) {
|
|
|
+ color: mc('blue', '50');
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|