@use './bootstrap/init' as bs; @mixin variable-font-size($basesize) { font-size: $basesize * 0.6; @include bs.media-breakpoint-only(sm) { font-size: #{$basesize * 0.7}; } @include bs.media-breakpoint-only(md) { font-size: #{$basesize * 0.8}; } @include bs.media-breakpoint-only(lg) { font-size: #{$basesize * 0.9}; } @include bs.media-breakpoint-up(xl) { font-size: $basesize; } } @mixin expand-editor($editor-margin-top) { $header-plus-footer: $editor-margin-top + $grw-editor-navbar-bottom-height; $editor-margin: $header-plus-footer // + 25px // add .btn-open-dropzone height + 30px; // add .navbar-editor height .main { width: 100%; height: calc(100vh - #{$editor-margin-top}); margin-top: 0px !important; .grw-container-convertible { max-width: unset; padding: 0; margin: 0; } &, .content-main, .tab-content { display: flex; flex: 1; flex-direction: column; .tab-pane { height: calc(100vh - #{$header-plus-footer}); min-height: calc(100vh - #{$header-plus-footer}); // for IE11 } #page-editor { // right(preview) &, & > .row, .page-editor-preview-container, .page-editor-preview-body { height: calc(100vh - #{$header-plus-footer}); min-height: calc(100vh - #{$header-plus-footer}); // for IE11 } // left(editor) .page-editor-editor-container { height: calc(100vh - #{$header-plus-footer}); min-height: calc(100vh - #{$header-plus-footer}); // for IE11 .react-codemirror2, .CodeMirror, .CodeMirror-scroll, .textarea-editor { height: calc(100vh - #{$editor-margin}); } } } #page-editor-with-hackmd { &, .hackmd-preinit, .hackmd-error, #iframe-hackmd-container > iframe { width: 100%; height: calc(100vh - #{$header-plus-footer}); min-height: calc(100vh - #{$header-plus-footer}); // for IE11 } } } } } @mixin apply-navigation-transition() { transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1); transition-duration: 300ms; } @mixin border-vertical($beforeOrAfter, $borderLength, $zIndex: initial, $isBtnGroup: false) { position: relative; @if $isBtnGroup { &:not(:first-child) { margin-left: 0; border-left: none; } &:not(:last-child) { border-right: none; } } &:not(:first-child) { &::#{$beforeOrAfter} { position: absolute; top: calc((100% - #{$borderLength}) / 2); left: 0; z-index: $zIndex; width: 100%; height: $borderLength; margin-left: -0.5px; content: ''; border-left: 1px solid transparent; transition: border-color 0.15s ease-in-out; } } } @keyframes fadeout { 100% { opacity: 0; } } @mixin blink-bgcolor($bgcolor) { position: relative; z-index: 1; &::after { position: absolute; top: 15%; left: 0; z-index: -1; width: 100%; height: 70%; content: ''; background-color: $bgcolor; border-radius: 2px; animation: fadeout 1s ease-in 1.5s forwards; } } @mixin overlay-processing-style($additionalSelector, $contentFontSize: inherit, $contentPadding: inherit) { .overlay.#{$additionalSelector} { background: rgba(255, 255, 255, 0.5); .overlay-content { padding: $contentPadding; font-size: $contentFontSize; color: bs.$gray-700; background: rgba(200, 200, 200, 0.5); } } } @mixin insertSimpleLineIcons($code) { &:before { margin-right: 0.2em; font-family: 'simple-line-icons'; content: $code; } } @mixin grw-skeleton-text($font-size, $line-height) { height: $line-height; padding: (($line-height - $font-size) / 2) 0; } /* .example { @include grw-skeleton-text($font-size:$size, $line-height:$height); max-width: 100%; } */ // values from './bootstrap/override' @mixin grw-skeleton-h3 { @include grw-skeleton-text(21px, 30px); } @mixin grw-skeleton-h5 { @include grw-skeleton-text(16px, 18px); }