keycloak-theme/common/resources/css/index.css

451 lines
11 KiB
CSS

* {
box-sizing: border-box; }
html {
--accent: #ed1c24;
--foreground: #000;
--foreground-lighter-1: rgba(0, 0, 0, 0.7);
--foreground-lighter-2: rgba(0, 0, 0, 0.3);
--background: #fff;
--background-darker-1: #f5f5f5;
--background-darker-2: #eeeeee;
font-family: 'Open Sans', Arial, sans-serif;
font-weight: 800;
background: var(--background);
color: var(--foreground);
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
box-sizing: border-box;
width: 100vw;
height: 100vh;
margin: 0;
font-size: 20px; }
*:focus-visible {
outline: 0.2rem solid var(--accent); }
.ps-container {
display: flex;
flex-direction: column;
align-items: stretch; }
.ps-container > * {
margin: 0;
margin-bottom: 1.25rem; }
.ps-link {
cursor: pointer;
color: var(--accent);
border-bottom: 1px solid transparent;
transition: border-bottom 0.1s ease;
text-decoration: none; }
.ps-link:hover {
border-bottom: 4px solid var(--accent); }
.ps-card {
background-color: var(--background);
display: flex;
flex-direction: column;
border: 1rem solid var(--foreground); }
.ps-card--header {
padding: 2rem; }
.ps-card--title {
margin: 0;
padding: 0; }
.ps-card--body {
padding: 0rem 2rem; }
.ps-button {
padding: 0.5rem 1rem;
font-size: 1rem;
line-height: 1.2rem;
border: 2px solid var(--foreground);
border-radius: 1.5rem;
background-color: var(--background-darker-2);
cursor: pointer; }
.ps-button:hover, .ps-button:focus {
border-color: var(--accent); }
.ps-button_primary {
border: 4px solid var(--foreground);
background-color: var(--background);
color: var(--foreground);
font-weight: bold; }
.ps-button_primary:focus, .ps-button_primary:hover {
background-color: var(--foreground);
color: var(--background); }
.ps-input {
padding: 0.5rem 0.5rem;
border: 2px solid var(--foreground-lighter-1);
font-size: 1.2rem; }
.ps-input:hover, .ps-input:focus {
border-color: var(--accent); }
.ps-input:focus {
color: var(--background);
background-color: var(--foreground); }
.ps-input:disabled {
background-color: var(--background-darker-2); }
.ps-input:disabled:hover {
border-color: var(--foreground-lighter-1); }
.ps-table {
overflow: auto;
border-collapse: collapse;
margin-left: -0.25rem;
width: calc(100% + 0.25rem); }
.ps-table td, .ps-table th {
padding: 0.1rem 0.25rem; }
.ps-table tr {
border: 0;
border-left: 0.25rem solid transparent; }
.ps-table tr:nth-child(2n) {
background-color: var(--background-darker-1);
border-left: 0.25rem solid var(--background-darker-1); }
.ps-table tr:hover {
background-color: var(--background-darker-2);
border-color: var(--accent); }
.ps-table thead tr {
border-bottom: 4px solid var(--foreground-lighter-1);
font-weight: bold;
text-align: center; }
.ps-table thead td, .ps-table th {
padding: 0.1rem 0.5rem; }
.ps-form-group {
display: flex;
flex-direction: column; }
.ps-form-group--label {
margin-bottom: 0.5rem;
display: flex;
font-weight: bold; }
.ps-form-group .ps-button {
align-self: flex-start; }
.ps-form-group--error {
margin-top: 0.25rem;
color: var(--accent);
font-weight: bold; }
.ps-homelink {
position: fixed;
top: 0;
left: 0;
z-index: 100;
pointer-events: all;
color: var(--foreground);
background: white;
text-decoration: none;
text-align: center;
font-weight: 900;
font-size: 24px;
padding: 8px;
line-height: 1em;
text-shadow: 0.15vw 0px 0px white;
transition: text-shadow 0.1s ease;
border: 12px solid black;
border-top: 0;
border-left: 0; }
.ps-homelink:hover {
text-shadow: 0.3vw 0px 0px var(--accent); }
@media screen and (min-width: 1200px) {
.ps-homelink {
font-size: 32px;
padding: 12px; } }
.ps-i18n-links {
position: fixed;
top: 0;
right: 0;
z-index: 100;
display: flex;
margin: 0; }
.ps-i18n-links--item {
display: flex; }
.ps-i18n-links--link {
pointer-events: all;
color: var(--foreground);
background: white;
text-decoration: none;
text-align: center;
font-weight: 900;
font-size: 24px;
padding: 8px;
line-height: 1em;
text-shadow: 0.15vw 0px 0px var(--background);
transition: text-shadow 0.1s ease;
border: 12px solid var(--foreground);
border-top: 0;
border-right: 0; }
.ps-i18n-links--link:hover {
text-shadow: 0.3vw 0px 0px var(--accent); }
@media screen and (min-width: 1200px) {
.ps-i18n-links--link {
font-size: 32px;
padding: 12px; } }
.ps-i18n-links--link_active {
background-color: var(--foreground);
color: var(--background);
text-shadow: 0.15vw 0px 0px var(--foreground); }
.ps-main {
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: space-between;
height: 100vh;
width: 100vw;
margin: 0;
padding-top: 10vw;
padding-bottom: 2vw;
overflow: auto;
position: relative; }
.ps-main--background {
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
overflow: hidden; }
.ps-main--page {
z-index: 1; }
.ps-main_full {
padding: 0; }
.ps-header {
display: flex;
padding: 0;
margin: 0; }
.ps-header--title {
font-size: 1.5rem;
padding: 0 1rem;
margin: 0;
border-bottom: 0.5rem solid var(--foreground);
background-color: var(--background);
border-right: 0.5rem solid var(--foreground);
pointer-events: all; }
.ps-header--nav {
margin-left: auto;
display: flex;
border-bottom: 0.5rem solid var(--foreground);
border-left: 0.5rem solid var(--foreground);
background-color: var(--background);
padding-left: 1rem;
pointer-events: all; }
.ps-header--nav-list {
display: flex;
justify-content: flex-end;
align-items: center;
list-style: none;
margin: 0;
padding: 0; }
.ps-header--nav-item {
margin: 0;
margin-right: 1rem; }
.ps-header--nav-item-action {
color: var(--foreground);
text-decoration: none; }
.ps-header--nav-item-action:hover {
color: var(--accent); }
.ps-page {
display: flex;
width: 100vw;
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding: 0;
pointer-events: none; }
@media screen and (min-width: 1200px) {
.ps-page {
padding: 1vw;
flex-direction: row;
align-items: flex-start; } }
.ps-page_home {
flex-direction: row;
flex-wrap: wrap; }
.ps-page--header {
width: 100%;
top: 0;
left: 0;
right: 0;
height: auto;
position: fixed; }
.ps-page--title {
font-size: 2rem;
border-bottom: 0.5rem solid var(--foreground);
padding-bottom: 0.5rem;
margin: 2rem; }
.ps-page--section {
border: 12px solid black;
margin-top: 2rem;
margin-bottom: 2rem;
max-width: 700px;
flex-basis: 100%;
flex-shrink: 1;
pointer-events: all;
color: var(--foreground);
background: var(--background);
overflow-wrap: break-word;
hyphens: auto;
pointer-events: all; }
@media screen and (min-width: 1200px) {
.ps-page--section {
margin: 1vw; } }
.ps-page--section_home {
padding: 5vw; }
.ps-page--section_full {
max-width: unset;
width: calc(100% - 8rem);
margin: 4rem; }
.ps-page--section a {
color: var(--accent);
border-bottom: 1px solid transparent;
transition: border-bottom 0.1s ease;
text-decoration: none; }
.ps-page--section a:hover {
border-bottom: 4px solid var(--accent); }
.ps-page--section img {
width: 230px;
margin-top: 1rem; }
.ps-page--section-link {
position: sticky;
top: 0;
background-color: var(--background);
padding: 1rem;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: right;
padding-left: 132px; }
@media screen and (min-width: 1200px) {
.ps-page--section-link {
display: none;
border-bottom: 0; } }
.ps-page--section-link-icon {
margin-left: 8px; }
.ps-page--section-contents {
margin: 2rem;
margin-bottom: 0;
font-weight: 500;
line-height: 1.4; }
.ps-page--section-contents:last-child {
margin-bottom: 5vw; }
.ps-page--section-contents pre,
.ps-page--section-contents code {
background-color: var(--background-darker-2);
border-radius: 4px;
padding: 4px; }
.ps-page--section-contents pre {
border: 1px solid var(--foreground-lighter-2); }
.ps-page--section-contents > * {
margin-bottom: 0;
margin-top: 0.5rem; }
.ps-page--section-contents > .ps-table {
margin-top: 1rem; }
.ps-page--section-contents > .ps-table + * {
margin-top: 1rem; }
.ps-page--section-contents > h2, .ps-page--section-contents h3, .ps-page--section-contents h4 {
margin-top: 1.5rem;
line-height: 1.5; }
.ps-section-nav {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
position: sticky;
top: 0;
left: 0;
width: 100%;
background-color: var(--background);
border-bottom: 2px solid var(--foreground); }
.ps-section-nav--list {
list-style: none;
display: flex;
position: sticky;
margin: 0 -0.5rem; }
.ps-section-nav--link {
display: flex; }
.ps-section-nav--link a {
padding: 1rem 0.5rem; }
.ps-section-nav--link_active a {
color: var(--foreground);
border-bottom: 4px solid var(--foreground); }
.ps-section-nav--link_active a:hover {
border-color: var(--foreground); }
.ps-logo {
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
width: 100px; }
.ps-logo--base {
animation-name: rotate;
animation-duration: 0.3s;
animation-timing-function: linear;
animation-play-state: paused;
animation-iteration-count: infinite; }
.ps-logo--base:hover {
animation-play-state: running; }
.ps-logo:nth-child(2n) .ps-logo--base {
animation-delay: -0.1s; }
.ps-logo:nth-child(3n) .ps-logo--base {
animation-delay: -0.3s; }
.ps-logo:nth-child(5n) .ps-logo--base {
animation-delay: -0.5s; }
.ps-logo:nth-child(7n) .ps-logo--base {
animation-delay: -7s; }
.ps-logo:nth-child(11n) .ps-logo--base {
animation-delay: -0.9s; }
.ps-logo:nth-child(13n) .ps-logo--base {
animation-delay: -1s; }
.ps-logo--base::before {
position: absolute;
display: block;
content: '';
width: 100%;
height: 100%;
border-radius: 50%; }
@keyframes rotate {
0% {
transform: rotate(0deg); }
100% {
transform: rotate(360deg); } }
.ps-background {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
speak: none; }
.ps-background--logo {
width: 100px;
margin: 0.1rem; }
.ps-background--1312 {
transform: rotate(34deg);
transform-origin: center center;
color: #eee;
position: fixed;
z-index: 1;
top: -50vh;
left: -50vw;
font-weight: 900;
font-size: 7rem;
line-height: 6rem;
width: 200vw;
height: 200vh; }
.ps-footer {
display: flex;
margin-top: auto;
z-index: 1; }
.ps-footer--link:hover {
text-shadow: 0.2vw 0px 0px var(--accent); }
@media screen and (min-width: 700px) {
.ps-footer--link {
font-size: 4rem; } }
@media screen and (min-width: 1000px) {
.ps-footer--link {
font-size: 2rem; } }