froala-editor
Version:
The next generation Javascript WYSIWYG HTML rich text editor made by devs for devs. High performance and modern design make it easy to use for developers and loved by users.
1,228 lines (1,199 loc) • 232 kB
CSS
/*!
* froala_editor v5.3.0 (https://www.froala.com/wysiwyg-editor)
* License https://froala.com/wysiwyg-editor/terms/
* Copyright 2014-2026 Froala Labs
*/
@charset "UTF-8";
.fr-clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-ai-assist-prompt-popup {
width: 94%;
justify-self: center;
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25); }
.fr-ai-assist-prompt-popup .fr-ai-assist-close-btn {
position: absolute;
left: -13px;
top: -13px;
border-radius: 20px;
background: #FFF;
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.25);
display: flex;
width: 30px;
height: 30px;
justify-content: center; }
.fr-ai-assist-prompt-popup .fr-ai-assist-close-btn > button.fr-command.fr-btn {
height: 30px;
margin: 0;
padding: 0;
background: transparent; }
.fr-ai-assist-prompt-popup .fr-ai-assist-close-btn > button.fr-command.fr-btn .fr-svg {
margin: 3px; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist {
display: inline; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner {
margin: 0 20px; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-error-layer {
display: none;
background-color: #f8d7da;
border: 1px solid #f5c6cb;
border-radius: 4px;
color: #721c24;
padding: 8px 12px;
margin-bottom: 8px;
font-size: 13px;
line-height: 1.4; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-error-layer:not(:empty) {
display: block; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-error-layer:before {
content: "⚠ ";
font-weight: bold; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-error-layer {
transition: all 0.2s ease-in-out;
opacity: 1; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-error-layer:empty {
opacity: 0;
height: 0;
padding: 0;
margin: 0;
border: none; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer {
display: flex;
padding: 12px 12px 12px 16px;
flex-direction: column;
justify-content: center;
gap: 10px;
border-radius: 4px;
border: 1px solid #ECECEC;
margin-bottom: 10px; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer.fr-hidden {
display: none; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer .fr-action-buttons {
display: flex;
align-items: center;
z-index: 4; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer .fr-action-buttons .fr-submit {
border: 1px solid #0098f7; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer .fr-action-buttons .fr-response-refresh {
margin-left: 10px; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer .fr-action-buttons .fr-ai-assist-label {
margin-left: auto;
color: #999999;
font-family: Arial;
font-size: 14px; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-response-layer .fr-ai-assist-response-content {
max-height: 200px;
min-height: 90px;
overflow: auto;
user-select: text; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer {
display: flex;
align-items: center;
height: 55px;
border-radius: 4px;
border: 1px solid #999999;
padding: 0 10px;
/* loader wrapper */ }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-prompt-input {
width: 100%;
border: none;
border-radius: 4px;
font-family: Arial;
font-size: 16px;
background: transparent;
color: #222222; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-buttons {
position: relative; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-buttons button[data-cmd="aiShortCuts"] .fr-svg path {
fill: #0098f7; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-buttons button[data-cmd="aiShortCuts"][aria-expanded="true"]:after {
border-top: 0;
border-bottom: 4px solid #0098f7; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-buttons button[data-cmd="aiShortCuts"][aria-expanded="false"]:after {
border-bottom: 0;
border-top: 4px solid #0098f7; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-buttons button[data-cmd="aiShortCuts"]::after {
border-left: 4px solid transparent;
border-right: 4px solid transparent; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn {
width: 40px;
height: 40px;
border-radius: 4px;
display: flex;
padding: 8px;
align-items: center;
gap: 10px;
outline: none;
border: none;
cursor: pointer; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn .fr-svg {
stroke: #FFF; }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .loader {
display: inline-flex;
gap: 4px;
align-items: center;
padding: 6px;
user-select: none;
-webkit-tap-highlight-color: transparent;
flex: 1;
/* each dot */
/* a subtle translate for a bit of motion (optional) */
/* accessibility: stop animations for users who prefer reduced motion */ }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .loader .dot {
--i: 0;
/* to be set inline for each dot */
width: 8px;
height: 8px;
border-radius: 999px;
background: #5fb7ff;
box-shadow: 0 0 0 3px rgba(95, 183, 255, 0.15) inset;
transform-origin: center;
opacity: 0;
transform: scale(0.28);
/* animation: each dot runs the same keyframes but starts later */
animation: pop calc(0.55s + 0.20s * (4)) linear infinite;
animation-delay: calc(var(--i) * 0.18s); }
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .loader .dot::after {
content: "";
position: absolute;
pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
.fr-ai-assist-prompt-popup .fr-layer.fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .loader .dot {
animation: none;
opacity: 1;
transform: scale(1); } }
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn {
background-color: #999999;
cursor: not-allowed; }
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .loader {
display: none; }
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer:not(.fr-not-disabled) .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-ai-shortcuts-label,
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer:not(.fr-not-disabled) .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-sr-only {
color: #808080; }
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer.fr-not-disabled .fr-command.fr-btn + .fr-ai-shortcuts-dropdown {
width: 200px; }
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer.fr-not-disabled .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-dropdown-wrapper {
width: 100%; }
.fr-ai-assist-prompt-popup[data-state="disabled"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer.fr-not-disabled .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-ai-shortcuts-label {
display: none; }
.fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn {
background-color: #0098f7; }
.fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn:hover, .fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn:focus, .fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn:active {
background-color: #007acc; }
.fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .loader {
display: none; }
.fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-command.fr-btn + .fr-ai-shortcuts-dropdown {
width: 200px; }
.fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-dropdown-wrapper {
width: 100%; }
.fr-ai-assist-prompt-popup[data-state="active"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-ai-shortcuts-label {
display: none; }
.fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn {
background-color: #D9D9D9;
padding: 12px; }
.fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn .fr-svg {
background-color: #000;
stroke: #000;
margin: 0px;
border-radius: 2px;
width: 100%;
height: 100%; }
.fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn.fr-blink, .fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn:hover, .fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn:focus, .fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-submit-btn.fr-selected {
background-color: #a6a6a6; }
.fr-ai-assist-prompt-popup[data-state="progress"] .fr-ai-assist .fr-ai-assist-prompt-inner .fr-ai-assist-prompt-layer .fr-ai-assist-prompt-input {
display: none; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown[aria-hidden="true"] {
overflow: hidden; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown[aria-hidden="false"] {
overflow: visible; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown:not(.fr-not-disabled) .fr-ai-shortcuts-label {
color: #808080; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown.fr-not-disabled {
width: 200px; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown.fr-not-disabled .fr-dropdown-wrapper {
width: 100%; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown.fr-not-disabled .fr-ai-shortcuts-label {
display: none; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-btn.fr-dropdown {
display: flex;
align-items: center;
width: -webkit-fill-available; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-btn.fr-dropdown .fr-svg {
margin-left: 11px; }
.fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-btn.fr-dropdown .fr-sr-only {
display: contents;
font-weight: 400; }
.fr-ai-assist-prompt-popup .fr-command.fr-btn + .fr-ai-shortcuts-dropdown .fr-btn.fr-dropdown::after {
border: 0;
content: "";
position: absolute;
width: 15px;
height: 11px;
top: 15px;
background-size: contain;
background-repeat: no-repeat;
background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDYgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjUgMC41MDAwNThMNC44NDY2NyA0Ljg0NjczQzUuMzYgNS4zNjAwNiA1LjM2IDYuMjAwMDYgNC44NDY2NyA2LjcxMzM5TDAuNSAxMS4wNjAxIiBzdHJva2U9IiM4MDgwODAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo="); }
.fr-toolbar .fr-ai-shortcuts-dropdown .fr-dropdown-wrapper .fr-command.fr-btn.fr-dropdown::after {
border: 0;
content: "";
position: absolute;
width: 15px;
height: 11px;
top: 15px;
background-size: contain;
background-repeat: no-repeat;
background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDYgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik0wLjUgMC41MDAwNThMNC44NDY2NyA0Ljg0NjczQzUuMzYgNS4zNjAwNiA1LjM2IDYuMjAwMDYgNC44NDY2NyA2LjcxMzM5TDAuNSAxMS4wNjAxIiBzdHJva2U9IiM4MDgwODAiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo="); }
.fr-toolbar {
/* active shortcut */ }
.fr-toolbar .fr-command.fr-btn.fr-shortcut-active {
fill: #333333;
background: #d6d6d6; }
.fr-toolbar .fr-command.fr-btn.fr-shortcut-active:after {
border-top: 0;
border-bottom: 4px solid #222222; }
.fr-toolbar .fr-btn.fr-btn-active-popup[data-cmd="aiAssist"] {
background: transparent; }
.fr-popup .fr-terms-conditions-layer code {
user-select: text; }
/* pop keyframes
- small -> big (appear)
- hold a little
- shrink & fade out (so the next dot appears next)
*/
/* Safari */
@-webkit-keyframes pop {
0% {
-webkit-transform: scale(0.28);
-moz-transform: scale(0.28);
-ms-transform: scale(0.28);
-o-transform: scale(0.28);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
12% {
-webkit-transform: scale(1.06);
-moz-transform: scale(1.06);
-ms-transform: scale(1.06);
-o-transform: scale(1.06);
-webkit-opacity: 1;
-moz-opacity: 1;
opacity: 1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* peak */
30% {
-webkit-transform: scale(0.9);
-moz-transform: scale(0.9);
-ms-transform: scale(0.9);
-o-transform: scale(0.9);
-webkit-opacity: 0.95;
-moz-opacity: 0.95;
opacity: 0.95;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* settle */
48% {
-webkit-transform: scale(0.38);
-moz-transform: scale(0.38);
-ms-transform: scale(0.38);
-o-transform: scale(0.38);
-webkit-opacity: 0.25;
-moz-opacity: 0.25;
opacity: 0.25;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* shrinking */
60% {
-webkit-transform: scale(0.28);
-moz-transform: scale(0.28);
-ms-transform: scale(0.28);
-o-transform: scale(0.28);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* gone */
100% {
-webkit-transform: scale(0.28);
-moz-transform: scale(0.28);
-ms-transform: scale(0.28);
-o-transform: scale(0.28);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }
@keyframes pop {
0% {
-webkit-transform: scale(0.28);
-moz-transform: scale(0.28);
-ms-transform: scale(0.28);
-o-transform: scale(0.28);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
12% {
-webkit-transform: scale(1.06);
-moz-transform: scale(1.06);
-ms-transform: scale(1.06);
-o-transform: scale(1.06);
-webkit-opacity: 1;
-moz-opacity: 1;
opacity: 1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* peak */
30% {
-webkit-transform: scale(0.9);
-moz-transform: scale(0.9);
-ms-transform: scale(0.9);
-o-transform: scale(0.9);
-webkit-opacity: 0.95;
-moz-opacity: 0.95;
opacity: 0.95;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* settle */
48% {
-webkit-transform: scale(0.38);
-moz-transform: scale(0.38);
-ms-transform: scale(0.38);
-o-transform: scale(0.38);
-webkit-opacity: 0.25;
-moz-opacity: 0.25;
opacity: 0.25;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* shrinking */
60% {
-webkit-transform: scale(0.28);
-moz-transform: scale(0.28);
-ms-transform: scale(0.28);
-o-transform: scale(0.28);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
/* gone */
100% {
-webkit-transform: scale(0.28);
-moz-transform: scale(0.28);
-ms-transform: scale(0.28);
-o-transform: scale(0.28);
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }
.fr-clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-box .fr-counter {
padding: 10px;
float: right;
color: #999999;
content: attr(data-chars);
font-size: 14px;
font-family: sans-serif;
z-index: 1;
border-radius: 2px 0 0 0;
-moz-border-radius: 2px 0 0 0;
-webkit-border-radius: 2px 0 0 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box; }
.fr-box.fr-rtl .fr-counter {
left: 0;
right: auto;
border-left: none;
border-radius: 0 2px 0 0;
-moz-border-radius: 0 2px 0 0;
-webkit-border-radius: 0 2px 0 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box; }
.fr-box.fr-code-view .fr-counter {
display: none; }
.fr-clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-code-snippet-layer.fr-modal-wrapper .fr-modal-head {
border-bottom: unset; }
.fr-code-snippet-layer .fr-code-snippet-header {
display: flex;
line-height: 60px;
margin-left: 10px;
color: #222222; }
.fr-code-snippet-layer .fr-code-snippet-header .fr-align-right .fr-btn {
height: 24px;
width: 24px;
margin: 0; }
.fr-code-snippet-layer .fr-code-snippet-header .fr-align-right .fr-btn .fr-svg {
margin: 0; }
.fr-code-snippet-layer .fr-active.fr-layer {
margin: 0 16px;
display: flex;
flex-direction: column; }
.fr-code-snippet-layer .fr-active.fr-layer .fr-code-snippet-lang.fr-toolbar {
border: none;
background-color: transparent; }
.fr-code-snippet-layer .fr-active.fr-layer .fr-code-snippet-lang.fr-toolbar button.fr-command.fr-btn {
outline: solid 1px #999999;
color: #222222;
width: 250px; }
.fr-code-snippet-layer .fr-active.fr-layer .fr-code-snippet-lang.fr-toolbar .fr-dropdown-content {
width: 250px; }
.fr-code-snippet-layer .fr-active.fr-layer pre {
position: relative;
border-radius: 3px;
font-family: "Fira Code", monospace;
font-size: 14px;
height: 330px;
margin: 16px 0; }
.fr-code-snippet-layer .fr-active.fr-layer pre code {
outline: none;
display: block;
width: 100%;
height: 100%; }
.fr-code-snippet-layer .fr-active.fr-layer .fr-float-right {
align-self: flex-end; }
.fr-code-snippet-layer .fr-active.fr-layer .fr-float-right .fr-enable-accessibility.submit {
margin-left: unset;
border: 1px solid #0098F7; }
/* Froala code block styling */
.fr-view .fr-code-snippet {
margin: 1em 0;
border-radius: 4px;
overflow: hidden;
font-size: 0;
margin-bottom: 14px; }
.fr-view .fr-code-snippet .fr-code-header {
display: flex;
justify-content: space-between;
align-items: center;
background: #ECECEC;
padding: 10px 16px;
color: #000;
font-size: 14px; }
.fr-view .fr-code-snippet .fr-code-header .fr-code-actions {
display: flex;
gap: 8px; }
.fr-view .fr-code-snippet .fr-code-header .fr-code-actions button {
cursor: pointer;
border: none;
width: 20px;
height: 22px;
padding: 2px;
background: transparent;
margin-left: 5px;
border-radius: 3px;
line-height: 1px; }
.fr-view .fr-code-snippet .fr-code-header .fr-code-actions button:hover {
background: #cecdcd; }
.fr-view .fr-code-snippet .fr-code-header .fr-code-actions button:active {
background: #b8b6b6; }
.fr-view .fr-code-snippet .fr-code-header .fr-code-actions button .fr-sr-only {
display: none; }
.fr-view .fr-code-snippet pre {
margin: 0;
overflow-x: auto;
font-size: 14px; }
.fr-view .fr-code-snippet code {
font-family: "Fira Code", Consolas, monospace;
font-size: 14px;
line-height: 1.5;
background: transparent; }
.pdf-export.fr-view .fr-code-actions {
display: none;
visibility: hidden; }
.fr-clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
textarea.fr-code {
display: none;
width: 100%;
resize: none;
-moz-resize: none;
-webkit-resize: none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: none;
padding: 10px;
margin: 0;
font-family: "Courier New",monospace;
font-size: 14px;
background: #FFF;
color: #000;
outline: none; }
.fr-box.fr-rtl textarea.fr-code {
direction: rtl; }
.fr-box .CodeMirror {
display: none; }
.fr-box.fr-code-view textarea.fr-code {
display: block; }
.fr-box.fr-code-view .fr-element, .fr-box.fr-code-view .fr-placeholder, .fr-box.fr-code-view .fr-iframe {
display: none; }
.fr-box.fr-code-view .CodeMirror {
display: block; }
.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch {
display: block; }
.fr-box.fr-inline .fr-command.fr-btn.html-switch {
display: none;
position: absolute;
top: 0;
right: 0;
display: none;
background: #FFF;
color: #333333;
-moz-outline: 0;
outline: 0;
border: 0;
line-height: 1;
cursor: pointer;
text-align: left;
padding: 8px 7px;
-webkit-transition: background 0.2s ease 0s;
-moz-transition: background 0.2s ease 0s;
-ms-transition: background 0.2s ease 0s;
-o-transition: background 0.2s ease 0s;
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
z-index: 2;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-decoration: none;
user-select: none;
-o-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none; }
.fr-box.fr-inline .fr-command.fr-btn.html-switch i {
font-size: 24px;
width: 24px;
text-align: center; }
.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover {
background: #ebebeb; }
.fr-clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'] {
top: 5px;
height: 32px;
border: 1px solid #CCCCCC;
border-radius: 20px;
-moz-border-radius: 20px;
-webkit-border-radius: 20px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
padding: 0 10px;
background: #FFF;
-webkit-transition: border-color 0.2s ease 0s, background 0.2s ease 0s;
-moz-transition: border-color 0.2s ease 0s, background 0.2s ease 0s;
-ms-transition: border-color 0.2s ease 0s, background 0.2s ease 0s;
-o-transition: border-color 0.2s ease 0s, background 0.2s ease 0s; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'] > span {
font-size: 13px;
font-weight: 500;
line-height: 32px;
height: 32px;
padding: 0;
min-width: unset;
float: none;
display: inline-block;
vertical-align: middle;
color: #333333; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode']:after {
right: 8px;
top: 14px; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode']:hover, .fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'].fr-btn-hover, .fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode']:focus {
background: #ebebeb;
border-color: #adadad; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'].fr-active {
background: #ebf7fe;
border-color: #0098f7; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'].fr-active > span {
color: #0098f7; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'].fr-active:after {
border-top-color: #0098f7; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'][data-collab-role='viewer'] {
pointer-events: none;
cursor: default;
padding: 0 12px; }
.fr-toolbar .fr-command.fr-btn.fr-dropdown[data-cmd='collabMode'][data-collab-role='viewer']::after {
display: none; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list {
min-width: 150px;
padding: 4px 0; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list li {
margin: 0;
padding: 0;
font-size: 14px; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list a.fr-collab-mode-option {
display: flex;
align-items: center;
height: 40px;
padding: 0 5px;
gap: 10px;
cursor: pointer;
color: #333333;
text-decoration: none;
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
-webkit-transition: background 0.2s ease 0s;
-moz-transition: background 0.2s ease 0s;
-ms-transition: background 0.2s ease 0s;
-o-transition: background 0.2s ease 0s;
outline: none; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list a.fr-collab-mode-option:focus, .fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list a.fr-collab-mode-option:hover {
background: #ebebeb;
outline: unset; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list a.fr-collab-mode-option.fr-active {
background: transparent; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list a.fr-collab-mode-option.fr-active:hover {
background: #ebebeb;
outline: unset; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list a.fr-collab-mode-option.fr-active .fr-collab-check-icon path {
fill: #0098f7; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list .fr-collab-mode-icon {
flex: 0 0 18px; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list .fr-collab-mode-icon path {
fill: #999999;
-webkit-transition: fill 0.2s ease 0s;
-moz-transition: fill 0.2s ease 0s;
-ms-transition: fill 0.2s ease 0s;
-o-transition: fill 0.2s ease 0s; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list .fr-collab-mode-label {
flex: 1 1 auto;
font-size: 13px;
line-height: 1;
white-space: nowrap;
color: #333333; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list .fr-collab-check-icon {
flex: 0 0 16px;
width: 16px;
height: 16px;
margin-left: auto; }
.fr-toolbar .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content .fr-dropdown-list.fr-collab-mode-list .fr-collab-check-icon path {
fill: #0098f7; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] {
background: transparent;
border: none;
box-shadow: none;
padding: 0 4px;
min-width: unset;
cursor: default; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence']:hover, .fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence']:focus, .fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence']:active {
background: transparent;
box-shadow: none; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence']::after {
display: none; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span.fr-collab-presence {
display: inline-flex;
align-items: center;
height: inherit; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span.fr-collab-presence > .fr-collab-avatar + .fr-collab-avatar {
margin-left: -8px; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span .fr-collab-avatar {
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
width: 30px;
height: 30px;
border-radius: 50%;
border: 2px solid #FFF;
font-size: 11px;
font-weight: 600;
color: #FFF;
cursor: default;
user-select: none;
padding: unset;
margin-left: -8px;
-webkit-transition: transform 0.2s ease 0s, box-shadow 0.2s ease 0s;
-moz-transition: transform 0.2s ease 0s, box-shadow 0.2s ease 0s;
-ms-transition: transform 0.2s ease 0s, box-shadow 0.2s ease 0s;
-o-transition: transform 0.2s ease 0s, box-shadow 0.2s ease 0s; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span .fr-collab-avatar:first-child {
margin-left: 0; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span .fr-collab-avatar:hover {
transform: translateY(-2px);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.18);
z-index: 20; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span .fr-collab-avatar.fr-collab-avatar-self {
border-width: 3px; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span .fr-collab-avatar.fr-collab-avatar-default-color {
border: 1px solid #00B398;
color: #00B398;
background-color: #E1F7F3; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPresence'] span .fr-collab-avatar.fr-collab-avatar-more {
background-color: #bdbdbd;
color: #222222;
margin-left: -8px; }
.fr-toolbar .fr-command.fr-btn[data-cmd='collabPanel'].fr-active {
background: #d6d6d6;
color: #0098f7; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"] {
background: transparent;
border: 0;
box-shadow: none;
width: auto;
min-width: 0;
overflow: visible; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"]:hover, .fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"]:active, .fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"].fr-active {
background: transparent; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"]:empty, .fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"][data-vh-state="off"] {
display: none; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"] > svg {
display: none; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"] .fr-vh-autosave-badge {
display: inline-flex;
align-items: flex-end;
height: auto; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"] .fr-vh-autosave-badge .fr-vh-autosave-badge__label {
font-size: 12px;
font-style: normal;
font-weight: 400; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"] .fr-vh-autosave-badge .fr-vh-autosave-badge__label::after {
content: "";
position: absolute;
top: 10px;
right: 0;
width: 1px;
height: 23px;
background: #efefef; }
.fr-toolbar .fr-command.fr-btn[data-cmd="autoSaveStatus"] .fr-vh-autosave-badge::before {
content: '';
display: inline-flex;
width: 20px;
height: 20px;
border-radius: 50%;
background: #E1F7F3 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='1 0 16 16'><path fill='%2300B398' d='M6.4 11.2 3.2 8l-1.1 1.1 4.3 4.3 9.2-9.2-1.1-1.1z'/></svg>") center/14px 14px no-repeat; }
.fr-wrapper .fr-collab-cursor {
position: absolute;
display: block;
width: 0;
pointer-events: none;
z-index: 10;
border-radius: 2px;
border-left: 2px solid #00B398; }
.fr-wrapper .fr-collab-cursor .fr-collab-cursor-label {
position: absolute;
top: 100%;
left: -1px;
margin-top: 5px;
margin-left: -9.5px;
white-space: nowrap;
font-size: 12px;
font-weight: 500;
font-family: sans-serif;
background: #E1F7F3;
color: #333333;
padding: 4px 8px;
border-radius: 4px;
line-height: 1.4;
pointer-events: none;
transition: opacity 0.2s ease 0s; }
.fr-wrapper .fr-collab-cursor .fr-collab-cursor-label::before {
content: '';
position: absolute;
bottom: 100%;
left: 6px;
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-bottom: 8px solid #00B398; }
.fr-wrapper .fr-collab-selection {
position: absolute;
pointer-events: none;
z-index: 9;
border-radius: 2px;
background: rgba(0, 179, 152, 0.15);
border-bottom: 2px solid rgba(0, 179, 152, 0.35); }
.fr-wrapper .fr-view .fr-suggestion-insert,
.fr-wrapper .fr-view .fr-suggestion-delete,
.fr-wrapper .fr-view .fr-suggestion-replace-ins,
.fr-wrapper .fr-view .fr-suggestion-replace-del {
border-radius: 2px;
padding: 0 1px;
cursor: pointer;
transition: background 0.2s ease 0s;
text-decoration: none; }
.fr-wrapper .fr-view .fr-suggestion-insert {
background: #DFF3E0;
border-bottom: 2px solid #2E7D32;
color: inherit; }
.fr-wrapper .fr-view .fr-suggestion-insert:hover, .fr-wrapper .fr-view .fr-suggestion-insert.fr-suggestion-hover {
background: #BCE5C0; }
.fr-wrapper .fr-view .fr-suggestion-insert:focus, .fr-wrapper .fr-view .fr-suggestion-insert.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-insert.fr-suggestion-active {
background: #BCE5C0;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-insert a {
text-decoration: underline;
text-decoration-color: #2E7D32;
color: inherit; }
.fr-wrapper .fr-view .fr-suggestion-insert img {
border: 2px solid #2E7D32;
border-radius: 2px; }
.fr-wrapper .fr-view .fr-suggestion-insert table,
.fr-wrapper .fr-view .fr-suggestion-insert .fr-code-snippet {
background: #DFF3E0;
border-bottom: 2px solid #2E7D32;
color: inherit;
border: 2px solid #2E7D32;
border-collapse: collapse;
cursor: text; }
.fr-wrapper .fr-view .fr-suggestion-insert table:hover, .fr-wrapper .fr-view .fr-suggestion-insert table.fr-suggestion-hover,
.fr-wrapper .fr-view .fr-suggestion-insert .fr-code-snippet:hover,
.fr-wrapper .fr-view .fr-suggestion-insert .fr-code-snippet.fr-suggestion-hover {
background: #BCE5C0; }
.fr-wrapper .fr-view .fr-suggestion-insert table:focus, .fr-wrapper .fr-view .fr-suggestion-insert table.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-insert table.fr-suggestion-active,
.fr-wrapper .fr-view .fr-suggestion-insert .fr-code-snippet:focus,
.fr-wrapper .fr-view .fr-suggestion-insert .fr-code-snippet.fr-suggestion-focused,
.fr-wrapper .fr-view .fr-suggestion-insert .fr-code-snippet.fr-suggestion-active {
background: #BCE5C0;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-insert .fr-page-break,
.fr-wrapper .fr-view .fr-suggestion-insert hr {
background: #DFF3E0;
border-bottom: 2px solid #2E7D32;
color: inherit;
border-bottom: 2px solid #2E7D32;
border-collapse: collapse; }
.fr-wrapper .fr-view .fr-suggestion-insert .fr-page-break:hover, .fr-wrapper .fr-view .fr-suggestion-insert .fr-page-break.fr-suggestion-hover,
.fr-wrapper .fr-view .fr-suggestion-insert hr:hover,
.fr-wrapper .fr-view .fr-suggestion-insert hr.fr-suggestion-hover {
background: #BCE5C0; }
.fr-wrapper .fr-view .fr-suggestion-insert .fr-page-break:focus, .fr-wrapper .fr-view .fr-suggestion-insert .fr-page-break.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-insert .fr-page-break.fr-suggestion-active,
.fr-wrapper .fr-view .fr-suggestion-insert hr:focus,
.fr-wrapper .fr-view .fr-suggestion-insert hr.fr-suggestion-focused,
.fr-wrapper .fr-view .fr-suggestion-insert hr.fr-suggestion-active {
background: #BCE5C0;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-delete {
background: #F8D7D7;
border-bottom: 2px solid #C62828;
color: inherit;
text-decoration: line-through; }
.fr-wrapper .fr-view .fr-suggestion-delete:hover, .fr-wrapper .fr-view .fr-suggestion-delete.fr-suggestion-hover {
background: #F2A7A7; }
.fr-wrapper .fr-view .fr-suggestion-delete:focus, .fr-wrapper .fr-view .fr-suggestion-delete.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-delete.fr-suggestion-active {
background: #F2A7A7;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-delete table {
background: #F8D7D7;
border: 2px solid #C62828; }
.fr-wrapper .fr-view .fr-suggestion-replace-ins {
background: #FFF3CD;
border-bottom: 2px solid #F9A825;
color: inherit; }
.fr-wrapper .fr-view .fr-suggestion-replace-ins:hover, .fr-wrapper .fr-view .fr-suggestion-replace-ins.fr-suggestion-hover {
background: #FFE08A; }
.fr-wrapper .fr-view .fr-suggestion-replace-ins:focus, .fr-wrapper .fr-view .fr-suggestion-replace-ins.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-replace-ins.fr-suggestion-active {
background: #FFE08A;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-replace-del {
background: #FFF3CD;
border-bottom: 2px solid #F9A825;
color: inherit;
text-decoration: line-through; }
.fr-wrapper .fr-view .fr-suggestion-replace-del:hover, .fr-wrapper .fr-view .fr-suggestion-replace-del.fr-suggestion-hover {
background: #FFE08A; }
.fr-wrapper .fr-view .fr-suggestion-replace-del:focus, .fr-wrapper .fr-view .fr-suggestion-replace-del.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-replace-del.fr-suggestion-active {
background: #FFE08A;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-format,
.fr-wrapper .fr-view .fr-suggestion-format-paragraph {
background: #F3EEFC;
border-bottom: 2px solid #5E35B1;
color: inherit; }
.fr-wrapper .fr-view .fr-suggestion-format:hover, .fr-wrapper .fr-view .fr-suggestion-format.fr-suggestion-hover,
.fr-wrapper .fr-view .fr-suggestion-format-paragraph:hover,
.fr-wrapper .fr-view .fr-suggestion-format-paragraph.fr-suggestion-hover {
background: #C7B6EA; }
.fr-wrapper .fr-view .fr-suggestion-format:focus, .fr-wrapper .fr-view .fr-suggestion-format.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-format.fr-suggestion-active,
.fr-wrapper .fr-view .fr-suggestion-format-paragraph:focus,
.fr-wrapper .fr-view .fr-suggestion-format-paragraph.fr-suggestion-focused,
.fr-wrapper .fr-view .fr-suggestion-format-paragraph.fr-suggestion-active {
background: #C7B6EA;
outline: none; }
.fr-wrapper .fr-view .fr-suggestion-enter-key {
background: #DFF3E0;
border-bottom: 2px solid #2E7D32;
color: inherit;
font-weight: bold;
padding: 0 3px;
user-select: none;
vertical-align: baseline;
color: #2E7D32; }
.fr-wrapper .fr-view .fr-suggestion-enter-key:hover, .fr-wrapper .fr-view .fr-suggestion-enter-key.fr-suggestion-hover {
background: #BCE5C0; }
.fr-wrapper .fr-view .fr-suggestion-enter-key:focus, .fr-wrapper .fr-view .fr-suggestion-enter-key.fr-suggestion-focused, .fr-wrapper .fr-view .fr-suggestion-enter-key.fr-suggestion-active {
background: #BCE5C0;
outline: none; }
.fr-wrapper .fr-view .fr-comment-highlight {
background: #D6E7FA;
border-bottom: 2px solid #1565C0;
padding: 0 1px;
cursor: pointer;
border-radius: 2px;
transition: background 0.2s ease 0s; }
.fr-wrapper .fr-view .fr-comment-highlight:hover, .fr-wrapper .fr-view .fr-comment-highlight.fr-suggestion-hover {
background: #A9CEF5; }
.fr-wrapper .fr-view .fr-comment-highlight.fr-comment-focused, .fr-wrapper .fr-view .fr-comment-highlight.fr-suggestion-focused, .fr-wrapper .fr-view .fr-comment-highlight.fr-suggestion-active {
background: #A9CEF5; }
.fr-wrapper .fr-view .fr-comment-highlight.fr-comment-highlight--empty {
display: inline-block;
width: 2px;
border-bottom: 0;
border-left: 2px solid #1565C0;
background: transparent;
padding: 0;
margin: 0 1px;
vertical-align: text-bottom;
height: 1em;
overflow: hidden; }
.fr-wrapper thead.fr-tc-insert > tr > td,
.fr-wrapper thead.fr-tc-insert > tr > th,
.fr-wrapper tfoot.fr-tc-insert > tr > td,
.fr-wrapper tfoot.fr-tc-insert > tr > th,
.fr-wrapper tr.fr-tc-insert > td,
.fr-wrapper tr.fr-tc-insert > th,
.fr-wrapper td.fr-tc-insert,
.fr-wrapper th.fr-tc-insert {
background-color: #DFF3E0;
box-shadow: inset 0 0 0 1px #2E7D32; }
.fr-wrapper thead.fr-tc-insert:hover > tr > td,
.fr-wrapper thead.fr-tc-insert:hover > tr > th,
.fr-wrapper tfoot.fr-tc-insert:hover > tr > td,
.fr-wrapper tfoot.fr-tc-insert:hover > tr > th,
.fr-wrapper tr.fr-tc-insert:hover > td,
.fr-wrapper tr.fr-tc-insert:hover > th,
.fr-wrapper td.fr-tc-insert:hover,
.fr-wrapper th.fr-tc-insert:hover,
.fr-wrapper thead.fr-tc-insert.fr-suggestion-hover > tr > td,
.fr-wrapper thead.fr-tc-insert.fr-suggestion-hover > tr > th,
.fr-wrapper tfoot.fr-tc-insert.fr-suggestion-hover > tr > td,
.fr-wrapper tfoot.fr-tc-insert.fr-suggestion-hover > tr > th,
.fr-wrapper tr.fr-tc-insert.fr-suggestion-hover > td,
.fr-wrapper tr.fr-tc-insert.fr-suggestion-hover > th,
.fr-wrapper td.fr-tc-insert.fr-suggestion-hover,
.fr-wrapper th.fr-tc-insert.fr-suggestion-hover,
.fr-wrapper thead.fr-tc-insert.fr-suggestion-focused > tr > td,
.fr-wrapper thead.fr-tc-insert.fr-suggestion-focused > tr > th,
.fr-wrapper tfoot.fr-tc-insert.fr-suggestion-focused > tr > td,
.fr-wrapper tfoot.fr-tc-insert.fr-suggestion-focused > tr > th,
.fr-wrapper tr.fr-tc-insert.fr-suggestion-focused > td,
.fr-wrapper tr.fr-tc-insert.fr-suggestion-focused > th,
.fr-wrapper td.fr-tc-insert.fr-suggestion-focused,
.fr-wrapper th.fr-tc-insert.fr-suggestion-focused {
background-color: #BCE5C0;
box-shadow: inset 0 0 0 2px #2E7D32; }
.fr-wrapper thead.fr-tc-delete > tr > td,
.fr-wrapper thead.fr-tc-delete > tr > th,
.fr-wrapper tfoot.fr-tc-delete > tr > td,
.fr-wrapper tfoot.fr-tc-delete > tr > th,
.fr-wrapper tr.fr-tc-delete > td,
.fr-wrapper tr.fr-tc-delete > th,
.fr-wrapper td.fr-tc-delete,
.fr-wrapper th.fr-tc-delete {
background-color: #F8D7D7;
box-shadow: inset 0 0 0 1px #C62828;
text-decoration: line-through;
opacity: 0.7; }
.fr-wrapper thead.fr-tc-delete:hover > tr > td,
.fr-wrapper thead.fr-tc-delete:hover > tr > th,
.fr-wrapper tfoot.fr-tc-delete:hover > tr > td,
.fr-wrapper tfoot.fr-tc-delete:hover > tr > th,
.fr-wrapper tr.fr-tc-delete:hover > td,
.fr-wrapper tr.fr-tc-delete:hover > th,
.fr-wrapper td.fr-tc-delete:hover,
.fr-wrapper th.fr-tc-delete:hover,
.fr-wrapper thead.fr-tc-delete.fr-suggestion-hover > tr > td,
.fr-wrapper thead.fr-tc-delete.fr-suggestion-hover > tr > th,
.fr-wrapper tfoot.fr-tc-delete.fr-suggestion-hover > tr > td,
.fr-wrapper tfoot.fr-tc-delete.fr-suggestion-hover > tr > th,
.fr-wrapper tr.fr-tc-delete.fr-suggestion-hover > td,
.fr-wrapper tr.fr-tc-delete.fr-suggestion-hover > th,
.fr-wrapper td.fr-tc-delete.fr-suggestion-hover,
.fr-wrapper th.fr-tc-delete.fr-suggestion-hover,
.fr-wrapper thead.fr-tc-delete.fr-suggestion-focused > tr > td,
.fr-wrapper thead.fr-tc-delete.fr-suggestion-focused > tr > th,
.fr-wrapper tfoot.fr-tc-delete.fr-suggestion-focused > tr > td,
.fr-wrapper tfoot.fr-tc-delete.fr-suggestion-focused > tr > th,
.fr-wrapper tr.fr-tc-delete.fr-suggestion-focused > td,
.fr-wrapper tr.fr-tc-delete.fr-suggestion-focused > th,
.fr-wrapper td.fr-tc-delete.fr-suggestion-focused,
.fr-wrapper th.fr-tc-delete.fr-suggestion-focused {
background-color: #F2A7A7;
box-shadow: inset 0 0 0 2px #C62828;
opacity: 0.85; }
.fr-wrapper table.fr-tc-format,
.fr-wrapper td.fr-tc-format,
.fr-wrapper th.fr-tc-format {
background-color: #F3EEFC;
box-shadow: inset 0 0 0 1px #5E35B1; }
.fr-wrapper table.fr-tc-format:hover,
.fr-wrapper table.fr-tc-format.fr-suggestion-hover,
.fr-wrapper table.fr-tc-format.fr-suggestion-focused,
.fr-wrapper td.fr-tc-format:hover,
.fr-wrapper td.fr-tc-format.fr-suggestion-hover,
.fr-wrapper td.fr-tc-format.fr-suggestion-focused,
.fr-wrapper th.fr-tc-format:hover,
.fr-wrapper th.fr-tc-format.fr-suggestion-hover,
.fr-wrapper th.fr-tc-format.fr-suggestion-focused {
background-color: #C7B6EA;
box-shadow: inset 0 0 0 2px #5E35B1; }
.fr-wrapper .fr-collab-comment-bubble {
position: absolute;
z-index: 100;
width: 32px;
height: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
background: #FFF;
color: #333333;
border: 0;
border-radius: 8px;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
user-select: none;
pointer-events: auto;
padding: 0;
transition: background 0.2s ease 0s, box-shadow 0.2s ease 0s; }
.fr-wrapper .fr-collab-comment-bubble:hover {
background: #f6f8fa;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18); }
.fr-wrapper .fr-collab-comment-bubble__icon {
width: 18px;
height: 18px;
fill: currentColor;
pointer-events: none; }
.fr-box.fr-collab-panel-open {
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: auto auto auto; }
.fr-box.fr-collab-panel-open > .fr-toolbar,
.fr-box.fr-collab-panel-open > .fr-second-toolbar {
grid-column: 1 / -1; }
.fr-box.fr-collab-panel-open > .fr-wrapper {
grid-column: 1;
grid-row: 2;
min-width: 0; }
.fr-box.fr-collab-panel-open > .fr-collab-panel {
grid-column: 2;
grid-row: 2;
align-self: stretch; }
.fr-box.fr-collab-panel-open > .fr-popup {
grid-column: 1 / -1;
grid-row: 1 / -1; }
.fr-box .fr-collab-avatar-tooltip {
display: none;
position: fixed;
transform: translateX(-50%);
white-space: nowrap;
background: #E1F7F3;
color: #333333;
font-size: 12px;
font-weight: 500;
font-family: sans-serif;
padding: 4px 10px;
border-radius: 4px;
pointer-events: none;
z-index: 9999; }
.fr-box .fr-collab-panel {
display: none;
width: 300px;
background: #F6FBFD;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
color: #202124;
box-sizing: border-box;
overflow: hidden;
margin: 0;
z-index: 1;
border-right: 1px solid #CCCCCC; }
.fr-box .fr-collab-panel.fr-collab-panel-visible {
display: flex;
flex-direction: column; }
.fr-box .fr-collab-panel__header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 16px 10px;
background: transparent;
color: #5f6368;
font-size: 13px; }
.fr-box .fr-collab-panel__toggle {
background: transparent;
border: 0;
padding: 0;
color: #1a73e8;
font-family: inherit;
font-size: 13px;
font-weight: 500;
cursor: pointer; }
.fr-box .fr