body.page .layer.loader { /* загрузка в главной странице */
    background-size: 48px; /* крупный значок */
}

.loader {
    background-image: url(/images/loader.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 28px;
    min-width: 50px;
    min-height: 50px;
}

.layer.loader { /* ожидание ответа от сервера */
    display: flex;
    position: fixed;
    width: 100%; 
    height: 100%; /* рaзмерoм вo весь экрaн */
    top:0; /* сверху и слевa 0, oбязaтельные свoйствa! */
    left:0;
    z-index: 100; 
}

img.loader, iframe.loader {
    box-shadow: 0px 0px 0px 1px #d67834 inset !important;
}

body {
    --text-color: #000;   
    --blockquote-bg-color: #efefef;
    --blockquote-border-color: #7f7f7f;
    --pre-border-color: #ddd;
    --pre-bg-color: #fff;
    --pre-text-color: #444;
    --btn-blockquote: url('/images/btns_editor/blockquote.svg');
}

body.dark {
    --text-color: #fff;
    --blockquote-bg-color: #29333D;
    --blockquote-border-color: #ccc;
    --pre-border-color: #111;
    --pre-bg-color: var(--blockquote-bg-color);
    --pre-text-color: #fff;
    --btn-blockquote: url('/images/btns_editor/blockquote.svg?fill=fff');
}

.ce {
    color: var(--text-color);
    white-space: pre-wrap;
}

.ce * { /* сбрасываем первональные значения отступов у браузера для всех элементов */
    padding: 0;
    margin: 0;
    font-size: 13.4px;
}

.ce > *, .ce blockquote > * {  
    margin: 0 0 11px 0;
}

.ce *:last-child, .ce nv-media img, .ce nv-media iframe, .ce nv-media video, .ce nv-media audio {  
    margin-bottom: 0;
}

.ce nv-media, .ce img, .ce iframe, .ce video, .ce audio {
    display: block;
    max-width: 100%;
    border: none;
}

.ce p, .ce li {
    line-height: 29px;
}

.ce p.caption { /* описание изображения */
    margin-bottom: 0;
}

.ce blockquote {
    background: var(--btn-blockquote) right 6px top 6px / 15px no-repeat var(--blockquote-bg-color);
    border-left: 4px solid var(--blockquote-border-color);
    padding: 10px 25px 10px 15px;
    font-style: italic;
    border-radius: 4px;
}

.ce ul, .ce ol {
    margin-left: 35px;
}

.ce ul li {
    list-style-type: disc;
}

.ce ol li {
    list-style-type: decimal;
}

.ce pre {
    padding: 10px;
    border: 1px solid var(--pre-border-color);
    background-color: var(--pre-bg-color);
    white-space: pre-wrap;
    line-height: 18px;
    color: var(--pre-text-color);
}

.ce code {
    background-color: var(--pre-bg-color);
    color: var(--pre-text-color);
}

.ce h2 {
    font-size: 20px;
    margin-bottom: 6px;
    font-weight: normal;
}

.ce h3 {
    margin-bottom: 0;
    font-weight: 600;
}

.ce table.sql_tab { 
    white-space: nowrap; 
    border-collapse: collapse !important; 
    margin: 9px 0; 
    background-color: PaleGoldenRod; 
    width: auto; 
}

.ce table.sql_tab td { 
    border: 1px dashed grey; 
    padding: 1px 8px; 
    font-family: monospace !important; 
    text-align: center; 
}

.ce table.sql_tab tr:first-child { 
    color: red; 
}

.ce hr {
    height: 0px;
    border: none;
    border-top: 1px dotted #999;
}

.ce nv-opponent, .ce b, .ce nv-addon {
    font-weight: 600;
}

.ce nv-addon {
    font-style: italic;
}