/** * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* Reset */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-color-base-foreground: hsl(0, 0%, 98%); --ck-color-base-background: hsl(0, 0%, 100%); --ck-color-base-border: hsl(220, 6%, 81%); --ck-color-base-action: hsl(104, 50.2%, 42.5%); --ck-color-base-focus: hsl(209, 92%, 70%); --ck-color-base-text: hsl(0, 0%, 20%); --ck-color-base-active: hsl(218.1, 100%, 58%); --ck-color-base-active-focus: hsl(218.2, 100%, 52.5%); --ck-color-base-error: hsl(15, 100%, 43%); /* -- Generic colors ------------------------------------------------------------------------ */ --ck-color-focus-border-coordinates: 218, 81.8%, 56.9%; --ck-color-focus-border: hsl(var(--ck-color-focus-border-coordinates)); --ck-color-focus-outer-shadow: hsl(212.4, 89.3%, 89%); --ck-color-focus-disabled-shadow: hsla(209, 90%, 72%,.3); --ck-color-focus-error-shadow: hsla(9,100%,56%,.3); --ck-color-text: var(--ck-color-base-text); --ck-color-shadow-drop: hsla(0, 0%, 0%, 0.15); --ck-color-shadow-drop-active: hsla(0, 0%, 0%, 0.2); --ck-color-shadow-inner: hsla(0, 0%, 0%, 0.1); /* -- Buttons ------------------------------------------------------------------------------- */ --ck-color-button-default-background: transparent; --ck-color-button-default-hover-background: hsl(0, 0%, 94.1%); --ck-color-button-default-active-background: hsl(0, 0%, 94.1%); --ck-color-button-default-disabled-background: transparent; --ck-color-button-on-background: hsl(212, 100%, 97.1%); --ck-color-button-on-hover-background: hsl(211.7, 100%, 92.9%); --ck-color-button-on-active-background: hsl(211.7, 100%, 92.9%); --ck-color-button-on-disabled-background: hsl(211, 15%, 95%); --ck-color-button-on-color: hsl(218.1, 100%, 58%); --ck-color-button-action-background: var(--ck-color-base-action); --ck-color-button-action-hover-background: hsl(104, 53.2%, 40.2%); --ck-color-button-action-active-background: hsl(104, 53.2%, 40.2%); --ck-color-button-action-disabled-background: hsl(104, 44%, 58%); --ck-color-button-action-text: var(--ck-color-base-background); --ck-color-button-save: hsl(120, 100%, 27%); --ck-color-button-cancel: hsl(15, 100%, 43%); --ck-color-switch-button-off-background: hsl(0, 0%, 57.6%); --ck-color-switch-button-off-hover-background: hsl(0, 0%, 49%); --ck-color-switch-button-on-background: var(--ck-color-button-action-background); --ck-color-switch-button-on-hover-background: hsl(104, 53.2%, 40.2%); --ck-color-switch-button-inner-background: var(--ck-color-base-background); --ck-color-switch-button-inner-shadow: hsla(0, 0%, 0%, 0.1); /* -- Dropdown ------------------------------------------------------------------------------ */ --ck-color-dropdown-panel-background: var(--ck-color-base-background); --ck-color-dropdown-panel-border: var(--ck-color-base-border); /* -- Dialog -------------------------------------------------------------------------------- */ --ck-color-dialog-background: var(--ck-custom-background); --ck-color-dialog-form-header-border: var(--ck-custom-border); /* -- Input --------------------------------------------------------------------------------- */ --ck-color-input-background: var(--ck-color-base-background); --ck-color-input-border: var(--ck-color-base-border); --ck-color-input-error-border: var(--ck-color-base-error); --ck-color-input-text: var(--ck-color-base-text); --ck-color-input-disabled-background: hsl(0, 0%, 95%); --ck-color-input-disabled-border: var(--ck-color-base-border); --ck-color-input-disabled-text: hsl(0, 0%, 46%); /* -- List ---------------------------------------------------------------------------------- */ --ck-color-list-background: var(--ck-color-base-background); --ck-color-list-button-hover-background: var(--ck-color-button-default-hover-background); --ck-color-list-button-on-background: var(--ck-color-button-on-color); --ck-color-list-button-on-background-focus: var(--ck-color-button-on-color); --ck-color-list-button-on-text: var(--ck-color-base-background); /* -- Panel --------------------------------------------------------------------------------- */ --ck-color-panel-background: var(--ck-color-base-background); --ck-color-panel-border: var(--ck-color-base-border); /* -- Toolbar ------------------------------------------------------------------------------- */ --ck-color-toolbar-background: var(--ck-color-base-background); --ck-color-toolbar-border: var(--ck-color-base-border); /* -- Tooltip ------------------------------------------------------------------------------- */ --ck-color-tooltip-background: var(--ck-color-base-text); --ck-color-tooltip-text: var(--ck-color-base-background); /* -- Engine -------------------------------------------------------------------------------- */ --ck-color-engine-placeholder-text: hsl(0, 0%, 44%); /* -- Upload -------------------------------------------------------------------------------- */ --ck-color-upload-bar-background: hsl(209, 92%, 70%); /* -- Link -------------------------------------------------------------------------------- */ --ck-color-link-default: hsl(240, 100%, 47%); --ck-color-link-selected-background: hsla(201, 100%, 56%, 0.1); --ck-color-link-fake-selection: hsla(201, 100%, 56%, 0.3); /* -- Search result highlight ---------------------------------------------------------------- */ --ck-color-highlight-background: hsl(60, 100%, 50%); /* -- Generic colors ------------------------------------------------------------------------- */ --ck-color-light-red: hsl(0, 100%, 90%); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { /** * An opacity value of disabled UI item. */ --ck-disabled-opacity: .5; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { /** * The geometry of the of focused element's outer shadow. */ --ck-focus-outer-shadow-geometry: 0 0 0 3px; /** * A visual style of focused element's outer shadow. */ --ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow); /** * A visual style of focused element's outer shadow (when disabled). */ --ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow); /** * A visual style of focused element's outer shadow (when has errors). */ --ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow); /** * A visual style of focused element's border or outline. */ --ck-focus-ring: 1px solid var(--ck-color-focus-border); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-font-size-base: 13px; --ck-line-height-base: 1.84615; --ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif; --ck-font-size-tiny: 0.7em; --ck-font-size-small: 0.75em; --ck-font-size-normal: 1em; --ck-font-size-big: 1.4em; --ck-font-size-large: 1.8em; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { /* This is super-important. This is **manually** adjusted so a button without an icon is never smaller than a button with icon, additionally making sure that text-less buttons are perfect squares. The value is also shared by other components which should stay "in-line" with buttons. */ --ck-ui-component-min-height: 2.3em; } /** * Resets an element, ignoring its children. */ .ck.ck-reset, .ck.ck-reset_all, .ck-reset_all *:not(.ck-reset_all-excluded *) { box-sizing: border-box; width: auto; height: auto; position: static; /* Do not include inheritable rules here. */ margin: 0; padding: 0; border: 0; background: transparent; text-decoration: none; vertical-align: middle; transition: none; /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */ word-wrap: break-word; } /** * Resets an element AND its children. */ .ck.ck-reset_all, .ck-reset_all *:not(.ck-reset_all-excluded *) { /* These are rule inherited by all children elements. */ border-collapse: collapse; font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face); color: var(--ck-color-text); text-align: left; white-space: nowrap; cursor: auto; float: none; } .ck-reset_all .ck-rtl *:not(.ck-reset_all-excluded *) { text-align: right; } .ck-reset_all iframe:not(.ck-reset_all-excluded *) { /* For IE */ vertical-align: inherit; } .ck-reset_all textarea:not(.ck-reset_all-excluded *) { white-space: pre-wrap; } .ck-reset_all textarea:not(.ck-reset_all-excluded *), .ck-reset_all input[type="text"]:not(.ck-reset_all-excluded *), .ck-reset_all input[type="password"]:not(.ck-reset_all-excluded *) { cursor: text; } .ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *), .ck-reset_all input[type="text"][disabled]:not(.ck-reset_all-excluded *), .ck-reset_all input[type="password"][disabled]:not(.ck-reset_all-excluded *) { cursor: default; } .ck-reset_all fieldset:not(.ck-reset_all-excluded *) { padding: 10px; border: 2px groove hsl(255, 7%, 88%); } .ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner { /* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */ padding: 0; border: 0 } /** * Default UI rules for RTL languages. */ .ck[dir="rtl"], .ck[dir="rtl"] .ck { text-align: right; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Default border-radius value. */ :root{ --ck-border-radius: 2px; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { /** * A visual style of element's inner shadow (i.e. input). */ --ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset; /** * A visual style of element's drop shadow (i.e. panel). */ --ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop); /** * A visual style of element's active shadow (i.e. comment or suggestion). */ --ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-spacing-unit: 0.6em; --ck-spacing-large: calc(var(--ck-spacing-unit) * 1.5); --ck-spacing-standard: var(--ck-spacing-unit); --ck-spacing-medium: calc(var(--ck-spacing-unit) * 0.8); --ck-spacing-small: calc(var(--ck-spacing-unit) * 0.5); --ck-spacing-tiny: calc(var(--ck-spacing-unit) * 0.3); --ck-spacing-extra-tiny: calc(var(--ck-spacing-unit) * 0.16); } /* Components */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ .ck.ck-autocomplete > .ck-search__results { border-radius: 0; max-height: 200px; overflow-y: auto; background: var(--ck-color-base-background); border: 1px solid var(--ck-color-dropdown-panel-border); min-width: auto; } .ck-rounded-corners .ck.ck-autocomplete > .ck-search__results, .ck.ck-autocomplete > .ck-search__results.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-autocomplete > .ck-search__results { box-shadow: var(--ck-drop-shadow), 0 0; } .ck.ck-autocomplete > .ck-search__results.ck-search__results_n { border-bottom-left-radius: 0; border-bottom-right-radius: 0; /* Prevent duplicated borders between the input and the results pane. */ margin-bottom: -1px; } .ck.ck-autocomplete > .ck-search__results.ck-search__results_s { border-top-left-radius: 0; border-top-right-radius: 0; /* Prevent duplicated borders between the input and the results pane. */ margin-top: -1px; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A visual style of focused element's border. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements a button of given background color. * * @param {String} $background - Background color of the button. * @param {String} $border - Border color of the button. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-button, a.ck.ck-button { background: var(--ck-color-button-default-background); border-radius: 0; white-space: nowrap; cursor: default; vertical-align: middle; padding: var(--ck-spacing-tiny); text-align: center; /* A very important piece of styling. Go to variable declaration to learn more. */ min-width: var(--ck-ui-component-min-height); min-height: var(--ck-ui-component-min-height); /* Normalize the height of the line. Removing this will break consistent height among text and text-less buttons (with icons). */ line-height: 1; /* Enable font size inheritance, which allows fluid UI scaling. */ font-size: inherit; /* Avoid flickering when the foucs border shows up. */ border: 1px solid transparent; /* Apply some smooth transition to the box-shadow and border. */ transition: box-shadow .2s ease-in-out, border .2s ease-in-out; /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */ -webkit-appearance: none; } .ck.ck-button:not(.ck-disabled):hover, a.ck.ck-button:not(.ck-disabled):hover { background: var(--ck-color-button-default-hover-background); } .ck.ck-button:not(.ck-disabled):active, a.ck.ck-button:not(.ck-disabled):active { background: var(--ck-color-button-default-active-background); } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ .ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled { background: var(--ck-color-button-default-disabled-background); } .ck-rounded-corners .ck.ck-button, .ck-rounded-corners a.ck.ck-button, .ck.ck-button.ck-rounded-corners, a.ck.ck-button.ck-rounded-corners { border-radius: var(--ck-border-radius); } @media (prefers-reduced-motion: reduce) { .ck.ck-button, a.ck.ck-button { transition: none; } } .ck.ck-button:active, a.ck.ck-button:active, .ck.ck-button:focus, a.ck.ck-button:focus { /* Disable native outline. */ outline: none; border: var(--ck-focus-ring); box-shadow: var(--ck-focus-outer-shadow), 0 0; } /* Allow icon coloring using the text "color" property. */ .ck.ck-button .ck-button__icon use, a.ck.ck-button .ck-button__icon use, .ck.ck-button .ck-button__icon use *, a.ck.ck-button .ck-button__icon use * { color: inherit; } .ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label { /* Enable font size inheritance, which allows fluid UI scaling. */ font-size: inherit; font-weight: inherit; color: inherit; cursor: inherit; /* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and without labels (but with icons) have different sizes in Chrome */ vertical-align: middle; } [dir="ltr"] .ck.ck-button .ck-button__label, [dir="ltr"] a.ck.ck-button .ck-button__label { text-align: left; } [dir="rtl"] .ck.ck-button .ck-button__label, [dir="rtl"] a.ck.ck-button .ck-button__label { text-align: right; } .ck.ck-button .ck-button__keystroke, a.ck.ck-button .ck-button__keystroke { color: inherit; opacity: .5; } [dir="ltr"] .ck.ck-button .ck-button__keystroke, [dir="ltr"] a.ck.ck-button .ck-button__keystroke { margin-left: var(--ck-spacing-large); } [dir="rtl"] .ck.ck-button .ck-button__keystroke, [dir="rtl"] a.ck.ck-button .ck-button__keystroke { margin-right: var(--ck-spacing-large); } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */ .ck.ck-button.ck-disabled:active, a.ck.ck-button.ck-disabled:active, .ck.ck-button.ck-disabled:focus, a.ck.ck-button.ck-disabled:focus { /* The disabled button should have a slightly less visible shadow when focused. */ box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0; } .ck.ck-button.ck-disabled .ck-button__icon, a.ck.ck-button.ck-disabled .ck-button__icon { opacity: var(--ck-disabled-opacity); } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ .ck.ck-button.ck-disabled .ck-button__label, a.ck.ck-button.ck-disabled .ck-button__label { opacity: var(--ck-disabled-opacity); } .ck.ck-button.ck-disabled .ck-button__keystroke, a.ck.ck-button.ck-disabled .ck-button__keystroke { opacity: .3; } .ck.ck-button.ck-button_with-text, a.ck.ck-button.ck-button_with-text { padding: var(--ck-spacing-tiny) var(--ck-spacing-standard); /* stylelint-disable-next-line no-descending-specificity */ } [dir="ltr"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="ltr"] a.ck.ck-button.ck-button_with-text .ck-button__icon { margin-right: var(--ck-spacing-medium); } [dir="rtl"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="rtl"] a.ck.ck-button.ck-button_with-text .ck-button__icon { margin-left: var(--ck-spacing-medium); } /* stylelint-disable-next-line no-descending-specificity */ .ck.ck-button.ck-button_with-keystroke .ck-button__label, a.ck.ck-button.ck-button_with-keystroke .ck-button__label { flex-grow: 1; } /* A style of the button which is currently on, e.g. its feature is active. */ .ck.ck-button.ck-on, a.ck.ck-button.ck-on { background: var(--ck-color-button-on-background); color: var(--ck-color-button-on-color); } .ck.ck-button.ck-on:not(.ck-disabled):hover, a.ck.ck-button.ck-on:not(.ck-disabled):hover { background: var(--ck-color-button-on-hover-background); } .ck.ck-button.ck-on:not(.ck-disabled):active, a.ck.ck-button.ck-on:not(.ck-disabled):active { background: var(--ck-color-button-on-active-background); } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ .ck.ck-button.ck-on.ck-disabled, a.ck.ck-button.ck-on.ck-disabled { background: var(--ck-color-button-on-disabled-background); } .ck.ck-button.ck-button-save, a.ck.ck-button.ck-button-save { color: var(--ck-color-button-save); } .ck.ck-button.ck-button-cancel, a.ck.ck-button.ck-button-cancel { color: var(--ck-color-button-cancel); } /* A style of the button which handles the primary action. */ .ck.ck-button-action, a.ck.ck-button-action { background: var(--ck-color-button-action-background); color: var(--ck-color-button-action-text); } .ck.ck-button-action:not(.ck-disabled):hover, a.ck.ck-button-action:not(.ck-disabled):hover { background: var(--ck-color-button-action-hover-background); } .ck.ck-button-action:not(.ck-disabled):active, a.ck.ck-button-action:not(.ck-disabled):active { background: var(--ck-color-button-action-active-background); } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */ .ck.ck-button-action.ck-disabled, a.ck.ck-button-action.ck-disabled { background: var(--ck-color-button-action-disabled-background); } .ck.ck-button-bold, a.ck.ck-button-bold { font-weight: bold; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature of the component, floating–point numbers have been used which, for the default font size (see: --ck-font-size-base), will generate simple integers. */ :root { /* 34px at 13px font-size */ --ck-switch-button-toggle-width: 2.6153846154em; /* 14px at 13px font-size */ --ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px); --ck-switch-button-translation: calc( var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px /* Border */ ); --ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow); } /* Unlike a regular button, the switch button text color and background should never change. * Changing toggle switch (background, outline) is enough to carry the information about the * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519) */ .ck.ck-button.ck-switchbutton, .ck.ck-button.ck-switchbutton:hover, .ck.ck-button.ck-switchbutton:focus, .ck.ck-button.ck-switchbutton:active, .ck.ck-button.ck-switchbutton.ck-on:hover, .ck.ck-button.ck-switchbutton.ck-on:focus, .ck.ck-button.ck-switchbutton.ck-on:active { color: inherit; background: transparent; } [dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__label { /* Separate the label from the switch */ margin-right: calc(2 * var(--ck-spacing-large)); } [dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__label { /* Separate the label from the switch */ margin-left: calc(2 * var(--ck-spacing-large)); } .ck.ck-button.ck-switchbutton .ck-button__toggle { border-radius: 0; /* Apply some smooth transition to the box-shadow and border. */ /* Gently animate the background color of the toggle switch */ transition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out; border: 1px solid transparent; width: var(--ck-switch-button-toggle-width); background: var(--ck-color-switch-button-off-background); } .ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle, .ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners { border-radius: var(--ck-border-radius); } [dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__toggle { /* Make sure the toggle is always to the right as far as possible. */ margin-left: auto; } [dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__toggle { /* Make sure the toggle is always to the left as far as possible. */ margin-right: auto; } .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner { border-radius: 0; width: var(--ck-switch-button-toggle-inner-size); height: var(--ck-switch-button-toggle-inner-size); background: var(--ck-color-switch-button-inner-background); /* Gently animate the inner part of the toggle switch */ transition: all 300ms ease; } .ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner, .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners { border-radius: var(--ck-border-radius); border-radius: calc(.5 * var(--ck-border-radius)); } @media (prefers-reduced-motion: reduce) { .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner { transition: none; } } .ck.ck-button.ck-switchbutton .ck-button__toggle:hover { background: var(--ck-color-switch-button-off-hover-background); } .ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner { box-shadow: var(--ck-switch-button-inner-hover-shadow); } .ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle { opacity: var(--ck-disabled-opacity); } /* Overriding default .ck-button:focus styles + an outline around the toogle */ .ck.ck-button.ck-switchbutton:focus { border-color: transparent; outline: none; box-shadow: none; } .ck.ck-button.ck-switchbutton:focus .ck-button__toggle { box-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow); outline-offset: 1px; outline: var(--ck-focus-ring); } /* stylelint-disable-next-line no-descending-specificity */ .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle { background: var(--ck-color-switch-button-on-background); } .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover { background: var(--ck-color-switch-button-on-hover-background); } /* * Move the toggle switch to the right. It will be animated. */ [dir="ltr"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner { transform: translateX( var( --ck-switch-button-translation ) ); } [dir="rtl"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner { transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) ); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-button.ck-list-item-button { padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard)); } .ck.ck-button.ck-list-item-button, .ck.ck-button.ck-list-item-button.ck-on { background: var(--ck-color-list-background); color: var(--ck-color-text); } [dir="ltr"] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder) { padding-left: var(--ck-spacing-small); } [dir="rtl"] .ck.ck-button.ck-list-item-button:has(.ck-list-item-button__check-holder) { padding-right: var(--ck-spacing-small); } /* * `.ck-on` class and background styling is overridden for `ck-button` in many places. * This is a workaround to make sure that the background is not overridden and uses similar * selector specificity as the other overrides. */ .ck.ck-button.ck-list-item-button:hover:not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-button.ck-on:hover, .ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable), .ck.ck-button.ck-list-item-button.ck-on:hover { background: var(--ck-color-list-button-hover-background); } .ck.ck-button.ck-list-item-button:hover:not(.ck-disabled):not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-button.ck-on:hover:not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-on:not(.ck-list-item-button_toggleable):not(.ck-disabled), .ck.ck-button.ck-list-item-button.ck-on:hover:not(.ck-disabled) { color: var(--ck-color-text); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size)); } .ck.ck-collapsible > .ck.ck-button { width: 100%; font-weight: bold; border-radius: 0; color: inherit; } .ck.ck-collapsible > .ck.ck-button:focus { background: transparent; } .ck.ck-collapsible > .ck.ck-button:active, .ck.ck-collapsible > .ck.ck-button:not(:focus), .ck.ck-collapsible > .ck.ck-button:hover:not(:focus) { background: transparent; border-color: transparent; box-shadow: none; } .ck.ck-collapsible > .ck.ck-button > .ck-icon { margin-right: var(--ck-spacing-medium); width: var(--ck-collapsible-arrow-size); } .ck.ck-collapsible > .ck-collapsible__children { padding: var(--ck-spacing-medium) var(--ck-spacing-large) var(--ck-spacing-large); } .ck.ck-collapsible.ck-collapsible_collapsed > .ck.ck-button .ck-icon { transform: rotate(-90deg); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-color-grid-tile-size: 24px; /* Not using global colors here because these may change but some colors in a pallette * require special treatment. For instance, this ensures no matter what the UI text color is, * the check icon will look good on the black color tile. */ --ck-color-color-grid-check-icon: hsl(212, 81%, 46%); } .ck.ck-color-grid { grid-gap: 5px; padding: 8px; } .ck.ck-color-grid__tile { transition: .2s ease box-shadow; } @media (forced-colors: none) { .ck.ck-color-grid__tile { width: var(--ck-color-grid-tile-size); height: var(--ck-color-grid-tile-size); min-width: var(--ck-color-grid-tile-size); min-height: var(--ck-color-grid-tile-size); padding: 0; border: 0; } .ck.ck-color-grid__tile.ck-on, .ck.ck-color-grid__tile:focus:not( .ck-disabled ), .ck.ck-color-grid__tile:hover:not( .ck-disabled ) { /* Disable the default .ck-button's border ring. */ border: 0; } .ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered { box-shadow: 0 0 0 1px var(--ck-color-base-border); } .ck.ck-color-grid__tile.ck-on { box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text); } .ck.ck-color-grid__tile:focus:not( .ck-disabled ), .ck.ck-color-grid__tile:hover:not( .ck-disabled ) { box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border); } } /* * In high contrast mode, the colors are replaced with text labels. * See https://github.com/ckeditor/ckeditor5/issues/14907. */ @media (forced-colors: active) { .ck.ck-color-grid__tile { width: unset; height: unset; min-width: unset; min-height: unset; padding: 0 var(--ck-spacing-small); } .ck.ck-color-grid__tile .ck-button__label { display: inline-block; } } @media (prefers-reduced-motion: reduce) { .ck.ck-color-grid__tile { transition: none; } } .ck.ck-color-grid__tile.ck-disabled { cursor: unset; transition: unset; } .ck.ck-color-grid__tile .ck.ck-icon { display: none; color: var(--ck-color-color-grid-check-icon); } .ck.ck-color-grid__tile.ck-on .ck.ck-icon { display: block; } .ck.ck-color-grid__label { padding: 0 var(--ck-spacing-standard); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* View fragment with color grids. */ .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color, .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker { width: 100%; } .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker { padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard); border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus) { border-top: 1px solid var(--ck-color-base-border); } [dir="ltr"] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon { margin-right: var(--ck-spacing-standard); } [dir="rtl"] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon { margin-left: var(--ck-spacing-standard); } .ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label { font-weight: unset; } /* View fragment with a color picker. */ .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker { padding: 8px; } .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker { height: 100px; min-width: 180px; } .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation) { border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0; } .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue) { border-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius); } .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer), .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer) { width: 15px; height: 15px; } .ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar { padding: 0 8px 8px; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-dialog-overlay-background-color: hsla( 0, 0%, 0%, .5 ); --ck-dialog-drop-shadow: 0px 0px 6px 2px hsl(0deg 0% 0% / 15%); --ck-dialog-max-width: 100vw; --ck-dialog-max-height: 90vh; --ck-color-dialog-background: var(--ck-color-base-background); --ck-color-dialog-form-header-border: var(--ck-color-base-border); } .ck.ck-dialog-overlay { animation: ck-dialog-fade-in .3s; background: var(--ck-dialog-overlay-background-color); z-index: var(--ck-z-dialog); } .ck.ck-dialog { border-radius: 0; --ck-drop-shadow: var(--ck-dialog-drop-shadow); background: var(--ck-color-dialog-background); max-height: var(--ck-dialog-max-height); max-width: var(--ck-dialog-max-width); border: 1px solid var(--ck-color-base-border); overscroll-behavior: contain; } .ck-rounded-corners .ck.ck-dialog, .ck.ck-dialog.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-dialog { box-shadow: var(--ck-drop-shadow), 0 0; } .ck.ck-dialog .ck.ck-form__header { border-bottom: 1px solid var(--ck-color-dialog-form-header-border); } .ck-dialog-scroll-locked { overflow: hidden; } @keyframes ck-dialog-fade-in { 0% { background: hsla( 0, 0%, 0%, 0 ); } 100% { background: var(--ck-dialog-overlay-background-color); } } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-dialog .ck.ck-dialog__actions { padding: var(--ck-spacing-large); } .ck.ck-dialog .ck.ck-dialog__actions > * + * { margin-left: var(--ck-spacing-large); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size)); } .ck.ck-dropdown { /* Enable font size inheritance, which allows fluid UI scaling. */ font-size: inherit; } .ck.ck-dropdown .ck-dropdown__arrow { width: var(--ck-dropdown-arrow-size); } [dir="ltr"] .ck.ck-dropdown .ck-dropdown__arrow { right: var(--ck-spacing-standard); /* A space to accommodate the triangle. */ margin-left: var(--ck-spacing-standard); } [dir="rtl"] .ck.ck-dropdown .ck-dropdown__arrow { left: var(--ck-spacing-standard); /* A space to accommodate the triangle. */ margin-right: var(--ck-spacing-small); } .ck.ck-dropdown.ck-disabled .ck-dropdown__arrow { opacity: var(--ck-disabled-opacity); } [dir="ltr"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) { /* Make sure dropdowns with just an icon have the right inner spacing */ padding-left: var(--ck-spacing-small); } [dir="rtl"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) { /* Make sure dropdowns with just an icon have the right inner spacing */ padding-right: var(--ck-spacing-small); } /* #23 */ .ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label { width: 7em; overflow: hidden; text-overflow: ellipsis; } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */ .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label { opacity: var(--ck-disabled-opacity); } /* https://github.com/ckeditor/ckeditor5/issues/816 */ .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label { width: auto; } /* https://github.com/ckeditor/ckeditor5/issues/8699 */ .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active, .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active { box-shadow: none; } .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus, .ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus { box-shadow: var(--ck-focus-outer-shadow), 0 0; } .ck.ck-dropdown__panel { border-radius: 0; background: var(--ck-color-dropdown-panel-background); border: 1px solid var(--ck-color-dropdown-panel-border); bottom: 0; /* Make sure the panel is at least as wide as the drop-down's button. */ min-width: 100%; } .ck-rounded-corners .ck.ck-dropdown__panel, .ck.ck-dropdown__panel.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-dropdown__panel { box-shadow: var(--ck-drop-shadow), 0 0; /* Disabled corner border radius to be consistent with the .dropdown__button https://github.com/ckeditor/ckeditor5/issues/816 */ } .ck.ck-dropdown__panel.ck-dropdown__panel_se { border-top-left-radius: 0; } .ck.ck-dropdown__panel.ck-dropdown__panel_sw { border-top-right-radius: 0; } .ck.ck-dropdown__panel.ck-dropdown__panel_ne { border-bottom-left-radius: 0; } .ck.ck-dropdown__panel.ck-dropdown__panel_nw { border-bottom-right-radius: 0; } .ck.ck-dropdown__panel:focus { outline: none; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ .ck.ck-dropdown > .ck-dropdown__panel > .ck-list { /* Disabled radius of top-left border to be consistent with .dropdown__button https://github.com/ckeditor/ckeditor5/issues/816 */ border-radius: 0; } .ck-rounded-corners .ck.ck-dropdown > .ck-dropdown__panel > .ck-list, .ck.ck-dropdown > .ck-dropdown__panel > .ck-list.ck-rounded-corners { border-radius: var(--ck-border-radius); border-top-left-radius: 0; } /* Make sure the button belonging to the first/last child of the list goes well with the border radius of the entire panel. */ .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button { border-radius: 0; } .ck-rounded-corners .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button, .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:first-child > .ck-button.ck-rounded-corners { border-radius: var(--ck-border-radius); border-top-left-radius: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button { border-radius: 0; } .ck-rounded-corners .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button, .ck.ck-dropdown > .ck-dropdown__panel > .ck-list .ck-list__item:last-child > .ck-button.ck-rounded-corners { border-radius: var(--ck-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ :root { --ck-color-split-button-hover-background: hsl(0, 0%, 92%); --ck-color-split-button-hover-border: hsl(0, 0%, 70%); } /* * Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest). */ [dir="ltr"] .ck.ck-splitbutton:hover > .ck-splitbutton__action, [dir="ltr"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action { /* Don't round the action button on the right side */ border-top-right-radius: unset; border-bottom-right-radius: unset; } [dir="rtl"] .ck.ck-splitbutton:hover > .ck-splitbutton__action, [dir="rtl"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action { /* Don't round the action button on the left side */ border-top-left-radius: unset; border-bottom-left-radius: unset; } .ck.ck-splitbutton > .ck-splitbutton__arrow { /* It's a text-less button and since the icon is positioned absolutely in such situation, it must get some arbitrary min-width. */ min-width: unset; } [dir="ltr"] .ck.ck-splitbutton > .ck-splitbutton__arrow { /* Don't round the arrow button on the left side */ border-top-left-radius: unset; border-bottom-left-radius: unset; } [dir="rtl"] .ck.ck-splitbutton > .ck-splitbutton__arrow { /* Don't round the arrow button on the right side */ border-top-right-radius: unset; border-bottom-right-radius: unset; } .ck.ck-splitbutton > .ck-splitbutton__arrow svg { width: var(--ck-dropdown-arrow-size); } /* Make sure the divider stretches 100% height of the button https://github.com/ckeditor/ckeditor5/issues/10936 */ .ck.ck-splitbutton > .ck-splitbutton__arrow:not(:focus) { border-top-width: 0px; border-bottom-width: 0px; } /* Don't round the bottom left and right corners of the buttons when "open" https://github.com/ckeditor/ckeditor5/issues/816 */ .ck.ck-splitbutton.ck-splitbutton_open { border-radius: 0; } .ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners > .ck-splitbutton__action { border-bottom-left-radius: 0; } .ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners > .ck-splitbutton__arrow { border-bottom-right-radius: 0; } /* When the split button is "open" (the arrow is on) or being hovered, it should get some styling as a whole. The background of both buttons should stand out and there should be a visual separation between both buttons. */ /* When the split button hovered as a whole, not as individual buttons. */ .ck.ck-splitbutton.ck-splitbutton_open > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover), .ck.ck-splitbutton:hover > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) { background: var(--ck-color-split-button-hover-background); } /* Splitbutton separator needs to be set with the ::after pseudoselector to display properly the borders on focus */ .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after { content: ''; position: absolute; width: 1px; height: 100%; background-color: var(--ck-color-split-button-hover-border); } /* Make sure the divider between the buttons looks fine when the button is focused */ .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:focus::after, .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:focus::after { --ck-color-split-button-hover-border: var(--ck-color-focus-border); } [dir="ltr"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, [dir="ltr"] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after { left: -1px; } [dir="rtl"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled)::after, [dir="rtl"] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled)::after { right: -1px; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-toolbar-dropdown .ck-toolbar { border: 0; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements a button of given background color. * * @param {String} $background - Background color of the button. * @param {String} $border - Border color of the button. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * All menu buttons. */ .ck.ck-button.ck-dropdown-menu-list__nested-menu__button { width: 100%; padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard)); border-radius: 0; } .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus { border-color: transparent; box-shadow: none; } .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:focus:not(.ck-on) { background: var(--ck-color-button-default-hover-background); } .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-button__label { flex-grow: 1; overflow: hidden; text-overflow: ellipsis; } .ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled > .ck-button__label { opacity: var(--ck-disabled-opacity); } /* Spacing in buttons that miss the icon. */ .ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-icon-spacing:not(:has(.ck-button__icon)) > .ck-button__label { margin-left: calc(var(--ck-icon-size) - var(--ck-spacing-small)); } .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow { width: var(--ck-dropdown-arrow-size); } [dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow { transform: rotate(-90deg); /* Nudge the arrow gently to the right because its center of gravity is to the left */ margin-right: calc(-1 * var(--ck-spacing-small)); } [dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow { transform: rotate(90deg); /* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */ margin-left: calc(-1 * var(--ck-spacing-small)); } .ck.ck-button.ck-dropdown-menu-list__nested-menu__button.ck-disabled > .ck-dropdown-menu-list__nested-menu__button__arrow { opacity: var(--ck-disabled-opacity); } [dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text) { padding-left: var(--ck-spacing-small); } [dir="ltr"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow { right: var(--ck-spacing-standard); /* A space to accommodate the triangle. */ margin-left: var(--ck-spacing-standard); } [dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button:not(.ck-button_with-text) { padding-right: var(--ck-spacing-small); } [dir="rtl"] .ck.ck-button.ck-dropdown-menu-list__nested-menu__button > .ck-dropdown-menu-list__nested-menu__button__arrow { left: var(--ck-spacing-standard); /* A space to accommodate the triangle. */ margin-right: var(--ck-spacing-small); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-dropdown-menu-menu-item-min-width: 18em; } .ck.ck-dropdown-menu-list__nested-menu__item { min-width: var(--ck-dropdown-menu-menu-item-min-width); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * List item buttons. */ .ck-button.ck-dropdown-menu-list__nested-menu__item__button { border-radius: 0; } .ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container, .ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container .ck-spinner { /* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */ --ck-toolbar-spinner-size: 20px; } .ck-button.ck-dropdown-menu-list__nested-menu__item__button > .ck-spinner-container { /* These margins are the same as for .ck-icon. */ margin-left: calc(-1 * var(--ck-spacing-small)); margin-right: var(--ck-spacing-small); } /* * Hovered items automatically get focused. Default focus styles look odd * while moving across a huge list of items so let's get rid of them */ .ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus { border-color: transparent; box-shadow: none; } .ck-button.ck-dropdown-menu-list__nested-menu__item__button:focus:not(.ck-on) { background: var(--ck-color-button-default-hover-background); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ :root { --ck-dropdown-menu-menu-panel-max-width: 75vw; } .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel { box-shadow: var(--ck-drop-shadow), 0 0; background: var(--ck-color-dropdown-panel-background); border: 1px solid var(--ck-color-dropdown-panel-border); bottom: 0; height: fit-content; max-width: var(--ck-dropdown-menu-menu-panel-max-width); /* Reset balloon styling */ } .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel::after, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel::before { display: none; } /* Corner border radius consistent with the button. */ .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_es, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_se { border-top-left-radius: 0; } .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ws, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_sw { border-top-right-radius: 0; } .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_en, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_ne { border-bottom-left-radius: 0; } .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_wn, .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel.ck-balloon-panel_nw { border-bottom-right-radius: 0; } .ck.ck-balloon-panel.ck-dropdown-menu__nested-menu__panel:focus { outline: none; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A visual style of focused element's border. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ :root { --ck-accessibility-help-dialog-max-width: 600px; --ck-accessibility-help-dialog-max-height: 400px; --ck-accessibility-help-dialog-border-color: hsl(220, 6%, 81%); --ck-accessibility-help-dialog-code-background-color: hsl(0deg 0% 92.94%); --ck-accessibility-help-dialog-kbd-shadow-color: hsl(0deg 0% 61%); } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content { padding: var(--ck-spacing-large); max-width: var(--ck-accessibility-help-dialog-max-width); max-height: var(--ck-accessibility-help-dialog-max-height); overflow: auto; user-select: text; border: 1px solid transparent; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content:focus { /* Disable native outline. */ outline: none; border: var(--ck-focus-ring); box-shadow: var(--ck-focus-outer-shadow), 0 0; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content * { white-space: normal; } /* Hide the main label of the content container. */ .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content .ck-label { display: none; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3 { font-weight: bold; font-size: 1.2em; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4 { font-weight: bold; font-size: 1em; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content p, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h3, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content h4, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content table { margin: 1em 0; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl { display: grid; grid-template-columns: 2fr 1fr; border-top: 1px solid var(--ck-accessibility-help-dialog-border-color); border-bottom: none; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd { border-bottom: 1px solid var(--ck-accessibility-help-dialog-border-color); padding: .4em 0; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dt { grid-column-start: 1; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content dl dd { grid-column-start: 2; text-align: right; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd, .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code { display: inline-block; background: var(--ck-accessibility-help-dialog-code-background-color); padding: .4em; vertical-align: middle; line-height: 1; border-radius: 2px; text-align: center; font-size: .9em; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content code { font-family: monospace; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd { min-width: 1.8em; box-shadow: 0px 1px 1px var(--ck-accessibility-help-dialog-kbd-shadow-color); margin: 0 1px; } .ck.ck-accessibility-help-dialog .ck-accessibility-help-dialog__content kbd + kbd { margin-left: 2px; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A visual style of focused element's border. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements a button of given background color. * * @param {String} $background - Background color of the button. * @param {String} $border - Border color of the button. */ :root { --ck-color-editable-blur-selection: hsl(0, 0%, 85%); } .ck.ck-editor__editable:not(.ck-editor__nested-editable) { border-radius: 0; } .ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable), .ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable) { border-radius: var(--ck-border-radius); } .ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable) { /* Disable native outline. */ outline: none; border: var(--ck-focus-ring); box-shadow: var(--ck-inner-shadow), 0 0; } .ck.ck-editor__editable_inline { overflow: auto; padding: 0 var(--ck-spacing-standard); border: 1px solid transparent; } .ck.ck-editor__editable_inline[dir="ltr"] { text-align: left; } .ck.ck-editor__editable_inline[dir="rtl"] { text-align: right; } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */ .ck.ck-editor__editable_inline > *:first-child { margin-top: var(--ck-spacing-large); } /* https://github.com/ckeditor/ckeditor5/issues/847 */ .ck.ck-editor__editable_inline > *:last-child { /* * This value should match with the default margins of the block elements (like .media or .image) * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825). */ margin-bottom: var(--ck-spacing-large); } /* https://github.com/ckeditor/ckeditor5/issues/6517 */ .ck.ck-editor__editable_inline.ck-blurred ::selection { background: var(--ck-color-editable-blur-selection); } /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */ .ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"]::after { border-bottom-color: var(--ck-color-panel-background); } .ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"]::after { border-top-color: var(--ck-color-panel-background); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-form-header-height: 44px; } .ck.ck-form__header { padding: var(--ck-spacing-small) var(--ck-spacing-large); height: var(--ck-form-header-height); line-height: var(--ck-form-header-height); border-bottom: 1px solid var(--ck-color-base-border); } [dir="ltr"] .ck.ck-form__header > .ck-icon { margin-right: var(--ck-spacing-medium); } [dir="rtl"] .ck.ck-form__header > .ck-icon { margin-left: var(--ck-spacing-medium); } .ck.ck-form__header .ck-form__header__label { --ck-font-size-base: 15px; font-weight: bold; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal)); --ck-icon-font-size: .8333350694em; } .ck.ck-icon { width: var(--ck-icon-size); height: var(--ck-icon-size); /* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */ font-size: var(--ck-icon-font-size); /* Inherit cursor style (#5). */ cursor: inherit; } .ck.ck-icon * { /* Inherit cursor style (#5). */ cursor: inherit; } /* Allows dynamic coloring of an icon by inheriting its color from the parent. */ .ck.ck-icon.ck-icon_inherit-color { color: inherit; } .ck.ck-icon.ck-icon_inherit-color * { color: inherit; } .ck.ck-icon.ck-icon_inherit-color *:not([fill]) { /* Needed by FF. */ fill: currentColor; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A visual style of focused element's border. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ :root { --ck-input-width: 18em; /* Backward compatibility. */ --ck-input-text-width: var(--ck-input-width); } .ck.ck-input { border-radius: 0; background: var(--ck-color-input-background); border: 1px solid var(--ck-color-input-border); padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium); min-width: var(--ck-input-width); /* This is important to stay of the same height as surrounding buttons */ min-height: var(--ck-ui-component-min-height); /* Apply some smooth transition to the box-shadow and border. */ transition: box-shadow .1s ease-in-out, border .1s ease-in-out; } .ck-rounded-corners .ck.ck-input, .ck.ck-input.ck-rounded-corners { border-radius: var(--ck-border-radius); } @media (prefers-reduced-motion: reduce) { .ck.ck-input { transition: none; } } .ck.ck-input:focus { /* Disable native outline. */ outline: none; border: var(--ck-focus-ring); box-shadow: var(--ck-focus-outer-shadow), 0 0; } .ck.ck-input[readonly] { border: 1px solid var(--ck-color-input-disabled-border); background: var(--ck-color-input-disabled-background); color: var(--ck-color-input-disabled-text); } .ck.ck-input[readonly]:focus { /* The read-only input should have a slightly less visible shadow when focused. */ box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0; } .ck.ck-input.ck-error { border-color: var(--ck-color-input-error-border); animation: ck-input-shake .3s ease both; } @media (prefers-reduced-motion: reduce) { .ck.ck-input.ck-error { animation: none; } } .ck.ck-input.ck-error:focus { box-shadow: var(--ck-focus-error-outer-shadow), 0 0; } @keyframes ck-input-shake { 20% { transform: translateX(-2px); } 40% { transform: translateX(2px); } 60% { transform: translateX(-1px); } 80% { transform: translateX(1px); } } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-label { font-weight: bold; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ :root { --ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95); --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium); --ck-labeled-field-label-default-position-x: var(--ck-spacing-medium); --ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base)); --ck-color-labeled-field-label-background: var(--ck-color-base-background); } .ck.ck-labeled-field-view { border-radius: 0; } .ck-rounded-corners .ck.ck-labeled-field-view, .ck.ck-labeled-field-view.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper { width: 100%; } .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { top: 0px; pointer-events: none; background: var(--ck-color-labeled-field-label-background); padding: 0 calc(.5 * var(--ck-font-size-tiny)); line-height: initial; font-weight: normal; /* Prevent overflow when the label is longer than the input */ text-overflow: ellipsis; overflow: hidden; max-width: 100%; transition: transform var(--ck-labeled-field-view-transition), padding var(--ck-labeled-field-view-transition), background var(--ck-labeled-field-view-transition); } [dir="ltr"] .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { left: 0px; transform-origin: 0 0; /* By default, display the label scaled down above the field. */ transform: translate(var(--ck-spacing-medium), -6px) scale(.75); } [dir="rtl"] .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { right: 0px; transform-origin: 100% 0; transform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75); } @media (prefers-reduced-motion: reduce) { .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { transition: none; } } .ck.ck-labeled-field-view.ck-error > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { color: var(--ck-color-base-error); } .ck.ck-labeled-field-view.ck-error .ck-input:not([readonly]) + .ck.ck-label { color: var(--ck-color-base-error); } .ck.ck-labeled-field-view .ck-labeled-field-view__status { font-size: var(--ck-font-size-small); margin-top: var(--ck-spacing-small); /* Let the info wrap to the next line to avoid stretching the layout horizontally. The status could be very long. */ white-space: normal; } .ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error { color: var(--ck-color-base-error); } /* Disabled fields and fields that have no focus should fade out. */ .ck.ck-labeled-field-view.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { color: var(--ck-color-input-disabled-text); } /* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */ /* stylelint-disable-next-line no-descending-specificity */ .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { /* Compensate for the default translate position. */ max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width)); background: transparent; padding: 0; } [dir="ltr"] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, [dir="ltr"] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { transform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1); } [dir="rtl"] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty:not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label, [dir="rtl"] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder):not(.ck-error) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label { transform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1); } /*------ DropdownView integration ----------------------------------------------------------------------------------- */ /* Make sure dropdown' background color in any of dropdown's state does not collide with labeled field. */ .ck.ck-labeled-field-view > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button { background: transparent; } /* When the dropdown is "empty", the labeled field label replaces its label. */ .ck.ck-labeled-field-view.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label { opacity: 0; } /* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */ .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label { max-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard)); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-labeled-input .ck-labeled-input__status { font-size: var(--ck-font-size-small); margin-top: var(--ck-spacing-small); /* Let the info wrap to the next line to avoid stretching the layout horizontally. The status could be very long. */ white-space: normal; } .ck.ck-labeled-input .ck-labeled-input__status_error { color: var(--ck-color-base-error); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-list { border-radius: 0; list-style-type: none; background: var(--ck-color-list-background); /* A spacing at the beginning and end of the list */ padding: var(--ck-spacing-small) 0; } .ck-rounded-corners .ck.ck-list, .ck.ck-list.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-list__item { cursor: default; /* Almost as wide as menu bar items. */ min-width: 15em; } .ck.ck-list__item > .ck-button:not(.ck-list-item-button) { padding: var(--ck-spacing-tiny) calc(2 * var(--ck-spacing-standard)); min-height: unset; width: 100%; border-radius: 0; } [dir="ltr"] .ck.ck-list__item > .ck-button:not(.ck-list-item-button) { text-align: left; } [dir="rtl"] .ck.ck-list__item > .ck-button:not(.ck-list-item-button) { text-align: right; } .ck.ck-list__item > .ck-button:not(.ck-list-item-button) .ck-button__label { /* https://github.com/ckeditor/ckeditor5-heading/issues/63 */ line-height: calc(var(--ck-line-height-base) * var(--ck-font-size-base)); } .ck.ck-list__item > .ck-button:not(.ck-list-item-button):active { box-shadow: none; } .ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button) { background: var(--ck-color-list-button-on-background); color: var(--ck-color-list-button-on-text); } .ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button):active { box-shadow: none; } .ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button):hover:not(.ck-disabled) { background: var(--ck-color-list-button-on-background-focus); } .ck.ck-list__item > .ck-button.ck-on:not(.ck-list-item-button):focus:not(.ck-disabled) { border-color: var(--ck-color-base-background); } .ck.ck-list__item > .ck-button:not(.ck-list-item-button):hover:not(.ck-disabled) { background: var(--ck-color-list-button-hover-background); } /* It's unnecessary to change the background/text of a switch toggle; it has different ways of conveying its state (like the switcher) */ .ck.ck-list__item > .ck-button.ck-switchbutton.ck-on { background: var(--ck-color-list-background); color: inherit; } .ck.ck-list__item > .ck-button.ck-switchbutton.ck-on:hover:not(.ck-disabled) { background: var(--ck-color-list-button-hover-background); color: inherit; } .ck-list .ck-list__group { padding-top: var(--ck-spacing-medium); /* Lists come with an inner vertical padding. Don't duplicate it. */ } .ck-list .ck-list__group:first-child { padding-top: 0; } /* The group should have a border when it's not the first item. */ *:not(.ck-hidden) ~ .ck-list .ck-list__group { border-top: 1px solid var(--ck-color-base-border); } .ck-list .ck-list__group > .ck-label { font-size: 11px; font-weight: bold; padding: var(--ck-spacing-medium) var(--ck-spacing-large) 0; } .ck.ck-list__separator { height: 1px; width: 100%; background: var(--ck-color-base-border); /* Give the separator some air */ margin: var(--ck-spacing-small) 0; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-menu-bar { display: flex; flex-wrap: wrap; justify-content: flex-start; background: var(--ck-color-base-background); padding: var(--ck-spacing-small); gap: var(--ck-spacing-small); border: 1px solid var(--ck-color-toolbar-border); width: 100%; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-menu-bar__menu { /* Enable font size inheritance, which allows fluid UI scaling. */ font-size: inherit; } .ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level { max-width: 100%; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A class which indicates that an element holding it is disabled. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements a button of given background color. * * @param {String} $background - Background color of the button. * @param {String} $border - Border color of the button. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * All menu buttons. */ .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button { width: 100%; } .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button > .ck-button__label { flex-grow: 1; overflow: hidden; text-overflow: ellipsis; } .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button.ck-disabled > .ck-button__label { opacity: var(--ck-disabled-opacity); } [dir="ltr"] .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button:not(.ck-button_with-text) { padding-left: var(--ck-spacing-small); } [dir="rtl"] .ck.ck-menu-bar__menu > .ck-menu-bar__menu__button:not(.ck-button_with-text) { padding-right: var(--ck-spacing-small); } /* * Top-level menu buttons only. */ .ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button { padding: var(--ck-spacing-small) var(--ck-spacing-medium); min-height: unset; } .ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button .ck-button__label { width: unset; line-height: unset; /* * Top-level buttons don't use ellipsis and overflow: hidden clips descenders. * See https://github.com/ckeditor/ckeditor5/issues/17422. */ overflow: visible; } .ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button.ck-on { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .ck.ck-menu-bar__menu.ck-menu-bar__menu_top-level > .ck-menu-bar__menu__button .ck-icon { display: none; } /* * Sub-menu buttons. */ .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button { border-radius: 0; } .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow { width: var(--ck-dropdown-arrow-size); } [dir="ltr"] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow { transform: rotate(-90deg); /* A space to accommodate the triangle. */ margin-left: var(--ck-spacing-standard); /* Nudge the arrow gently to the right because its center of gravity is to the left */ margin-right: calc(-1 * var(--ck-spacing-small)); } [dir="rtl"] .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button > .ck-menu-bar__menu__button__arrow { transform: rotate(90deg); left: var(--ck-spacing-standard); /* A space to accommodate the triangle. */ margin-right: var(--ck-spacing-small); /* Nudge the arrow gently to the left because its center of gravity is to the right (after rotation). */ margin-left: calc(-1 * var(--ck-spacing-small)); } .ck.ck-menu-bar__menu:not(.ck-menu-bar__menu_top-level) .ck-menu-bar__menu__button.ck-disabled > .ck-menu-bar__menu__button__arrow { opacity: var(--ck-disabled-opacity); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-menu-bar-menu-item-min-width: 18em; } .ck.ck-menu-bar__menu .ck.ck-menu-bar__menu__item { min-width: var(--ck-menu-bar-menu-item-min-width); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * List item buttons. */ .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button { border-radius: 0; } .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container, .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container .ck-spinner { /* These styles correspond to .ck-icon so that the spinner seamlessly replaces the icon. */ --ck-toolbar-spinner-size: 20px; } .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container { /* This ensures margins corresponding to the .ck-icon. */ font-size: var(--ck-icon-font-size); } [dir="ltr"] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container { margin-right: var(--ck-spacing-medium); } [dir="rtl"] .ck.ck-menu-bar__menu .ck-button.ck-menu-bar__menu__item__button > .ck-spinner-container { margin-left: var(--ck-spacing-medium); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A visual style of focused element's border. */ :root { --ck-menu-bar-menu-panel-max-width: 75vw; } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel { border-radius: 0; background: var(--ck-color-dropdown-panel-background); border: 1px solid var(--ck-color-dropdown-panel-border); bottom: 0; height: fit-content; max-width: var(--ck-menu-bar-menu-panel-max-width); } .ck-rounded-corners .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel { box-shadow: var(--ck-drop-shadow), 0 0; /* Corner border radius consistent with the button. */ } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_es, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_se { border-top-left-radius: 0; } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ws, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_sw { border-top-right-radius: 0; } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_en, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_ne { border-bottom-left-radius: 0; } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_wn, .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel.ck-menu-bar__menu__panel_position_nw { border-bottom-right-radius: 0; } .ck.ck-menu-bar__menu > .ck.ck-menu-bar__menu__panel:focus { outline: none; } .ck.ck-menu-bar .ck-list-item-button:focus, .ck.ck-menu-bar .ck-list-item-button:active { border-color: transparent; box-shadow: none; } .ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:focus, .ck.ck-menu-bar.ck-menu-bar_focus-border-enabled .ck-list-item-button:active { /* Fix truncated shadows due to rendering order. */ position: relative; z-index: 2; /* Disable native outline. */ outline: none; border: var(--ck-focus-ring); box-shadow: var(--ck-focus-outer-shadow), 0 0; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ :root { --ck-balloon-border-width: 1px; --ck-balloon-arrow-offset: 2px; --ck-balloon-arrow-height: 10px; --ck-balloon-arrow-half-width: 8px; --ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop); } .ck.ck-balloon-panel { border-radius: 0; min-height: 15px; background: var(--ck-color-panel-background); border: var(--ck-balloon-border-width) solid var(--ck-color-panel-border); } .ck-rounded-corners .ck.ck-balloon-panel, .ck.ck-balloon-panel.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-balloon-panel { box-shadow: var(--ck-drop-shadow), 0 0; } .ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before, .ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after { width: 0; height: 0; border-style: solid; } .ck.ck-balloon-panel[class*="arrow_n"]::before, .ck.ck-balloon-panel[class*="arrow_n"]::after { border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width); } .ck.ck-balloon-panel[class*="arrow_n"]::before { border-color: transparent transparent var(--ck-color-panel-border) transparent; margin-top: calc( -1 * var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_n"]::after { border-color: transparent transparent var(--ck-color-panel-background) transparent; margin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_s"]::before, .ck.ck-balloon-panel[class*="arrow_s"]::after { border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width); } .ck.ck-balloon-panel[class*="arrow_s"]::before { border-color: var(--ck-color-panel-border) transparent transparent; filter: drop-shadow(var(--ck-balloon-arrow-drop-shadow)); margin-bottom: calc( -1 * var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_s"]::after { border-color: var(--ck-color-panel-background) transparent transparent transparent; margin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_e"]::before, .ck.ck-balloon-panel[class*="arrow_e"]::after { border-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height); } .ck.ck-balloon-panel[class*="arrow_e"]::before { border-color: transparent transparent transparent var(--ck-color-panel-border); margin-right: calc( -1 * var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_e"]::after { border-color: transparent transparent transparent var(--ck-color-panel-background); margin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_w"]::before, .ck.ck-balloon-panel[class*="arrow_w"]::after { border-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0; } .ck.ck-balloon-panel[class*="arrow_w"]::before { border-color: transparent var(--ck-color-panel-border) transparent transparent; margin-left: calc( -1 * var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel[class*="arrow_w"]::after { border-color: transparent var(--ck-color-panel-background) transparent transparent; margin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) ); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_n::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_n::after { left: 50%; margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); top: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::after { left: calc(2 * var(--ck-balloon-arrow-half-width)); top: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::after { right: calc(2 * var(--ck-balloon-arrow-half-width)); top: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_s::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_s::after { left: 50%; margin-left: calc(-1 * var(--ck-balloon-arrow-half-width)); bottom: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::after { left: calc(2 * var(--ck-balloon-arrow-half-width)); bottom: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_se::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_se::after { right: calc(2 * var(--ck-balloon-arrow-half-width)); bottom: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_sme::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_sme::after { right: 25%; margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); bottom: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_smw::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_smw::after { left: 25%; margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); bottom: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_nme::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_nme::after { right: 25%; margin-right: calc(2 * var(--ck-balloon-arrow-half-width)); top: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw::after { left: 25%; margin-left: calc(2 * var(--ck-balloon-arrow-half-width)); top: calc(-1 * var(--ck-balloon-arrow-height)); } .ck.ck-balloon-panel.ck-balloon-panel_arrow_e::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_e::after { right: calc(-1 * var(--ck-balloon-arrow-height)); margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); top: 50%; } .ck.ck-balloon-panel.ck-balloon-panel_arrow_w::before, .ck.ck-balloon-panel.ck-balloon-panel_arrow_w::after { left: calc(-1 * var(--ck-balloon-arrow-height)); margin-top: calc(-1 * var(--ck-balloon-arrow-half-width)); top: 50%; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck .ck-balloon-rotator__navigation { background: var(--ck-color-toolbar-background); border-bottom: 1px solid var(--ck-color-toolbar-border); padding: 0 var(--ck-spacing-small); /* Let's keep similar appearance to `ck-toolbar`. */ } .ck .ck-balloon-rotator__navigation > * { margin-right: var(--ck-spacing-small); margin-top: var(--ck-spacing-small); margin-bottom: var(--ck-spacing-small); } /* Gives counter more breath than buttons. */ .ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter { margin-right: var(--ck-spacing-standard); /* We need to use smaller margin because of previous button's right margin. */ margin-left: var(--ck-spacing-small); } /* Disable default annotation shadow inside rotator with fake panels. */ .ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper { box-shadow: none; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ :root { --ck-balloon-fake-panel-offset-horizontal: 6px; --ck-balloon-fake-panel-offset-vertical: 6px; } /* Let's use `.ck-balloon-panel` appearance. See: balloonpanel.css. */ .ck .ck-fake-panel div { box-shadow: var(--ck-drop-shadow), 0 0; min-height: 15px; background: var(--ck-color-panel-background); border: 1px solid var(--ck-color-panel-border); border-radius: var(--ck-border-radius); width: 100%; height: 100%; } .ck .ck-fake-panel div:nth-child( 1 ) { margin-left: var(--ck-balloon-fake-panel-offset-horizontal); margin-top: var(--ck-balloon-fake-panel-offset-vertical); } .ck .ck-fake-panel div:nth-child( 2 ) { margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2); margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2); } .ck .ck-fake-panel div:nth-child( 3 ) { margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3); margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3); } /* If balloon is positioned above element, we need to move fake panel to the top. */ .ck .ck-balloon-panel_arrow_s + .ck-fake-panel, .ck .ck-balloon-panel_arrow_se + .ck-fake-panel, .ck .ck-balloon-panel_arrow_sw + .ck-fake-panel { --ck-balloon-fake-panel-offset-vertical: -6px; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * A helper to combine multiple shadows. */ /** * Gives an element a drop shadow so it looks like a floating panel. */ .ck.ck-sticky-panel .ck-sticky-panel__content_sticky { box-shadow: var(--ck-drop-shadow), 0 0; border-width: 0 1px 1px; border-top-left-radius: 0; border-top-right-radius: 0; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck-vertical-form > .ck-button:nth-last-child(2)::after { border-right: 1px solid var(--ck-color-base-border); } .ck.ck-responsive-form { padding: var(--ck-spacing-large); } .ck.ck-responsive-form:focus { /* See: https://github.com/ckeditor/ckeditor5/issues/4773 */ outline: none; } [dir="ltr"] .ck.ck-responsive-form > :not(:first-child) { margin-left: var(--ck-spacing-standard); } [dir="rtl"] .ck.ck-responsive-form > :not(:last-child) { margin-left: var(--ck-spacing-standard); } @media screen and (max-width: 600px) { .ck.ck-responsive-form { padding: 0; width: calc(.8 * var(--ck-input-width)); } .ck.ck-responsive-form .ck-labeled-field-view { margin: var(--ck-spacing-large) var(--ck-spacing-large) 0; } .ck.ck-responsive-form .ck-labeled-field-view .ck-input-text, .ck.ck-responsive-form .ck-labeled-field-view .ck-input-number { min-width: 0; width: 100%; } /* Let the long error messages wrap in the narrow form. */ .ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error { white-space: normal; } /* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */ .ck.ck-responsive-form > .ck-button:nth-last-child(2)::after { border-right: 1px solid var(--ck-color-base-border); } .ck.ck-responsive-form > .ck-button:nth-last-child(1), .ck.ck-responsive-form > .ck-button:nth-last-child(2) { padding: var(--ck-spacing-standard); margin-top: var(--ck-spacing-large); border-radius: 0; } .ck.ck-responsive-form > .ck-button:nth-last-child(1):not(:focus), .ck.ck-responsive-form > .ck-button:nth-last-child(2):not(:focus) { border-top: 1px solid var(--ck-color-base-border); } [dir="ltr"] .ck.ck-responsive-form > .ck-button:nth-last-child(1), [dir="ltr"] .ck.ck-responsive-form > .ck-button:nth-last-child(2) { margin-left: 0; } [dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(1), [dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(2) { margin-left: 0; } [dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(1):last-of-type, [dir="rtl"] .ck.ck-responsive-form > .ck-button:nth-last-child(2):last-of-type { border-right: 1px solid var(--ck-color-base-border); } } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium)); } .ck.ck-search > .ck-labeled-field-view .ck-input { width: 100%; } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon { --ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing); } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon > .ck-labeled-field-view__input-wrapper > .ck-icon { opacity: .5; pointer-events: none; } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input { width: 100%; } [dir="ltr"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input { padding-left: var(--ck-search-field-view-horizontal-spacing); } [dir="rtl"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty) { padding-left: var(--ck-search-field-view-horizontal-spacing); } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset { --ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing); } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty { --ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium); } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset { min-width: auto; min-height: auto; background: none; opacity: .5; padding: 0; } [dir="ltr"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset { right: var(--ck-spacing-medium); } [dir="rtl"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset { left: var(--ck-spacing-medium); } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover { opacity: 1; } .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input { width: 100%; } [dir="ltr"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty) { padding-right: var(--ck-search-field-view-horizontal-spacing); } [dir="rtl"] .ck.ck-search > .ck-labeled-field-view.ck-search__query_with-reset .ck-input { padding-right: var(--ck-search-field-view-horizontal-spacing); } .ck.ck-search > .ck-search__results { min-width: 100%; } .ck.ck-search > .ck-search__results > .ck-search__info { width: 100%; padding: var(--ck-spacing-medium) var(--ck-spacing-large); } .ck.ck-search > .ck-search__results > .ck-search__info * { white-space: normal; } .ck.ck-search > .ck-search__results > .ck-search__info > span:first-child { font-weight: bold; } .ck.ck-search > .ck-search__results > .ck-search__info > span:last-child { margin-top: var(--ck-spacing-medium); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-toolbar-spinner-size: 18px; } .ck.ck-spinner-container { width: var(--ck-toolbar-spinner-size); height: var(--ck-toolbar-spinner-size); animation: 1.5s infinite ck-spinner-rotate linear; } @media (prefers-reduced-motion: reduce) { .ck.ck-spinner-container { animation-duration: 3s; } } .ck.ck-spinner { width: var(--ck-toolbar-spinner-size); height: var(--ck-toolbar-spinner-size); border-radius: 50%; border: 2px solid var(--ck-color-text); border-top-color: transparent; } @keyframes ck-spinner-rotate { to { transform: rotate(360deg) } } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows. * This bug is especially visible when rows=1. */ .ck-textarea { overflow-x: hidden } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-color-block-toolbar-button: var(--ck-color-text); --ck-block-toolbar-button-size: var(--ck-font-size-normal); } .ck.ck-block-toolbar-button { color: var(--ck-color-block-toolbar-button); font-size: var(--ck-block-toolbar-size); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-toolbar { border-radius: 0; background: var(--ck-color-toolbar-background); padding: 0 var(--ck-spacing-small); border: 1px solid var(--ck-color-toolbar-border); } .ck-rounded-corners .ck.ck-toolbar, .ck.ck-toolbar.ck-rounded-corners { border-radius: var(--ck-border-radius); } .ck.ck-toolbar .ck.ck-toolbar__separator { height: var(--ck-icon-size); width: 1px; min-width: 1px; background: var(--ck-color-toolbar-border); /* * These margins make the separators look better in balloon toolbars (when aligned with the "tip"). * See https://github.com/ckeditor/ckeditor5/issues/7493. */ margin-top: var(--ck-spacing-small); margin-bottom: var(--ck-spacing-small); } .ck.ck-toolbar .ck-toolbar__line-break { height: 0; } .ck.ck-toolbar > .ck-toolbar__items > *:not(.ck-toolbar__line-break) { /* (#11) Separate toolbar items. */ margin-right: var(--ck-spacing-small); } /* Don't display a separator after an empty items container, for instance, when all items were grouped */ .ck.ck-toolbar > .ck-toolbar__items:empty + .ck.ck-toolbar__separator { display: none; } .ck.ck-toolbar > .ck-toolbar__items > *:not(.ck-toolbar__line-break), .ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown { /* Make sure items wrapped to the next line have v-spacing */ margin-top: var(--ck-spacing-small); margin-bottom: var(--ck-spacing-small); } .ck.ck-toolbar.ck-toolbar_vertical { /* Items in a vertical toolbar span the entire width. */ padding: 0; /* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */ } .ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items > .ck { /* Items in a vertical toolbar should span the horizontal space. */ width: 100%; /* Items in a vertical toolbar should have no margin. */ margin: 0; /* Items in a vertical toolbar span the entire width so rounded corners are pointless. */ border-radius: 0; } .ck.ck-toolbar.ck-toolbar_compact { /* No spacing around items. */ padding: 0; } .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > * { /* Compact toolbar items have no spacing between them. */ margin: 0; /* "Middle" children should have no rounded corners. */ } .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > *:not(:first-child):not(:last-child) { border-radius: 0; } /* * Dropdown button has asymmetric padding to fit the arrow. * This button has no arrow so let's revert that padding back to normal. */ .ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck.ck-button.ck-dropdown__button { padding-left: var(--ck-spacing-tiny); } /* A drop-down containing the nested toolbar with configured items. */ /* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */ .ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-dropdown__panel { min-width: auto; } .ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown > .ck-button > .ck-button__label { max-width: 7em; width: auto; } .ck.ck-toolbar:focus { outline: none; } .ck-toolbar-container .ck.ck-toolbar { border: 0; } /* stylelint-disable */ /* * Styles for RTL toolbars. * * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir" * because its parent is not controlled by the editor framework. */ [dir="rtl"] .ck.ck-toolbar > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"] > .ck-toolbar__items > .ck { margin-right: 0; } [dir="rtl"] .ck.ck-toolbar:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"]:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck { /* (#11) Separate toolbar items. */ margin-left: var(--ck-spacing-small); } [dir="rtl"] .ck.ck-toolbar > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="rtl"] > .ck-toolbar__items > .ck:last-child { margin-left: 0; } /* No rounded corners on the right side of the first child. */ [dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:first-child, .ck.ck-toolbar.ck-toolbar_compact[dir="rtl"] > .ck-toolbar__items > .ck:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } /* No rounded corners on the left side of the last child. */ [dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar.ck-toolbar_compact[dir="rtl"] > .ck-toolbar__items > .ck:last-child { border-top-right-radius: 0; border-bottom-right-radius: 0; } /* Separate the the separator form the grouping dropdown when some items are grouped. */ [dir="rtl"] .ck.ck-toolbar > .ck.ck-toolbar__separator, .ck.ck-toolbar[dir="rtl"] > .ck.ck-toolbar__separator { margin-left: var(--ck-spacing-small); } /* Some spacing between the items and the separator before the grouped items dropdown. */ [dir="rtl"] .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child), .ck.ck-toolbar.ck-toolbar_grouping[dir="rtl"] > .ck-toolbar__items:not(:empty):not(:only-child) { margin-left: var(--ck-spacing-small); } /* * Styles for LTR toolbars. * * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir" * because its parent is not controlled by the editor framework. */ [dir="ltr"] .ck.ck-toolbar > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="ltr"] > .ck-toolbar__items > .ck:last-child { margin-right: 0; } /* No rounded corners on the right side of the first child. */ [dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:first-child, .ck.ck-toolbar.ck-toolbar_compact[dir="ltr"] > .ck-toolbar__items > .ck:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; } /* No rounded corners on the left side of the last child. */ [dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar.ck-toolbar_compact[dir="ltr"] > .ck-toolbar__items > .ck:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } /* Separate the the separator form the grouping dropdown when some items are grouped. */ [dir="ltr"] .ck.ck-toolbar > .ck.ck-toolbar__separator, .ck.ck-toolbar[dir="ltr"] > .ck.ck-toolbar__separator { margin-right: var(--ck-spacing-small); } /* Some spacing between the items and the separator before the grouped items dropdown. */ [dir="ltr"] .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child), .ck.ck-toolbar.ck-toolbar_grouping[dir="ltr"] > .ck-toolbar__items:not(:empty):not(:only-child) { margin-right: var(--ck-spacing-small); } /* stylelint-enable */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ .ck.ck-balloon-panel.ck-tooltip { --ck-balloon-border-width: 0px; --ck-balloon-arrow-offset: 0px; --ck-balloon-arrow-half-width: 4px; --ck-balloon-arrow-height: 4px; --ck-tooltip-text-padding: 4px; --ck-color-panel-background: var(--ck-color-tooltip-background); padding: 0 var(--ck-spacing-medium); /* Reset balloon panel styles */ box-shadow: none; } .ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text { font-size: .9em; line-height: 1.5; color: var(--ck-color-tooltip-text); } .ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text { white-space: break-spaces; display: inline-block; padding: var(--ck-tooltip-text-padding) 0; max-width: 200px; } /* Hide the default shadow of the .ck-balloon-panel tip */ .ck.ck-balloon-panel.ck-tooltip::before { display: none; } /* Editor */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /** * Implements rounded corner interface for .ck-rounded-corners class. * * @see $ck-border-radius */ .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content { border-radius: 0; border: 1px solid var(--ck-color-base-border); border-bottom-width: 0; } .ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content, .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.ck-rounded-corners { border-radius: var(--ck-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content.ck-sticky-panel__content_sticky { border-bottom-width: 1px; } .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-menu-bar { border: 0; border-bottom: 1px solid var(--ck-color-base-border); } .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content .ck-toolbar { border: 0; } /* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */ .ck.ck-editor__main > .ck-editor__editable { /* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */ background: var(--ck-color-base-background); border-radius: 0; } .ck-rounded-corners .ck.ck-editor__main > .ck-editor__editable, .ck.ck-editor__main > .ck-editor__editable.ck-rounded-corners { border-radius: var(--ck-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) { border-color: var(--ck-color-base-border); } /* Plugins */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Classes used by the "fake visual selection" displayed in the content when an input * in the bookmark UI has focus (the browser does not render the native selection in this state). */ .ck .ck-fake-bookmark-selection { background: var(--ck-color-link-fake-selection); } /* A collapsed fake visual selection. */ .ck .ck-fake-bookmark-selection_collapsed { height: 100%; border-right: 1px solid var(--ck-color-base-text); margin-right: -1px; outline: solid 1px hsla(0, 0%, 100%, .5); } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-clipboard-drop-target-dot-width: 12px; --ck-clipboard-drop-target-dot-height: 8px; --ck-clipboard-drop-target-color: var(--ck-color-focus-border); } /* * Vertical drop target (in text). */ .ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span { bottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); border: 1px solid var(--ck-clipboard-drop-target-color); background: var(--ck-clipboard-drop-target-color); margin-left: -1px; /* The triangle above the marker */ } .ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span::after { content: ''; width: 0; height: 0; display: block; position: absolute; left: 50%; top: calc(-.5 * var(--ck-clipboard-drop-target-dot-height)); transform: translateX(-50%); border-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent; border-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)); border-style: solid; } /* * Styles of the widget that it a drop target. */ .ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range { outline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important; } /* * Styles of the widget being dragged (its preview). */ .ck.ck-editor__editable .ck-widget:-webkit-drag { zoom: 0.6; outline: none !important; } .ck.ck-clipboard-drop-target-line { height: 0; border: 1px solid var(--ck-clipboard-drop-target-color); background: var(--ck-clipboard-drop-target-color); margin-top: -1px; } .ck.ck-clipboard-drop-target-line::before { content: ''; position: absolute; top: calc(-.5 * var(--ck-clipboard-drop-target-dot-width)); width: 0; height: 0; border-style: solid; } [dir="ltr"] .ck.ck-clipboard-drop-target-line::before { left: -1px; border-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height); border-color: transparent transparent transparent var(--ck-clipboard-drop-target-color); } [dir="rtl"] .ck.ck-clipboard-drop-target-line::before { right: -1px; border-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0; border-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ :root { --ck-color-code-block-label-background: hsl(0, 0%, 46%); } .ck.ck-editor__editable pre[data-language]::after { top: -1px; right: 10px; background: var(--ck-color-code-block-label-background); font-size: 10px; font-family: var(--ck-font-face); line-height: 16px; padding: var(--ck-spacing-tiny) var(--ck-spacing-medium); color: hsl(0, 0%, 100%); white-space: nowrap; } .ck.ck-code-block-dropdown .ck-dropdown__panel { /* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */ max-height: 250px; overflow-y: auto; overflow-x: hidden; } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* See ckeditor/ckeditor5#936. */ @media (forced-colors: active) { .ck.ck-placeholder, .ck .ck-placeholder { /* * This is needed for Edge on Windows to use the right color for the placeholder content (::before). * See https://github.com/ckeditor/ckeditor5/issues/14907. */ forced-color-adjust: preserve-parent-color; } } .ck.ck-placeholder::before, .ck .ck-placeholder::before { cursor: text; } @media (forced-colors: none) { .ck.ck-placeholder::before, .ck .ck-placeholder::before { color: var(--ck-color-engine-placeholder-text); } } @media (forced-colors: active) { .ck.ck-placeholder::before, .ck .ck-placeholder::before { /* * In the high contrast mode there is no telling between regular and placeholder text. Using * italic text to address that issue. See https://github.com/ckeditor/ckeditor5/issues/14907. */ font-style: italic; /* * Without this margin, the caret will not show up and blink when the user puts the selection * in the placeholder (Edge on Windows). See https://github.com/ckeditor/ckeditor5/issues/14907. */ margin-left: 1px; } } /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ /* * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options */ .ck.ck-find-and-replace-form { width: 400px; /* * The