@import "../css/webfonts.css"; @import "variables.scss"; //@import "~bootstrap/scss/bootstrap"; @import "~bootstrap/scss/_functions"; @import "~bootstrap/scss/_variables"; @import "~bootstrap/scss/_mixins"; @import "~bootstrap/scss/_root"; @import "~bootstrap/scss/_reboot"; @import "~bootstrap/scss/_type"; @import "~bootstrap/scss/_images"; @import "~bootstrap/scss/_code"; @import "~bootstrap/scss/_grid"; @import "~bootstrap/scss/_tables"; @import "~bootstrap/scss/_forms"; @import "~bootstrap/scss/_buttons"; @import "~bootstrap/scss/_transitions"; @import "~bootstrap/scss/_dropdown"; @import "~bootstrap/scss/_button-group"; @import "~bootstrap/scss/_input-group"; @import "~bootstrap/scss/_custom-forms"; @import "~bootstrap/scss/_nav"; @import "~bootstrap/scss/_navbar"; @import "~bootstrap/scss/_card"; @import "~bootstrap/scss/_breadcrumb"; @import "~bootstrap/scss/_pagination"; @import "~bootstrap/scss/_badge"; @import "~bootstrap/scss/_jumbotron"; @import "~bootstrap/scss/_alert"; @import "~bootstrap/scss/_progress"; @import "~bootstrap/scss/_media"; @import "~bootstrap/scss/_list-group"; @import "~bootstrap/scss/_close"; //@import "~bootstrap/scss/_toasts"; @import "~bootstrap/scss/_modal"; @import "~bootstrap/scss/_tooltip"; @import "~bootstrap/scss/_popover"; @import "~bootstrap/scss/_carousel"; @import "~bootstrap/scss/_spinners"; @import "~bootstrap/scss/_utilities"; @import "~bootstrap/scss/_print"; @import "./plugins"; html { font-size: 14px; } body { min-width: 1010px; @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } &.full-width:not(.layout_frontend) { .container { min-width: 980px; width: 90%; } } } .page-header, .secondary-header { border-bottom: 1px solid $border-color; padding-bottom: 0.6rem; margin-bottom: 0.5rem; h1, h2, h3, h4 { margin: 0; } } h1, h2, h3, h4, h5 { small { font-size: 80%; } @include themify($themes) { color: themed('textColor'); } } a { @include themify($themes) { color: themed('linkColor'); } } input, select, textarea { &:required { box-shadow: none; } } .text-body { @include themify($themes) { color: themed('textColor') !important; } } .bg-primary { @include themify($themes) { background-color: themed('bgPrimaryColor') !important; } } .bg-warning { @include themify($themes) { background-color: themed('warning') !important; } } .border-primary { @include themify($themes) { border-color: themed('borderPrimaryColor') !important; } } .border-warning { @include themify($themes) { border-color: themed('warning') !important; } } .secondary-header, .spaced-header { margin-top: 4rem; } .navbar { padding-left: 0; padding-right: 0; .dropdown-menu { min-width: 200px; max-width: 300px; @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } .dropdown-item { @include themify($themes) { color: themed('textColor'); } } .dropdown-item-text { line-height: 1.3; @include themify($themes) { color: themed('textColor'); } span, small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } } .nav-link { font-weight: 600; } } .navbar-brand { margin-top: -20px; margin-bottom: -20px; } .dropdown-menu { button { cursor: pointer; } } .container { width: 980px; max-width: none !important; margin: 0 auto; padding: 0; } .page-content { margin-top: 20px; } .footer { margin-top: 40px; padding: 40px 0 40px 0; border-top: 1px solid $border-color; } .list-group-item.active { font-weight: bold; padding-left: calc(#{$list-group-item-padding-x} - 3px); border-color: rgba(0,0,0,0.125); @include themify($themes) { border-left: 3px solid themed('borderPrimaryColor'); } } .text-muted { @include themify($themes) { color: themed('textMuted') !important; } } .card-header, .modal-header { font-weight: bold; text-transform: uppercase; @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } small { font-weight: normal; text-transform: none; @extend .text-muted; } } .card-body-header { font-size: $font-size-lg; @extend .mb-4 } .card ul.fa-ul.card-ul { margin-left: 1.9em; li { word-break: break-all; } .fa-li { top: 4px; } &.carets { margin-left: 1.1em; .fa-li { left: -17px; width: 1.1em; } } ul { &.carets { margin-left: 0.85em; } } } .card-org-plans { h2 { font-size: $font-size-lg; } } .modal-dialog { width: $modal-md; } .modal-sm { width: $modal-sm; } .modal-lg { width: $modal-lg; } .modal-body { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } h3, .section-header > * { font-weight: normal; text-transform: uppercase; @include themify($themes) { color: themed('textMuted'); } } } .modal .list-group-flush { :first-child { border-top: none; } :last-child { border-bottom: none; } } .modal-footer { justify-content: flex-start; @include border-radius($modal-content-border-radius); @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } } label:not(.form-check-label):not(.btn), label.bold { font-weight: 600; } input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: searchfield-cancel-button; } .btn-primary { @include themify($themes) { border-color: themed('buttonBorderColor'); background-color: themed('buttonBackgroundColor'); } &:hover { @include themify($themes) { border-color: themed('buttonBorderColorHover'); background-color: themed('buttonBackgroundColorHover'); } color: #FFFFFF; } } .btn[class*="btn-outline-"] { &:not(:hover):not(.btn-outline-danger):not(.dropdown-toggle) { @include themify($themes) { border-color: themed('buttonBorderColor'); background-color: themed('backgroundColor'); color: themed('buttonTextColor'); } } &:hover:not(.btn-outline-danger):not(.dropdown-toggle) { @include themify($themes) { border-color: themed('buttonBorderColorHover'); background-color: themed('buttonBackgroundColorHover'); color: #fff; } } } .btn-link { &:focus, &.focus { outline-color: -webkit-focus-ring-color; outline-offset: 1px; outline-style: auto; outline-width: 1px; } &:not(.text-danger):not(.cursor-move) { @include themify($themes) { border-color: themed('buttonBorderColor'); color: themed('buttonBackgroundColor'); } } @include themify($themes) { color: themed('buttonBackgroundColor'); } } .btn-outline-secondary { @include themify($themes) { color: themed('textMuted'); } &:hover:not(:disabled) { color: $body-color; } &:disabled { opacity: 1; } &:focus, &.focus { box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($primary), $primary, 15%), .5); } } .btn-submit { position: relative; .fa-spinner { position: absolute; display: none; align-items: center; justify-content: center; bottom: 0; top: 0; left: 0; right: 0; } &:disabled:not(.manual), &.loading { .fa-spinner { display: flex; } span { visibility: hidden; } } } .list-group-item { &:focus, &.focus { z-index: 100; } @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } } .fa-icon-above-input { height: 1.5em; } .table.table-list { @include themify($themes) { color: themed('textColor'); } thead th { border-top: none; } tr:first-child { td { border: none; } } td { vertical-align: middle; &.reduced-lh { line-height: 1; small { font-size: 80%; } } small, > .fa, .icon { @include themify($themes) { color: themed('textMuted'); } } } td.wrap { word-break: break-all; } td.table-list-options { width: 76px; max-width: 76px; text-align: right; height: 50px; &.wider { width: 100px; max-width: 100px; } .btn { line-height: 1; transition: initial; } .dropdown-menu { line-height: $line-height-base; } } tr:not(:hover) td.table-list-options { > .dropdown:not(.show) button:not(:focus):not(:active), > button:not(:focus):not(:active) { @extend .sr-only; } } td.table-list-icon { width: 45px; max-width: 45px; text-align: center; img { @extend .rounded; @extend .img-fluid; max-height: 24px; } } td.table-list-checkbox { width: 35px; max-width: 35px; } td.table-list-strike { @include themify($themes) { color: themed('textMuted'); } text-decoration: line-through; } } .table-hover tbody tr:hover { @include themify($themes) { color: themed('tableHover'); background-color: rgba(0, 0, 0, 0.03) } } .text-lg { font-size: $font-size-lg; } .text-strike { text-decoration: line-through; } .font-weight-semibold { font-weight: 600; } .password-wrapper { word-break: break-all; white-space: pre-wrap; min-width: 0; } .password-row { min-width: 0; } .password-number { @include themify($themes) { color: themed('pwNumber'); } } .password-special { @include themify($themes) { color: themed('pwSpecial'); } } .card { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); border-color: themed('borderColor'); } } .card-body { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } } .badge[class*="badge-"] { @include themify($themes) { color: #FFFFFF; background-color: themed('buttonBackgroundColor'); } } [class*="swal2-"] { &:not(.swal2-container) { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } } } .close { @include themify($themes) { color: themed('textColor'); } } .dropdown-menu, .dropdown-item { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } } app-vault-groupings, app-org-vault-groupings, .groupings { .card { #search { margin-bottom: 1rem; } h3 { font-weight: normal; text-transform: uppercase; @include themify($themes) { color: themed('textMuted'); } } ul:last-child { margin-bottom: 0; } .card-body a { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } &:hover { &.text-muted { @include themify($themes) { color: themed('iconHover') !important; } } } } .show-active { display: none; } li { > .fa, > div > .fa { cursor: pointer; } } li.active { > .show-active, > div .show-active { display: inline; } } li.active { > a:first-of-type, > div a:first-of-type { font-weight: bold; @include themify($themes) { color: themed('linkColor'); } } > .fa, > div > .fa { @include themify($themes) { color: themed('linkColor'); } } } } } app-password-generator { #lengthRange { width: 100%; } .card-password { .card-body { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; text-align: center; font-size: $font-size-lg; font-family: $font-family-monospace; } } } app-password-generator-history { .list-group-item { line-height: 1; .password { font-family: $font-family-monospace; } } } app-import { textarea { height: 150px; } } app-avatar { img { @extend .rounded; } } app-user-billing { .progress { height: 20px; .progress-bar { min-width: 50px; } } } #duo-frame { background: url('../images/loading.svg') 0 0 no-repeat; height: 330px; iframe { width: 100%; height: 100%; border: none; } } #web-authn-frame { @include themify($themes) { background: themed('imgLoading') 0 0 no-repeat; } height: 290px; iframe { width: 100%; height: 100%; border: none; } } #bt-dropin-container { /* @include themify($themes) { background: themed('imgLoading') 0 0 no-repeat; } */min-height: 50px; background: url('../images/loading-white.svg') 0 0 no-repeat; } .braintree-placeholder, .braintree-sheet__header { display: none; } .braintree-sheet__content--button { text-align: left; padding: 0; min-height: 0; } .braintree-sheet__container { margin-bottom: 0; } .braintree-sheet { border: none; } [data-braintree-id="upper-container"]::before { @include themify($themes) { background-color: themed('backgroundColor'); } } #totpImage { @include themify($themes) { filter: themed('imgFilter'); } } .totp { .totp-code { @extend .text-monospace; font-size: 1.2rem; } .totp-countdown { margin: 3px 3px 0 0; display: block; user-select: none; .totp-sec { font-size: 0.85em; position: absolute; line-height: 32px; width: 32px; text-align: center; } svg { width: 32px; height: 32px; transform: rotate(-90deg); } .totp-circle { fill: none; stroke: $primary; &.inner { stroke-width: 3; stroke-dasharray: 78.6; stroke-dashoffset: 0; } &.outer { stroke-width: 2; stroke-dasharray: 88; stroke-dashoffset: 0; } } } > .align-items-center { margin-bottom: -5px; } &.low { .totp-sec, .totp-code { color: $danger; } .totp-circle { stroke: $danger; } } } .callout { padding: $alert-padding-y $alert-padding-x; margin-bottom: $alert-margin-bottom; border: 1px solid $card-border-color; border-left-width: 5px; border-radius: $card-inner-border-radius; @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); } .callout-heading { margin-top: 0; } h3.callout-heading { font-weight: bold; text-transform: uppercase; } &.callout-primary { border-left-color: $primary; .callout-heading { color: $primary; } } &.callout-info { border-left-color: $gray-800; .callout-heading { color: $gray-800; } } &.callout-danger { border-left-color: $danger; .callout-heading { color: $danger; } } &.callout-success { border-left-color: $success; .callout-heading { color: $success; } } &.callout-warning { border-left-color: $warning; .callout-heading { color: $warning; } } } .list-group-2fa { .logo-2fa { min-width: 100px; } } .form-check-block { .form-check-label { font-weight: 600; > small { display: block; @include themify($themes) { color: themed('textMuted'); } font-weight: normal; } > span { display: block; font-weight: normal; @extend .mt-2; } } } .form-check-block + .form-check-block { &:not(.mt-2) { @extend .mt-3; } } .form-inline { input[type='datetime-local'] { width: 200px; } } .form-control { @include themify($themes) { color: themed('textColor'); background-color: themed('inputBackgroundColor'); border-color: themed('inputBorderColor'); } } input[type="radio"], input[type="checkbox"] { cursor: pointer; } .form-control.stripe-form-control { padding-top: 0.55rem; &.is-focused { color: $input-focus-color; background-color: $input-focus-bg; border-color: $input-focus-border-color; outline: 0; box-shadow: $input-focus-box-shadow; &.is-invalid { box-shadow: 0 0 0 $input-focus-width rgba($form-feedback-invalid-color, .25); } } &.is-invalid { border-color: $form-feedback-invalid-color; } } .org-nav { @include themify($themes) { color: themed('textColor'); background-color: themed('backgroundColor'); border-bottom: 1px solid themed('borderColor'); } height: 100px; min-height: 100px; .container { height: 100%; } .nav-tabs { border-bottom: none; a { @include themify($themes) { color: themed('textColor'); } &:not(.active) { border-color: transparent; } &.active { @include themify($themes) { border-top: 3px solid themed('primary'); } font-weight: bold; padding-top: calc(#{$nav-link-padding-y} - 2px); } &.disabled { color: $input-placeholder-color; } } } .org-name { line-height: 1; span { font-size: $font-size-lg; display: block; } } } .nav-tabs .nav-link.active { @include themify($themes) { background: themed('navActiveBackground'); border-color: themed('borderColor'); } } img.logo, .logo#loginLogo { width: 284px; height: 43px; margin: 0 auto; display: block; @include themify($themes) { background: themed('loginLogo') no-repeat center center; background-size: cover; } background: url("../images/logo-dark@2x.png") no-repeat center center; background-size: cover; } .min-height-fix { min-height: 1px; } .overflow-hidden { overflow: hidden; } .cdk-drag-preview { z-index: $zindex-tooltip !important; opacity: 0.8; /*background-color: $white;*/ border-radius: $border-radius; @include themify($themes) { background: themed('cdkDraggingBackground'); } } .cursor-move { cursor: move !important; } @import "./register-layout";