gitlab-org--gitlab-foss/app/assets/stylesheets/pages/login.scss

260 lines
4.8 KiB
SCSS

/* Login Page */
.login-page {
.container {
max-width: 960px;
}
.navbar-gitlab .container {
max-width: none;
}
.flash-container {
margin-bottom: $gl-padding;
}
.brand-holder {
font-size: 18px;
line-height: 1.5;
p {
font-size: 16px;
color: $login-brand-holder-color;
}
h3 {
font-size: 22px;
}
img {
max-width: 100%;
margin-bottom: 30px;
}
a {
font-weight: $gl-font-weight-bold;
}
}
p {
font-size: 13px;
}
.login-box,
.omniauth-container {
box-shadow: 0 0 0 1px $border-color;
border-radius: $border-radius;
padding: 15px;
.login-heading h3 {
font-weight: $gl-font-weight-normal;
line-height: 1.5;
margin: 0 0 10px;
}
.login-footer {
margin-top: 10px;
p:last-child {
margin-bottom: 0;
}
}
a.forgot {
float: right;
padding-top: 6px;
}
.nav .active a {
background: transparent;
}
// Styles the glowing border of focused input for username async validation
.login-body {
font-size: 13px;
input + p,
input ~ p.field-validation {
margin-top: 5px;
}
.username .validation-success {
color: $green-600;
}
.username .validation-error {
color: $red-500;
}
}
}
.omniauth-container {
border-radius: $border-radius;
font-size: 13px;
p {
margin: 0;
}
form {
width: 48%;
padding: 0;
border: 0;
background: none;
margin-bottom: $gl-padding;
@include media-breakpoint-down(md) {
width: 100%;
}
}
.omniauth-btn {
width: 100%;
padding: $gl-padding-8;
img {
width: $default-icon-size;
height: $default-icon-size;
margin-right: $gl-padding;
}
}
}
.new-session-tabs {
display: flex;
box-shadow: 0 0 0 1px $border-color;
border-top-right-radius: $border-radius-default;
border-top-left-radius: $border-radius-default;
// Ldap configurations may need more tabs & the tab labels are user generated (arbitrarily long).
// These styles prevent this from breaking the layout, and only applied when providers are configured.
&.custom-provider-tabs {
flex-wrap: wrap;
li {
min-width: 85px;
flex-basis: auto;
// This styles tab elements that have wrapped to a second line. We cannot easily predict when this will happen.
// We are making somewhat of an assumption about the configuration here: that users do not have more than
// 3 LDAP servers configured (in addition to standard login) and they are not using especially long names for any
// of them. If either condition is false, this will work as expected. If both are true, there may be a missing border
// above one of the bottom row elements. If you know a better way, please implement it!
&:nth-child(n+5) {
border-top: 1px solid $border-color;
}
}
a {
font-size: 16px;
}
}
li {
flex: 1;
text-align: center;
border-left: 1px solid $border-color;
&:first-of-type {
border-left: 0;
border-top-left-radius: $border-radius-default;
}
&:last-of-type {
border-top-right-radius: $border-radius-default;
}
&:not(.active) {
background-color: $gray-light;
}
a {
width: 100%;
font-size: 18px;
}
&.active > a {
cursor: default;
}
}
}
.form-control {
&:active,
&:focus {
background-color: $white;
}
}
.submit-container {
margin-top: 16px;
}
input[type='submit'] {
@extend .btn-block;
margin-bottom: 0;
}
.devise-errors {
h2 {
margin-top: 0;
font-size: 14px;
color: $red-700;
}
}
}
@include media-breakpoint-down(xs) {
.login-page {
.col-md-5.float-right {
float: none !important;
margin-bottom: 45px;
}
}
}
.devise-layout-html {
margin: 0;
padding: 0;
height: 100%;
// Fixes footer container to bottom of viewport
body {
// offset height of fixed header + 1 to avoid scroll
height: calc(100% - 51px);
// offset without the header
&.navless {
height: calc(100% - 11px);
}
margin: 0;
padding: 0;
.page-wrap {
min-height: 100%;
position: relative;
}
.footer-container,
hr.footer-fixed {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 40px;
background: $white;
}
.login-page-broadcast {
margin-top: 40px;
}
.navless-container {
padding: 65px 15px; // height of footer + bottom padding of email confirmation link
@include media-breakpoint-down(xs) {
padding: 0 15px 65px;
}
}
}
}