feat: Login, OP Support and Auth Queries (#177)
* fix: change oidc config * fix: change oidc config secret * begin models * begin repo * fix: implement grpc app funcs * fix: add application requests * fix: converter * fix: converter * fix: converter and generate clientid * fix: tests * feat: project grant aggregate * feat: project grant * fix: project grant check if role existing * fix: project grant requests * fix: project grant fixes * fix: project grant member model * fix: project grant member aggregate * fix: project grant member eventstore * fix: project grant member requests * feat: user model * begin repo * repo models and more * feat: user command side * lots of functions * user command side * profile requests * commit before rebase on user * save * local config with gopass and more * begin new auth command (user centric) * Update internal/user/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/address.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/address.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/email.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/email.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/email.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/mfa.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/mfa.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/password.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/password.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/password.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/phone.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/phone.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/phone.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/usergrant/repository/eventsourcing/model/user_grant.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/usergrant/repository/eventsourcing/model/user_grant.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/usergrant/repository/eventsourcing/user_grant.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/user_test.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * Update internal/user/repository/eventsourcing/eventstore_mock_test.go Co-Authored-By: Livio Amstutz <livio.a@gmail.com> * changes from mr review * save files into basedir * changes from mr review * changes from mr review * move to auth request * Update internal/usergrant/repository/eventsourcing/cache.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/usergrant/repository/eventsourcing/cache.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * changes requested on mr * fix generate codes * fix return if no events * password code * email verification step * more steps * lot of mfa * begin tests * more next steps * auth api * auth api (user) * auth api (user) * auth api (user) * differ requests * merge * tests * fix compilation error * mock for id generator * Update internal/user/repository/eventsourcing/model/password.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update internal/user/repository/eventsourcing/model/user.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * requests of mr * check email * begin separation of command and query * otp * change packages * some cleanup and fixes * tests for auth request / next steps * add VerificationLifetimes to config and make it run * tests * fix code challenge validation * cleanup * fix merge * begin view * repackaging tests and configs * fix startup config for auth * add migration * add PromptSelectAccount * fix copy / paste * remove user_agent files * fixes * fix sequences in user_session * token commands * token queries and signout * fix * fix set password test * add token handler and table * handle session init * add session state * add user view test cases * change VerifyMyMfaOTP * some fixes * fix user repo in auth api * cleanup * add user session view test * fix merge * begin oidc * user agent and more * config * keys * key command and query * add login statics * key handler * start login * login handlers * lot of fixes * merge oidc * add missing exports * add missing exports * fix some bugs * authrequestid in htmls * getrequest * update auth request * fix userid check * add username to authrequest * fix user session and auth request handling * fix UserSessionsByAgentID * fix auth request tests * fix user session on UserPasswordChanged and MfaOtpRemoved * fix MfaTypesSetupPossible * handle mfa * fill username * auth request query checks new events * fix userSessionByIDs * fix tokens * fix userSessionByIDs test * add user selection * init code * user code creation date * add init user step * add verification failed types * add verification failures * verify init code * user init code handle * user init code handle * fix userSessionByIDs * update logging * user agent cookie * browserinfo from request * add DeleteAuthRequest * add static login files to binary * add login statik to build * move generate to separate file and remove statik.go files * remove static dirs from startup.yaml * generate into separate namespaces * merge master * auth request code * auth request type mapping * fix keys * improve tokens * improve register and basic styling * fix ailerons font * improve password reset * add audience to token * all oidc apps as audience * fix test nextStep * fix email texts * remove "not set" * lot of style changes * improve copy to clipboard * fix footer * add cookie handler * remove placeholders * fix compilation after merge * fix auth config * remove comments * typo * use new secrets store * change default pws to match default policy * fixes * add todo * enable login * fix db name * Auth queries (#179) * my usersession * org structure/ auth handlers * working user grant spooler * auth internal user grants * search my project orgs * remove permissions file * my zitadel permissions * my zitadel permissions * remove unused code * authz * app searches in view * token verification * fix user grant load * fix tests * fix tests * read configs * remove unused const * remove todos * env variables * app_name * working authz * search projects * global resourceowner * Update internal/api/auth/permissions.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * Update internal/api/auth/permissions.go Co-authored-by: Livio Amstutz <livio.a@gmail.com> * model2 rename * at least it works * check token expiry * search my user grants * remove token table from authz Co-authored-by: Livio Amstutz <livio.a@gmail.com> * fix test * fix ports and enable console Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com> Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com> Co-authored-by: Silvan <silvan.reusser@gmail.com>
BIN
internal/login/static/resources/fonts/ailerons/ailerons.otf
Normal file
BIN
internal/login/static/resources/fonts/lato/Lato-Black.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-BlackItalic.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-Bold.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-BoldItalic.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-Italic.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-Light.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-LightItalic.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-Regular.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-Thin.ttf
Executable file
BIN
internal/login/static/resources/fonts/lato/Lato-ThinItalic.ttf
Executable file
93
internal/login/static/resources/fonts/lato/OFL.txt
Executable file
@@ -0,0 +1,93 @@
|
||||
Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato"
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
7
internal/login/static/resources/generate.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package resources
|
||||
|
||||
// scss
|
||||
//go:generate sass themes/scss/zitadel/dark.scss themes/zitadel/css/dark.css
|
||||
//go:generate sass themes/scss/zitadel/light.scss themes/zitadel/css/light.css
|
||||
//go:generate sass themes/scss/caos/dark.scss themes/caos/css/dark.css
|
||||
//go:generate sass themes/scss/caos/light.scss themes/caos/css/light.css
|
||||
257
internal/login/static/resources/themes/caos/css/dark.css
Normal file
@@ -0,0 +1,257 @@
|
||||
@font-face {
|
||||
font-family: Aileron;
|
||||
src: url(../../../fonts/ailerons/ailerons.otf) format("opentype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Thin.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-ThinItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Light.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-LightItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Regular.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Italic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Bold.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BoldItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Black.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BlackItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Material Icons";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../../../fonts/material/MaterialIcons-Regular.eot);
|
||||
/* For IE6-8 */
|
||||
src: local("Material Icons"), local("MaterialIcons-Regular"), url(../../../fonts/material/MaterialIcons-Regular.woff2) format("woff2"), url(../../../fonts/material/MaterialIcons-Regular.woff) format("woff"), url(../../../fonts/material/MaterialIcons-Regular.ttf) format("truetype");
|
||||
}
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
font-family: Lato;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: #282828;
|
||||
color: white;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: white;
|
||||
font-family: Aileron;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-width: 300;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 8px;
|
||||
}
|
||||
header .logo {
|
||||
background-image: url("../logo-dark.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
height: 80px;
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 100%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #760038;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
}
|
||||
a:hover {
|
||||
color: #f60075;
|
||||
}
|
||||
|
||||
button {
|
||||
text-transform: uppercase;
|
||||
background-color: #282828;
|
||||
color: #760038;
|
||||
border: 2px solid #760038;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
height: 50px;
|
||||
transition: all 0.3s ease 0s;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #f60075;
|
||||
border: 2px solid #f60075;
|
||||
}
|
||||
button.primary {
|
||||
background-color: #760038;
|
||||
color: white;
|
||||
border: none;
|
||||
}
|
||||
button.primary:hover {
|
||||
background-color: #f60075;
|
||||
}
|
||||
button > .sessionstate {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
input:not([type=radio]), select {
|
||||
background-color: #252525;
|
||||
color: white;
|
||||
height: 50px;
|
||||
border: 2px solid #595959;
|
||||
border-radius: 5px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
form .field {
|
||||
display: grid;
|
||||
padding: 10px 0;
|
||||
}
|
||||
form .field.radio-button {
|
||||
display: flex;
|
||||
}
|
||||
form .field.radio-button input[type=radio] {
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
form .field.radio-button label {
|
||||
height: 20px;
|
||||
display: inline-block;
|
||||
padding: 3px 0 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
form label {
|
||||
color: #898989;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9rem;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
form label span.optional {
|
||||
font-style: italic;
|
||||
text-transform: none;
|
||||
}
|
||||
form .actions {
|
||||
padding: 20px 0;
|
||||
}
|
||||
form .actions .right {
|
||||
float: right;
|
||||
}
|
||||
form .actions button, form .actions a {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
#copy-secret {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#qrcode {
|
||||
text-align: center;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:white"] {
|
||||
fill: #282828 !important;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:black"] {
|
||||
fill: white !important;
|
||||
}
|
||||
|
||||
#secret .copy {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-image: url("../gradientdeco-full.svg");
|
||||
width: 100%;
|
||||
background-size: cover;
|
||||
height: 44vw;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-family: "Material Icons";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
/* Preferred icon size */
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
/* Support for IE. */
|
||||
font-feature-settings: "liga";
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=dark.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/fonts.scss","../../scss/main.scss","../../scss/caos/variables.scss","../../scss/variables.scss"],"names":[],"mappings":"AACA;EACI;EACA;;AAIJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;AAA6D;EAC7D;;AC5EJ;EACI;EACA,aCGW;EDFX;EACA;;;AAGJ;EACI;;;AAGJ;EACI,kBCDc;EDEd,OCDQ;;;ADIZ;EACI,OCLQ;EDMR,aCZS;EDaT;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI,OCnCW;EDoCX;EACA;EACA;;AAEA;EACI,OCxCY;;;AD4CpB;EACI;EACA,kBCjDc;EDkDd,OChDW;EDiDX;EACA;EACA;EACA;EACA,QE/DU;EFgEV;EACA;EACA;;AACA;EACI,kBCzDY;ED0DZ;;AAGJ;EACI,kBC/DO;EDgEP,OCjEI;EDkEJ;;AACA;EACI,kBClEQ;;ADsEhB;EACI;;;AAIR;EACI,kBE7EmB;EF8EnB,OC/EQ;EDgFR,QEzFU;EF0FV;EACA;EACA;;;AAIA;EACI;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI,OE9GK;EF+GL;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKZ;EACI;EACA;;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;AAAkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AACA;EACA;AAEA;EACA;AAEA;EACA","file":"dark.css"}
|
||||
299
internal/login/static/resources/themes/caos/css/light.css
Normal file
@@ -0,0 +1,299 @@
|
||||
@font-face {
|
||||
font-family: Aileron;
|
||||
src: url(../../../fonts/ailerons/ailerons.otf) format("opentype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Thin.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-ThinItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Light.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-LightItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Regular.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Italic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Bold.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BoldItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Black.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BlackItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Material Icons";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../../../fonts/material/MaterialIcons-Regular.eot);
|
||||
/* For IE6-8 */
|
||||
src: local("Material Icons"), local("MaterialIcons-Regular"), url(../../../fonts/material/MaterialIcons-Regular.woff2) format("woff2"), url(../../../fonts/material/MaterialIcons-Regular.woff) format("woff"), url(../../../fonts/material/MaterialIcons-Regular.ttf) format("truetype");
|
||||
}
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
font-family: Lato;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: #282828;
|
||||
color: white;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: white;
|
||||
font-family: Aileron;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-width: 300;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 8px;
|
||||
}
|
||||
header .logo {
|
||||
background-image: url("../logo-dark.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
height: 80px;
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 100%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #760038;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
}
|
||||
a:hover {
|
||||
color: #f60075;
|
||||
}
|
||||
|
||||
button {
|
||||
text-transform: uppercase;
|
||||
background-color: #282828;
|
||||
color: #760038;
|
||||
border: 2px solid #760038;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
height: 50px;
|
||||
transition: all 0.3s ease 0s;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #f60075;
|
||||
border: 2px solid #f60075;
|
||||
}
|
||||
button.primary {
|
||||
background-color: #760038;
|
||||
color: white;
|
||||
border: none;
|
||||
}
|
||||
button.primary:hover {
|
||||
background-color: #f60075;
|
||||
}
|
||||
button > .sessionstate {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
input:not([type=radio]), select {
|
||||
background-color: #252525;
|
||||
color: white;
|
||||
height: 50px;
|
||||
border: 2px solid #595959;
|
||||
border-radius: 5px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
form .field {
|
||||
display: grid;
|
||||
padding: 10px 0;
|
||||
}
|
||||
form .field.radio-button {
|
||||
display: flex;
|
||||
}
|
||||
form .field.radio-button input[type=radio] {
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
form .field.radio-button label {
|
||||
height: 20px;
|
||||
display: inline-block;
|
||||
padding: 3px 0 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
form label {
|
||||
color: #898989;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9rem;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
form label span.optional {
|
||||
font-style: italic;
|
||||
text-transform: none;
|
||||
}
|
||||
form .actions {
|
||||
padding: 20px 0;
|
||||
}
|
||||
form .actions .right {
|
||||
float: right;
|
||||
}
|
||||
form .actions button, form .actions a {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
#copy-secret {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#qrcode {
|
||||
text-align: center;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:white"] {
|
||||
fill: #282828 !important;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:black"] {
|
||||
fill: white !important;
|
||||
}
|
||||
|
||||
#secret .copy {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-image: url("../gradientdeco-full.svg");
|
||||
width: 100%;
|
||||
background-size: cover;
|
||||
height: 44vw;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-family: "Material Icons";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
/* Preferred icon size */
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
/* Support for IE. */
|
||||
font-feature-settings: "liga";
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: white;
|
||||
color: #282828;
|
||||
}
|
||||
html header .logo {
|
||||
background-image: url("../logo-light.png");
|
||||
}
|
||||
html h1 {
|
||||
color: #282828;
|
||||
}
|
||||
html button {
|
||||
background-color: white;
|
||||
color: #760038;
|
||||
border: 2px solid #760038;
|
||||
}
|
||||
html button:hover {
|
||||
background-color: #f60075;
|
||||
border: 2px solid #f60075;
|
||||
}
|
||||
html button.primary {
|
||||
background-color: #760038;
|
||||
color: white;
|
||||
border: none;
|
||||
box-shadow: 0px 10px 30px #760038;
|
||||
}
|
||||
html button.primary:hover {
|
||||
background-color: #f60075;
|
||||
}
|
||||
html input {
|
||||
background-color: white;
|
||||
color: #282828;
|
||||
}
|
||||
html #qrcode svg rect[style*="fill:white"] {
|
||||
fill: white !important;
|
||||
}
|
||||
html #qrcode svg rect[style*="fill:black"] {
|
||||
fill: #282828 !important;
|
||||
}
|
||||
html footer {
|
||||
background-image: url("../gradientdeco-full.svg");
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=light.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/fonts.scss","../../scss/main.scss","../../scss/caos/variables.scss","../../scss/variables.scss","../../scss/light.scss"],"names":[],"mappings":"AACA;EACI;EACA;;AAIJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;AAA6D;EAC7D;;AC5EJ;EACI;EACA,aCGW;EDFX;EACA;;;AAGJ;EACI;;;AAGJ;EACI,kBCDc;EDEd,OCDQ;;;ADIZ;EACI,OCLQ;EDMR,aCZS;EDaT;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI,OCnCW;EDoCX;EACA;EACA;;AAEA;EACI,OCxCY;;;AD4CpB;EACI;EACA,kBCjDc;EDkDd,OChDW;EDiDX;EACA;EACA;EACA;EACA,QE/DU;EFgEV;EACA;EACA;;AACA;EACI,kBCzDY;ED0DZ;;AAGJ;EACI,kBC/DO;EDgEP,OCjEI;EDkEJ;;AACA;EACI,kBClEQ;;ADsEhB;EACI;;;AAIR;EACI,kBE7EmB;EF8EnB,OC/EQ;EDgFR,QEzFU;EF0FV;EACA;EACA;;;AAIA;EACI;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI,OE9GK;EF+GL;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKZ;EACI;EACA;;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;AAAkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AACA;EACA;AAEA;EACA;AAEA;EACA;;;AG1MJ;EACI,kBFYQ;EEXR,OFUc;;AERd;EACI;;AAGJ;EACI,OFGU;;AEAd;EACI;EACA;EACA;;AAEA;EACI,kBFIa;EEHb;;AAGJ;EACI,kBFTG;EEUH,OFXA;EEYA;EACA;;AACA;EACI,kBFbI;;AEkBhB;EACI,kBFrBI;EEsBJ,OFvBU;;AE2BV;EACI;;AAGJ;EACI;;AAIR;EACI","file":"light.css"}
|
||||
BIN
internal/login/static/resources/themes/caos/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 361 KiB |
BIN
internal/login/static/resources/themes/caos/logo-dark.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
internal/login/static/resources/themes/caos/logo-light.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,3 @@
|
||||
@import "../variables.scss";
|
||||
@import "./variables.scss";
|
||||
@import "../main.scss";
|
||||
@@ -0,0 +1,4 @@
|
||||
@import "../variables.scss";
|
||||
@import "./variables.scss";
|
||||
@import "../main.scss";
|
||||
@import "../light.scss";
|
||||
@@ -0,0 +1,24 @@
|
||||
$logoImgDark: "../logo-dark.png";
|
||||
$logoImgLight: "../logo-light.png";
|
||||
|
||||
$footerimgDark: "../gradientdeco-full.svg";
|
||||
$footerimgLight: "../gradientdeco-full.svg";
|
||||
|
||||
// ----- FONTS ------------
|
||||
$standardFont: Lato;
|
||||
$headerFont: Aileron;
|
||||
|
||||
// ----- COLORS ------------
|
||||
|
||||
// ------ DARK-THEME -------
|
||||
$backgroundColor: #282828;
|
||||
$fontColor: white;
|
||||
$primaryColor: #760038;
|
||||
$primaryColorHover: lighten($primaryColor, 25%);
|
||||
|
||||
|
||||
// ------ LIGHT-THEME -------
|
||||
$backgroundColorLight: $fontColor;
|
||||
$fontColorLight: $backgroundColor;
|
||||
$primaryColorLight: $primaryColor;
|
||||
$primaryColorHoverLight: lighten($primaryColorLight, 25%);
|
||||
84
internal/login/static/resources/themes/scss/fonts.scss
Normal file
@@ -0,0 +1,84 @@
|
||||
//Aileron
|
||||
@font-face {
|
||||
font-family: Aileron;
|
||||
src: url(../../../fonts/ailerons/ailerons.otf ) format('opentype');
|
||||
}
|
||||
|
||||
//Lato
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Thin.ttf ) format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-ThinItalic.ttf ) format('truetype');
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Light.ttf ) format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-LightItalic.ttf ) format('truetype');
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Regular.ttf ) format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Italic.ttf ) format('truetype');
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Bold.ttf ) format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BoldItalic.ttf ) format('truetype');
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Black.ttf ) format('truetype');
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BlackItalic.ttf ) format('truetype');
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
//Material Icons
|
||||
@font-face {
|
||||
font-family: 'Material Icons';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../../../fonts/material/MaterialIcons-Regular.eot); /* For IE6-8 */
|
||||
src: local('Material Icons'),
|
||||
local('MaterialIcons-Regular'),
|
||||
url(../../../fonts/material/MaterialIcons-Regular.woff2) format('woff2'),
|
||||
url(../../../fonts/material/MaterialIcons-Regular.woff) format('woff'),
|
||||
url(../../../fonts/material/MaterialIcons-Regular.ttf) format('truetype');
|
||||
}
|
||||
53
internal/login/static/resources/themes/scss/light.scss
Normal file
@@ -0,0 +1,53 @@
|
||||
// ---- LIGHT-THEME-------
|
||||
html {
|
||||
background-color: $backgroundColorLight;
|
||||
color: $fontColorLight;
|
||||
|
||||
header .logo {
|
||||
background-image: url($logoImgLight);
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: $fontColorLight;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: $backgroundColorLight;
|
||||
color: $primaryColorLight;
|
||||
border: 2px solid $primaryColorLight;
|
||||
|
||||
&:hover {
|
||||
background-color: $primaryColorHoverLight;
|
||||
border: 2px solid $primaryColorHoverLight;
|
||||
}
|
||||
|
||||
&.primary {
|
||||
background-color: $primaryColor;
|
||||
color: $fontColor;
|
||||
border: none;
|
||||
box-shadow: 0px 10px 30px $primaryColor;
|
||||
&:hover {
|
||||
background-color: $primaryColorHover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
background-color: $backgroundColorLight;
|
||||
color: $fontColorLight;
|
||||
}
|
||||
|
||||
#qrcode {
|
||||
svg rect[style*="fill:white"] {
|
||||
fill: $backgroundColorLight !important;
|
||||
}
|
||||
|
||||
svg rect[style*="fill:black"] {
|
||||
fill: $fontColorLight !important;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
background-image: url($footerimgLight);
|
||||
}
|
||||
}
|
||||
205
internal/login/static/resources/themes/scss/main.scss
Normal file
@@ -0,0 +1,205 @@
|
||||
@import "fonts";
|
||||
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
font-family: $standardFont;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: $backgroundColor;
|
||||
color: $fontColor;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: $fontColor;
|
||||
font-family: $headerFont;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-width: 300;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 8px;
|
||||
|
||||
.logo {
|
||||
background-image: url($logoImgDark);
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
height: 80px;
|
||||
margin: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 100%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $primaryColor;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
|
||||
&:hover {
|
||||
color: $primaryColorHover;
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
text-transform: uppercase;
|
||||
background-color: $backgroundColor;
|
||||
color: $primaryColor;
|
||||
border: 2px solid $primaryColor;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
height: $inputHeight;
|
||||
transition: all 0.3s ease 0s;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
&:hover {
|
||||
background-color: $primaryColorHover;
|
||||
border: 2px solid $primaryColorHover;
|
||||
}
|
||||
|
||||
&.primary {
|
||||
background-color: $primaryColor;
|
||||
color: $fontColor;
|
||||
border: none;
|
||||
&:hover {
|
||||
background-color: $primaryColorHover;
|
||||
}
|
||||
}
|
||||
|
||||
& > .sessionstate {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
}
|
||||
|
||||
input:not([type='radio']), select {
|
||||
background-color: $inputBackgroundColor;
|
||||
color: $fontColor;
|
||||
height: $inputHeight;
|
||||
border: 2px solid $inputBorderColor;
|
||||
border-radius: 5px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
form {
|
||||
.field {
|
||||
display: grid;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.field.radio-button {
|
||||
display: flex;
|
||||
|
||||
input[type='radio'] {
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
& label {
|
||||
height: 20px;
|
||||
display: inline-block;
|
||||
padding: 3px 0 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
color: $labelColor;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9rem;
|
||||
margin-bottom: 3px;
|
||||
|
||||
span.optional {
|
||||
font-style: italic;
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
padding: 20px 0;
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
button, a {
|
||||
margin: 10px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#copy-secret {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#qrcode {
|
||||
text-align: center;
|
||||
|
||||
svg rect[style*="fill:white"] {
|
||||
fill: $backgroundColor !important;
|
||||
}
|
||||
|
||||
svg rect[style*="fill:black"] {
|
||||
fill: $fontColor !important;
|
||||
}
|
||||
}
|
||||
|
||||
#secret {
|
||||
.copy {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
background-image: url($footerimgDark);
|
||||
width: 100%;
|
||||
background-size: cover;
|
||||
height: 44vw;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-family: 'Material Icons';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px; /* Preferred icon size */
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
/* Support for IE. */
|
||||
font-feature-settings: 'liga';
|
||||
}
|
||||
23
internal/login/static/resources/themes/scss/variables.scss
Normal file
@@ -0,0 +1,23 @@
|
||||
// ----- FONTS ------------
|
||||
$standardFont: Lato;
|
||||
$headerFont: Aileron;
|
||||
|
||||
// ----- LAYOUT ------------
|
||||
$inputHeight: 50px;
|
||||
|
||||
|
||||
// ----- DARK-THEME --------
|
||||
$backgroundColor: #282828;
|
||||
$fontColor: #FFFFFF;
|
||||
$primaryColor: #364DF6;
|
||||
$primaryColorHover: lighten($primaryColor, 10%);
|
||||
$labelColor: #898989;
|
||||
$inputBorderColor: #595959;
|
||||
$inputBackgroundColor: #252525;
|
||||
|
||||
|
||||
// ----- LIGHT-THEME --------
|
||||
$backgroundColorLight: $fontColor;
|
||||
$fontColorLight: $backgroundColor;
|
||||
$primaryColorLight: $primaryColor;
|
||||
$primaryColorHoverLight: lighten($primaryColorLight, 10%);
|
||||
@@ -0,0 +1,3 @@
|
||||
@import "../variables.scss";
|
||||
@import "./variables.scss";
|
||||
@import "../main.scss";
|
||||
@@ -0,0 +1,4 @@
|
||||
@import "../variables.scss";
|
||||
@import "./variables.scss";
|
||||
@import "../main.scss";
|
||||
@import "../light.scss";
|
||||
@@ -0,0 +1,5 @@
|
||||
$logoImgDark: "../logo-dark.png";
|
||||
$logoImgLight: "../logo-light.png";
|
||||
|
||||
$footerimgDark: "../gradientdeco-full.svg";
|
||||
$footerimgLight: "../gradientdeco-full.svg";
|
||||
257
internal/login/static/resources/themes/zitadel/css/dark.css
Normal file
@@ -0,0 +1,257 @@
|
||||
@font-face {
|
||||
font-family: Aileron;
|
||||
src: url(../../../fonts/ailerons/ailerons.otf) format("opentype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Thin.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-ThinItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Light.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-LightItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Regular.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Italic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Bold.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BoldItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Black.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BlackItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Material Icons";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../../../fonts/material/MaterialIcons-Regular.eot);
|
||||
/* For IE6-8 */
|
||||
src: local("Material Icons"), local("MaterialIcons-Regular"), url(../../../fonts/material/MaterialIcons-Regular.woff2) format("woff2"), url(../../../fonts/material/MaterialIcons-Regular.woff) format("woff"), url(../../../fonts/material/MaterialIcons-Regular.ttf) format("truetype");
|
||||
}
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
font-family: Lato;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: #282828;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #FFFFFF;
|
||||
font-family: Aileron;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-width: 300;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 8px;
|
||||
}
|
||||
header .logo {
|
||||
background-image: url("../logo-dark.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
height: 80px;
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 100%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #364DF6;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
}
|
||||
a:hover {
|
||||
color: #6778f8;
|
||||
}
|
||||
|
||||
button {
|
||||
text-transform: uppercase;
|
||||
background-color: #282828;
|
||||
color: #364DF6;
|
||||
border: 2px solid #364DF6;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
height: 50px;
|
||||
transition: all 0.3s ease 0s;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #6778f8;
|
||||
border: 2px solid #6778f8;
|
||||
}
|
||||
button.primary {
|
||||
background-color: #364DF6;
|
||||
color: #FFFFFF;
|
||||
border: none;
|
||||
}
|
||||
button.primary:hover {
|
||||
background-color: #6778f8;
|
||||
}
|
||||
button > .sessionstate {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
input:not([type=radio]), select {
|
||||
background-color: #252525;
|
||||
color: #FFFFFF;
|
||||
height: 50px;
|
||||
border: 2px solid #595959;
|
||||
border-radius: 5px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
form .field {
|
||||
display: grid;
|
||||
padding: 10px 0;
|
||||
}
|
||||
form .field.radio-button {
|
||||
display: flex;
|
||||
}
|
||||
form .field.radio-button input[type=radio] {
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
form .field.radio-button label {
|
||||
height: 20px;
|
||||
display: inline-block;
|
||||
padding: 3px 0 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
form label {
|
||||
color: #898989;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9rem;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
form label span.optional {
|
||||
font-style: italic;
|
||||
text-transform: none;
|
||||
}
|
||||
form .actions {
|
||||
padding: 20px 0;
|
||||
}
|
||||
form .actions .right {
|
||||
float: right;
|
||||
}
|
||||
form .actions button, form .actions a {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
#copy-secret {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#qrcode {
|
||||
text-align: center;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:white"] {
|
||||
fill: #282828 !important;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:black"] {
|
||||
fill: #FFFFFF !important;
|
||||
}
|
||||
|
||||
#secret .copy {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-image: url("../gradientdeco-full.svg");
|
||||
width: 100%;
|
||||
background-size: cover;
|
||||
height: 44vw;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-family: "Material Icons";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
/* Preferred icon size */
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
/* Support for IE. */
|
||||
font-feature-settings: "liga";
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=dark.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/fonts.scss","../../scss/main.scss","../../scss/variables.scss"],"names":[],"mappings":"AACA;EACI;EACA;;AAIJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;AAA6D;EAC7D;;AC5EJ;EACI;EACA,aCHW;EDIX;EACA;;;AAGJ;EACI;;;AAGJ;EACI,kBCLc;EDMd,OCLQ;;;ADQZ;EACI,OCTQ;EDUR,aClBS;EDmBT;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI,OCvCW;EDwCX;EACA;EACA;;AAEA;EACI,OC5CY;;;ADgDpB;EACI;EACA,kBCrDc;EDsDd,OCpDW;EDqDX;EACA;EACA;EACA;EACA,QC/DU;EDgEV;EACA;EACA;;AACA;EACI,kBC7DY;ED8DZ;;AAGJ;EACI,kBCnEO;EDoEP,OCrEI;EDsEJ;;AACA;EACI,kBCtEQ;;AD0EhB;EACI;;;AAIR;EACI,kBC7EmB;ED8EnB,OCnFQ;EDoFR,QCzFU;ED0FV;EACA;EACA;;;AAIA;EACI;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI,OC9GK;ED+GL;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKZ;EACI;EACA;;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;AAAkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AACA;EACA;AAEA;EACA;AAEA;EACA","file":"dark.css"}
|
||||
299
internal/login/static/resources/themes/zitadel/css/light.css
Normal file
@@ -0,0 +1,299 @@
|
||||
@font-face {
|
||||
font-family: Aileron;
|
||||
src: url(../../../fonts/ailerons/ailerons.otf) format("opentype");
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Thin.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-ThinItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Light.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-LightItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Regular.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Italic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Bold.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BoldItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-Black.ttf) format("truetype");
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: Lato;
|
||||
src: url(../../../fonts/lato/Lato-BlackItalic.ttf) format("truetype");
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Material Icons";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url(../../../fonts/material/MaterialIcons-Regular.eot);
|
||||
/* For IE6-8 */
|
||||
src: local("Material Icons"), local("MaterialIcons-Regular"), url(../../../fonts/material/MaterialIcons-Regular.woff2) format("woff2"), url(../../../fonts/material/MaterialIcons-Regular.woff) format("woff"), url(../../../fonts/material/MaterialIcons-Regular.ttf) format("truetype");
|
||||
}
|
||||
*, *::before, *::after {
|
||||
box-sizing: border-box;
|
||||
font-family: Lato;
|
||||
font-size: 18px;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: #282828;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
h1 {
|
||||
color: #FFFFFF;
|
||||
font-family: Aileron;
|
||||
text-transform: uppercase;
|
||||
text-align: center;
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
p {
|
||||
font-width: 300;
|
||||
}
|
||||
|
||||
header {
|
||||
padding: 8px;
|
||||
}
|
||||
header .logo {
|
||||
background-image: url("../logo-dark.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
height: 80px;
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
.content {
|
||||
margin: auto;
|
||||
padding: 20px;
|
||||
width: 100%;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #364DF6;
|
||||
text-decoration: none;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
}
|
||||
a:hover {
|
||||
color: #6778f8;
|
||||
}
|
||||
|
||||
button {
|
||||
text-transform: uppercase;
|
||||
background-color: #282828;
|
||||
color: #364DF6;
|
||||
border: 2px solid #364DF6;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
height: 50px;
|
||||
transition: all 0.3s ease 0s;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #6778f8;
|
||||
border: 2px solid #6778f8;
|
||||
}
|
||||
button.primary {
|
||||
background-color: #364DF6;
|
||||
color: #FFFFFF;
|
||||
border: none;
|
||||
}
|
||||
button.primary:hover {
|
||||
background-color: #6778f8;
|
||||
}
|
||||
button > .sessionstate {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
input:not([type=radio]), select {
|
||||
background-color: #252525;
|
||||
color: #FFFFFF;
|
||||
height: 50px;
|
||||
border: 2px solid #595959;
|
||||
border-radius: 5px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
form .field {
|
||||
display: grid;
|
||||
padding: 10px 0;
|
||||
}
|
||||
form .field.radio-button {
|
||||
display: flex;
|
||||
}
|
||||
form .field.radio-button input[type=radio] {
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
form .field.radio-button label {
|
||||
height: 20px;
|
||||
display: inline-block;
|
||||
padding: 3px 0 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
form label {
|
||||
color: #898989;
|
||||
text-transform: uppercase;
|
||||
font-size: 0.9rem;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
form label span.optional {
|
||||
font-style: italic;
|
||||
text-transform: none;
|
||||
}
|
||||
form .actions {
|
||||
padding: 20px 0;
|
||||
}
|
||||
form .actions .right {
|
||||
float: right;
|
||||
}
|
||||
form .actions button, form .actions a {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
#copy-secret {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
#qrcode {
|
||||
text-align: center;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:white"] {
|
||||
fill: #282828 !important;
|
||||
}
|
||||
#qrcode svg rect[style*="fill:black"] {
|
||||
fill: #FFFFFF !important;
|
||||
}
|
||||
|
||||
#secret .copy {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
footer {
|
||||
background-image: url("../gradientdeco-full.svg");
|
||||
width: 100%;
|
||||
background-size: cover;
|
||||
height: 44vw;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.material-icons {
|
||||
font-family: "Material Icons";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
/* Preferred icon size */
|
||||
display: inline-block;
|
||||
line-height: 1;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
word-wrap: normal;
|
||||
white-space: nowrap;
|
||||
direction: ltr;
|
||||
/* Support for all WebKit browsers. */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
/* Support for Safari and Chrome. */
|
||||
text-rendering: optimizeLegibility;
|
||||
/* Support for Firefox. */
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
/* Support for IE. */
|
||||
font-feature-settings: "liga";
|
||||
}
|
||||
|
||||
html {
|
||||
background-color: #FFFFFF;
|
||||
color: #282828;
|
||||
}
|
||||
html header .logo {
|
||||
background-image: url("../logo-light.png");
|
||||
}
|
||||
html h1 {
|
||||
color: #282828;
|
||||
}
|
||||
html button {
|
||||
background-color: #FFFFFF;
|
||||
color: #364DF6;
|
||||
border: 2px solid #364DF6;
|
||||
}
|
||||
html button:hover {
|
||||
background-color: #6778f8;
|
||||
border: 2px solid #6778f8;
|
||||
}
|
||||
html button.primary {
|
||||
background-color: #364DF6;
|
||||
color: #FFFFFF;
|
||||
border: none;
|
||||
box-shadow: 0px 10px 30px #364DF6;
|
||||
}
|
||||
html button.primary:hover {
|
||||
background-color: #6778f8;
|
||||
}
|
||||
html input {
|
||||
background-color: #FFFFFF;
|
||||
color: #282828;
|
||||
}
|
||||
html #qrcode svg rect[style*="fill:white"] {
|
||||
fill: #FFFFFF !important;
|
||||
}
|
||||
html #qrcode svg rect[style*="fill:black"] {
|
||||
fill: #282828 !important;
|
||||
}
|
||||
html footer {
|
||||
background-image: url("../gradientdeco-full.svg");
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=light.css.map */
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../../scss/fonts.scss","../../scss/main.scss","../../scss/variables.scss","../../scss/light.scss"],"names":[],"mappings":"AACA;EACI;EACA;;AAIJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AAIJ;EACI;EACA;EACA;EACA;AAA6D;EAC7D;;AC5EJ;EACI;EACA,aCHW;EDIX;EACA;;;AAGJ;EACI;;;AAGJ;EACI,kBCLc;EDMd,OCLQ;;;ADQZ;EACI,OCTQ;EDUR,aClBS;EDmBT;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;;;AAIR;EACI;EACA;EACA;EACA;;;AAGJ;EACI,OCvCW;EDwCX;EACA;EACA;;AAEA;EACI,OC5CY;;;ADgDpB;EACI;EACA,kBCrDc;EDsDd,OCpDW;EDqDX;EACA;EACA;EACA;EACA,QC/DU;EDgEV;EACA;EACA;;AACA;EACI,kBC7DY;ED8DZ;;AAGJ;EACI,kBCnEO;EDoEP,OCrEI;EDsEJ;;AACA;EACI,kBCtEQ;;AD0EhB;EACI;;;AAIR;EACI,kBC7EmB;ED8EnB,OCnFQ;EDoFR,QCzFU;ED0FV;EACA;EACA;;;AAIA;EACI;EACA;;AAGJ;EACI;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;;AAIR;EACI,OC9GK;ED+GL;EACA;EACA;;AAEA;EACI;EACA;;AAIR;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKZ;EACI;EACA;;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAKJ;EACI;EACA;;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGJ;EACI;EACA;EACA;EACA;AAAkB;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AACA;EACA;AAEA;EACA;AAEA;EACA;;;AE1MJ;EACI,kBDQQ;ECPR,ODMc;;ACJd;EACI;;AAGJ;EACI,ODDU;;ACId;EACI,kBDJI;ECKJ,ODJO;ECKP;;AAEA;EACI,kBDGa;ECFb;;AAGJ;EACI,kBDbG;ECcH,ODfA;ECgBA;EACA;;AACA;EACI,kBDjBI;;ACsBhB;EACI,kBDzBI;EC0BJ,OD3BU;;AC+BV;EACI;;AAGJ;EACI;;AAIR;EACI","file":"light.css"}
|
||||
BIN
internal/login/static/resources/themes/zitadel/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 361 KiB |
BIN
internal/login/static/resources/themes/zitadel/logo-dark.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
internal/login/static/resources/themes/zitadel/logo-light.png
Normal file
|
After Width: | Height: | Size: 19 KiB |