/* основные */
* { box-sizing: border-box; font-family: 'Montserrat', sans-serif!important; }
*:focus { outline-color: #fa0; }
body { background: #fff; margin: 0; padding: 0; overflow: auto; font-size: 16px; }
a, a:focus { transition: all 0.1s ease-out; text-decoration: none; color: #0180ca; border-bottom: 1px solid #0180ca55; }
a:hover { color: #27b0ff; border-bottom-color: #27b0ff; text-decoration: none; }
.noline a, a.noline { border-bottom: none!important; }
body.page-loading a[href^="/"] { cursor: wait!important; }
.page-load-indicator { display: none; position: fixed; top: 0; left: 0; right: 0; height: 9px; background: url(/i/ajax-h.gif) 0 9px / 140px; opacity: .2; }
body.page-loading .page-load-indicator { display: block; }
input[type="submit"], input[type="button"], .button { font-family: 'Montserrat', serif !important; text-align: center; border-radius: 5px; font-weight: bold; background: linear-gradient(to bottom, #27b0ff, #00436a ); border: none; padding: 1em 1.2em 1em 1em; color: #fff; font-size: 14px; display: inline-block; text-decoration: none; text-shadow: 1px 2px 0 #0002; text-transform: uppercase; box-shadow: 1px 2px 3px #0004, 0 2px 0 #fff4 inset, 0 -2px 0 #0004 inset !important; font-style: italic; cursor: pointer; outline: none; }
input[type="submit"]:hover, input[type="button"]:hover, .button:hover { background: linear-gradient( to bottom , #27c2ff, #00516a  ); outline: none; border: none; color: #fff; text-decoration: none; }
input[type="submit"]:focus, input[type="button"]:focus, .button:focus { color: #fff; text-decoration: none; border: none; }
input[type="submit"].loading, input[type="button"].loading, .button.loading { background: url(/i/ajax-bg-50.gif) #eee; color: rgba(0,0,0,0.2); cursor: progress; outline: none; }
input[type="submit"].disabled, input[type="button"].disabled, .button.disabled { background: #eee; color: #ccc; border-bottom-color: #ccc; cursor: default; outline: none; }
input[type="submit"].gray, input[type="button"].gray, .button.gray { background: linear-gradient(to top, #6a6a6a, #ababab); }
input[type="submit"].gray:hover, input[type="button"].gray:hover, .button.gray:hover { background: linear-gradient(to top, #777, #c4c4c4); }
input[type="submit"].green, input[type="button"].green, .button.green { background: #00a72a; }
input[type="submit"].green:hover, input[type="button"].green:hover, .button.green:hover { background: #40b711; }
input[type="submit"].red, input[type="button"].red, .button.red { background: #de2525; }
input[type="submit"].red:hover, input[type="button"].red:hover, .button.red:hover { background: #ff4b2c; }
.placeholder-container { position: relative; display: inline-block; line-height: 100%!important; }
.placeholder-container label { color: #999; font-size: 16px; line-height: 16px; pointer-events: none; position: absolute; transition: all 200ms; top: 6px; left: 5px; width: calc( 100% - 10px ); text-align: left; }
.placeholder-container .tcent+label { text-align: center; }
.placeholder-container input:focus + label,
.placeholder-container input:not(:placeholder-shown) + label,
.placeholder-container textarea:focus + label,
.placeholder-container textarea:not(:placeholder-shown) + label,
.placeholder-container .richedit + label
{ top: -10px; left: 10px; width: calc( 100% - 20px ); font-size: 12px; }
.placeholder-container .richedit + label
{ top: -18px; }
.placeholder-container .tcent+label { text-align: center; }
.placeholder-container input:focus + label,
.placeholder-container textarea:focus + label,
.placeholder-container .ck-focused + label
{ color: #06c; }
.placeholder-container label div { background: #eee; display: inline-block; padding: 10px; background: #fff; border-radius: 3px; }
.placeholder-container input:focus + label div,
.placeholder-container input:not(:placeholder-shown) + label div,
.placeholder-container textarea:focus + label div,
.placeholder-container textarea:not(:placeholder-shown) + label div
{ padding: 2px 10px; }
.placeholder-container label span { color: #ccc; font-size: 14px; }
.placeholder-container input:focus + label span,
.placeholder-container input:not(:placeholder-shown) + label span,
.placeholder-container textarea:focus + label span,
.placeholder-container textarea:not(:placeholder-shown) + label span
{ display: none; }
input.date { background: url(/i/calendar.png) no-repeat 7px 50%!important; text-align: center; cursor: pointer; }
.date-label { color: #bbb; background: #fff; z-index: 1; position: relative; display: inline-block; top: -13px; left: 7px; padding: 3px 7px; border-radius: 5px; }
.date-label+div { margin-top: -25px; }
h1 { font-size: 40px; margin: 0; font-weight: bold; }
h2 { font-size: 28px; margin: 40px 0 10px; font-weight: bold; }
h3 { font-size: 20px; margin: 40px 0 10px; font-weight: bold; }
table { border-collapse: collapse; }
td { vertical-align: top; padding: 0; }
.ck.richedit { padding: 2px 14px!important; border: 1px solid #ccc!important; border-radius: 5px!important; background: #fff; box-shadow: 2px 2px 1px #0001 inset; min-height: 120px; }
.richedit.ck .ck-placeholder:before { color: #ccc; }
input[type="text"], input[type="password"], textarea, select { width: 280px; padding: 14px; border: 1px solid #ccc; color: #000; font-size: 16px; border-radius: 5px; background: #fff; margin: 0; box-shadow: 2px 2px 1px #0001 inset; vertical-align: top; }
/*input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus { border: 1px solid #999; box-shadow: 2px 2px 5px #0002, 2px 2px 0 #0001 inset; outline: none; }*/
input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus, .ck.ck-focused { border: 1px solid #09f!important; box-shadow: none!important; outline: 3px solid #09f2!important; }
input::-moz-placeholder, textarea::-moz-placeholder { color: #999; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #999; }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder { color: #ccc; }
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder { color: #ccc; }
select { cursor: pointer; padding: .5em; }
select[size] { padding: 0; }
option { padding: 3px 10px; font-size: 16px; }
p { margin-top: 1em; }
p:first-child { margin-top: 0; }
.list-loading { text-align: center; font-size: 30px; color: #ccc; padding: 100px 0; background: url(/i/ajax.svg) no-repeat 50% 50% / 100px; display: none; }
.list-loading * { vertical-align: middle; margin: 0 10px; }
.list-empty { background: #eee; padding: 100px 10px; font-size: 20px; color: #999; text-align: center; margin-top: 20px; }

/* базовая разметка страницы */
.general-layout { display: flex; min-height: 100vh; }
.leftmenu { width: 320px; min-width: 320px; background: #f8f8f8; color: #666; font-size: 13px; box-shadow: -3px 0 3px 3px #0006; }
.leftmenu a, .mobile-menu-nav a { color: #444; border-bottom: 1px solid #4443; }
.menu-links { font-size: 16px; margin-top: 15px; }
.menu-links a { display: block; padding: 15px 30px 15px 65px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; color: #444; margin-top: -1px; background: url(/i/chat.png) no-repeat 30px 12px / 24px #eee; }
.menu-links a:hover { background-color: #f8f8f8; }
.menu-links a.active { background-color: #ddd; }
.cabinet-content { padding: 30px 40px 80px; width: calc( 100% - 300px ); }
.cabinet-content-full { padding: 30px 40px 80px; width: 100%; }
.mobile-menu, .public-mobile-menu { display: none; z-index: 1000; background: #f8f8f8; height: 60px; position: fixed; bottom: 0; left: 0; right: 0; box-shadow: 0 3px 3px 3px #0006; }
.nav-back { margin-bottom: 10px; text-align: center; }
.tab-menu { text-align: center; margin: 20px auto; white-space: nowrap; background: linear-gradient( to bottom , #ddd, #eee); width: fit-content; padding: 2px; box-shadow: 1px 1px 2px #0001 inset; border-radius: 10px; max-width: 100%; display: flex; overflow: hidden; flex-wrap: wrap; justify-content: center; }
.tab-menu a { display: inline-block; padding: 10px; border-radius: 6px; border: none; color: #666; margin: 2px; }
.tab-menu a:hover { background: #fff9; }
.tab-menu a.active { background: #fff; box-shadow: 1px 1px 2px #0002; color: #444; }
.popup, .popup-store { display: none; }
.popup-area { z-index: 10000; display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow-y: auto; cursor: pointer; background: #0009; padding: 10px; }
.popup-window { background: #fff; padding: 30px; margin: auto; cursor: auto; border-radius: 10px; box-shadow: 2px 2px 10px #0003; max-width: 100%; min-width: 300px; }
.popup-area#alert { z-index: 10001; text-align: center; }

/* универсальные правила */
.top-10 { margin-top: -10px; }
.top-5 { margin-top: -5px; }
.top0 { margin-top: 0; }
.top5 { margin-top: 5px; }
.top10 { margin-top: 10px; }
.top20 { margin-top: 20px; }
.top30 { margin-top: 30px; }
.top40 { margin-top: 40px; }
.top60 { margin-top: 60px; }
.top80 { margin-top: 80px; }
.b0 { margin-bottom: 0; }
.b10 { margin-bottom: 10px; }
.r10 { margin-right: 10px; }
.r20 { margin-right: 20px; }
.r40 { margin-right: 40px; }
.l10 { margin-left: 10px; }
.l20 { margin-left: 20px; }
.l40 { margin-left: 40px; }
.w200 { width: 200px!important; }
.w280 { width: 280px!important; }
.w300 { width: 300px!important; }
.w100p { width: 100%!important; }
.vtop { vertical-align: top; }
.vmiddle { vertical-align: middle; }
.vbottom { vertical-align: bottom; }
.clear { clear: both; }
.gray6 { color: #666; }
.gray9 { color: #999; }
.grayb { color: #bbb; }
.grayc { color: #ccc; }
.font12 { font-size: 12px; }
.font14 { font-size: 14px; }
.font16 { font-size: 16px; }
.font18 { font-size: 18px; }
.font20 { font-size: 20px; }
.font20a { font-size: 20px; }
.font24 { font-size: 24px; }
.font28 { font-size: 28px; }
.font40 { font-size: 40px; }
.tleft { text-align: left; }
.tright { text-align: right; }
.tcent { text-align: center; }
.fleft { float: left; }
.fright { float: right; }
.mcent { margin-left: auto; margin-right: auto; }
.nobr { white-space: nowrap; }
.cpointer { cursor: pointer; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.iblock { display: inline-block; }
.hide { display: none; }
.red { color: #920; }
a.red, a.red:focus { color: #920; border-bottom-color: #9205; }
a.red:hover { color: #b30; border-bottom-color: #b30; }
.line170 { line-height: 170%; }
.line200 { line-height: 200%; }
.overfade { opacity: .5; transition: 200ms; }
.overfade:hover { opacity: 1; }
.flex { display: flex; flex-wrap: wrap; }
.flex-cent { display: flex; justify-content: center; flex-wrap: wrap; margin-left: -20px; margin-right: -20px; }
.m10 { margin: 10px; }
.m20 { margin: 20px; }
.box, .box:hover, .box:focus { border: 1px solid #ddd; box-shadow: 0 0 10px #0001; padding: 20px; border-radius: 10px; overflow: hidden; color: #000; }
.box-title { border-bottom: 1px solid #ddd; margin: -20px -20px 20px; padding: 15px 20px; background: linear-gradient(to bottom, #fff, #eee); }
a.box:hover { border: 1px solid #27b0ff; box-shadow: 0 0 10px #27b0ff66; }
.ugc img { max-width: 100%; }
.ugc figure.image, .ugc figure.media { margin: 1em auto; }
.ugc figure.image.image-style-side { float: right; margin: 0 0 0 20px; }
.ugc:after { content: ""; display: block; clear: both; }

/* универсальные правила адаптивной верстки */
.block1200, .inline1200, .iblock1200 { display: none; }
.block800, .inline800, .iblock800 { display: none; }
.block500, .inline500, .iblock500 { display: none; }

/* плагины */
.type-progress-container { position: relative; height: 3px; opacity: 0; background: #eee; margin: 0 4px -3px; border-radius: 2px; overflow: hidden; top: -6px; }
.type-progress-container.focus { opacity: 1; }
.type-progress-container .type-progress { position: absolute; left: 0; top: 0; bottom: 0; width: 0%; background: #84bcec; }
#lz-box img { border-radius: 20px; }
#lz-close { border: none; top: 20px; right: 20px; background: url(/i/close-white.png?) no-repeat 0 / 20px; width: 20px; height: 20px; }
.ck.ck-balloon-panel { z-index: 20; }
.ck.ck-balloon-panel.ck-balloon-panel_toolbar_west.ck-toolbar-container { z-index: 10; }

/* страница пользователя */
.profile-links { display: flex; justify-content: center; flex-wrap: wrap; margin: 30px -20px 0; padding: 0; }
.profile-links a, .profile-links li { cursor: pointer; width: 300px; height: 60px; display: flex; border: 1px solid #cde; box-shadow: 0 0 10px #0001; border-radius: 5px; color: #000; margin: 7px; overflow: hidden; font-size: 14px; }
.profile-links a:hover, .profile-links li:hover { border: 1px solid #ace; box-shadow: 0 0 5px #0003; }
.profile-link-icon { width: 60px; border-right: 1px solid #cde; }
.profile-links a:hover .profile-link-icon, .profile-links li:hover .profile-link-icon { border-right: 1px solid #ace; }
.profile-link-title { width: 220px; margin: auto; word-wrap: break-word; text-align: center; max-height: 38px; overflow: hidden; }
/*.profile-link-title div { text-align: center; margin: auto; word-wrap: break-word; }*/
.profile-link-descr { opacity: .5; font-size: 12px; margin-top: 0px; }
a.profile-link-add { background: #eee; border: 1px solid #ddd; text-align: center; color: #999; padding: 0; }





.div-item { background: url(/i/finished32.png) 0 4px / 16px no-repeat; padding-left: 24px; min-height: 20px; line-height: 170%; margin-top: 10px; }

label { cursor: pointer; font-weight: normal; }
label input { cursor: pointer; }
label.cbox { font-weight: normal; color: #666; background: #eee; padding: 8px 15px 11px; border-radius: 5px; cursor: pointer; margin: 0; display: inline-block; }
label.cbox span { margin-left: 5px; vertical-align: middle; }
label.cbox input { vertical-align: middle; }

.grid { width: 100%; }
.grid .head { background: #eee; }
.grid td { border: 1px solid #ccc; padding: 10px; }
.grid.lines td { padding: 10px 20px 10px 0; border: 1px dotted #999; border-width: 0 0 1px; }
.grid.lines td:last-child { padding-right: 0; }
.grid.lines .head { background: transparent!important; color: #bbb; border-top: none; }
.grid.lines tr.loading { background: url(/i/ajax-bg-50.gif) #eee; color: rgba(0,0,0,0.2); cursor: progress; outline: none; }

.datetime { cursor: pointer; }

[type="checkbox"] { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }
[type="checkbox"] + label { cursor: pointer; }
[type="checkbox"]:not(checked) { position: absolute; opacity: 0; }
[type="checkbox"]:not(checked) + label { position: relative; padding: 6px 0 0 60px; margin: 0; display: inline-block; }
[type="checkbox"]:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 50px; height: 28px; border-radius: 5px; background: linear-gradient(to bottom, #ececec 0%, #fff 100%); border: 1px solid #ddd; }
[type="checkbox"]:not(checked) + label:after { content: ''; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 3px; background: linear-gradient(to bottom, #fff 0%, #eee 100%); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: all .2s; border: 1px solid #999; }
[type="checkbox"]:checked + label:before { background: linear-gradient(to bottom, #2346a9 0%, #3f71ff 100%); border: 1px solid #163898; }
[type="checkbox"]:checked + label:after { left: 26px; border: 1px solid #0b1c4e; background: linear-gradient(to bottom, #fff 0%, #93afff 100%); }
/*[type="checkbox"]:focus + label:before { box-shadow: 0 0 0 3px rgba(255,255,0,.5); }*/

.rbox { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }
.rbox + label { cursor: pointer; }
.rbox:not(checked) { position: absolute; opacity: 0; }
.rbox:not(checked) + label { position: relative; padding: 4px 0 0 38px; margin: 0; }
.rbox:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 28px; height: 28px; border-radius: 50%; background: linear-gradient(to bottom, #ececec 0%, #fff 100%); border: 1px solid #ddd; }
.rbox:not(checked) + label:after { content: ''; position: absolute; top: 14px; left: 14px; width: 0; height: 0; border-radius: 50%; background: linear-gradient(to bottom, #fff 0%, #eee 100%); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: all .2s; border: 1px solid #0b1c4e; opacity: 0; }
.rbox:checked + label:before { background: linear-gradient(to bottom, #2346a9 0%, #3f71ff 100%); border: 1px solid #163898; }
.rbox:checked + label:after { top: 4px; left: 4px; width: 20px; height: 20px; border: 1px solid #0b1c4e; background: linear-gradient(to bottom, #fff 0%, #93afff 100%); opacity: 1; }

/*.cbox2 { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }*/
/*.cbox2 + label { cursor: pointer; }*/
/*.cbox2:not(checked) { position: absolute; opacity: 0; }*/
/*.cbox2:not(checked) + label { position: relative; padding: 4px 0 0 60px; margin: 0; }*/
/*.cbox2:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 50px; height: 28px; border-radius: 50%; background: linear-gradient(to bottom, #ececec 0%, #fff 100%); border: 1px solid #ddd; }*/
/*.cbox2:not(checked) + label:after { content: ''; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: linear-gradient(to bottom, #fff 0%, #eee 100%); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: all .2s; border: 1px solid #999; }*/
/*.cbox2:checked + label:before { background: linear-gradient(to bottom, #2346a9 0%, #3f71ff 100%); border: 1px solid #163898; }*/
/*.cbox2:checked + label:after { left: 26px; border: 1px solid #0b1c4e; background: linear-gradient(to bottom, #fff 0%, #93afff 100%); }*/
/*!*.cbox2:focus + label:before { box-shadow: 0 0 0 3px rgba(255,255,0,.5); }*!*/

/*.cbox3 { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }*/
/*.cbox3 + label { cursor: pointer; }*/
/*.cbox3:not(checked) { position: absolute; opacity: 0; }*/
/*.cbox3:not(checked) + label { position: relative; padding: 0 0 0 40px; line-height: 32px; margin: 0; }*/
/*.cbox3:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 32px; height: 32px; background: url(/i/check-confirm.png) no-repeat 0 -32px; }*/
/*.cbox3:checked + label:before { background-position-y: 0; }*/

@media (max-width: 1200px) {

    /* базовая разметка  */
    .leftmenu { display: none; }
    .mobile-menu { display: block; }
    .cabinet-content, .cabinet-content-full { width: 100%; padding: 20px 20px 120px; }

    /* универсальные правила */
    .hide1200 { display: none; }
    .block1200 { display: block; }
    .inline1200 { display: inline; }
    .iblock1200 { display: inline-block; }

    /* остальное */

}

@media (max-width: 800px) {

    /* базовая разметка  */
    .popup-window { padding: 30px 20px; }

    /* универсальные правила */
    .hide800 { display: none; }
    .block800 { display: block; }
    .inline800 { display: inline; }
    .iblock800 { display: inline-block; }
    .font20a { font-size: 18px; }

    /* остальное */

}

@media (max-width: 500px) {

    /* базовая разметка  */
    h1 { font-size: 24px; }
    h2 { font-size: 20px; }
    .popup-window { padding: 30px 10px; }

    /* универсальные правила */
    .hide500 { display: none; }
    .block500 { display: block; }
    .inline500 { display: inline; }
    .iblock500 { display: inline-block; }
    .font20a { font-size: 16px; }

    /* остальное */
    
}