:root {
    --ck-color-image-caption-background: hsl(0, 0%, 97%);
    --ck-color-image-caption-text: hsl(0, 0%, 20%);
    --ck-color-mention-background: hsla(341, 100%, 30%, 0.1);
    --ck-color-mention-text: hsl(341, 100%, 30%);
    --ck-color-selector-caption-background: hsl(0, 0%, 97%);
    --ck-color-selector-caption-text: hsl(0, 0%, 20%);
    --ck-highlight-marker-blue: hsl(201, 97%, 72%);
    --ck-highlight-marker-green: hsl(120, 93%, 68%);
    --ck-highlight-marker-pink: hsl(345, 96%, 73%);
    --ck-highlight-marker-yellow: hsl(60, 97%, 73%);
    --ck-highlight-pen-green: hsl(112, 100%, 27%);
    --ck-highlight-pen-red: hsl(0, 85%, 49%);
    --ck-image-style-spacing: 1.5em;
    --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);
    --ck-todo-list-checkmark-size: 16px;
}

.content-text .table .ck-table-resized {
    table-layout: fixed;
}

.content-text .table table {
    overflow: hidden;
}

.content-text .table td,
.content-text .table th {
    overflow-wrap: break-word;
    position: relative;
}

.content-text .table > figcaption {
    display: table-caption;
    caption-side: top;
    word-break: break-word;
    text-align: center;
    color: var(--ck-color-selector-caption-text);
    background-color: var(--ck-color-selector-caption-background);
    padding: .6em;
    font-size: .75em;
    outline-offset: -1px;
}

.content-text .table {
    margin: 0.9em auto;
    display: table;
}

.content-text .table table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    height: 100%;
    border: 1px double hsl(0, 0%, 70%);
}

.content-text .table table td,
.content-text .table table th {
    min-width: 2em;
    padding: .4em;
    border: 1px solid hsl(0, 0%, 75%);
}

.content-text .table table th {
    font-weight: bold;
    background: hsla(0, 0%, 0%, 5%);
}

.content-text[dir="rtl"] .table th {
    text-align: right;
}

.content-text[dir="ltr"] .table th {
    text-align: left;
}

.content-text .page-break {
    position: relative;
    clear: both;
    padding: 5px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-text .page-break::after {
    content: '';
    position: absolute;
    border-bottom: 2px dashed hsl(0, 0%, 77%);
    width: 100%;
}

.content-text .page-break__label {
    position: relative;
    z-index: 1;
    padding: .3em .6em;
    display: block;
    text-transform: uppercase;
    border: 1px solid hsl(0, 0%, 77%);
    border-radius: 2px;
    font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;
    font-size: 0.75em;
    font-weight: bold;
    color: hsl(0, 0%, 20%);
    background: hsl(0, 0%, 100%);
    box-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.content-text .media {
    clear: both;
    margin: 0.9em 0;
    display: block;
    min-width: 15em;
}

.content-text .todo-list {
    list-style: none;
}

.content-text .todo-list li {
    position: relative;
    margin-bottom: 5px;
}

.content-text .todo-list li .todo-list {
    margin-top: 5px;
}

.content-text .todo-list .todo-list__label > input {
    -webkit-appearance: none;
    display: inline-block;
    position: relative;
    width: var(--ck-todo-list-checkmark-size);
    height: var(--ck-todo-list-checkmark-size);
    vertical-align: middle;
    border: 0;
    left: -25px;
    margin-right: -15px;
    right: 0;
    margin-left: 0;
}

.content-text[dir=rtl] .todo-list .todo-list__label > input {
left: 0;
margin-right: 0;
right: -25px;
margin-left: -15px;
}

.content-text .todo-list .todo-list__label > input::before {
    display: block;
    position: absolute;
    box-sizing: border-box;
    content: '';
    width: 100%;
    height: 100%;
    border: 1px solid hsl(0, 0%, 20%);
    border-radius: 2px;
    transition: 250ms ease-in-out box-shadow;
}

.content-text .todo-list .todo-list__label > input::after {
    display: block;
    position: absolute;
    box-sizing: content-box;
    pointer-events: none;
    content: '';
    left: calc( var(--ck-todo-list-checkmark-size) / 3 );
    top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
    width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
    height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
    border-style: solid;
    border-color: transparent;
    border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
    transform: rotate(45deg);
}

.content-text .todo-list .todo-list__label > input[checked]::before {
    background: hsl(126, 64%, 41%);
    border-color: hsl(126, 64%, 41%);
}

.content-text .todo-list .todo-list__label > input[checked]::after {
    border-color: hsl(0, 0%, 100%);
}

.content-text .todo-list .todo-list__label .todo-list__label__description {
    vertical-align: middle;
}

.content-text .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
    position: absolute;
}

.ck-editor__editable.content-text .todo-list .todo-list__label > input,
.ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input {
    cursor: pointer;
}

.ck-editor__editable.content-text .todo-list .todo-list__label > input:hover::before, .ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input:hover::before {
    box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);
}

.ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input {
    -webkit-appearance: none;
    display: inline-block;
    position: relative;
    width: var(--ck-todo-list-checkmark-size);
    height: var(--ck-todo-list-checkmark-size);
    vertical-align: middle;
    border: 0;
    left: -25px;
    margin-right: -15px;
    right: 0;
    margin-left: 0;
}

.ck-editor__editable.content-text[dir=rtl] .todo-list .todo-list__label > span[contenteditable=false] > input {
    left: 0;
    margin-right: 0;
    right: -25px;
    margin-left: -15px;
}

.ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input::before {
    display: block;
    position: absolute;
    box-sizing: border-box;
    content: '';
    width: 100%;
    height: 100%;
    border: 1px solid hsl(0, 0%, 20%);
    border-radius: 2px;
    transition: 250ms ease-in-out box-shadow;
}

.ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input::after {
    display: block;
    position: absolute;
    box-sizing: content-box;
    pointer-events: none;
    content: '';
    left: calc( var(--ck-todo-list-checkmark-size) / 3 );
    top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
    width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
    height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
    border-style: solid;
    border-color: transparent;
    border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
    transform: rotate(45deg);
}

.ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::before {
    background: hsl(126, 64%, 41%);
    border-color: hsl(126, 64%, 41%);
}

.ck-editor__editable.content-text .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::after {
    border-color: hsl(0, 0%, 100%);
}

.ck-editor__editable.content-text .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] {
    position: absolute;
}

.content-text img.image_resized {
    height: auto;
}

.content-text .image.image_resized {
    max-width: 100%;
    display: block;
    box-sizing: border-box;
}

.content-text .image.image_resized img {
    width: 100%;
}

.content-text .image.image_resized > figcaption {
    display: block;
}

.content-text .image {
    display: table;
    clear: both;
    text-align: center;
    margin: 0.9em auto;
    min-width: 50px;
}

.content-text .image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    min-width: 100%;
    height: auto;
}

.content-text .image-inline {
    /*
     * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).;
     * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.
     * This strange behavior does not happen with inline-flex.
     */
    display: inline-flex;
    max-width: 100%;
    align-items: flex-start;
}

.content-text .image-inline picture {
    display: flex;
}

.content-text .image-inline picture,
.content-text .image-inline img {
    flex-grow: 1;
    flex-shrink: 1;
    max-width: 100%;
}

.content-text .image > figcaption {
    display: table-caption;
    caption-side: bottom;
    word-break: break-word;
    color: var(--ck-color-image-caption-text);
    background-color: var(--ck-color-image-caption-background);
    padding: .6em;
    font-size: .75em;
    outline-offset: -1px;
}

.content-text ol {
    list-style-type: decimal;
}

.content-text ol ol {
    list-style-type: lower-latin;
}

.content-text ol ol ol {
    list-style-type: lower-roman;
}

.content-text ol ol ol ol {
    list-style-type: upper-latin;
}

.content-text ol ol ol ol ol {
    list-style-type: upper-roman;
}

.content-text ul {
    list-style-type: disc;
}

.content-text ul ul {
    list-style-type: circle;
}

.content-text ul ul ul {
    list-style-type: square;
}

.content-text ul ul ul ul {
    list-style-type: square;
}

.content-text .image-style-block-align-left,
.content-text .image-style-block-align-right {
    max-width: calc(100% - var(--ck-image-style-spacing));
}

.content-text .image-style-align-left,
.content-text .image-style-align-right {
    clear: none;
}

.content-text .image-style-side {
    float: right;
    margin-left: var(--ck-image-style-spacing);
    max-width: 50%;
}

.content-text .image-style-align-left {
    float: left;
    margin-right: var(--ck-image-style-spacing);
}

.content-text .image-style-align-center {
    margin-left: auto;
    margin-right: auto;
}

.content-text .image-style-align-right {
    float: right;
    margin-left: var(--ck-image-style-spacing);
}

.content-text .image-style-block-align-right {
    margin-right: 0;
    margin-left: auto;
}

.content-text .image-style-block-align-left {
    margin-left: 0;
    margin-right: auto;
}

.content-text p + .image-style-align-left,
.content-text p + .image-style-align-right,
.content-text p + .image-style-side {
    margin-top: 0;
}

.content-text .image-inline.image-style-align-left,
.content-text .image-inline.image-style-align-right {
    margin-top: var(--ck-inline-image-style-spacing);
    margin-bottom: var(--ck-inline-image-style-spacing);
}

.content-text .image-inline.image-style-align-left {
    margin-right: var(--ck-inline-image-style-spacing);
}

.content-text .image-inline.image-style-align-right {
    margin-left: var(--ck-inline-image-style-spacing);
}

.content-text .marker-yellow {
    background-color: var(--ck-highlight-marker-yellow);
}

.content-text .marker-green {
    background-color: var(--ck-highlight-marker-green);
}

.content-text .marker-pink {
    background-color: var(--ck-highlight-marker-pink);
}

.content-text .marker-blue {
    background-color: var(--ck-highlight-marker-blue);
}

.content-text .pen-red {
    color: var(--ck-highlight-pen-red);
    background-color: transparent;
}

.content-text .pen-green {
    color: var(--ck-highlight-pen-green);
    background-color: transparent;
}

.content-text blockquote {
    overflow: hidden;
    padding-right: 1.5em;
    padding-left: 1.5em;
    margin-left: 0;
    margin-right: 0;
    font-style: italic;
    border-left: solid 5px hsl(0, 0%, 80%);
}

.content-text[dir="rtl"] blockquote {
    border-left: 0;
    border-right: solid 5px hsl(0, 0%, 80%);
}

.content-text code {
    background-color: hsla(0, 0%, 78%, 0.3);
    padding: .15em;
    border-radius: 2px;
}

.content-text .text-tiny {
    font-size: .7em;
}

.content-text .text-small {
    font-size: .85em;
}

.content-text .text-big {
    font-size: 1.4em;
}

.content-text .text-huge {
    font-size: 1.8em;
}

.content-text .mention {
    background: var(--ck-color-mention-background);
    color: var(--ck-color-mention-text);
}

.content-text hr {
    margin: 15px 0;
    height: 4px;
    background: hsl(0, 0%, 87%);
    border: 0;
}

.content-text pre {
    padding: 1em;
    color: hsl(0, 0%, 20.8%);
    background: hsla(0, 0%, 78%, 0.3);
    border: 1px solid hsl(0, 0%, 77%);
    border-radius: 2px;
    text-align: left;
    direction: ltr;
    tab-size: 4;
    white-space: pre-wrap;
    font-style: normal;
    min-width: 200px;
}

.content-text pre code {
    background: unset;
    padding: 0;
    border-radius: 0;
}
@media print {
    
    .content-text .page-break {
        padding: 0;
    }
    
    .content-text .page-break::after {
        display: none;
    }
}


.content-text {
    font-size: 13px;
    line-height: normal;
    padding-top: 2em;
    padding-bottom: 2em;
}

.content-text .ck-horizontal-line {
    margin-bottom: 1em;
}

.content-text hr {
    width: 100px;
    border-top: 1px solid #aaa;
    height: 1px;
    margin: 1em auto;
}

.content-text h3.category {
    font-size: 20px;
    font-weight: bold;
    color: #d1d1d1;
    letter-spacing: 10px;
    margin: 0;
    padding: 0;
}

.content-text h2.document-title {
    font-size: 50px;
    font-weight: bold;
    margin: 0;
    padding: 0;
    border: 0;
}

.content-text h3.document-subtitle {
    font-size: 20px;
    color: var(--primary);
    margin: 0 0 1em;
    font-weight: normal;
    padding: 0;
}

.content-text p.info-box {
    --background-size: 30px;
    --background-color: var(--primary);
    padding: 1.2em 2em;
    border: 1px solid var(--background-color);
    background: linear-gradient(135deg, var(--background-color) 0%, var(--background-color) var(--background-size), transparent var(--background-size)), linear-gradient(135deg, transparent calc(100% - var(--background-size)), var(--background-color) calc(100% - var(--background-size)), var(--background-color));
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 5px 5px 0 var(--ck-highlight-marker-blue);
}

.content-text blockquote.side-quote {
    font-style: normal;
    float: right;
    width: 35%;
    position: relative;
    border: 0;
    overflow: visible;
    z-index: 1;
    margin-left: 1em;
}

.content-text blockquote.side-quote::before {
    content: "“";
    position: absolute;
    top: -37px;
    left: -10px;
    display: block;
    font-size: 200px;
    color: #e7e7e7;
    z-index: -1;
    line-height: 1;
}

.content-text blockquote.side-quote p {
    font-size: 2em;
    line-height: 1;
}

.content-text blockquote.side-quote p:last-child:not(:first-child) {
    font-size: 1.3em;
    text-align: right;
    color: #555;
}

.content-text span.marker {
    background: yellow;
}

.content-text span.spoiler {
    background: #000;
    color: #000;
}

.content-text span.spoiler:hover {
    background: #000;
    color: #fff;
}

.content-text pre.fancy-code {
    border: 0;
    margin-left: 2em;
    margin-right: 2em;
    border-radius: 10px;
}

.content-text pre.fancy-code::before {
    content: "";
    display: block;
    height: 13px;
    background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NCAxMyI+CiAgPGNpcmNsZSBjeD0iNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGMzZCNUMiLz4KICA8Y2lyY2xlIGN4PSIyNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGOUJFNEQiLz4KICA8Y2lyY2xlIGN4PSI0Ny41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiM1NkM0NTMiLz4KPC9zdmc+Cg==);
    margin-bottom: 8px;
    background-repeat: no-repeat;
}

.content-text pre.fancy-code-dark {
    background: #272822;
    color: #fff;
    box-shadow: 5px 5px 0 #0000001f;
}

.content-text pre.fancy-code-bright {
    background: #dddfe0;
    color: #000;
    box-shadow: 5px 5px 0 #b3b3b3;
}

.content-text strong {
    font-weight: bold;
}