/* Soft Culture Moodle 5.1: production baseline followed by compatibility rules. */
@font-face{font-family:"CoFo Sans";src:url("/static/fonts/CoFoSans-Medium.eot");src:local("CoFo Sans Medium"),local("CoFoSans-Medium"),url("/static/fonts/CoFoSans-Medium.eot?#iefix") format("embedded-opentype"),url("/static/fonts/CoFoSans-Medium.woff2") format("woff2"),url("/static/fonts/CoFoSans-Medium.woff") format("woff"),url("/static/fonts/CoFoSans-Medium.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:"CoFo Sans";src:url("/static/fonts/CoFoSans-Regular.eot");src:local("CoFo Sans"),local("CoFoSans-Regular"),url("/static/fonts/CoFoSans-Regular.eot?#iefix") format("embedded-opentype"),url("/static/fonts/CoFoSans-Regular.woff2") format("woff2"),url("/static/fonts/CoFoSans-Regular.woff") format("woff"),url("/static/fonts/CoFoSans-Regular.ttf") format("truetype");font-weight:bold;font-style:normal;font-display:swap}@font-face{font-family:"CoFo Sans";src:url("/static/fonts/CoFoSans-Regular.eot");src:local("CoFo Sans"),local("CoFoSans-Regular"),url("/static/fonts/CoFoSans-Regular.eot?#iefix") format("embedded-opentype"),url("/static/fonts/CoFoSans-Regular.woff2") format("woff2"),url("/static/fonts/CoFoSans-Regular.woff") format("woff"),url("/static/fonts/CoFoSans-Regular.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}@font-face{font-family:"CoFo Sans";src:url("/static/fonts/CoFoSans-Regular.eot");src:local("CoFo Sans"),local("CoFoSans-Regular"),url("/static/fonts/CoFoSans-Regular.eot?#iefix") format("embedded-opentype"),url("/static/fonts/CoFoSans-Regular.woff2") format("woff2"),url("/static/fonts/CoFoSans-Regular.woff") format("woff"),url("/static/fonts/CoFoSans-Regular.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}.rui-main-content-title{color:inherit;background:unset !important;-webkit-background-clip:unset !important;-webkit-text-fill-color:unset !important;text-transform:uppercase}.rui-page-title{background:unset !important;-webkit-text-fill-color:unset !important}.wrapper-xl{width:min(1000px,85%)}body:not([id^=page-admin-]):not([id^=page-course-management]) .wrapper-page>*:not(.rui-course-header-color):not(.rui-course-cover),body:not([id^=page-admin-]):not([id^=page-course-management]) .wrapper-page-withblocks>*,body:not([id^=page-admin-]):not([id^=page-course-management]) .activity-navigation{max-width:700px;margin-left:auto !important;margin-right:auto !important}.secondary-navigation{margin-bottom:30px}body{font-family:"CoFo Sans",Arial,sans-serif !important}body:not(#tinymce){font-size:1.1rem}body:not(.theme-dark){background:#fff !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit !important}nav.rui-topbar-wrapper{padding:0 15px;border-bottom:1px solid #e1e1e1;height:60px;position:fixed}.theme-dark nav.rui-topbar-wrapper{border-bottom:1px solid #757474}nav.rui-topbar-wrapper .rui-logo img{height:100%;border-radius:none}nav.rui-topbar-wrapper .rui-logo.rui-logo-box{box-shadow:unset}.scrolled.back-to-top-on .editmode-switch-form{right:unset !important}#page.drawers{position:fixed !important;top:60px;border-radius:unset;height:calc(100% - 60px)}#page.drawers .activity-header{margin-left:auto;margin-right:auto}#page.drawers .page-content{padding-bottom:130px}@media(max-width: 768px){#page{margin-top:unset}.rui-topbar-wrapper{top:unset;z-index:100}.rui-topbar-wrapper .rui-icon-menu{position:absolute;left:0;opacity:1 !important;z-index:3 !important;display:flex !important;justify-content:flex-end;right:50px}.rui-mobile-nav{justify-content:left}.rui-mobile-nav #logo{margin-left:10px}:is(#page-course-view-topics,[id^=page-mod-]) .rui-mobile-nav #logo{display:none !important}.opened .rui-topbar .rui-icon-menu{background-color:rgba(0,0,0,0)}.page-header-content div{width:unset !important}.page-header-content .rui-page-title{flex:1}}.rui-breadcrumbs{margin-bottom:10px}@media(max-width: 768px){.rui-breadcrumbs{display:none}}.rui-breadcrumbs .breadcrumb-item.breadcrumb-item--last{opacity:unset}.rui-breadcrumbs .breadcrumb-item::before{color:#757474 !important}.rui-lang-btn::before{content:"";-webkit-mask-image:url("/static/img/translate.svg");mask-image:url("/static/img/translate.svg");background-color:#212121;width:16px;height:16px;transition:inherit}.rui-lang-btn svg{display:none}.rui-lang-btn:hover::before{background-color:#818282}.theme-dark .rui-lang-btn{background-color:rgba(0,0,0,0)}.theme-dark .rui-lang-btn::before{background-color:#e8eaed}.theme-dark .rui-lang-btn:hover::before{background-color:#9aa0a6}.usermenu .dropdown-menu .dropdown-item[data-identifier="privatefiles,moodle"],.usermenu .dropdown-menu .dropdown-item[data-identifier="reports,core_reportbuilder"],.usermenu .dropdown-menu .dropdown-item[data-identifier="grades,grades"]{display:none}.btn-drawer{background-color:#f5f5f5;border:unset;color:#434343;top:75px;left:15px}.theme-dark .btn-drawer{background-color:#121215;border:unset;color:#e8eaed}@media(max-width: 768px){.btn-drawer{top:10px;left:10px}}.drawer-course-index{padding:15px 0 0 10px;border-radius:unset !important;height:calc(100% - 60px)}@media(max-width: 768px){.drawer-course-index{height:100%;max-height:100%;top:0;padding:10px 0 0 5px}}.courseindex .courseindex-item .completioninfo.completion_complete::before{content:"";position:absolute;top:4px;left:4px;width:10px;height:10px;background-color:#a2be3c;border-radius:50%}.courseindex .courseindex-item .completioninfo.completion_complete img{opacity:0}.courseindex .courseindex-item .courseindex-locked{opacity:.3;top:-2px;position:relative}.courseindex .courseindex-item a.courseindex-link[data-anchor=true]{opacity:.6}@media(max-width: 1099.98px){.drawer.drawer-left.show{box-shadow:0 0 20px 5px rgba(207,207,207,.5);clip-path:polygon(0% 0%, 120% 0%, 120% 100%, 0% 100%)}}.modal-backdrop{display:none}.rui-page-footer{margin-bottom:30px;padding:0;max-width:700px;width:min(1000px,85%) !important;background-color:rgba(0,0,0,0) !important}.rui-page-footer .row{justify-content:space-between}.rui-page-footer .row [class*=col-]{margin-top:auto !important;margin-bottom:auto;flex:1}.rui-page-footer a:not(.btn):hover{color:unset}.rui-page-footer a:is(.linkedin,.twitter)::before{display:inline-block;content:"";vertical-align:-5px;background-repeat:no-repeat}.rui-page-footer a:is(.linkedin,.twitter) svg{display:none}.rui-page-footer a.linkedin::before{width:22px;height:18px;content:"";display:inline-block;background-color:#000;mask-image:url("/static/img/icon-telegram.svg");mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:url("/static/img/icon-telegram.svg");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.theme-dark .rui-page-footer a.linkedin::before{background-color:#fff}.rui-page-footer a.twitter::before{width:28px;height:18px;content:"";display:inline-block;background-color:#000;mask-image:url("/static/img/icon-vk.svg");mask-size:contain;mask-repeat:no-repeat;-webkit-mask-image:url("/static/img/icon-vk.svg");-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.theme-dark .rui-page-footer a.twitter::before{background-color:#fff}#page-course-view-topics:not(.editing) :is(.secondary-navigation,.notifications),[id^=page-mod-]:not([id$=-mod]) .wrapper-header>*{display:none}[id^=page-mod-]:not([id$=-mod]).editing .wrapper-header>.secondary-navigation{display:block}:is(#page-course-view-topics,[id^=page-mod-]:not([id$=-mod])) :is(h1,h2,h3,h4,h5){font-weight:normal;text-transform:uppercase}[id^=page-mod-]:not([id$=-mod]) :is(h1,h2,h3,h4){margin-bottom:1.2rem}[id^=page-mod-]:not([id$=-mod]) h2{font-size:2.3rem;margin-bottom:3rem}[id^=page-mod-]:not([id$=-mod]) h3{font-size:1.6rem;margin-top:28px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext){padding:unset !important}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) p{margin-bottom:1.2rem;line-height:1.5}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) li{margin-bottom:.6rem;line-height:1.5}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) :is(b,strong){font-weight:normal;text-decoration:underline;text-decoration-color:rgba(203,238,76,.6);text-decoration-thickness:3px;text-decoration-skip-ink:none;text-underline-offset:.1em}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) em{border:1px dotted #000;padding-right:2px;padding-left:2px;font-style:normal;border-radius:5px;white-space:nowrap}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) :not(pre)>code{padding:.12rem .25rem;white-space:nowrap;background-color:rgba(233,233,233,.2196078431);line-height:inherit;font-size:75%;color:inherit;border:1px solid;border-radius:5px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) pre>code{padding:unset;background-color:unset}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) pre>code.chapters{color:red}body:not(.editing) pre>code.chapters{display:none}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) a:not(.btn,[role=button]){text-decoration:underline;text-decoration-thickness:5%;text-underline-offset:.15em;color:inherit}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) a:not(.btn,[role=button]):hover{color:#a2be3c}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) a:not(.btn,[role=button]):after{content:"​"}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) a[target=_blank]::after{display:inline-block;width:16px;height:1.1rem;content:"";position:relative;top:4px;left:1px;background-color:#212121;margin-right:2px;-webkit-mask-image:url("/static/img/arrow-up-right.svg");mask-image:url("/static/img/arrow-up-right.svg");transition:inherit}[id^=page-mod-]:not([id$=-mod]).theme-dark :is(.generalbox,.activity-description,.resourceworkaround,.qtext) a[target=_blank]::after{background-color:#e8eaed}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) a[target=_blank]:hover::after{background-color:#a2be3c}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) iframe{margin-top:.6rem;margin-bottom:1.2rem}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) p img.img-responsive{margin-top:.6rem;margin-bottom:.6rem}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) iframe,[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) img[src$="#bordered"]{outline:1px solid #e1e1e1}[id^=page-mod-]:not([id$=-mod]).theme-dark :is(.generalbox,.activity-description,.resourceworkaround,.qtext) iframe,img[src$="#bordered"]{outline:1px solid #757474}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) img[src$="#rounded"]{border-radius:10px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) img[src$="#circled"]{width:150px;height:150px;border-radius:50%;object-fit:cover}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) figcaption.modified{text-align:left}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) mark{text-decoration:none;background-color:unset !important;background:linear-gradient(0deg, rgba(203, 238, 76, 0.6) 50%, transparent 0);padding:0}[id^=page-mod-]:not([id$=-mod]).theme-dark :is(.generalbox,.activity-description,.resourceworkaround,.qtext) mark{color:inherit}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote{display:flex;align-items:center;font-size:.9rem}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote p:first-child{width:150px;margin-right:40px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote p:nth-child(2){flex:1}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote p br{display:block;content:"";margin-top:10px}@media(max-width: 768px){[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote{flex-direction:column}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote p:first-child,[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote p:nth-child(2){width:100%;margin-right:0}}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper{cursor:pointer}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper.open .helper-marker::before{-webkit-mask-image:url("/static/img/eye.svg");mask-image:url("/static/img/eye.svg")}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper>p:first-child{width:initial;margin-right:20px;font-size:25px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper .helper-marker{display:flex;align-items:center;justify-content:center;margin-top:4px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper .helper-marker::before{content:"";display:inline-block;width:16px;height:16px;background-color:#212121;-webkit-mask-image:url("/static/img/eye-slash.svg");mask-image:url("/static/img/eye-slash.svg");mask-size:contain;mask-repeat:no-repeat}[id^=page-mod-]:not([id$=-mod]).theme-dark :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper .helper-marker::before{background-color:#e8eaed}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper:not(.open)>p:nth-child(2)::before{content:"(Показать подсказку...)"}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) blockquote.helper:not(.open)>p:nth-child(2) .helper-text{display:none}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline{display:inline-flex;align-items:center;font-size:.9rem;cursor:pointer}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline p{margin-top:0}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline p:not(:last-child){margin-bottom:.5rem}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline .hint-toggle{display:inline-flex;align-items:flex-start;gap:20px;cursor:pointer}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline .hint-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 1.5em;min-width:1.5em;min-height:1.5em;line-height:1;background-color:#212121;-webkit-mask-image:url("/static/img/eye-slash.svg");mask-image:url("/static/img/eye-slash.svg");-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}[id^=page-mod-]:not([id$=-mod]).theme-dark :is(.generalbox,.activity-description,.resourceworkaround,.qtext) [id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline .hint-icon{background-color:#e8eaed}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline.open .hint-icon{-webkit-mask-image:url("/static/img/eye.svg");mask-image:url("/static/img/eye.svg")}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline.open .hint-label{display:none}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .hint-inline:not(.open) .hint-text{display:none}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter-list{display:flex;flex-direction:column}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter-list a{text-decoration:unset !important;cursor:pointer}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter{display:flex;font-size:.75rem;color:#757474 !important;margin-bottom:.4rem;padding:.1rem .2rem;width:max(45%,290px)}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter:hover{background-color:#f2f3f3;border-radius:5px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter .time{width:43px;flex-shrink:0}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter .time.wide{width:60px}[id^=page-mod-]:not([id$=-mod]) :is(.generalbox,.activity-description,.resourceworkaround,.qtext) .chapter .name{flex-grow:1}.btn-success{background-color:#cbee4c;color:inherit}.btn-success:hover{background-color:#a2be3c;color:inherit}.lg-container .lg-backdrop{background-color:#fff !important;z-index:1240 !important}.lg-container .lg-outer{z-index:1250 !important}.lg-container .lg-outer .lg-thumb-outer,.lg-container .lg-outer .lg-img-wrap{background-color:#fff !important}.lg-container .lg-outer .lg-object{max-width:80% !important}.lg-container .lg-toolbar .lg-icon,.lg-container .lg-next,.lg-container .lg-prev,.lg-container .lg-sub-html,.lg-container .lg-counter{color:#000 !important;background-color:unset}.lg-container .lg-next:after,.lg-container .lg-prev:after{color:#000 !important}#lightgallery img{width:200px;height:auto;margin:5px}.comentario-footer a{visibility:hidden}.comentario-profile-bar .comentario-btn-tool{display:none !important}.reactions-container{display:none}[id^=page-mod-]:not([id$=-mod]):not([id^=page-mod-quiz-]) .activity-header #page-header .block_point_view.reactions-container{display:block}[id^=page-mod-]:not([id$=-mod]):not([id^=page-mod-quiz-]) .activity-header #page-header .block_point_view.reactions-container::before{content:attr(data-content);font-size:.75rem;color:#6b6b6b;display:inline}[id^=page-mod-]:not([id$=-mod]):not([id^=page-mod-quiz-]) .activity-header #page-header .block_point_view.reactions-container .group,[id^=page-mod-]:not([id$=-mod]):not([id^=page-mod-quiz-]) .activity-header #page-header .block_point_view.reactions-container .reactions{margin-left:15px;font-size:smaller;display:inline-block;left:unset !important;right:unset !important}[id^=page-mod-]:not([id$=-mod]):not([id^=page-mod-quiz-]) .activity-header #page-header .block_point_view.reactions-container .withtooltip .tooltiptext{font-size:.75rem}#page-course-view-topics .rui-course-cover{border-radius:10px;max-height:200px;margin-top:0;margin-bottom:50px !important}#page-course-view-topics #page-header .rui-page-title,#page-course-view-topics #page-header .rui-main-content-title{white-space:pre-line}#page-course-view-topics #page-header.page-header-content{margin:unset}#page-course-view-topics #page-header .rui-main-content-title{font-size:3rem}@media(max-width: 768px){#page-course-view-topics #page-header .rui-main-content-title{font-size:inherit}}#page-course-view-topics .stateready::before{display:block;content:attr(data-content);margin-bottom:25px;font-size:.75rem;color:#757474}#page-course-view-topics .rui-course-header-btn{padding-left:12px;padding-right:12px}#page-course-view-topics .section .rui-availabilityinfo{padding:unset;background-color:unset}#page-course-view-topics .section .rui-availabilityinfo .availabilityinfo{margin-top:unset;padding-right:16px}#page-course-view-topics .activity .activityiconcontainer{margin-right:12px !important}#page-course-view-topics .activity .activityiconcontainer.content{background-color:#757474}#page-course-view-topics .activity .activity-info .btn:not(.btn-success){display:none}#page-course-view-topics .activity .activity-information{display:none}#page-course-view-topics .activity .rui-contentafterlink{display:none}#page-course-view-topics .activity .activityname>span.instancename{opacity:.4}#page-course-view-topics .activity .activityname>span.instancename::after{display:inline-block;width:16px;height:16px;content:"";position:relative;top:1px;left:2px;background-color:rgba(33,33,33,.8196078431);-webkit-mask-image:url("/theme/image.php?theme=universe&component=core&image=t/unlock");mask-image:url("/theme/image.php?theme=universe&component=core&image=t/unlock");mask-size:19px}@media(max-width: 768px){#page-course-view-topics .activity .activity-info .btn-success span{display:none}#page-course-view-topics .activity .activity-info{margin-top:unset !important}#page-course-view-topics .activity .flex-column{flex-direction:row !important}}#page-course-view-topics.theme-dark .activity .activityname>span.instancename::after{background-color:rgba(232,234,237,.8196078431)}:is(#page-course-index-category,#page-my-index) .rui-main-content-title{font-size:3rem}:is(#page-course-index-category,#page-my-index) .rui-course-card{border-radius:unset}:is(#page-course-index-category,#page-my-index) .rui-course-card .rui-course-card-progress-bar{padding:0}:is(#page-course-index-category,#page-my-index) .rui-course-card .rui-course-card-margin{margin:0}:is(#page-course-index-category,#page-my-index) .rui-course-card .rui-course-card-title{text-transform:uppercase}:is(#page-course-index-category,#page-my-index) .rui-course-card .rui-course-cat{display:none !important}:is(#page-course-index-category,#page-my-index) .rui-course-card-img-top{height:150px}#page-course-index-category .rui-main-content-title{visibility:hidden}#page-course-index-category .rui-main-content-title::after{content:attr(data-content);visibility:visible;display:inline;position:absolute}#page-my-index .block_myoverview [data-region=filter],#page-my-index .block_myoverview .card-title{display:none !important}:is(#page-user-profile,#page-course-index-category,#page-my-index) #sidepreopen-control{display:none}:is(#page-my-index,[id^=page-user-]) h5{font-weight:normal;text-transform:uppercase;color:inherit}#page-mod-feedback-view .tertiary-navigation{display:none}[id^=page-mod-quiz-]:not([id$=-mod]) button#sidepreopen-control{display:none}[id^=page-mod-quiz-]:not([id$=-mod]) .drawer.drawer-right{display:none}[id^=page-mod-quiz-]:not([id$=-mod]) #page.drawers.show-drawer-right{padding-right:15px !important}#page-mod-quiz-summary .main-content{display:none}#page-user-profile form.editmode-switch-form{display:none !important}#page-user-profile .profile_tree .node_category .editprofile{text-align:left}#page-user-profile .profile_tree .node_category:nth-last-of-type(2),#page-user-profile .profile_tree .node_category:nth-last-of-type(3){display:none !important}#page-user-profile #page-header .singlebutton{display:none}#page-user-profile .userprofile .rui-title-container{display:none}#page-user-preferences:not(.editing) .main-content .card-text a[href*="/user/forum.php"],#page-user-preferences:not(.editing) .main-content .card-text a[href*="/user/contentbank.php"],#page-user-preferences:not(.editing) .main-content .card-text a[href*="/message/edit.php"],#page-user-preferences:not(.editing) .main-content .card-text a[href*="/message/edit.php"],#page-user-preferences:not(.editing) .main-content .card-text a[href*="/lib/editor/marklar/preferences.php"]{display:none}#page-user-preferences:not(.editing) .main-content .card-body:has(a[href*="/lib/editor/marklar/preferences.php"]){display:none}


/* 1. Page frame and working area.
   The adapter deliberately works only through public Moodle/Universe classes;
   it does not alter the theme source. */
#page.drawers {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  min-height: calc(100vh - 60px) !important;
  overflow: visible !important;
}

/* Preserve the accepted pre-review viewport-based canvas. Course headings
   and covers must not resize when the course-index drawer opens or closes.
   Mobile gutters are handled explicitly below. */
#page-course-view-topics .wrapper-xl {
  width: min(1000px, calc(100vw - 60px)) !important;
}

:is(#page-my-index, #page-course-index, #page-course-index-category) .wrapper-xl {
  width: min(1300px, calc(100vw - 60px)) !important;
}

/* Moodle 5.1 keeps the course header in .wrapper-course, while catalogues
   use .wrapper-page-withblocks. Remove only their inherited inner cap. */
#page-course-view-topics :is(.wrapper-course, .wrapper-page-withblocks) > #page-header,
#page-my-index .wrapper-page-withblocks > *,
#page-course-index .wrapper-page-withblocks > *,
#page-course-index-category .wrapper-page-withblocks > * {
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 2. Global and course navigation. */
nav.rui-topbar-wrapper .primary-navigation .navigation .nav-link {
  margin: 0 1px !important;
  padding: 6px 12px !important;
  height: 42px !important;
}

nav.rui-topbar-wrapper .primary-navigation .navigation .nav-link.active,
nav.rui-topbar-wrapper .primary-navigation .navigation .nav-link[aria-current="true"] {
  background-color: transparent !important;
  box-shadow: none !important;
}

#page-course-view-topics:not(.editing) .secondary-navigation {
  display: none !important;
}

#page-course-view-topics.editing .secondary-navigation {
  display: block !important;
}

#page-my-index .rui-breadcrumbs {
  display: none !important;
}

/* Preserve the established catalogue navigation policy. Header actions on
   My courses are intentionally NOT hidden: Moodle checks capabilities before
   rendering the native create/manage/request course actions there. */
#page-course-index :is(.rui-breadcrumbs, .secondary-navigation, .tertiary-navigation, .region-main-settings-menu, .context-header-settings-menu),
#page-course-index-category :is(.rui-breadcrumbs, .secondary-navigation, .tertiary-navigation, .region-main-settings-menu, .context-header-settings-menu),
#page-my-index :is(.tertiary-navigation, .region-main-settings-menu, .context-header-settings-menu) {
  display: none !important;
}

/* 3. Course header, cover, section marker and activity index. */
#page-course-view-topics #page-header .rui-main-content-title,
#page-course-view-topics #page-header .rui-page-title {
  width: 100% !important;
  max-width: none !important;
  font-size: 3rem !important;
  line-height: 1.1 !important;
}

#page-course-view-topics #page-header .page-header-content,
#page-course-view-topics #page-header .rui-title-container {
  width: 100% !important;
  max-width: none !important;
}

/* The heading and cover share the fixed course canvas above. */
#page-course-view-topics #page-header {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#page-course-view-topics .rui-course-cover {
  width: 100% !important;
  max-width: none !important;
}

/* Moodle 5.1 moved .stateready to #page; keep the label with course sections. */
#page-course-view-topics #page.stateready::before {
  content: none !important;
  display: none !important;
}

#page-course-view-topics .course-content::before {
  content: "Содержание курса /";
  display: block;
  margin-bottom: 25px;
  font-size: .75rem;
  color: #757474;
}

/* Moodle 5.1 provides a native .completioninfo element and inserts a
   state-specific image/icon inside it. Keep that semantic state container;
   replace only the inconsistent visible glyph with the established 10 px
   course-index marker. This gives one marker per activity on both the course
   and activity pages, including after Moodle replaces the drawer by AJAX. */
:is(#page-course-view-topics, body.path-mod) .courseindex .completioninfo {
  background: transparent !important;
  color: #757474 !important;
}

:is(#page-course-view-topics, body.path-mod) .courseindex .completioninfo:is(.completion_complete, .completion_incomplete, .completion_none)::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
}

:is(#page-course-view-topics, body.path-mod) .courseindex .completioninfo:is(.completion_incomplete, .completion_none)::before {
  background: transparent !important;
  border: 1px solid #757474 !important;
}

/* Completed units intentionally remain lime, matching the established LMS. */
:is(#page-course-view-topics, body.path-mod) .courseindex .completioninfo.completion_complete::before {
  background-color: #a2be3c !important;
  border-radius: 50% !important;
}

/* The native child contains only the default appearance. Hiding it prevents
   the old duplicate/overlapping circle without removing state or semantics. */
:is(#page-course-view-topics, body.path-mod) .courseindex .completioninfo:is(.completion_complete, .completion_incomplete, .completion_none) :is(img, svg, .icon) {
  display: none !important;
}

.courseindex .completion_complete ~ .courseindex-link {
  color: #2b2b2b !important;
}

.courseindex .courseindex-link:focus {
  outline: 0 !important;
  box-shadow: none !important;
}

/* Current location and completion are different states. Moodle marks the
   current activity on its <li> with .active; make that state a full-row,
   neutral highlight like the established LMS. Completion remains represented
   exclusively by the native completion marker above. */
:is(#page-course-view-topics, body.path-mod) .courseindex .courseindex-item:is(.active, .pageitem) {
  background-color: #f5f5f5 !important;
  border: 0 !important;
  border-radius: 5px !important;
}

:is(#page-course-view-topics, body.path-mod) .courseindex .courseindex-item:is(.active, .pageitem) .courseindex-link {
  color: #757474 !important;
}

/* Universe 1.5 adds a separate dot for .pageitem. The activity row's neutral
   background is the sole marker of the current page; completion owns the dot. */
:is(#page-course-view-topics, body.path-mod) .courseindex .courseindex-item.pageitem::before,
:is(#page-course-view-topics, body.path-mod) .courseindex .courseindex-item.pageitem .courseindex-link::before {
  content: none !important;
}

/* The established LMS uses a dark activity canvas and white glyph, including
   the SVG/icons emitted by the newer course-format component. */
#page-course-view-topics .course-content .activityiconcontainer {
  background-color: #757474 !important;
}

#page-course-view-topics .course-content .activityiconcontainer :is(img, svg, .icon) {
  color: #fff !important;
  filter: brightness(0) invert(1) !important;
}

/* Moodle 5.1 / Universe wraps the native manual-completion button in an
   information card. The learner view keeps the native button but no card
   outline, shadow or extra padding. */
body.path-mod :is(.rui-completion-info, .rui-completion-info--manual, .rui-completion-info-wrapper, [data-region="completion-info"]) {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.path-mod .rui-activity-wrapper.rui-activity--hascompletion {
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* 4. My courses and catalogue cards. */
:is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-deck {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 40px !important;
}

:is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-img-top {
  height: 200px !important;
}

:is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-progress-bar {
  margin: 10px 0 !important;
  line-height: normal !important;
}

:is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-progress-bar .rui-mo-progress-text {
  position: static !important;
  left: auto !important;
  right: auto !important;
  display: block;
  margin-bottom: 5px;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #757474 !important;
  font-size: .75rem !important;
  line-height: 1.5;
}

:is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-progress-bar .rui-progress {
  margin-bottom: .75rem !important;
}

#page-my-index .block_myoverview [data-region="filter"],
#page-my-index .block_myoverview .card-title {
  display: none !important;
}

:is(#page-my-index, #page-course-index, #page-course-index-category) :is(.rui-course-cat, .rui-course-cat-badge) {
  display: none !important;
}

:is(#page-course-index, #page-course-index-category) .rui-main-content-title {
  font-size: 3rem;
}

@media (max-width: 1199.98px) {
  :is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-deck {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  :is(#page-course-view-topics, #page-my-index, #page-course-index, #page-course-index-category) .wrapper-xl {
    width: calc(100% - 30px) !important;
  }

  :is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-deck {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }
}

/* 5. Section-page parity, previously held only in theme settings. */
/* Match the established course-page header and cover on section pages. */
body.single-section-page .wrapper-xl {
    width: min(1000px, calc(100vw - 60px)) !important;
}
body.single-section-page .wrapper-course > #page-header {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.single-section-page #page-header :is(.page-header-content, .rui-title-container) {
    width: 100% !important;
    max-width: none !important;
}
body.single-section-page #page-header :is(.rui-main-content-title, .rui-page-title) {
    width: 100% !important;
    max-width: none !important;
    font-size: 3rem !important;
    line-height: 1.1 !important;
    white-space: pre-line;
}
body.single-section-page .rui-course-cover {
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 16 / 6;
    height: auto;
    max-height: 200px;
    margin-top: 0;
    margin-bottom: 50px !important;
}
@media (max-width: 768px) {
    body.single-section-page .wrapper-xl { width: calc(100% - 30px) !important; }
    body.single-section-page #page-header :is(.rui-main-content-title, .rui-page-title) { font-size: inherit !important; }
}

/* Match course activity icons and progress markers on section pages. */
body.single-section-page .course-content .activityiconcontainer { background-color: #757474 !important; }
body.single-section-page .course-content .activityiconcontainer :is(img, svg, .icon) { color: #fff !important; filter: brightness(0) invert(1) !important; }
body.single-section-page .courseindex .completioninfo { background: transparent !important; color: #757474 !important; }
body.single-section-page .courseindex .completioninfo:is(.completion_complete, .completion_incomplete, .completion_none)::before { content: "" !important; display: block !important; position: absolute !important; top: 4px !important; left: 4px !important; width: 10px !important; height: 10px !important; border-radius: 50% !important; box-sizing: border-box !important; }
body.single-section-page .courseindex .completioninfo:is(.completion_incomplete, .completion_none)::before { background: transparent !important; border: 1px solid #757474 !important; }
body.single-section-page .courseindex .completioninfo.completion_complete::before { background-color: #a2be3c !important; }
body.single-section-page .courseindex .completioninfo:is(.completion_complete, .completion_incomplete, .completion_none) :is(img, svg, .icon) { display: none !important; }

/* Match course-page activity cards without changing completion data. */
body.single-section-page .course-content .activity-information { display: none !important; }
body.single-section-page .course-content .activity .activityiconcontainer { margin-right: 12px !important; }


/* 6. Responsive corrections. Retain the original learner-facing controls. */
@media (max-width: 767.98px) {
  /* The desktop adapter used !important and cancelled the old mobile rule. */
  #page-course-view-topics #page-header :is(.rui-main-content-title, .rui-page-title) {
    font-size: inherit !important;
    line-height: 1.25 !important;
  }

  /* Reuse the normal mobile gutter for the staff grading page. Its desktop
     96px deduction leaves only 224px of content on a 320px screen. */
  #page-mod-assign-grading .rui-blocks-wrapper.wrapper--with-margin {
    width: calc(100% - 30px);
  }

  #page-my-index #page-header .header-actions-container {
    max-width: 100%;
    margin-left: 0 !important;
  }

  #page-my-index #page-header .my-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
  }

  #page-my-index #page-header .my-action-buttons form {
    max-width: 100%;
    min-width: 0;
  }

  #page-my-index #page-header .my-action-buttons .btn {
    white-space: normal;
    overflow-wrap: anywhere;
    margin: 0 !important;
  }
}

/* Staff grading controls: wrap headings and preserve screen-reader geometry.
   Universe's mobile .tertiary-navigation div { width: 100% } otherwise wins
   over .visually-hidden and creates horizontal overflow. */
#page-mod-assign-grading .tertiary-navigation .visually-hidden {
  width: 1px;
}
@media (max-width: 767.98px) {
  #page-mod-assign-grading .tertiary-navigation .navitem h2 {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* The old mobile frame was fixed below the 60px topbar. Once #page returns to
   normal flow, Universe's 16px mobile padding alone leaves the title behind
   that fixed topbar. Keep the same 16px gap below it on standard layouts. */
@media (max-width: 767.98px) {
  body:has(#topBar) #page.drawers {
    padding-top: calc(60px + 1rem);
  }
}

/* 7. Restore the legacy teacher view of activity restrictions. Moodle marks
   full information for a user who CAN access the activity as isfullinfo.
   Keep learner-facing unavailability messages and editing hints intact. */
:is(#page-course-view-topics, body.single-section-page):not(.editing)
.course-content .activity .rui-modavailability:has(.activity-availability.isfullinfo) {
  display: none;
}

/* 8. Mobile course layout. Universe reserves a full row for completion,
   even when the established learner stylesheet hides its information card.
   Remove only that empty space; keep completion controls and restrictions. */
@media (max-width: 767.98px) {
  :is(#page-course-view-topics, body.single-section-page) .course-content .activity-completion {
    width: auto;
    max-width: 100%;
    margin-top: 0 !important;
    margin-bottom: 0;
  }

  :is(#page-course-view-topics, body.single-section-page):not(.editing) .course-content .activity-completion:has(> .activity-information:only-child) {
    /* This sole child is already hidden by the established stylesheet. */
    display: none;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content .activity-basis {
    flex-wrap: wrap;
    align-items: center;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content .activity-basis > .d-flex {
    min-width: 0;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content .activityname {
    overflow-wrap: anywhere;
  }

  :is(#page-course-view-topics, body.single-section-page, #page-my-index, #page-course-index, #page-course-index-category)
  #page-header :is(.rui-main-content-title, .rui-page-title) {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }

  :is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-img-top {
    height: 150px !important;
  }

  :is(#page-my-index, #page-course-index, #page-course-index-category) .rui-course-card-title {
    font-size: 1rem !important;
    line-height: 1.35;
  }

  /* The old stylesheet deliberately hid the course logo to make room for
     the drawer. Keep the brand now; place the drawer below the fixed bar. */
  :is(#page-course-view-topics, body.single-section-page, body.path-mod) .rui-mobile-nav #logo {
    display: inline-flex !important;
    flex: 0 0 auto;
    margin-left: 0;
  }

  nav.rui-topbar-wrapper .rui-mobile-nav {
    justify-content: flex-start;
    padding-left: 12px;
    pointer-events: none;
  }

  nav.rui-topbar-wrapper .rui-mobile-nav :is(#logo, button) {
    pointer-events: auto;
  }

  nav.rui-topbar-wrapper .rui-mobile-nav .rui-logo {
    width: 36px;
    height: 36px;
  }

  nav.rui-topbar-wrapper .rui-icon-menu {
    left: 56px;
  }

  body.sc-mobile-index-in-header #topBar .rui-mobile-nav #logo {
    display: none !important;
  }

  body.sc-mobile-index-in-header #topBar .sc-mobile-course-index {
    pointer-events: auto;
  }

  body .btn-drawer--left[data-target="universe-drawers-courseindex"] {
    position: fixed !important;
    top: 10px !important;
    left: auto !important;
    right: auto !important;
    width: 40px;
    height: 40px;
    z-index: 105;
    margin: 0 !important;
  }

  body.sc-mobile-index-in-header #topBar .sc-mobile-course-index .btn-drawer {
    position: static !important;
    inset: auto !important;
    z-index: auto;
    flex: 0 0 40px;
  }

  body.sc-mobile-index-in-header #topBar #courseIndexBtn {
    display: flex !important;
    position: static;
    margin: 0;
    padding: 0;
    width: 40px;
    height: 40px;
    visibility: visible;
    opacity: 1;
  }

  #topBar .rui-topbar .rui-icon-menu,
  #topBar.opened .rui-topbar .rui-icon-menu {
    left: 56px !important;
    right: 50px !important;
    width: auto;
    padding-left: 0 !important;
    align-items: center;
    gap: 0;
  }

  /* Compact rows like the old course list. Do not flatten inline labels,
     hide restrictions, or constrain long lesson names to a fixed height. */
  :is(#page-course-view-topics, body.single-section-page):not(.editing) .course-content .activity-item:not(.activityinline) {
    min-height: 0;
    padding: 10px 12px !important;
    border-radius: 16px;
  }

  :is(#page-course-view-topics, body.single-section-page):not(.editing) .course-content .activity-item > .d-grid {
    row-gap: 0;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content .activityiconcontainer {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content .activityname {
    font-size: 1rem;
    line-height: 1.35;
  }

  /* Allow the whole nested name chain to shrink and wrap. A text-only fix
     does not override the intrinsic minimum width of its flex ancestors. */
  :is(#page-course-view-topics, body.single-section-page) .course-content
  :is(.activity-basis, .activity-basis > .d-flex, .activity-name-area, .activity-instance, .activitytitle, .activityname, .inplaceeditable) {
    min-width: 0;
    max-width: 100%;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content .activity-basis > .d-flex {
    flex: 1 1 12rem;
  }

  :is(#page-course-view-topics, body.single-section-page) .course-content
  :is(.activityname, .activityname a, .activityname .instancename, .activityname .text-truncate) {
    white-space: normal !important;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    height: auto;
    max-height: none;
    -webkit-line-clamp: unset;
  }

  :is(#page-my-index, #page-course-index, #page-course-index-category)
  :is(.rui-course-card-title, .rui-course-card-title a, .rui-course-card-title .text-truncate) {
    white-space: normal !important;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    height: auto;
    max-height: none;
    -webkit-line-clamp: unset;
  }

  :is(#page-course-view-topics, body.single-section-page):not(.editing) .course-content .activity-item:not(.activityinline) {
    border-radius: 12px;
    box-shadow: none;
  }
}

/* Mobile content pages use a different heading wrapper from course pages.
   Apply wrapping there too, instead of relying on #page-header alone. */
@media (max-width: 767.98px) {
  body.path-mod :is(h1, .h1, .rui-page-title, .rui-main-content-title) {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    max-width: 100%;
    height: auto !important;
    max-height: none;
    text-overflow: clip;
  }

  body.path-mod :is(h2, .h2) {
    font-size: 1.35rem !important;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
    margin-top: 1.5rem;
    margin-bottom: 1rem !important;
  }

  body.path-mod :is(h3, .h3) {
    font-size: 1.15rem !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  body.single-section-page .rui-course-cover,
  #page-course-view-topics .rui-course-cover {
    margin-bottom: 24px !important;
  }

  body.single-section-page .section-navigation {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  :is(#page-course-view-topics, body.single-section-page) .rui-modavailability {
    margin-top: 8px;
  }

  :is(#page-course-view-topics, body.single-section-page) .availabilityinfo {
    padding: 8px 10px;
    border-radius: 10px;
    font-size: .8rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .rui-page-footer {
    font-size: .875rem;
  }

  .rui-page-footer .row {
    flex-wrap: wrap;
    gap: 12px;
  }
}
