// out: false // ========================================================================== // Login Page Styles // Optimized with LESS best practices // ========================================================================== // Mixins for common patterns .flex-center() { display: flex; align-items: center; justify-content: center; } .absolute-full() { position: absolute; top: 0; left: 0; height: 100vh; width: 100vw; } .icon-base() { font-family: 'argon' !important; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .login-page { display: flex; height: 100%; flex-direction: column; // Background video container .video { .absolute-full(); .flex-center(); background-color: var(--darker); overflow: hidden; video { width: 100%; height: auto; } } // Volume control button .volume-control { position: fixed; top: 1rem; right: 1rem; width: 1.5rem; height: 1.5rem; z-index: 5000; cursor: pointer; background: url(../img/volume_high.svg) no-repeat center/contain; &.mute { background-image: url(../img/volume_off.svg); } } // Main background image .main-bg { .absolute-full(); background: url(../img/blank.png) no-repeat center/cover; transition: all 0.5s ease; } // Login container .login-container { z-index: 10; margin-left: 5%; display: flex; height: 100vh; width: 26rem; flex-direction: column; background-color: var(--white); backdrop-filter: blur(var(--blur-radius)); background-color: rgba(244, 245, 247, var(--blur-opacity)); box-shadow: rgba(0, 0, 0, 0.75) 0 0 35px -5px; // Login form .login-form { .absolute-full(); display: flex; flex-direction: column; align-items: center; max-width: 26rem; // Brand/Logo section .brand { display: flex; align-items: center; justify-content: center; margin: 50px auto 100px 50px; color: var(--default); text-decoration: none; .icon { width: 50px; height: auto; margin-right: 25px; } .brand-text { margin-right: 45px; font-size: 1.25rem; font-weight: 700; font-family: "TypoGraphica"; word-break: break-word; } &:hover { text-decoration: none; } } // Form container .form-login { width: 100%; padding: 20px 50px; box-sizing: border-box; .errorbox { padding-bottom: 2rem; text-align: center; color: var(--warning); } // Input group styling .input-group { position: relative; margin-bottom: 1.25rem; // Icon styling &::before { .icon-base(); position: absolute; top: 10px; left: 10px; z-index: 100; font-size: 1.5rem; color: var(--default); } // Animated border .border { position: absolute; bottom: 0; width: 100%; height: 1px; border-bottom: 1px solid var(--primary); transform: scaleX(0); transition: transform 0.3s ease; } // Input field input { display: block; width: 100%; margin: 0.825rem 0; padding: 0.5rem 0.75rem 0.5rem 3rem; font-size: 1rem; line-height: 1.5em; color: var(--default); background-color: transparent; background-clip: padding-box; border: 0; border-bottom: 1px solid var(--white); border-radius: 0; outline: none; box-sizing: border-box; box-shadow: 0 3px 2px rgba(233, 236, 239, 0.05); transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); &:focus+.border { transform: scaleX(1); } } .cbi-input-password { position: relative; margin-bottom: 2rem; } // Icon content &.user-icon::before { content: "\e971"; } &.pass-icon::before { content: "\e910"; } } } // Submit button .cbi-button-apply { width: 100% !important; min-height: 50px; margin: 30px 0 100px; padding: 10px 0; font-size: 15px; font-weight: 600; color: var(--white); text-align: center; letter-spacing: 0.8rem; background-color: var(--primary) !important; border: none; border-radius: 6px; outline: none; cursor: pointer; box-shadow: rgba(0, 0, 0, 0.1) 0 0 50px 0; transition: all 0.3s ease !important; &:hover, &:focus { opacity: 0.9; } } } // Footer footer { position: absolute; bottom: 0; z-index: 10; display: flex; justify-content: space-evenly; width: 100%; margin-top: auto; padding: 0 0 30px; color: var(--gray); text-align: center; line-height: 1.6rem; font-size: 0.75rem; .ftc { position: absolute; bottom: 30px; width: 100%; } .luci-link { display: block; } } } }