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,397 lines (1,325 loc) • 40.3 kB
CSS
/*!
* froala_editor v3.1.0 (https://www.froala.com/wysiwyg-editor)
* License https://froala.com/wysiwyg-editor/terms/
* Copyright 2014-2020 Froala Labs
*/
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.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; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.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; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-popup .fr-layer.fr-color-hex-layer {
margin: 0;
padding: 20px;
padding-top: 0;
float: left; }
.fr-popup .fr-layer.fr-color-hex-layer .fr-input-line {
float: left;
width: calc(100% - 50px);
padding: 15px 0 0; }
.fr-popup .fr-layer.fr-color-hex-layer .fr-action-buttons {
float: right;
width: 38px;
height: 40px;
padding: 17px 0 0;
margin: 0; }
.fr-popup .fr-layer.fr-color-hex-layer .fr-action-buttons button.fr-command {
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
font-size: 13px;
height: 40px;
width: 38px; }
.fr-popup .fr-separator + .fr-colors-tabs {
margin-left: 2px;
margin-right: 2px; }
.fr-popup .fr-color-set {
line-height: 0;
display: none; }
.fr-popup .fr-color-set.fr-selected-set {
display: block;
padding: 20px;
padding-bottom: 0; }
.fr-popup .fr-color-set > span {
display: inline-block;
width: 32px;
height: 32px;
position: relative;
z-index: 1; }
.fr-popup .fr-color-set > span > i, .fr-popup .fr-color-set > span > svg {
text-align: center;
line-height: 32px;
height: 24px;
width: 24px;
margin: 4px;
font-size: 13px;
position: absolute;
bottom: 0;
cursor: default;
left: 0; }
.fr-popup .fr-color-set > span > i path, .fr-popup .fr-color-set > span > svg path {
fill: #222222; }
.fr-popup .fr-color-set > span .fr-selected-color {
color: #FFF;
font-family: FontAwesome;
font-size: 13px;
font-weight: 400;
line-height: 32px;
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
text-align: center;
cursor: default; }
.fr-popup .fr-color-set > span:hover, .fr-popup .fr-color-set > span:focus {
outline: 1px solid #222222;
z-index: 2; }
.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after {
-webkit-transform: translate3d(100%, 0, 0);
-moz-transform: translate3d(100%, 0, 0);
-ms-transform: translate3d(100%, 0, 0);
-o-transform: translate3d(100%, 0, 0); }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-drag-helper {
background: #0098f7;
height: 2px;
margin-top: -1px;
-webkit-opacity: 0.2;
-moz-opacity: 0.2;
opacity: 0.2;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
position: absolute;
z-index: 2147483640;
display: none; }
.fr-drag-helper.fr-visible {
display: block; }
.fr-dragging {
-webkit-opacity: 0.4;
-moz-opacity: 0.4;
opacity: 0.4;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-popup .fr-emoticon {
width: 24px;
height: 24px;
font-family: "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols; }
.fr-popup .fr-emoticon img {
height: 24px;
width: 24px; }
.fr-popup .fr-command.fr-btn.fr-tabs-unicode {
padding: 0 0 0 14px; }
@media screen and (-ms-high-contrast: active) and (min-width: 768px), (-ms-high-contrast: none) and (min-width: 768px) {
.fr-popup .fr-icon-container.fr-emoticon-container {
width: 368px; } }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-popup .fr-file-upload-layer {
border: dashed 2px #bdbdbd;
padding: 25px 0;
margin: 20px;
position: relative;
font-size: 14px;
letter-spacing: 1px;
line-height: 140%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: center; }
.fr-popup .fr-file-upload-layer:hover {
background: #ebebeb; }
.fr-popup .fr-file-upload-layer.fr-drop {
background: #ebebeb;
border-color: #0098f7; }
.fr-popup .fr-file-upload-layer .fr-form {
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 2147483640;
overflow: hidden;
margin: 0 ;
padding: 0 ;
width: 100% ; }
.fr-popup .fr-file-upload-layer .fr-form input {
cursor: pointer;
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 500%;
height: 100%;
margin: 0;
font-size: 400px; }
.fr-popup .fr-file-progress-bar-layer {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
.fr-popup .fr-file-progress-bar-layer > h3 {
font-size: 16px;
margin: 10px 0;
font-weight: normal; }
.fr-popup .fr-file-progress-bar-layer > div.fr-action-buttons {
display: none; }
.fr-popup .fr-file-progress-bar-layer > div.fr-loader {
background: #b3e0fd;
height: 10px;
width: 100%;
margin-top: 20px;
overflow: hidden;
position: relative; }
.fr-popup .fr-file-progress-bar-layer > div.fr-loader span {
display: block;
height: 100%;
width: 0%;
background: #0098f7;
-webkit-transition: width 0.2s ease 0s;
-moz-transition: width 0.2s ease 0s;
-ms-transition: width 0.2s ease 0s;
-o-transition: width 0.2s ease 0s; }
.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span {
width: 30% ;
position: absolute;
top: 0;
-webkit-animation: loading 2s linear infinite;
-moz-animation: loading 2s linear infinite;
-o-animation: loading 2s linear infinite;
animation: loading 2s linear infinite; }
.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-loader {
display: none; }
.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-action-buttons {
display: block; }
@keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@-webkit-keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@-moz-keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@-o-keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
body.fr-fullscreen {
overflow: hidden;
height: 100%;
width: 100%;
position: fixed; }
.fr-box.fr-fullscreen {
margin: 0 ;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 2147483630 ;
width: auto ; }
.fr-box.fr-fullscreen.fr-basic.fr-top .fr-wrapper {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box; }
.fr-box.fr-fullscreen.fr-basic.fr-bottom .fr-wrapper {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box; }
.fr-box.fr-fullscreen .fr-toolbar {
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box; }
.fr-box.fr-fullscreen .fr-toolbar.fr-top {
top: 0 ; }
.fr-box.fr-fullscreen .fr-toolbar.fr-bottom {
bottom: 0 ; }
.fr-box.fr-fullscreen .second-toolbar {
margin-top: 0;
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box; }
.fr-fullscreen-wrapper {
z-index: 2147483640 ;
width: 100% ;
margin: 0 ;
padding: 0 ;
overflow: visible ; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal {
text-align: left;
padding: 20px 20px 10px; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table {
border-collapse: collapse;
font-size: 14px;
line-height: 1.5;
width: 100%; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table + table {
margin-top: 20px; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr {
border: 0; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th {
text-align: left; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th, .fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td {
padding: 6px 0 4px; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr {
border-bottom: solid 1px #ebebeb; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child {
width: 60%;
color: #646464; }
.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2) {
letter-spacing: 0.5px; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-element img {
cursor: pointer;
padding: 0 1px; }
.fr-image-resizer {
position: absolute;
border: solid 1px #0098f7;
display: none;
user-select: none;
-o-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box; }
.fr-image-resizer.fr-active {
display: block; }
.fr-image-resizer .fr-handler {
display: block;
position: absolute;
background: #0098f7;
border: solid 1px #FFF;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
z-index: 4;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
.fr-image-resizer .fr-handler.fr-hnw {
cursor: nw-resize; }
.fr-image-resizer .fr-handler.fr-hne {
cursor: ne-resize; }
.fr-image-resizer .fr-handler.fr-hsw {
cursor: sw-resize; }
.fr-image-resizer .fr-handler.fr-hse {
cursor: se-resize; }
.fr-image-resizer .fr-handler {
width: 12px;
height: 12px; }
.fr-image-resizer .fr-handler.fr-hnw {
left: -6px;
top: -6px; }
.fr-image-resizer .fr-handler.fr-hne {
right: -6px;
top: -6px; }
.fr-image-resizer .fr-handler.fr-hsw {
left: -6px;
bottom: -6px; }
.fr-image-resizer .fr-handler.fr-hse {
right: -6px;
bottom: -6px; }
@media (min-width: 1200px) {
.fr-image-resizer .fr-handler {
width: 10px;
height: 10px; }
.fr-image-resizer .fr-handler.fr-hnw {
left: -5px;
top: -5px; }
.fr-image-resizer .fr-handler.fr-hne {
right: -5px;
top: -5px; }
.fr-image-resizer .fr-handler.fr-hsw {
left: -5px;
bottom: -5px; }
.fr-image-resizer .fr-handler.fr-hse {
right: -5px;
bottom: -5px; } }
.fr-image-overlay {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 2147483640;
display: none; }
.fr-popup .fr-image-upload-layer {
border: dashed 2px #bdbdbd;
padding: 25px 0;
margin: 20px;
position: relative;
font-size: 14px;
letter-spacing: 1px;
line-height: 140%;
text-align: center; }
.fr-popup .fr-image-upload-layer:hover {
background: #ebebeb; }
.fr-popup .fr-image-upload-layer.fr-drop {
background: #ebebeb;
border-color: #0098f7; }
.fr-popup .fr-image-upload-layer .fr-form {
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 2147483640;
overflow: hidden;
margin: 0 ;
padding: 0 ;
width: 100% ; }
.fr-popup .fr-image-upload-layer .fr-form input {
cursor: pointer;
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 500%;
height: 100%;
margin: 0;
font-size: 400px; }
.fr-popup .fr-image-progress-bar-layer > h3 {
font-size: 16px;
margin: 10px 0;
font-weight: normal; }
.fr-popup .fr-image-progress-bar-layer > div.fr-action-buttons {
display: none; }
.fr-popup .fr-image-progress-bar-layer > div.fr-loader {
background: #b3e0fd;
height: 10px;
width: 100%;
margin-top: 20px;
overflow: hidden;
position: relative; }
.fr-popup .fr-image-progress-bar-layer > div.fr-loader span {
display: block;
height: 100%;
width: 0%;
background: #0098f7;
-webkit-transition: width 0.2s ease 0s;
-moz-transition: width 0.2s ease 0s;
-ms-transition: width 0.2s ease 0s;
-o-transition: width 0.2s ease 0s; }
.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span {
width: 30% ;
position: absolute;
top: 0;
-webkit-animation: loading 2s linear infinite;
-moz-animation: loading 2s linear infinite;
-o-animation: loading 2s linear infinite;
animation: loading 2s linear infinite; }
.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-loader {
display: none; }
.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-action-buttons {
display: block; }
.fr-image-size-layer .fr-image-group .fr-input-line {
width: calc(50% - 5px);
display: inline-block; }
.fr-image-size-layer .fr-image-group .fr-input-line + .fr-input-line {
margin-left: 10px; }
.fr-uploading {
-webkit-opacity: 0.4;
-moz-opacity: 0.4;
opacity: 0.4;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
@-webkit-keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@-moz-keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@-o-keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
@keyframes loading {
from {
left: -25%; }
to {
left: 100%; } }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-modal .fr-modal-head .fr-modal-head-line::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-modal .fr-modal-head .fr-modal-head-line .fr-modal-more {
margin-top: 10px; }
.fr-modal .fr-modal-head .fr-modal-head-line .fr-modal-more.fr-not-available {
opacity: 0;
width: 0;
padding: 12px 0; }
.fr-modal .fr-modal-head .fr-modal-tags {
padding: 0 20px;
display: none;
text-align: left; }
.fr-modal .fr-modal-head .fr-modal-tags a {
display: inline-block;
opacity: 0;
padding: 6px 12px;
margin: 8px 0 8px 8px;
text-decoration: none;
border-radius: 32px;
-moz-border-radius: 32px;
-webkit-border-radius: 32px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
-webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
-moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
-ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
-o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s;
cursor: pointer;
background-color: #f5f5f5; }
.fr-modal .fr-modal-head .fr-modal-tags a:focus {
outline: none;
background-color: #ebebeb; }
.fr-modal .fr-modal-head .fr-modal-tags a:hover {
background-color: #ebebeb; }
.fr-modal .fr-modal-head .fr-modal-tags a:active {
background-color: #d6d6d6; }
.fr-modal .fr-modal-head .fr-modal-tags a.fr-selected-tag {
background-color: #EcF5Ff;
color: #0098f7; }
.fr-modal .fr-modal-head .fr-modal-tags a.fr-selected-tag:focus {
outline: none;
background-color: #ebebeb; }
.fr-modal .fr-modal-head .fr-modal-tags a.fr-selected-tag:hover {
background-color: #ebebeb; }
.fr-modal .fr-modal-head .fr-modal-tags a.fr-selected-tag:active {
background-color: #d6d6d6; }
.fr-show-tags .fr-modal-more svg path {
fill: #0098f7; }
div.fr-modal-body {
-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; }
div.fr-modal-body .fr-preloader {
display: block;
margin: 50px auto; }
div.fr-modal-body div.fr-image-list {
text-align: center;
margin: 0 20px;
padding: 0; }
div.fr-modal-body div.fr-image-list .fr-list-column {
float: left;
width: calc((100% - 20px) / 2); }
@media (min-width: 768px) and (max-width: 1199px) {
div.fr-modal-body div.fr-image-list .fr-list-column {
width: calc((100% - 40px) / 3); } }
@media (min-width: 1200px) {
div.fr-modal-body div.fr-image-list .fr-list-column {
width: calc((100% - 60px) / 4); } }
div.fr-modal-body div.fr-image-list .fr-list-column + .fr-list-column {
margin-left: 20px; }
div.fr-modal-body div.fr-image-list div.fr-image-container {
position: relative;
width: 100%;
display: block;
border-radius: 2px;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
overflow: hidden; }
div.fr-modal-body div.fr-image-list div.fr-image-container:first-child {
margin-top: 20px; }
div.fr-modal-body div.fr-image-list div.fr-image-container + div {
margin-top: 20px; }
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after {
position: absolute;
-webkit-opacity: 0.5;
-moz-opacity: 0.5;
opacity: 0.5;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-transition: opacity 0.2s ease 0s;
-moz-transition: opacity 0.2s ease 0s;
-ms-transition: opacity 0.2s ease 0s;
-o-transition: opacity 0.2s ease 0s;
background: #000;
content: "";
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 2; }
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before {
content: attr(data-deleting);
color: #FFF;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
position: absolute;
z-index: 3;
font-size: 15px;
height: 20px; }
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty {
height: 95px;
background: #CCCCCC;
z-index: 1; }
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after {
position: absolute;
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
content: attr(data-loading);
display: inline-block;
height: 20px; }
div.fr-modal-body div.fr-image-list div.fr-image-container img {
width: 100%;
vertical-align: middle;
position: relative;
z-index: 2;
-webkit-opacity: 1;
-moz-opacity: 1;
opacity: 1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
-moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
-ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
-o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s;
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0); }
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected img {
-webkit-opacity: 0.75;
-moz-opacity: 0.75;
opacity: 0.75;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-delete-img, div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-insert-img {
display: inline-block; }
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img {
display: none;
top: 50%;
border-radius: 100%;
-moz-border-radius: 100%;
-webkit-border-radius: 100%;
-moz-background-clip: padding;
-webkit-background-clip: padding-box;
background-clip: padding-box;
-webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s;
-moz-transition: background 0.2s ease 0s, color 0.2s ease 0s;
-ms-transition: background 0.2s ease 0s, color 0.2s ease 0s;
-o-transition: background 0.2s ease 0s, color 0.2s ease 0s;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: absolute;
cursor: pointer;
margin: 0;
line-height: 40px;
text-decoration: none;
z-index: 3; }
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img {
background: #B8312F;
fill: #FFF;
padding: 8px;
left: 50%;
-webkit-transform: translateY(-50%) translateX(25%);
-moz-transform: translateY(-50%) translateX(25%);
-ms-transform: translateY(-50%) translateX(25%);
-o-transform: translateY(-50%) translateX(25%); }
div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img {
background: #FFF;
fill: #0098f7;
padding: 8px;
left: 50%;
-webkit-transform: translateY(-50%) translateX(-125%);
-moz-transform: translateY(-50%) translateX(-125%);
-ms-transform: translateY(-50%) translateX(-125%);
-o-transform: translateY(-50%) translateX(-125%); }
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover img {
-webkit-opacity: 0.75;
-moz-opacity: 0.75;
opacity: 0.75;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-delete-img, .fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-insert-img {
display: inline-block;
width: 40px;
height: 40px; }
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover {
background: #bf4644;
color: #FFF; }
.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover {
background: #ebebeb; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-line-breaker {
cursor: text;
border-top: 1px solid #0098f7;
position: fixed;
z-index: 2;
display: none; }
.fr-line-breaker.fr-visible {
display: block; }
.fr-line-breaker a.fr-floating-btn {
position: absolute;
left: calc(50% - (40px / 2));
top: -20px; }
.fr-line-breaker a.fr-floating-btn svg {
margin: 8px;
height: 24px;
width: 24px; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-quick-insert {
position: absolute;
z-index: 2147483639;
white-space: nowrap;
padding-right: 10px;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box; }
.fr-quick-insert a.fr-floating-btn svg {
margin: 8px;
width: 24px;
height: 24px; }
.fr-quick-insert.fr-on a.fr-floating-btn svg {
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-ms-transform: rotate(135deg);
-o-transform: rotate(135deg); }
.fr-quick-insert.fr-hidden {
display: none; }
.fr-qi-helper {
position: absolute;
z-index: 3;
padding-left: 20px;
white-space: nowrap; }
.fr-qi-helper a.fr-btn.fr-floating-btn {
text-align: center;
padding: 6px 10px 10px 10px;
display: inline-block;
color: #222222;
background: #FFF;
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-transform: scale(0);
-moz-transform: scale(0);
-ms-transform: scale(0);
-o-transform: scale(0); }
.fr-qi-helper a.fr-btn.fr-floating-btn svg {
fill: #222222; }
.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1 {
-webkit-opacity: 1;
-moz-opacity: 1;
opacity: 1;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1); }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-popup .fr-buttons.fr-tabs .fr-special-character-category {
padding: 10px 15px; }
.fr-popup .fr-buttons.fr-tabs .fr-special-character-category span {
font-weight: normal;
font-size: 16px; }
.fr-popup .fr-special-character {
width: 24px;
height: 24px; }
@media screen and (-ms-high-contrast: active) and (min-width: 768px), (-ms-high-contrast: none) and (min-width: 768px) {
.fr-popup .fr-icon-container.fr-sc-container {
width: 368px; } }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-element table td.fr-selected-cell, .fr-element table th.fr-selected-cell {
border: 1px double #0098f7; }
.fr-element table tr {
user-select: none;
-o-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none; }
.fr-element table td, .fr-element table th {
user-select: text;
-o-user-select: text;
-moz-user-select: text;
-khtml-user-select: text;
-webkit-user-select: text;
-ms-user-select: text; }
.fr-element .fr-no-selection table td, .fr-element .fr-no-selection table th {
user-select: none;
-o-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none; }
.fr-table-resizer {
cursor: col-resize;
position: absolute;
z-index: 3;
display: none; }
.fr-table-resizer.fr-moving {
z-index: 2; }
.fr-table-resizer div {
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
border-right: 1px solid #0098f7; }
.fr-no-selection {
user-select: none;
-o-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none; }
.fr-popup .fr-table-size {
margin: 20px; }
.fr-popup .fr-table-size .fr-table-size-info {
text-align: center;
font-size: 14px; }
.fr-popup .fr-table-size .fr-select-table-size {
line-height: 0;
padding: 5px;
white-space: nowrap; }
.fr-popup .fr-table-size .fr-select-table-size > span {
display: inline-block;
padding: 0 4px 4px 0;
background: transparent; }
.fr-popup .fr-table-size .fr-select-table-size > span > span {
display: inline-block;
width: 18px;
height: 18px;
border: 1px solid #DDD; }
.fr-popup .fr-table-size .fr-select-table-size > span.hover {
background: transparent; }
.fr-popup .fr-table-size .fr-select-table-size > span.hover > span {
background: rgba(0, 152, 247, 0.3);
border: solid 1px #0098f7; }
.fr-popup .fr-table-size .fr-select-table-size .new-line::after {
clear: both;
display: block;
content: "";
height: 0; }
.fr-popup.fr-above .fr-table-size .fr-select-table-size > span {
display: inline-block ; }
.fr-popup .fr-table-colors {
display: block;
padding: 20px;
padding-bottom: 0; }
.fr-popup.fr-desktop .fr-table-size .fr-select-table-size > span > span {
width: 12px;
height: 12px; }
.fr-insert-helper {
position: absolute;
z-index: 9999;
white-space: nowrap; }
.clearfix::after {
clear: both;
display: block;
content: "";
height: 0; }
.hide-by-clipping {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0; }
.fr-element .fr-video {
user-select: none;
-o-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none; }
.fr-element .fr-video::after {
position: absolute;
content: '';
z-index: 1;
top: 0;
left: 0;
right: 0;
bottom: 0;
cursor: pointer;
display: block;
background: rgba(0, 0, 0, 0); }
.fr-element .fr-video.fr-active > * {
z-index: 2;
position: relative; }
.fr-element .fr-video > * {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
max-width: 100%;
border: none; }
.fr-box .fr-video-resizer {
position: absolute;
border: solid 1px #0098f7;
display: 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-video-resizer.fr-active {
display: block; }
.fr-box .fr-video-resizer .fr-handler {
display: block;
position: absolute;
background: #0098f7;
border: solid 1px #FFF;
z-index: 4;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
.fr-box .fr-video-resizer .fr-handler.fr-hnw {
cursor: nw-resize; }
.fr-box .fr-video-resizer .fr-handler.fr-hne {
cursor: ne-resize; }
.fr-box .fr-video-resizer .fr-handler.fr-hsw {
cursor: sw-resize; }
.fr-box .fr-video-resizer .fr-handler.fr-hse {
cursor: se-resize; }
.fr-box .fr-video-resizer .fr-handler {
width: 12px;
height: 12px; }
.fr-box .fr-video-resizer .fr-handler.fr-hnw {
left: -6px;
top: -6px; }
.fr-box .fr-video-resizer .fr-handler.fr-hne {
right: -6px;
top: -6px; }
.fr-box .fr-video-resizer .fr-handler.fr-hsw {
left: -6px;
bottom: -6px; }
.fr-box .fr-video-resizer .fr-handler.fr-hse {
right: -6px;
bottom: -6px; }
@media (min-width: 1200px) {
.fr-box .fr-video-resizer .fr-handler {
width: 10px;
height: 10px; }
.fr-box .fr-video-resizer .fr-handler.fr-hnw {
left: -5px;
top: -5px; }
.fr-box .fr-video-resizer .fr-handler.fr-hne {
right: -5px;
top: -5px; }
.fr-box .fr-video-resizer .fr-handler.fr-hsw {
left: -5px;
bottom: -5px; }
.fr-box .fr-video-resizer .fr-handler.fr-hse {
right: -5px;
bottom: -5px; } }
.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line {
width: calc(50% - 5px);
display: inline-block; }
.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line + .fr-input-line {
margin-left: 10px; }
.fr-popup .fr-video-upload-layer {
border: dashed 2px #bdbdbd;
padding: 25px 0;
margin: 20px;
position: relative;
font-size: 14px;
letter-spacing: 1px;
line-height: 140%;
text-align: center; }
.fr-popup .fr-video-upload-layer:hover {
background: #ebebeb; }
.fr-popup .fr-video-upload-layer.fr-drop {
background: #ebebeb;
border-color: #0098f7; }
.fr-popup .fr-video-upload-layer .fr-form {
-webkit-opacity: 0;
-moz-opacity: 0;
opacity: 0;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 2147483640;
overflow: hidden;
margin: 0 ;
padding: 0 ;
width: 100% ; }
.fr-popup .fr-video-upload-layer .fr-form input {
cursor: pointer;
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 500%;
height: 100%;
margin: 0;
font-size: 400px; }
.fr-popup .fr-video-progress-bar-layer > h3 {
font-size: 16px;
margin: 10px 0;
font-weight: normal; }
.fr-popup .fr-video-progress-bar-layer > div.fr-action-buttons {
display: none; }
.fr-popup .fr-video-progress-bar-layer > div.fr-loader {
background: #b3e0fd;
height: 10px;
width: 100%;
margin-top: 20px;
overflow: hidden;
position: relative; }
.fr-popup .fr-video-progress-bar-layer > div.fr-loader span {
display: block;
height: 100%;
width: 0%;
background: #0098f7;
-webkit-transition: width 0.2s ease 0s;
-moz-transition: width 0.2s ease 0s;
-ms-transition: width 0.2s ease 0s;
-o-transition: width 0.2s ease 0s; }
.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span {
width: 30% ;
position: absolute;
top: 0;
-webkit-animation: loading 2s linear infinite;
-moz-animation: loading 2s linear infinite;
-o-animation: loading 2s linear infinite;
animation: loading 2s linear infinite; }
.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-loader {
display: none; }
.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-action-buttons {
display: block; }
.fr-video-overlay {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
z-index: 2147483640;
display: none; }